@globalpayments/vega 2.93.0 → 2.95.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (451) hide show
  1. package/dist/cjs/{app-globals-f7ad9275.js → app-globals-76815382.js} +11 -10
  2. package/dist/cjs/{child-nodes-event-prevent-slimmer-e67ee84c.js → child-nodes-event-prevent-slimmer-e0ac8467.js} +1 -1
  3. package/dist/cjs/{code-block-2f3d0f38.js → code-block-493c7ce7.js} +77 -21
  4. package/dist/cjs/{component-value-history-controller-slimmer.abstract-31d2c7aa.js → component-value-history-controller-slimmer.abstract-ab21fcbf.js} +3 -3
  5. package/dist/cjs/{content-state-13daf87a.js → content-state-fc34a814.js} +2 -2
  6. package/dist/cjs/{date-required-rule-e65ddd7d.js → date-required-rule-4ab06a82.js} +1 -1
  7. package/dist/cjs/{design-token-47393cbb.js → design-token-d3d12fa0.js} +3 -3
  8. package/dist/cjs/{element-appender-slimmer-29c4ac60.js → element-appender-slimmer-1d6323c2.js} +2 -2
  9. package/dist/cjs/{event-emit-slimmer-d234a619.js → event-emit-slimmer-34aa195e.js} +1 -1
  10. package/dist/cjs/{form-field-controller-slimmer-3bfcf88c.js → form-field-controller-slimmer-d638ba12.js} +1 -1
  11. package/dist/cjs/{image-annotation-action-c2b163bb.js → image-annotation-action-7c4cd316.js} +3 -3
  12. package/dist/cjs/{image-extension-4e99b620.js → image-extension-30a7c10f.js} +18 -1
  13. package/dist/cjs/index.cjs.js +20 -18
  14. package/dist/cjs/{inject-keyboard-manager-4b2ebbe4.js → inject-keyboard-manager-5a105612.js} +1 -1
  15. package/dist/cjs/{internal-calendar-period-factory-7a0ecdb1.js → internal-calendar-period-factory-b76006f7.js} +1 -1
  16. package/dist/cjs/{internal-translation-controller-31f2b057.js → internal-translation-controller-eb02c3b1.js} +2 -0
  17. package/dist/cjs/{internal-vega-event-manager-13c4012b.js → internal-vega-event-manager-7003c84a.js} +10 -2
  18. package/dist/cjs/{keyboard-manager-c78b46bd.js → keyboard-manager-ca76d4dc.js} +1 -1
  19. package/dist/cjs/{keyboard-manager-slimmer-d350c931.js → keyboard-manager-slimmer-a1223714.js} +1 -1
  20. package/dist/cjs/{link-extension-455c02b3.js → link-extension-92a63cb7.js} +3 -3
  21. package/dist/cjs/loader.cjs.js +13 -14
  22. package/dist/cjs/{month-view-generator-006562dc.js → month-view-generator-876c50d4.js} +1 -1
  23. package/dist/cjs/{public-rules-c59eba88.js → public-rules-9e1ea1d9.js} +7 -7
  24. package/dist/cjs/{range-bf80fa40.js → range-30219330.js} +1 -1
  25. package/dist/cjs/{responsive-format-facade-1af54330.js → responsive-format-facade-25e9f30d.js} +1 -1
  26. package/dist/cjs/{rich-text-editor-required-rule-1085c71a.js → rich-text-editor-required-rule-23bf7485.js} +1 -1
  27. package/dist/cjs/shared-backdrop-manager-71e54fdb.js +199 -0
  28. package/dist/cjs/{split-cell-operation-2fa5c9e4.js → split-cell-operation-43752212.js} +3 -3
  29. package/dist/cjs/{state-border-formatter-501f6645.js → state-border-formatter-f1ce0f3b.js} +1 -1
  30. package/dist/cjs/{string-format-strategy.abstract-a02bf002.js → string-format-strategy.abstract-b22f7754.js} +1 -1
  31. package/dist/cjs/{string-input-formatter-slimmer-9cca6151.js → string-input-formatter-slimmer-d2c248f7.js} +1 -1
  32. package/dist/cjs/{string-mask-strategy-4c174ebf.js → string-mask-strategy-fc01a500.js} +2 -2
  33. package/dist/cjs/{style-formatter-2c749500.js → style-formatter-73205450.js} +2 -2
  34. package/dist/cjs/{time-required-rule-04994a5e.js → time-required-rule-12d2f394.js} +1 -1
  35. package/dist/cjs/{token-extension-d217914d.js → token-extension-d123d9d0.js} +308 -18
  36. package/dist/cjs/{translation-slimmer-7fb6e94c.js → translation-slimmer-9099f56c.js} +1 -1
  37. package/dist/cjs/{type-guard-1c3770d4.js → type-guard-f354af8b.js} +1 -1
  38. package/dist/cjs/{valid-credit-card-number-rule-f719a8c6.js → valid-credit-card-number-rule-8d370163.js} +1 -1
  39. package/dist/cjs/vega-accordion.cjs.entry.js +8 -8
  40. package/dist/cjs/vega-app-footer.cjs.entry.js +2 -2
  41. package/dist/cjs/vega-app-header-button.cjs.entry.js +8 -8
  42. package/dist/cjs/vega-banner.cjs.entry.js +2 -2
  43. package/dist/cjs/vega-box.cjs.entry.js +6 -6
  44. package/dist/cjs/vega-breadcrumb.cjs.entry.js +3 -3
  45. package/dist/cjs/vega-button-circle.cjs.entry.js +8 -8
  46. package/dist/cjs/vega-button-group_2.cjs.entry.js +3 -3
  47. package/dist/cjs/vega-button-link.cjs.entry.js +3 -3
  48. package/dist/cjs/vega-button.cjs.entry.js +11 -8
  49. package/dist/cjs/vega-calendar_5.cjs.entry.js +10 -10
  50. package/dist/cjs/vega-card.cjs.entry.js +5 -5
  51. package/dist/cjs/vega-carousel.cjs.entry.js +5 -5
  52. package/dist/cjs/vega-checkbox_2.cjs.entry.js +5 -5
  53. package/dist/cjs/vega-chip.cjs.entry.js +8 -8
  54. package/dist/cjs/vega-code-block.cjs.entry.js +11 -11
  55. package/dist/cjs/vega-color-picker.cjs.entry.js +4 -4
  56. package/dist/cjs/vega-color-swatch-picker.cjs.entry.js +6 -6
  57. package/dist/cjs/vega-color-swatch.cjs.entry.js +4 -4
  58. package/dist/cjs/vega-combo-box.cjs.entry.js +30 -12
  59. package/dist/cjs/vega-date-picker_2.cjs.entry.js +16 -16
  60. package/dist/cjs/vega-dialog_2.cjs.entry.js +163 -73
  61. package/dist/cjs/vega-divider.cjs.entry.js +5 -5
  62. package/dist/cjs/vega-dropdown_5.cjs.entry.js +21 -16
  63. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  64. package/dist/cjs/vega-field-label.cjs.entry.js +4 -4
  65. package/dist/cjs/vega-file-uploader.cjs.entry.js +5 -5
  66. package/dist/cjs/vega-flag-icon.cjs.entry.js +5 -5
  67. package/dist/cjs/vega-flex.cjs.entry.js +6 -6
  68. package/dist/cjs/vega-font.cjs.entry.js +5 -5
  69. package/dist/cjs/vega-form.cjs.entry.js +6 -6
  70. package/dist/cjs/vega-grid.cjs.entry.js +5 -5
  71. package/dist/cjs/vega-icon.cjs.entry.js +5 -5
  72. package/dist/cjs/vega-image-uploader.cjs.entry.js +8 -8
  73. package/dist/cjs/vega-input-credit-card.cjs.entry.js +9 -9
  74. package/dist/cjs/vega-input-numeric.cjs.entry.js +8 -8
  75. package/dist/cjs/vega-input-passcode.cjs.entry.js +8 -8
  76. package/dist/cjs/vega-input-phone-number.cjs.entry.js +7 -7
  77. package/dist/cjs/vega-input-range.cjs.entry.js +6 -6
  78. package/dist/cjs/vega-input-select.cjs.entry.js +59 -10
  79. package/dist/cjs/vega-input.cjs.entry.js +8 -8
  80. package/dist/cjs/vega-item-toggle.cjs.entry.js +2 -2
  81. package/dist/cjs/vega-left-nav_5.cjs.entry.js +158 -114
  82. package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +3 -3
  83. package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +2 -2
  84. package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +2 -2
  85. package/dist/cjs/vega-pagination.cjs.entry.js +7 -7
  86. package/dist/cjs/vega-popover_2.cjs.entry.js +10 -10
  87. package/dist/cjs/vega-progress-tracker_2.cjs.entry.js +16 -6
  88. package/dist/cjs/vega-radio_2.cjs.entry.js +8 -8
  89. package/dist/cjs/vega-rich-text-content.cjs.entry.js +6 -6
  90. package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +58 -31
  91. package/dist/cjs/vega-rich-text-find-replace-panel.cjs.entry.js +3 -3
  92. package/dist/cjs/vega-rich-text-special-characters-panel.cjs.entry.js +7 -7
  93. package/dist/cjs/vega-rich-text-table-properties_3.cjs.entry.js +14 -14
  94. package/dist/cjs/vega-segment-control.cjs.entry.js +2 -2
  95. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +7 -7
  96. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +5 -5
  97. package/dist/cjs/vega-sidenav_3.cjs.entry.js +5 -5
  98. package/dist/cjs/vega-signature-capture.cjs.entry.js +9 -9
  99. package/dist/cjs/vega-stepper.cjs.entry.js +5 -5
  100. package/dist/cjs/vega-tab-group_2.cjs.entry.js +3 -3
  101. package/dist/cjs/vega-table_11.cjs.entry.js +72 -12
  102. package/dist/cjs/vega-textarea.cjs.entry.js +5 -5
  103. package/dist/cjs/vega-time-picker_2.cjs.entry.js +12 -12
  104. package/dist/cjs/vega-toggle-switch.cjs.entry.js +4 -4
  105. package/dist/cjs/vega-tooltip_2.cjs.entry.js +6 -6
  106. package/dist/cjs/vega.cjs.js +13 -14
  107. package/dist/collection/components/vega-button/vega-button.css +4 -0
  108. package/dist/collection/components/vega-button/vega-button.js +4 -1
  109. package/dist/collection/components/vega-combo-box/slimmers/renderers/vega-combo-box-dropdown-renderer.js +5 -1
  110. package/dist/collection/components/vega-combo-box/vega-combo-box.js +52 -1
  111. package/dist/collection/components/vega-dialog/vega-dialog.js +1 -1
  112. package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-render-mode-controller.js +7 -6
  113. package/dist/collection/components/vega-dropdown/vega-dropdown.js +6 -1
  114. package/dist/collection/components/vega-input-select/slimmers/controllers/vega-input-select-dropdown-controller.js +11 -1
  115. package/dist/collection/components/vega-input-select/slimmers/controllers/vega-input-select-items-slot-controler.js +23 -2
  116. package/dist/collection/components/vega-input-select/slimmers/renderers/vega-input-select-dropdown-renderer.js +4 -0
  117. package/dist/collection/components/vega-input-select/vega-input-select.js +53 -2
  118. package/dist/collection/components/vega-modal/slimmers/controllers/vega-modal-backdrop-manager.js +141 -0
  119. package/dist/collection/components/vega-modal/slimmers/controllers/vega-modal-open-state-controller.js +10 -17
  120. package/dist/collection/components/vega-modal/slimmers/controllers/vega-modal-z-index-controller.js +2 -2
  121. package/dist/collection/components/vega-modal/slimmers/renderers/vega-modal-renderer.js +3 -2
  122. package/dist/collection/components/vega-modal/vega-modal.js +77 -8
  123. package/dist/collection/components/vega-nav/vega-left-nav/slimmers/controllers/vega-left-nav-auto-collapse-controller.js +4 -6
  124. package/dist/collection/components/vega-nav/vega-left-nav/slimmers/controllers/vega-left-nav-backdrop-controller.js +23 -68
  125. package/dist/collection/components/vega-nav/vega-left-nav/slimmers/controllers/vega-left-nav-backdrop-manager.js +74 -0
  126. package/dist/collection/components/vega-nav/vega-left-nav/slimmers/controllers/vega-left-nav-open-state-controller.js +16 -2
  127. package/dist/collection/components/vega-nav/vega-left-nav/slimmers/controllers/vega-left-nav-zindex-controller.js +2 -2
  128. package/dist/collection/components/vega-nav/vega-left-nav/vega-left-nav.js +7 -2
  129. package/dist/collection/components/vega-progress-tracker/slimmers/controllers/vega-progress-tracker-current-steps-controller.js +7 -0
  130. package/dist/collection/components/vega-progress-tracker/vega-progress-tracker.js +6 -0
  131. package/dist/collection/components/vega-rich-text-editor/dto/annotations/custom-style-annotation.js +3 -2
  132. package/dist/collection/components/vega-rich-text-editor/dto/blocks/block.abstract.js +2 -1
  133. package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/code-block/code-node-filter-styles-strategy.js +1 -1
  134. package/dist/collection/components/vega-rich-text-editor/dto/nodes/node.abstract.js +2 -1
  135. package/dist/collection/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.js +1 -1
  136. package/dist/collection/components/vega-rich-text-editor/extensions/find-replace/slimmer/controllers/helper/find-replace-highlight-manager.js +21 -7
  137. package/dist/collection/components/vega-rich-text-editor/extensions/find-replace/slimmer/renderers/find-replace-toolbar-button-renderer.js +12 -0
  138. package/dist/collection/components/vega-rich-text-editor/extensions/fullscreen/assets/fullscreen-enter.js +3 -0
  139. package/dist/collection/components/vega-rich-text-editor/extensions/fullscreen/assets/fullscreen-exit.js +3 -0
  140. package/dist/collection/components/vega-rich-text-editor/extensions/fullscreen/controller/fullscreen-controller.js +156 -0
  141. package/dist/collection/components/vega-rich-text-editor/extensions/fullscreen/fullscreen-extension.js +31 -0
  142. package/dist/collection/components/vega-rich-text-editor/extensions/fullscreen/fullscreen-toolbar-button-renderer.js +73 -0
  143. package/dist/collection/components/vega-rich-text-editor/extensions/paste/paste-chooser-ui.js +1 -0
  144. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-toolbar-popover-renderer.js +1 -0
  145. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/slimmers/renderers/vega-rich-text-table-properties-basic-form-field-renderer.abstract.js +1 -1
  146. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/column-button-slimmer.js +1 -1
  147. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/merge-cells-button-slimmer.js +1 -1
  148. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/row-button-slimmer.js +1 -1
  149. package/dist/collection/components/vega-rich-text-editor/helpers/utils.js +71 -15
  150. package/dist/collection/components/vega-rich-text-editor/public-api.js +2 -0
  151. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/extension-controller.js +2 -0
  152. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-numbers-toolbar-button-slimmer.js +1 -1
  153. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/horizontal-alignment-toolbar-button-slimmer.js +1 -1
  154. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/image-toolbar-button-slimmer.js +1 -1
  155. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/text-color-toolbar-button-slimmer.js +1 -1
  156. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/text-styles-toolbar-button-slimmer.js +1 -1
  157. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.js +11 -1
  158. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-source-view-renderer.js +19 -1
  159. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/renderers/vega-rich-text-link-editor-renderer.js +1 -1
  160. package/dist/collection/components/vega-table/slimmers/renderers/vega-table-cell-renderer.js +3 -1
  161. package/dist/collection/components/vega-table/vega-table-cell/vega-table-cell.js +89 -7
  162. package/dist/collection/global/scripts/before-vega-load.js +2 -0
  163. package/dist/collection/helpers/backdrop/index.js +1 -0
  164. package/dist/collection/helpers/backdrop/shared-backdrop-manager.js +194 -0
  165. package/dist/collection/helpers/event-manager/event-id/component-event-id-map.js +11 -3
  166. package/dist/collection/helpers/translation/locales/en.js +2 -0
  167. package/dist/esm/{app-globals-9950d055.js → app-globals-eafcc7a1.js} +11 -10
  168. package/dist/esm/{child-nodes-event-prevent-slimmer-96c14f5a.js → child-nodes-event-prevent-slimmer-82626871.js} +1 -1
  169. package/dist/esm/{code-block-ae2337c2.js → code-block-e12588fe.js} +77 -21
  170. package/dist/esm/{component-value-history-controller-slimmer.abstract-b1ee1b8e.js → component-value-history-controller-slimmer.abstract-4e8eb313.js} +3 -3
  171. package/dist/esm/{content-state-c3b85ae6.js → content-state-8032467a.js} +2 -2
  172. package/dist/esm/{date-required-rule-e06115f8.js → date-required-rule-b88e1650.js} +1 -1
  173. package/dist/esm/{design-token-4e682056.js → design-token-76bd217c.js} +3 -3
  174. package/dist/esm/{element-appender-slimmer-a4485ef6.js → element-appender-slimmer-7fcb944b.js} +2 -2
  175. package/dist/esm/{event-emit-slimmer-db4a82e0.js → event-emit-slimmer-2452278f.js} +1 -1
  176. package/dist/esm/{form-field-controller-slimmer-a1c7b28c.js → form-field-controller-slimmer-395c23e3.js} +1 -1
  177. package/dist/esm/{image-annotation-action-4c77d314.js → image-annotation-action-08a20d5e.js} +4 -4
  178. package/dist/esm/{image-extension-7108c27d.js → image-extension-b6c7e4a7.js} +18 -2
  179. package/dist/esm/index.js +19 -19
  180. package/dist/esm/{inject-keyboard-manager-e8ddb78d.js → inject-keyboard-manager-86126b5b.js} +1 -1
  181. package/dist/esm/{internal-calendar-period-factory-6f19d767.js → internal-calendar-period-factory-3a07dba0.js} +1 -1
  182. package/dist/esm/{internal-translation-controller-09b8bd13.js → internal-translation-controller-16709132.js} +2 -0
  183. package/dist/esm/{internal-vega-event-manager-48690e5b.js → internal-vega-event-manager-2ecc9186.js} +11 -3
  184. package/dist/esm/{keyboard-manager-ec18721b.js → keyboard-manager-a0c3e1cf.js} +1 -1
  185. package/dist/esm/{keyboard-manager-slimmer-531ddb0e.js → keyboard-manager-slimmer-f3f66c15.js} +1 -1
  186. package/dist/esm/{link-extension-74eaa826.js → link-extension-97fcb8fb.js} +3 -3
  187. package/dist/esm/loader.js +14 -15
  188. package/dist/esm/{month-view-generator-afd78ff8.js → month-view-generator-fd0e1856.js} +1 -1
  189. package/dist/esm/{public-rules-5fce32a5.js → public-rules-c06f0d2a.js} +7 -7
  190. package/dist/esm/{range-8f877dbf.js → range-e999837f.js} +1 -1
  191. package/dist/esm/{responsive-format-facade-299e6304.js → responsive-format-facade-ced96b0b.js} +1 -1
  192. package/dist/esm/{rich-text-editor-required-rule-3047bab0.js → rich-text-editor-required-rule-71f8ee98.js} +1 -1
  193. package/dist/esm/shared-backdrop-manager-a7c63838.js +197 -0
  194. package/dist/esm/{split-cell-operation-98d58410.js → split-cell-operation-359f8082.js} +3 -3
  195. package/dist/esm/{state-border-formatter-da52b626.js → state-border-formatter-b680e922.js} +1 -1
  196. package/dist/esm/{string-format-strategy.abstract-a45b5ff7.js → string-format-strategy.abstract-23faab71.js} +1 -1
  197. package/dist/esm/{string-input-formatter-slimmer-4a032fed.js → string-input-formatter-slimmer-4b4866a6.js} +1 -1
  198. package/dist/esm/{string-mask-strategy-37e53e48.js → string-mask-strategy-66586cd8.js} +2 -2
  199. package/dist/esm/{style-formatter-3d5ddfb1.js → style-formatter-f4e16af5.js} +2 -2
  200. package/dist/esm/{time-required-rule-355b73d2.js → time-required-rule-6e80a9ab.js} +1 -1
  201. package/dist/esm/{token-extension-ecfafe94.js → token-extension-f5bf9c21.js} +308 -19
  202. package/dist/esm/{translation-slimmer-3ea56354.js → translation-slimmer-21748a0e.js} +1 -1
  203. package/dist/esm/{type-guard-2bfb2c7b.js → type-guard-ec5e8628.js} +1 -1
  204. package/dist/esm/{valid-credit-card-number-rule-52c6b029.js → valid-credit-card-number-rule-ca5a47d6.js} +1 -1
  205. package/dist/esm/vega-accordion.entry.js +9 -9
  206. package/dist/esm/vega-app-footer.entry.js +3 -3
  207. package/dist/esm/vega-app-header-button.entry.js +9 -9
  208. package/dist/esm/vega-banner.entry.js +3 -3
  209. package/dist/esm/vega-box.entry.js +6 -6
  210. package/dist/esm/vega-breadcrumb.entry.js +4 -4
  211. package/dist/esm/vega-button-circle.entry.js +9 -9
  212. package/dist/esm/vega-button-group_2.entry.js +4 -4
  213. package/dist/esm/vega-button-link.entry.js +4 -4
  214. package/dist/esm/vega-button.entry.js +12 -9
  215. package/dist/esm/vega-calendar_5.entry.js +11 -11
  216. package/dist/esm/vega-card.entry.js +5 -5
  217. package/dist/esm/vega-carousel.entry.js +6 -6
  218. package/dist/esm/vega-checkbox_2.entry.js +6 -6
  219. package/dist/esm/vega-chip.entry.js +9 -9
  220. package/dist/esm/vega-code-block.entry.js +12 -12
  221. package/dist/esm/vega-color-picker.entry.js +5 -5
  222. package/dist/esm/vega-color-swatch-picker.entry.js +7 -7
  223. package/dist/esm/vega-color-swatch.entry.js +5 -5
  224. package/dist/esm/vega-combo-box.entry.js +31 -13
  225. package/dist/esm/vega-date-picker_2.entry.js +17 -17
  226. package/dist/esm/vega-dialog_2.entry.js +164 -74
  227. package/dist/esm/vega-divider.entry.js +5 -5
  228. package/dist/esm/vega-dropdown_5.entry.js +22 -17
  229. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  230. package/dist/esm/{vega-event-id-270fe47e.js → vega-event-id-f55f6977.js} +1 -1
  231. package/dist/esm/vega-field-label.entry.js +5 -5
  232. package/dist/esm/vega-file-uploader.entry.js +6 -6
  233. package/dist/esm/vega-flag-icon.entry.js +5 -5
  234. package/dist/esm/vega-flex.entry.js +6 -6
  235. package/dist/esm/vega-font.entry.js +5 -5
  236. package/dist/esm/vega-form.entry.js +7 -7
  237. package/dist/esm/vega-grid.entry.js +5 -5
  238. package/dist/esm/vega-icon.entry.js +5 -5
  239. package/dist/esm/vega-image-uploader.entry.js +9 -9
  240. package/dist/esm/vega-input-credit-card.entry.js +10 -10
  241. package/dist/esm/vega-input-numeric.entry.js +9 -9
  242. package/dist/esm/vega-input-passcode.entry.js +9 -9
  243. package/dist/esm/vega-input-phone-number.entry.js +8 -8
  244. package/dist/esm/vega-input-range.entry.js +7 -7
  245. package/dist/esm/vega-input-select.entry.js +60 -11
  246. package/dist/esm/vega-input.entry.js +9 -9
  247. package/dist/esm/vega-item-toggle.entry.js +3 -3
  248. package/dist/esm/vega-left-nav_5.entry.js +159 -115
  249. package/dist/esm/vega-loader-wrapper_2.entry.js +3 -3
  250. package/dist/esm/vega-page-notification_2.entry.js +1 -1
  251. package/dist/esm/vega-pagination-page-selector-mobile.entry.js +3 -3
  252. package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +3 -3
  253. package/dist/esm/vega-pagination.entry.js +8 -8
  254. package/dist/esm/vega-popover_2.entry.js +11 -11
  255. package/dist/esm/vega-progress-tracker_2.entry.js +17 -7
  256. package/dist/esm/vega-radio_2.entry.js +9 -9
  257. package/dist/esm/vega-rich-text-content.entry.js +7 -7
  258. package/dist/esm/vega-rich-text-editor_4.entry.js +55 -28
  259. package/dist/esm/vega-rich-text-find-replace-panel.entry.js +4 -4
  260. package/dist/esm/vega-rich-text-special-characters-panel.entry.js +8 -8
  261. package/dist/esm/vega-rich-text-table-properties_3.entry.js +15 -15
  262. package/dist/esm/vega-segment-control.entry.js +3 -3
  263. package/dist/esm/vega-selection-chip_2.entry.js +8 -8
  264. package/dist/esm/vega-selection-tile_2.entry.js +6 -6
  265. package/dist/esm/vega-sidenav_3.entry.js +6 -6
  266. package/dist/esm/vega-signature-capture.entry.js +10 -10
  267. package/dist/esm/vega-stepper.entry.js +6 -6
  268. package/dist/esm/vega-tab-group_2.entry.js +4 -4
  269. package/dist/esm/vega-table_11.entry.js +73 -13
  270. package/dist/esm/vega-textarea.entry.js +6 -6
  271. package/dist/esm/vega-time-picker_2.entry.js +13 -13
  272. package/dist/esm/vega-toggle-switch.entry.js +5 -5
  273. package/dist/esm/vega-tooltip_2.entry.js +6 -6
  274. package/dist/esm/vega.js +14 -15
  275. package/dist/sri/vega-sri-manifest.json +358 -358
  276. package/dist/types/components/vega-combo-box/slimmers/renderers/vega-combo-box-dropdown-renderer.d.ts +1 -0
  277. package/dist/types/components/vega-combo-box/vega-combo-box.d.ts +21 -0
  278. package/dist/types/components/vega-dropdown/slimmers/controllers/vega-dropdown-render-mode-controller.d.ts +2 -1
  279. package/dist/types/components/vega-dropdown/vega-dropdown.d.ts +4 -0
  280. package/dist/types/components/vega-input-select/slimmers/controllers/vega-input-select-dropdown-controller.d.ts +2 -0
  281. package/dist/types/components/vega-input-select/slimmers/controllers/vega-input-select-items-slot-controler.d.ts +10 -0
  282. package/dist/types/components/vega-input-select/types.d.ts +1 -0
  283. package/dist/types/components/vega-input-select/vega-input-select.d.ts +21 -0
  284. package/dist/types/components/vega-modal/slimmers/controllers/vega-modal-backdrop-manager.d.ts +66 -0
  285. package/dist/types/components/vega-modal/slimmers/controllers/vega-modal-open-state-controller.d.ts +1 -5
  286. package/dist/types/components/vega-modal/slimmers/controllers/vega-modal-z-index-controller.d.ts +1 -1
  287. package/dist/types/components/vega-modal/slimmers/renderers/vega-modal-renderer.d.ts +1 -1
  288. package/dist/types/components/vega-modal/vega-modal.d.ts +34 -6
  289. package/dist/types/components/vega-nav/vega-left-nav/slimmers/controllers/vega-left-nav-auto-collapse-controller.d.ts +0 -1
  290. package/dist/types/components/vega-nav/vega-left-nav/slimmers/controllers/vega-left-nav-backdrop-controller.d.ts +12 -19
  291. package/dist/types/components/vega-nav/vega-left-nav/slimmers/controllers/vega-left-nav-backdrop-manager.d.ts +41 -0
  292. package/dist/types/components/vega-nav/vega-left-nav/slimmers/controllers/vega-left-nav-open-state-controller.d.ts +4 -1
  293. package/dist/types/components/vega-nav/vega-left-nav/slimmers/controllers/vega-left-nav-zindex-controller.d.ts +1 -1
  294. package/dist/types/components/vega-nav/vega-left-nav/vega-left-nav.d.ts +2 -0
  295. package/dist/types/components/vega-progress-tracker/slimmers/controllers/vega-progress-tracker-current-steps-controller.d.ts +2 -0
  296. package/dist/types/components/vega-progress-tracker/vega-progress-tracker.d.ts +1 -0
  297. package/dist/types/components/vega-rich-text-editor/extensions/find-replace/slimmer/controllers/helper/find-replace-highlight-manager.d.ts +15 -4
  298. package/dist/types/components/vega-rich-text-editor/extensions/fullscreen/assets/fullscreen-enter.d.ts +3 -0
  299. package/dist/types/components/vega-rich-text-editor/extensions/fullscreen/assets/fullscreen-exit.d.ts +3 -0
  300. package/dist/types/components/vega-rich-text-editor/extensions/fullscreen/controller/fullscreen-controller.d.ts +63 -0
  301. package/dist/types/components/vega-rich-text-editor/extensions/fullscreen/fullscreen-extension.d.ts +20 -0
  302. package/dist/types/components/vega-rich-text-editor/extensions/fullscreen/fullscreen-toolbar-button-renderer.d.ts +40 -0
  303. package/dist/types/components/vega-rich-text-editor/helpers/utils.d.ts +19 -0
  304. package/dist/types/components/vega-rich-text-editor/interface.d.ts +20 -0
  305. package/dist/types/components/vega-rich-text-editor/public-api.d.ts +2 -0
  306. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.d.ts +5 -0
  307. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-source-view-renderer.d.ts +8 -0
  308. package/dist/types/components/vega-table/interface.d.ts +13 -0
  309. package/dist/types/components/vega-table/vega-table-cell/vega-table-cell.d.ts +14 -0
  310. package/dist/types/components.d.ts +46 -2
  311. package/dist/types/helpers/backdrop/index.d.ts +1 -0
  312. package/dist/types/helpers/backdrop/shared-backdrop-manager.d.ts +83 -0
  313. package/dist/types/helpers/translation/interface.d.ts +3 -1
  314. package/dist/vega/index.esm.js +1 -1
  315. package/dist/vega/{p-21e21f51.js → p-02355de8.js} +1 -1
  316. package/dist/vega/p-0512308f.entry.js +1 -0
  317. package/dist/vega/p-05d04c07.entry.js +1 -0
  318. package/dist/vega/p-0be4df0a.js +1 -0
  319. package/dist/vega/{p-0e607b44.js → p-0d18368b.js} +1 -1
  320. package/dist/vega/{p-6b1893f6.entry.js → p-1232b553.entry.js} +1 -1
  321. package/dist/vega/{p-32a67ba1.js → p-14baa886.js} +1 -1
  322. package/dist/vega/{p-d7f32ccf.entry.js → p-1d8312d3.entry.js} +1 -1
  323. package/dist/vega/{p-fbd3be00.entry.js → p-200c8914.entry.js} +1 -1
  324. package/dist/vega/{p-b1ff70bf.js → p-2c737fc8.js} +1 -1
  325. package/dist/vega/{p-c5ecbc53.entry.js → p-2d77ae73.entry.js} +1 -1
  326. package/dist/vega/{p-b042e3b4.entry.js → p-2d8d4d5b.entry.js} +1 -1
  327. package/dist/vega/p-31216140.js +1 -0
  328. package/dist/vega/{p-afb96938.js → p-320091b7.js} +1 -1
  329. package/dist/vega/p-36949349.js +1 -0
  330. package/dist/vega/{p-44439ecc.entry.js → p-36d2df7a.entry.js} +1 -1
  331. package/dist/vega/p-38c9d782.js +1 -0
  332. package/dist/vega/{p-e4309574.js → p-3c309a38.js} +1 -1
  333. package/dist/vega/p-3d6f761a.entry.js +1 -0
  334. package/dist/vega/{p-4d9562bc.js → p-3dee1e55.js} +1 -1
  335. package/dist/vega/p-4151f53a.entry.js +1 -0
  336. package/dist/vega/{p-7c8e579e.entry.js → p-49e1cf4d.entry.js} +1 -1
  337. package/dist/vega/{p-ccf7518b.js → p-4fe40b76.js} +1 -1
  338. package/dist/vega/{p-7d54e9c1.js → p-4ff48b84.js} +1 -1
  339. package/dist/vega/p-513bc0d9.js +1 -0
  340. package/dist/vega/{p-698fbd73.js → p-5447a8e8.js} +1 -1
  341. package/dist/vega/{p-45e8424a.entry.js → p-56d19601.entry.js} +1 -1
  342. package/dist/vega/{p-a359e53c.js → p-579cdeae.js} +1 -1
  343. package/dist/vega/{p-fda6e2cc.entry.js → p-5924adae.entry.js} +1 -1
  344. package/dist/vega/{p-c2d28797.entry.js → p-595998d9.entry.js} +1 -1
  345. package/dist/vega/{p-7b93a756.entry.js → p-5e4517eb.entry.js} +1 -1
  346. package/dist/vega/p-5f377954.js +1 -1
  347. package/dist/vega/{p-1efab41b.js → p-61ce8029.js} +1 -1
  348. package/dist/vega/{p-140616fe.js → p-66647244.js} +1 -1
  349. package/dist/vega/{p-ddf03de1.entry.js → p-6680ba17.entry.js} +1 -1
  350. package/dist/vega/{p-1818f399.entry.js → p-6c9c2f8c.entry.js} +1 -1
  351. package/dist/vega/{p-5dbfffcd.js → p-6cde45fc.js} +1 -1
  352. package/dist/vega/{p-af98539f.entry.js → p-6fcec7c7.entry.js} +1 -1
  353. package/dist/vega/{p-422d88ae.entry.js → p-74f86ff9.entry.js} +1 -1
  354. package/dist/vega/p-75e33859.js +1 -0
  355. package/dist/vega/{p-6ad7144a.entry.js → p-775ecfad.entry.js} +1 -1
  356. package/dist/vega/p-7950f3e2.entry.js +1 -0
  357. package/dist/vega/{p-615a2b8c.entry.js → p-80b7945a.entry.js} +1 -1
  358. package/dist/vega/p-8354cff0.entry.js +1 -0
  359. package/dist/vega/{p-653a6dd8.entry.js → p-841b3281.entry.js} +1 -1
  360. package/dist/vega/p-8720816e.js +1 -0
  361. package/dist/vega/p-87e5cb56.entry.js +1 -0
  362. package/dist/vega/p-88be9ec5.js +1 -0
  363. package/dist/vega/{p-6712a9c7.entry.js → p-892edf88.entry.js} +1 -1
  364. package/dist/vega/p-8a001caa.js +1 -0
  365. package/dist/vega/p-8c30a60d.js +1 -0
  366. package/dist/vega/p-8d4b85e7.entry.js +1 -0
  367. package/dist/vega/{p-f8a29127.entry.js → p-8d96f0e8.entry.js} +1 -1
  368. package/dist/vega/{p-19c42e30.js → p-8db904dc.js} +1 -1
  369. package/dist/vega/{p-e86c6802.entry.js → p-91303402.entry.js} +1 -1
  370. package/dist/vega/{p-c553d37e.js → p-919cddc3.js} +1 -1
  371. package/dist/vega/p-97215133.js +1 -0
  372. package/dist/vega/{p-3f7b10b9.entry.js → p-9bdc6e11.entry.js} +1 -1
  373. package/dist/vega/{p-09d50f59.entry.js → p-9c39f90b.entry.js} +1 -1
  374. package/dist/vega/{p-d62b85ff.entry.js → p-9d96d83f.entry.js} +1 -1
  375. package/dist/vega/p-9f201152.entry.js +1 -0
  376. package/dist/vega/{p-ef605271.js → p-9f7154d2.js} +1 -1
  377. package/dist/vega/{p-3c9da3cd.entry.js → p-a0a58295.entry.js} +1 -1
  378. package/dist/vega/{p-4c49b2e3.js → p-a7209700.js} +1 -1
  379. package/dist/vega/{p-8c1a5fa4.entry.js → p-a775825e.entry.js} +1 -1
  380. package/dist/vega/{p-c3c0e415.entry.js → p-a890d60b.entry.js} +1 -1
  381. package/dist/vega/{p-bbabb1c8.entry.js → p-ae146458.entry.js} +1 -1
  382. package/dist/vega/{p-0f1d6ceb.entry.js → p-b187b82d.entry.js} +1 -1
  383. package/dist/vega/{p-f0d4c78c.js → p-b1eb9ff0.js} +1 -1
  384. package/dist/vega/{p-832d1a72.entry.js → p-b3a2ce06.entry.js} +1 -1
  385. package/dist/vega/{p-56c4e349.entry.js → p-b4c26035.entry.js} +1 -1
  386. package/dist/vega/p-b4e7c967.js +1 -0
  387. package/dist/vega/{p-2de61f1b.js → p-b775e51f.js} +1 -1
  388. package/dist/vega/{p-63101cb4.entry.js → p-b8c13ac9.entry.js} +1 -1
  389. package/dist/vega/{p-e410c4ad.entry.js → p-b9e72de2.entry.js} +1 -1
  390. package/dist/vega/{p-cf8d5b3f.entry.js → p-ba2b9663.entry.js} +1 -1
  391. package/dist/vega/{p-95d6c85f.js → p-ba662fe5.js} +1 -1
  392. package/dist/vega/{p-05f937c5.entry.js → p-bb60e381.entry.js} +1 -1
  393. package/dist/vega/p-bbad318e.entry.js +1 -0
  394. package/dist/vega/{p-acbba6da.entry.js → p-c079c935.entry.js} +1 -1
  395. package/dist/vega/p-c0e42c03.entry.js +1 -0
  396. package/dist/vega/{p-3932f964.entry.js → p-c41f5684.entry.js} +1 -1
  397. package/dist/vega/{p-73fd18d9.entry.js → p-c54b5a8f.entry.js} +1 -1
  398. package/dist/vega/{p-0cb78838.entry.js → p-c5d3b008.entry.js} +1 -1
  399. package/dist/vega/{p-9a472a04.entry.js → p-cd1e976c.entry.js} +1 -1
  400. package/dist/vega/{p-2dc5edd0.entry.js → p-db11134b.entry.js} +1 -1
  401. package/dist/vega/p-df828d90.entry.js +1 -0
  402. package/dist/vega/{p-944b43ce.entry.js → p-e1737c8e.entry.js} +1 -1
  403. package/dist/vega/{p-2fcc604c.entry.js → p-e1b57e8f.entry.js} +1 -1
  404. package/dist/vega/{p-d44943e2.entry.js → p-e235020b.entry.js} +1 -1
  405. package/dist/vega/{p-4f327808.entry.js → p-e4266b45.entry.js} +1 -1
  406. package/dist/vega/{p-9cafbc26.entry.js → p-e48a870f.entry.js} +1 -1
  407. package/dist/vega/{p-ffdacaf9.entry.js → p-e5ff77f7.entry.js} +1 -1
  408. package/dist/vega/{p-d4bb6f93.entry.js → p-ebe32b25.entry.js} +1 -1
  409. package/dist/vega/p-ec162599.entry.js +1 -0
  410. package/dist/vega/{p-d3a36d19.entry.js → p-ec64cc59.entry.js} +1 -1
  411. package/dist/vega/p-f1974321.js +1 -0
  412. package/dist/vega/{p-4256252c.js → p-f4da615a.js} +1 -1
  413. package/dist/vega/{p-f2f22b5d.entry.js → p-f78944d7.entry.js} +1 -1
  414. package/dist/vega/{p-6d40635e.js → p-f7e459cd.js} +1 -1
  415. package/dist/vega/{p-c9c6daa6.entry.js → p-f9bfee81.entry.js} +1 -1
  416. package/dist/vega/{p-26c7fe8b.entry.js → p-fa65956c.entry.js} +1 -1
  417. package/dist/vega/{p-66b7d1c7.entry.js → p-fc7e4c8a.entry.js} +1 -1
  418. package/dist/vega/{p-b39d4a88.entry.js → p-fd23c365.entry.js} +1 -1
  419. package/dist/vega/{p-8d27b9cc.js → p-fe24b459.js} +1 -1
  420. package/dist/vega/vega.esm.js +1 -1
  421. package/package.json +1 -1
  422. package/dist/cjs/replace-selected-text-action-a80f5a6a.js +0 -20
  423. package/dist/collection/components/vega-modal/slimmers/controllers/vega-modal-backdrop-controller.js +0 -73
  424. package/dist/esm/replace-selected-text-action-c9278a0f.js +0 -18
  425. package/dist/types/components/vega-modal/slimmers/controllers/vega-modal-backdrop-controller.d.ts +0 -27
  426. package/dist/vega/p-07562b9c.js +0 -1
  427. package/dist/vega/p-18a5e8bc.js +0 -1
  428. package/dist/vega/p-282b37cb.js +0 -1
  429. package/dist/vega/p-2de88b4a.entry.js +0 -1
  430. package/dist/vega/p-392e049c.entry.js +0 -1
  431. package/dist/vega/p-4e1aa86f.js +0 -1
  432. package/dist/vega/p-4ef5c4a7.entry.js +0 -1
  433. package/dist/vega/p-5139e516.js +0 -1
  434. package/dist/vega/p-751a5cd6.entry.js +0 -1
  435. package/dist/vega/p-846b1ab9.entry.js +0 -1
  436. package/dist/vega/p-88863658.js +0 -1
  437. package/dist/vega/p-99b699be.entry.js +0 -1
  438. package/dist/vega/p-9a01be93.js +0 -1
  439. package/dist/vega/p-a9a87b9a.js +0 -1
  440. package/dist/vega/p-ad35dea4.entry.js +0 -1
  441. package/dist/vega/p-b5bee669.entry.js +0 -1
  442. package/dist/vega/p-b5f308ee.entry.js +0 -1
  443. package/dist/vega/p-bbf1f988.entry.js +0 -1
  444. package/dist/vega/p-cb81fc2a.entry.js +0 -1
  445. package/dist/vega/p-ccb9bf86.js +0 -1
  446. package/dist/vega/p-dca3278f.js +0 -1
  447. package/dist/vega/p-ddd28a8e.entry.js +0 -1
  448. package/dist/vega/p-e0ecafca.js +0 -1
  449. package/dist/vega/p-e33e1e90.js +0 -1
  450. package/dist/vega/p-e5187a86.entry.js +0 -1
  451. package/dist/vega/p-ff8dd200.js +0 -1
@@ -0,0 +1,74 @@
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 { MapToComponentField, MapToComponentMethod } from 'vega-slimmer/core';
8
+ import { getCurrentBreakpoint } from '../../../../../utils/breakpoints';
9
+ import { SharedBackdropManager } from '../../../../../helpers/backdrop';
10
+ /**
11
+ * Left-nav specific backdrop manager — extends SharedBackdropManager to get its own static scope.
12
+ * Each subclass of SharedBackdropManager gets its own separate static state (consumers, visibility intents, etc).
13
+ */
14
+ export class VegaLeftNavBackdropManager extends SharedBackdropManager {
15
+ /**
16
+ * Watch openState changes and update visibility intent.
17
+ *
18
+ * @param {LeftNavOpenStateType} newState - The new open state.
19
+ */
20
+ watchOpenState(newState) {
21
+ const shouldShow = newState === 'open' && this.shouldShowBackdrop();
22
+ this.setVisibilityIntent(shouldShow);
23
+ }
24
+ /**
25
+ * Watch showAsOverlay changes and re-evaluate visibility.
26
+ */
27
+ watchShowAsOverlay() {
28
+ this.watchOpenState(this.openState);
29
+ }
30
+ /**
31
+ * Customize backdrop creation for left-nav use case.
32
+ *
33
+ * @param {Document} doc - The document reference.
34
+ * @returns {HTMLVegaBackdropElement} The created and configured backdrop element.
35
+ */
36
+ createBackdrop(doc) {
37
+ const backdrop = doc.createElement('vega-backdrop');
38
+ backdrop.classList.add(VegaLeftNavBackdropManager.backdropClassName);
39
+ backdrop.duration = 150;
40
+ backdrop.visible = false;
41
+ doc.body.append(backdrop);
42
+ return backdrop;
43
+ }
44
+ /**
45
+ * Determine if backdrop should be shown based on current state.
46
+ *
47
+ * @returns {boolean} True if backdrop should be visible.
48
+ */
49
+ shouldShowBackdrop() {
50
+ return this.showAsOverlay || !this.isLargeScreen();
51
+ }
52
+ /**
53
+ * Check if current breakpoint is large screen.
54
+ *
55
+ * @returns {boolean} True if current breakpoint is 'L' or 'XL'.
56
+ */
57
+ isLargeScreen() {
58
+ const breakpoint = getCurrentBreakpoint();
59
+ return breakpoint === 'L' || breakpoint === 'XL';
60
+ }
61
+ }
62
+ VegaLeftNavBackdropManager.backdropClassName = 'vega-left-nav-backdrop';
63
+ __decorate([
64
+ MapToComponentField()
65
+ ], VegaLeftNavBackdropManager.prototype, "openState", void 0);
66
+ __decorate([
67
+ MapToComponentField()
68
+ ], VegaLeftNavBackdropManager.prototype, "showAsOverlay", void 0);
69
+ __decorate([
70
+ MapToComponentMethod('watchOpenState')
71
+ ], VegaLeftNavBackdropManager.prototype, "watchOpenState", null);
72
+ __decorate([
73
+ MapToComponentMethod('watchShowAsOverlay')
74
+ ], VegaLeftNavBackdropManager.prototype, "watchShowAsOverlay", null);
@@ -9,6 +9,7 @@ import { PageResizeObserverSlimmer } from '../../../../../helpers/slimmers/page-
9
9
  import { executeAfterTransition } from '../../../../../utils/effect';
10
10
  import { FeatureFlag } from '../../../../../helpers/feature-control/feature-flag-controller';
11
11
  import { checkIsVoiceOverClick, getFirstFocusableElement } from '../../../../../utils/ui';
12
+ import { getCurrentBreakpoint } from '../../../../../utils/breakpoints';
12
13
  export class VegaLeftNavOpenStateController extends PageResizeObserverSlimmer {
13
14
  /**
14
15
  * The below method is e2e-test covered in
@@ -18,7 +19,11 @@ export class VegaLeftNavOpenStateController extends PageResizeObserverSlimmer {
18
19
  /* eslint-disable jsdoc/require-jsdoc*/
19
20
  super({
20
21
  callback: /* istanbul ignore next */ () => {
22
+ if (this.showAsOverlay) {
23
+ return;
24
+ }
21
25
  this.updateMainContentUI(this.openState);
26
+ this.backdropManager.watchOpenState(this.openState);
22
27
  },
23
28
  });
24
29
  this.isVoiceOverClick = false;
@@ -72,6 +77,7 @@ export class VegaLeftNavOpenStateController extends PageResizeObserverSlimmer {
72
77
  }
73
78
  }
74
79
  watchOpenState(newState) {
80
+ this.backdropManager.watchOpenState(newState);
75
81
  this.updateMainContentUI(newState);
76
82
  if (newState === 'open') {
77
83
  this.open = true;
@@ -92,6 +98,7 @@ export class VegaLeftNavOpenStateController extends PageResizeObserverSlimmer {
92
98
  }
93
99
  }
94
100
  watchShowAsOverlay() {
101
+ this.backdropManager.watchShowAsOverlay();
95
102
  this.updateMainContentUI(this.openState);
96
103
  }
97
104
  /**
@@ -169,7 +176,7 @@ export class VegaLeftNavOpenStateController extends PageResizeObserverSlimmer {
169
176
  this.host.style.display = 'flex';
170
177
  setTimeout(() => {
171
178
  this.host.classList.add('open');
172
- if (mainContent && !this.backdropController.shouldShowBackdrop()) {
179
+ if (mainContent && !this.shouldShowBackdrop()) {
173
180
  bodyElement === null || bodyElement === void 0 ? void 0 : bodyElement.classList.remove('vega-overflow-hidden');
174
181
  mainContent.classList.add('open');
175
182
  }
@@ -190,6 +197,10 @@ export class VegaLeftNavOpenStateController extends PageResizeObserverSlimmer {
190
197
  }, this.host);
191
198
  }
192
199
  }
200
+ shouldShowBackdrop() {
201
+ const breakpoint = getCurrentBreakpoint();
202
+ return this.showAsOverlay || (breakpoint !== 'L' && breakpoint !== 'XL');
203
+ }
193
204
  }
194
205
  __decorate([
195
206
  MapToComponentField()
@@ -205,7 +216,10 @@ __decorate([
205
216
  ], VegaLeftNavOpenStateController.prototype, "stateUpdateEventEmitter", void 0);
206
217
  __decorate([
207
218
  MapToComponentField()
208
- ], VegaLeftNavOpenStateController.prototype, "backdropController", void 0);
219
+ ], VegaLeftNavOpenStateController.prototype, "showAsOverlay", void 0);
220
+ __decorate([
221
+ MapToComponentField()
222
+ ], VegaLeftNavOpenStateController.prototype, "backdropManager", void 0);
209
223
  __decorate([
210
224
  MapToComponentMethod('componentDidLoad')
211
225
  ], VegaLeftNavOpenStateController.prototype, "componentDidLoad", null);
@@ -17,7 +17,7 @@ export class VegaLeftNavZIndexController extends VegaSlimmer {
17
17
  */
18
18
  /* istanbul ignore next */
19
19
  updateZIndex() {
20
- const backDrop = this.backdropController.getBackdrop();
20
+ const backDrop = this.backdropManager.getBackdrop();
21
21
  if (this.openState == 'open') {
22
22
  backDrop && InternalVegaZIndexManager.setZIndex(backDrop, 'base');
23
23
  InternalVegaZIndexManager.setZIndex(this.host, 'base');
@@ -38,7 +38,7 @@ __decorate([
38
38
  ], VegaLeftNavZIndexController.prototype, "openState", void 0);
39
39
  __decorate([
40
40
  MapToComponentField()
41
- ], VegaLeftNavZIndexController.prototype, "backdropController", void 0);
41
+ ], VegaLeftNavZIndexController.prototype, "backdropManager", void 0);
42
42
  __decorate([
43
43
  MapToComponentMethod('watchOpenState')
44
44
  ], VegaLeftNavZIndexController.prototype, "watchOpenState", null);
@@ -11,6 +11,7 @@ import { VegaLeftNavOpenStateController } from './slimmers/controllers/vega-left
11
11
  import { VegaLeftNavHeaderRenderer } from './slimmers/renderers/vega-left-nav-header-renderer';
12
12
  import { VegaLeftNavFooterRenderer } from './slimmers/renderers/vega-left-nav-footer-renderer';
13
13
  import { VegaLeftNavZIndexController } from './slimmers/controllers/vega-left-nav-zindex-controller';
14
+ import { VegaLeftNavBackdropManager } from './slimmers/controllers/vega-left-nav-backdrop-manager';
14
15
  import { VegaLeftNavBackdropController } from './slimmers/controllers/vega-left-nav-backdrop-controller';
15
16
  import { InjectKeyboardManager } from '../../../decorators/property-decorators/inject-keyboard-manager';
16
17
  import { VegaNavListRenderer } from '../slimmers/renderers/vega-nav-list-renderer';
@@ -33,6 +34,7 @@ export class VegaLeftNav {
33
34
  this.headerRenderer = new VegaLeftNavHeaderRenderer();
34
35
  this.footerRenderer = new VegaLeftNavFooterRenderer();
35
36
  this.openStateController = new VegaLeftNavOpenStateController();
37
+ this.backdropManager = new VegaLeftNavBackdropManager();
36
38
  this.backdropController = new VegaLeftNavBackdropController();
37
39
  this.zIndexController = new VegaLeftNavZIndexController();
38
40
  this.listRenderer = new VegaNavListRenderer();
@@ -404,6 +406,9 @@ __decorate([
404
406
  __decorate([
405
407
  InjectVegaSlimmer()
406
408
  ], VegaLeftNav.prototype, "openStateController", void 0);
409
+ __decorate([
410
+ InjectVegaSlimmer()
411
+ ], VegaLeftNav.prototype, "backdropManager", void 0);
407
412
  __decorate([
408
413
  InjectVegaSlimmer()
409
414
  ], VegaLeftNav.prototype, "backdropController", void 0);
@@ -437,7 +442,7 @@ __decorate([
437
442
  keyCode: 'Escape',
438
443
  // eslint-disable-next-line jsdoc/require-jsdoc
439
444
  activeElementInScope: /* istanbul ignore next */ () => {
440
- const backdrop = target.backdropController.getBackdrop();
445
+ const backdrop = target.backdropManager.getBackdrop();
441
446
  if (backdrop && backdrop.visible) {
442
447
  // eslint-disable-next-line no-restricted-globals
443
448
  return [document.body];
@@ -445,7 +450,7 @@ __decorate([
445
450
  return [target.host];
446
451
  },
447
452
  callback: /* istanbul ignore next */ () => {
448
- const backdrop = target.backdropController.getBackdrop();
453
+ const backdrop = target.backdropManager.getBackdrop();
449
454
  if (backdrop && backdrop.visible) {
450
455
  target.openStateController.setOpenState('close');
451
456
  }
@@ -59,6 +59,10 @@ export class VegaProgressTrackerCurrentStepsController extends VegaSlimmer {
59
59
  watchCompletedSteps() {
60
60
  this.syncUpCurrentSteps();
61
61
  }
62
+ /** while canClickStep changed, we need sync up current steps */
63
+ watchCanClickStep() {
64
+ this.syncUpCurrentSteps();
65
+ }
62
66
  /**
63
67
  * Sync up current steps
64
68
  */
@@ -123,3 +127,6 @@ __decorate([
123
127
  __decorate([
124
128
  MapToComponentMethod('watchCompletedSteps')
125
129
  ], VegaProgressTrackerCurrentStepsController.prototype, "watchCompletedSteps", null);
130
+ __decorate([
131
+ MapToComponentMethod('watchCanClickStep')
132
+ ], VegaProgressTrackerCurrentStepsController.prototype, "watchCanClickStep", null);
@@ -130,6 +130,9 @@ export class VegaProgressTracker {
130
130
  watchCompletedSteps() {
131
131
  methodPlaceholder();
132
132
  }
133
+ watchCanClickStep() {
134
+ methodPlaceholder();
135
+ }
133
136
  /**
134
137
  * Invoke this method to change the tracker's current step
135
138
  * to the next step, if available.
@@ -486,6 +489,9 @@ export class VegaProgressTracker {
486
489
  }, {
487
490
  "propName": "completedSteps",
488
491
  "methodName": "watchCompletedSteps"
492
+ }, {
493
+ "propName": "canClickStep",
494
+ "methodName": "watchCanClickStep"
489
495
  }]; }
490
496
  }
491
497
  __decorate([
@@ -1,3 +1,4 @@
1
+ import { escapeHtmlAttribute } from '../../helpers/utils';
1
2
  import { CommonAnnotation, CommonAnnotationTypeEnum } from './common-annotation.abstract';
2
3
  /**
3
4
  * Annotation to add custom attributes of element
@@ -60,8 +61,8 @@ export class CustomStyleAnnotation extends CommonAnnotation {
60
61
  * @returns {string} custom style string
61
62
  */
62
63
  toString() {
63
- return `style="${Object.entries(this.customStyle)
64
+ return `style="${escapeHtmlAttribute(Object.entries(this.customStyle)
64
65
  .map(([key, value]) => `${key}: ${value};`)
65
- .join(' ')}"`;
66
+ .join(' '))}"`;
66
67
  }
67
68
  }
@@ -17,6 +17,7 @@ import { InternalWrapperAnnotation } from '../annotations/internal-wrapper-annot
17
17
  import RTEDTOClassManager from '../../../../helpers/rte-manager/dto-class-manager';
18
18
  import { RTEAnnotationStyle } from '../annotations/annotation-style';
19
19
  import { RTEFilterStylesStrategyRegistry } from '../filter-styles-strategies/filter-styles-strategy-registry';
20
+ import { escapeHtmlAttribute } from '../../helpers/utils';
20
21
  /**
21
22
  * Abstract class for block
22
23
  */
@@ -235,7 +236,7 @@ export class RTEBlock {
235
236
  ...customAttributeString,
236
237
  classNames && classNames.length > 0 ? `class="${classNames.join(' ')}"` : null,
237
238
  styles && Object.keys(styles).length > 0
238
- ? `style="${blockAnnotationStyle.toCssText({ standalone: true }, undefined, styles)}"`
239
+ ? `style="${escapeHtmlAttribute(blockAnnotationStyle.toCssText({ standalone: true }, undefined, styles))}"`
239
240
  : null,
240
241
  ...attrs,
241
242
  ].filter(isNonNullable);
@@ -37,7 +37,7 @@ CodeBlockNodeFilterStylesStrategy.STYLES = {
37
37
  boxSizing: 'border-box',
38
38
  color: 'rgba(var(--v-text-primary, 32, 54, 69, 1))',
39
39
  textAlign: 'left',
40
- fontFamily: '"Roboto Mono"',
40
+ fontFamily: "'Roboto Mono'",
41
41
  fontWeight: '400',
42
42
  lineHeight: '22px',
43
43
  fontSize: '16px',
@@ -12,6 +12,7 @@ import { CustomStyleAnnotation } from '../annotations/custom-style-annotation';
12
12
  import { methodPlaceholder } from 'vega-slimmer/core';
13
13
  import { RTEAnnotationStyle } from '../annotations/annotation-style';
14
14
  import { RTEFilterStylesStrategyRegistry } from '../filter-styles-strategies/filter-styles-strategy-registry';
15
+ import { escapeHtmlAttribute } from '../../helpers/utils';
15
16
  export var NodeTypeEnum;
16
17
  (function (NodeTypeEnum) {
17
18
  NodeTypeEnum["TEXT"] = "TEXT";
@@ -167,7 +168,7 @@ export class RTENode {
167
168
  ...customAttributeString,
168
169
  classNames && classNames.length > 0 ? `class="${classNames.join(' ')}"` : null,
169
170
  styles && Object.keys(styles).length > 0
170
- ? `style="${nodeAnnotationStyle.toCssText({ standalone: true }, undefined, styles)}"`
171
+ ? `style="${escapeHtmlAttribute(nodeAnnotationStyle.toCssText({ standalone: true }, undefined, styles))}"`
171
172
  : null,
172
173
  ...attrs,
173
174
  ].filter(isNonNullable);
@@ -50,7 +50,7 @@ export class VegaRTEToolbarButtonRenderer {
50
50
  * @returns {VegaRTERenderResult} - The render result for the dropdown.
51
51
  */
52
52
  renderDropdown(h, editorContext, dropdownProps, children) {
53
- return h('vega-dropdown', Object.assign({ trigger: 'click', searchable: false, maxWidth: '200', itemDisplayRule: 'ellipsis',
53
+ return h('vega-dropdown', Object.assign({ trigger: 'click', searchable: false, maxWidth: '200', itemDisplayRule: 'ellipsis', isScreenPosition: true,
54
54
  // eslint-disable-next-line jsdoc/require-jsdoc
55
55
  ref: (el) => {
56
56
  this.dropdownEl = el;
@@ -19,8 +19,9 @@ const HIGHLIGHT_ACTIVE_BG = `rgba(var(--v-rte-find-highlight-active-bg, ${HIGHLI
19
19
  * jumping, and VegaChange events), this manager renders semi-transparent
20
20
  * highlight rectangles in an absolutely-positioned overlay container.
21
21
  *
22
- * The overlay lives inside `.rich-text-editor-container` (the RTE's scroll
23
- * container) so highlight divs scroll naturally with the text content.
22
+ * The overlay lives inside `vega-rich-text-content`'s internal
23
+ * `.rich-text-content` container (the actual text scroll coordinate space).
24
+ * This keeps highlight rectangles aligned when the editable area scrolls.
24
25
  * `pointer-events: none` ensures highlights don't interfere with user
25
26
  * interaction (selection, typing, clicking).
26
27
  *
@@ -83,8 +84,11 @@ export class FindReplaceHighlightManager {
83
84
  }
84
85
  // ─── Private helpers ──────────────────────────────────────────────────────────
85
86
  /**
86
- * Gets the existing overlay container or creates one inside the RTE's
87
- * scroll container (`.rich-text-editor-container`).
87
+ * Gets the existing overlay container or creates one in the same coordinate
88
+ * space as rendered text.
89
+ *
90
+ * Mount target: `vega-rich-text-content` shadow root's
91
+ * `.rich-text-content` element (actual text scroll layer).
88
92
  *
89
93
  * @typedef HTMLVegaRichTextEditorElement - The type of the host rich text editor element.
90
94
  * @param {HTMLVegaRichTextEditorElement} host - The RTE host element.
@@ -96,8 +100,8 @@ export class FindReplaceHighlightManager {
96
100
  }
97
101
  const safeDocument = tryGetDocument();
98
102
  if (safeDocument) {
99
- const scrollContainer = host.shadowRoot.querySelector('.rich-text-editor-container');
100
- if (scrollContainer) {
103
+ const textContainer = this.resolveOverlayMountTarget(host);
104
+ if (textContainer) {
101
105
  // The overlay is appended as the last child (paints above content).
102
106
  // Blend mode is controlled via CSS variable --v-rte-find-highlight-blend:
103
107
  // - Light (default): multiply (yellow darkens white bg, text readable)
@@ -113,13 +117,23 @@ export class FindReplaceHighlightManager {
113
117
  overlay.style.pointerEvents = 'none';
114
118
  overlay.style.overflow = 'visible';
115
119
  overlay.style.setProperty('mix-blend-mode', 'var(--v-rte-find-highlight-blend, multiply)');
116
- scrollContainer.appendChild(overlay);
120
+ textContainer.appendChild(overlay);
117
121
  this.overlayContainer = overlay;
118
122
  return overlay;
119
123
  }
120
124
  }
121
125
  return null;
122
126
  }
127
+ /**
128
+ * Resolves the overlay mount target that matches the text rendering coordinate space.
129
+ *
130
+ * @param {HTMLVegaRichTextEditorElement} host - The RTE host element.
131
+ * @returns {Nullable<HTMLDivElement>} The preferred mount target or null.
132
+ */
133
+ resolveOverlayMountTarget(host) {
134
+ var _a, _b, _c, _d;
135
+ return ((_d = (_c = (_b = (_a = host.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('vega-rich-text-content')) === null || _b === void 0 ? void 0 : _b.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.rich-text-content')) !== null && _d !== void 0 ? _d : null);
136
+ }
123
137
  /**
124
138
  * Creates absolutely-positioned highlight rectangles for a single node
125
139
  * position within a match.
@@ -139,6 +139,18 @@ export class FindReplaceToolbarButtonRenderer extends VegaRTEToolbarButtonRender
139
139
  DomNodeSubjectObserverFactory.addUniqueObserverToNode(editorContext.host, VegaChange, this.debouncedRefresh);
140
140
  if (this.isHidden(editorContext) && this.isPopoverOpen && this.popoverRef) {
141
141
  void this.popoverRef.hide();
142
+ return;
143
+ }
144
+ // Keep the popover open but force a refresh of placement/z-index.
145
+ // This prevents stale geometry when editor layout/stacking changes while
146
+ // the panel is already visible (for example fullscreen toggle or resize).
147
+ // `show(true)` here is intentionally a refresh call, not a reopen.
148
+ // Verified behavior: this refresh does not introduce flickering/animation artifacts.
149
+ // Find & Replace differs from other toolbar popovers because it uses trigger='none'
150
+ // and stays open until explicitly closed. Other toolbar popovers use
151
+ // trigger='click' and auto-close when users click the fullscreen button.
152
+ if (this.isPopoverOpen && this.popoverRef) {
153
+ void this.popoverRef.show(true);
142
154
  }
143
155
  }
144
156
  /**
@@ -0,0 +1,3 @@
1
+ export default {
2
+ icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path fill="currentColor" d="M295 183c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l135-135V168c0 13.3 10.7 24 24 24s24-10.7 24-24V24c0-13.3-10.7-24-24-24H344c-13.3 0-24 10.7-24 24s10.7 24 24 24h86.1L295 183zM217 329c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L48 430.1V344c0-13.3-10.7-24-24-24s-24 10.7-24 24V488c0 13.3 10.7 24 24 24H168c13.3 0 24-10.7 24-24s-10.7-24-24-24H81.9L217 329z"/></svg>`,
3
+ };
@@ -0,0 +1,3 @@
1
+ export default {
2
+ icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path fill="currentColor" d="M473 57c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-135 135V72c0-13.3-10.7-24-24-24s-24 10.7-24 24V216c0 13.3 10.7 24 24 24H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H337.9L473 57zM7 455c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l135-135V440c0 13.3 10.7 24 24 24s24-10.7 24-24V296c0-13.3-10.7-24-24-24H56c-13.3 0-24 10.7-24 24s10.7 24 24 24h86.1L7 455z"/></svg>`,
3
+ };
@@ -0,0 +1,156 @@
1
+ import { vegaNonceManager } from '../../../../../helpers/csp/vega-nonce-manager';
2
+ import InternalVegaZIndexManager from '../../../../../helpers/zindex/internal-vega-z-index-manager';
3
+ /**
4
+ * Controls fullscreen behavior and DOM manipulation for a single RTE host instance.
5
+ *
6
+ * One controller is bound to one host and owns all enter/exit side effects
7
+ * for that host.
8
+ *
9
+ * Strategy: set position:fixed on the host, and inject one <style> rule into
10
+ * its shadow root to override the inline height Stencil sets on the container.
11
+ * Exit just restores the original host style and removes the injected rule.
12
+ */
13
+ export class FullscreenController {
14
+ constructor(host) {
15
+ this.active = false;
16
+ this.hostStyle = null;
17
+ this.scrollX = 0;
18
+ this.scrollY = 0;
19
+ this.host = host;
20
+ }
21
+ /**
22
+ * Returns whether fullscreen mode is currently active.
23
+ *
24
+ * @returns {boolean} Whether fullscreen mode is active.
25
+ */
26
+ isActive() {
27
+ return this.active;
28
+ }
29
+ /**
30
+ * Enters fullscreen mode for the bound RTE host.
31
+ */
32
+ enterFullscreen() {
33
+ var _a, _b, _c, _d;
34
+ const host = this.host;
35
+ if (this.active || !host.shadowRoot || !host.ownerDocument) {
36
+ return;
37
+ }
38
+ // Snapshot what needs to be restored
39
+ this.hostStyle = host.getAttribute('style');
40
+ this.scrollX = (_b = (_a = host.ownerDocument.defaultView) === null || _a === void 0 ? void 0 : _a.scrollX) !== null && _b !== void 0 ? _b : 0;
41
+ this.scrollY = (_d = (_c = host.ownerDocument.defaultView) === null || _c === void 0 ? void 0 : _c.scrollY) !== null && _d !== void 0 ? _d : 0;
42
+ this.lockDocumentScroll(host.ownerDocument);
43
+ // Anchor host to viewport — ensure a semicolon delimiter so existing styles are not corrupted
44
+ const baseStyle = this.hostStyle
45
+ ? /;\s*$/.test(this.hostStyle)
46
+ ? this.hostStyle
47
+ : `${this.hostStyle};`
48
+ : '';
49
+ host.setAttribute('style', `${baseStyle}${FullscreenController.HOST_FULLSCREEN_STYLE}`);
50
+ if (host instanceof HTMLElement) {
51
+ InternalVegaZIndexManager.setZIndex(host, 'base');
52
+ }
53
+ // Override Stencil's inline height on the container
54
+ const styleTag = host.ownerDocument.createElement('style');
55
+ styleTag.id = FullscreenController.STYLE_TAG_ID;
56
+ if (vegaNonceManager.nonce) {
57
+ styleTag.setAttribute('nonce', vegaNonceManager.nonce);
58
+ }
59
+ styleTag.textContent = FullscreenController.INNER_FULLSCREEN_CSS;
60
+ host.shadowRoot.appendChild(styleTag);
61
+ this.active = true;
62
+ }
63
+ /**
64
+ * Exits fullscreen mode for the bound RTE host.
65
+ */
66
+ exitFullscreen() {
67
+ var _a, _b, _c, _d;
68
+ const host = this.host;
69
+ if (!this.active) {
70
+ return;
71
+ }
72
+ if (host.ownerDocument) {
73
+ this.unlockDocumentScroll(host.ownerDocument);
74
+ }
75
+ if (host instanceof HTMLElement) {
76
+ InternalVegaZIndexManager.removeZIndex(host, 'base');
77
+ }
78
+ // Restore host style
79
+ if (this.hostStyle === null) {
80
+ host.removeAttribute('style');
81
+ }
82
+ else {
83
+ host.setAttribute('style', this.hostStyle);
84
+ }
85
+ // Remove injected CSS — container height reverts automatically
86
+ (_b = (_a = host.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(`#${FullscreenController.STYLE_TAG_ID}`)) === null || _b === void 0 ? void 0 : _b.remove();
87
+ // Restore scroll position so the host element remains visible after exit
88
+ (_d = (_c = host.ownerDocument) === null || _c === void 0 ? void 0 : _c.defaultView) === null || _d === void 0 ? void 0 : _d.scrollTo(this.scrollX, this.scrollY);
89
+ this.active = false;
90
+ }
91
+ /**
92
+ * Toggles fullscreen mode for the bound RTE host.
93
+ */
94
+ toggleFullscreen() {
95
+ if (this.active) {
96
+ this.exitFullscreen();
97
+ }
98
+ else {
99
+ this.enterFullscreen();
100
+ }
101
+ }
102
+ /**
103
+ * Locks document scrolling for the given document and records the first snapshot.
104
+ *
105
+ * @param {Document} ownerDocument - The document whose scroll should be locked.
106
+ */
107
+ lockDocumentScroll(ownerDocument) {
108
+ const currentState = FullscreenController.documentScrollLockStates.get(ownerDocument);
109
+ if (currentState) {
110
+ FullscreenController.documentScrollLockStates.set(ownerDocument, Object.assign(Object.assign({}, currentState), { lockCount: currentState.lockCount + 1 }));
111
+ return;
112
+ }
113
+ FullscreenController.documentScrollLockStates.set(ownerDocument, {
114
+ lockCount: 1,
115
+ bodyOverflow: ownerDocument.body.style.overflow,
116
+ documentOverflow: ownerDocument.documentElement.style.overflow,
117
+ });
118
+ ownerDocument.body.style.overflow = 'hidden';
119
+ ownerDocument.documentElement.style.overflow = 'hidden';
120
+ }
121
+ /**
122
+ * Unlocks document scrolling when the last fullscreen owner exits.
123
+ *
124
+ * @param {Document} ownerDocument - The document whose scroll should be restored.
125
+ */
126
+ unlockDocumentScroll(ownerDocument) {
127
+ const currentState = FullscreenController.documentScrollLockStates.get(ownerDocument);
128
+ if (!currentState) {
129
+ return;
130
+ }
131
+ if (currentState.lockCount > 1) {
132
+ FullscreenController.documentScrollLockStates.set(ownerDocument, Object.assign(Object.assign({}, currentState), { lockCount: currentState.lockCount - 1 }));
133
+ return;
134
+ }
135
+ ownerDocument.body.style.overflow = currentState.bodyOverflow;
136
+ ownerDocument.documentElement.style.overflow = currentState.documentOverflow;
137
+ FullscreenController.documentScrollLockStates.delete(ownerDocument);
138
+ }
139
+ }
140
+ FullscreenController.STYLE_TAG_ID = 'v-rte-fullscreen-styles';
141
+ FullscreenController.HOST_FULLSCREEN_STYLE = 'position:fixed;inset:0;background-color:rgba(var(--v-bg-primary, 252, 252, 252, 1));';
142
+ /**
143
+ * Only three things need overriding inside the shadow root:
144
+ * 1. The outer vega-flex wrapper must fill the host height (`:host >`
145
+ * avoids hitting the toolbar's nested vega-flex).
146
+ * 2. The editor container must grow to fill remaining space and drop
147
+ * the fixed pixel height that Stencil injects from the `rows` prop.
148
+ * 3. The source-view container (shown in source-edit mode) also grows
149
+ * and owns vertical scrolling so long source code is reachable.
150
+ * 4. overflow:auto on the container lets content scroll without clipping
151
+ * internal pop-ups (link editor, color picker, etc.) at the host level.
152
+ */
153
+ FullscreenController.INNER_FULLSCREEN_CSS = ':host > vega-flex { height: 100%; padding: 5px; box-sizing: border-box; }' +
154
+ ' .rich-text-editor-container { flex: 1 !important; height: auto !important; min-height: 0 !important; resize: none !important; overflow: auto !important; }' +
155
+ ' .source-view-container:not(.vega-hidden) { display: flex !important; flex: 1 !important; min-height: 0 !important; overflow: auto !important; flex-direction: column; }';
156
+ FullscreenController.documentScrollLockStates = new WeakMap();
@@ -0,0 +1,31 @@
1
+ import { VegaRTEExtension } from '../extension.abstract';
2
+ import { RTEFullscreenToolbarButtonRenderer } from './fullscreen-toolbar-button-renderer';
3
+ import { FullscreenController } from './controller/fullscreen-controller';
4
+ /**
5
+ * Rich Text Editor extension that adds a toolbar button for viewport fullscreen mode.
6
+ *
7
+ * OOP Pattern: Extends VegaRTEExtension with fullscreen feature.
8
+ * Uses a per-host controller store to isolate state across hosts.
9
+ */
10
+ export class VegaRTEFullscreenExtension extends VegaRTEExtension {
11
+ /** @inheritDoc */
12
+ prepareBeforeLoad(host) {
13
+ const controller = new FullscreenController(host);
14
+ VegaRTEFullscreenExtension.controllerStore.set(host, controller);
15
+ this.registerToolbarButtonRenderer(VegaRTEFullscreenExtension.TOOLBAR_BUTTON_KEY, new RTEFullscreenToolbarButtonRenderer(controller), host);
16
+ }
17
+ /**
18
+ * Restore document scroll if the editor is removed while fullscreen is active.
19
+ * Without this, body overflow:hidden would persist after the host is gone.
20
+ */
21
+ destroyExtension() {
22
+ var _a, _b;
23
+ if ((_a = this.extensionContext) === null || _a === void 0 ? void 0 : _a.host) {
24
+ const host = this.extensionContext.host;
25
+ (_b = VegaRTEFullscreenExtension.controllerStore.get(host)) === null || _b === void 0 ? void 0 : _b.exitFullscreen();
26
+ VegaRTEFullscreenExtension.controllerStore.delete(host);
27
+ }
28
+ }
29
+ }
30
+ VegaRTEFullscreenExtension.TOOLBAR_BUTTON_KEY = 'fullscreen';
31
+ VegaRTEFullscreenExtension.controllerStore = VegaRTEFullscreenExtension.createStateStore();