@vonage/vivid 5.17.0 → 5.18.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 (459) hide show
  1. package/accordion/definition.cjs +6 -6
  2. package/accordion/definition.js +1 -1
  3. package/accordion/index.cjs +1 -1
  4. package/accordion/index.js +2 -2
  5. package/accordion-item/definition.cjs +5 -5
  6. package/accordion-item/definition.js +1 -1
  7. package/accordion-item/index.cjs +1 -1
  8. package/accordion-item/index.js +2 -2
  9. package/alert/definition.cjs +5 -5
  10. package/alert/definition.js +1 -1
  11. package/alert/index.cjs +2 -2
  12. package/alert/index.js +6 -5
  13. package/audio-player/definition.cjs +5 -5
  14. package/audio-player/definition.js +1 -1
  15. package/audio-player/index.cjs +1 -1
  16. package/audio-player/index.js +2 -1
  17. package/avatar/definition.cjs +5 -5
  18. package/avatar/definition.js +1 -1
  19. package/avatar/index.cjs +3 -3
  20. package/avatar/index.js +6 -5
  21. package/badge/definition.cjs +5 -5
  22. package/badge/definition.js +1 -1
  23. package/badge/index.cjs +1 -4
  24. package/badge/index.js +4 -20
  25. package/banner/definition.cjs +5 -5
  26. package/banner/definition.js +1 -1
  27. package/banner/index.cjs +2 -2
  28. package/banner/index.js +5 -4
  29. package/breadcrumb-item/definition.cjs +4 -4
  30. package/breadcrumb-item/definition.js +1 -1
  31. package/breadcrumb-item/index.cjs +1 -1
  32. package/breadcrumb-item/index.js +1 -0
  33. package/bundled/affix.cjs +1 -1
  34. package/bundled/affix.js +5 -5
  35. package/bundled/definition11.cjs +2 -2
  36. package/bundled/definition11.js +5 -5
  37. package/bundled/definition12.cjs +3 -3
  38. package/bundled/definition12.js +5 -5
  39. package/bundled/definition13.cjs +2 -2
  40. package/bundled/definition13.js +4 -4
  41. package/bundled/definition15.cjs +3 -3
  42. package/bundled/definition15.js +7 -7
  43. package/bundled/definition17.cjs +3 -3
  44. package/bundled/definition17.js +8 -8
  45. package/bundled/definition18.cjs +2 -2
  46. package/bundled/definition18.js +6 -6
  47. package/bundled/definition2.cjs +3 -14
  48. package/bundled/definition2.js +15 -48
  49. package/bundled/definition20.cjs +5 -5
  50. package/bundled/definition20.js +8 -8
  51. package/bundled/definition22.cjs +4 -39
  52. package/bundled/definition22.js +18 -70
  53. package/bundled/definition23.cjs +12 -0
  54. package/bundled/definition23.js +37 -0
  55. package/bundled/definition24.cjs +39 -0
  56. package/bundled/definition24.js +72 -0
  57. package/bundled/definition3.cjs +1 -1
  58. package/bundled/definition3.js +9 -6
  59. package/bundled/definition4.cjs +2 -2
  60. package/bundled/definition4.js +5 -5
  61. package/bundled/definition6.cjs +11 -11
  62. package/bundled/definition6.js +45 -29
  63. package/bundled/localized.cjs +1 -1
  64. package/bundled/localized.js +1 -0
  65. package/bundled/mixins.cjs +4 -4
  66. package/bundled/mixins.js +7 -7
  67. package/bundled/numberConverter.cjs +12 -0
  68. package/bundled/numberConverter.js +38 -0
  69. package/bundled/picker-field.template.cjs +2 -1
  70. package/bundled/picker-field.template.js +2 -1
  71. package/bundled/utils.cjs +1 -0
  72. package/bundled/utils.js +1420 -0
  73. package/bundled/vivid-element.cjs +1 -1
  74. package/bundled/vivid-element.js +1 -1
  75. package/button/definition.cjs +5 -5
  76. package/button/definition.js +1 -1
  77. package/button/index.cjs +1 -1
  78. package/button/index.js +1 -1
  79. package/card/definition.cjs +5 -5
  80. package/card/definition.js +1 -1
  81. package/card/index.cjs +4 -4
  82. package/card/index.js +7 -6
  83. package/checkbox/definition.cjs +5 -5
  84. package/checkbox/definition.js +1 -1
  85. package/checkbox/index.cjs +1 -1
  86. package/checkbox/index.js +1 -1
  87. package/color-picker/definition.cjs +5 -5
  88. package/color-picker/definition.js +1 -1
  89. package/color-picker/index.cjs +7 -7
  90. package/color-picker/index.js +55 -54
  91. package/combobox/definition.cjs +5 -5
  92. package/combobox/definition.js +1 -1
  93. package/combobox/index.cjs +2 -2
  94. package/combobox/index.js +8 -7
  95. package/contextual-help/definition.cjs +5 -5
  96. package/contextual-help/definition.js +1 -1
  97. package/contextual-help/index.cjs +1 -1
  98. package/contextual-help/index.js +1 -1
  99. package/country/definition.cjs +5 -5
  100. package/country/definition.js +1 -1
  101. package/country/index.cjs +1 -12
  102. package/country/index.js +4 -1216
  103. package/country-group/definition.cjs +6 -0
  104. package/country-group/definition.js +3 -0
  105. package/country-group/index.cjs +43 -0
  106. package/country-group/index.js +166 -0
  107. package/custom-elements.json +1112 -450
  108. package/data-grid/definition.cjs +9 -9
  109. package/data-grid/definition.js +2 -2
  110. package/data-grid/index.cjs +4 -4
  111. package/data-grid/index.js +47 -46
  112. package/date-picker/definition.cjs +5 -5
  113. package/date-picker/definition.js +2 -2
  114. package/date-picker/index.cjs +1 -1
  115. package/date-picker/index.js +1 -1
  116. package/date-range-picker/definition.cjs +5 -5
  117. package/date-range-picker/definition.js +2 -2
  118. package/date-range-picker/index.cjs +1 -1
  119. package/date-range-picker/index.js +1 -1
  120. package/date-time-picker/definition.cjs +5 -5
  121. package/date-time-picker/definition.js +2 -2
  122. package/date-time-picker/index.cjs +1 -1
  123. package/date-time-picker/index.js +1 -1
  124. package/dial-pad/definition.cjs +5 -5
  125. package/dial-pad/definition.js +2 -2
  126. package/dial-pad/index.cjs +4 -4
  127. package/dial-pad/index.js +9 -8
  128. package/dialog/definition.cjs +5 -5
  129. package/dialog/definition.js +2 -2
  130. package/dialog/index.cjs +4 -4
  131. package/dialog/index.js +12 -11
  132. package/divider/definition.cjs +1 -1
  133. package/divider/definition.js +1 -1
  134. package/empty-state/definition.cjs +5 -5
  135. package/empty-state/definition.js +2 -2
  136. package/empty-state/index.cjs +2 -2
  137. package/empty-state/index.js +6 -5
  138. package/fab/definition.cjs +5 -5
  139. package/fab/definition.js +2 -2
  140. package/fab/index.cjs +2 -2
  141. package/fab/index.js +5 -4
  142. package/file-picker/definition.cjs +5 -5
  143. package/file-picker/definition.js +2 -2
  144. package/file-picker/index.cjs +6 -6
  145. package/file-picker/index.js +9 -8
  146. package/flag/definition.cjs +6 -0
  147. package/flag/definition.js +3 -0
  148. package/flag/index.cjs +10 -0
  149. package/flag/index.js +61 -0
  150. package/header/definition.cjs +1 -1
  151. package/header/definition.js +1 -1
  152. package/icon/definition.cjs +1 -0
  153. package/icon/definition.js +1 -0
  154. package/icon/index.cjs +1 -1
  155. package/icon/index.js +1 -0
  156. package/index.cjs +183 -174
  157. package/index.js +48 -45
  158. package/layout/definition.cjs +1 -1
  159. package/layout/definition.js +1 -1
  160. package/lib/button/button.d.ts +1 -0
  161. package/lib/components.d.ts +2 -0
  162. package/lib/country/countries-data.d.ts +1 -0
  163. package/lib/country/{country-code-to-flag-icon.d.ts → utils.d.ts} +0 -3
  164. package/lib/country-group/country-group.d.ts +829 -0
  165. package/lib/country-group/country-group.template.d.ts +3 -0
  166. package/lib/country-group/definition.d.ts +3 -0
  167. package/lib/country-group/index.d.ts +1 -0
  168. package/lib/country-group/locale.d.ts +3 -0
  169. package/lib/date-picker/date-picker.d.ts +4 -0
  170. package/lib/date-range-picker/date-range-picker.d.ts +2 -0
  171. package/lib/date-time-picker/date-time-picker.d.ts +4 -0
  172. package/lib/flag/definition.d.ts +3 -0
  173. package/lib/flag/flag.d.ts +8 -0
  174. package/lib/flag/flag.template.d.ts +3 -0
  175. package/lib/flag/index.d.ts +1 -0
  176. package/lib/icon/icon.d.ts +1 -2
  177. package/lib/searchable-select/option-tag.d.ts +3 -1
  178. package/lib/searchable-select/searchable-select.d.ts +3 -1
  179. package/lib/tag-name-map.d.ts +2 -1
  180. package/lib/time-picker/time-picker.d.ts +2 -0
  181. package/locales/de-DE.cjs +1 -0
  182. package/locales/de-DE.js +1 -0
  183. package/locales/en-GB.cjs +1 -0
  184. package/locales/en-GB.js +1 -0
  185. package/locales/en-US.cjs +1 -0
  186. package/locales/en-US.js +1 -0
  187. package/locales/ja-JP.cjs +1 -0
  188. package/locales/ja-JP.js +1 -0
  189. package/locales/zh-CN.cjs +1 -0
  190. package/locales/zh-CN.js +1 -0
  191. package/menu/definition.cjs +5 -5
  192. package/menu/definition.js +1 -1
  193. package/menu/index.cjs +1 -1
  194. package/menu/index.js +1 -1
  195. package/menu-item/definition.cjs +6 -6
  196. package/menu-item/definition.js +1 -1
  197. package/menu-item/index.cjs +1 -1
  198. package/menu-item/index.js +1 -1
  199. package/nav/definition.cjs +1 -1
  200. package/nav/definition.js +1 -1
  201. package/nav-disclosure/definition.cjs +5 -5
  202. package/nav-disclosure/definition.js +2 -2
  203. package/nav-disclosure/index.cjs +2 -2
  204. package/nav-disclosure/index.js +6 -5
  205. package/nav-item/definition.cjs +5 -5
  206. package/nav-item/definition.js +2 -2
  207. package/nav-item/index.cjs +2 -2
  208. package/nav-item/index.js +5 -4
  209. package/note/definition.cjs +5 -5
  210. package/note/definition.js +2 -2
  211. package/note/index.cjs +2 -2
  212. package/note/index.js +5 -4
  213. package/number-field/definition.cjs +5 -5
  214. package/number-field/definition.js +2 -2
  215. package/number-field/index.cjs +2 -2
  216. package/number-field/index.js +6 -5
  217. package/option/definition.cjs +5 -5
  218. package/option/definition.js +1 -1
  219. package/option/index.cjs +1 -1
  220. package/option/index.js +1 -1
  221. package/package.json +4 -4
  222. package/pagination/definition.cjs +5 -5
  223. package/pagination/definition.js +2 -2
  224. package/pagination/index.cjs +1 -1
  225. package/pagination/index.js +1 -1
  226. package/popover/definition.cjs +5 -5
  227. package/popover/definition.js +2 -2
  228. package/popover/index.cjs +4 -4
  229. package/popover/index.js +7 -6
  230. package/popup/definition.cjs +4 -4
  231. package/popup/definition.js +1 -1
  232. package/popup/index.cjs +1 -1
  233. package/popup/index.js +1 -1
  234. package/progress/definition.cjs +1 -1
  235. package/progress/definition.js +1 -1
  236. package/radio/definition.cjs +1 -1
  237. package/radio/definition.js +1 -1
  238. package/radio-group/definition.cjs +5 -5
  239. package/radio-group/definition.js +2 -2
  240. package/radio-group/index.cjs +1 -1
  241. package/radio-group/index.js +1 -1
  242. package/range-slider/definition.cjs +5 -5
  243. package/range-slider/definition.js +2 -2
  244. package/range-slider/index.cjs +1 -1
  245. package/range-slider/index.js +22 -19
  246. package/rich-text-editor/definition.cjs +32 -32
  247. package/rich-text-editor/definition.js +2 -2
  248. package/rich-text-editor/index.cjs +1 -1
  249. package/rich-text-editor/index.js +2 -2
  250. package/rich-text-view/definition.cjs +1 -1
  251. package/rich-text-view/definition.js +1 -1
  252. package/searchable-select/definition.cjs +4 -4
  253. package/searchable-select/definition.js +2 -2
  254. package/searchable-select/index.cjs +6 -4
  255. package/searchable-select/index.js +76 -73
  256. package/select/definition.cjs +5 -5
  257. package/select/definition.js +2 -2
  258. package/select/index.cjs +1 -1
  259. package/select/index.js +1 -1
  260. package/selectable-box/definition.cjs +5 -5
  261. package/selectable-box/definition.js +2 -2
  262. package/selectable-box/index.cjs +1 -1
  263. package/selectable-box/index.js +1 -1
  264. package/shared/icon/utils.d.ts +1 -0
  265. package/shared/localization/Locale.d.ts +2 -0
  266. package/shared/picker-field/mixins/calendar-picker.d.ts +1 -0
  267. package/shared/picker-field/mixins/calendar-picker.template.d.ts +1 -0
  268. package/shared/picker-field/mixins/min-max-calendar-picker.d.ts +1 -0
  269. package/shared/picker-field/mixins/single-date-picker.d.ts +1 -0
  270. package/shared/picker-field/mixins/single-value-picker.d.ts +1 -0
  271. package/shared/picker-field/mixins/time-selection-picker.d.ts +1 -0
  272. package/shared/picker-field/mixins/time-selection-picker.template.d.ts +2 -0
  273. package/shared/picker-field/picker-field.d.ts +2 -0
  274. package/side-drawer/definition.cjs +1 -1
  275. package/side-drawer/definition.js +1 -1
  276. package/simple-color-picker/definition.cjs +5 -5
  277. package/simple-color-picker/definition.js +2 -2
  278. package/simple-color-picker/index.cjs +2 -2
  279. package/simple-color-picker/index.js +6 -5
  280. package/slider/definition.cjs +5 -5
  281. package/slider/definition.js +1 -1
  282. package/slider/index.cjs +1 -1
  283. package/slider/index.js +1 -1
  284. package/split-button/definition.cjs +5 -5
  285. package/split-button/definition.js +2 -2
  286. package/split-button/index.cjs +2 -2
  287. package/split-button/index.js +7 -6
  288. package/status/definition.cjs +5 -5
  289. package/status/definition.js +2 -2
  290. package/status/index.cjs +2 -2
  291. package/status/index.js +5 -4
  292. package/switch/definition.cjs +5 -5
  293. package/switch/definition.js +2 -2
  294. package/switch/index.cjs +2 -2
  295. package/switch/index.js +6 -5
  296. package/tab/definition.cjs +5 -5
  297. package/tab/definition.js +2 -2
  298. package/tab/index.cjs +1 -1
  299. package/tab/index.js +1 -1
  300. package/tab-panel/definition.cjs +1 -1
  301. package/tab-panel/definition.js +1 -1
  302. package/table/definition.cjs +17 -17
  303. package/table/definition.js +2 -2
  304. package/table/index.cjs +3 -3
  305. package/table/index.js +6 -5
  306. package/tabs/definition.cjs +6 -6
  307. package/tabs/definition.js +2 -2
  308. package/tabs/index.cjs +1 -1
  309. package/tabs/index.js +1 -1
  310. package/tag/definition.cjs +5 -5
  311. package/tag/definition.js +2 -2
  312. package/tag/index.cjs +4 -4
  313. package/tag/index.js +6 -5
  314. package/tag-group/definition.cjs +1 -1
  315. package/tag-group/definition.js +1 -1
  316. package/text-area/definition.cjs +5 -5
  317. package/text-area/definition.js +2 -2
  318. package/text-area/index.cjs +1 -1
  319. package/text-area/index.js +1 -1
  320. package/text-field/definition.cjs +5 -5
  321. package/text-field/definition.js +1 -1
  322. package/text-field/index.cjs +1 -1
  323. package/text-field/index.js +1 -1
  324. package/time-picker/definition.cjs +4 -4
  325. package/time-picker/definition.js +2 -2
  326. package/time-picker/index.cjs +1 -1
  327. package/time-picker/index.js +1 -1
  328. package/toggletip/definition.cjs +5 -5
  329. package/toggletip/definition.js +1 -1
  330. package/toggletip/index.cjs +1 -1
  331. package/toggletip/index.js +1 -1
  332. package/tooltip/definition.cjs +5 -5
  333. package/tooltip/definition.js +1 -1
  334. package/tooltip/index.cjs +1 -1
  335. package/tooltip/index.js +1 -1
  336. package/tree-item/definition.cjs +5 -5
  337. package/tree-item/definition.js +2 -2
  338. package/tree-item/index.cjs +1 -1
  339. package/tree-item/index.js +1 -1
  340. package/tree-view/definition.cjs +5 -5
  341. package/tree-view/definition.js +2 -2
  342. package/tree-view/index.cjs +1 -1
  343. package/tree-view/index.js +1 -1
  344. package/unbundled/definition11.cjs +6 -0
  345. package/unbundled/definition11.js +6 -0
  346. package/unbundled/definition14.cjs +1 -0
  347. package/unbundled/definition14.js +1 -0
  348. package/unbundled/definition2.cjs +5 -75
  349. package/unbundled/definition2.js +1 -71
  350. package/unbundled/definition28.cjs +1 -0
  351. package/unbundled/definition28.js +1 -0
  352. package/unbundled/definition31.cjs +2 -1189
  353. package/unbundled/definition31.js +1 -1188
  354. package/unbundled/definition32.cjs +207 -1835
  355. package/unbundled/definition32.js +203 -1807
  356. package/unbundled/definition33.cjs +83 -311
  357. package/unbundled/definition33.js +79 -235
  358. package/unbundled/definition34.cjs +1887 -25
  359. package/unbundled/definition34.js +1857 -24
  360. package/unbundled/definition35.cjs +315 -121
  361. package/unbundled/definition35.js +236 -114
  362. package/unbundled/definition36.cjs +25 -405
  363. package/unbundled/definition36.js +22 -397
  364. package/unbundled/definition37.cjs +47 -142
  365. package/unbundled/definition37.js +44 -139
  366. package/unbundled/definition38.cjs +345 -330
  367. package/unbundled/definition38.js +343 -328
  368. package/unbundled/definition39.cjs +183 -235
  369. package/unbundled/definition39.js +181 -233
  370. package/unbundled/definition40.cjs +377 -47
  371. package/unbundled/definition40.js +372 -42
  372. package/unbundled/definition41.cjs +256 -57
  373. package/unbundled/definition41.js +255 -56
  374. package/unbundled/definition42.cjs +45 -432
  375. package/unbundled/definition42.js +41 -428
  376. package/unbundled/definition43.cjs +63 -49
  377. package/unbundled/definition43.js +61 -47
  378. package/unbundled/definition44.cjs +438 -30
  379. package/unbundled/definition44.js +434 -25
  380. package/unbundled/definition45.cjs +46 -84
  381. package/unbundled/definition45.js +43 -81
  382. package/unbundled/definition46.cjs +29 -54
  383. package/unbundled/definition46.js +24 -50
  384. package/unbundled/definition47.cjs +93 -21
  385. package/unbundled/definition47.js +91 -16
  386. package/unbundled/definition48.cjs +49 -33
  387. package/unbundled/definition48.js +46 -30
  388. package/unbundled/definition49.cjs +22 -347
  389. package/unbundled/definition49.js +16 -344
  390. package/unbundled/definition50.cjs +34 -211
  391. package/unbundled/definition50.js +30 -207
  392. package/unbundled/definition51.cjs +282 -242
  393. package/unbundled/definition51.js +275 -235
  394. package/unbundled/definition52.cjs +211 -51
  395. package/unbundled/definition52.js +209 -48
  396. package/unbundled/definition53.cjs +275 -131
  397. package/unbundled/definition53.js +272 -127
  398. package/unbundled/definition54.cjs +50 -261
  399. package/unbundled/definition54.js +48 -260
  400. package/unbundled/definition55.cjs +126 -443
  401. package/unbundled/definition55.js +123 -441
  402. package/unbundled/definition56.cjs +234 -3596
  403. package/unbundled/definition56.js +229 -3428
  404. package/unbundled/definition57.cjs +407 -728
  405. package/unbundled/definition57.js +405 -726
  406. package/unbundled/definition58.cjs +3618 -106
  407. package/unbundled/definition58.js +3449 -100
  408. package/unbundled/definition59.cjs +624 -868
  409. package/unbundled/definition59.js +619 -863
  410. package/unbundled/definition60.cjs +106 -108
  411. package/unbundled/definition60.js +102 -104
  412. package/unbundled/definition61.cjs +1040 -71
  413. package/unbundled/definition61.js +1035 -65
  414. package/unbundled/definition62.cjs +105 -169
  415. package/unbundled/definition62.js +101 -165
  416. package/unbundled/definition63.cjs +70 -113
  417. package/unbundled/definition63.js +65 -109
  418. package/unbundled/definition64.cjs +181 -53
  419. package/unbundled/definition64.js +178 -50
  420. package/unbundled/definition65.cjs +109 -76
  421. package/unbundled/definition65.js +109 -75
  422. package/unbundled/definition66.cjs +58 -21
  423. package/unbundled/definition66.js +55 -15
  424. package/unbundled/definition67.cjs +81 -74
  425. package/unbundled/definition67.js +79 -73
  426. package/unbundled/definition68.cjs +19 -344
  427. package/unbundled/definition68.js +14 -335
  428. package/unbundled/definition69.cjs +88 -26
  429. package/unbundled/definition69.js +85 -22
  430. package/unbundled/definition7.cjs +18 -3
  431. package/unbundled/definition7.js +18 -3
  432. package/unbundled/definition70.cjs +330 -111
  433. package/unbundled/definition70.js +320 -108
  434. package/unbundled/definition71.cjs +26 -271
  435. package/unbundled/definition71.js +21 -267
  436. package/unbundled/definition72.cjs +134 -27
  437. package/unbundled/definition72.js +125 -25
  438. package/unbundled/definition73.cjs +245 -113
  439. package/unbundled/definition73.js +242 -104
  440. package/unbundled/definition74.cjs +28 -212
  441. package/unbundled/definition74.js +26 -202
  442. package/unbundled/definition75.cjs +117 -479
  443. package/unbundled/definition75.js +109 -475
  444. package/unbundled/definition76.cjs +232 -0
  445. package/unbundled/definition76.js +213 -0
  446. package/unbundled/definition77.cjs +533 -0
  447. package/unbundled/definition77.js +513 -0
  448. package/unbundled/numberConverter.cjs +91 -0
  449. package/unbundled/numberConverter.js +74 -0
  450. package/unbundled/picker-field.template.cjs +2 -0
  451. package/unbundled/picker-field.template.js +2 -0
  452. package/unbundled/utils.cjs +1439 -0
  453. package/unbundled/utils.js +1428 -0
  454. package/unbundled/vivid-element.cjs +1 -1
  455. package/unbundled/vivid-element.js +1 -1
  456. package/video-player/definition.cjs +1 -1
  457. package/video-player/definition.js +1 -1
  458. package/vivid.api.json +513 -0
  459. /package/{lib/icon/icon.placeholder.d.ts → shared/icon/icon-placeholder.d.ts} +0 -0
@@ -1,149 +1,147 @@
1
1
  require("./chunk.cjs");
2
2
  const require_vivid_element = require("./vivid-element.cjs");
3
3
  const require_decorate = require("./decorate.cjs");
4
- const require_delegates_aria = require("./delegates-aria.cjs");
5
- const require_enums = require("./enums.cjs");
6
- const require_definition = require("./definition23.cjs");
7
- const require_definition$1 = require("./definition53.cjs");
4
+ const require_slottable_request = require("./slottable-request.cjs");
8
5
  let _microsoft_fast_element = require("@microsoft/fast-element");
9
- let _microsoft_fast_web_utilities = require("@microsoft/fast-web-utilities");
10
- //#region src/lib/selectable-box/selectable-box.scss?inline
11
- var selectable_box_default = ":host{display:flex}.base.connotation-cta{--_connotation-color-firm-all:var(--vvd-selectable-box-cta-firm-all,var(--vvd-color-cta-600));--_connotation-color-pale:var(--vvd-selectable-box-cta-pale,var(--vvd-color-cta-300));--_connotation-color-fierce:var(--vvd-selectable-box-cta-fierce,var(--vvd-color-cta-700));--_connotation-color-faint:var(--vvd-selectable-box-cta-faint,var(--vvd-color-cta-50));--_connotation-color-soft:var(--vvd-selectable-box-cta-soft,var(--vvd-color-cta-100))}.base:not(.connotation-cta){--_connotation-color-firm-all:var(--vvd-selectable-box-accent-firm-all,var(--vvd-color-neutral-600));--_connotation-color-pale:var(--vvd-selectable-box-accent-pale,var(--vvd-color-neutral-300));--_connotation-color-fierce:var(--vvd-selectable-box-accent-fierce,var(--vvd-color-neutral-700));--_connotation-color-faint:var(--vvd-selectable-box-accent-faint,var(--vvd-color-neutral-50));--_connotation-color-soft:var(--vvd-selectable-box-accent-soft,var(--vvd-color-neutral-100))}.base{--_appearance-color-text:var(--_connotation-color-firm-all);--_appearance-color-fill:transparent;--_appearance-color-outline:var(--_connotation-color-pale)}@media (hover:hover){.base:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text:var(--_connotation-color-firm-all);--_appearance-color-fill:transparent;--_appearance-color-outline:var(--_connotation-color-firm-all)}}.base.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text:var(--_connotation-color-firm-all);--_appearance-color-fill:transparent;--_appearance-color-outline:var(--_connotation-color-firm-all)}.base.selected:where(:not(.disabled,:disabled)){--_appearance-color-text:var(--_connotation-color-firm-all);--_appearance-color-fill:var(--_connotation-color-soft);--_appearance-color-outline:var(--_connotation-color-pale)}@media (hover:hover){.base.selected:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text:var(--_connotation-color-firm-all);--_appearance-color-fill:var(--_connotation-color-faint);--_appearance-color-outline:var(--_connotation-color-firm-all)}}.base.selected.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text:var(--_connotation-color-firm-all);--_appearance-color-fill:var(--_connotation-color-faint);--_appearance-color-outline:var(--_connotation-color-firm-all)}.base:disabled,.base.disabled{--_appearance-color-text:var(--vvd-color-neutral-300);--_appearance-color-fill:transparent;--_appearance-color-outline:var(--vvd-color-neutral-100)}.base{--control-offset:calc(var(--selectable-box-spacing,16px) + 36px);padding:var(--selectable-box-spacing,16px);border:1px solid var(--_appearance-color-outline);background-color:var(--_appearance-color-fill);text-align:start;border-radius:8px;inline-size:100%;position:relative}.base.control-placement-end-stacked,.base.control-placement-start-stacked{padding-block-start:var(--control-offset)}.base.control-placement-start{padding-inline-start:var(--control-offset)}.base.control-placement-end{padding-inline-end:var(--control-offset)}.base:focus-visible{--focus-stroke-gap-color:transparent;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))}.base.tight{min-height:calc(var(--selectable-box-spacing,16px) * 2 + 22px);padding:0;overflow:hidden}.base.selected{background-color:var(--selectable-box-checked-bg,var(--_appearance-color-fill))}.base.clickable{cursor:pointer}.control{position:absolute;inset-block-start:var(--selectable-box-spacing,16px)}.control.start-stacked,.control.start{inset-inline-start:var(--selectable-box-spacing,16px)}.control.end-stacked,.control.end{inset-inline-end:var(--selectable-box-spacing,16px)}";
6
+ let prosemirror_model = require("prosemirror-model");
7
+ //#region src/lib/rich-text-view/rich-text-view.scss?inline
8
+ var rich_text_view_default = ":host{display:contents}.content{overflow-wrap:break-word;white-space:break-spaces;display:contents}";
12
9
  //#endregion
13
- //#region src/lib/selectable-box/selectable-box.ts
10
+ //#region src/lib/rich-text-view/rich-text-view.ts
14
11
  /**
15
12
  * @public
16
- * @component selectable-box
17
- * @slot default - Slot for box's content.
18
- * @event {CustomEvent<undefined>} change - Fired when the checked state changes
19
- * @testAction check check #control
20
- * @testAction uncheck uncheck #control
21
- * @testQuery checked checked true
22
- * @testQuery unchecked checked false
23
- * @testRef control nestedShadow [data-vvd-component].control div.control
13
+ * @component rich-text-view
14
+ * @dynamicSlot `@vonage/vivid#RteChildSlotProps` child - Used for custom rendered children.
24
15
  */
25
- var SelectableBox = class extends require_delegates_aria.DelegatesAria(require_vivid_element.VividElement) {
16
+ var RichTextView = class extends require_vivid_element.VividElement {
26
17
  constructor(..._args) {
27
18
  super(..._args);
28
- this.checked = false;
29
- this.clickableBox = false;
30
- this.controlPlacement = "end-stacked";
31
- this.tight = false;
32
- this.disabled = false;
19
+ this._slotCounter = 0;
20
+ this._slottedChildren = /* @__PURE__ */ new Set();
21
+ this._slotRequests = /* @__PURE__ */ new Set();
22
+ this._contentElement = null;
33
23
  }
34
24
  /**
35
25
  * @internal
36
26
  */
37
- _handleCheckedChange() {
38
- if (this.disabled) return;
39
- if (this.controlType === "radio" && this.checked) return;
40
- this.checked = !this.checked;
41
- if (this.clickableBox) this.$emit("change");
27
+ viewChanged(oldView, newView) {
28
+ if (oldView) this._removeStyles();
29
+ if (newView) this._addStyles(newView);
30
+ this._updateView();
31
+ }
32
+ _addStyles(view) {
33
+ const config = view[require_slottable_request.impl].config[require_slottable_request.impl];
34
+ this._styles = new _microsoft_fast_element.ElementStyles(require_slottable_request.sortedContributions(config.features.flatMap((f) => f.getStyles())));
35
+ this._styles.addStylesTo(this.shadowRoot);
36
+ }
37
+ _removeStyles() {
38
+ if (this._styles) {
39
+ this._styles.removeStylesFrom(this.shadowRoot);
40
+ this._styles = void 0;
41
+ }
42
+ }
43
+ _cleanupLightDom() {
44
+ for (const el of this._slottedChildren) this.removeChild(el);
45
+ for (const slotName of this._slotRequests) require_slottable_request.dispatchSlottableRequest(this, "child", slotName, require_slottable_request.removeSymbol);
46
+ this._slottedChildren.clear();
47
+ this._slotRequests.clear();
48
+ this._slotCounter = 0;
49
+ }
50
+ _updateView() {
51
+ if (!this._contentElement) return;
52
+ this._contentElement.innerHTML = "";
53
+ this._cleanupLightDom();
54
+ if (this.view) this._contentElement.appendChild(this._renderView(this.view));
55
+ }
56
+ _renderView(rteView) {
57
+ const ctx = rteView[require_slottable_request.impl];
58
+ if (rteView.type === "node" && rteView.node.type === "doc") rteView = rteView.children;
59
+ if (rteView.type === "fragment") {
60
+ const frag = document.createDocumentFragment();
61
+ for (const child of rteView.content) frag.appendChild(this._renderView(child));
62
+ return frag;
63
+ }
64
+ const customRenderedView = ctx.options.renderChildView?.(rteView) ?? false;
65
+ if (customRenderedView) return this._handleCustomRender(rteView, customRenderedView);
66
+ else return this._renderDefault(rteView);
67
+ }
68
+ _handleCustomRender(rteView, customResult) {
69
+ const slotName = `child-view-${this._slotCounter++}`;
70
+ const slot = document.createElement("slot");
71
+ slot.setAttribute("name", slotName);
72
+ if (customResult === true) {
73
+ this._slotRequests.add(slotName);
74
+ require_slottable_request.dispatchSlottableRequest(this, "child", slotName, { view: rteView });
75
+ } else {
76
+ const { dom, contentDom = dom } = customResult;
77
+ const nestedView = document.createElement(this.tagName);
78
+ nestedView.view = rteView.children;
79
+ contentDom.appendChild(nestedView);
80
+ dom.setAttribute("slot", slotName);
81
+ this.appendChild(dom);
82
+ this._slottedChildren.add(dom);
83
+ }
84
+ return slot;
85
+ }
86
+ _renderDefault(view) {
87
+ const schema = view[require_slottable_request.impl].config[require_slottable_request.impl].schema;
88
+ if (view.type === "node" && view.node.type === "text") return document.createTextNode(view.node.text);
89
+ const item = view.type === "node" ? view.node : view.mark;
90
+ const pmItem = view.type === "node" ? prosemirror_model.Node.fromJSON(schema, item) : prosemirror_model.Mark.fromJSON(schema, item);
91
+ const spec = pmItem instanceof prosemirror_model.Node ? pmItem.type.spec.toDOM(pmItem) : pmItem.type.spec.toDOM(pmItem, true);
92
+ const { dom, contentDOM = dom } = prosemirror_model.DOMSerializer.renderSpec(document, spec);
93
+ const childrenRendered = this._renderView(view.children);
94
+ contentDOM.appendChild(childrenRendered);
95
+ return dom;
42
96
  }
43
97
  /**
44
98
  * @internal
45
99
  */
46
- _handleKeydown(event) {
47
- if (this.disabled) return true;
48
- if ((event.code === "Space" || event.code === "Enter") && this.clickableBox) return this._handleCheckedChange();
49
- return true;
100
+ connectedCallback() {
101
+ super.connectedCallback();
102
+ this._updateView();
103
+ }
104
+ /**
105
+ * @internal
106
+ */
107
+ disconnectedCallback() {
108
+ super.disconnectedCallback();
109
+ this._removeStyles();
110
+ this._cleanupLightDom();
50
111
  }
51
112
  };
52
- require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ mode: "boolean" })], SelectableBox.prototype, "checked", void 0);
53
- require_decorate.__decorate([(0, _microsoft_fast_element.attr)({
54
- attribute: "clickable-box",
55
- mode: "boolean"
56
- })], SelectableBox.prototype, "clickableBox", void 0);
57
- require_decorate.__decorate([_microsoft_fast_element.attr], SelectableBox.prototype, "connotation", void 0);
58
- require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ attribute: "control-type" })], SelectableBox.prototype, "controlType", void 0);
59
- require_decorate.__decorate([(0, _microsoft_fast_element.attr)({
60
- attribute: "control-placement",
61
- mode: "fromView"
62
- })], SelectableBox.prototype, "controlPlacement", void 0);
63
- require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ mode: "boolean" })], SelectableBox.prototype, "tight", void 0);
64
- require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ mode: "boolean" })], SelectableBox.prototype, "disabled", void 0);
113
+ require_decorate.__decorate([_microsoft_fast_element.observable], RichTextView.prototype, "view", void 0);
65
114
  //#endregion
66
- //#region src/lib/selectable-box/selectable-box.template.ts
67
- var getClasses = ({ connotation, tight, checked, clickableBox, controlPlacement, disabled }) => (0, _microsoft_fast_web_utilities.classNames)("base", [`connotation-${connotation}`, Boolean(connotation)], ["tight", tight], ["selected", checked], ["clickable", clickableBox], ["readonly", !clickableBox], [`control-placement-${controlPlacement}`, Boolean(controlPlacement)], ["disabled", disabled]);
68
- function handleControlChange(x) {
69
- if (!x.clickableBox) x._handleCheckedChange();
70
- }
71
- function checkbox(context) {
72
- const checkboxTag = context.tagFor(require_definition.Checkbox);
73
- return _microsoft_fast_element.html`${(0, _microsoft_fast_element.when)((x) => x.controlType !== "radio", _microsoft_fast_element.html`
74
- <${checkboxTag}
75
- ${require_delegates_aria.delegateAria({ ariaLabel: (x) => !x.clickableBox && x.ariaLabel ? x.ariaLabel : null }, { onlySpecified: true })}
76
- @change="${(x) => handleControlChange(x)}"
77
- class="control checkbox ${(x) => x.controlPlacement}"
78
- connotation="${(x) => x.connotation === "cta" ? require_enums.Connotation.CTA : require_enums.Connotation.Accent}"
79
- :checked="${(x) => x.checked}"
80
- ?disabled="${(x) => x.disabled}"
81
- inert="${(x) => x.clickableBox ? true : null}"
82
- ></${checkboxTag}>`)} `;
83
- }
84
- function radio(context) {
85
- const radioTag = context.tagFor(require_definition$1.Radio);
86
- return _microsoft_fast_element.html`${(0, _microsoft_fast_element.when)((x) => x.controlType === "radio", _microsoft_fast_element.html`
87
- <${radioTag}
88
- ${require_delegates_aria.delegateAria({ ariaLabel: (x) => !x.clickableBox && x.ariaLabel ? x.ariaLabel : null }, { onlySpecified: true })}
89
- @change="${(x) => handleControlChange(x)}"
90
- class="control radio ${(x) => x.controlPlacement}"
91
- connotation="${(x) => x.connotation === "cta" ? require_enums.Connotation.CTA : require_enums.Connotation.Accent}"
92
- :checked="${(x) => x.checked}"
93
- ?disabled="${(x) => x.disabled}"
94
- inert="${(x) => x.clickableBox ? true : null}"
95
- ></${radioTag}>`)} `;
96
- }
97
- var SelectableBoxTemplate = (context) => {
98
- return _microsoft_fast_element.html`<template>
99
- <div
100
- class="${getClasses}"
101
- tabindex="${(x) => x.clickableBox && !x.disabled ? "0" : null}"
102
- ${require_delegates_aria.delegateAria({
103
- role: (x) => x.clickableBox ? "button" : null,
104
- ariaPressed: (x) => x.clickableBox ? x.checked ? "true" : "false" : null,
105
- ariaLabel: (x) => x.clickableBox ? x.ariaLabel : null,
106
- ariaDisabled: (x) => x.clickableBox && x.disabled ? "true" : null
107
- })}
108
- @keydown="${(x, c) => x._handleKeydown(c.event)}"
109
- @click="${(x) => x.clickableBox ? x._handleCheckedChange() : null}"
110
- >
111
- ${checkbox(context)} ${radio(context)}
112
- <slot></slot>
113
- </div>
114
- </template>`;
115
- };
115
+ //#region src/lib/rich-text-view/rich-text-view.template.ts
116
+ var RichTextViewTemplate = () => _microsoft_fast_element.html`<div class="content rich-text" ${(0, _microsoft_fast_element.ref)("_contentElement")}></div>`;
116
117
  //#endregion
117
- //#region src/lib/selectable-box/definition.ts
118
- /**
119
- * @internal
120
- */
121
- var selectableBoxDefinition = require_vivid_element.defineVividComponent("selectable-box", SelectableBox, SelectableBoxTemplate, [require_definition.checkboxDefinition, require_definition$1.radioDefinition], {
122
- styles: selectable_box_default,
118
+ //#region src/lib/rich-text-view/definition.ts
119
+ var richTextViewDefinition = require_vivid_element.defineVividComponent("rich-text-view", RichTextView, RichTextViewTemplate, [], {
120
+ styles: rich_text_view_default,
123
121
  shadowOptions: { delegatesFocus: true }
124
122
  });
125
123
  /**
126
- * Registers the selectable-box element with the design system.
124
+ * Registers the rich-text-view element with the design system.
127
125
  *
128
126
  * @param prefix - the prefix to use for the component name
129
127
  */
130
- var registerSelectableBox = require_vivid_element.createRegisterFunction(selectableBoxDefinition);
128
+ var registerRichTextView = require_vivid_element.createRegisterFunction(richTextViewDefinition);
131
129
  //#endregion
132
- Object.defineProperty(exports, "SelectableBox", {
130
+ Object.defineProperty(exports, "RichTextView", {
133
131
  enumerable: true,
134
132
  get: function() {
135
- return SelectableBox;
133
+ return RichTextView;
136
134
  }
137
135
  });
138
- Object.defineProperty(exports, "registerSelectableBox", {
136
+ Object.defineProperty(exports, "registerRichTextView", {
139
137
  enumerable: true,
140
138
  get: function() {
141
- return registerSelectableBox;
139
+ return registerRichTextView;
142
140
  }
143
141
  });
144
- Object.defineProperty(exports, "selectableBoxDefinition", {
142
+ Object.defineProperty(exports, "richTextViewDefinition", {
145
143
  enumerable: true,
146
144
  get: function() {
147
- return selectableBoxDefinition;
145
+ return richTextViewDefinition;
148
146
  }
149
147
  });
@@ -1,131 +1,129 @@
1
1
  import { o as defineVividComponent, s as createRegisterFunction, t as VividElement } from "./vivid-element.js";
2
2
  import { t as __decorate } from "./decorate.js";
3
- import { n as delegateAria, t as DelegatesAria } from "./delegates-aria.js";
4
- import { r as Connotation } from "./enums.js";
5
- import { r as Checkbox, t as checkboxDefinition } from "./definition23.js";
6
- import { r as Radio, t as radioDefinition } from "./definition53.js";
7
- import { attr, html, when } from "@microsoft/fast-element";
8
- import { classNames } from "@microsoft/fast-web-utilities";
9
- //#region src/lib/selectable-box/selectable-box.scss?inline
10
- var selectable_box_default = ":host{display:flex}.base.connotation-cta{--_connotation-color-firm-all:var(--vvd-selectable-box-cta-firm-all,var(--vvd-color-cta-600));--_connotation-color-pale:var(--vvd-selectable-box-cta-pale,var(--vvd-color-cta-300));--_connotation-color-fierce:var(--vvd-selectable-box-cta-fierce,var(--vvd-color-cta-700));--_connotation-color-faint:var(--vvd-selectable-box-cta-faint,var(--vvd-color-cta-50));--_connotation-color-soft:var(--vvd-selectable-box-cta-soft,var(--vvd-color-cta-100))}.base:not(.connotation-cta){--_connotation-color-firm-all:var(--vvd-selectable-box-accent-firm-all,var(--vvd-color-neutral-600));--_connotation-color-pale:var(--vvd-selectable-box-accent-pale,var(--vvd-color-neutral-300));--_connotation-color-fierce:var(--vvd-selectable-box-accent-fierce,var(--vvd-color-neutral-700));--_connotation-color-faint:var(--vvd-selectable-box-accent-faint,var(--vvd-color-neutral-50));--_connotation-color-soft:var(--vvd-selectable-box-accent-soft,var(--vvd-color-neutral-100))}.base{--_appearance-color-text:var(--_connotation-color-firm-all);--_appearance-color-fill:transparent;--_appearance-color-outline:var(--_connotation-color-pale)}@media (hover:hover){.base:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text:var(--_connotation-color-firm-all);--_appearance-color-fill:transparent;--_appearance-color-outline:var(--_connotation-color-firm-all)}}.base.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text:var(--_connotation-color-firm-all);--_appearance-color-fill:transparent;--_appearance-color-outline:var(--_connotation-color-firm-all)}.base.selected:where(:not(.disabled,:disabled)){--_appearance-color-text:var(--_connotation-color-firm-all);--_appearance-color-fill:var(--_connotation-color-soft);--_appearance-color-outline:var(--_connotation-color-pale)}@media (hover:hover){.base.selected:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text:var(--_connotation-color-firm-all);--_appearance-color-fill:var(--_connotation-color-faint);--_appearance-color-outline:var(--_connotation-color-firm-all)}}.base.selected.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text:var(--_connotation-color-firm-all);--_appearance-color-fill:var(--_connotation-color-faint);--_appearance-color-outline:var(--_connotation-color-firm-all)}.base:disabled,.base.disabled{--_appearance-color-text:var(--vvd-color-neutral-300);--_appearance-color-fill:transparent;--_appearance-color-outline:var(--vvd-color-neutral-100)}.base{--control-offset:calc(var(--selectable-box-spacing,16px) + 36px);padding:var(--selectable-box-spacing,16px);border:1px solid var(--_appearance-color-outline);background-color:var(--_appearance-color-fill);text-align:start;border-radius:8px;inline-size:100%;position:relative}.base.control-placement-end-stacked,.base.control-placement-start-stacked{padding-block-start:var(--control-offset)}.base.control-placement-start{padding-inline-start:var(--control-offset)}.base.control-placement-end{padding-inline-end:var(--control-offset)}.base:focus-visible{--focus-stroke-gap-color:transparent;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))}.base.tight{min-height:calc(var(--selectable-box-spacing,16px) * 2 + 22px);padding:0;overflow:hidden}.base.selected{background-color:var(--selectable-box-checked-bg,var(--_appearance-color-fill))}.base.clickable{cursor:pointer}.control{position:absolute;inset-block-start:var(--selectable-box-spacing,16px)}.control.start-stacked,.control.start{inset-inline-start:var(--selectable-box-spacing,16px)}.control.end-stacked,.control.end{inset-inline-end:var(--selectable-box-spacing,16px)}";
3
+ import { c as impl, n as removeSymbol, s as sortedContributions, t as dispatchSlottableRequest } from "./slottable-request.js";
4
+ import { ElementStyles, html, observable, ref } from "@microsoft/fast-element";
5
+ import { DOMSerializer, Mark, Node } from "prosemirror-model";
6
+ //#region src/lib/rich-text-view/rich-text-view.scss?inline
7
+ var rich_text_view_default = ":host{display:contents}.content{overflow-wrap:break-word;white-space:break-spaces;display:contents}";
11
8
  //#endregion
12
- //#region src/lib/selectable-box/selectable-box.ts
9
+ //#region src/lib/rich-text-view/rich-text-view.ts
13
10
  /**
14
11
  * @public
15
- * @component selectable-box
16
- * @slot default - Slot for box's content.
17
- * @event {CustomEvent<undefined>} change - Fired when the checked state changes
18
- * @testAction check check #control
19
- * @testAction uncheck uncheck #control
20
- * @testQuery checked checked true
21
- * @testQuery unchecked checked false
22
- * @testRef control nestedShadow [data-vvd-component].control div.control
12
+ * @component rich-text-view
13
+ * @dynamicSlot `@vonage/vivid#RteChildSlotProps` child - Used for custom rendered children.
23
14
  */
24
- var SelectableBox = class extends DelegatesAria(VividElement) {
15
+ var RichTextView = class extends VividElement {
25
16
  constructor(..._args) {
26
17
  super(..._args);
27
- this.checked = false;
28
- this.clickableBox = false;
29
- this.controlPlacement = "end-stacked";
30
- this.tight = false;
31
- this.disabled = false;
18
+ this._slotCounter = 0;
19
+ this._slottedChildren = /* @__PURE__ */ new Set();
20
+ this._slotRequests = /* @__PURE__ */ new Set();
21
+ this._contentElement = null;
32
22
  }
33
23
  /**
34
24
  * @internal
35
25
  */
36
- _handleCheckedChange() {
37
- if (this.disabled) return;
38
- if (this.controlType === "radio" && this.checked) return;
39
- this.checked = !this.checked;
40
- if (this.clickableBox) this.$emit("change");
26
+ viewChanged(oldView, newView) {
27
+ if (oldView) this._removeStyles();
28
+ if (newView) this._addStyles(newView);
29
+ this._updateView();
30
+ }
31
+ _addStyles(view) {
32
+ const config = view[impl].config[impl];
33
+ this._styles = new ElementStyles(sortedContributions(config.features.flatMap((f) => f.getStyles())));
34
+ this._styles.addStylesTo(this.shadowRoot);
35
+ }
36
+ _removeStyles() {
37
+ if (this._styles) {
38
+ this._styles.removeStylesFrom(this.shadowRoot);
39
+ this._styles = void 0;
40
+ }
41
+ }
42
+ _cleanupLightDom() {
43
+ for (const el of this._slottedChildren) this.removeChild(el);
44
+ for (const slotName of this._slotRequests) dispatchSlottableRequest(this, "child", slotName, removeSymbol);
45
+ this._slottedChildren.clear();
46
+ this._slotRequests.clear();
47
+ this._slotCounter = 0;
48
+ }
49
+ _updateView() {
50
+ if (!this._contentElement) return;
51
+ this._contentElement.innerHTML = "";
52
+ this._cleanupLightDom();
53
+ if (this.view) this._contentElement.appendChild(this._renderView(this.view));
54
+ }
55
+ _renderView(rteView) {
56
+ const ctx = rteView[impl];
57
+ if (rteView.type === "node" && rteView.node.type === "doc") rteView = rteView.children;
58
+ if (rteView.type === "fragment") {
59
+ const frag = document.createDocumentFragment();
60
+ for (const child of rteView.content) frag.appendChild(this._renderView(child));
61
+ return frag;
62
+ }
63
+ const customRenderedView = ctx.options.renderChildView?.(rteView) ?? false;
64
+ if (customRenderedView) return this._handleCustomRender(rteView, customRenderedView);
65
+ else return this._renderDefault(rteView);
66
+ }
67
+ _handleCustomRender(rteView, customResult) {
68
+ const slotName = `child-view-${this._slotCounter++}`;
69
+ const slot = document.createElement("slot");
70
+ slot.setAttribute("name", slotName);
71
+ if (customResult === true) {
72
+ this._slotRequests.add(slotName);
73
+ dispatchSlottableRequest(this, "child", slotName, { view: rteView });
74
+ } else {
75
+ const { dom, contentDom = dom } = customResult;
76
+ const nestedView = document.createElement(this.tagName);
77
+ nestedView.view = rteView.children;
78
+ contentDom.appendChild(nestedView);
79
+ dom.setAttribute("slot", slotName);
80
+ this.appendChild(dom);
81
+ this._slottedChildren.add(dom);
82
+ }
83
+ return slot;
84
+ }
85
+ _renderDefault(view) {
86
+ const schema = view[impl].config[impl].schema;
87
+ if (view.type === "node" && view.node.type === "text") return document.createTextNode(view.node.text);
88
+ const item = view.type === "node" ? view.node : view.mark;
89
+ const pmItem = view.type === "node" ? Node.fromJSON(schema, item) : Mark.fromJSON(schema, item);
90
+ const spec = pmItem instanceof Node ? pmItem.type.spec.toDOM(pmItem) : pmItem.type.spec.toDOM(pmItem, true);
91
+ const { dom, contentDOM = dom } = DOMSerializer.renderSpec(document, spec);
92
+ const childrenRendered = this._renderView(view.children);
93
+ contentDOM.appendChild(childrenRendered);
94
+ return dom;
41
95
  }
42
96
  /**
43
97
  * @internal
44
98
  */
45
- _handleKeydown(event) {
46
- if (this.disabled) return true;
47
- if ((event.code === "Space" || event.code === "Enter") && this.clickableBox) return this._handleCheckedChange();
48
- return true;
99
+ connectedCallback() {
100
+ super.connectedCallback();
101
+ this._updateView();
102
+ }
103
+ /**
104
+ * @internal
105
+ */
106
+ disconnectedCallback() {
107
+ super.disconnectedCallback();
108
+ this._removeStyles();
109
+ this._cleanupLightDom();
49
110
  }
50
111
  };
51
- __decorate([attr({ mode: "boolean" })], SelectableBox.prototype, "checked", void 0);
52
- __decorate([attr({
53
- attribute: "clickable-box",
54
- mode: "boolean"
55
- })], SelectableBox.prototype, "clickableBox", void 0);
56
- __decorate([attr], SelectableBox.prototype, "connotation", void 0);
57
- __decorate([attr({ attribute: "control-type" })], SelectableBox.prototype, "controlType", void 0);
58
- __decorate([attr({
59
- attribute: "control-placement",
60
- mode: "fromView"
61
- })], SelectableBox.prototype, "controlPlacement", void 0);
62
- __decorate([attr({ mode: "boolean" })], SelectableBox.prototype, "tight", void 0);
63
- __decorate([attr({ mode: "boolean" })], SelectableBox.prototype, "disabled", void 0);
112
+ __decorate([observable], RichTextView.prototype, "view", void 0);
64
113
  //#endregion
65
- //#region src/lib/selectable-box/selectable-box.template.ts
66
- var getClasses = ({ connotation, tight, checked, clickableBox, controlPlacement, disabled }) => classNames("base", [`connotation-${connotation}`, Boolean(connotation)], ["tight", tight], ["selected", checked], ["clickable", clickableBox], ["readonly", !clickableBox], [`control-placement-${controlPlacement}`, Boolean(controlPlacement)], ["disabled", disabled]);
67
- function handleControlChange(x) {
68
- if (!x.clickableBox) x._handleCheckedChange();
69
- }
70
- function checkbox(context) {
71
- const checkboxTag = context.tagFor(Checkbox);
72
- return html`${when((x) => x.controlType !== "radio", html`
73
- <${checkboxTag}
74
- ${delegateAria({ ariaLabel: (x) => !x.clickableBox && x.ariaLabel ? x.ariaLabel : null }, { onlySpecified: true })}
75
- @change="${(x) => handleControlChange(x)}"
76
- class="control checkbox ${(x) => x.controlPlacement}"
77
- connotation="${(x) => x.connotation === "cta" ? Connotation.CTA : Connotation.Accent}"
78
- :checked="${(x) => x.checked}"
79
- ?disabled="${(x) => x.disabled}"
80
- inert="${(x) => x.clickableBox ? true : null}"
81
- ></${checkboxTag}>`)} `;
82
- }
83
- function radio(context) {
84
- const radioTag = context.tagFor(Radio);
85
- return html`${when((x) => x.controlType === "radio", html`
86
- <${radioTag}
87
- ${delegateAria({ ariaLabel: (x) => !x.clickableBox && x.ariaLabel ? x.ariaLabel : null }, { onlySpecified: true })}
88
- @change="${(x) => handleControlChange(x)}"
89
- class="control radio ${(x) => x.controlPlacement}"
90
- connotation="${(x) => x.connotation === "cta" ? Connotation.CTA : Connotation.Accent}"
91
- :checked="${(x) => x.checked}"
92
- ?disabled="${(x) => x.disabled}"
93
- inert="${(x) => x.clickableBox ? true : null}"
94
- ></${radioTag}>`)} `;
95
- }
96
- var SelectableBoxTemplate = (context) => {
97
- return html`<template>
98
- <div
99
- class="${getClasses}"
100
- tabindex="${(x) => x.clickableBox && !x.disabled ? "0" : null}"
101
- ${delegateAria({
102
- role: (x) => x.clickableBox ? "button" : null,
103
- ariaPressed: (x) => x.clickableBox ? x.checked ? "true" : "false" : null,
104
- ariaLabel: (x) => x.clickableBox ? x.ariaLabel : null,
105
- ariaDisabled: (x) => x.clickableBox && x.disabled ? "true" : null
106
- })}
107
- @keydown="${(x, c) => x._handleKeydown(c.event)}"
108
- @click="${(x) => x.clickableBox ? x._handleCheckedChange() : null}"
109
- >
110
- ${checkbox(context)} ${radio(context)}
111
- <slot></slot>
112
- </div>
113
- </template>`;
114
- };
114
+ //#region src/lib/rich-text-view/rich-text-view.template.ts
115
+ var RichTextViewTemplate = () => html`<div class="content rich-text" ${ref("_contentElement")}></div>`;
115
116
  //#endregion
116
- //#region src/lib/selectable-box/definition.ts
117
- /**
118
- * @internal
119
- */
120
- var selectableBoxDefinition = defineVividComponent("selectable-box", SelectableBox, SelectableBoxTemplate, [checkboxDefinition, radioDefinition], {
121
- styles: selectable_box_default,
117
+ //#region src/lib/rich-text-view/definition.ts
118
+ var richTextViewDefinition = defineVividComponent("rich-text-view", RichTextView, RichTextViewTemplate, [], {
119
+ styles: rich_text_view_default,
122
120
  shadowOptions: { delegatesFocus: true }
123
121
  });
124
122
  /**
125
- * Registers the selectable-box element with the design system.
123
+ * Registers the rich-text-view element with the design system.
126
124
  *
127
125
  * @param prefix - the prefix to use for the component name
128
126
  */
129
- var registerSelectableBox = createRegisterFunction(selectableBoxDefinition);
127
+ var registerRichTextView = createRegisterFunction(richTextViewDefinition);
130
128
  //#endregion
131
- export { selectableBoxDefinition as n, SelectableBox as r, registerSelectableBox as t };
129
+ export { richTextViewDefinition as n, RichTextView as r, registerRichTextView as t };