@heartlandone/vega 2.63.0 → 2.63.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 (533) hide show
  1. package/dist/cjs/{app-globals-8f5fa42a.js → app-globals-2d0b157e.js} +85 -13
  2. package/dist/cjs/{code-block-eb66d852.js → code-block-cc740807.js} +12 -4
  3. package/dist/cjs/{component-global-style-slimmer-b0b4b997.js → component-global-style-slimmer-d5216fa7.js} +4 -0
  4. package/dist/cjs/{component-value-history-controller-slimmer.abstract-62cdf04c.js → component-value-history-controller-slimmer.abstract-0bb81172.js} +2 -2
  5. package/dist/cjs/country-flags-d4928e55.js +2403 -0
  6. package/dist/cjs/{dark-mode-style-controller-ab0703e1.js → dark-mode-style-controller-b1e9ec82.js} +7 -0
  7. package/dist/cjs/{design-token-76bb47bd.js → design-token-bf913c86.js} +1 -1
  8. package/dist/cjs/{dto-renderer-manager-f3894490.js → dto-renderer-manager-424c5031.js} +79 -3
  9. package/dist/cjs/{element-appender-slimmer-e8dac628.js → element-appender-slimmer-1d035b1f.js} +2 -2
  10. package/dist/cjs/{image-annotation-action-a628ec9b.js → image-annotation-action-f831e09b.js} +3 -3
  11. package/dist/cjs/index.cjs.js +11 -9
  12. package/dist/cjs/{language-extension-20a1dba5.js → language-extension-cfe0eabd.js} +7 -4
  13. package/dist/cjs/{legend-input-processor-b1f323fa.js → legend-input-processor-27c65353.js} +4 -4
  14. package/dist/cjs/loader.cjs.js +7 -6
  15. package/dist/cjs/{public-rules-5d0f3a5f.js → public-rules-7e9b633d.js} +6 -4
  16. package/dist/cjs/{range-cfc45f9e.js → range-44f08955.js} +1 -1
  17. package/dist/cjs/{responsive-format-facade-7e933525.js → responsive-format-facade-a7fbefc4.js} +4 -3
  18. package/dist/cjs/{rich-text-editor-required-rule-72170c10.js → rich-text-editor-required-rule-a0618c85.js} +1 -1
  19. package/dist/cjs/{style-formatter-702df81e.js → style-formatter-795451f2.js} +1 -1
  20. package/dist/cjs/{token-extension-23ccff1d.js → token-extension-4764d5f3.js} +3 -3
  21. package/dist/cjs/vega-accordion.cjs.entry.js +7 -6
  22. package/dist/cjs/vega-app-footer.cjs.entry.js +3 -1
  23. package/dist/cjs/vega-app-header-button.cjs.entry.js +8 -7
  24. package/dist/cjs/vega-bar-chart.cjs.entry.js +2 -2
  25. package/dist/cjs/vega-box.cjs.entry.js +15 -8
  26. package/dist/cjs/vega-brand-logo.cjs.entry.js +3 -1
  27. package/dist/cjs/vega-breadcrumb.cjs.entry.js +2 -1
  28. package/dist/cjs/vega-button-circle.cjs.entry.js +7 -6
  29. package/dist/cjs/vega-button.cjs.entry.js +6 -5
  30. package/dist/cjs/vega-calendar_4.cjs.entry.js +3 -2
  31. package/dist/cjs/vega-card.cjs.entry.js +7 -6
  32. package/dist/cjs/vega-carousel.cjs.entry.js +6 -5
  33. package/dist/cjs/vega-chip.cjs.entry.js +8 -7
  34. package/dist/cjs/vega-code-block.cjs.entry.js +258 -153
  35. package/dist/cjs/vega-date-picker_2.cjs.entry.js +7 -6
  36. package/dist/cjs/vega-dialog_2.cjs.entry.js +8 -7
  37. package/dist/cjs/vega-divider.cjs.entry.js +8 -7
  38. package/dist/cjs/vega-dropdown_5.cjs.entry.js +8 -7
  39. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  40. package/dist/cjs/vega-flag-icon.cjs.entry.js +10 -9
  41. package/dist/cjs/vega-flex.cjs.entry.js +9 -8
  42. package/dist/cjs/vega-font.cjs.entry.js +7 -6
  43. package/dist/cjs/vega-grid.cjs.entry.js +7 -6
  44. package/dist/cjs/vega-icon.cjs.entry.js +7 -6
  45. package/dist/cjs/vega-image-uploader.cjs.entry.js +20 -10
  46. package/dist/cjs/vega-input-credit-card.cjs.entry.js +1 -1
  47. package/dist/cjs/vega-input-phone-number.cjs.entry.js +5 -4
  48. package/dist/cjs/vega-input-select.cjs.entry.js +6 -5
  49. package/dist/cjs/vega-left-nav_5.cjs.entry.js +8 -7
  50. package/dist/cjs/vega-line-chart.cjs.entry.js +2 -2
  51. package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +7 -6
  52. package/dist/cjs/vega-nonce-manager-f927497f.js +103 -0
  53. package/dist/cjs/vega-pagination.cjs.entry.js +6 -5
  54. package/dist/cjs/vega-pie-chart.cjs.entry.js +1 -1
  55. package/dist/cjs/vega-popover_2.cjs.entry.js +8 -7
  56. package/dist/cjs/vega-rich-text-content.cjs.entry.js +5 -4
  57. package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +16 -12
  58. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +7 -6
  59. package/dist/cjs/vega-sidenav_3.cjs.entry.js +7 -6
  60. package/dist/cjs/vega-signature-capture.cjs.entry.js +14 -19
  61. package/dist/cjs/vega-table_8.cjs.entry.js +7 -6
  62. package/dist/cjs/vega-time-picker_2.cjs.entry.js +7 -6
  63. package/dist/cjs/vega-tooltip_2.cjs.entry.js +7 -6
  64. package/dist/cjs/vega.cjs.js +7 -6
  65. package/dist/cjs/{y-axis-input-processor-19a07af5.js → y-axis-input-processor-9fbfd5e7.js} +1 -1
  66. package/dist/collection/components/vega-box/slimmers/controllers/vega-box-responsive-style-controller.js +4 -0
  67. package/dist/collection/components/vega-box/slimmers/controllers/vega-box-state-styles-controller.js +4 -0
  68. package/dist/collection/components/vega-calendar/vega-calendar-event/slimmers/renderers/vega-calendar-event-renderer.js +2 -1
  69. package/dist/collection/components/vega-calendar/vega-calendar-event-preview/slimmers/renderers/vega-calendar-event-preview-detail-renderer.js +2 -1
  70. package/dist/collection/components/vega-code-block/slimmers/controllers/code-input-paste.abstract.js +65 -0
  71. package/dist/collection/components/vega-code-block/slimmers/controllers/vega-code-block-input-controller.js +3 -75
  72. package/dist/collection/components/vega-code-block/slimmers/controllers/vega-code-block-input-paste-controller.js +109 -0
  73. package/dist/collection/components/vega-code-block/vega-code-block.js +5 -0
  74. package/dist/collection/components/vega-flag-icon/assets/flags/ac.js +1 -1
  75. package/dist/collection/components/vega-flag-icon/assets/flags/ad.js +1 -1
  76. package/dist/collection/components/vega-flag-icon/assets/flags/ae.js +1 -1
  77. package/dist/collection/components/vega-flag-icon/assets/flags/af.js +1 -1
  78. package/dist/collection/components/vega-flag-icon/assets/flags/ag.js +1 -1
  79. package/dist/collection/components/vega-flag-icon/assets/flags/ai.js +1 -1
  80. package/dist/collection/components/vega-flag-icon/assets/flags/al.js +1 -1
  81. package/dist/collection/components/vega-flag-icon/assets/flags/am.js +1 -1
  82. package/dist/collection/components/vega-flag-icon/assets/flags/ao.js +1 -1
  83. package/dist/collection/components/vega-flag-icon/assets/flags/ar.js +1 -1
  84. package/dist/collection/components/vega-flag-icon/assets/flags/as.js +1 -1
  85. package/dist/collection/components/vega-flag-icon/assets/flags/at.js +1 -1
  86. package/dist/collection/components/vega-flag-icon/assets/flags/au.js +1 -1
  87. package/dist/collection/components/vega-flag-icon/assets/flags/aw.js +1 -1
  88. package/dist/collection/components/vega-flag-icon/assets/flags/ax.js +1 -1
  89. package/dist/collection/components/vega-flag-icon/assets/flags/az.js +1 -1
  90. package/dist/collection/components/vega-flag-icon/assets/flags/ba.js +1 -1
  91. package/dist/collection/components/vega-flag-icon/assets/flags/bb.js +1 -1
  92. package/dist/collection/components/vega-flag-icon/assets/flags/bd.js +1 -1
  93. package/dist/collection/components/vega-flag-icon/assets/flags/be.js +1 -1
  94. package/dist/collection/components/vega-flag-icon/assets/flags/bf.js +1 -1
  95. package/dist/collection/components/vega-flag-icon/assets/flags/bg.js +1 -1
  96. package/dist/collection/components/vega-flag-icon/assets/flags/bh.js +1 -1
  97. package/dist/collection/components/vega-flag-icon/assets/flags/bi.js +1 -1
  98. package/dist/collection/components/vega-flag-icon/assets/flags/bj.js +1 -1
  99. package/dist/collection/components/vega-flag-icon/assets/flags/bl.js +1 -1
  100. package/dist/collection/components/vega-flag-icon/assets/flags/bm.js +1 -1
  101. package/dist/collection/components/vega-flag-icon/assets/flags/bn.js +1 -1
  102. package/dist/collection/components/vega-flag-icon/assets/flags/bo.js +1 -1
  103. package/dist/collection/components/vega-flag-icon/assets/flags/bq.js +1 -1
  104. package/dist/collection/components/vega-flag-icon/assets/flags/br.js +1 -1
  105. package/dist/collection/components/vega-flag-icon/assets/flags/bs.js +1 -1
  106. package/dist/collection/components/vega-flag-icon/assets/flags/bt.js +1 -1
  107. package/dist/collection/components/vega-flag-icon/assets/flags/bw.js +1 -1
  108. package/dist/collection/components/vega-flag-icon/assets/flags/by.js +1 -1
  109. package/dist/collection/components/vega-flag-icon/assets/flags/bz.js +1 -1
  110. package/dist/collection/components/vega-flag-icon/assets/flags/ca.js +1 -1
  111. package/dist/collection/components/vega-flag-icon/assets/flags/cc.js +1 -1
  112. package/dist/collection/components/vega-flag-icon/assets/flags/cd.js +1 -1
  113. package/dist/collection/components/vega-flag-icon/assets/flags/cf.js +1 -1
  114. package/dist/collection/components/vega-flag-icon/assets/flags/cg.js +1 -1
  115. package/dist/collection/components/vega-flag-icon/assets/flags/ch.js +1 -1
  116. package/dist/collection/components/vega-flag-icon/assets/flags/ci.js +1 -1
  117. package/dist/collection/components/vega-flag-icon/assets/flags/ck.js +1 -1
  118. package/dist/collection/components/vega-flag-icon/assets/flags/cl.js +1 -1
  119. package/dist/collection/components/vega-flag-icon/assets/flags/cm.js +1 -1
  120. package/dist/collection/components/vega-flag-icon/assets/flags/cn.js +1 -1
  121. package/dist/collection/components/vega-flag-icon/assets/flags/co.js +1 -1
  122. package/dist/collection/components/vega-flag-icon/assets/flags/cr.js +1 -1
  123. package/dist/collection/components/vega-flag-icon/assets/flags/cu.js +1 -1
  124. package/dist/collection/components/vega-flag-icon/assets/flags/cv.js +1 -1
  125. package/dist/collection/components/vega-flag-icon/assets/flags/cw.js +1 -1
  126. package/dist/collection/components/vega-flag-icon/assets/flags/cx.js +1 -1
  127. package/dist/collection/components/vega-flag-icon/assets/flags/cy.js +1 -1
  128. package/dist/collection/components/vega-flag-icon/assets/flags/cz.js +1 -1
  129. package/dist/collection/components/vega-flag-icon/assets/flags/de.js +1 -1
  130. package/dist/collection/components/vega-flag-icon/assets/flags/dj.js +1 -1
  131. package/dist/collection/components/vega-flag-icon/assets/flags/dk.js +1 -1
  132. package/dist/collection/components/vega-flag-icon/assets/flags/dm.js +1 -1
  133. package/dist/collection/components/vega-flag-icon/assets/flags/do.js +1 -1
  134. package/dist/collection/components/vega-flag-icon/assets/flags/dz.js +1 -1
  135. package/dist/collection/components/vega-flag-icon/assets/flags/ec.js +1 -1
  136. package/dist/collection/components/vega-flag-icon/assets/flags/ee.js +1 -1
  137. package/dist/collection/components/vega-flag-icon/assets/flags/eg.js +1 -1
  138. package/dist/collection/components/vega-flag-icon/assets/flags/eh.js +1 -1
  139. package/dist/collection/components/vega-flag-icon/assets/flags/er.js +1 -1
  140. package/dist/collection/components/vega-flag-icon/assets/flags/es.js +1 -1
  141. package/dist/collection/components/vega-flag-icon/assets/flags/et.js +1 -1
  142. package/dist/collection/components/vega-flag-icon/assets/flags/fi.js +1 -1
  143. package/dist/collection/components/vega-flag-icon/assets/flags/fj.js +1 -1
  144. package/dist/collection/components/vega-flag-icon/assets/flags/fk.js +1 -1
  145. package/dist/collection/components/vega-flag-icon/assets/flags/fm.js +1 -1
  146. package/dist/collection/components/vega-flag-icon/assets/flags/fo.js +1 -1
  147. package/dist/collection/components/vega-flag-icon/assets/flags/fr.js +1 -1
  148. package/dist/collection/components/vega-flag-icon/assets/flags/ga.js +1 -1
  149. package/dist/collection/components/vega-flag-icon/assets/flags/gb.js +1 -1
  150. package/dist/collection/components/vega-flag-icon/assets/flags/gd.js +1 -1
  151. package/dist/collection/components/vega-flag-icon/assets/flags/ge.js +1 -1
  152. package/dist/collection/components/vega-flag-icon/assets/flags/gf.js +1 -1
  153. package/dist/collection/components/vega-flag-icon/assets/flags/gg.js +1 -1
  154. package/dist/collection/components/vega-flag-icon/assets/flags/gh.js +1 -1
  155. package/dist/collection/components/vega-flag-icon/assets/flags/gi.js +1 -1
  156. package/dist/collection/components/vega-flag-icon/assets/flags/gl.js +1 -1
  157. package/dist/collection/components/vega-flag-icon/assets/flags/gm.js +1 -1
  158. package/dist/collection/components/vega-flag-icon/assets/flags/gn.js +1 -1
  159. package/dist/collection/components/vega-flag-icon/assets/flags/gp.js +1 -1
  160. package/dist/collection/components/vega-flag-icon/assets/flags/gq.js +1 -1
  161. package/dist/collection/components/vega-flag-icon/assets/flags/gr.js +1 -1
  162. package/dist/collection/components/vega-flag-icon/assets/flags/gt.js +1 -1
  163. package/dist/collection/components/vega-flag-icon/assets/flags/gu.js +1 -1
  164. package/dist/collection/components/vega-flag-icon/assets/flags/gw.js +1 -1
  165. package/dist/collection/components/vega-flag-icon/assets/flags/gy.js +1 -1
  166. package/dist/collection/components/vega-flag-icon/assets/flags/hk.js +1 -1
  167. package/dist/collection/components/vega-flag-icon/assets/flags/hn.js +1 -1
  168. package/dist/collection/components/vega-flag-icon/assets/flags/hr.js +1 -1
  169. package/dist/collection/components/vega-flag-icon/assets/flags/ht.js +1 -1
  170. package/dist/collection/components/vega-flag-icon/assets/flags/hu.js +1 -1
  171. package/dist/collection/components/vega-flag-icon/assets/flags/id.js +1 -1
  172. package/dist/collection/components/vega-flag-icon/assets/flags/ie.js +1 -1
  173. package/dist/collection/components/vega-flag-icon/assets/flags/il.js +1 -1
  174. package/dist/collection/components/vega-flag-icon/assets/flags/im.js +1 -1
  175. package/dist/collection/components/vega-flag-icon/assets/flags/in.js +1 -1
  176. package/dist/collection/components/vega-flag-icon/assets/flags/io.js +1 -1
  177. package/dist/collection/components/vega-flag-icon/assets/flags/iq.js +1 -1
  178. package/dist/collection/components/vega-flag-icon/assets/flags/ir.js +1 -1
  179. package/dist/collection/components/vega-flag-icon/assets/flags/is.js +1 -1
  180. package/dist/collection/components/vega-flag-icon/assets/flags/it.js +1 -1
  181. package/dist/collection/components/vega-flag-icon/assets/flags/je.js +1 -1
  182. package/dist/collection/components/vega-flag-icon/assets/flags/jm.js +1 -1
  183. package/dist/collection/components/vega-flag-icon/assets/flags/jo.js +1 -1
  184. package/dist/collection/components/vega-flag-icon/assets/flags/jp.js +1 -1
  185. package/dist/collection/components/vega-flag-icon/assets/flags/ke.js +1 -1
  186. package/dist/collection/components/vega-flag-icon/assets/flags/kg.js +1 -1
  187. package/dist/collection/components/vega-flag-icon/assets/flags/kh.js +1 -1
  188. package/dist/collection/components/vega-flag-icon/assets/flags/ki.js +1 -1
  189. package/dist/collection/components/vega-flag-icon/assets/flags/km.js +1 -1
  190. package/dist/collection/components/vega-flag-icon/assets/flags/kn.js +1 -1
  191. package/dist/collection/components/vega-flag-icon/assets/flags/kp.js +1 -1
  192. package/dist/collection/components/vega-flag-icon/assets/flags/kr.js +1 -1
  193. package/dist/collection/components/vega-flag-icon/assets/flags/kw.js +1 -1
  194. package/dist/collection/components/vega-flag-icon/assets/flags/ky.js +1 -1
  195. package/dist/collection/components/vega-flag-icon/assets/flags/kz.js +1 -1
  196. package/dist/collection/components/vega-flag-icon/assets/flags/la.js +1 -1
  197. package/dist/collection/components/vega-flag-icon/assets/flags/lb.js +1 -1
  198. package/dist/collection/components/vega-flag-icon/assets/flags/lc.js +1 -1
  199. package/dist/collection/components/vega-flag-icon/assets/flags/li.js +1 -1
  200. package/dist/collection/components/vega-flag-icon/assets/flags/lk.js +1 -1
  201. package/dist/collection/components/vega-flag-icon/assets/flags/lr.js +1 -1
  202. package/dist/collection/components/vega-flag-icon/assets/flags/ls.js +1 -1
  203. package/dist/collection/components/vega-flag-icon/assets/flags/lt.js +1 -1
  204. package/dist/collection/components/vega-flag-icon/assets/flags/lu.js +1 -1
  205. package/dist/collection/components/vega-flag-icon/assets/flags/lv.js +1 -1
  206. package/dist/collection/components/vega-flag-icon/assets/flags/ly.js +1 -1
  207. package/dist/collection/components/vega-flag-icon/assets/flags/ma.js +1 -1
  208. package/dist/collection/components/vega-flag-icon/assets/flags/mc.js +1 -1
  209. package/dist/collection/components/vega-flag-icon/assets/flags/md.js +1 -1
  210. package/dist/collection/components/vega-flag-icon/assets/flags/me.js +1 -1
  211. package/dist/collection/components/vega-flag-icon/assets/flags/mf.js +1 -1
  212. package/dist/collection/components/vega-flag-icon/assets/flags/mg.js +1 -1
  213. package/dist/collection/components/vega-flag-icon/assets/flags/mh.js +1 -1
  214. package/dist/collection/components/vega-flag-icon/assets/flags/mk.js +1 -1
  215. package/dist/collection/components/vega-flag-icon/assets/flags/ml.js +1 -1
  216. package/dist/collection/components/vega-flag-icon/assets/flags/mm.js +1 -1
  217. package/dist/collection/components/vega-flag-icon/assets/flags/mn.js +1 -1
  218. package/dist/collection/components/vega-flag-icon/assets/flags/mo.js +1 -1
  219. package/dist/collection/components/vega-flag-icon/assets/flags/mp.js +1 -1
  220. package/dist/collection/components/vega-flag-icon/assets/flags/mq.js +1 -1
  221. package/dist/collection/components/vega-flag-icon/assets/flags/mr.js +1 -1
  222. package/dist/collection/components/vega-flag-icon/assets/flags/ms.js +1 -1
  223. package/dist/collection/components/vega-flag-icon/assets/flags/mt.js +1 -1
  224. package/dist/collection/components/vega-flag-icon/assets/flags/mu.js +1 -1
  225. package/dist/collection/components/vega-flag-icon/assets/flags/mv.js +1 -1
  226. package/dist/collection/components/vega-flag-icon/assets/flags/mw.js +1 -1
  227. package/dist/collection/components/vega-flag-icon/assets/flags/mx.js +1 -1
  228. package/dist/collection/components/vega-flag-icon/assets/flags/my.js +1 -1
  229. package/dist/collection/components/vega-flag-icon/assets/flags/mz.js +1 -1
  230. package/dist/collection/components/vega-flag-icon/assets/flags/na.js +1 -1
  231. package/dist/collection/components/vega-flag-icon/assets/flags/nc.js +1 -1
  232. package/dist/collection/components/vega-flag-icon/assets/flags/ne.js +1 -1
  233. package/dist/collection/components/vega-flag-icon/assets/flags/nf.js +1 -1
  234. package/dist/collection/components/vega-flag-icon/assets/flags/ng.js +1 -1
  235. package/dist/collection/components/vega-flag-icon/assets/flags/ni.js +1 -1
  236. package/dist/collection/components/vega-flag-icon/assets/flags/nl.js +1 -1
  237. package/dist/collection/components/vega-flag-icon/assets/flags/no.js +1 -1
  238. package/dist/collection/components/vega-flag-icon/assets/flags/np.js +1 -1
  239. package/dist/collection/components/vega-flag-icon/assets/flags/nr.js +1 -1
  240. package/dist/collection/components/vega-flag-icon/assets/flags/nu.js +1 -1
  241. package/dist/collection/components/vega-flag-icon/assets/flags/nz.js +1 -1
  242. package/dist/collection/components/vega-flag-icon/assets/flags/om.js +1 -1
  243. package/dist/collection/components/vega-flag-icon/assets/flags/pa.js +1 -1
  244. package/dist/collection/components/vega-flag-icon/assets/flags/pe.js +1 -1
  245. package/dist/collection/components/vega-flag-icon/assets/flags/pf.js +1 -1
  246. package/dist/collection/components/vega-flag-icon/assets/flags/pg.js +1 -1
  247. package/dist/collection/components/vega-flag-icon/assets/flags/ph.js +1 -1
  248. package/dist/collection/components/vega-flag-icon/assets/flags/pk.js +1 -1
  249. package/dist/collection/components/vega-flag-icon/assets/flags/pl.js +1 -1
  250. package/dist/collection/components/vega-flag-icon/assets/flags/pm.js +1 -1
  251. package/dist/collection/components/vega-flag-icon/assets/flags/pr.js +1 -1
  252. package/dist/collection/components/vega-flag-icon/assets/flags/ps.js +1 -1
  253. package/dist/collection/components/vega-flag-icon/assets/flags/pt.js +1 -1
  254. package/dist/collection/components/vega-flag-icon/assets/flags/pw.js +1 -1
  255. package/dist/collection/components/vega-flag-icon/assets/flags/py.js +1 -1
  256. package/dist/collection/components/vega-flag-icon/assets/flags/qa.js +1 -1
  257. package/dist/collection/components/vega-flag-icon/assets/flags/re.js +1 -1
  258. package/dist/collection/components/vega-flag-icon/assets/flags/ro.js +1 -1
  259. package/dist/collection/components/vega-flag-icon/assets/flags/rs.js +1 -1
  260. package/dist/collection/components/vega-flag-icon/assets/flags/ru.js +1 -1
  261. package/dist/collection/components/vega-flag-icon/assets/flags/rw.js +1 -1
  262. package/dist/collection/components/vega-flag-icon/assets/flags/sa.js +1 -1
  263. package/dist/collection/components/vega-flag-icon/assets/flags/sb.js +1 -1
  264. package/dist/collection/components/vega-flag-icon/assets/flags/sc.js +1 -1
  265. package/dist/collection/components/vega-flag-icon/assets/flags/sd.js +1 -1
  266. package/dist/collection/components/vega-flag-icon/assets/flags/se.js +1 -1
  267. package/dist/collection/components/vega-flag-icon/assets/flags/sg.js +1 -1
  268. package/dist/collection/components/vega-flag-icon/assets/flags/sh.js +1 -1
  269. package/dist/collection/components/vega-flag-icon/assets/flags/si.js +1 -1
  270. package/dist/collection/components/vega-flag-icon/assets/flags/sj.js +1 -1
  271. package/dist/collection/components/vega-flag-icon/assets/flags/sk.js +1 -1
  272. package/dist/collection/components/vega-flag-icon/assets/flags/sl.js +1 -1
  273. package/dist/collection/components/vega-flag-icon/assets/flags/sm.js +1 -1
  274. package/dist/collection/components/vega-flag-icon/assets/flags/sn.js +1 -1
  275. package/dist/collection/components/vega-flag-icon/assets/flags/so.js +1 -1
  276. package/dist/collection/components/vega-flag-icon/assets/flags/sr.js +1 -1
  277. package/dist/collection/components/vega-flag-icon/assets/flags/ss.js +1 -1
  278. package/dist/collection/components/vega-flag-icon/assets/flags/st.js +1 -1
  279. package/dist/collection/components/vega-flag-icon/assets/flags/sv.js +1 -1
  280. package/dist/collection/components/vega-flag-icon/assets/flags/sx.js +1 -1
  281. package/dist/collection/components/vega-flag-icon/assets/flags/sy.js +1 -1
  282. package/dist/collection/components/vega-flag-icon/assets/flags/sz.js +1 -1
  283. package/dist/collection/components/vega-flag-icon/assets/flags/ta.js +1 -1
  284. package/dist/collection/components/vega-flag-icon/assets/flags/tc.js +1 -1
  285. package/dist/collection/components/vega-flag-icon/assets/flags/td.js +1 -1
  286. package/dist/collection/components/vega-flag-icon/assets/flags/tg.js +1 -1
  287. package/dist/collection/components/vega-flag-icon/assets/flags/th.js +1 -1
  288. package/dist/collection/components/vega-flag-icon/assets/flags/tj.js +1 -1
  289. package/dist/collection/components/vega-flag-icon/assets/flags/tk.js +1 -1
  290. package/dist/collection/components/vega-flag-icon/assets/flags/tl.js +1 -1
  291. package/dist/collection/components/vega-flag-icon/assets/flags/tm.js +1 -1
  292. package/dist/collection/components/vega-flag-icon/assets/flags/tn.js +1 -1
  293. package/dist/collection/components/vega-flag-icon/assets/flags/to.js +1 -1
  294. package/dist/collection/components/vega-flag-icon/assets/flags/tr.js +1 -1
  295. package/dist/collection/components/vega-flag-icon/assets/flags/tt.js +1 -1
  296. package/dist/collection/components/vega-flag-icon/assets/flags/tv.js +1 -1
  297. package/dist/collection/components/vega-flag-icon/assets/flags/tw.js +1 -1
  298. package/dist/collection/components/vega-flag-icon/assets/flags/tz.js +1 -1
  299. package/dist/collection/components/vega-flag-icon/assets/flags/ua.js +1 -1
  300. package/dist/collection/components/vega-flag-icon/assets/flags/ug.js +1 -1
  301. package/dist/collection/components/vega-flag-icon/assets/flags/us.js +1 -1
  302. package/dist/collection/components/vega-flag-icon/assets/flags/uy.js +1 -1
  303. package/dist/collection/components/vega-flag-icon/assets/flags/uz.js +1 -1
  304. package/dist/collection/components/vega-flag-icon/assets/flags/va.js +1 -1
  305. package/dist/collection/components/vega-flag-icon/assets/flags/vc.js +1 -1
  306. package/dist/collection/components/vega-flag-icon/assets/flags/ve.js +1 -1
  307. package/dist/collection/components/vega-flag-icon/assets/flags/vg.js +1 -1
  308. package/dist/collection/components/vega-flag-icon/assets/flags/vi.js +1 -1
  309. package/dist/collection/components/vega-flag-icon/assets/flags/vn.js +1 -1
  310. package/dist/collection/components/vega-flag-icon/assets/flags/vu.js +1 -1
  311. package/dist/collection/components/vega-flag-icon/assets/flags/wf.js +1 -1
  312. package/dist/collection/components/vega-flag-icon/assets/flags/ws.js +1 -1
  313. package/dist/collection/components/vega-flag-icon/assets/flags/xk.js +1 -1
  314. package/dist/collection/components/vega-flag-icon/assets/flags/ye.js +1 -1
  315. package/dist/collection/components/vega-flag-icon/assets/flags/yt.js +1 -1
  316. package/dist/collection/components/vega-flag-icon/assets/flags/za.js +1 -1
  317. package/dist/collection/components/vega-flag-icon/assets/flags/zm.js +1 -1
  318. package/dist/collection/components/vega-flag-icon/assets/flags/zw.js +1 -1
  319. package/dist/collection/components/vega-flag-icon/slimmers/renderers/vega-flag-icon-renderer.js +1 -1
  320. package/dist/collection/components/vega-flag-icon/vega-flag-icon.css +4 -0
  321. package/dist/collection/components/vega-image-uploader/slimmers/controllers/vega-image-uploader-preview-controller.js +14 -5
  322. package/dist/collection/components/vega-input-credit-card/assets/icons.js +1 -1
  323. package/dist/collection/components/vega-rich-text-editor/dto/content-state.js +7 -2
  324. package/dist/collection/components/vega-rich-text-editor/dto/nodes/decorator-node.js +1 -2
  325. package/dist/collection/components/vega-rich-text-editor/dto/nodes/node.abstract.js +8 -0
  326. package/dist/collection/components/vega-rich-text-editor/dto/nodes/text-node.js +2 -3
  327. package/dist/collection/components/vega-rich-text-editor/extensions/languages/language-extension.js +5 -2
  328. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-paste-handler.js +9 -5
  329. package/dist/collection/components/vega-signature-capture/slimmers/written-mode/controllers/written-mode-svg-controller.js +5 -7
  330. package/dist/collection/components/vega-signature-capture/slimmers/written-mode/renderers/written-mode-renderer.js +1 -5
  331. package/dist/collection/global/scripts/before-vega-load.js +21 -1
  332. package/dist/collection/helpers/chart/renderers/svg-renderer.js +4 -4
  333. package/dist/collection/helpers/csp/styles-preservator.js +71 -0
  334. package/dist/collection/helpers/csp/test/styles-preservator.test.js +207 -0
  335. package/dist/collection/helpers/csp/test/vega-nonce-manager.test.js +166 -0
  336. package/dist/collection/helpers/csp/vega-nonce-manager.js +97 -0
  337. package/dist/collection/helpers/public-api.js +2 -0
  338. package/dist/collection/helpers/slimmers/component-global-style-slimmer.js +4 -0
  339. package/dist/collection/helpers/slimmers/global/vega-nonce-injector-slimmer.js +54 -0
  340. package/dist/collection/helpers/slimmers/test/component-global-style-slimmer.test.js +41 -0
  341. package/dist/collection/helpers/slimmers/test/global/vega-nonce-injector-slimmer.test.js +64 -0
  342. package/dist/collection/helpers/theme/controllers/color-schema-overriding-controller.js +4 -0
  343. package/dist/collection/helpers/theme/controllers/style-controller.abstract.js +4 -0
  344. package/dist/collection/helpers/theme/tests/theme-manager-controller.test.js +33 -0
  345. package/dist/esm/{app-globals-aaff0b25.js → app-globals-2623304e.js} +85 -13
  346. package/dist/esm/{code-block-68300b47.js → code-block-23e7f8d0.js} +12 -4
  347. package/dist/esm/{component-global-style-slimmer-dad40b64.js → component-global-style-slimmer-5d437fdf.js} +4 -0
  348. package/dist/esm/{component-value-history-controller-slimmer.abstract-ac2f1bfd.js → component-value-history-controller-slimmer.abstract-df25e4a1.js} +2 -2
  349. package/dist/esm/country-flags-39dbfa43.js +2401 -0
  350. package/dist/esm/{dark-mode-style-controller-3bbb32dc.js → dark-mode-style-controller-972e1f06.js} +7 -0
  351. package/dist/esm/{design-token-1a36307e.js → design-token-0f439510.js} +1 -1
  352. package/dist/esm/{dto-renderer-manager-af66bbd9.js → dto-renderer-manager-65b7b1b1.js} +79 -4
  353. package/dist/esm/{element-appender-slimmer-fe68ec2d.js → element-appender-slimmer-bf5ca501.js} +2 -2
  354. package/dist/esm/{image-annotation-action-f61c2693.js → image-annotation-action-af21ea8f.js} +3 -3
  355. package/dist/esm/index.js +10 -9
  356. package/dist/esm/{language-extension-1ada2a9d.js → language-extension-d355f9aa.js} +7 -4
  357. package/dist/esm/{legend-input-processor-1d266967.js → legend-input-processor-5ecae3a7.js} +4 -4
  358. package/dist/esm/loader.js +7 -6
  359. package/dist/esm/{public-rules-9f62069a.js → public-rules-1a5da7bf.js} +6 -4
  360. package/dist/esm/{range-c2eeb794.js → range-fac2962c.js} +1 -1
  361. package/dist/esm/{responsive-format-facade-5711c77d.js → responsive-format-facade-2904b456.js} +4 -3
  362. package/dist/esm/{rich-text-editor-required-rule-de738309.js → rich-text-editor-required-rule-bb94d680.js} +1 -1
  363. package/dist/esm/{style-formatter-2479dc61.js → style-formatter-a724e38d.js} +1 -1
  364. package/dist/esm/{token-extension-6fc5e1f5.js → token-extension-89eeef74.js} +3 -3
  365. package/dist/esm/vega-accordion.entry.js +7 -6
  366. package/dist/esm/vega-app-footer.entry.js +3 -1
  367. package/dist/esm/vega-app-header-button.entry.js +8 -7
  368. package/dist/esm/vega-bar-chart.entry.js +2 -2
  369. package/dist/esm/vega-box.entry.js +15 -8
  370. package/dist/esm/vega-brand-logo.entry.js +3 -1
  371. package/dist/esm/vega-breadcrumb.entry.js +2 -1
  372. package/dist/esm/vega-button-circle.entry.js +7 -6
  373. package/dist/esm/vega-button.entry.js +6 -5
  374. package/dist/esm/vega-calendar_4.entry.js +3 -2
  375. package/dist/esm/vega-card.entry.js +7 -6
  376. package/dist/esm/vega-carousel.entry.js +6 -5
  377. package/dist/esm/vega-chip.entry.js +8 -7
  378. package/dist/esm/vega-code-block.entry.js +258 -153
  379. package/dist/esm/vega-date-picker_2.entry.js +7 -6
  380. package/dist/esm/vega-dialog_2.entry.js +8 -7
  381. package/dist/esm/vega-divider.entry.js +8 -7
  382. package/dist/esm/vega-dropdown_5.entry.js +8 -7
  383. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  384. package/dist/esm/vega-flag-icon.entry.js +10 -9
  385. package/dist/esm/vega-flex.entry.js +9 -8
  386. package/dist/esm/vega-font.entry.js +7 -6
  387. package/dist/esm/vega-grid.entry.js +7 -6
  388. package/dist/esm/vega-icon.entry.js +7 -6
  389. package/dist/esm/vega-image-uploader.entry.js +20 -10
  390. package/dist/esm/vega-input-credit-card.entry.js +1 -1
  391. package/dist/esm/vega-input-phone-number.entry.js +5 -4
  392. package/dist/esm/vega-input-select.entry.js +6 -5
  393. package/dist/esm/vega-left-nav_5.entry.js +8 -7
  394. package/dist/esm/vega-line-chart.entry.js +2 -2
  395. package/dist/esm/vega-loader-wrapper_2.entry.js +7 -6
  396. package/dist/esm/vega-nonce-manager-87615d3c.js +100 -0
  397. package/dist/esm/vega-pagination.entry.js +6 -5
  398. package/dist/esm/vega-pie-chart.entry.js +1 -1
  399. package/dist/esm/vega-popover_2.entry.js +8 -7
  400. package/dist/esm/vega-rich-text-content.entry.js +5 -4
  401. package/dist/esm/vega-rich-text-editor_4.entry.js +16 -12
  402. package/dist/esm/vega-selection-chip_2.entry.js +7 -6
  403. package/dist/esm/vega-sidenav_3.entry.js +7 -6
  404. package/dist/esm/vega-signature-capture.entry.js +14 -19
  405. package/dist/esm/vega-table_8.entry.js +7 -6
  406. package/dist/esm/vega-time-picker_2.entry.js +7 -6
  407. package/dist/esm/vega-tooltip_2.entry.js +7 -6
  408. package/dist/esm/vega.js +7 -6
  409. package/dist/esm/{y-axis-input-processor-95995d34.js → y-axis-input-processor-bc54314a.js} +1 -1
  410. package/dist/types/components/vega-code-block/slimmers/controllers/code-input-paste.abstract.d.ts +46 -0
  411. package/dist/types/components/vega-code-block/slimmers/controllers/vega-code-block-input-controller.d.ts +2 -31
  412. package/dist/types/components/vega-code-block/slimmers/controllers/vega-code-block-input-paste-controller.d.ts +44 -0
  413. package/dist/types/components/vega-code-block/vega-code-block.d.ts +2 -0
  414. package/dist/types/components/vega-rich-text-editor/dto/nodes/node.abstract.d.ts +6 -0
  415. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-paste-handler.d.ts +1 -1
  416. package/dist/types/helpers/csp/styles-preservator.d.ts +47 -0
  417. package/dist/types/helpers/csp/test/styles-preservator.test.d.ts +1 -0
  418. package/dist/types/helpers/csp/test/vega-nonce-manager.test.d.ts +1 -0
  419. package/dist/types/helpers/csp/vega-nonce-manager.d.ts +52 -0
  420. package/dist/types/helpers/public-api.d.ts +2 -0
  421. package/dist/types/helpers/slimmers/global/vega-nonce-injector-slimmer.d.ts +21 -0
  422. package/dist/types/helpers/slimmers/test/global/vega-nonce-injector-slimmer.test.d.ts +1 -0
  423. package/dist/vega/index.esm.js +1 -1
  424. package/dist/vega/p-02a4732a.js +1 -0
  425. package/dist/vega/p-0717073b.entry.js +1 -0
  426. package/dist/vega/p-0b36f4ce.js +1 -0
  427. package/dist/vega/p-0bc93777.entry.js +1 -0
  428. package/dist/vega/p-0e3cd270.entry.js +1 -0
  429. package/dist/vega/p-0ec14fbc.entry.js +1 -0
  430. package/dist/vega/p-10454aa5.entry.js +1 -0
  431. package/dist/vega/p-117be41b.js +1 -0
  432. package/dist/vega/p-134ed822.entry.js +1 -0
  433. package/dist/vega/p-20223e8e.entry.js +9 -0
  434. package/dist/vega/p-258f9603.js +1 -0
  435. package/dist/vega/{p-d2790023.entry.js → p-25c831a4.entry.js} +2 -2
  436. package/dist/vega/{p-39c185a5.js → p-2b90fae6.js} +1 -1
  437. package/dist/vega/p-2d58cf34.entry.js +1 -0
  438. package/dist/vega/p-320cccc5.entry.js +1 -0
  439. package/dist/vega/p-3ab20f9e.entry.js +1 -0
  440. package/dist/vega/p-3be7bfee.entry.js +1 -0
  441. package/dist/vega/p-3e258753.js +1 -0
  442. package/dist/vega/p-3fba9e77.entry.js +1 -0
  443. package/dist/vega/p-40924882.entry.js +1 -0
  444. package/dist/vega/p-427b2b55.entry.js +1 -0
  445. package/dist/vega/p-460429da.entry.js +1 -0
  446. package/dist/vega/{p-111d41fe.js → p-46b077d9.js} +1 -1
  447. package/dist/vega/{p-a646b66d.js → p-4c3075ef.js} +1 -1
  448. package/dist/vega/{p-d3bbfb1b.js → p-4f21faf1.js} +1 -1
  449. package/dist/vega/{p-8f056ac2.js → p-5313d0bc.js} +1 -1
  450. package/dist/vega/p-5397648b.entry.js +1 -0
  451. package/dist/vega/p-54ae02db.js +1 -0
  452. package/dist/vega/{p-6b292628.entry.js → p-57257de0.entry.js} +1 -1
  453. package/dist/vega/p-5970369e.entry.js +1 -0
  454. package/dist/vega/{p-9a74eb86.entry.js → p-5e4fb663.entry.js} +1 -1
  455. package/dist/vega/p-5f377954.js +1 -1
  456. package/dist/vega/p-614e450a.entry.js +1 -0
  457. package/dist/vega/{p-d982babe.entry.js → p-6180c1af.entry.js} +1 -1
  458. package/dist/vega/p-648134d2.entry.js +1 -0
  459. package/dist/vega/p-64c281ec.entry.js +1 -0
  460. package/dist/vega/p-657446a3.entry.js +1 -0
  461. package/dist/vega/{p-6caa6bb2.js → p-66199d68.js} +1 -1
  462. package/dist/vega/p-6908117a.js +1 -0
  463. package/dist/vega/p-7bad6577.entry.js +1 -0
  464. package/dist/vega/{p-2a66e2f7.entry.js → p-8175d8de.entry.js} +1 -1
  465. package/dist/vega/{p-9ca0bdcc.js → p-89d2cf34.js} +1 -1
  466. package/dist/vega/{p-74ac2a48.js → p-942fc9b9.js} +1 -1
  467. package/dist/vega/p-969066d3.entry.js +1 -0
  468. package/dist/vega/p-9c309b85.entry.js +1 -0
  469. package/dist/vega/p-9ffd2a96.entry.js +1 -0
  470. package/dist/vega/{p-ce1766fa.js → p-ab29f968.js} +1 -1
  471. package/dist/vega/p-b110b7bd.entry.js +1 -0
  472. package/dist/vega/p-b4d88fce.entry.js +1 -0
  473. package/dist/vega/p-b6c51409.entry.js +1 -0
  474. package/dist/vega/{p-05b10af4.js → p-be23bef2.js} +1 -1
  475. package/dist/vega/p-c61f8ca6.entry.js +1 -0
  476. package/dist/vega/p-d15e70d7.entry.js +1 -0
  477. package/dist/vega/p-d85b0bfa.entry.js +1 -0
  478. package/dist/vega/p-d87c3058.entry.js +1 -0
  479. package/dist/vega/{p-7da6e7bd.js → p-dadc6ab3.js} +1 -1
  480. package/dist/vega/p-de1ee131.entry.js +1 -0
  481. package/dist/vega/p-e0729c4d.entry.js +1 -0
  482. package/dist/vega/p-e513f041.js +1 -0
  483. package/dist/vega/p-e5cd6521.js +1 -0
  484. package/dist/vega/p-e74c275a.entry.js +1 -0
  485. package/dist/vega/p-f92fc49b.entry.js +1 -0
  486. package/dist/vega/vega.esm.js +1 -1
  487. package/package.json +1 -1
  488. package/dist/cjs/country-flags-dc0f0d09.js +0 -2403
  489. package/dist/esm/country-flags-b68c3349.js +0 -2401
  490. package/dist/vega/p-03cc47b7.entry.js +0 -1
  491. package/dist/vega/p-07836d27.entry.js +0 -1
  492. package/dist/vega/p-0b91bb73.entry.js +0 -1
  493. package/dist/vega/p-13effc6b.js +0 -1
  494. package/dist/vega/p-15a78afd.entry.js +0 -1
  495. package/dist/vega/p-16075b30.entry.js +0 -1
  496. package/dist/vega/p-1c08077c.entry.js +0 -1
  497. package/dist/vega/p-1e926324.js +0 -1
  498. package/dist/vega/p-20a180e4.js +0 -1
  499. package/dist/vega/p-25ddb070.entry.js +0 -1
  500. package/dist/vega/p-2788afe7.entry.js +0 -1
  501. package/dist/vega/p-3b1bedaf.entry.js +0 -1
  502. package/dist/vega/p-3c96bbe1.entry.js +0 -1
  503. package/dist/vega/p-3d0d8a21.entry.js +0 -1
  504. package/dist/vega/p-3d53858c.entry.js +0 -1
  505. package/dist/vega/p-3f3bbaaa.entry.js +0 -9
  506. package/dist/vega/p-42c364e0.entry.js +0 -1
  507. package/dist/vega/p-4f56a427.entry.js +0 -1
  508. package/dist/vega/p-5420c1d4.entry.js +0 -1
  509. package/dist/vega/p-5d3c6a06.entry.js +0 -1
  510. package/dist/vega/p-5dec47da.entry.js +0 -1
  511. package/dist/vega/p-63212cc1.js +0 -1
  512. package/dist/vega/p-6ba27010.js +0 -1
  513. package/dist/vega/p-7d8eaca9.entry.js +0 -1
  514. package/dist/vega/p-7e8f055d.js +0 -1
  515. package/dist/vega/p-8682ee0a.entry.js +0 -1
  516. package/dist/vega/p-8e58d6cb.entry.js +0 -1
  517. package/dist/vega/p-8e812dca.entry.js +0 -1
  518. package/dist/vega/p-9125ba84.entry.js +0 -1
  519. package/dist/vega/p-a61e4bba.entry.js +0 -1
  520. package/dist/vega/p-b1a5ff74.entry.js +0 -1
  521. package/dist/vega/p-baafe7d9.entry.js +0 -1
  522. package/dist/vega/p-bb51e020.entry.js +0 -1
  523. package/dist/vega/p-bd39af8a.entry.js +0 -1
  524. package/dist/vega/p-c08ba4d7.entry.js +0 -1
  525. package/dist/vega/p-c167fa41.entry.js +0 -1
  526. package/dist/vega/p-c671f57e.js +0 -1
  527. package/dist/vega/p-c6a354b1.js +0 -1
  528. package/dist/vega/p-d0fbbb7f.entry.js +0 -1
  529. package/dist/vega/p-d9617358.entry.js +0 -1
  530. package/dist/vega/p-ddfad815.entry.js +0 -1
  531. package/dist/vega/p-e00ed9bd.entry.js +0 -1
  532. package/dist/vega/p-ebfc5739.entry.js +0 -1
  533. package/dist/vega/p-ff3a8907.entry.js +0 -1
@@ -15,6 +15,7 @@ import { AppendChildrenStrategy } from './action-handle-strategies/modify-conten
15
15
  import { InsertChildrenBeforeStrategy } from './action-handle-strategies/modify-content-strategies/insert-children-before-strategy';
16
16
  import { InsertChildrenAfterStrategy } from './action-handle-strategies/modify-content-strategies/insert-children-after-strategy';
17
17
  import './setup';
18
+ import { StylePreservator } from '../../../helpers/csp/styles-preservator';
18
19
  /**
19
20
  * Class representing the content state of the rich text editor.
20
21
  */
@@ -94,8 +95,12 @@ export class VegaRTEContent {
94
95
  })
95
96
  .replace(/(>)[\n\t]+(?=[a-zA-Z0-9_\W])/g, '$1')
96
97
  .replace(/([a-zA-Z0-9_\W])[\n\t]+(?=<)/g, '$1');
97
- const body = new DOMParser().parseFromString(formattedHtml, 'text/html').body;
98
- const blocks = ElementToDtoStrategyProcessor.process(Array.from(body.childNodes), options)
98
+ const context = StylePreservator.preserve(formattedHtml);
99
+ const safeHtml = context.getProcessedHtml();
100
+ const body = new DOMParser().parseFromString(safeHtml, 'text/html').body;
101
+ const htmlElements = Array.from(body.childNodes);
102
+ context.restore(htmlElements);
103
+ const blocks = ElementToDtoStrategyProcessor.process(htmlElements, options)
99
104
  .filter(isNonNullable)
100
105
  .map((output) => output.toDto(options))
101
106
  .filter(isNonNullable);
@@ -1,5 +1,4 @@
1
1
  import { findParent } from '../../../../utils/ui';
2
- import stateEntityRenderingRegistry from '../../slimmers/controllers/state-entity-rendering-registry';
3
2
  import { RTENode } from './node.abstract';
4
3
  /**
5
4
  * Abstract class for decorator nodes. A decorator node modifies content like an image node that will delete the whole node when the delete button is pressed.
@@ -38,7 +37,7 @@ export class RTEDecoratorNode extends RTENode {
38
37
  * @inheritDoc
39
38
  */
40
39
  getRangeContainer() {
41
- const element = stateEntityRenderingRegistry.getDOMByEntity(this);
40
+ const element = this.getElementRef();
42
41
  if (element) {
43
42
  return findParent(element, `.${RTEDecoratorNode.DECORATOR_CONTAINER_CLASS}`);
44
43
  }
@@ -130,6 +130,14 @@ export class RTENode {
130
130
  isTextNode() {
131
131
  return false;
132
132
  }
133
+ /**
134
+ * Get the HTMLElement reference associated with this node.
135
+ *
136
+ * @returns {Nullable<HTMLElement>} The HTMLElement reference or null if not found.
137
+ */
138
+ getElementRef() {
139
+ return stateEntityRenderingRegistry.getDOMByEntity(this);
140
+ }
133
141
  /**
134
142
  * Generate attributes as string
135
143
  *
@@ -3,7 +3,6 @@ import { NodeAnnotation, NodeAnnotationTypeEnum } from '../annotations/node-anno
3
3
  import { AnnotationAction } from '../actions/annotation-action.abstract';
4
4
  import { TextSplittableAction } from '../actions/splittable-action.abstract';
5
5
  import { SelectionRangeAnnotation } from '../annotations/selection-range-annotation';
6
- import stateEntityRenderingRegistry from '../../slimmers/controllers/state-entity-rendering-registry';
7
6
  import { generateUUID } from '../../../../utils/misc';
8
7
  import { InternalAnnotationTypeEnum } from '../annotations/annotation.abstract';
9
8
  import { StrikethroughAnnotation } from '../annotations/strikethrough-annotation';
@@ -188,7 +187,7 @@ export class RTETextNode extends RTENode {
188
187
  * @inheritDoc
189
188
  */
190
189
  getRangeContainer() {
191
- const element = stateEntityRenderingRegistry.getDOMByEntity(this);
190
+ const element = this.getElementRef();
192
191
  if (element) {
193
192
  if (this.isContentEditable()) {
194
193
  return element.firstChild;
@@ -289,7 +288,7 @@ export class RTETextNode extends RTENode {
289
288
  * @param {RTETextNode} selectedNode - The selected node
290
289
  */
291
290
  syncUpSelectedNodes(selectedNode) {
292
- const currentNodeDom = stateEntityRenderingRegistry.getDOMByEntity(this);
291
+ const currentNodeDom = this.getElementRef();
293
292
  if (currentNodeDom) {
294
293
  const nodeSubject = domNodeSubjectFactory.getSubjectFromParentNodeByEventId(currentNodeDom, VegaInternalRichTextEditorSelectionRangeChange);
295
294
  if (nodeSubject) {
@@ -80,13 +80,16 @@ export class VegaRTELanguageExtension extends VegaRTEExtension {
80
80
  applyLanguageContent(selectedLanguage, contentMap) {
81
81
  if (this.extensionContext && contentMap) {
82
82
  let content = contentMap[selectedLanguage];
83
+ const { host, flushValue } = this.extensionContext;
83
84
  if (content) {
84
- content = content instanceof VegaRTEContent ? content : VegaRTEContent.fromJSON(content);
85
+ content =
86
+ content instanceof VegaRTEContent
87
+ ? content
88
+ : VegaRTEContent.fromJSON(content, host.sourceEditConfig);
85
89
  }
86
90
  else {
87
91
  content = VegaRTEContent.createEmptyContent();
88
92
  }
89
- const { host, flushValue } = this.extensionContext;
90
93
  if (host.value !== content) {
91
94
  flushValue(content, true);
92
95
  }
@@ -4,6 +4,7 @@ import { InsertChildrenAfterAction } from '../../../../dto/actions/insert-childr
4
4
  import { SplitBlockWithNodeAction } from '../../../../dto/actions/split-block-with-node-action';
5
5
  import { InsertChildrenBeforeAction } from '../../../../dto/actions/insert-children-before-block';
6
6
  import ElementToDtoStrategyProcessor from '../element-to-dto-strategy/element-to-dto-strategy-processor';
7
+ import { StylePreservator } from '../../../../../../helpers/csp/styles-preservator';
7
8
  /**
8
9
  * Handle user paste
9
10
  */
@@ -65,7 +66,7 @@ export class InsertPasteHandler extends BaseHandler {
65
66
  }
66
67
  }
67
68
  /**
68
- * Format and parse elements from user paste.
69
+ * Format and parse elements from user paste with simple style preservation.
69
70
  *
70
71
  * @param {InputEvent} event - Paste event.
71
72
  * @returns {RTEContentBlock[]} - RTEContentBlock.
@@ -76,10 +77,13 @@ export class InsertPasteHandler extends BaseHandler {
76
77
  const pastedText = event.dataTransfer.getData('text/plain');
77
78
  pastedHTML = this.parsePlainText(pastedText);
78
79
  }
79
- // eslint-disable-next-line no-restricted-globals
80
- const tempContainer = document.createElement('div');
81
- tempContainer.innerHTML = pastedHTML;
82
- return ElementToDtoStrategyProcessor.process(Array.from(tempContainer.childNodes))
80
+ const context = StylePreservator.preserve(pastedHTML);
81
+ const safeHtml = context.getProcessedHtml();
82
+ const parser = new DOMParser();
83
+ const parsedDoc = parser.parseFromString(safeHtml, 'text/html');
84
+ const htmlElements = Array.from(parsedDoc.body.childNodes);
85
+ context.restore(htmlElements);
86
+ return ElementToDtoStrategyProcessor.process(htmlElements)
83
87
  .filter(Boolean)
84
88
  .map((output) => output.toDto())
85
89
  .filter(Boolean);
@@ -40,13 +40,11 @@ export class WrittenModeSvgController extends VegaSlimmer {
40
40
  // eslint-disable-next-line no-restricted-globals
41
41
  this.currentPath = document.createElementNS('http://www.w3.org/2000/svg', 'path');
42
42
  this.currentPath.setAttribute('d', `M ${x} ${y}`);
43
- Object.assign(this.currentPath.style, {
44
- stroke: 'rgba(4, 4, 28, 1)',
45
- strokeWidth: this.penWidth,
46
- fill: 'none',
47
- strokeLinecap: 'round',
48
- strokeLinejoin: 'round',
49
- });
43
+ this.currentPath.setAttribute('stroke', 'rgba(4, 4, 28, 1)');
44
+ this.currentPath.setAttribute('stroke-width', this.penWidth);
45
+ this.currentPath.setAttribute('fill', 'none');
46
+ this.currentPath.setAttribute('stroke-linecap', 'round');
47
+ this.currentPath.setAttribute('stroke-linejoin', 'round');
50
48
  this.signatureContainerRef.appendChild(this.currentPath);
51
49
  };
52
50
  /*
@@ -57,11 +57,7 @@ export class WrittenModeRenderer extends VegaSlimmer {
57
57
  * When the clear button is displayed, since the error message and the clear button are in the same line, this element is displayed.
58
58
  */
59
59
  renderSignaturePad() {
60
- return (h("svg", { style: {
61
- width: '100%',
62
- height: formatAndValidResponsiveToken(this.height, 'widthAndHeight'),
63
- touchAction: 'none',
64
- }, ref: (ref) => this.writtenModeSvgController.setSignatureContainerRef(ref) }));
60
+ return (h("svg", { width: "100%", height: formatAndValidResponsiveToken(this.height, 'widthAndHeight'), "touch-action": "none", ref: (ref) => this.writtenModeSvgController.setSignatureContainerRef(ref) }));
65
61
  }
66
62
  renderFooter() {
67
63
  return (this.showClearBtn && (h("vega-flex", { class: "signature-capture-written-footer", justifyContent: "space-between" },
@@ -17,6 +17,8 @@ import { VegaSkeletonLoader } from '../../helpers/skeleton-loader/vega-skeleton-
17
17
  import { VegaTranslation } from '../../helpers/translation';
18
18
  import { VegaTranslateObserverSlimmer } from '../../helpers/slimmers/global/vega-translate-observer-slimmer';
19
19
  import { VegaRTEContent } from '../../components/vega-rich-text-editor/dto/content-state';
20
+ import { setVegaNonce, vegaNonceManager } from '../../helpers/csp/vega-nonce-manager';
21
+ import { VegaNonceInjectorSlimmer } from '../../helpers/slimmers/global/vega-nonce-injector-slimmer';
20
22
  import { VegaRTETokenExtension } from '../../components/vega-rich-text-editor/extensions/tokens/token-extension';
21
23
  import { VegaRTELanguageExtension } from '../../components/vega-rich-text-editor/extensions/languages/language-extension';
22
24
  import { VegaRTEPresetToolbarItems } from '../../components/vega-rich-text-editor/constants/constant';
@@ -45,6 +47,8 @@ export default function () {
45
47
  injectVegaRichTextEditorClassIntoGlobal();
46
48
  injectVegaPublicValidationRules();
47
49
  applyBrandingFromClientGlobal();
50
+ injectSetNonceIntoGlobal();
51
+ patchHeadInsertBeforeWithNonce();
48
52
  }
49
53
  /**
50
54
  * Disable feature flags from the client global defined lists.
@@ -96,7 +100,11 @@ function injectVegaDialogIntoGlobal() {
96
100
  * register global vega slimmers
97
101
  */
98
102
  function registerGlobalVegaSlimmers() {
99
- GlobalSlimmersRegistry.register([VegaWatchMethodCancelSlimmer, VegaTranslateObserverSlimmer]);
103
+ GlobalSlimmersRegistry.register([
104
+ VegaWatchMethodCancelSlimmer,
105
+ VegaTranslateObserverSlimmer,
106
+ VegaNonceInjectorSlimmer,
107
+ ]);
100
108
  }
101
109
  /**
102
110
  * Inject setEventSemantics to global as a public api
@@ -204,3 +212,15 @@ function applyBrandingFromClientGlobal() {
204
212
  VegaThemeManager.applyBranding(globalThis['VegaThemeManagerApplyBranding']);
205
213
  }
206
214
  }
215
+ /**
216
+ * Injects the `setVegaNonce` function into the global scope as `setVegaNonce`.
217
+ */
218
+ function injectSetNonceIntoGlobal() {
219
+ globalThis.setVegaNonce = setVegaNonce;
220
+ }
221
+ /**
222
+ * Patch document.head.insertBefore to ensure nonce is set on injected elements.
223
+ */
224
+ function patchHeadInsertBeforeWithNonce() {
225
+ vegaNonceManager.patchHeadInsertBeforeWithNonceToStencil();
226
+ }
@@ -15,7 +15,7 @@ export class SVGRenderer extends BaseRenderer {
15
15
  .attr('width', width)
16
16
  .attr('height', height)
17
17
  .attr('viewBox', [0, 0, width, height])
18
- .attr('style', 'display:block;max-width:100%;height:auto;')
18
+ .property('style', 'display:block;max-width:100%;height:auto;')
19
19
  .call((g) => {
20
20
  g.append('g')
21
21
  .attr('class', 'vega-chart-draw-g')
@@ -71,7 +71,7 @@ export class SVGRenderer extends BaseRenderer {
71
71
  })
72
72
  .call((g) => {
73
73
  g.selectAll('line').attr('stroke', color);
74
- g.selectAll('text').attr('style', textStyle);
74
+ g.selectAll('text').property('style', textStyle);
75
75
  })
76
76
  .call((g) => {
77
77
  if (direction === 'horizontal') {
@@ -104,7 +104,7 @@ export class SVGRenderer extends BaseRenderer {
104
104
  })
105
105
  .call((g) => {
106
106
  g.selectAll('line').attr('stroke-width', 2).attr('stroke', color);
107
- g.selectAll('text').attr('style', textStyle);
107
+ g.selectAll('text').property('style', textStyle);
108
108
  })
109
109
  .call((g) => {
110
110
  if (direction !== 'horizontal') {
@@ -262,7 +262,7 @@ export class SVGRenderer extends BaseRenderer {
262
262
  */
263
263
  getTextNode(position, text, textStyle, textAnchor = 'start', rotate = 0) {
264
264
  const TextSelectionType = d3Create('svg:text')
265
- .attr('style', textStyle)
265
+ .property('style', textStyle)
266
266
  .attr('x', position.x)
267
267
  .attr('y', position.y)
268
268
  .attr('text-anchor', textAnchor)
@@ -0,0 +1,71 @@
1
+ import { isHTMLElement } from '../../utils/ui';
2
+ /**
3
+ * StylePreservator handles CSP-compliant style management by temporarily converting
4
+ * inline styles to data attributes during HTML parsing operations.
5
+ *
6
+ * @example
7
+ * ```typescript
8
+ * const context = StylePreservator.preserve('<div style="color: red;">Content</div>');
9
+ * const safeHtml = context.getProcessedHtml();
10
+ * context.restore(parsedElements);
11
+ * ```
12
+ */
13
+ export class StylePreservator {
14
+ /**
15
+ * Preserves inline styles by converting them to data attributes.
16
+ *
17
+ * @param {string} htmlString - The HTML string containing inline styles
18
+ * @returns {StylePreservationContext} A context object for later style restoration
19
+ */
20
+ static preserve(htmlString) {
21
+ const processedHtml = htmlString.replace(/\s+style=/g, ' data-style=');
22
+ return new StylePreservationContext(processedHtml);
23
+ }
24
+ }
25
+ /**
26
+ * Context class that manages the lifecycle of preserved styles.
27
+ */
28
+ export class StylePreservationContext {
29
+ constructor(processedHtml) {
30
+ this.processedHtml = processedHtml;
31
+ }
32
+ /**
33
+ * Returns the HTML string with style attributes converted to data-style.
34
+ *
35
+ * @returns {string} The processed HTML string
36
+ */
37
+ getProcessedHtml() {
38
+ return this.processedHtml;
39
+ }
40
+ /**
41
+ * Restores data-style attributes back to style attributes.
42
+ *
43
+ * @param {HTMLElement[]} elements - Array of HTML elements to process
44
+ * @returns {void}
45
+ */
46
+ restore(elements) {
47
+ this.walkNodes(elements);
48
+ }
49
+ /**
50
+ * Recursively walk through nodes and restore styles
51
+ *
52
+ * @param {HTMLElement[]} elements - list of nodes
53
+ * @returns {void}
54
+ */
55
+ walkNodes(elements) {
56
+ elements.forEach((element) => {
57
+ if (isHTMLElement(element)) {
58
+ // Restore data-style back to style
59
+ const dataStyle = element.getAttribute('data-style');
60
+ if (dataStyle) {
61
+ element.style.cssText = dataStyle;
62
+ element.removeAttribute('data-style');
63
+ }
64
+ // Recursively process child nodes
65
+ if (element.children.length > 0) {
66
+ this.walkNodes(Array.from(element.children));
67
+ }
68
+ }
69
+ });
70
+ }
71
+ }
@@ -0,0 +1,207 @@
1
+ import { StylePreservator, StylePreservationContext } from '../styles-preservator';
2
+ describe('StylePreservator', () => {
3
+ describe('preserve', () => {
4
+ it('should preserve styles by converting them to data-style attributes', () => {
5
+ // Arrange
6
+ const html = '<div style="color: red; font-weight: bold;">Test content</div>';
7
+ // Act
8
+ const context = StylePreservator.preserve(html);
9
+ const result = context.getProcessedHtml();
10
+ // Assert
11
+ expect(result).toBe('<div data-style="color: red; font-weight: bold;">Test content</div>');
12
+ });
13
+ it('should handle multiple style attributes in the same HTML string', () => {
14
+ // Arrange
15
+ const html = '<div style="color: red;"><span style="font-weight: bold;">Bold text</span></div>';
16
+ // Act
17
+ const context = StylePreservator.preserve(html);
18
+ const result = context.getProcessedHtml();
19
+ // Assert
20
+ expect(result).toBe('<div data-style="color: red;"><span data-style="font-weight: bold;">Bold text</span></div>');
21
+ });
22
+ it('should handle HTML without style attributes', () => {
23
+ // Arrange
24
+ const html = '<div class="test"><span>Regular text</span></div>';
25
+ // Act
26
+ const context = StylePreservator.preserve(html);
27
+ const result = context.getProcessedHtml();
28
+ // Assert
29
+ expect(result).toBe('<div class="test"><span>Regular text</span></div>');
30
+ });
31
+ it('should handle empty string input', () => {
32
+ // Arrange
33
+ const html = '';
34
+ // Act
35
+ const context = StylePreservator.preserve(html);
36
+ const result = context.getProcessedHtml();
37
+ // Assert
38
+ expect(result).toBe('');
39
+ });
40
+ it('should handle complex nested HTML with multiple style attributes', () => {
41
+ // Arrange
42
+ const html = `
43
+ <div style="padding: 20px; background: white;">
44
+ <header style="margin-bottom: 10px;">
45
+ <h1 style="font-size: 24px; color: blue;">Title</h1>
46
+ </header>
47
+ </div>
48
+ `;
49
+ // Act
50
+ const context = StylePreservator.preserve(html);
51
+ const result = context.getProcessedHtml();
52
+ // Assert
53
+ const expected = `
54
+ <div data-style="padding: 20px; background: white;">
55
+ <header data-style="margin-bottom: 10px;">
56
+ <h1 data-style="font-size: 24px; color: blue;">Title</h1>
57
+ </header>
58
+ </div>
59
+ `;
60
+ expect(result).toBe(expected);
61
+ });
62
+ it('should handle self-closing tags with style attributes', () => {
63
+ // Arrange
64
+ const html = '<img src="test.jpg" style="width: 100px; height: 100px;" alt="Test image" />';
65
+ // Act
66
+ const context = StylePreservator.preserve(html);
67
+ const result = context.getProcessedHtml();
68
+ // Assert
69
+ expect(result).toBe('<img src="test.jpg" data-style="width: 100px; height: 100px;" alt="Test image" />');
70
+ });
71
+ });
72
+ describe('StylePreservationContext', () => {
73
+ describe('restore', () => {
74
+ it('should restore data-style to style attribute for single element', () => {
75
+ // Arrange
76
+ const html = '<span data-style="font-weight: bold; color: red;">Bold text</span>';
77
+ const parser = new DOMParser();
78
+ const doc = parser.parseFromString(html, 'text/html');
79
+ const nodes = Array.from(doc.body.children);
80
+ const context = new StylePreservationContext('');
81
+ // Act
82
+ context.restore(nodes);
83
+ // Assert
84
+ const spanElement = nodes[0];
85
+ expect(spanElement.style.fontWeight).toBe('bold');
86
+ expect(spanElement.style.color).toBe('red');
87
+ expect(spanElement.hasAttribute('data-style')).toBe(false);
88
+ });
89
+ it('should restore data-style to style attribute for nested elements', () => {
90
+ // Arrange
91
+ const html = `
92
+ <div data-style="margin: 10px;">
93
+ <span data-style="font-weight: bold;">Bold text</span>
94
+ <p data-style="color: blue;">Blue paragraph</p>
95
+ </div>
96
+ `;
97
+ const parser = new DOMParser();
98
+ const doc = parser.parseFromString(html, 'text/html');
99
+ const nodes = Array.from(doc.body.children);
100
+ const context = new StylePreservationContext('');
101
+ // Act
102
+ context.restore(nodes);
103
+ // Assert
104
+ const divElement = nodes[0];
105
+ const spanElement = divElement.querySelector('span');
106
+ const pElement = divElement.querySelector('p');
107
+ expect(divElement.style.margin).toBe('10px');
108
+ expect(divElement.hasAttribute('data-style')).toBe(false);
109
+ expect(spanElement.style.fontWeight).toBe('bold');
110
+ expect(spanElement.hasAttribute('data-style')).toBe(false);
111
+ expect(pElement.style.color).toBe('blue');
112
+ expect(pElement.hasAttribute('data-style')).toBe(false);
113
+ });
114
+ it('should handle elements without data-style attributes', () => {
115
+ // Arrange
116
+ const html = '<div><span>Regular text</span><p>Normal paragraph</p></div>';
117
+ const parser = new DOMParser();
118
+ const doc = parser.parseFromString(html, 'text/html');
119
+ const nodes = Array.from(doc.body.children);
120
+ const context = new StylePreservationContext('');
121
+ // Act & Assert - should not throw any errors
122
+ expect(() => context.restore(nodes)).not.toThrow();
123
+ const divElement = nodes[0];
124
+ const spanElement = divElement.querySelector('span');
125
+ const pElement = divElement.querySelector('p');
126
+ expect(divElement.style.cssText).toBe('');
127
+ expect(spanElement.style.cssText).toBe('');
128
+ expect(pElement.style.cssText).toBe('');
129
+ });
130
+ it('should handle empty array of nodes', () => {
131
+ // Arrange
132
+ const nodes = [];
133
+ const context = new StylePreservationContext('');
134
+ // Act & Assert - should not throw any errors
135
+ expect(() => context.restore(nodes)).not.toThrow();
136
+ });
137
+ it('should handle complex CSS values', () => {
138
+ // Arrange
139
+ const html = '<div data-style="background: linear-gradient(45deg, red, blue); transform: rotate(45deg);">Complex styles</div>';
140
+ const parser = new DOMParser();
141
+ const doc = parser.parseFromString(html, 'text/html');
142
+ const nodes = Array.from(doc.body.children);
143
+ const context = new StylePreservationContext('');
144
+ // Act
145
+ context.restore(nodes);
146
+ // Assert
147
+ const divElement = nodes[0];
148
+ expect(divElement.style.background).toContain('linear-gradient');
149
+ expect(divElement.style.transform).toContain('rotate(45deg)');
150
+ expect(divElement.hasAttribute('data-style')).toBe(false);
151
+ });
152
+ });
153
+ describe('complete workflow', () => {
154
+ it('should preserve and restore styles correctly', () => {
155
+ // Arrange
156
+ const originalHtml = '<div style="color: red; font-weight: bold;">Test content</div>';
157
+ // Act - Preserve styles
158
+ const context = StylePreservator.preserve(originalHtml);
159
+ const processedHtml = context.getProcessedHtml();
160
+ // Parse the processed HTML
161
+ const parser = new DOMParser();
162
+ const doc = parser.parseFromString(processedHtml, 'text/html');
163
+ const nodes = Array.from(doc.body.children);
164
+ // Restore styles
165
+ context.restore(nodes);
166
+ // Assert
167
+ expect(processedHtml).toBe('<div data-style="color: red; font-weight: bold;">Test content</div>');
168
+ const divElement = nodes[0];
169
+ expect(divElement.style.color).toBe('red');
170
+ expect(divElement.style.fontWeight).toBe('bold');
171
+ expect(divElement.hasAttribute('data-style')).toBe(false);
172
+ });
173
+ it('should handle complex nested workflow', () => {
174
+ // Arrange
175
+ const originalHtml = `
176
+ <div style="padding: 20px;">
177
+ <h1 style="color: blue;">Title</h1>
178
+ <p style="text-align: center;">
179
+ <span style="font-weight: bold;">Bold text</span>
180
+ </p>
181
+ </div>
182
+ `;
183
+ // Act - Complete workflow
184
+ const context = StylePreservator.preserve(originalHtml);
185
+ const processedHtml = context.getProcessedHtml();
186
+ const parser = new DOMParser();
187
+ const doc = parser.parseFromString(processedHtml, 'text/html');
188
+ const nodes = Array.from(doc.body.children);
189
+ context.restore(nodes);
190
+ // Assert
191
+ const divElement = nodes[0];
192
+ const h1Element = divElement.querySelector('h1');
193
+ const pElement = divElement.querySelector('p');
194
+ const spanElement = divElement.querySelector('span');
195
+ expect(divElement.style.padding).toBe('20px');
196
+ expect(h1Element.style.color).toBe('blue');
197
+ expect(pElement.style.textAlign).toBe('center');
198
+ expect(spanElement.style.fontWeight).toBe('bold');
199
+ // All data-style attributes should be removed
200
+ expect(divElement.hasAttribute('data-style')).toBe(false);
201
+ expect(h1Element.hasAttribute('data-style')).toBe(false);
202
+ expect(pElement.hasAttribute('data-style')).toBe(false);
203
+ expect(spanElement.hasAttribute('data-style')).toBe(false);
204
+ });
205
+ });
206
+ });
207
+ });