@vonage/vivid 5.23.1-preview.0 → 5.23.1

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 (507) hide show
  1. package/action-group/index.cjs +1 -1
  2. package/action-group/index.js +1 -1
  3. package/alert/definition.cjs +1 -1
  4. package/alert/definition.js +1 -1
  5. package/alert/index.cjs +7 -7
  6. package/alert/index.js +13 -14
  7. package/audio-player/definition.cjs +1 -1
  8. package/audio-player/definition.js +1 -1
  9. package/audio-player/index.cjs +18 -16
  10. package/audio-player/index.js +21 -19
  11. package/avatar/definition.cjs +1 -1
  12. package/avatar/definition.js +1 -1
  13. package/avatar/index.cjs +4 -4
  14. package/avatar/index.js +6 -6
  15. package/badge/definition.cjs +1 -1
  16. package/badge/definition.js +1 -1
  17. package/banner/definition.cjs +1 -1
  18. package/banner/definition.js +1 -1
  19. package/banner/index.cjs +3 -3
  20. package/banner/index.js +8 -8
  21. package/breadcrumb/definition.cjs +1 -1
  22. package/breadcrumb/definition.js +1 -1
  23. package/breadcrumb-item/definition.cjs +1 -1
  24. package/breadcrumb-item/definition.js +1 -1
  25. package/breadcrumb-item/index.cjs +2 -2
  26. package/breadcrumb-item/index.js +5 -5
  27. package/bundled/affix.cjs +1 -1
  28. package/bundled/affix.js +1 -1
  29. package/bundled/base-color-picker.cjs +2 -2
  30. package/bundled/base-color-picker.js +5 -5
  31. package/bundled/calendar-picker.template.cjs +1 -1
  32. package/bundled/calendar-picker.template.js +1 -1
  33. package/bundled/definition11.cjs +4 -4
  34. package/bundled/definition11.js +5 -5
  35. package/bundled/definition12.cjs +9 -7
  36. package/bundled/definition12.js +28 -26
  37. package/bundled/definition13.cjs +9 -7
  38. package/bundled/definition13.js +16 -15
  39. package/bundled/definition15.cjs +6 -6
  40. package/bundled/definition15.js +17 -17
  41. package/bundled/definition16.cjs +4 -2
  42. package/bundled/definition16.js +8 -6
  43. package/bundled/definition17.cjs +8 -6
  44. package/bundled/definition17.js +15 -14
  45. package/bundled/definition18.cjs +23 -23
  46. package/bundled/definition18.js +51 -52
  47. package/bundled/definition19.cjs +3 -1
  48. package/bundled/definition19.js +3 -1
  49. package/bundled/definition2.cjs +1 -13
  50. package/bundled/definition2.js +181 -48
  51. package/bundled/definition20.cjs +11 -9
  52. package/bundled/definition20.js +25 -23
  53. package/bundled/definition21.cjs +6 -6
  54. package/bundled/definition21.js +7 -8
  55. package/bundled/definition22.cjs +5 -3
  56. package/bundled/definition22.js +13 -11
  57. package/bundled/definition23.cjs +1 -1
  58. package/bundled/definition23.js +2 -2
  59. package/bundled/definition24.cjs +10 -10
  60. package/bundled/definition24.js +12 -12
  61. package/bundled/definition3.cjs +13 -1
  62. package/bundled/definition3.js +48 -181
  63. package/bundled/definition4.cjs +9 -7
  64. package/bundled/definition4.js +18 -16
  65. package/bundled/definition5.cjs +5 -5
  66. package/bundled/definition5.js +9 -9
  67. package/bundled/definition6.cjs +3 -3
  68. package/bundled/definition6.js +16 -16
  69. package/bundled/definition7.cjs +1 -1
  70. package/bundled/definition7.js +1 -1
  71. package/bundled/definition8.cjs +7 -7
  72. package/bundled/definition8.js +9 -7
  73. package/bundled/definition9.cjs +4 -4
  74. package/bundled/definition9.js +12 -12
  75. package/bundled/mixins.cjs +3 -3
  76. package/bundled/mixins.js +5 -5
  77. package/bundled/numberConverter.cjs +1 -1
  78. package/bundled/numberConverter.js +36 -1
  79. package/bundled/picker-field.template.cjs +13 -13
  80. package/bundled/picker-field.template.js +16 -16
  81. package/bundled/slider.template.cjs +8 -8
  82. package/bundled/slider.template.js +9 -9
  83. package/bundled/text-field.cjs +1 -1
  84. package/bundled/text-field.js +1 -1
  85. package/bundled/time-selection-picker.template.cjs +3 -3
  86. package/bundled/time-selection-picker.template.js +9 -9
  87. package/bundled/vivid-element.cjs +1 -1
  88. package/bundled/vivid-element.js +1 -1
  89. package/button/definition.cjs +1 -1
  90. package/button/definition.js +1 -1
  91. package/calendar/definition.cjs +1 -1
  92. package/calendar/definition.js +1 -1
  93. package/calendar/index.cjs +9 -9
  94. package/calendar/index.js +7 -7
  95. package/calendar-event/definition.cjs +1 -1
  96. package/calendar-event/definition.js +1 -1
  97. package/calendar-event/index.cjs +2 -2
  98. package/calendar-event/index.js +2 -2
  99. package/card/definition.cjs +1 -1
  100. package/card/definition.js +1 -1
  101. package/card/index.cjs +3 -3
  102. package/card/index.js +6 -6
  103. package/color-picker/index.cjs +10 -10
  104. package/color-picker/index.js +52 -52
  105. package/combobox/index.cjs +14 -11
  106. package/combobox/index.js +38 -36
  107. package/custom-elements.json +2994 -3642
  108. package/data-grid/index.cjs +8 -6
  109. package/data-grid/index.js +20 -18
  110. package/dial-pad/index.cjs +22 -20
  111. package/dial-pad/index.js +36 -34
  112. package/dialog/index.cjs +14 -14
  113. package/dialog/index.js +17 -18
  114. package/elevation/definition.cjs +1 -1
  115. package/elevation/definition.js +1 -1
  116. package/empty-state/index.cjs +4 -4
  117. package/empty-state/index.js +7 -11
  118. package/fab/index.cjs +4 -4
  119. package/fab/index.js +9 -13
  120. package/file-picker/index.cjs +8 -8
  121. package/file-picker/index.js +19 -19
  122. package/flag/index.cjs +5 -5
  123. package/flag/index.js +8 -12
  124. package/header/index.cjs +5 -5
  125. package/header/index.js +4 -8
  126. package/icon/index.cjs +1 -1
  127. package/icon/index.js +1 -1
  128. package/index.cjs +15 -14
  129. package/index.js +16 -16
  130. package/kbd-key/index.cjs +3 -3
  131. package/kbd-key/index.js +2 -6
  132. package/layout/index.cjs +3 -1
  133. package/layout/index.js +3 -1
  134. package/lib/accordion/variations.browser-spec.d.ts +1 -0
  135. package/lib/accordion-item/variations.browser-spec.d.ts +1 -0
  136. package/lib/action-group/variations.browser-spec.d.ts +1 -0
  137. package/lib/alert/variations.browser-spec.d.ts +1 -0
  138. package/lib/audio-player/variations.browser-spec.d.ts +1 -0
  139. package/lib/avatar/variations.browser-spec.d.ts +1 -0
  140. package/lib/badge/badge.d.ts +4 -4
  141. package/lib/badge/badge.template.d.ts +1 -2
  142. package/lib/badge/variations.browser-spec.d.ts +1 -0
  143. package/lib/banner/variations.browser-spec.d.ts +1 -0
  144. package/lib/breadcrumb-item/variations.browser-spec.d.ts +1 -0
  145. package/lib/button/variations.browser-spec.d.ts +1 -0
  146. package/lib/calendar/variations.browser-spec.d.ts +1 -0
  147. package/lib/calendar-event/variations.browser-spec.d.ts +1 -0
  148. package/lib/card/card.d.ts +4 -4
  149. package/lib/card/variations.browser-spec.d.ts +1 -0
  150. package/lib/checkbox/variations.browser-spec.d.ts +1 -0
  151. package/lib/color-picker/color-picker.d.ts +1 -1
  152. package/lib/color-picker/variations.browser-spec.d.ts +1 -0
  153. package/lib/combobox/variations.browser-spec.d.ts +1 -0
  154. package/lib/contextual-help/variations.browser-spec.d.ts +1 -0
  155. package/lib/country/variations.browser-spec.d.ts +1 -0
  156. package/lib/data-grid/variations.browser-spec.d.ts +1 -0
  157. package/lib/date-picker/variations.browser-spec.d.ts +1 -0
  158. package/lib/date-range-picker/variations.browser-spec.d.ts +1 -0
  159. package/lib/date-time-picker/variations.browser-spec.d.ts +1 -0
  160. package/lib/dial-pad/variations.browser-spec.d.ts +1 -0
  161. package/lib/dialog/variations.browser-spec.d.ts +1 -0
  162. package/lib/divider/variations.browser-spec.d.ts +1 -0
  163. package/lib/empty-state/variations.browser-spec.d.ts +1 -0
  164. package/lib/fab/fab.d.ts +5 -5
  165. package/lib/fab/variations.browser-spec.d.ts +1 -0
  166. package/lib/file-picker/variations.browser-spec.d.ts +1 -0
  167. package/lib/flag/variations.browser-spec.d.ts +1 -0
  168. package/lib/header/variations.browser-spec.d.ts +1 -0
  169. package/lib/icon/variations.browser-spec.d.ts +1 -0
  170. package/lib/kbd-key/variations.browser-spec.d.ts +1 -0
  171. package/lib/kbd-shortcut/variations.browser-spec.d.ts +1 -0
  172. package/lib/layout/variations.browser-spec.d.ts +1 -0
  173. package/lib/menu/variations.browser-spec.d.ts +1 -0
  174. package/lib/menu-item/variations.browser-spec.d.ts +1 -0
  175. package/lib/nav/variations.browser-spec.d.ts +1 -0
  176. package/lib/nav-disclosure/variations.browser-spec.d.ts +1 -0
  177. package/lib/nav-item/variations.browser-spec.d.ts +1 -0
  178. package/lib/note/variations.browser-spec.d.ts +1 -0
  179. package/lib/number-field/variations.browser-spec.d.ts +1 -0
  180. package/lib/option/variations.browser-spec.d.ts +1 -0
  181. package/lib/pagination/variations.browser-spec.d.ts +1 -0
  182. package/lib/popover/variations.browser-spec.d.ts +1 -0
  183. package/lib/progress/variations.browser-spec.d.ts +1 -0
  184. package/lib/progress-ring/variations.browser-spec.d.ts +1 -0
  185. package/lib/radio/variations.browser-spec.d.ts +1 -0
  186. package/lib/radio-group/variations.browser-spec.d.ts +1 -0
  187. package/lib/range-slider/variations.browser-spec.d.ts +1 -0
  188. package/lib/rich-text-editor/rte/features/internal/cursor-fix.d.ts +6 -1
  189. package/lib/rich-text-editor/variations.browser-spec.d.ts +1 -0
  190. package/lib/rich-text-view/variations.browser-spec.d.ts +1 -0
  191. package/lib/searchable-select/variations.browser-spec.d.ts +1 -0
  192. package/lib/select/variations.browser-spec.d.ts +1 -0
  193. package/lib/selectable-box/variations.browser-spec.d.ts +1 -0
  194. package/lib/side-drawer/variations.browser-spec.d.ts +1 -0
  195. package/lib/simple-color-picker/simple-color-picker.d.ts +2 -2
  196. package/lib/simple-color-picker/variations.browser-spec.d.ts +1 -0
  197. package/lib/slider/variations.browser-spec.d.ts +1 -0
  198. package/lib/split-button/variations.browser-spec.d.ts +1 -0
  199. package/lib/status/variations.browser-spec.d.ts +1 -0
  200. package/lib/switch/variations.browser-spec.d.ts +1 -0
  201. package/lib/tab/tab.d.ts +12 -12
  202. package/lib/table/variations.browser-spec.d.ts +1 -0
  203. package/lib/tabs/variations.browser-spec.d.ts +1 -0
  204. package/lib/tag/tag.d.ts +12 -12
  205. package/lib/tag/variations.browser-spec.d.ts +1 -0
  206. package/lib/text-area/text-area.template.d.ts +1 -2
  207. package/lib/text-area/variations.browser-spec.d.ts +1 -0
  208. package/lib/text-field/variations.browser-spec.d.ts +1 -0
  209. package/lib/time-picker/variations.browser-spec.d.ts +1 -0
  210. package/lib/toggletip/variations.browser-spec.d.ts +1 -0
  211. package/lib/tooltip/variations.browser-spec.d.ts +1 -0
  212. package/lib/tree-item/variations.browser-spec.d.ts +1 -0
  213. package/lib/video-player/variations.browser-spec.d.ts +1 -0
  214. package/menu/definition.cjs +1 -1
  215. package/menu/definition.js +1 -1
  216. package/menu-item/definition.cjs +1 -1
  217. package/menu-item/definition.js +1 -1
  218. package/nav-disclosure/index.cjs +6 -6
  219. package/nav-disclosure/index.js +11 -15
  220. package/nav-item/index.cjs +2 -2
  221. package/nav-item/index.js +11 -15
  222. package/note/index.cjs +5 -5
  223. package/note/index.js +10 -11
  224. package/number-field/index.cjs +12 -12
  225. package/number-field/index.js +34 -35
  226. package/package.json +15 -6
  227. package/popover/index.cjs +8 -8
  228. package/popover/index.js +11 -15
  229. package/popup/definition.cjs +1 -1
  230. package/popup/definition.js +1 -1
  231. package/progress/index.cjs +8 -8
  232. package/progress/index.js +9 -10
  233. package/range-slider/index.cjs +10 -8
  234. package/range-slider/index.js +26 -24
  235. package/rich-text-editor/index.cjs +3 -3
  236. package/rich-text-editor/index.js +758 -747
  237. package/searchable-select/definition.cjs +1 -0
  238. package/searchable-select/definition.js +2 -2
  239. package/searchable-select/index.cjs +30 -27
  240. package/searchable-select/index.js +80 -76
  241. package/selectable-box/index.cjs +8 -8
  242. package/selectable-box/index.js +8 -9
  243. package/side-drawer/index.cjs +3 -3
  244. package/side-drawer/index.js +3 -3
  245. package/simple-color-picker/index.cjs +4 -4
  246. package/simple-color-picker/index.js +6 -6
  247. package/slider/definition.cjs +1 -1
  248. package/slider/definition.js +1 -1
  249. package/slider/index.cjs +1 -1
  250. package/slider/index.js +1 -1
  251. package/split-button/index.cjs +4 -4
  252. package/split-button/index.js +9 -9
  253. package/status/index.cjs +7 -5
  254. package/status/index.js +14 -12
  255. package/styles/core/all.css +5 -7
  256. package/styles/core/theme.css +5 -7
  257. package/styles/core/typography.css +0 -3
  258. package/styles/tokens/vivid-2-compat.css +1 -6
  259. package/switch/index.cjs +3 -3
  260. package/switch/index.js +5 -5
  261. package/table/index.cjs +10 -10
  262. package/table/index.js +12 -12
  263. package/tabs/index.cjs +6 -4
  264. package/tabs/index.js +10 -9
  265. package/tag/index.cjs +6 -6
  266. package/tag/index.js +8 -8
  267. package/text-area/index.cjs +8 -6
  268. package/text-area/index.js +20 -19
  269. package/unbundled/affix.cjs +2 -7
  270. package/unbundled/affix.js +2 -7
  271. package/unbundled/anchored.cjs +2 -6
  272. package/unbundled/anchored.js +2 -6
  273. package/unbundled/aria-binding-directive.cjs +1 -3
  274. package/unbundled/aria-binding-directive.js +1 -3
  275. package/unbundled/base-color-picker.cjs +18 -52
  276. package/unbundled/base-color-picker.js +18 -52
  277. package/unbundled/base-progress.cjs +4 -14
  278. package/unbundled/base-progress.js +4 -14
  279. package/unbundled/button.cjs +2 -8
  280. package/unbundled/button.js +2 -8
  281. package/unbundled/calendar-picker.template.cjs +31 -85
  282. package/unbundled/calendar-picker.template.js +30 -84
  283. package/unbundled/char-count.cjs +2 -4
  284. package/unbundled/char-count.js +2 -4
  285. package/unbundled/data-grid.options.cjs +3 -19
  286. package/unbundled/data-grid.options.js +3 -19
  287. package/unbundled/definition.cjs +3 -8
  288. package/unbundled/definition.js +3 -8
  289. package/unbundled/definition10.cjs +316 -211
  290. package/unbundled/definition10.js +313 -202
  291. package/unbundled/definition11.cjs +262 -356
  292. package/unbundled/definition11.js +248 -354
  293. package/unbundled/definition12.cjs +243 -274
  294. package/unbundled/definition12.js +241 -260
  295. package/unbundled/definition13.cjs +341 -255
  296. package/unbundled/definition13.js +338 -252
  297. package/unbundled/definition14.cjs +61 -371
  298. package/unbundled/definition14.js +57 -367
  299. package/unbundled/definition15.cjs +32 -77
  300. package/unbundled/definition15.js +28 -73
  301. package/unbundled/definition16.cjs +120 -32
  302. package/unbundled/definition16.js +117 -29
  303. package/unbundled/definition17.cjs +24 -132
  304. package/unbundled/definition17.js +24 -126
  305. package/unbundled/definition18.cjs +74 -26
  306. package/unbundled/definition18.js +67 -25
  307. package/unbundled/definition19.cjs +33 -79
  308. package/unbundled/definition19.js +32 -73
  309. package/unbundled/definition2.cjs +3 -6
  310. package/unbundled/definition2.js +3 -6
  311. package/unbundled/definition20.cjs +272 -29
  312. package/unbundled/definition20.js +264 -27
  313. package/unbundled/definition21.cjs +135 -263
  314. package/unbundled/definition21.js +133 -260
  315. package/unbundled/definition22.cjs +17 -155
  316. package/unbundled/definition22.js +13 -151
  317. package/unbundled/definition23.cjs +8 -17
  318. package/unbundled/definition23.js +8 -17
  319. package/unbundled/definition24.cjs +4 -10
  320. package/unbundled/definition24.js +4 -10
  321. package/unbundled/definition25.cjs +2 -10
  322. package/unbundled/definition25.js +2 -10
  323. package/unbundled/definition26.cjs +28 -70
  324. package/unbundled/definition26.js +28 -70
  325. package/unbundled/definition27.cjs +6 -13
  326. package/unbundled/definition27.js +6 -13
  327. package/unbundled/definition28.cjs +30 -77
  328. package/unbundled/definition28.js +30 -77
  329. package/unbundled/definition29.cjs +7 -14
  330. package/unbundled/definition29.js +7 -14
  331. package/unbundled/definition3.cjs +5 -16
  332. package/unbundled/definition3.js +5 -16
  333. package/unbundled/definition30.cjs +20 -51
  334. package/unbundled/definition30.js +20 -51
  335. package/unbundled/definition31.cjs +2 -4
  336. package/unbundled/definition31.js +2 -4
  337. package/unbundled/definition32.cjs +7 -17
  338. package/unbundled/definition32.js +7 -17
  339. package/unbundled/definition33.cjs +4 -9
  340. package/unbundled/definition33.js +4 -9
  341. package/unbundled/definition34.cjs +51 -141
  342. package/unbundled/definition34.js +51 -141
  343. package/unbundled/definition35.cjs +4 -5
  344. package/unbundled/definition35.js +4 -5
  345. package/unbundled/definition36.cjs +16 -38
  346. package/unbundled/definition36.js +14 -36
  347. package/unbundled/definition37.cjs +33 -89
  348. package/unbundled/definition37.js +31 -87
  349. package/unbundled/definition38.cjs +18 -44
  350. package/unbundled/definition38.js +16 -42
  351. package/unbundled/definition39.cjs +16 -32
  352. package/unbundled/definition39.js +13 -29
  353. package/unbundled/definition4.cjs +2 -11
  354. package/unbundled/definition4.js +2 -7
  355. package/unbundled/definition40.cjs +9 -20
  356. package/unbundled/definition40.js +9 -20
  357. package/unbundled/definition41.cjs +3 -6
  358. package/unbundled/definition41.js +3 -6
  359. package/unbundled/definition42.cjs +3 -6
  360. package/unbundled/definition42.js +3 -6
  361. package/unbundled/definition43.cjs +24 -67
  362. package/unbundled/definition43.js +24 -67
  363. package/unbundled/definition44.cjs +3 -6
  364. package/unbundled/definition44.js +3 -6
  365. package/unbundled/definition45.cjs +1 -3
  366. package/unbundled/definition45.js +1 -3
  367. package/unbundled/definition46.cjs +5 -14
  368. package/unbundled/definition46.js +5 -14
  369. package/unbundled/definition47.cjs +4 -5
  370. package/unbundled/definition47.js +5 -11
  371. package/unbundled/definition48.cjs +5 -12
  372. package/unbundled/definition48.js +5 -12
  373. package/unbundled/definition49.cjs +3 -7
  374. package/unbundled/definition49.js +3 -7
  375. package/unbundled/definition5.cjs +2 -5
  376. package/unbundled/definition5.js +2 -5
  377. package/unbundled/definition50.cjs +1 -3
  378. package/unbundled/definition50.js +1 -3
  379. package/unbundled/definition51.cjs +2 -5
  380. package/unbundled/definition51.js +2 -5
  381. package/unbundled/definition52.cjs +19 -44
  382. package/unbundled/definition52.js +16 -41
  383. package/unbundled/definition53.cjs +5 -13
  384. package/unbundled/definition53.js +5 -13
  385. package/unbundled/definition54.cjs +2 -6
  386. package/unbundled/definition54.js +2 -6
  387. package/unbundled/definition55.cjs +23 -65
  388. package/unbundled/definition55.js +23 -65
  389. package/unbundled/definition56.cjs +2 -5
  390. package/unbundled/definition56.js +2 -5
  391. package/unbundled/definition57.cjs +11 -24
  392. package/unbundled/definition57.js +11 -26
  393. package/unbundled/definition58.cjs +10 -30
  394. package/unbundled/definition58.js +10 -30
  395. package/unbundled/definition59.cjs +19 -48
  396. package/unbundled/definition59.js +19 -48
  397. package/unbundled/definition6.cjs +179 -17
  398. package/unbundled/definition6.js +170 -14
  399. package/unbundled/definition60.cjs +70 -54
  400. package/unbundled/definition60.js +70 -54
  401. package/unbundled/definition61.cjs +22 -54
  402. package/unbundled/definition61.js +22 -54
  403. package/unbundled/definition62.cjs +3 -9
  404. package/unbundled/definition62.js +3 -9
  405. package/unbundled/definition63.cjs +62 -130
  406. package/unbundled/definition63.js +60 -131
  407. package/unbundled/definition64.cjs +5 -12
  408. package/unbundled/definition64.js +5 -12
  409. package/unbundled/definition65.cjs +6 -14
  410. package/unbundled/definition65.js +6 -19
  411. package/unbundled/definition66.cjs +13 -35
  412. package/unbundled/definition66.js +13 -35
  413. package/unbundled/definition67.cjs +3 -5
  414. package/unbundled/definition67.js +3 -5
  415. package/unbundled/definition68.cjs +4 -5
  416. package/unbundled/definition68.js +4 -5
  417. package/unbundled/definition69.cjs +6 -15
  418. package/unbundled/definition69.js +6 -17
  419. package/unbundled/definition7.cjs +31 -177
  420. package/unbundled/definition7.js +24 -170
  421. package/unbundled/definition70.cjs +1 -3
  422. package/unbundled/definition70.js +1 -3
  423. package/unbundled/definition71.cjs +7 -12
  424. package/unbundled/definition71.js +7 -12
  425. package/unbundled/definition72.cjs +11 -25
  426. package/unbundled/definition72.js +11 -25
  427. package/unbundled/definition73.cjs +15 -39
  428. package/unbundled/definition73.js +15 -39
  429. package/unbundled/definition74.cjs +1 -3
  430. package/unbundled/definition74.js +1 -3
  431. package/unbundled/definition75.cjs +5 -11
  432. package/unbundled/definition75.js +5 -11
  433. package/unbundled/definition76.cjs +24 -59
  434. package/unbundled/definition76.js +24 -59
  435. package/unbundled/definition77.cjs +6 -8
  436. package/unbundled/definition77.js +4 -6
  437. package/unbundled/definition78.cjs +7 -13
  438. package/unbundled/definition78.js +7 -13
  439. package/unbundled/definition79.cjs +5 -15
  440. package/unbundled/definition79.js +5 -15
  441. package/unbundled/definition8.cjs +152 -36
  442. package/unbundled/definition8.js +148 -31
  443. package/unbundled/definition80.cjs +9 -25
  444. package/unbundled/definition80.js +9 -25
  445. package/unbundled/definition9.cjs +200 -135
  446. package/unbundled/definition9.js +189 -130
  447. package/unbundled/delegates-aria.cjs +1 -3
  448. package/unbundled/delegates-aria.js +1 -3
  449. package/unbundled/divider.cjs +2 -7
  450. package/unbundled/divider.js +2 -7
  451. package/unbundled/form-associated.cjs +20 -60
  452. package/unbundled/form-associated.js +20 -60
  453. package/unbundled/form-element.cjs +5 -15
  454. package/unbundled/form-element.js +5 -15
  455. package/unbundled/host-semantics.cjs +1 -3
  456. package/unbundled/host-semantics.js +1 -3
  457. package/unbundled/kbd-shortcut.cjs +1 -3
  458. package/unbundled/kbd-shortcut.js +1 -3
  459. package/unbundled/linkable.cjs +1 -3
  460. package/unbundled/linkable.js +1 -3
  461. package/unbundled/listbox.cjs +6 -20
  462. package/unbundled/listbox.js +6 -20
  463. package/unbundled/localized.cjs +3 -9
  464. package/unbundled/localized.js +3 -9
  465. package/unbundled/mixins.cjs +9 -25
  466. package/unbundled/mixins.js +9 -25
  467. package/unbundled/numberConverter.cjs +39 -9
  468. package/unbundled/numberConverter.js +39 -9
  469. package/unbundled/picker-field.template.cjs +16 -36
  470. package/unbundled/picker-field.template.js +16 -36
  471. package/unbundled/platform.cjs +1 -3
  472. package/unbundled/platform.js +1 -3
  473. package/unbundled/playbackRates.cjs +1 -3
  474. package/unbundled/playbackRates.js +1 -3
  475. package/unbundled/randomId.cjs +1 -3
  476. package/unbundled/randomId.js +1 -3
  477. package/unbundled/single-date-picker.cjs +6 -18
  478. package/unbundled/single-date-picker.js +6 -18
  479. package/unbundled/single-value-picker.cjs +7 -21
  480. package/unbundled/single-value-picker.js +7 -21
  481. package/unbundled/slider.template.cjs +6 -14
  482. package/unbundled/slider.template.js +6 -14
  483. package/unbundled/slottable-request.cjs +2 -6
  484. package/unbundled/slottable-request.js +2 -6
  485. package/unbundled/text-field.cjs +1 -1
  486. package/unbundled/text-field.js +1 -1
  487. package/unbundled/time-selection-picker.template.cjs +27 -79
  488. package/unbundled/time-selection-picker.template.js +27 -79
  489. package/unbundled/trapped-focus.cjs +1 -3
  490. package/unbundled/trapped-focus.js +1 -3
  491. package/unbundled/vivid-element.cjs +7 -19
  492. package/unbundled/vivid-element.js +7 -19
  493. package/unbundled/with-contextual-help.cjs +4 -13
  494. package/unbundled/with-contextual-help.js +4 -13
  495. package/unbundled/with-error-text.cjs +2 -6
  496. package/unbundled/with-error-text.js +2 -6
  497. package/unbundled/with-success-text.cjs +1 -3
  498. package/unbundled/with-success-text.js +1 -3
  499. package/video-player/index.cjs +3 -3
  500. package/video-player/index.js +5 -5
  501. package/visually-hidden/definition.cjs +1 -1
  502. package/visually-hidden/definition.js +1 -1
  503. package/shared/color-picker/index.d.ts +0 -3
  504. package/shared/foundation/button/index.d.ts +0 -2
  505. package/shared/patterns/char-count/index.d.ts +0 -1
  506. package/shared/patterns/form-elements/index.d.ts +0 -4
  507. package/shared/patterns/index.d.ts +0 -7
@@ -1,24 +1,180 @@
1
- import { d as createRegisterFunction, t as VividElement, u as defineVividComponent } from "./vivid-element.js";
2
- import { html } from "@microsoft/fast-element";
3
- //#region src/lib/visually-hidden/visually-hidden.ts
1
+ import { d as createRegisterFunction, u as defineVividComponent } from "./vivid-element.js";
2
+ import { r as Icon, t as iconDefinition } from "./definition.js";
3
+ import { t as __decorate } from "./decorate.js";
4
+ import { a as affixIconTemplateFactory, i as IconWrapper, n as AffixIconWithTrailing } from "./affix.js";
5
+ import { n as delegateAria } from "./delegates-aria.js";
6
+ import { r as ProgressRing, t as progressRingDefinition } from "./definition5.js";
7
+ import { t as VividFoundationButton } from "./button.js";
8
+ import { t as Linkable } from "./linkable.js";
9
+ import { t as Localized } from "./localized.js";
10
+ import { d as Size } from "./enums.js";
11
+ import { attr, html, ref, when } from "@microsoft/fast-element";
12
+ import { classNames } from "@microsoft/fast-web-utilities";
13
+ //#region src/lib/button/button.ts
4
14
  /**
5
- * @component visually-hidden
15
+ * @public
16
+ * @component button
17
+ * @slot icon - The preferred way to add an icon to the component.
18
+ * @testSelector byLabel byLabel
19
+ * @testAction click click #control
20
+ * @testRef control shadow button.control
6
21
  */
7
- var VisuallyHidden = class extends VividElement {};
22
+ var Button = class extends AffixIconWithTrailing(Localized(Linkable(VividFoundationButton))) {
23
+ constructor() {
24
+ super();
25
+ this.stacked = false;
26
+ this.pending = false;
27
+ this.dropdownIndicator = false;
28
+ this.active = false;
29
+ this.pressed = false;
30
+ this.title = "";
31
+ }
32
+ /**
33
+ * Handles click events.
34
+ * Prevents interaction when disabled or pending.
35
+ *
36
+ * @internal
37
+ */
38
+ clickHandler(event) {
39
+ /* v8 ignore else -- @preserve */
40
+ if (this.disabled || this.pending) {
41
+ event.preventDefault();
42
+ event.stopImmediatePropagation();
43
+ return;
44
+ }
45
+ return true;
46
+ }
47
+ };
48
+ __decorate([attr({ converter: {
49
+ fromView: (value) => value || null,
50
+ toView: (value) => value || null
51
+ } })], Button.prototype, "title", void 0);
52
+ __decorate([attr], Button.prototype, "connotation", void 0);
53
+ __decorate([attr], Button.prototype, "shape", void 0);
54
+ __decorate([attr], Button.prototype, "appearance", void 0);
55
+ __decorate([attr], Button.prototype, "size", void 0);
56
+ __decorate([attr({
57
+ mode: "boolean",
58
+ attribute: "stacked"
59
+ })], Button.prototype, "stacked", void 0);
60
+ __decorate([attr({
61
+ mode: "boolean",
62
+ attribute: "pending"
63
+ })], Button.prototype, "pending", void 0);
64
+ __decorate([attr({
65
+ mode: "boolean",
66
+ attribute: "dropdown-indicator"
67
+ })], Button.prototype, "dropdownIndicator", void 0);
68
+ __decorate([attr({
69
+ mode: "boolean",
70
+ attribute: "active"
71
+ })], Button.prototype, "active", void 0);
72
+ __decorate([attr({
73
+ mode: "boolean",
74
+ attribute: "pressed"
75
+ })], Button.prototype, "pressed", void 0);
76
+ __decorate([attr], Button.prototype, "label", void 0);
8
77
  //#endregion
9
- //#region src/lib/visually-hidden/visually-hidden.scss?inline
10
- var visually_hidden_default = ":host{display:contents}slot:not(:focus-within){clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;display:inline;position:absolute;overflow:hidden}";
78
+ //#region src/lib/button/button.scss?inline
79
+ var button_default = ".chevron{font:var(--vvd-typography-base-extended);flex-shrink:0;display:flex;transform:rotate(0)}@media (prefers-reduced-motion:no-preference){.chevron{transition:transform .2s}}:host([data-expanded=true]) .chevron,:host([open]) .chevron{transform:rotate(180deg)}:host{--_vvd-button-accent-firm-wrapper:var(--vvd-button-accent-firm);--_vvd-button-cta-firm-wrapper:var(--vvd-button-cta-firm);--_vvd-button-success-firm-wrapper:var(--vvd-button-success-firm);--_vvd-button-alert-firm-wrapper:var(--vvd-button-alert-firm);--_vvd-button-announcement-firm-wrapper:var(--vvd-button-announcement-firm)}.control:not(.appearance-ghost-light,.appearance-filled,.appearance-outlined){--vvd-button-accent-firm:var(--_vvd-button-accent-firm-wrapper,var(--vvd-button-accent-primary));--vvd-button-cta-firm:var(--_vvd-button-cta-firm-wrapper,var(--vvd-button-cta-primary));--vvd-button-success-firm:var(--_vvd-button-success-firm-wrapper,var(--vvd-button-success-primary));--vvd-button-alert-firm:var(--_vvd-button-alert-firm-wrapper,var(--vvd-button-alert-primary));--vvd-button-announcement-firm:var(--_vvd-button-announcement-firm-wrapper,var(--vvd-button-announcement-primary))}:host{display:inline-block}.control.connotation-cta{--_connotation-color-primary:var(--vvd-button-cta-primary,var(--vvd-color-cta-500));--_connotation-color-primary-text:var(--vvd-button-cta-primary-text,var(--vvd-color-canvas));--_connotation-color-primary-increment:var(--vvd-button-cta-primary-increment,var(--vvd-color-cta-600));--_connotation-color-contrast:var(--vvd-button-cta-contrast,var(--vvd-color-cta-800));--_connotation-color-fierce:var(--vvd-button-cta-fierce,var(--vvd-color-cta-700));--_connotation-color-firm:var(--vvd-button-cta-firm,var(--vvd-color-cta-600));--_connotation-color-soft:var(--vvd-button-cta-soft,var(--vvd-color-cta-100));--_connotation-color-faint:var(--vvd-button-cta-faint,var(--vvd-color-cta-50));--_connotation-color-fierce-primary:var(--vvd-button-cta-fierce-primary,var(--vvd-color-cta-700));--_connotation-color-dim:var(--vvd-button-cta-dim,var(--vvd-color-cta-200));--_connotation-color-pale:var(--vvd-button-cta-pale,var(--vvd-color-cta-300))}.control.connotation-success{--_connotation-color-primary:var(--vvd-button-success-primary,var(--vvd-color-success-500));--_connotation-color-primary-text:var(--vvd-button-success-primary-text,var(--vvd-color-canvas));--_connotation-color-primary-increment:var(--vvd-button-success-primary-increment,var(--vvd-color-success-600));--_connotation-color-contrast:var(--vvd-button-success-contrast,var(--vvd-color-success-800));--_connotation-color-fierce:var(--vvd-button-success-fierce,var(--vvd-color-success-700));--_connotation-color-firm:var(--vvd-button-success-firm,var(--vvd-color-success-600));--_connotation-color-soft:var(--vvd-button-success-soft,var(--vvd-color-success-100));--_connotation-color-faint:var(--vvd-button-success-faint,var(--vvd-color-success-50));--_connotation-color-fierce-primary:var(--vvd-button-success-fierce-primary,var(--vvd-color-success-700));--_connotation-color-dim:var(--vvd-button-success-dim,var(--vvd-color-success-200));--_connotation-color-pale:var(--vvd-button-success-pale,var(--vvd-color-success-300))}.control.connotation-alert{--_connotation-color-primary:var(--vvd-button-alert-primary,var(--vvd-color-alert-500));--_connotation-color-primary-text:var(--vvd-button-alert-primary-text,var(--vvd-color-canvas));--_connotation-color-primary-increment:var(--vvd-button-alert-primary-increment,var(--vvd-color-alert-600));--_connotation-color-contrast:var(--vvd-button-alert-contrast,var(--vvd-color-alert-800));--_connotation-color-fierce:var(--vvd-button-alert-fierce,var(--vvd-color-alert-700));--_connotation-color-firm:var(--vvd-button-alert-firm,var(--vvd-color-alert-600));--_connotation-color-soft:var(--vvd-button-alert-soft,var(--vvd-color-alert-100));--_connotation-color-faint:var(--vvd-button-alert-faint,var(--vvd-color-alert-50));--_connotation-color-fierce-primary:var(--vvd-button-alert-fierce-primary,var(--vvd-color-alert-700));--_connotation-color-dim:var(--vvd-button-alert-dim,var(--vvd-color-alert-200));--_connotation-color-pale:var(--vvd-button-alert-pale,var(--vvd-color-alert-300))}.control.connotation-announcement{--_connotation-color-primary:var(--vvd-button-announcement-primary,var(--vvd-color-announcement-500));--_connotation-color-primary-text:var(--vvd-button-announcement-primary-text,var(--vvd-color-canvas));--_connotation-color-primary-increment:var(--vvd-button-announcement-primary-increment,var(--vvd-color-announcement-600));--_connotation-color-contrast:var(--vvd-button-announcement-contrast,var(--vvd-color-announcement-800));--_connotation-color-fierce:var(--vvd-button-announcement-fierce,var(--vvd-color-announcement-700));--_connotation-color-firm:var(--vvd-button-announcement-firm,var(--vvd-color-announcement-600));--_connotation-color-soft:var(--vvd-button-announcement-soft,var(--vvd-color-announcement-100));--_connotation-color-faint:var(--vvd-button-announcement-faint,var(--vvd-color-announcement-50));--_connotation-color-fierce-primary:var(--vvd-button-announcement-fierce-primary,var(--vvd-color-announcement-700));--_connotation-color-dim:var(--vvd-button-announcement-dim,var(--vvd-color-announcement-200));--_connotation-color-pale:var(--vvd-button-announcement-pale,var(--vvd-color-announcement-300))}.control:not(.connotation-cta,.connotation-success,.connotation-alert,.connotation-announcement){--_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));--_connotation-color-dim:var(--vvd-button-accent-dim,var(--vvd-color-neutral-200));--_connotation-color-pale:var(--vvd-button-accent-pale,var(--vvd-color-neutral-300))}.control.appearance-filled{--_appearance-color-text:var(--_connotation-color-primary-text);--_appearance-color-fill:var(--_connotation-color-primary);--_appearance-color-outline:transparent}.control.appearance-outlined{--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:transparent;--_appearance-color-outline:var(--vvd-color-neutral-300)}.control,.control.appearance-ghost-light{--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:transparent;--_appearance-color-outline:transparent}.control.appearance-outlined-light{--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:transparent;--_appearance-color-outline:var(--vvd-color-neutral-300)}.control.appearance-subtle{--_appearance-color-text:var(--_connotation-color-contrast);--_appearance-color-fill:var(--_connotation-color-soft);--_appearance-color-outline:transparent}.control.appearance-subtle-light{--_appearance-color-text:var(--_connotation-color-contrast);--_appearance-color-fill:color-mix(in sRGB, var(--_connotation-color-primary), transparent 85%);--_appearance-color-outline:transparent}@media (hover:hover){.control:hover:where(:not(.disabled,:disabled,.readonly)).appearance-filled{--_appearance-color-text:var(--_connotation-color-primary-text);--_appearance-color-fill:var(--_connotation-color-primary-increment);--_appearance-color-outline:transparent}.control:hover:where(:not(.disabled,:disabled,.readonly)).appearance-outlined{--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:var(--_connotation-color-faint);--_appearance-color-outline:var(--vvd-color-neutral-300)}.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-ghost-light{--_appearance-color-text:var(--_connotation-color-fierce-primary);--_appearance-color-fill:color-mix(in sRGB, var(--_connotation-color-primary), transparent 90%);--_appearance-color-outline:transparent}.control:hover:where(:not(.disabled,:disabled,.readonly)).appearance-outlined-light{--_appearance-color-text:var(--_connotation-color-fierce-primary);--_appearance-color-fill:color-mix(in sRGB, var(--_connotation-color-primary), transparent 90%);--_appearance-color-outline:var(--vvd-color-neutral-300)}.control:hover:where(:not(.disabled,:disabled,.readonly)).appearance-subtle{--_appearance-color-text:var(--_connotation-color-contrast);--_appearance-color-fill:var(--_connotation-color-dim);--_appearance-color-outline:transparent}.control:hover:where(:not(.disabled,:disabled,.readonly)).appearance-subtle-light{--_appearance-color-text:var(--_connotation-color-contrast);--_appearance-color-fill:color-mix(in sRGB, var(--_connotation-color-primary), transparent 75%);--_appearance-color-outline:transparent}}.control.hover:where(:not(.disabled,:disabled,.readonly)).appearance-filled{--_appearance-color-text:var(--_connotation-color-primary-text);--_appearance-color-fill:var(--_connotation-color-primary-increment);--_appearance-color-outline:transparent}.control.hover:where(:not(.disabled,:disabled,.readonly)).appearance-outlined{--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:var(--_connotation-color-faint);--_appearance-color-outline:var(--vvd-color-neutral-300)}.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-ghost-light{--_appearance-color-text:var(--_connotation-color-fierce-primary);--_appearance-color-fill:color-mix(in sRGB, var(--_connotation-color-primary), transparent 90%);--_appearance-color-outline:transparent}.control.hover:where(:not(.disabled,:disabled,.readonly)).appearance-outlined-light{--_appearance-color-text:var(--_connotation-color-fierce-primary);--_appearance-color-fill:color-mix(in sRGB, var(--_connotation-color-primary), transparent 90%);--_appearance-color-outline:var(--vvd-color-neutral-300)}.control.hover:where(:not(.disabled,:disabled,.readonly)).appearance-subtle{--_appearance-color-text:var(--_connotation-color-contrast);--_appearance-color-fill:var(--_connotation-color-dim);--_appearance-color-outline:transparent}.control.hover:where(:not(.disabled,:disabled,.readonly)).appearance-subtle-light{--_appearance-color-text:var(--_connotation-color-contrast);--_appearance-color-fill:color-mix(in sRGB, var(--_connotation-color-primary), transparent 75%);--_appearance-color-outline:transparent}.control:disabled.appearance-filled{--_appearance-color-text:var(--vvd-color-neutral-300);--_appearance-color-fill:var(--vvd-color-neutral-100);--_appearance-color-outline:transparent}.control:disabled.appearance-outlined{--_appearance-color-text:var(--vvd-color-neutral-300);--_appearance-color-fill:transparent;--_appearance-color-outline:var(--vvd-color-neutral-300)}.control:disabled,.control:disabled.appearance-ghost-light{--_appearance-color-text:var(--vvd-color-neutral-300);--_appearance-color-fill:transparent;--_appearance-color-outline:transparent}.control:disabled.appearance-outlined-light{--_appearance-color-text:var(--vvd-color-neutral-300);--_appearance-color-fill:transparent;--_appearance-color-outline:var(--vvd-color-neutral-300)}.control:disabled.appearance-subtle,.control:disabled.appearance-subtle-light,.control.disabled.appearance-filled{--_appearance-color-text:var(--vvd-color-neutral-300);--_appearance-color-fill:var(--vvd-color-neutral-100);--_appearance-color-outline:transparent}.control.disabled.appearance-outlined{--_appearance-color-text:var(--vvd-color-neutral-300);--_appearance-color-fill:transparent;--_appearance-color-outline:var(--vvd-color-neutral-300)}.control.disabled,.control.disabled.appearance-ghost-light{--_appearance-color-text:var(--vvd-color-neutral-300);--_appearance-color-fill:transparent;--_appearance-color-outline:transparent}.control.disabled.appearance-outlined-light{--_appearance-color-text:var(--vvd-color-neutral-300);--_appearance-color-fill:transparent;--_appearance-color-outline:var(--vvd-color-neutral-300)}.control.disabled.appearance-subtle,.control.disabled.appearance-subtle-light{--_appearance-color-text:var(--vvd-color-neutral-300);--_appearance-color-fill:var(--vvd-color-neutral-100);--_appearance-color-outline:transparent}.control:active:where(:not(.disabled,:disabled)).appearance-filled{--_appearance-color-text:var(--_connotation-color-primary-text);--_appearance-color-fill:var(--_connotation-color-fierce);--_appearance-color-outline:transparent}.control:active:where(:not(.disabled,:disabled)).appearance-outlined{--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:var(--_connotation-color-soft);--_appearance-color-outline:var(--vvd-color-neutral-300)}.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:active:where(:not(.disabled,:disabled)).appearance-ghost-light{--_appearance-color-text:var(--_connotation-color-fierce-primary);--_appearance-color-fill:color-mix(in sRGB, var(--_connotation-color-primary), transparent 80%);--_appearance-color-outline:transparent}.control:active:where(:not(.disabled,:disabled)).appearance-outlined-light{--_appearance-color-text:var(--_connotation-color-fierce-primary);--_appearance-color-fill:color-mix(in sRGB, var(--_connotation-color-primary), transparent 80%);--_appearance-color-outline:var(--vvd-color-neutral-300)}.control:active:where(:not(.disabled,:disabled)).appearance-subtle{--_appearance-color-text:var(--_connotation-color-contrast);--_appearance-color-fill:var(--_connotation-color-pale);--_appearance-color-outline:transparent}.control:active:where(:not(.disabled,:disabled)).appearance-subtle-light{--_appearance-color-text:var(--_connotation-color-contrast);--_appearance-color-fill:color-mix(in sRGB, var(--_connotation-color-primary), transparent 65%);--_appearance-color-outline:transparent}.control.active:where(:not(.disabled,:disabled)).appearance-filled{--_appearance-color-text:var(--_connotation-color-primary-text);--_appearance-color-fill:var(--_connotation-color-fierce);--_appearance-color-outline:transparent}.control.active:where(:not(.disabled,:disabled)).appearance-outlined{--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:var(--_connotation-color-soft);--_appearance-color-outline:var(--vvd-color-neutral-300)}.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.active:where(:not(.disabled,:disabled)).appearance-ghost-light{--_appearance-color-text:var(--_connotation-color-fierce-primary);--_appearance-color-fill:color-mix(in sRGB, var(--_connotation-color-primary), transparent 80%);--_appearance-color-outline:transparent}.control.active:where(:not(.disabled,:disabled)).appearance-outlined-light{--_appearance-color-text:var(--_connotation-color-fierce-primary);--_appearance-color-fill:color-mix(in sRGB, var(--_connotation-color-primary), transparent 80%);--_appearance-color-outline:var(--vvd-color-neutral-300)}.control.active:where(:not(.disabled,:disabled)).appearance-subtle{--_appearance-color-text:var(--_connotation-color-contrast);--_appearance-color-fill:var(--_connotation-color-pale);--_appearance-color-outline:transparent}.control.active:where(:not(.disabled,:disabled)).appearance-subtle-light{--_appearance-color-text:var(--_connotation-color-contrast);--_appearance-color-fill:color-mix(in sRGB, var(--_connotation-color-primary), transparent 65%);--_appearance-color-outline:transparent}.control{--focus-stroke-gap-color:transparent;box-sizing:border-box;border-radius:var(--_button-border-radius);background-color:var(--_appearance-color-fill);block-size:var(--_button-block-size);box-shadow:inset 0 0 0 1px var(--_appearance-color-outline);color:var(--_appearance-color-text);justify-content:space-between;align-items:center;gap:var(--_button-icon-gap);vertical-align:middle;border:0;margin:0;text-decoration:none;display:inline-flex}.control .text{-webkit-line-clamp:var(--button-line-clamp,1);text-align:start;-webkit-box-orient:vertical;max-inline-size:100%;display:-webkit-box;overflow:hidden}.control:not(.icon-only){inline-size:100%}.control:not(.disabled){cursor:var(--button-cursor,pointer)}.control.disabled{cursor:not-allowed}.control{user-select:none}.control:not(.stacked).size-super-condensed{--_button-block-size:calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) - 16));font:var(--vvd-typography-base-condensed-bold);--_button-icon-gap:4px;--_button-chevron-size:10px}.control:not(.stacked).size-super-condensed.icon-only{padding-inline:calc(var(--_button-block-size) / 4)}.control:not(.stacked).size-super-condensed:not(.icon-only){padding-inline:8px}.control:not(.stacked).size-condensed{--_button-block-size:calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) - 8));font:var(--vvd-typography-base-condensed-bold);--_button-icon-gap:8px;--_button-chevron-size:12px}.control:not(.stacked).size-condensed.icon-only{padding-inline:calc(var(--_button-block-size) / 4)}.control:not(.stacked).size-condensed:not(.icon-only){padding-inline:12px}.control:not(.stacked).size-expanded{--_button-block-size:calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) + 8));font:var(--vvd-typography-base-extended-bold);--_button-icon-gap:10px;--_button-chevron-size:16px}.control:not(.stacked).size-expanded.icon-only{padding-inline:calc(var(--_button-block-size) / 4)}.control:not(.stacked).size-expanded:not(.icon-only){padding-inline:20px}.control:not(.stacked):not(.size-condensed,.size-expanded,.size-super-condensed){--_button-block-size:calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2)));font:var(--vvd-typography-base-bold);--_button-icon-gap:8px;--_button-chevron-size:16px}.control:not(.stacked):not(.size-condensed,.size-expanded,.size-super-condensed).icon-only{padding-inline:calc(var(--_button-block-size) / 4)}.control:not(.stacked):not(.size-condensed,.size-expanded,.size-super-condensed):not(.icon-only){padding-inline:16px}.control:not(.shape-pill){--_button-border-radius:8px}.control:not(.shape-pill).size-condensed:not(.stacked),.control:not(.shape-pill).size-super-condensed:not(.stacked){--_button-border-radius:4px}.control.shape-pill:not(.icon-only,.stacked.size-super-condensed,.stacked.size-condensed,.stacked.normal){--_button-border-radius:24px}.control.shape-pill.stacked.size-condensed,.control.shape-pill.stacked.size-super-condensed{--_button-border-radius:16px}.control.shape-pill.stacked.size-normal{--_button-border-radius:20px}.control.shape-pill.icon-only{--_button-border-radius:50%}.control.stacked.size-super-condensed{--stacked-size:calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) - 16));--_button-block-size:calc(var(--stacked-size) + 20px);font:var(--vvd-typography-base-condensed-bold);--_button-icon-gap:4px;--_button-chevron-size:10px}.control.stacked.size-super-condensed.icon-only{padding-inline:calc(var(--_button-block-size) / 4)}.control.stacked.size-super-condensed:not(.icon-only){padding-inline:16px}.control.stacked.size-condensed{--stacked-size:calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) - 8));--_button-block-size:calc(var(--stacked-size) + 24px);font:var(--vvd-typography-base-condensed-bold);--_button-icon-gap:6px;--_button-chevron-size:12px}.control.stacked.size-condensed.icon-only{padding-inline:calc(var(--_button-block-size) / 4)}.control.stacked.size-condensed:not(.icon-only){padding-inline:12px}.control.stacked.size-expanded{--stacked-size:calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) + 8));--_button-block-size:calc(var(--stacked-size) + 32px);font:var(--vvd-typography-base-extended-bold);--_button-icon-gap:10px;--_button-chevron-size:16px}.control.stacked.size-expanded.icon-only{padding-inline:calc(var(--_button-block-size) / 4)}.control.stacked.size-expanded:not(.icon-only){padding-inline:20px}.control.stacked:not(.size-condensed,.size-expanded,.size-super-condensed){--stacked-size:calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2)));--_button-block-size:calc(var(--stacked-size) + 28px);font:var(--vvd-typography-base-bold);--_button-icon-gap:8px;--_button-chevron-size:16px}.control.stacked:not(.size-condensed,.size-expanded,.size-super-condensed).icon-only{padding-inline:calc(var(--_button-block-size) / 4)}.control.stacked:not(.size-condensed,.size-expanded,.size-super-condensed):not(.icon-only){padding-inline:16px}.control.appearance-filled{--focus-stroke-gap-color:transparent}.control.appearance-filled:focus-visible{outline:none;position:relative}.control.appearance-filled:focus-visible:after{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));border-radius:var(--focus-border-radius,inherit);block-size:calc(100% + var(--focus-block-size-addition,4px));content:\"\";inline-size:calc(100% + var(--focus-block-size-addition,4px));display:block;position:absolute;inset-block-start:50%;inset-inline-start:50%;transform:translate(-50%,-50%)}.control:not(.appearance-filled):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]{line-height:1}.icon-trailing slot[name=icon]{order:1;display:flex}.control.stacked slot[name=icon]{font-size:calc(var(--stacked-size) / 2)}.control:not(.stacked) slot[name=icon]{font-size:calc(var(--_button-block-size) / 2)}.chevron{font-size:var(--_button-chevron-size)}.content{justify-content:center;align-items:center;gap:var(--_button-icon-gap);flex:1;display:flex;overflow:hidden}.control.stacked .content{flex-direction:column}:host([dropdown-indicator]) .content{justify-content:var(--button-content-alignment,flex-start);text-align:start}:host([dropdown-indicator][stacked]) .content{align-items:var(--button-content-alignment,flex-start);justify-content:center}.pending-no-icon{position:absolute}.pending-no-icon+.text{visibility:hidden}:host([icon-trailing][pending]) .pending{order:1}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}";
11
80
  //#endregion
12
- //#region src/lib/visually-hidden/visually-hidden.template.ts
13
- var VisuallyHiddenTemplate = () => html`<slot></slot>`;
81
+ //#region src/shared/patterns/chevron.ts
82
+ var chevronTemplateFactory = (context) => {
83
+ const iconTag = context.tagFor(Icon);
84
+ return html`<${iconTag} class="chevron" aria-hidden="true" name="chevron-down-line"></${iconTag}>`;
85
+ };
14
86
  //#endregion
15
- //#region src/lib/visually-hidden/definition.ts
16
- var visuallyHiddenDefinition = defineVividComponent("visually-hidden", VisuallyHidden, VisuallyHiddenTemplate, [], { styles: visually_hidden_default });
87
+ //#region src/lib/button/button.template.ts
88
+ function getEffectiveAppearance(appearance, pressed) {
89
+ const resolvedAppearance = appearance ?? "ghost";
90
+ if (pressed) {
91
+ if (resolvedAppearance === "ghost") return "subtle";
92
+ if (resolvedAppearance === "ghost-light") return "subtle-light";
93
+ if (resolvedAppearance === "outlined") return "filled";
94
+ }
95
+ return resolvedAppearance;
96
+ }
97
+ var getClasses = (x) => classNames("control", [`connotation-${x.connotation}`, Boolean(x.connotation)], `appearance-${getEffectiveAppearance(x.appearance, x.pressed)}`, ["disabled", x.disabled || x.pending], [`shape-${x.shape}`, Boolean(x.shape)], [`size-${x.size}`, Boolean(x.size)], ["icon-only", !x.label && !!(x.icon || x.iconSlottedContent?.length) && !x.dropdownIndicator], ["icon-trailing", x.iconTrailing], ["stacked", x.stacked], ["active", x.ariaExpanded === "true" || x.active]);
98
+ function renderIconOrPending(context, icon, pending, size = Size.Normal) {
99
+ if (pending && size != Size.SuperCondensed) {
100
+ const progressTag = context.tagFor(ProgressRing);
101
+ const progressSize = {
102
+ [Size.Condensed]: "-6",
103
+ [Size.Normal]: "-5",
104
+ [Size.Expanded]: "-4"
105
+ };
106
+ const getClassName = (x) => {
107
+ const slottedIconElement = x.querySelector("[slot=\"icon\"]");
108
+ return classNames("icon", "pending", ["pending-no-icon", !(icon || slottedIconElement)]);
109
+ };
110
+ return html`<span class="${getClassName}" aria-hidden="true"><${progressTag} size="${progressSize[size]}"></${progressTag}></span>`;
111
+ } else return affixIconTemplateFactory(context)(icon, IconWrapper.Slot);
112
+ }
113
+ var getButtonType = (type) => {
114
+ if ([
115
+ "submit",
116
+ "button",
117
+ "reset"
118
+ ].indexOf(type) > -1) return type;
119
+ return "submit";
120
+ };
121
+ var buttonContent = (context) => {
122
+ const chevronTemplate = chevronTemplateFactory(context);
123
+ return html`<span class="content">
124
+ ${(x) => renderIconOrPending(context, x.icon, x.pending, x.size)}
125
+ ${when((x) => x.label, html`<span class="text" aria-hidden="true">${(x) => x.label}</span>`)}
126
+ <span class="sr-only"
127
+ >${(x) => x.pending ? x.locale.button.pendingLabel : x.ariaLabel ?? x.label}</span
128
+ >
129
+ </span>
130
+ ${when((x) => x.dropdownIndicator, chevronTemplate)}`;
131
+ };
132
+ function renderButtonContent(context) {
133
+ return html` <button
134
+ class="${getClasses}"
135
+ ?autofocus="${(x) => x.autofocus}"
136
+ form="${(x) => x.formId}"
137
+ formaction="${(x) => x.formaction}"
138
+ formenctype="${(x) => x.formenctype}"
139
+ formmethod="${(x) => x.formmethod}"
140
+ formnovalidate="${(x) => x.formnovalidate}"
141
+ formtarget="${(x) => x.formtarget}"
142
+ name="${(x) => x.name}"
143
+ type="${(x) => getButtonType(x.type)}"
144
+ value="${(x) => x.value}"
145
+ title="${(x) => x.title}"
146
+ ${delegateAria({
147
+ ariaLabel: null,
148
+ ariaDisabled: (x) => x.disabled || x.pending,
149
+ ariaPressed: (x) => x.pressed ? "true" : x.ariaPressed ?? null
150
+ })}
151
+ ${ref("control")}
152
+ @click="${(x, c) => x.clickHandler(c.event)}"
153
+ >
154
+ ${buttonContent(context)}
155
+ </button>`;
156
+ }
157
+ function renderAnchorContent(context) {
158
+ return html`${(x) => x._renderLinkElement(buttonContent(context), getClasses, { ariaLabel: null })}`;
159
+ }
160
+ var buttonTemplate = (context) => {
161
+ return html` <template>
162
+ ${when((x) => !x.href, html`${renderButtonContent(context)}`)}
163
+ ${when((x) => x.href, renderAnchorContent(context))}
164
+ </template>`;
165
+ };
166
+ //#endregion
167
+ //#region src/lib/button/definition.ts
168
+ /** @internal */
169
+ var buttonDefinition = defineVividComponent("button", Button, buttonTemplate, [iconDefinition, progressRingDefinition], {
170
+ styles: button_default,
171
+ shadowOptions: { delegatesFocus: true }
172
+ });
17
173
  /**
18
- * Registers the visually-hidden element with the design system.
174
+ * Registers the button elements with the design system.
19
175
  *
20
176
  * @param prefix - the prefix to use for the component name
21
177
  */
22
- var registerVisuallyHidden = createRegisterFunction(visuallyHiddenDefinition);
178
+ var registerButton = createRegisterFunction(buttonDefinition);
23
179
  //#endregion
24
- export { visuallyHiddenDefinition as n, VisuallyHidden as r, registerVisuallyHidden as t };
180
+ export { Button as i, registerButton as n, chevronTemplateFactory as r, buttonDefinition as t };
@@ -3,10 +3,10 @@ const require_vivid_element = require("./vivid-element.cjs");
3
3
  const require_decorate = require("./decorate.cjs");
4
4
  const require_definition = require("./definition5.cjs");
5
5
  const require_localized = require("./localized.cjs");
6
- const require_definition$1 = require("./definition7.cjs");
7
- const require_definition$2 = require("./definition10.cjs");
8
- const require_definition$3 = require("./definition12.cjs");
9
- const require_definition$4 = require("./definition13.cjs");
6
+ const require_definition$1 = require("./definition6.cjs");
7
+ const require_definition$2 = require("./definition9.cjs");
8
+ const require_definition$3 = require("./definition11.cjs");
9
+ const require_definition$4 = require("./definition12.cjs");
10
10
  const require_divider = require("./divider.cjs");
11
11
  const require_randomId = require("./randomId.cjs");
12
12
  const require_definition$5 = require("./definition26.cjs");
@@ -30,7 +30,7 @@ let prosemirror_inputrules = require("prosemirror-inputrules");
30
30
  let prosemirror_transform = require("prosemirror-transform");
31
31
  let prosemirror_schema_basic = require("prosemirror-schema-basic");
32
32
  //#region src/lib/rich-text-editor/rich-text-editor.scss?inline
33
- var rich_text_editor_default = ":host{display:block}.rte{--editor-padding-inline:var(--rich-text-editor-padding-inline,16px);--editor-padding-block:var(--rich-text-editor-padding-block,8px);block-size:100%;max-block-size:inherit;min-block-size:inherit;flex-direction:column;display:flex}.editor{display:contents}.editor-viewport{contain:layout;flex-direction:column;flex:1;min-block-size:0;display:flex;position:relative;overflow:hidden}.editor-scroll-area{background-color:var(--vvd-color-canvas);color:var(--vvd-color-canvas-text);font:var(--vvd-typography-base);--scrollbar-track-color:transparent;--scrollbar-thumb-color:color-mix(in srgb, var(--vvd-color-neutral-950), transparent 70%);scrollbar-color:var(--scrollbar-thumb-color) var(--scrollbar-track-color);scrollbar-width:thin;flex-direction:column;flex:1;min-block-size:0;display:flex;overflow-y:auto}.editor-scroll-area ::-webkit-scrollbar{width:4px}.editor-scroll-area ::-webkit-scrollbar-track{background:var(--scrollbar-track-color)}.editor-scroll-area ::-webkit-scrollbar-thumb{background-color:var(--scrollbar-fallback-track-color,var(--scrollbar-thumb-color));border:0;border-radius:4px}.popovers--disabled>*{display:none!important}";
33
+ var rich_text_editor_default = ":host{display:block}.rte{--editor-padding-inline:var(--rich-text-editor-padding-inline,16px);--editor-padding-block:var(--rich-text-editor-padding-block,8px);block-size:100%;max-block-size:inherit;min-block-size:inherit;flex-direction:column;display:flex}.editor{display:contents}.editor-viewport{contain:layout;flex-direction:column;flex:1;min-block-size:0;display:flex;position:relative;overflow:hidden}.editor-scroll-area{background-color:var(--vvd-color-canvas);color:var(--vvd-color-canvas-text);font:var(--vvd-typography-base);--scrollbar-track-color:transparent;--scrollbar-thumb-color:color-mix(in sRGB, var(--vvd-color-neutral-950), transparent 70%);scrollbar-color:var(--scrollbar-thumb-color) var(--scrollbar-track-color);scrollbar-width:thin;flex-direction:column;flex:1;min-block-size:0;display:flex;overflow-y:auto}.editor-scroll-area ::-webkit-scrollbar{width:4px}.editor-scroll-area ::-webkit-scrollbar-track{background:var(--scrollbar-track-color)}.editor-scroll-area ::-webkit-scrollbar-thumb{background-color:var(--scrollbar-fallback-track-color,var(--scrollbar-thumb-color));border:0;border-radius:4px}.popovers--disabled>*{display:none!important}";
34
34
  //#endregion
35
35
  //#region src/lib/rich-text-editor/rich-text-editor.ts
36
36
  /**
@@ -46,9 +46,7 @@ var rich_text_editor_default = ":host{display:block}.rte{--editor-padding-inline
46
46
  * @dynamicSlot `{ id: string }` suggestions-empty - Empty state if no suggestions are found.
47
47
  */
48
48
  var RichTextEditor = class extends require_localized.WithObservableLocale(require_vivid_element.VividElement) {
49
- /**
50
- * @internal
51
- */
49
+ /** @internal */
52
50
  instanceChanged(prevInstance) {
53
51
  prevInstance?.[require_slottable_request.impl].destroyViewIfNeeded();
54
52
  this._initViewIfNeeded();
@@ -73,9 +71,7 @@ var RichTextEditor = class extends require_localized.WithObservableLocale(requir
73
71
  super.disconnectedCallback();
74
72
  this._destroyViewIfNeeded();
75
73
  }
76
- /**
77
- * @internal
78
- */
74
+ /** @internal */
79
75
  localeChanged() {
80
76
  this._syncStateIfNeeded();
81
77
  }
@@ -247,7 +243,7 @@ var FeatureState = class {
247
243
  };
248
244
  //#endregion
249
245
  //#region src/lib/rich-text-editor/rte/features/internal/core.style.scss?inline
250
- var core_style_default = ".ProseMirror{box-sizing:border-box;padding:var(--editor-padding-block) var(--editor-padding-inline);outline:none;flex:1 0 0}.ProseMirror-selectednode{--focus-stroke-gap-color:transparent;--focus-border-radius:2px;outline:none;position:relative}.ProseMirror-selectednode:after{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));border-radius:var(--focus-border-radius,inherit);block-size:calc(100% + var(--focus-block-size-addition,4px));content:\"\";inline-size:calc(100% + var(--focus-block-size-addition,4px));display:block;position:absolute;inset-block-start:50%;inset-inline-start:50%;transform:translate(-50%,-50%)}.editor--disabled .ProseMirror{color:var(--vvd-color-neutral-300);cursor:not-allowed}";
246
+ var core_style_default = ".ProseMirror{box-sizing:border-box;padding:var(--editor-padding-block) var(--editor-padding-inline);outline:none;flex:1 0 0}.ProseMirror-selectednode{--focus-stroke-gap-color:transparent;--focus-border-radius:2px;outline:none;position:relative}.ProseMirror-selectednode:after{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));border-radius:var(--focus-border-radius,inherit);block-size:calc(100% + var(--focus-block-size-addition,4px));content:\"\";inline-size:calc(100% + var(--focus-block-size-addition,4px));display:block;position:absolute;inset-block-start:50%;inset-inline-start:50%;transform:translate(-50%,-50%)}.editor--disabled .ProseMirror{color:var(--vvd-color-neutral-300);cursor:not-allowed}";
251
247
  //#endregion
252
248
  //#region src/lib/rich-text-editor/rte/features/internal/foreign-html.ts
253
249
  var RteForeignHtmlFeatureImpl = class extends require_slottable_request.RteFeatureImpl {
@@ -275,13 +271,30 @@ var atomCursorFix = ($cursor) => {
275
271
  if (nodeBefore && nodeBefore.isInline && nodeBefore.isAtom && !nodeBefore.isText) return {};
276
272
  return null;
277
273
  };
274
+ /**
275
+ * When the cursor is positioned directly before an inline atom node (e.g. an image)
276
+ * that wraps to the next line, browsers may display the cursor on the next line even
277
+ * though typing inserts text on the previous line. A ZWSP between cursor and atom will be
278
+ * layouted to the previous line and therefore fix the cursor position.
279
+ */
280
+ var beforeAtomCursorFix = ($cursor) => {
281
+ const nodeAfter = $cursor.nodeAfter;
282
+ if (nodeAfter && nodeAfter.isInline && nodeAfter.isAtom && !nodeAfter.isText) return { afterCursor: true };
283
+ return null;
284
+ };
285
+ function createZwspWidget(style) {
286
+ const span = document.createElement("span");
287
+ span.textContent = "​";
288
+ for (const [prop, value] of Object.entries(style)) span.style.setProperty(prop, value);
289
+ return span;
290
+ }
278
291
  var RteCursorFixFeatureImpl = class extends require_slottable_request.RteFeatureImpl {
279
292
  constructor(..._args) {
280
293
  super(..._args);
281
294
  this.name = "RteCursorFix";
282
295
  }
283
296
  getPlugins(rte) {
284
- const cursorFixes = [atomCursorFix];
297
+ const cursorFixes = [atomCursorFix, beforeAtomCursorFix];
285
298
  for (const markType of Object.values(rte.schema.marks)) {
286
299
  const spec = markType.spec;
287
300
  if (spec.cursorFix) cursorFixes.push(spec.cursorFix);
@@ -289,27 +302,28 @@ var RteCursorFixFeatureImpl = class extends require_slottable_request.RteFeature
289
302
  return [this.contribution(new prosemirror_state.Plugin({ props: { decorations: (state) => {
290
303
  const { $cursor } = state.selection;
291
304
  if (!$cursor) return null;
292
- let cursorFix = null;
305
+ const decorations = [];
306
+ const cursorFixStyles = {};
307
+ let before = false;
308
+ let after = false;
293
309
  for (const fn of cursorFixes) {
294
310
  const result = fn($cursor, state);
295
- if (result) Object.assign(cursorFix ??= {}, result);
311
+ if (!result) continue;
312
+ if (result.style) Object.assign(cursorFixStyles, result.style);
313
+ if (result.afterCursor) after = true;
314
+ else before = true;
296
315
  }
297
- if (!cursorFix) return null;
298
- return prosemirror_view.DecorationSet.create(state.doc, [prosemirror_view.Decoration.widget($cursor.pos, () => {
299
- const span = document.createElement("span");
300
- span.textContent = "​";
301
- for (const [prop, value] of Object.entries(cursorFix)) span.style.setProperty(prop, value);
302
- return span;
303
- }, { side: -1 })]);
316
+ if (before) decorations.push(prosemirror_view.Decoration.widget($cursor.pos, () => createZwspWidget(cursorFixStyles), { side: -1 }));
317
+ if (after) decorations.push(prosemirror_view.Decoration.widget($cursor.pos, () => createZwspWidget(cursorFixStyles), { side: 1 }));
318
+ if (decorations.length === 0) return null;
319
+ return prosemirror_view.DecorationSet.create(state.doc, decorations);
304
320
  } } }))];
305
321
  }
306
322
  };
307
323
  require_slottable_request.featureFacade(RteCursorFixFeatureImpl);
308
324
  //#endregion
309
325
  //#region src/lib/rich-text-editor/rte/features/internal/core.ts
310
- /**
311
- * Plugin to bring state from the host web component into ProseMirror.
312
- */
326
+ /** Plugin to bring state from the host web component into ProseMirror. */
313
327
  var hostBridgePlugin = new prosemirror_state.Plugin({ state: {
314
328
  init() {
315
329
  return null;
@@ -336,7 +350,7 @@ var RteCoreImpl = class extends require_slottable_request.RteFeatureImpl {
336
350
  ];
337
351
  }
338
352
  getPlugins(rte) {
339
- const enterKeyChainCommands = (0, prosemirror_commands.chainCommands)(prosemirror_commands.newlineInCode, prosemirror_commands.createParagraphNear, prosemirror_commands.liftEmptyBlock, (0, prosemirror_commands.splitBlockAs)((node, atEnd, $from) => {
353
+ const splitFn = (0, prosemirror_commands.splitBlockAs)((node, atEnd, $from) => {
340
354
  if (!atEnd) return {
341
355
  type: node.type,
342
356
  attrs: node.attrs
@@ -345,7 +359,13 @@ var RteCoreImpl = class extends require_slottable_request.RteFeatureImpl {
345
359
  type: defaultTextblockForMatch($from.node($from.depth - 1).contentMatchAt($from.indexAfter($from.depth - 1))),
346
360
  attrs: rte.textblockAttrs.extractFromNode(node)
347
361
  };
362
+ });
363
+ const splitFnKeepMarks = (state, dispatch) => splitFn(state, dispatch && ((tr) => {
364
+ const marks = state.storedMarks || state.selection.$to.parentOffset && state.selection.$from.marks();
365
+ if (marks) tr.ensureMarks(marks);
366
+ dispatch(tr);
348
367
  }));
368
+ const enterKeyChainCommands = (0, prosemirror_commands.chainCommands)(prosemirror_commands.newlineInCode, prosemirror_commands.createParagraphNear, prosemirror_commands.liftEmptyBlock, splitFnKeepMarks);
349
369
  return [
350
370
  this.contribution(this.disabled.plugin),
351
371
  this.contribution(new prosemirror_state.Plugin({
@@ -439,15 +459,11 @@ var RteHtmlParser = class {
439
459
  constructor(config, options) {
440
460
  this[require_slottable_request.impl] = new RteHtmlParserImpl(config[require_slottable_request.impl], options);
441
461
  }
442
- /**
443
- * Converts an HTML string to an RteDocument.
444
- */
462
+ /** Converts an HTML string to an RteDocument. */
445
463
  parseDocument(html, options) {
446
464
  return this[require_slottable_request.impl].parser.parse(this.parseHtml(html, options), { preserveWhitespace: true }).toJSON();
447
465
  }
448
- /**
449
- * Converts an HTML string to an RteFragment.
450
- */
466
+ /** Converts an HTML string to an RteFragment. */
451
467
  parseFragment(html, options) {
452
468
  return this[require_slottable_request.impl].parser.parseSlice(this.parseHtml(html, options), { preserveWhitespace: true }).content.toJSON() ?? [];
453
469
  }
@@ -468,6 +484,7 @@ var RteHtmlParserImpl = class {
468
484
  options?.modifyParseRules?.(rules);
469
485
  this.parser = buildDomParser(config.schema, rules);
470
486
  }
487
+ /** Used by the editor when foreign HTML is pasted or dropped */
471
488
  transform(html) {
472
489
  return dompurify.default.sanitize(html);
473
490
  }
@@ -503,15 +520,11 @@ var RteHtmlSerializer = class {
503
520
  constructor(config, options) {
504
521
  this[require_slottable_request.impl] = new RteHtmlSerializerImpl(config[require_slottable_request.impl], options);
505
522
  }
506
- /**
507
- * Converts an RteDocument to an HTML string.
508
- */
523
+ /** Converts an RteDocument to an HTML string. */
509
524
  serializeDocument(doc, options) {
510
525
  return this[require_slottable_request.impl].serializeFragment(doc.content, options);
511
526
  }
512
- /**
513
- * Converts an RteFragment to an HTML string.
514
- */
527
+ /** Converts an RteFragment to an HTML string. */
515
528
  serializeFragment(fragment, options) {
516
529
  return this[require_slottable_request.impl].serializeFragment(fragment, options);
517
530
  }
@@ -567,15 +580,11 @@ var RteInstance = class {
567
580
  };
568
581
  this[require_slottable_request.impl] = new RteInstanceImpl(this, config, options);
569
582
  }
570
- /**
571
- * Returns the current document state.
572
- */
583
+ /** Returns the current document state. */
573
584
  getDocument() {
574
585
  return this[require_slottable_request.impl].state.doc.toJSON();
575
586
  }
576
- /**
577
- * Reset the editor to its initial state. Optionally, an initial document can be provided.
578
- */
587
+ /** Reset the editor to its initial state. Optionally, an initial document can be provided. */
579
588
  reset(initialDocument) {
580
589
  this[require_slottable_request.impl].reset(initialDocument);
581
590
  }
@@ -886,9 +895,11 @@ var UiCtx = class {
886
895
  this.props = props;
887
896
  this.bindings = [];
888
897
  }
898
+ /** Evaluates a prop, returning its current value. */
889
899
  evalProp(prop) {
890
900
  return isPropBinding(prop) ? prop(this) : prop;
891
901
  }
902
+ /** On every state change, prop is re-evaluated and passed to bindFn. */
892
903
  bindProp(prop, bindFn) {
893
904
  if (prop === void 0) return;
894
905
  else if (isPropBinding(prop)) {
@@ -897,12 +908,15 @@ var UiCtx = class {
897
908
  binding();
898
909
  } else bindFn(prop);
899
910
  }
911
+ /** To be called on each state update to refresh all bindings. */
900
912
  updateBindings() {
901
913
  for (const binding of this.bindings) binding();
902
914
  }
915
+ /** Whether to return focus to the editor after a toolbar action */
903
916
  shouldReturnFocusToEditor() {
904
917
  return this.evalProp(this.props.shouldReturnFocusToEditor);
905
918
  }
919
+ /** Utility to more conveniently bind props to elements */
906
920
  bindToEl(target, props = {}, events = [], children = []) {
907
921
  for (const name in props) this.bindProp(props[name], (value) => {
908
922
  target[name] = value;
@@ -1313,15 +1327,11 @@ var RteBasicTextBlocksImpl = class extends require_slottable_request.RteFeatureI
1313
1327
  };
1314
1328
  //#endregion
1315
1329
  //#region src/lib/rich-text-editor/rte/utils/text-before-cursor.ts
1316
- /**
1317
- * Get the text content before the cursor position in the current text block.
1318
- */
1330
+ /** Get the text content before the cursor position in the current text block. */
1319
1331
  var textBeforeCursor = ($cursor) => $cursor.parent.textBetween(0, $cursor.parentOffset, void 0, "");
1320
1332
  //#endregion
1321
1333
  //#region src/lib/rich-text-editor/rte/features/internal/input-rules.ts
1322
- /**
1323
- * Aggregates all input rules from other features.
1324
- */
1334
+ /** Aggregates all input rules from other features. */
1325
1335
  var RteInputRulesFeatureImpl = class extends require_slottable_request.RteFeatureImpl {
1326
1336
  constructor(..._args) {
1327
1337
  super(..._args);
@@ -1581,7 +1591,10 @@ var RteHardBreakFeatureImpl = class extends require_slottable_request.RteFeature
1581
1591
  }
1582
1592
  getPlugins(_rte) {
1583
1593
  const forceBreak = (state, dispatch) => {
1584
- dispatch?.(state.tr.replaceSelectionWith(state.schema.nodes.hardBreak.create(), true).scrollIntoView());
1594
+ const marks = state.storedMarks || state.selection.$from.marks();
1595
+ const tr = state.tr.replaceSelectionWith(state.schema.nodes.hardBreak.create(), true).scrollIntoView();
1596
+ if (marks.length) tr.setStoredMarks(marks);
1597
+ dispatch?.(tr);
1585
1598
  return true;
1586
1599
  };
1587
1600
  const keyBindings = { "Shift-Enter": forceBreak };
@@ -1632,10 +1645,10 @@ var RteFontSizePickerFeatureImpl = class extends require_slottable_request.RteFe
1632
1645
  const storedMarks = state.storedMarks;
1633
1646
  if (!storedMarks) return null;
1634
1647
  const fontSizeMark = storedMarks.find((m) => m.type.name === "fontSize");
1635
- if (fontSizeMark) return { "font-size": fontSizeMark.attrs.size };
1648
+ if (fontSizeMark) return { style: { "font-size": fontSizeMark.attrs.size } };
1636
1649
  if (storedMarks.length === 0) {
1637
1650
  const defaultSize = this.defaultFontSizeForNode?.[$cursor.parent.type.name];
1638
- if (defaultSize) return { "font-size": defaultSize };
1651
+ if (defaultSize) return { style: { "font-size": defaultSize } };
1639
1652
  }
1640
1653
  return null;
1641
1654
  }
@@ -1979,6 +1992,7 @@ var RteTextColorPickerFeatureImpl = class extends require_slottable_request.RteF
1979
1992
  }
1980
1993
  }, 6)];
1981
1994
  }
1995
+ /** Determine the color of the current selection or null if colors are mixed */
1982
1996
  getSelectionColor(state) {
1983
1997
  const { selection } = state;
1984
1998
  const { textColor } = state.schema.marks;
@@ -2822,6 +2836,7 @@ var RteInlineImageFeatureImpl = class extends require_slottable_request.RteFeatu
2822
2836
  };
2823
2837
  }
2824
2838
  }],
2839
+ /** Since we use a NodeView, this is only used for HTML serialization */
2825
2840
  toDOM: (node) => {
2826
2841
  const { imageUrl, alt, size, naturalWidth, naturalHeight } = node.attrs;
2827
2842
  const resolvedUrl = this.config.serializeUrlToHtml ? this.config.serializeUrlToHtml(imageUrl) : imageUrl;
@@ -3208,6 +3223,7 @@ var RteAtomFeatureImpl = class extends require_slottable_request.RteFeatureImpl
3208
3223
  tag: `span[data-atom-type="${this.atomName}"][data-value]`,
3209
3224
  getAttrs: (dom) => ({ value: dom.getAttribute("data-value") })
3210
3225
  }],
3226
+ /** Since we use a NodeView, toDOM is only used for Rich Text View */
3211
3227
  toDOM: (node) => {
3212
3228
  const serializedValue = this.config.serializeValueToHtml ? this.config.serializeValueToHtml(node.attrs.value) : node.attrs.value;
3213
3229
  if (serializedValue === null) return document.createDocumentFragment();
@@ -3283,7 +3299,7 @@ var RteKeyboardShortcutsFeatureImpl = class extends require_slottable_request.Rt
3283
3299
  var RteKeyboardShortcutsFeature = require_slottable_request.featureFacade(RteKeyboardShortcutsFeatureImpl);
3284
3300
  //#endregion
3285
3301
  //#region src/lib/rich-text-editor/rte/features/suggest.style.scss?inline
3286
- var suggest_style_default = ".suggest-popover{flex-direction:column;gap:2px;max-block-size:408px;min-inline-size:128px;max-inline-size:248px;padding:4px;display:flex}.suggest-loading-widget{vertical-align:middle;white-space:normal;align-items:center;margin-inline-start:2px;display:inline-flex}.suggest-empty-message{color:var(--vvd-color-neutral-300);font:var(--vvd-typography-base);text-align:center;justify-content:center;align-items:center;min-block-size:40px;display:flex}.suggest-item--visible-focus{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));--focus-stroke-gap-color:transparent}";
3302
+ var suggest_style_default = ".suggest-popover{flex-direction:column;gap:2px;max-block-size:408px;min-inline-size:128px;max-inline-size:248px;padding:4px;display:flex}.suggest-loading-widget{vertical-align:middle;white-space:normal;align-items:center;margin-inline-start:2px;display:inline-flex}.suggest-empty-message{color:var(--vvd-color-neutral-300);font:var(--vvd-typography-base);text-align:center;justify-content:center;align-items:center;min-block-size:40px;display:flex}.suggest-item--visible-focus{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));--focus-stroke-gap-color:transparent}";
3287
3303
  //#endregion
3288
3304
  //#region src/lib/rich-text-editor/rte/features/suggest.ts
3289
3305
  var isPopoverOpen = (state) => Boolean(state?.suggestions && !state.dismissed);