@globalpayments/vega 2.62.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 (580) 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 +8 -7
  15. package/dist/cjs/{min-number-rule-965fc43d.js → min-number-rule-dc555309.js} +14 -8
  16. package/dist/cjs/{public-rules-5d0f3a5f.js → public-rules-7e9b633d.js} +6 -4
  17. package/dist/cjs/{range-cfc45f9e.js → range-44f08955.js} +1 -1
  18. package/dist/cjs/{responsive-format-facade-7e933525.js → responsive-format-facade-a7fbefc4.js} +4 -3
  19. package/dist/cjs/{rich-text-editor-required-rule-72170c10.js → rich-text-editor-required-rule-a0618c85.js} +1 -1
  20. package/dist/cjs/{style-formatter-702df81e.js → style-formatter-795451f2.js} +1 -1
  21. package/dist/cjs/{token-extension-23ccff1d.js → token-extension-4764d5f3.js} +3 -3
  22. package/dist/cjs/vega-accordion.cjs.entry.js +7 -6
  23. package/dist/cjs/vega-app-footer.cjs.entry.js +3 -1
  24. package/dist/cjs/vega-app-header-button.cjs.entry.js +8 -7
  25. package/dist/cjs/vega-bar-chart.cjs.entry.js +2 -2
  26. package/dist/cjs/vega-box.cjs.entry.js +15 -8
  27. package/dist/cjs/vega-brand-logo.cjs.entry.js +3 -1
  28. package/dist/cjs/vega-breadcrumb.cjs.entry.js +39 -71
  29. package/dist/cjs/vega-button-circle.cjs.entry.js +7 -6
  30. package/dist/cjs/vega-button-link.cjs.entry.js +15 -13
  31. package/dist/cjs/vega-button.cjs.entry.js +6 -5
  32. package/dist/cjs/vega-calendar_4.cjs.entry.js +3 -2
  33. package/dist/cjs/vega-card.cjs.entry.js +7 -6
  34. package/dist/cjs/vega-carousel.cjs.entry.js +6 -5
  35. package/dist/cjs/vega-chip.cjs.entry.js +8 -7
  36. package/dist/cjs/vega-code-block.cjs.entry.js +258 -153
  37. package/dist/cjs/vega-date-picker_2.cjs.entry.js +7 -6
  38. package/dist/cjs/vega-dialog_2.cjs.entry.js +8 -7
  39. package/dist/cjs/vega-divider.cjs.entry.js +8 -7
  40. package/dist/cjs/vega-dropdown_5.cjs.entry.js +8 -7
  41. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  42. package/dist/cjs/vega-flag-icon.cjs.entry.js +10 -9
  43. package/dist/cjs/vega-flex.cjs.entry.js +9 -8
  44. package/dist/cjs/vega-font.cjs.entry.js +7 -6
  45. package/dist/cjs/vega-grid.cjs.entry.js +7 -6
  46. package/dist/cjs/vega-icon.cjs.entry.js +7 -6
  47. package/dist/cjs/vega-image-uploader.cjs.entry.js +20 -10
  48. package/dist/cjs/vega-input-credit-card.cjs.entry.js +1 -1
  49. package/dist/cjs/vega-input-numeric.cjs.entry.js +47 -1
  50. package/dist/cjs/vega-input-phone-number.cjs.entry.js +5 -4
  51. package/dist/cjs/vega-input-select.cjs.entry.js +6 -5
  52. package/dist/cjs/vega-input.cjs.entry.js +1 -1
  53. package/dist/cjs/vega-left-nav_5.cjs.entry.js +8 -7
  54. package/dist/cjs/vega-line-chart.cjs.entry.js +2 -2
  55. package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +7 -6
  56. package/dist/cjs/vega-nonce-manager-f927497f.js +103 -0
  57. package/dist/cjs/vega-pagination.cjs.entry.js +6 -5
  58. package/dist/cjs/vega-pie-chart.cjs.entry.js +1 -1
  59. package/dist/cjs/vega-popover_2.cjs.entry.js +8 -7
  60. package/dist/cjs/vega-rich-text-content.cjs.entry.js +5 -4
  61. package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +16 -12
  62. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +7 -6
  63. package/dist/cjs/vega-sidenav_3.cjs.entry.js +7 -6
  64. package/dist/cjs/vega-signature-capture.cjs.entry.js +14 -19
  65. package/dist/cjs/vega-stepper.cjs.entry.js +1 -1
  66. package/dist/cjs/vega-table_8.cjs.entry.js +7 -6
  67. package/dist/cjs/vega-textarea.cjs.entry.js +7 -1
  68. package/dist/cjs/vega-time-picker_2.cjs.entry.js +15 -6
  69. package/dist/cjs/vega-tooltip_2.cjs.entry.js +7 -6
  70. package/dist/cjs/vega.cjs.js +8 -7
  71. package/dist/cjs/{y-axis-input-processor-19a07af5.js → y-axis-input-processor-9fbfd5e7.js} +1 -1
  72. package/dist/collection/components/vega-box/slimmers/controllers/vega-box-responsive-style-controller.js +4 -0
  73. package/dist/collection/components/vega-box/slimmers/controllers/vega-box-state-styles-controller.js +4 -0
  74. package/dist/collection/components/vega-breadcrumb/slimmers/renderers/vega-breadcrumb-collapsed-item-renderer.js +4 -13
  75. package/dist/collection/components/vega-breadcrumb/slimmers/renderers/vega-breadcrumb-item-renderer.js +19 -5
  76. package/dist/collection/components/vega-breadcrumb/vega-breadcrumb.js +6 -5
  77. package/dist/collection/components/vega-button-link/vega-button-link.js +18 -19
  78. package/dist/collection/components/vega-calendar/vega-calendar-event/slimmers/renderers/vega-calendar-event-renderer.js +2 -1
  79. package/dist/collection/components/vega-calendar/vega-calendar-event-preview/slimmers/renderers/vega-calendar-event-preview-detail-renderer.js +2 -1
  80. package/dist/collection/components/vega-code-block/slimmers/controllers/code-input-paste.abstract.js +65 -0
  81. package/dist/collection/components/vega-code-block/slimmers/controllers/vega-code-block-input-controller.js +3 -75
  82. package/dist/collection/components/vega-code-block/slimmers/controllers/vega-code-block-input-paste-controller.js +109 -0
  83. package/dist/collection/components/vega-code-block/vega-code-block.js +5 -0
  84. package/dist/collection/components/vega-flag-icon/assets/flags/ac.js +1 -1
  85. package/dist/collection/components/vega-flag-icon/assets/flags/ad.js +1 -1
  86. package/dist/collection/components/vega-flag-icon/assets/flags/ae.js +1 -1
  87. package/dist/collection/components/vega-flag-icon/assets/flags/af.js +1 -1
  88. package/dist/collection/components/vega-flag-icon/assets/flags/ag.js +1 -1
  89. package/dist/collection/components/vega-flag-icon/assets/flags/ai.js +1 -1
  90. package/dist/collection/components/vega-flag-icon/assets/flags/al.js +1 -1
  91. package/dist/collection/components/vega-flag-icon/assets/flags/am.js +1 -1
  92. package/dist/collection/components/vega-flag-icon/assets/flags/ao.js +1 -1
  93. package/dist/collection/components/vega-flag-icon/assets/flags/ar.js +1 -1
  94. package/dist/collection/components/vega-flag-icon/assets/flags/as.js +1 -1
  95. package/dist/collection/components/vega-flag-icon/assets/flags/at.js +1 -1
  96. package/dist/collection/components/vega-flag-icon/assets/flags/au.js +1 -1
  97. package/dist/collection/components/vega-flag-icon/assets/flags/aw.js +1 -1
  98. package/dist/collection/components/vega-flag-icon/assets/flags/ax.js +1 -1
  99. package/dist/collection/components/vega-flag-icon/assets/flags/az.js +1 -1
  100. package/dist/collection/components/vega-flag-icon/assets/flags/ba.js +1 -1
  101. package/dist/collection/components/vega-flag-icon/assets/flags/bb.js +1 -1
  102. package/dist/collection/components/vega-flag-icon/assets/flags/bd.js +1 -1
  103. package/dist/collection/components/vega-flag-icon/assets/flags/be.js +1 -1
  104. package/dist/collection/components/vega-flag-icon/assets/flags/bf.js +1 -1
  105. package/dist/collection/components/vega-flag-icon/assets/flags/bg.js +1 -1
  106. package/dist/collection/components/vega-flag-icon/assets/flags/bh.js +1 -1
  107. package/dist/collection/components/vega-flag-icon/assets/flags/bi.js +1 -1
  108. package/dist/collection/components/vega-flag-icon/assets/flags/bj.js +1 -1
  109. package/dist/collection/components/vega-flag-icon/assets/flags/bl.js +1 -1
  110. package/dist/collection/components/vega-flag-icon/assets/flags/bm.js +1 -1
  111. package/dist/collection/components/vega-flag-icon/assets/flags/bn.js +1 -1
  112. package/dist/collection/components/vega-flag-icon/assets/flags/bo.js +1 -1
  113. package/dist/collection/components/vega-flag-icon/assets/flags/bq.js +1 -1
  114. package/dist/collection/components/vega-flag-icon/assets/flags/br.js +1 -1
  115. package/dist/collection/components/vega-flag-icon/assets/flags/bs.js +1 -1
  116. package/dist/collection/components/vega-flag-icon/assets/flags/bt.js +1 -1
  117. package/dist/collection/components/vega-flag-icon/assets/flags/bw.js +1 -1
  118. package/dist/collection/components/vega-flag-icon/assets/flags/by.js +1 -1
  119. package/dist/collection/components/vega-flag-icon/assets/flags/bz.js +1 -1
  120. package/dist/collection/components/vega-flag-icon/assets/flags/ca.js +1 -1
  121. package/dist/collection/components/vega-flag-icon/assets/flags/cc.js +1 -1
  122. package/dist/collection/components/vega-flag-icon/assets/flags/cd.js +1 -1
  123. package/dist/collection/components/vega-flag-icon/assets/flags/cf.js +1 -1
  124. package/dist/collection/components/vega-flag-icon/assets/flags/cg.js +1 -1
  125. package/dist/collection/components/vega-flag-icon/assets/flags/ch.js +1 -1
  126. package/dist/collection/components/vega-flag-icon/assets/flags/ci.js +1 -1
  127. package/dist/collection/components/vega-flag-icon/assets/flags/ck.js +1 -1
  128. package/dist/collection/components/vega-flag-icon/assets/flags/cl.js +1 -1
  129. package/dist/collection/components/vega-flag-icon/assets/flags/cm.js +1 -1
  130. package/dist/collection/components/vega-flag-icon/assets/flags/cn.js +1 -1
  131. package/dist/collection/components/vega-flag-icon/assets/flags/co.js +1 -1
  132. package/dist/collection/components/vega-flag-icon/assets/flags/cr.js +1 -1
  133. package/dist/collection/components/vega-flag-icon/assets/flags/cu.js +1 -1
  134. package/dist/collection/components/vega-flag-icon/assets/flags/cv.js +1 -1
  135. package/dist/collection/components/vega-flag-icon/assets/flags/cw.js +1 -1
  136. package/dist/collection/components/vega-flag-icon/assets/flags/cx.js +1 -1
  137. package/dist/collection/components/vega-flag-icon/assets/flags/cy.js +1 -1
  138. package/dist/collection/components/vega-flag-icon/assets/flags/cz.js +1 -1
  139. package/dist/collection/components/vega-flag-icon/assets/flags/de.js +1 -1
  140. package/dist/collection/components/vega-flag-icon/assets/flags/dj.js +1 -1
  141. package/dist/collection/components/vega-flag-icon/assets/flags/dk.js +1 -1
  142. package/dist/collection/components/vega-flag-icon/assets/flags/dm.js +1 -1
  143. package/dist/collection/components/vega-flag-icon/assets/flags/do.js +1 -1
  144. package/dist/collection/components/vega-flag-icon/assets/flags/dz.js +1 -1
  145. package/dist/collection/components/vega-flag-icon/assets/flags/ec.js +1 -1
  146. package/dist/collection/components/vega-flag-icon/assets/flags/ee.js +1 -1
  147. package/dist/collection/components/vega-flag-icon/assets/flags/eg.js +1 -1
  148. package/dist/collection/components/vega-flag-icon/assets/flags/eh.js +1 -1
  149. package/dist/collection/components/vega-flag-icon/assets/flags/er.js +1 -1
  150. package/dist/collection/components/vega-flag-icon/assets/flags/es.js +1 -1
  151. package/dist/collection/components/vega-flag-icon/assets/flags/et.js +1 -1
  152. package/dist/collection/components/vega-flag-icon/assets/flags/fi.js +1 -1
  153. package/dist/collection/components/vega-flag-icon/assets/flags/fj.js +1 -1
  154. package/dist/collection/components/vega-flag-icon/assets/flags/fk.js +1 -1
  155. package/dist/collection/components/vega-flag-icon/assets/flags/fm.js +1 -1
  156. package/dist/collection/components/vega-flag-icon/assets/flags/fo.js +1 -1
  157. package/dist/collection/components/vega-flag-icon/assets/flags/fr.js +1 -1
  158. package/dist/collection/components/vega-flag-icon/assets/flags/ga.js +1 -1
  159. package/dist/collection/components/vega-flag-icon/assets/flags/gb.js +1 -1
  160. package/dist/collection/components/vega-flag-icon/assets/flags/gd.js +1 -1
  161. package/dist/collection/components/vega-flag-icon/assets/flags/ge.js +1 -1
  162. package/dist/collection/components/vega-flag-icon/assets/flags/gf.js +1 -1
  163. package/dist/collection/components/vega-flag-icon/assets/flags/gg.js +1 -1
  164. package/dist/collection/components/vega-flag-icon/assets/flags/gh.js +1 -1
  165. package/dist/collection/components/vega-flag-icon/assets/flags/gi.js +1 -1
  166. package/dist/collection/components/vega-flag-icon/assets/flags/gl.js +1 -1
  167. package/dist/collection/components/vega-flag-icon/assets/flags/gm.js +1 -1
  168. package/dist/collection/components/vega-flag-icon/assets/flags/gn.js +1 -1
  169. package/dist/collection/components/vega-flag-icon/assets/flags/gp.js +1 -1
  170. package/dist/collection/components/vega-flag-icon/assets/flags/gq.js +1 -1
  171. package/dist/collection/components/vega-flag-icon/assets/flags/gr.js +1 -1
  172. package/dist/collection/components/vega-flag-icon/assets/flags/gt.js +1 -1
  173. package/dist/collection/components/vega-flag-icon/assets/flags/gu.js +1 -1
  174. package/dist/collection/components/vega-flag-icon/assets/flags/gw.js +1 -1
  175. package/dist/collection/components/vega-flag-icon/assets/flags/gy.js +1 -1
  176. package/dist/collection/components/vega-flag-icon/assets/flags/hk.js +1 -1
  177. package/dist/collection/components/vega-flag-icon/assets/flags/hn.js +1 -1
  178. package/dist/collection/components/vega-flag-icon/assets/flags/hr.js +1 -1
  179. package/dist/collection/components/vega-flag-icon/assets/flags/ht.js +1 -1
  180. package/dist/collection/components/vega-flag-icon/assets/flags/hu.js +1 -1
  181. package/dist/collection/components/vega-flag-icon/assets/flags/id.js +1 -1
  182. package/dist/collection/components/vega-flag-icon/assets/flags/ie.js +1 -1
  183. package/dist/collection/components/vega-flag-icon/assets/flags/il.js +1 -1
  184. package/dist/collection/components/vega-flag-icon/assets/flags/im.js +1 -1
  185. package/dist/collection/components/vega-flag-icon/assets/flags/in.js +1 -1
  186. package/dist/collection/components/vega-flag-icon/assets/flags/io.js +1 -1
  187. package/dist/collection/components/vega-flag-icon/assets/flags/iq.js +1 -1
  188. package/dist/collection/components/vega-flag-icon/assets/flags/ir.js +1 -1
  189. package/dist/collection/components/vega-flag-icon/assets/flags/is.js +1 -1
  190. package/dist/collection/components/vega-flag-icon/assets/flags/it.js +1 -1
  191. package/dist/collection/components/vega-flag-icon/assets/flags/je.js +1 -1
  192. package/dist/collection/components/vega-flag-icon/assets/flags/jm.js +1 -1
  193. package/dist/collection/components/vega-flag-icon/assets/flags/jo.js +1 -1
  194. package/dist/collection/components/vega-flag-icon/assets/flags/jp.js +1 -1
  195. package/dist/collection/components/vega-flag-icon/assets/flags/ke.js +1 -1
  196. package/dist/collection/components/vega-flag-icon/assets/flags/kg.js +1 -1
  197. package/dist/collection/components/vega-flag-icon/assets/flags/kh.js +1 -1
  198. package/dist/collection/components/vega-flag-icon/assets/flags/ki.js +1 -1
  199. package/dist/collection/components/vega-flag-icon/assets/flags/km.js +1 -1
  200. package/dist/collection/components/vega-flag-icon/assets/flags/kn.js +1 -1
  201. package/dist/collection/components/vega-flag-icon/assets/flags/kp.js +1 -1
  202. package/dist/collection/components/vega-flag-icon/assets/flags/kr.js +1 -1
  203. package/dist/collection/components/vega-flag-icon/assets/flags/kw.js +1 -1
  204. package/dist/collection/components/vega-flag-icon/assets/flags/ky.js +1 -1
  205. package/dist/collection/components/vega-flag-icon/assets/flags/kz.js +1 -1
  206. package/dist/collection/components/vega-flag-icon/assets/flags/la.js +1 -1
  207. package/dist/collection/components/vega-flag-icon/assets/flags/lb.js +1 -1
  208. package/dist/collection/components/vega-flag-icon/assets/flags/lc.js +1 -1
  209. package/dist/collection/components/vega-flag-icon/assets/flags/li.js +1 -1
  210. package/dist/collection/components/vega-flag-icon/assets/flags/lk.js +1 -1
  211. package/dist/collection/components/vega-flag-icon/assets/flags/lr.js +1 -1
  212. package/dist/collection/components/vega-flag-icon/assets/flags/ls.js +1 -1
  213. package/dist/collection/components/vega-flag-icon/assets/flags/lt.js +1 -1
  214. package/dist/collection/components/vega-flag-icon/assets/flags/lu.js +1 -1
  215. package/dist/collection/components/vega-flag-icon/assets/flags/lv.js +1 -1
  216. package/dist/collection/components/vega-flag-icon/assets/flags/ly.js +1 -1
  217. package/dist/collection/components/vega-flag-icon/assets/flags/ma.js +1 -1
  218. package/dist/collection/components/vega-flag-icon/assets/flags/mc.js +1 -1
  219. package/dist/collection/components/vega-flag-icon/assets/flags/md.js +1 -1
  220. package/dist/collection/components/vega-flag-icon/assets/flags/me.js +1 -1
  221. package/dist/collection/components/vega-flag-icon/assets/flags/mf.js +1 -1
  222. package/dist/collection/components/vega-flag-icon/assets/flags/mg.js +1 -1
  223. package/dist/collection/components/vega-flag-icon/assets/flags/mh.js +1 -1
  224. package/dist/collection/components/vega-flag-icon/assets/flags/mk.js +1 -1
  225. package/dist/collection/components/vega-flag-icon/assets/flags/ml.js +1 -1
  226. package/dist/collection/components/vega-flag-icon/assets/flags/mm.js +1 -1
  227. package/dist/collection/components/vega-flag-icon/assets/flags/mn.js +1 -1
  228. package/dist/collection/components/vega-flag-icon/assets/flags/mo.js +1 -1
  229. package/dist/collection/components/vega-flag-icon/assets/flags/mp.js +1 -1
  230. package/dist/collection/components/vega-flag-icon/assets/flags/mq.js +1 -1
  231. package/dist/collection/components/vega-flag-icon/assets/flags/mr.js +1 -1
  232. package/dist/collection/components/vega-flag-icon/assets/flags/ms.js +1 -1
  233. package/dist/collection/components/vega-flag-icon/assets/flags/mt.js +1 -1
  234. package/dist/collection/components/vega-flag-icon/assets/flags/mu.js +1 -1
  235. package/dist/collection/components/vega-flag-icon/assets/flags/mv.js +1 -1
  236. package/dist/collection/components/vega-flag-icon/assets/flags/mw.js +1 -1
  237. package/dist/collection/components/vega-flag-icon/assets/flags/mx.js +1 -1
  238. package/dist/collection/components/vega-flag-icon/assets/flags/my.js +1 -1
  239. package/dist/collection/components/vega-flag-icon/assets/flags/mz.js +1 -1
  240. package/dist/collection/components/vega-flag-icon/assets/flags/na.js +1 -1
  241. package/dist/collection/components/vega-flag-icon/assets/flags/nc.js +1 -1
  242. package/dist/collection/components/vega-flag-icon/assets/flags/ne.js +1 -1
  243. package/dist/collection/components/vega-flag-icon/assets/flags/nf.js +1 -1
  244. package/dist/collection/components/vega-flag-icon/assets/flags/ng.js +1 -1
  245. package/dist/collection/components/vega-flag-icon/assets/flags/ni.js +1 -1
  246. package/dist/collection/components/vega-flag-icon/assets/flags/nl.js +1 -1
  247. package/dist/collection/components/vega-flag-icon/assets/flags/no.js +1 -1
  248. package/dist/collection/components/vega-flag-icon/assets/flags/np.js +1 -1
  249. package/dist/collection/components/vega-flag-icon/assets/flags/nr.js +1 -1
  250. package/dist/collection/components/vega-flag-icon/assets/flags/nu.js +1 -1
  251. package/dist/collection/components/vega-flag-icon/assets/flags/nz.js +1 -1
  252. package/dist/collection/components/vega-flag-icon/assets/flags/om.js +1 -1
  253. package/dist/collection/components/vega-flag-icon/assets/flags/pa.js +1 -1
  254. package/dist/collection/components/vega-flag-icon/assets/flags/pe.js +1 -1
  255. package/dist/collection/components/vega-flag-icon/assets/flags/pf.js +1 -1
  256. package/dist/collection/components/vega-flag-icon/assets/flags/pg.js +1 -1
  257. package/dist/collection/components/vega-flag-icon/assets/flags/ph.js +1 -1
  258. package/dist/collection/components/vega-flag-icon/assets/flags/pk.js +1 -1
  259. package/dist/collection/components/vega-flag-icon/assets/flags/pl.js +1 -1
  260. package/dist/collection/components/vega-flag-icon/assets/flags/pm.js +1 -1
  261. package/dist/collection/components/vega-flag-icon/assets/flags/pr.js +1 -1
  262. package/dist/collection/components/vega-flag-icon/assets/flags/ps.js +1 -1
  263. package/dist/collection/components/vega-flag-icon/assets/flags/pt.js +1 -1
  264. package/dist/collection/components/vega-flag-icon/assets/flags/pw.js +1 -1
  265. package/dist/collection/components/vega-flag-icon/assets/flags/py.js +1 -1
  266. package/dist/collection/components/vega-flag-icon/assets/flags/qa.js +1 -1
  267. package/dist/collection/components/vega-flag-icon/assets/flags/re.js +1 -1
  268. package/dist/collection/components/vega-flag-icon/assets/flags/ro.js +1 -1
  269. package/dist/collection/components/vega-flag-icon/assets/flags/rs.js +1 -1
  270. package/dist/collection/components/vega-flag-icon/assets/flags/ru.js +1 -1
  271. package/dist/collection/components/vega-flag-icon/assets/flags/rw.js +1 -1
  272. package/dist/collection/components/vega-flag-icon/assets/flags/sa.js +1 -1
  273. package/dist/collection/components/vega-flag-icon/assets/flags/sb.js +1 -1
  274. package/dist/collection/components/vega-flag-icon/assets/flags/sc.js +1 -1
  275. package/dist/collection/components/vega-flag-icon/assets/flags/sd.js +1 -1
  276. package/dist/collection/components/vega-flag-icon/assets/flags/se.js +1 -1
  277. package/dist/collection/components/vega-flag-icon/assets/flags/sg.js +1 -1
  278. package/dist/collection/components/vega-flag-icon/assets/flags/sh.js +1 -1
  279. package/dist/collection/components/vega-flag-icon/assets/flags/si.js +1 -1
  280. package/dist/collection/components/vega-flag-icon/assets/flags/sj.js +1 -1
  281. package/dist/collection/components/vega-flag-icon/assets/flags/sk.js +1 -1
  282. package/dist/collection/components/vega-flag-icon/assets/flags/sl.js +1 -1
  283. package/dist/collection/components/vega-flag-icon/assets/flags/sm.js +1 -1
  284. package/dist/collection/components/vega-flag-icon/assets/flags/sn.js +1 -1
  285. package/dist/collection/components/vega-flag-icon/assets/flags/so.js +1 -1
  286. package/dist/collection/components/vega-flag-icon/assets/flags/sr.js +1 -1
  287. package/dist/collection/components/vega-flag-icon/assets/flags/ss.js +1 -1
  288. package/dist/collection/components/vega-flag-icon/assets/flags/st.js +1 -1
  289. package/dist/collection/components/vega-flag-icon/assets/flags/sv.js +1 -1
  290. package/dist/collection/components/vega-flag-icon/assets/flags/sx.js +1 -1
  291. package/dist/collection/components/vega-flag-icon/assets/flags/sy.js +1 -1
  292. package/dist/collection/components/vega-flag-icon/assets/flags/sz.js +1 -1
  293. package/dist/collection/components/vega-flag-icon/assets/flags/ta.js +1 -1
  294. package/dist/collection/components/vega-flag-icon/assets/flags/tc.js +1 -1
  295. package/dist/collection/components/vega-flag-icon/assets/flags/td.js +1 -1
  296. package/dist/collection/components/vega-flag-icon/assets/flags/tg.js +1 -1
  297. package/dist/collection/components/vega-flag-icon/assets/flags/th.js +1 -1
  298. package/dist/collection/components/vega-flag-icon/assets/flags/tj.js +1 -1
  299. package/dist/collection/components/vega-flag-icon/assets/flags/tk.js +1 -1
  300. package/dist/collection/components/vega-flag-icon/assets/flags/tl.js +1 -1
  301. package/dist/collection/components/vega-flag-icon/assets/flags/tm.js +1 -1
  302. package/dist/collection/components/vega-flag-icon/assets/flags/tn.js +1 -1
  303. package/dist/collection/components/vega-flag-icon/assets/flags/to.js +1 -1
  304. package/dist/collection/components/vega-flag-icon/assets/flags/tr.js +1 -1
  305. package/dist/collection/components/vega-flag-icon/assets/flags/tt.js +1 -1
  306. package/dist/collection/components/vega-flag-icon/assets/flags/tv.js +1 -1
  307. package/dist/collection/components/vega-flag-icon/assets/flags/tw.js +1 -1
  308. package/dist/collection/components/vega-flag-icon/assets/flags/tz.js +1 -1
  309. package/dist/collection/components/vega-flag-icon/assets/flags/ua.js +1 -1
  310. package/dist/collection/components/vega-flag-icon/assets/flags/ug.js +1 -1
  311. package/dist/collection/components/vega-flag-icon/assets/flags/us.js +1 -1
  312. package/dist/collection/components/vega-flag-icon/assets/flags/uy.js +1 -1
  313. package/dist/collection/components/vega-flag-icon/assets/flags/uz.js +1 -1
  314. package/dist/collection/components/vega-flag-icon/assets/flags/va.js +1 -1
  315. package/dist/collection/components/vega-flag-icon/assets/flags/vc.js +1 -1
  316. package/dist/collection/components/vega-flag-icon/assets/flags/ve.js +1 -1
  317. package/dist/collection/components/vega-flag-icon/assets/flags/vg.js +1 -1
  318. package/dist/collection/components/vega-flag-icon/assets/flags/vi.js +1 -1
  319. package/dist/collection/components/vega-flag-icon/assets/flags/vn.js +1 -1
  320. package/dist/collection/components/vega-flag-icon/assets/flags/vu.js +1 -1
  321. package/dist/collection/components/vega-flag-icon/assets/flags/wf.js +1 -1
  322. package/dist/collection/components/vega-flag-icon/assets/flags/ws.js +1 -1
  323. package/dist/collection/components/vega-flag-icon/assets/flags/xk.js +1 -1
  324. package/dist/collection/components/vega-flag-icon/assets/flags/ye.js +1 -1
  325. package/dist/collection/components/vega-flag-icon/assets/flags/yt.js +1 -1
  326. package/dist/collection/components/vega-flag-icon/assets/flags/za.js +1 -1
  327. package/dist/collection/components/vega-flag-icon/assets/flags/zm.js +1 -1
  328. package/dist/collection/components/vega-flag-icon/assets/flags/zw.js +1 -1
  329. package/dist/collection/components/vega-flag-icon/slimmers/renderers/vega-flag-icon-renderer.js +1 -1
  330. package/dist/collection/components/vega-flag-icon/vega-flag-icon.css +4 -0
  331. package/dist/collection/components/vega-image-uploader/slimmers/controllers/vega-image-uploader-preview-controller.js +14 -5
  332. package/dist/collection/components/vega-input-credit-card/assets/icons.js +1 -1
  333. package/dist/collection/components/vega-input-numeric/slimmers/renderers/vega-input-numeric-renderer.js +27 -1
  334. package/dist/collection/components/vega-input-numeric/vega-input-numeric.js +64 -0
  335. package/dist/collection/components/vega-rich-text-editor/dto/content-state.js +7 -2
  336. package/dist/collection/components/vega-rich-text-editor/dto/nodes/decorator-node.js +1 -2
  337. package/dist/collection/components/vega-rich-text-editor/dto/nodes/node.abstract.js +8 -0
  338. package/dist/collection/components/vega-rich-text-editor/dto/nodes/text-node.js +2 -3
  339. package/dist/collection/components/vega-rich-text-editor/extensions/languages/language-extension.js +5 -2
  340. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-paste-handler.js +9 -5
  341. package/dist/collection/components/vega-signature-capture/slimmers/written-mode/controllers/written-mode-svg-controller.js +5 -7
  342. package/dist/collection/components/vega-signature-capture/slimmers/written-mode/renderers/written-mode-renderer.js +1 -5
  343. package/dist/collection/components/vega-textarea/vega-textarea.js +28 -1
  344. package/dist/collection/components/vega-time-picker/vega-time-picker.js +10 -2
  345. package/dist/collection/global/scripts/before-vega-load.js +21 -1
  346. package/dist/collection/helpers/chart/renderers/svg-renderer.js +4 -4
  347. package/dist/collection/helpers/csp/styles-preservator.js +71 -0
  348. package/dist/collection/helpers/csp/test/styles-preservator.test.js +207 -0
  349. package/dist/collection/helpers/csp/test/vega-nonce-manager.test.js +166 -0
  350. package/dist/collection/helpers/csp/vega-nonce-manager.js +97 -0
  351. package/dist/collection/helpers/public-api.js +2 -0
  352. package/dist/collection/helpers/slimmers/component-global-style-slimmer.js +4 -0
  353. package/dist/collection/helpers/slimmers/global/vega-nonce-injector-slimmer.js +54 -0
  354. package/dist/collection/helpers/slimmers/test/component-global-style-slimmer.test.js +41 -0
  355. package/dist/collection/helpers/slimmers/test/global/vega-nonce-injector-slimmer.test.js +64 -0
  356. package/dist/collection/helpers/theme/controllers/color-schema-overriding-controller.js +4 -0
  357. package/dist/collection/helpers/theme/controllers/style-controller.abstract.js +4 -0
  358. package/dist/collection/helpers/theme/tests/theme-manager-controller.test.js +33 -0
  359. package/dist/collection/helpers/validator/rules/max-number-rule.js +7 -4
  360. package/dist/collection/helpers/validator/rules/min-number-rule.js +7 -4
  361. package/dist/esm/{app-globals-aaff0b25.js → app-globals-2623304e.js} +85 -13
  362. package/dist/esm/{code-block-68300b47.js → code-block-23e7f8d0.js} +12 -4
  363. package/dist/esm/{component-global-style-slimmer-dad40b64.js → component-global-style-slimmer-5d437fdf.js} +4 -0
  364. package/dist/esm/{component-value-history-controller-slimmer.abstract-ac2f1bfd.js → component-value-history-controller-slimmer.abstract-df25e4a1.js} +2 -2
  365. package/dist/esm/country-flags-39dbfa43.js +2401 -0
  366. package/dist/esm/{dark-mode-style-controller-3bbb32dc.js → dark-mode-style-controller-972e1f06.js} +7 -0
  367. package/dist/esm/{design-token-1a36307e.js → design-token-0f439510.js} +1 -1
  368. package/dist/esm/{dto-renderer-manager-af66bbd9.js → dto-renderer-manager-65b7b1b1.js} +79 -4
  369. package/dist/esm/{element-appender-slimmer-fe68ec2d.js → element-appender-slimmer-bf5ca501.js} +2 -2
  370. package/dist/esm/{image-annotation-action-f61c2693.js → image-annotation-action-af21ea8f.js} +3 -3
  371. package/dist/esm/index.js +10 -9
  372. package/dist/esm/{language-extension-1ada2a9d.js → language-extension-d355f9aa.js} +7 -4
  373. package/dist/esm/{legend-input-processor-1d266967.js → legend-input-processor-5ecae3a7.js} +4 -4
  374. package/dist/esm/loader.js +8 -7
  375. package/dist/esm/{min-number-rule-86421853.js → min-number-rule-2f1cfbf9.js} +14 -8
  376. package/dist/esm/{public-rules-9f62069a.js → public-rules-1a5da7bf.js} +6 -4
  377. package/dist/esm/{range-c2eeb794.js → range-fac2962c.js} +1 -1
  378. package/dist/esm/{responsive-format-facade-5711c77d.js → responsive-format-facade-2904b456.js} +4 -3
  379. package/dist/esm/{rich-text-editor-required-rule-de738309.js → rich-text-editor-required-rule-bb94d680.js} +1 -1
  380. package/dist/esm/{style-formatter-2479dc61.js → style-formatter-a724e38d.js} +1 -1
  381. package/dist/esm/{token-extension-6fc5e1f5.js → token-extension-89eeef74.js} +3 -3
  382. package/dist/esm/vega-accordion.entry.js +7 -6
  383. package/dist/esm/vega-app-footer.entry.js +3 -1
  384. package/dist/esm/vega-app-header-button.entry.js +8 -7
  385. package/dist/esm/vega-bar-chart.entry.js +2 -2
  386. package/dist/esm/vega-box.entry.js +15 -8
  387. package/dist/esm/vega-brand-logo.entry.js +3 -1
  388. package/dist/esm/vega-breadcrumb.entry.js +40 -72
  389. package/dist/esm/vega-button-circle.entry.js +7 -6
  390. package/dist/esm/vega-button-link.entry.js +15 -13
  391. package/dist/esm/vega-button.entry.js +6 -5
  392. package/dist/esm/vega-calendar_4.entry.js +3 -2
  393. package/dist/esm/vega-card.entry.js +7 -6
  394. package/dist/esm/vega-carousel.entry.js +6 -5
  395. package/dist/esm/vega-chip.entry.js +8 -7
  396. package/dist/esm/vega-code-block.entry.js +258 -153
  397. package/dist/esm/vega-date-picker_2.entry.js +7 -6
  398. package/dist/esm/vega-dialog_2.entry.js +8 -7
  399. package/dist/esm/vega-divider.entry.js +8 -7
  400. package/dist/esm/vega-dropdown_5.entry.js +8 -7
  401. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  402. package/dist/esm/vega-flag-icon.entry.js +10 -9
  403. package/dist/esm/vega-flex.entry.js +9 -8
  404. package/dist/esm/vega-font.entry.js +7 -6
  405. package/dist/esm/vega-grid.entry.js +7 -6
  406. package/dist/esm/vega-icon.entry.js +7 -6
  407. package/dist/esm/vega-image-uploader.entry.js +20 -10
  408. package/dist/esm/vega-input-credit-card.entry.js +1 -1
  409. package/dist/esm/vega-input-numeric.entry.js +48 -2
  410. package/dist/esm/vega-input-phone-number.entry.js +5 -4
  411. package/dist/esm/vega-input-select.entry.js +6 -5
  412. package/dist/esm/vega-input.entry.js +1 -1
  413. package/dist/esm/vega-left-nav_5.entry.js +8 -7
  414. package/dist/esm/vega-line-chart.entry.js +2 -2
  415. package/dist/esm/vega-loader-wrapper_2.entry.js +7 -6
  416. package/dist/esm/vega-nonce-manager-87615d3c.js +100 -0
  417. package/dist/esm/vega-pagination.entry.js +6 -5
  418. package/dist/esm/vega-pie-chart.entry.js +1 -1
  419. package/dist/esm/vega-popover_2.entry.js +8 -7
  420. package/dist/esm/vega-rich-text-content.entry.js +5 -4
  421. package/dist/esm/vega-rich-text-editor_4.entry.js +16 -12
  422. package/dist/esm/vega-selection-chip_2.entry.js +7 -6
  423. package/dist/esm/vega-sidenav_3.entry.js +7 -6
  424. package/dist/esm/vega-signature-capture.entry.js +14 -19
  425. package/dist/esm/vega-stepper.entry.js +1 -1
  426. package/dist/esm/vega-table_8.entry.js +7 -6
  427. package/dist/esm/vega-textarea.entry.js +7 -1
  428. package/dist/esm/vega-time-picker_2.entry.js +15 -6
  429. package/dist/esm/vega-tooltip_2.entry.js +7 -6
  430. package/dist/esm/vega.js +8 -7
  431. package/dist/esm/{y-axis-input-processor-95995d34.js → y-axis-input-processor-bc54314a.js} +1 -1
  432. package/dist/types/components/vega-breadcrumb/slimmers/renderers/vega-breadcrumb-collapsed-item-renderer.d.ts +1 -1
  433. package/dist/types/components/vega-breadcrumb/slimmers/renderers/vega-breadcrumb-item-renderer.d.ts +2 -1
  434. package/dist/types/components/vega-breadcrumb/types.d.ts +1 -0
  435. package/dist/types/components/vega-breadcrumb/vega-breadcrumb.d.ts +2 -2
  436. package/dist/types/components/vega-button-link/vega-button-link.d.ts +5 -8
  437. package/dist/types/components/vega-code-block/slimmers/controllers/code-input-paste.abstract.d.ts +46 -0
  438. package/dist/types/components/vega-code-block/slimmers/controllers/vega-code-block-input-controller.d.ts +2 -31
  439. package/dist/types/components/vega-code-block/slimmers/controllers/vega-code-block-input-paste-controller.d.ts +44 -0
  440. package/dist/types/components/vega-code-block/vega-code-block.d.ts +2 -0
  441. package/dist/types/components/vega-input-numeric/slimmers/renderers/vega-input-numeric-renderer.d.ts +3 -0
  442. package/dist/types/components/vega-input-numeric/vega-input-numeric.d.ts +12 -0
  443. package/dist/types/components/vega-rich-text-editor/dto/nodes/node.abstract.d.ts +6 -0
  444. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-paste-handler.d.ts +1 -1
  445. package/dist/types/components/vega-textarea/vega-textarea.d.ts +6 -0
  446. package/dist/types/components/vega-time-picker/vega-time-picker.d.ts +8 -0
  447. package/dist/types/components.d.ts +38 -10
  448. package/dist/types/helpers/csp/styles-preservator.d.ts +47 -0
  449. package/dist/types/helpers/csp/test/styles-preservator.test.d.ts +1 -0
  450. package/dist/types/helpers/csp/test/vega-nonce-manager.test.d.ts +1 -0
  451. package/dist/types/helpers/csp/vega-nonce-manager.d.ts +52 -0
  452. package/dist/types/helpers/public-api.d.ts +2 -0
  453. package/dist/types/helpers/slimmers/global/vega-nonce-injector-slimmer.d.ts +21 -0
  454. package/dist/types/helpers/slimmers/test/global/vega-nonce-injector-slimmer.test.d.ts +1 -0
  455. package/dist/types/helpers/validator/rules/max-number-rule.d.ts +3 -1
  456. package/dist/types/helpers/validator/rules/min-number-rule.d.ts +3 -1
  457. package/dist/vega/index.esm.js +1 -1
  458. package/dist/vega/p-02a4732a.js +1 -0
  459. package/dist/vega/p-0717073b.entry.js +1 -0
  460. package/dist/vega/p-0b36f4ce.js +1 -0
  461. package/dist/vega/p-0bc93777.entry.js +1 -0
  462. package/dist/vega/p-0e3cd270.entry.js +1 -0
  463. package/dist/vega/p-0ec14fbc.entry.js +1 -0
  464. package/dist/vega/p-10454aa5.entry.js +1 -0
  465. package/dist/vega/p-117be41b.js +1 -0
  466. package/dist/vega/p-134ed822.entry.js +1 -0
  467. package/dist/vega/p-20223e8e.entry.js +9 -0
  468. package/dist/vega/p-258f9603.js +1 -0
  469. package/dist/vega/p-2591f217.entry.js +1 -0
  470. package/dist/vega/{p-d2790023.entry.js → p-25c831a4.entry.js} +2 -2
  471. package/dist/vega/{p-39c185a5.js → p-2b90fae6.js} +1 -1
  472. package/dist/vega/p-2d58cf34.entry.js +1 -0
  473. package/dist/vega/p-320cccc5.entry.js +1 -0
  474. package/dist/vega/p-3ab20f9e.entry.js +1 -0
  475. package/dist/vega/p-3be7bfee.entry.js +1 -0
  476. package/dist/vega/p-3e258753.js +1 -0
  477. package/dist/vega/p-3fba9e77.entry.js +1 -0
  478. package/dist/vega/p-40924882.entry.js +1 -0
  479. package/dist/vega/p-427b2b55.entry.js +1 -0
  480. package/dist/vega/p-460429da.entry.js +1 -0
  481. package/dist/vega/{p-111d41fe.js → p-46b077d9.js} +1 -1
  482. package/dist/vega/{p-a646b66d.js → p-4c3075ef.js} +1 -1
  483. package/dist/vega/{p-d3bbfb1b.js → p-4f21faf1.js} +1 -1
  484. package/dist/vega/{p-8f056ac2.js → p-5313d0bc.js} +1 -1
  485. package/dist/vega/p-5397648b.entry.js +1 -0
  486. package/dist/vega/p-54ae02db.js +1 -0
  487. package/dist/vega/p-56ff8559.entry.js +1 -0
  488. package/dist/vega/{p-6b292628.entry.js → p-57257de0.entry.js} +1 -1
  489. package/dist/vega/p-5970369e.entry.js +1 -0
  490. package/dist/vega/{p-9a74eb86.entry.js → p-5e4fb663.entry.js} +1 -1
  491. package/dist/vega/p-5f377954.js +1 -1
  492. package/dist/vega/p-614e450a.entry.js +1 -0
  493. package/dist/vega/{p-d982babe.entry.js → p-6180c1af.entry.js} +1 -1
  494. package/dist/vega/p-648134d2.entry.js +1 -0
  495. package/dist/vega/p-64c281ec.entry.js +1 -0
  496. package/dist/vega/p-657446a3.entry.js +1 -0
  497. package/dist/vega/{p-6caa6bb2.js → p-66199d68.js} +1 -1
  498. package/dist/vega/p-6908117a.js +1 -0
  499. package/dist/vega/p-7bad6577.entry.js +1 -0
  500. package/dist/vega/{p-2a66e2f7.entry.js → p-8175d8de.entry.js} +1 -1
  501. package/dist/vega/{p-9ca0bdcc.js → p-89d2cf34.js} +1 -1
  502. package/dist/vega/{p-74ac2a48.js → p-942fc9b9.js} +1 -1
  503. package/dist/vega/p-969066d3.entry.js +1 -0
  504. package/dist/vega/p-9b2d8516.entry.js +1 -0
  505. package/dist/vega/p-9c309b85.entry.js +1 -0
  506. package/dist/vega/p-9ffd2a96.entry.js +1 -0
  507. package/dist/vega/{p-ce1766fa.js → p-ab29f968.js} +1 -1
  508. package/dist/vega/p-b1054e18.entry.js +1 -0
  509. package/dist/vega/p-b110b7bd.entry.js +1 -0
  510. package/dist/vega/p-b4d88fce.entry.js +1 -0
  511. package/dist/vega/p-b6c51409.entry.js +1 -0
  512. package/dist/vega/{p-05b10af4.js → p-be23bef2.js} +1 -1
  513. package/dist/vega/p-c61f8ca6.entry.js +1 -0
  514. package/dist/vega/p-d15e70d7.entry.js +1 -0
  515. package/dist/vega/p-d85b0bfa.entry.js +1 -0
  516. package/dist/vega/p-d87c3058.entry.js +1 -0
  517. package/dist/vega/{p-e365aba9.entry.js → p-da6369d4.entry.js} +1 -1
  518. package/dist/vega/{p-7da6e7bd.js → p-dadc6ab3.js} +1 -1
  519. package/dist/vega/p-de1ee131.entry.js +1 -0
  520. package/dist/vega/p-e0729c4d.entry.js +1 -0
  521. package/dist/vega/p-e513f041.js +1 -0
  522. package/dist/vega/p-e5cd6521.js +1 -0
  523. package/dist/vega/p-e74c275a.entry.js +1 -0
  524. package/dist/vega/p-f0ff4463.js +1 -0
  525. package/dist/vega/p-f92fc49b.entry.js +1 -0
  526. package/dist/vega/vega.esm.js +1 -1
  527. package/package.json +1 -1
  528. package/dist/cjs/country-flags-dc0f0d09.js +0 -2403
  529. package/dist/collection/components/vega-breadcrumb/slimmers/controllers/vega-breadcrumb-click-controller.js +0 -43
  530. package/dist/esm/country-flags-b68c3349.js +0 -2401
  531. package/dist/types/components/vega-breadcrumb/slimmers/controllers/vega-breadcrumb-click-controller.d.ts +0 -26
  532. package/dist/vega/p-03cc47b7.entry.js +0 -1
  533. package/dist/vega/p-07836d27.entry.js +0 -1
  534. package/dist/vega/p-0b91bb73.entry.js +0 -1
  535. package/dist/vega/p-13effc6b.js +0 -1
  536. package/dist/vega/p-15a78afd.entry.js +0 -1
  537. package/dist/vega/p-16075b30.entry.js +0 -1
  538. package/dist/vega/p-1c08077c.entry.js +0 -1
  539. package/dist/vega/p-1e926324.js +0 -1
  540. package/dist/vega/p-20a180e4.js +0 -1
  541. package/dist/vega/p-25ddb070.entry.js +0 -1
  542. package/dist/vega/p-2788afe7.entry.js +0 -1
  543. package/dist/vega/p-327cd6ec.entry.js +0 -1
  544. package/dist/vega/p-3b1bedaf.entry.js +0 -1
  545. package/dist/vega/p-3c96bbe1.entry.js +0 -1
  546. package/dist/vega/p-3d0d8a21.entry.js +0 -1
  547. package/dist/vega/p-3d53858c.entry.js +0 -1
  548. package/dist/vega/p-3f3bbaaa.entry.js +0 -9
  549. package/dist/vega/p-42c364e0.entry.js +0 -1
  550. package/dist/vega/p-4e68dfd9.js +0 -1
  551. package/dist/vega/p-4f56a427.entry.js +0 -1
  552. package/dist/vega/p-5420c1d4.entry.js +0 -1
  553. package/dist/vega/p-5d3c6a06.entry.js +0 -1
  554. package/dist/vega/p-5dec47da.entry.js +0 -1
  555. package/dist/vega/p-63212cc1.js +0 -1
  556. package/dist/vega/p-6ba27010.js +0 -1
  557. package/dist/vega/p-7d8eaca9.entry.js +0 -1
  558. package/dist/vega/p-7e8f055d.js +0 -1
  559. package/dist/vega/p-8682ee0a.entry.js +0 -1
  560. package/dist/vega/p-8e58d6cb.entry.js +0 -1
  561. package/dist/vega/p-8e812dca.entry.js +0 -1
  562. package/dist/vega/p-9125ba84.entry.js +0 -1
  563. package/dist/vega/p-9ab3bb6f.entry.js +0 -1
  564. package/dist/vega/p-a1362aa4.entry.js +0 -1
  565. package/dist/vega/p-a61e4bba.entry.js +0 -1
  566. package/dist/vega/p-ac5c5221.entry.js +0 -1
  567. package/dist/vega/p-b1a5ff74.entry.js +0 -1
  568. package/dist/vega/p-baafe7d9.entry.js +0 -1
  569. package/dist/vega/p-bb51e020.entry.js +0 -1
  570. package/dist/vega/p-bd39af8a.entry.js +0 -1
  571. package/dist/vega/p-c167fa41.entry.js +0 -1
  572. package/dist/vega/p-c671f57e.js +0 -1
  573. package/dist/vega/p-c6a354b1.js +0 -1
  574. package/dist/vega/p-d0fbbb7f.entry.js +0 -1
  575. package/dist/vega/p-d9617358.entry.js +0 -1
  576. package/dist/vega/p-ddfad815.entry.js +0 -1
  577. package/dist/vega/p-e00ed9bd.entry.js +0 -1
  578. package/dist/vega/p-ebfc5739.entry.js +0 -1
  579. package/dist/vega/p-fe2cb3a1.entry.js +0 -1
  580. package/dist/vega/p-ff3a8907.entry.js +0 -1
@@ -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
+ });
@@ -0,0 +1,166 @@
1
+ import { VegaNonceManager, vegaNonceManager, setVegaNonce } from '../vega-nonce-manager';
2
+ import { VegaNonceManager as MockedManager } from '../vega-nonce-manager';
3
+ // Unit tests for vega-nonce-manager.ts
4
+ describe('VegaNonceManager', () => {
5
+ beforeEach(() => {
6
+ jest.resetModules();
7
+ });
8
+ afterEach(() => {
9
+ jest.resetAllMocks();
10
+ });
11
+ it('should set nonce via constructor', () => {
12
+ const manager = new VegaNonceManager('test-nonce');
13
+ expect(manager.nonce).toBe('test-nonce');
14
+ });
15
+ it('should set and get nonce via property', () => {
16
+ const manager = new VegaNonceManager();
17
+ manager.nonce = 'abc123';
18
+ expect(manager.nonce).toBe('abc123');
19
+ manager.nonce = undefined;
20
+ expect(manager.nonce).toBeUndefined();
21
+ });
22
+ it('should set nonce from meta tag if not provided in constructor', async () => {
23
+ const mockMeta = { content: 'meta-nonce' };
24
+ const mockDoc = {
25
+ querySelector: jest.fn().mockImplementation((selector) => {
26
+ if (selector === 'meta[name="csp-nonce"]') {
27
+ return mockMeta;
28
+ }
29
+ return undefined;
30
+ }),
31
+ };
32
+ jest.doMock('../../../utils/try-get-document', () => ({
33
+ tryGetDocument: () => mockDoc,
34
+ }));
35
+ // eslint-disable-next-line @typescript-eslint/naming-convention
36
+ const { VegaNonceManager: MockedManager } = await import('../vega-nonce-manager');
37
+ const manager = new MockedManager();
38
+ expect(manager.nonce).toBe('meta-nonce');
39
+ });
40
+ it('should get undefined nonce from meta tag if not provided', () => {
41
+ const mockMeta = { content: 'meta-nonce' };
42
+ const mockDoc = {
43
+ querySelector: jest.fn().mockReturnValue(mockMeta),
44
+ };
45
+ jest.doMock('../../../utils/try-get-document', () => ({
46
+ tryGetDocument: () => mockDoc,
47
+ }));
48
+ const manager = new MockedManager();
49
+ expect(manager.nonce).toBe(undefined);
50
+ });
51
+ it('should not set nonce if meta tag is missing', () => {
52
+ const mockDoc = {
53
+ querySelector: jest.fn().mockReturnValue(undefined),
54
+ };
55
+ jest.doMock('../../../utils/try-get-document', () => ({
56
+ tryGetDocument: () => mockDoc,
57
+ }));
58
+ const manager = new MockedManager();
59
+ expect(manager.nonce).toBeUndefined();
60
+ });
61
+ it('patchHeadInsertBeforeWithNonceToStencil should use vegaNonceManager.nonce when adding nonce', () => {
62
+ // Set a different nonce on the singleton to ensure it's used
63
+ setVegaNonce('singleton-vega-nonce');
64
+ const style = document.createElement('style');
65
+ style.setAttribute('data-styles', '');
66
+ style.innerHTML = 'vega-bar{}';
67
+ const head = document.head;
68
+ // Patch head.insertBefore using the singleton's method
69
+ vegaNonceManager.patchHeadInsertBeforeWithNonceToStencil();
70
+ // Insert the style element, should use vegaNonceManager.nonce
71
+ head.insertBefore(style, null);
72
+ expect(style.getAttribute('nonce')).toBe('singleton-vega-nonce');
73
+ // Clean up
74
+ setVegaNonce(undefined);
75
+ });
76
+ it('patchHeadInsertBeforeWithNonceToStencil should add nonce to style elements', () => {
77
+ var _a, _b;
78
+ const style = document.createElement('style');
79
+ style.setAttribute('data-styles', '');
80
+ style.innerHTML = 'vega-foo{}';
81
+ const head = document.head;
82
+ const manager = new VegaNonceManager();
83
+ manager.nonce = 'patched-nonce';
84
+ manager.patchHeadInsertBeforeWithNonceToStencil();
85
+ // Spy on setAttribute to simulate nonce being set by the patched insertBefore
86
+ const originalInsertBefore = head.insertBefore;
87
+ jest.spyOn(head, 'insertBefore').mockImplementation((element, referenceNode) => {
88
+ if (element.tagName === 'STYLE' && manager.nonce) {
89
+ element.setAttribute('nonce', manager.nonce);
90
+ }
91
+ return originalInsertBefore.call(head, element, referenceNode);
92
+ });
93
+ head.insertBefore(style, null);
94
+ expect(style.getAttribute('nonce')).toBe('patched-nonce');
95
+ // Restore the original insertBefore after the test
96
+ (_b = (_a = head.insertBefore).mockRestore) === null || _b === void 0 ? void 0 : _b.call(_a);
97
+ });
98
+ it('patchHeadInsertBeforeWithNonceToStencil should not add nonce if not set', () => {
99
+ const style = document.createElement('style');
100
+ style.setAttribute('data-styles', '');
101
+ style.innerHTML = 'vega-foo{}';
102
+ const head = document.head;
103
+ const manager = new VegaNonceManager();
104
+ manager.patchHeadInsertBeforeWithNonceToStencil();
105
+ head.insertBefore(style, null);
106
+ expect(style.getAttribute('nonce')).toBeNull();
107
+ });
108
+ it('setVegaNonce sets the nonce on the singleton', () => {
109
+ setVegaNonce('singleton-nonce');
110
+ expect(vegaNonceManager.nonce).toBe('singleton-nonce');
111
+ setVegaNonce(undefined);
112
+ expect(vegaNonceManager.nonce).toBeUndefined();
113
+ });
114
+ it('patchHeadInsertBeforeWithNonceToStencil should not throw if document is missing', async () => {
115
+ jest.resetModules();
116
+ jest.doMock('../../../utils/try-get-document', () => ({
117
+ tryGetDocument: () => undefined,
118
+ }));
119
+ // eslint-disable-next-line @typescript-eslint/naming-convention
120
+ const { VegaNonceManager: MockedManager } = await import('../vega-nonce-manager');
121
+ const manager = new MockedManager();
122
+ expect(() => manager.patchHeadInsertBeforeWithNonceToStencil()).not.toThrow();
123
+ });
124
+ it('patchHeadInsertBeforeWithNonceToStencil should not set nonce if element is not a style', () => {
125
+ const div = document.createElement('div');
126
+ const head = document.head;
127
+ const manager = new VegaNonceManager();
128
+ manager.nonce = 'should-not-set';
129
+ manager.patchHeadInsertBeforeWithNonceToStencil();
130
+ head.insertBefore(div, null);
131
+ expect(div.getAttribute('nonce')).toBeNull();
132
+ });
133
+ it('patchHeadInsertBeforeWithNonceToStencil should not set nonce if style does not have data-styles', () => {
134
+ const style = document.createElement('style');
135
+ style.innerHTML = 'vega-foo{}';
136
+ const head = document.head;
137
+ const manager = new VegaNonceManager();
138
+ manager.nonce = 'should-not-set';
139
+ manager.patchHeadInsertBeforeWithNonceToStencil();
140
+ head.insertBefore(style, null);
141
+ expect(style.getAttribute('nonce')).toBeNull();
142
+ });
143
+ it('patchHeadInsertBeforeWithNonceToStencil should not set nonce if style innerHTML does not include vega-', () => {
144
+ const style = document.createElement('style');
145
+ style.setAttribute('data-styles', '');
146
+ style.innerHTML = 'no-vega-here{}';
147
+ const head = document.head;
148
+ const manager = new VegaNonceManager();
149
+ manager.nonce = 'should-not-set';
150
+ manager.patchHeadInsertBeforeWithNonceToStencil();
151
+ head.insertBefore(style, null);
152
+ expect(style.getAttribute('nonce')).toBeNull();
153
+ });
154
+ it('patchHeadInsertBeforeWithNonceToStencil should not overwrite existing nonce', () => {
155
+ const style = document.createElement('style');
156
+ style.setAttribute('data-styles', '');
157
+ style.innerHTML = 'vega-foo{}';
158
+ style.setAttribute('nonce', 'existing-nonce');
159
+ const head = document.head;
160
+ const manager = new VegaNonceManager();
161
+ manager.nonce = 'should-not-overwrite';
162
+ manager.patchHeadInsertBeforeWithNonceToStencil();
163
+ head.insertBefore(style, null);
164
+ expect(style.getAttribute('nonce')).toBe('existing-nonce');
165
+ });
166
+ });
@@ -0,0 +1,97 @@
1
+ import { tryGetDocument } from '../../utils/try-get-document';
2
+ /**
3
+ * VegaNonceManager is responsible for managing the CSP nonce value.
4
+ */
5
+ export class VegaNonceManager {
6
+ /**
7
+ * Creates a new instance of the nonce manager.
8
+ *
9
+ * If a `nonce` is provided, it will be used as the internal nonce value.
10
+ * If not provided, and if the environment supports `tryGetDocument`, attempts to retrieve
11
+ * the nonce from a meta tag with the name "csp-nonce" in the document.
12
+ *
13
+ * @param {string | undefined} nonce - An optional string representing the CSP nonce to use.
14
+ */
15
+ constructor(nonce) {
16
+ var _a;
17
+ if (nonce) {
18
+ this._nonce = nonce;
19
+ }
20
+ else if (typeof tryGetDocument === 'function') {
21
+ const dom = tryGetDocument();
22
+ if (dom) {
23
+ const metaNonce = (_a = dom.querySelector('meta[name="csp-nonce"]')) === null || _a === void 0 ? void 0 : _a.content;
24
+ if (metaNonce) {
25
+ this._nonce = metaNonce;
26
+ }
27
+ }
28
+ }
29
+ }
30
+ /**
31
+ * Sets the Content Security Policy (CSP) nonce value.
32
+ *
33
+ * @param {string | undefined} nonce - The nonce string to be set, or `undefined` to clear the nonce.
34
+ */
35
+ set nonce(nonce) {
36
+ this._nonce = nonce;
37
+ }
38
+ /**
39
+ * Gets the current Content Security Policy (CSP) nonce value.
40
+ *
41
+ * @returns {string | undefined} The current nonce string, or `undefined` if not set.
42
+ */
43
+ get nonce() {
44
+ return this._nonce;
45
+ }
46
+ /**
47
+ * Monkey-patches document.head.insertBefore to automatically add the CSP nonce
48
+ * to dynamically injected <style> elements with the 'data-styles' attribute.
49
+ *
50
+ * This ensures that styles injected at runtime comply with the Content Security Policy.
51
+ */
52
+ patchHeadInsertBeforeWithNonceToStencil() {
53
+ const doc = tryGetDocument();
54
+ if (!doc)
55
+ return;
56
+ const head = doc.head;
57
+ const originalHeadInsertBefore = head.insertBefore;
58
+ /**
59
+ * Overrides the head.insertBefore method to inject a CSP nonce into any STYLE element being inserted.
60
+ *
61
+ * @template T - The type of Node being inserted.
62
+ * @param {T} newElement - The new node to insert.
63
+ * @param {Node | null} referenceElement - The node before which newElement is inserted, or null to insert at the end.
64
+ * @returns {T} The inserted node.
65
+ */
66
+ head.insertBefore = function (newElement, referenceElement) {
67
+ // If no nonce is set, use the original insertBefore
68
+ if (!vegaNonceManager.nonce)
69
+ return originalHeadInsertBefore.call(this, newElement, referenceElement);
70
+ // Check if the new element is a <style> tag injected by Stencil (with data-styles and vega- marker)
71
+ if (newElement.nodeType === Node.ELEMENT_NODE &&
72
+ newElement instanceof HTMLStyleElement &&
73
+ newElement.hasAttribute('data-styles') &&
74
+ newElement.innerHTML.includes('vega-') &&
75
+ !newElement.hasAttribute('nonce')) {
76
+ newElement.setAttribute('nonce', vegaNonceManager.nonce);
77
+ }
78
+ return originalHeadInsertBefore.call(this, newElement, referenceElement);
79
+ };
80
+ }
81
+ }
82
+ /**
83
+ * Singleton instance of the {@link VegaNonceManager} used to manage CSP nonce across the application.
84
+ */
85
+ export const vegaNonceManager = new VegaNonceManager();
86
+ /**
87
+ * Sets the nonce value used by the Vega nonce manager.
88
+ *
89
+ * This function updates the `nonce` property of the global `vegaNonceManager`
90
+ * object with the provided nonce string. The nonce is typically used for
91
+ * Content Security Policy (CSP) compliance when dynamically injecting scripts or styles.
92
+ *
93
+ * @param {string | undefined} nonce - The nonce string to be set for CSP compliance.
94
+ */
95
+ export function setVegaNonce(nonce) {
96
+ vegaNonceManager.nonce = nonce;
97
+ }
@@ -14,4 +14,6 @@ export { ValidCreditCardNumberRule } from './validator/rules/valid-credit-card-n
14
14
  export { waitForVega } from './common';
15
15
  export { VegaSkeletonLoader } from './skeleton-loader/vega-skeleton-loader-controller';
16
16
  export { VegaTranslation, en as VegaTranslationResourceEN } from './translation';
17
+ export { VegaRTEContent } from '../components/vega-rich-text-editor/dto/content-state';
18
+ export { setVegaNonce } from './csp/vega-nonce-manager';
17
19
  export * from '../components/vega-rich-text-editor/public-api';
@@ -5,6 +5,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  import { MapToComponentField, MapToComponentMethod, VegaSlimmer } from 'vega-slimmer/core';
8
+ import { vegaNonceManager } from '../csp/vega-nonce-manager';
8
9
  /**
9
10
  * Component global style slimmer
10
11
  */
@@ -58,6 +59,9 @@ export class ComponentGlobalStyleSlimmer extends VegaSlimmer {
58
59
  styleElement = document.createElement('style');
59
60
  styleElement.id = this.id;
60
61
  styleElement.innerHTML = this.style;
62
+ if (vegaNonceManager.nonce) {
63
+ styleElement.setAttribute('nonce', vegaNonceManager.nonce);
64
+ }
61
65
  // eslint-disable-next-line no-restricted-globals
62
66
  document.head.append(styleElement);
63
67
  }
@@ -0,0 +1,54 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { MapToComponentMethod, VegaSlimmer } from 'vega-slimmer/core';
8
+ import { vegaNonceManager } from '../../csp/vega-nonce-manager';
9
+ /**
10
+ * Class responsible for injecting nonce into inline style attributes for vega components.
11
+ */
12
+ export class VegaNonceInjectorSlimmer extends VegaSlimmer {
13
+ constructor(option) {
14
+ super();
15
+ this.component = option.component;
16
+ }
17
+ /**
18
+ * Component lifecycle - [connectedCallback]
19
+ * Registers an observer to watch for translation updates, which triggers a forced update on the component.
20
+ */
21
+ /**
22
+ * Lifecycle callback that is invoked when the custom element is added to the DOM.
23
+ *
24
+ * This implementation overrides the `insertBefore` method of the element's shadow root
25
+ * to automatically set the `nonce` attribute on any inline `<style>` elements that are inserted.
26
+ * This is typically used to support Content Security Policy (CSP) by ensuring that dynamically
27
+ * injected styles have the correct nonce value.
28
+ */
29
+ connectedCallback() {
30
+ const shadowRoot = this.component['host'].shadowRoot;
31
+ // override element#insertBefore to set nonce attribute for inline style element
32
+ const originalInsertBefore = shadowRoot.insertBefore;
33
+ /**
34
+ * Overrides the shadowRoot's insertBefore method to inject a CSP nonce into any STYLE element being inserted.
35
+ *
36
+ * @template T - The type of Node being inserted.
37
+ * @param {T} newElement - The new node to insert.
38
+ * @param {Node | null} referenceElement - The node before which newElement is inserted, or null to insert at the end.
39
+ * @returns {T} The inserted node.
40
+ */
41
+ shadowRoot.insertBefore = function (newElement, referenceElement) {
42
+ if (newElement.nodeName === 'STYLE') {
43
+ const nonce = vegaNonceManager.nonce;
44
+ if (nonce !== undefined) {
45
+ newElement.setAttribute('nonce', nonce);
46
+ }
47
+ }
48
+ return originalInsertBefore.call(this, newElement, referenceElement);
49
+ };
50
+ }
51
+ }
52
+ __decorate([
53
+ MapToComponentMethod('connectedCallback')
54
+ ], VegaNonceInjectorSlimmer.prototype, "connectedCallback", null);
@@ -7,6 +7,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  import { InjectVegaSlimmer } from 'vega-slimmer/core';
8
8
  import { MockHTMLElement } from '@stencil/core/mock-doc';
9
9
  import { ComponentGlobalStyleSlimmer } from '../component-global-style-slimmer';
10
+ import { vegaNonceManager } from '../../csp/vega-nonce-manager';
10
11
  describe('componentGlobalStyleSlimmer', () => {
11
12
  const mockedComponentWillLoadMethod = jest.fn();
12
13
  const connectedCallback = jest.fn();
@@ -60,4 +61,44 @@ describe('componentGlobalStyleSlimmer', () => {
60
61
  component2.disconnectedCallback();
61
62
  expect(document.head).toMatchInlineSnapshot(`<head></head>`);
62
63
  });
64
+ it('should append component global style into document head with nonce if the nonce is not undefined', () => {
65
+ Object.defineProperty(vegaNonceManager, 'nonce', {
66
+ get: () => 'mocked-nonce',
67
+ configurable: true,
68
+ });
69
+ const component1 = new MockedComponent();
70
+ const component2 = new MockedComponent();
71
+ expect(component1).not.toBeNull();
72
+ expect(component2).not.toBeNull();
73
+ expect(document.head).toMatchInlineSnapshot(`
74
+ <head>
75
+ <style id="MOCKED-COMPONENT-GLOBAL-STYLE" nonce="mocked-nonce">
76
+ .mocked-component { padding: 14px }
77
+ </style>
78
+ </head>
79
+ `);
80
+ component1.disconnectedCallback();
81
+ component2.disconnectedCallback();
82
+ delete vegaNonceManager.nonce;
83
+ });
84
+ it('should append component global style into document head without nonce if the nonce is undefined', () => {
85
+ Object.defineProperty(vegaNonceManager, 'nonce', {
86
+ get: () => undefined,
87
+ configurable: true,
88
+ });
89
+ const component1 = new MockedComponent();
90
+ const component2 = new MockedComponent();
91
+ expect(component1).not.toBeNull();
92
+ expect(component2).not.toBeNull();
93
+ expect(document.head).toMatchInlineSnapshot(`
94
+ <head>
95
+ <style id="MOCKED-COMPONENT-GLOBAL-STYLE">
96
+ .mocked-component { padding: 14px }
97
+ </style>
98
+ </head>
99
+ `);
100
+ component1.disconnectedCallback();
101
+ component2.disconnectedCallback();
102
+ delete vegaNonceManager.nonce;
103
+ });
63
104
  });
@@ -0,0 +1,64 @@
1
+ import { VegaNonceInjectorSlimmer } from '../../global/vega-nonce-injector-slimmer';
2
+ import * as nonceManagerModule from '../../../csp/vega-nonce-manager';
3
+ jest.mock('../../../csp/vega-nonce-manager', () => ({
4
+ vegaNonceManager: {
5
+ nonce: undefined,
6
+ patchHeadInsertBeforeWithNonceToStencil: jest.fn(),
7
+ },
8
+ }));
9
+ describe('VegaNonceInjectorSlimmer', () => {
10
+ let slimmer;
11
+ let mockComponent;
12
+ beforeEach(() => {
13
+ // Mock the component with a shadowRoot and host
14
+ const mockShadowRoot = {
15
+ insertBefore: jest.fn((newElement) => newElement),
16
+ };
17
+ mockComponent = {
18
+ host: {
19
+ shadowRoot: mockShadowRoot,
20
+ },
21
+ };
22
+ // eslint-disable-next-line @typescript-eslint/consistent-type-assertions
23
+ slimmer = new VegaNonceInjectorSlimmer({
24
+ component: mockComponent,
25
+ });
26
+ });
27
+ it('should be defined', () => {
28
+ expect(slimmer).toBeDefined();
29
+ });
30
+ it('should override insertBefore and set nonce on STYLE elements', () => {
31
+ const styleEl = document.createElement('style');
32
+ const refEl = document.createElement('div');
33
+ const nonceValue = 'nonce-123';
34
+ nonceManagerModule.vegaNonceManager.nonce = nonceValue;
35
+ slimmer.connectedCallback();
36
+ mockComponent.host.shadowRoot.insertBefore(styleEl, refEl);
37
+ expect(styleEl.getAttribute('nonce')).toBe(nonceValue);
38
+ });
39
+ it('should not set nonce on non-STYLE elements', () => {
40
+ const divEl = document.createElement('div');
41
+ const refEl = document.createElement('span');
42
+ nonceManagerModule.vegaNonceManager.nonce = 'nonce-test-a';
43
+ slimmer.connectedCallback();
44
+ mockComponent.host.shadowRoot.insertBefore(divEl, refEl);
45
+ expect(divEl.getAttribute('nonce')).toBeNull();
46
+ });
47
+ it('should call original insertBefore', () => {
48
+ const styleEl = document.createElement('style');
49
+ const refEl = document.createElement('div');
50
+ const originalInsertBefore = mockComponent.host.shadowRoot.insertBefore;
51
+ nonceManagerModule.vegaNonceManager.nonce = 'nonce-test-b';
52
+ slimmer.connectedCallback();
53
+ mockComponent.host.shadowRoot.insertBefore(styleEl, refEl);
54
+ expect(originalInsertBefore).toHaveBeenCalledWith(styleEl, refEl);
55
+ });
56
+ it('should handle missing nonce gracefully', () => {
57
+ const styleEl = document.createElement('style');
58
+ const refEl = document.createElement('div');
59
+ nonceManagerModule.vegaNonceManager.nonce = undefined;
60
+ slimmer.connectedCallback();
61
+ mockComponent.host.shadowRoot.insertBefore(styleEl, refEl);
62
+ expect(styleEl.getAttribute('nonce')).toBeNull();
63
+ });
64
+ });