@heartlandone/vega 2.95.0 → 2.96.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 (181) hide show
  1. package/dist/cjs/{app-globals-76815382.js → app-globals-38afea36.js} +7 -7
  2. package/dist/cjs/{code-block-493c7ce7.js → code-block-4126dc3b.js} +1501 -55
  3. package/dist/cjs/{component-value-history-controller-slimmer.abstract-ab21fcbf.js → component-value-history-controller-slimmer.abstract-38ba956e.js} +2 -2
  4. package/dist/cjs/{content-state-fc34a814.js → content-state-50e8a03c.js} +142 -580
  5. package/dist/cjs/{element-appender-slimmer-1d6323c2.js → element-appender-slimmer-7773fdab.js} +115 -0
  6. package/dist/cjs/{image-annotation-action-7c4cd316.js → image-annotation-action-89363de8.js} +2 -2
  7. package/dist/cjs/{image-extension-30a7c10f.js → image-extension-c881c454.js} +2 -2
  8. package/dist/cjs/index.cjs.js +10 -10
  9. package/dist/cjs/{link-extension-92a63cb7.js → link-extension-b7f99a52.js} +2 -2
  10. package/dist/cjs/loader.cjs.js +7 -7
  11. package/dist/cjs/{public-rules-9e1ea1d9.js → public-rules-72894208.js} +3 -3
  12. package/dist/cjs/{range-30219330.js → range-95d41dea.js} +1 -1
  13. package/dist/cjs/{rich-text-editor-required-rule-23bf7485.js → rich-text-editor-required-rule-4d6d2493.js} +1 -1
  14. package/dist/cjs/{split-cell-operation-43752212.js → split-cell-operation-70be116d.js} +2 -2
  15. package/dist/cjs/{token-extension-d123d9d0.js → token-extension-eb828948.js} +35 -11
  16. package/dist/cjs/vega-code-block.cjs.entry.js +3 -3
  17. package/dist/cjs/vega-date-picker_2.cjs.entry.js +1 -1
  18. package/dist/cjs/vega-dropdown_5.cjs.entry.js +27 -4
  19. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  20. package/dist/cjs/vega-popover_2.cjs.entry.js +1 -1
  21. package/dist/cjs/vega-rich-text-content.cjs.entry.js +58 -9
  22. package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +608 -90
  23. package/dist/cjs/vega-rich-text-table-properties_3.cjs.entry.js +3 -3
  24. package/dist/cjs/vega-section-title.cjs.entry.js +896 -14
  25. package/dist/cjs/vega-time-picker_2.cjs.entry.js +1 -1
  26. package/dist/cjs/vega-tooltip_2.cjs.entry.js +1 -1
  27. package/dist/cjs/vega.cjs.js +7 -7
  28. package/dist/collection/components/vega-combo-box/vega-combo-box.js +2 -2
  29. package/dist/collection/components/vega-dropdown/vega-dropdown.js +30 -7
  30. package/dist/collection/components/vega-input-select/vega-input-select.js +2 -2
  31. package/dist/collection/components/vega-rich-text-content/vega-rich-text-content.css +4 -0
  32. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-node-content-strategy.js +29 -0
  33. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-text-or-decorator-node-strategy.js +10 -1
  34. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-transform-to-list-strategy.js +8 -3
  35. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-annotation-strategy.abstract.js +60 -0
  36. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-item-replace-nest-list-strategy.js +36 -4
  37. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-items-strategy.abstract.js +27 -0
  38. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-nest-items-strategy.js +74 -0
  39. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-remove-list-item-strategy.js +81 -1
  40. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-transform-selection.js +30 -0
  41. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-transform-to-list-strategy.js +160 -9
  42. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-transform-to-paragraph-strategy.js +376 -10
  43. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-unnest-items-strategy.js +104 -0
  44. package/dist/collection/components/vega-rich-text-editor/dto/actions/modify-content-action.abstract.js +2 -0
  45. package/dist/collection/components/vega-rich-text-editor/dto/actions/nest-list-items-action.js +12 -0
  46. package/dist/collection/components/vega-rich-text-editor/dto/actions/unnest-list-items-action.js +12 -0
  47. package/dist/collection/components/vega-rich-text-editor/dto/annotations/list-annotation.js +12 -0
  48. package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-block.js +10 -1
  49. package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-item-block.js +11 -3
  50. package/dist/collection/components/vega-rich-text-editor/dto/content-state.js +7 -1
  51. package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/list-block/list-block-filter-styles-strategy.js +8 -4
  52. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/list-block-renderer.js +34 -1
  53. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/list-item-block-renderer.js +20 -3
  54. package/dist/collection/components/vega-rich-text-editor/extensions/table/annotation-handler/table-annotation-handler-base.js +25 -1
  55. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/li-to-rte-list-item-block-strategy.js +2 -0
  56. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/abstract-delete-content-handler.js +29 -0
  57. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-numbers-toolbar-button-slimmer.js +30 -1
  58. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/helper/abstract-list-keyboard-handler.js +204 -0
  59. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/helper/list-shift-tab-outdent-handler.js +42 -0
  60. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/helper/list-tab-indent-handler.js +34 -0
  61. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/list-keyboard-slimmer.js +180 -0
  62. package/dist/collection/components/vega-section-title/slimmers/a11y-tree/build-section-title-a11y-tree.js +54 -0
  63. package/dist/collection/components/vega-section-title/slimmers/renderers/vega-section-title-renderer.js +4 -4
  64. package/dist/collection/components/vega-section-title/vega-section-title.js +18 -2
  65. package/dist/collection/helpers/a11y-tree/a11y-node-dto.js +210 -0
  66. package/dist/collection/helpers/a11y-tree/a11y-tree-applier.js +189 -0
  67. package/dist/collection/helpers/a11y-tree/a11y-tree.types.js +48 -0
  68. package/dist/collection/helpers/a11y-tree/strategies/baseline-strategy.js +78 -0
  69. package/dist/collection/helpers/a11y-tree/strategies/firefox-nvda-strategy.js +56 -0
  70. package/dist/collection/helpers/a11y-tree/strategies/webkit-voiceover-strategy.js +140 -0
  71. package/dist/collection/helpers/a11y-tree/strategy-resolver.js +172 -0
  72. package/dist/collection/helpers/slimmers/a11y-tree-slimmer.js +54 -0
  73. package/dist/collection/helpers/slimmers/element-appender/element-appender-slimmer.js +29 -0
  74. package/dist/collection/helpers/slimmers/element-appender/visibility-modifiers/clip-on-scroll-modifier.js +70 -0
  75. package/dist/collection/helpers/slimmers/element-appender/visibility-modifiers/visibility-modifier.interface.js +1 -0
  76. package/dist/collection/helpers/ui/element-appender.js +16 -0
  77. package/dist/esm/{app-globals-eafcc7a1.js → app-globals-d7b651c1.js} +7 -7
  78. package/dist/esm/{code-block-e12588fe.js → code-block-0a88b481.js} +1495 -51
  79. package/dist/esm/{component-value-history-controller-slimmer.abstract-4e8eb313.js → component-value-history-controller-slimmer.abstract-6846edfa.js} +2 -2
  80. package/dist/esm/{content-state-8032467a.js → content-state-79ca99e5.js} +105 -541
  81. package/dist/esm/{element-appender-slimmer-7fcb944b.js → element-appender-slimmer-73ad10ae.js} +115 -0
  82. package/dist/esm/{image-annotation-action-08a20d5e.js → image-annotation-action-bb299ef1.js} +2 -2
  83. package/dist/esm/{image-extension-b6c7e4a7.js → image-extension-48a96f98.js} +2 -2
  84. package/dist/esm/index.js +8 -8
  85. package/dist/esm/{link-extension-97fcb8fb.js → link-extension-09534514.js} +2 -2
  86. package/dist/esm/loader.js +7 -7
  87. package/dist/esm/{public-rules-c06f0d2a.js → public-rules-5eb03ef0.js} +3 -3
  88. package/dist/esm/{range-e999837f.js → range-d4deb7df.js} +1 -1
  89. package/dist/esm/{rich-text-editor-required-rule-71f8ee98.js → rich-text-editor-required-rule-5bbbce23.js} +1 -1
  90. package/dist/esm/{split-cell-operation-359f8082.js → split-cell-operation-7f3058ad.js} +2 -2
  91. package/dist/esm/{token-extension-f5bf9c21.js → token-extension-40c32bcc.js} +30 -6
  92. package/dist/esm/vega-code-block.entry.js +3 -3
  93. package/dist/esm/vega-date-picker_2.entry.js +1 -1
  94. package/dist/esm/vega-dropdown_5.entry.js +27 -4
  95. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  96. package/dist/esm/vega-popover_2.entry.js +1 -1
  97. package/dist/esm/vega-rich-text-content.entry.js +58 -9
  98. package/dist/esm/vega-rich-text-editor_4.entry.js +604 -86
  99. package/dist/esm/vega-rich-text-table-properties_3.entry.js +3 -3
  100. package/dist/esm/vega-section-title.entry.js +897 -15
  101. package/dist/esm/vega-time-picker_2.entry.js +1 -1
  102. package/dist/esm/vega-tooltip_2.entry.js +1 -1
  103. package/dist/esm/vega.js +7 -7
  104. package/dist/sri/vega-sri-manifest.json +94 -94
  105. package/dist/types/components/vega-combo-box/vega-combo-box.d.ts +6 -6
  106. package/dist/types/components/vega-dropdown/types.d.ts +2 -2
  107. package/dist/types/components/vega-dropdown/vega-dropdown.d.ts +32 -9
  108. package/dist/types/components/vega-input-select/vega-input-select.d.ts +6 -6
  109. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-annotation-strategy.abstract.d.ts +36 -0
  110. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-item-replace-nest-list-strategy.d.ts +14 -2
  111. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-items-strategy.abstract.d.ts +22 -0
  112. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-nest-items-strategy.d.ts +21 -0
  113. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-remove-list-item-strategy.d.ts +14 -0
  114. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-transform-selection.d.ts +15 -0
  115. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-transform-to-list-strategy.d.ts +30 -3
  116. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-transform-to-paragraph-strategy.d.ts +99 -3
  117. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-unnest-items-strategy.d.ts +22 -0
  118. package/dist/types/components/vega-rich-text-editor/dto/actions/modify-content-action.abstract.d.ts +2 -0
  119. package/dist/types/components/vega-rich-text-editor/dto/actions/nest-list-items-action.d.ts +11 -0
  120. package/dist/types/components/vega-rich-text-editor/dto/actions/unnest-list-items-action.d.ts +11 -0
  121. package/dist/types/components/vega-rich-text-editor/dto/annotations/list-annotation.d.ts +8 -0
  122. package/dist/types/components/vega-rich-text-editor/dto/blocks/list-block.d.ts +6 -1
  123. package/dist/types/components/vega-rich-text-editor/dto/blocks/list-item-block.d.ts +5 -1
  124. package/dist/types/components/vega-rich-text-editor/dto/content-state.d.ts +2 -2
  125. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/list-block-renderer.d.ts +2 -0
  126. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/list-item-block-renderer.d.ts +8 -0
  127. package/dist/types/components/vega-rich-text-editor/extensions/table/annotation-handler/table-annotation-handler-base.d.ts +18 -0
  128. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-numbers-toolbar-button-slimmer.d.ts +8 -0
  129. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/helper/abstract-list-keyboard-handler.d.ts +99 -0
  130. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/helper/list-shift-tab-outdent-handler.d.ts +15 -0
  131. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/helper/list-tab-indent-handler.d.ts +15 -0
  132. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/list-keyboard-slimmer.d.ts +73 -0
  133. package/dist/types/components/vega-section-title/slimmers/a11y-tree/build-section-title-a11y-tree.d.ts +41 -0
  134. package/dist/types/components/vega-section-title/vega-section-title.d.ts +9 -0
  135. package/dist/types/components.d.ts +10 -10
  136. package/dist/types/helpers/a11y-tree/a11y-node-dto.d.ts +173 -0
  137. package/dist/types/helpers/a11y-tree/a11y-tree-applier.d.ts +28 -0
  138. package/dist/types/helpers/a11y-tree/a11y-tree.types.d.ts +137 -0
  139. package/dist/types/helpers/a11y-tree/strategies/baseline-strategy.d.ts +18 -0
  140. package/dist/types/helpers/a11y-tree/strategies/firefox-nvda-strategy.d.ts +16 -0
  141. package/dist/types/helpers/a11y-tree/strategies/webkit-voiceover-strategy.d.ts +23 -0
  142. package/dist/types/helpers/a11y-tree/strategy-resolver.d.ts +59 -0
  143. package/dist/types/helpers/slimmers/a11y-tree-slimmer.d.ts +49 -0
  144. package/dist/types/helpers/slimmers/element-appender/element-appender-slimmer.d.ts +9 -0
  145. package/dist/types/helpers/slimmers/element-appender/visibility-modifiers/clip-on-scroll-modifier.d.ts +37 -0
  146. package/dist/types/helpers/slimmers/element-appender/visibility-modifiers/visibility-modifier.interface.d.ts +56 -0
  147. package/dist/types/helpers/ui/element-appender.d.ts +7 -0
  148. package/dist/vega/index.esm.js +1 -1
  149. package/dist/vega/{p-9c39f90b.entry.js → p-1dfbc542.entry.js} +1 -1
  150. package/dist/vega/{p-e235020b.entry.js → p-22cc174e.entry.js} +1 -1
  151. package/dist/vega/{p-b187b82d.entry.js → p-2df5d59b.entry.js} +1 -1
  152. package/dist/vega/{p-f7e459cd.js → p-312d8205.js} +1 -1
  153. package/dist/vega/{p-a7209700.js → p-3345d903.js} +1 -1
  154. package/dist/vega/{p-02355de8.js → p-3c23ec90.js} +1 -1
  155. package/dist/vega/p-55e0014a.js +3 -0
  156. package/dist/vega/p-5f377954.js +1 -1
  157. package/dist/vega/p-65fee02f.entry.js +1 -0
  158. package/dist/vega/p-6a51d720.js +1 -0
  159. package/dist/vega/{p-fe24b459.js → p-6c7b6d45.js} +1 -1
  160. package/dist/vega/{p-579cdeae.js → p-84b7a775.js} +1 -1
  161. package/dist/vega/{p-df828d90.entry.js → p-96da7d30.entry.js} +1 -1
  162. package/dist/vega/{p-88be9ec5.js → p-9d3f69cb.js} +1 -1
  163. package/dist/vega/{p-8a001caa.js → p-9f11b579.js} +1 -1
  164. package/dist/vega/{p-ba2b9663.entry.js → p-acaff62d.entry.js} +1 -1
  165. package/dist/vega/p-b63319e9.entry.js +1 -0
  166. package/dist/vega/{p-c079c935.entry.js → p-b660f38c.entry.js} +1 -1
  167. package/dist/vega/p-b8ffa42f.entry.js +1 -0
  168. package/dist/vega/{p-4fe40b76.js → p-c4564904.js} +1 -1
  169. package/dist/vega/p-d9158512.js +1 -0
  170. package/dist/vega/p-e62d41ee.js +1 -0
  171. package/dist/vega/{p-9f7154d2.js → p-ec5dee32.js} +1 -1
  172. package/dist/vega/{p-05d04c07.entry.js → p-f29d9707.entry.js} +1 -1
  173. package/dist/vega/vega.esm.js +1 -1
  174. package/package.json +3 -2
  175. package/dist/vega/p-0be4df0a.js +0 -1
  176. package/dist/vega/p-38c9d782.js +0 -1
  177. package/dist/vega/p-513bc0d9.js +0 -1
  178. package/dist/vega/p-8d4b85e7.entry.js +0 -1
  179. package/dist/vega/p-c5d3b008.entry.js +0 -1
  180. package/dist/vega/p-d25ca0c3.entry.js +0 -1
  181. package/dist/vega/p-f4da615a.js +0 -3
@@ -1352,6 +1352,22 @@ class ElementAppender {
1352
1352
  this.adjustPosition(true);
1353
1353
  }
1354
1354
  }
1355
+ /**
1356
+ * Toggles the appendable's visibility without changing its logical open
1357
+ * state. Used to visually clip the popup when the trigger is out of view.
1358
+ *
1359
+ * @param {boolean} clipped - true to hide, false to show
1360
+ */
1361
+ setClipHidden(clipped) {
1362
+ if (!this.showConfig)
1363
+ return;
1364
+ if (clipped) {
1365
+ this.hideElementAppender(this.showConfig.appendableElement);
1366
+ }
1367
+ else {
1368
+ this.showElementAppender(this.showConfig.appendableElement);
1369
+ }
1370
+ }
1355
1371
  /* istanbul ignore next */
1356
1372
  /**
1357
1373
  * It removes the z-index from the appendable element, removes the appendable element from the DOM, and
@@ -1753,6 +1769,77 @@ class NoneTriggerStrategy {
1753
1769
  }
1754
1770
  }
1755
1771
 
1772
+ /**
1773
+ * Returns the flattened-tree parent of a node so we can walk from inside a shadow
1774
+ * tree up to the top-level document: assigned slot → parent element → shadow
1775
+ * host.
1776
+ *
1777
+ * @param {Node} node - The node whose flattened-tree parent should be returned.
1778
+ * @returns {HTMLElement | null} The flattened-tree parent, or null when the walk has reached the top.
1779
+ */
1780
+ function flatParent(node) {
1781
+ var _a;
1782
+ const slot = (_a = node.assignedSlot) !== null && _a !== void 0 ? _a : null;
1783
+ if (slot)
1784
+ return slot;
1785
+ const parent = node.parentElement;
1786
+ if (parent)
1787
+ return parent;
1788
+ const root = node.getRootNode();
1789
+ return root.host ? root.host : null;
1790
+ }
1791
+ /**
1792
+ * Returns true when the trigger is clipped out of view by the visual viewport
1793
+ * or by any scrollable ancestor.
1794
+ *
1795
+ * @param {HTMLElement} target - The trigger element to test against the viewport and scrollable ancestors.
1796
+ * @returns {boolean} True when the trigger is clipped and the appendable should be hidden.
1797
+ */
1798
+ function isTriggerClipped(target) {
1799
+ const t = target.getBoundingClientRect();
1800
+ const vw = window.innerWidth;
1801
+ const vh = window.innerHeight;
1802
+ if (t.bottom <= 0 || t.top >= vh || t.right <= 0 || t.left >= vw) {
1803
+ return true;
1804
+ }
1805
+ let node = flatParent(target);
1806
+ while (node) {
1807
+ const style = getComputedStyle(node);
1808
+ if (/(auto|scroll)/.test(style.overflowX + ' ' + style.overflowY)) {
1809
+ const r = node.getBoundingClientRect();
1810
+ if (t.bottom <= r.top || t.top >= r.bottom || t.right <= r.left || t.left >= r.right) {
1811
+ return true;
1812
+ }
1813
+ }
1814
+ node = flatParent(node);
1815
+ }
1816
+ return false;
1817
+ }
1818
+ /**
1819
+ * Clip-hides an appendable while its trigger is scrolled out of view and
1820
+ * restores it when the trigger returns, without touching the popup's logical
1821
+ * open state. Applies to every appender consumer.
1822
+ */
1823
+ class ClipOnScrollModifier {
1824
+ /**
1825
+ * @returns {boolean} Always true — geometry alone decides clip vs restore in `evaluate`.
1826
+ */
1827
+ isEnabled() {
1828
+ return true;
1829
+ }
1830
+ /**
1831
+ * Evaluates whether the appendable should be clip-hidden or restored based
1832
+ * on the current trigger geometry.
1833
+ *
1834
+ * @param {VegaEAVisibilityContext} context - Evaluation context.
1835
+ * @returns {VegaEAVisibilityResult} The next clip action.
1836
+ */
1837
+ evaluate(context) {
1838
+ const clipped = isTriggerClipped(context.target);
1839
+ return { nextAction: clipped ? 'clip-hide' : 'clip-show' };
1840
+ }
1841
+ }
1842
+
1756
1843
  var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1757
1844
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1758
1845
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -1763,6 +1850,7 @@ class ElementAppenderSlimmer extends globalSlimmerRegistry.VegaSlimmer {
1763
1850
  constructor(showConfigFactory, getTrigger, isDropdownShowName = 'isDropdownShow', disableInteractiveGetter = () => false) {
1764
1851
  super();
1765
1852
  this.hierarchyTreeManager = new ElementAppenderHierarchyTreeManager(this);
1853
+ this.visibilityModifiers = [new ClipOnScrollModifier()];
1766
1854
  /**
1767
1855
  * It adds event listeners to the target and the appendable element
1768
1856
  */
@@ -1868,6 +1956,33 @@ class ElementAppenderSlimmer extends globalSlimmerRegistry.VegaSlimmer {
1868
1956
  // itself, so no forced recalculation is needed there.
1869
1957
  const forceAdjust = !(e instanceof Event) || e.target !== tryGetDocument.tryGetDocument();
1870
1958
  (_a = this.elementAppender) === null || _a === void 0 ? void 0 : _a.onScroll(forceAdjust);
1959
+ this.executeVisibilityModifiers({ kind: 'scroll', event: e });
1960
+ }
1961
+ };
1962
+ /**
1963
+ * Runs every enabled visibility modifier against the current show config and
1964
+ * routes their actions to the appender. Modifiers are viewport-level,
1965
+ * cross-cutting concerns that run in parallel with (not in place of) the
1966
+ * selected trigger strategy — they only affect the appendable's visual
1967
+ * clipping, never its logical open state.
1968
+ */
1969
+ this.executeVisibilityModifiers = (event) => {
1970
+ if (!this.showConfig || !this.elementAppender)
1971
+ return;
1972
+ for (const modifier of this.visibilityModifiers) {
1973
+ if (!modifier.isEnabled(this.showConfig))
1974
+ continue;
1975
+ const result = modifier.evaluate({
1976
+ target: this.showConfig.target,
1977
+ appendableElement: this.showConfig.appendableElement,
1978
+ showConfig: this.showConfig,
1979
+ currentState: { isVisible: this.isShowing() },
1980
+ event,
1981
+ });
1982
+ if (result.nextAction === 'clip-hide')
1983
+ this.elementAppender.setClipHidden(true);
1984
+ else if (result.nextAction === 'clip-show')
1985
+ this.elementAppender.setClipHidden(false);
1871
1986
  }
1872
1987
  };
1873
1988
  /* A timer that will hide the dropdown after a certain amount of time. */
@@ -3,11 +3,11 @@
3
3
  const index = require('./index-58ea899e.js');
4
4
  const internalIconManager = require('./internal-icon-manager-40bcac72.js');
5
5
  const globalSlimmerRegistry = require('./global-slimmer-registry-b3bce7e0.js');
6
- const codeBlock = require('./code-block-493c7ce7.js');
6
+ const codeBlock = require('./code-block-4126dc3b.js');
7
7
  const domNodeSubjectObserverFactory = require('./dom-node-subject-observer-factory-c82df135.js');
8
8
  const vegaEventId = require('./vega-event-id-58afed7a.js');
9
9
  const darkModeStyleController = require('./dark-mode-style-controller-32d4054a.js');
10
- const contentState = require('./content-state-fc34a814.js');
10
+ const contentState = require('./content-state-50e8a03c.js');
11
11
 
12
12
  const text = {
13
13
  icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 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="M64 96v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V80C0 53.5 21.5 32 48 32H224 400c26.5 0 48 21.5 48 48v48c0 17.7-14.3 32-32 32s-32-14.3-32-32V96H256l0 320h48c17.7 0 32 14.3 32 32s-14.3 32-32 32H144c-17.7 0-32-14.3-32-32s14.3-32 32-32h48l0-320H64z"/></svg>`,
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- const codeBlock = require('./code-block-493c7ce7.js');
4
- const linkExtension = require('./link-extension-92a63cb7.js');
3
+ const codeBlock = require('./code-block-4126dc3b.js');
4
+ const linkExtension = require('./link-extension-b7f99a52.js');
5
5
 
6
6
  /**
7
7
  * Replace the text node selected content to new text
@@ -12,9 +12,9 @@ const icons = require('./icons-dbc3eb9c.js');
12
12
  const typography = require('./typography-3ea4fe41.js');
13
13
  const ui = require('./ui-32120990.js');
14
14
  const vegaEnvManager = require('./vega-env-manager-23b8b23c.js');
15
- const tokenExtension = require('./token-extension-d123d9d0.js');
15
+ const tokenExtension = require('./token-extension-eb828948.js');
16
16
  const featureFlagController = require('./feature-flag-controller-c19d0b58.js');
17
- const splitCellOperation = require('./split-cell-operation-43752212.js');
17
+ const splitCellOperation = require('./split-cell-operation-70be116d.js');
18
18
  const vegaDialogController = require('./vega-dialog-controller-16be85d5.js');
19
19
  const internalVegaEventManager = require('./internal-vega-event-manager-7003c84a.js');
20
20
  const iconManager = require('./icon-manager-be358b32.js');
@@ -22,21 +22,21 @@ const validCreditCardNumberRule = require('./valid-credit-card-number-rule-8d370
22
22
  require('./ui-c91c37a7.js');
23
23
  const internalTranslationController = require('./internal-translation-controller-eb02c3b1.js');
24
24
  const vegaNonceManager = require('./vega-nonce-manager-df69d3ed.js');
25
- const codeBlock = require('./code-block-493c7ce7.js');
26
- const contentState = require('./content-state-fc34a814.js');
25
+ const codeBlock = require('./code-block-4126dc3b.js');
26
+ const contentState = require('./content-state-50e8a03c.js');
27
27
  const responsiveFormatFacade = require('./responsive-format-facade-25e9f30d.js');
28
28
  const checkBoxRequiredRule = require('./check-box-required-rule-1ee54b9a.js');
29
29
  const dateRequiredRule = require('./date-required-rule-4ab06a82.js');
30
30
  const inputPhoneNumberRequiredRule = require('./input-phone-number-required-rule-2668fdf1.js');
31
31
  const inputRangeRequiredRule = require('./input-range-required-rule-5b9c2a95.js');
32
32
  const requiredFieldRule = require('./required-field-rule-400690c3.js');
33
- const richTextEditorRequiredRule = require('./rich-text-editor-required-rule-23bf7485.js');
33
+ const richTextEditorRequiredRule = require('./rich-text-editor-required-rule-4d6d2493.js');
34
34
  const timeRequiredRule = require('./time-required-rule-12d2f394.js');
35
35
  const toggleSwitchRequiredRule = require('./toggle-switch-required-rule-88a51b36.js');
36
36
  const fileUploaderRequiredRule = require('./file-uploader-required-rule-5520bbec.js');
37
- const linkExtension = require('./link-extension-92a63cb7.js');
38
- const imageExtension = require('./image-extension-30a7c10f.js');
39
- const range = require('./range-30219330.js');
37
+ const linkExtension = require('./link-extension-b7f99a52.js');
38
+ const imageExtension = require('./image-extension-c881c454.js');
39
+ const range = require('./range-95d41dea.js');
40
40
  require('./state-border-formatter-f1ce0f3b.js');
41
41
  require('./misc-3d30df91.js');
42
42
  require('./create-public-api-runtime-metrics-slimmer-91b0cbfb.js');
@@ -183,6 +183,8 @@ exports.RTEAnnotationStyle = codeBlock.RTEAnnotationStyle;
183
183
  exports.RTEBlock = codeBlock.RTEBlock;
184
184
  exports.RTEDecoratorNode = codeBlock.RTEDecoratorNode;
185
185
  exports.RTEFilterStylesStrategy = codeBlock.RTEFilterStylesStrategy;
186
+ exports.RTEListBlock = codeBlock.RTEListBlock;
187
+ exports.RTEListItemBlock = codeBlock.RTEListItemBlock;
186
188
  exports.RTENode = codeBlock.RTENode;
187
189
  exports.RTETextBlock = codeBlock.RTETextBlock;
188
190
  exports.RTETextNode = codeBlock.RTETextNode;
@@ -194,8 +196,6 @@ exports.ElementToDTOStrategy = contentState.ElementToDTOStrategy;
194
196
  exports.InsertNewParagraphAction = contentState.InsertNewParagraphAction;
195
197
  exports.RTEImageBlock = contentState.RTEImageBlock;
196
198
  exports.RTEImageNode = contentState.RTEImageNode;
197
- exports.RTEListBlock = contentState.RTEListBlock;
198
- exports.RTEListItemBlock = contentState.RTEListItemBlock;
199
199
  exports.UpdateCursorPositionAction = contentState.UpdateCursorPositionAction;
200
200
  exports.VegaRTEContent = contentState.VegaRTEContent;
201
201
  exports.htmlElementToAnnotationGenerator = contentState.htmlElementToAnnotationGenerator;
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- const codeBlock = require('./code-block-493c7ce7.js');
4
- const contentState = require('./content-state-fc34a814.js');
3
+ const codeBlock = require('./code-block-4126dc3b.js');
4
+ const contentState = require('./content-state-50e8a03c.js');
5
5
  const typeGuard = require('./type-guard-f354af8b.js');
6
6
  require('./global-slimmer-registry-b3bce7e0.js');
7
7
 
@@ -3,11 +3,11 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-58ea899e.js');
6
- const appGlobals = require('./app-globals-76815382.js');
6
+ const appGlobals = require('./app-globals-38afea36.js');
7
7
  require('./feature-flag-controller-c19d0b58.js');
8
8
  require('./global-slimmer-registry-b3bce7e0.js');
9
9
  require('./index-3ca118c4.js');
10
- require('./token-extension-d123d9d0.js');
10
+ require('./token-extension-eb828948.js');
11
11
  require('./misc-3d30df91.js');
12
12
  require('./ui-c91c37a7.js');
13
13
  require('./create-public-api-runtime-metrics-slimmer-91b0cbfb.js');
@@ -27,8 +27,8 @@ require('./static-subject-title-70c73b16.js');
27
27
  require('./internal-calendar-period-factory-b76006f7.js');
28
28
  require('./type-guard-f354af8b.js');
29
29
  require('./typography-3ea4fe41.js');
30
- require('./link-extension-92a63cb7.js');
31
- require('./code-block-493c7ce7.js');
30
+ require('./link-extension-b7f99a52.js');
31
+ require('./code-block-4126dc3b.js');
32
32
  require('./dom-node-subject-observer-factory-c82df135.js');
33
33
  require('./observer-f49483e8.js');
34
34
  require('./vega-internal-event-id-ecc5b87a.js');
@@ -38,14 +38,14 @@ require('./tinycolor-polyfill-502efaa8.js');
38
38
  require('./vega-nonce-manager-df69d3ed.js');
39
39
  require('./index-592b4052.js');
40
40
  require('./object-b53e9416.js');
41
- require('./content-state-fc34a814.js');
41
+ require('./content-state-50e8a03c.js');
42
42
  require('./internal-icon-manager-40bcac72.js');
43
43
  require('./icon-manager-be358b32.js');
44
- require('./split-cell-operation-43752212.js');
44
+ require('./split-cell-operation-70be116d.js');
45
45
  require('./remote-invocation-registry-fc22fdd0.js');
46
46
  require('./pixel-98f2a10c.js');
47
47
  require('./timer-5f33058b.js');
48
- require('./image-extension-30a7c10f.js');
48
+ require('./image-extension-c881c454.js');
49
49
  require('./copy-d021c780.js');
50
50
  require('./vega-dialog-controller-16be85d5.js');
51
51
  require('./valid-credit-card-number-rule-8d370163.js');
@@ -5,7 +5,7 @@ const dateRequiredRule = require('./date-required-rule-4ab06a82.js');
5
5
  const inputPhoneNumberRequiredRule = require('./input-phone-number-required-rule-2668fdf1.js');
6
6
  const inputRangeRequiredRule = require('./input-range-required-rule-5b9c2a95.js');
7
7
  const requiredFieldRule = require('./required-field-rule-400690c3.js');
8
- const richTextEditorRequiredRule = require('./rich-text-editor-required-rule-23bf7485.js');
8
+ const richTextEditorRequiredRule = require('./rich-text-editor-required-rule-4d6d2493.js');
9
9
  const timeRequiredRule = require('./time-required-rule-12d2f394.js');
10
10
  const toggleSwitchRequiredRule = require('./toggle-switch-required-rule-88a51b36.js');
11
11
  const fileUploaderRequiredRule = require('./file-uploader-required-rule-5520bbec.js');
@@ -20,8 +20,8 @@ require('./change-manager-a297e4d2.js');
20
20
  require('./static-subject-title-70c73b16.js');
21
21
  require('./feature-flag-controller-c19d0b58.js');
22
22
  require('./index-3ca118c4.js');
23
- require('./content-state-fc34a814.js');
24
- require('./code-block-493c7ce7.js');
23
+ require('./content-state-50e8a03c.js');
24
+ require('./code-block-4126dc3b.js');
25
25
  require('./dom-node-subject-observer-factory-c82df135.js');
26
26
  require('./observer-f49483e8.js');
27
27
  require('./ui-c91c37a7.js');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const codeBlock = require('./code-block-493c7ce7.js');
3
+ const codeBlock = require('./code-block-4126dc3b.js');
4
4
  const ui = require('./ui-c91c37a7.js');
5
5
 
6
6
  /** Manages selection range for a rich text editor, providing methods to set, sync, and create native ranges based on RTENodes and Nodes. */
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const contentState = require('./content-state-fc34a814.js');
3
+ const contentState = require('./content-state-50e8a03c.js');
4
4
  const internalFormFieldValidationRule_abstract = require('./internal-form-field-validation-rule.abstract-07cdff46.js');
5
5
 
6
6
  /**
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const codeBlock = require('./code-block-493c7ce7.js');
3
+ const codeBlock = require('./code-block-4126dc3b.js');
4
4
  const object = require('./object-b53e9416.js');
5
5
  const darkModeStyleController = require('./dark-mode-style-controller-32d4054a.js');
6
6
  require('./global-slimmer-registry-b3bce7e0.js');
@@ -8,7 +8,7 @@ const createPublicApiRuntimeMetricsSlimmer = require('./create-public-api-runtim
8
8
  const ui = require('./ui-c91c37a7.js');
9
9
  const typeGuard = require('./type-guard-f354af8b.js');
10
10
  const misc = require('./misc-3d30df91.js');
11
- const contentState = require('./content-state-fc34a814.js');
11
+ const contentState = require('./content-state-50e8a03c.js');
12
12
 
13
13
  const ThemeManagerRuntimeMetricsPayloadDefinition = [
14
14
  {
@@ -10,15 +10,15 @@ const pageResizeObserverSlimmer = require('./page-resize-observer-slimmer-273d62
10
10
  const internalVegaEventManager = require('./internal-vega-event-manager-7003c84a.js');
11
11
  const internalTranslationController = require('./internal-translation-controller-eb02c3b1.js');
12
12
  const internalCalendarPeriodFactory = require('./internal-calendar-period-factory-b76006f7.js');
13
- const linkExtension = require('./link-extension-92a63cb7.js');
14
- const contentState = require('./content-state-fc34a814.js');
15
- const codeBlock = require('./code-block-493c7ce7.js');
13
+ const linkExtension = require('./link-extension-b7f99a52.js');
14
+ const codeBlock = require('./code-block-4126dc3b.js');
15
+ const contentState = require('./content-state-50e8a03c.js');
16
16
  const typeGuard = require('./type-guard-f354af8b.js');
17
17
  const internalIconManager = require('./internal-icon-manager-40bcac72.js');
18
18
  const vegaNonceManager = require('./vega-nonce-manager-df69d3ed.js');
19
19
  const domNodeSubjectObserverFactory = require('./dom-node-subject-observer-factory-c82df135.js');
20
20
  const vegaEventId = require('./vega-event-id-58afed7a.js');
21
- const splitCellOperation = require('./split-cell-operation-43752212.js');
21
+ const splitCellOperation = require('./split-cell-operation-70be116d.js');
22
22
  const changeManager = require('./change-manager-a297e4d2.js');
23
23
  const vegaInternalEventId = require('./vega-internal-event-id-ecc5b87a.js');
24
24
  const remoteInvocationRegistry = require('./remote-invocation-registry-fc22fdd0.js');
@@ -28,7 +28,7 @@ const pixel = require('./pixel-98f2a10c.js');
28
28
  const object = require('./object-b53e9416.js');
29
29
  const timer = require('./timer-5f33058b.js');
30
30
  const string = require('./string-39438062.js');
31
- const imageExtension = require('./image-extension-30a7c10f.js');
31
+ const imageExtension = require('./image-extension-c881c454.js');
32
32
  const copy = require('./copy-d021c780.js');
33
33
 
34
34
  const VegaLoaderRuntimeMetricsPayloadDefinition = [
@@ -6466,12 +6466,29 @@ class TableAnnotationHandlerBase extends contentState.AnnotationGeneratorStrateg
6466
6466
  const updatedBorderColor = borderColor === 'initial' ? '' : borderColor;
6467
6467
  return {
6468
6468
  style: borderStyle === 'initial' ? '' : borderStyle,
6469
- width: borderWidth === 'initial' ? '' : borderWidth,
6469
+ width: this.normalizeBorderWidth(borderWidth),
6470
6470
  color: splitCellOperation.RTETableColorManager.getColorKey(updatedBorderColor) || updatedBorderColor,
6471
6471
  };
6472
6472
  }
6473
6473
  return null;
6474
6474
  }
6475
+ /**
6476
+ * Normalize a border width read from the DOM, dropping the `initial` value and the
6477
+ * CSS keyword widths (`thin`/`medium`/`thick`). Those only appear as serialization
6478
+ * artifacts of shorthand borders (e.g. `border: none` → `border-width: medium`) and
6479
+ * are not valid numeric dimensions, so leaving them in would populate the properties
6480
+ * "Weight" field with an invalid value and block the whole form from saving.
6481
+ *
6482
+ * @param {string} borderWidth - The raw border width read from the element style.
6483
+ * @returns {string} The normalized border width (empty string when it is a keyword).
6484
+ */
6485
+ normalizeBorderWidth(borderWidth) {
6486
+ if (borderWidth === 'initial' ||
6487
+ TableAnnotationHandlerBase.BORDER_WIDTH_KEYWORDS.includes(borderWidth)) {
6488
+ return '';
6489
+ }
6490
+ return borderWidth;
6491
+ }
6475
6492
  /**
6476
6493
  * Extract width from element.
6477
6494
  *
@@ -6509,6 +6526,13 @@ class TableAnnotationHandlerBase extends contentState.AnnotationGeneratorStrateg
6509
6526
  return null;
6510
6527
  }
6511
6528
  }
6529
+ /**
6530
+ * CSS border-width keywords. These are produced as serialization artifacts when a
6531
+ * shorthand border without an explicit width is round-tripped (e.g. `border: none`
6532
+ * expands to `border-width: medium`). They are not valid numeric dimensions for the
6533
+ * table/cell properties "Weight" field, so they are normalized away on import.
6534
+ */
6535
+ TableAnnotationHandlerBase.BORDER_WIDTH_KEYWORDS = ['thin', 'medium', 'thick'];
6512
6536
 
6513
6537
  /**
6514
6538
  * Handler for table annotation parsing from HTML elements.
@@ -9170,7 +9194,7 @@ class ListItemBlockSearchStrategy extends BlockSearchStrategy {
9170
9194
  * @inheritDoc
9171
9195
  */
9172
9196
  canHandle(block) {
9173
- return block instanceof contentState.RTEListItemBlock;
9197
+ return block instanceof codeBlock.RTEListItemBlock;
9174
9198
  }
9175
9199
  /**
9176
9200
  * @inheritDoc
@@ -10583,7 +10607,7 @@ class RTELineHeightToolbarButtonRenderer extends VegaRTEToolbarButtonRenderer {
10583
10607
 
10584
10608
  const LINE_HEIGHT_AWARE_BLOCK_NAMES = new Set([
10585
10609
  codeBlock.RTETextBlock.name,
10586
- contentState.RTEListItemBlock.name,
10610
+ codeBlock.RTEListItemBlock.name,
10587
10611
  ]);
10588
10612
  /** Handle line height annotation. */
10589
10613
  class LineHeightAnnotationHandler extends contentState.AnnotationGeneratorStrategyAbstract {
@@ -10732,7 +10756,7 @@ class VegaRTELineHeightExtension extends linkExtension.VegaRTEExtension {
10732
10756
  this.options = options;
10733
10757
  this.toolbarButtonRenderer = null;
10734
10758
  this.registerAnnotationHandler(new LineHeightAnnotationHandler(this.options));
10735
- [codeBlock.RTETextBlock, contentState.RTEListItemBlock].forEach((BlockClass) => {
10759
+ [codeBlock.RTETextBlock, codeBlock.RTEListItemBlock].forEach((BlockClass) => {
10736
10760
  setAllowedLineHeights(BlockClass, this.options);
10737
10761
  });
10738
10762
  }
@@ -10749,7 +10773,7 @@ class VegaRTELineHeightExtension extends linkExtension.VegaRTEExtension {
10749
10773
  }
10750
10774
  }
10751
10775
  (() => {
10752
- [codeBlock.RTETextBlock, contentState.RTEListItemBlock].forEach((BlockClass) => {
10776
+ [codeBlock.RTETextBlock, codeBlock.RTEListItemBlock].forEach((BlockClass) => {
10753
10777
  linkExtension.VegaRTEExtension.registerActionHandleStrategy(BlockClass.name, LineHeightAnnotationAction.name, new BlockUpdateLineHeightStrategy());
10754
10778
  codeBlock.RTEFilterStylesStrategyRegistry.register(BlockClass.name, new LineHeightFilterStylesStrategy());
10755
10779
  attachLineHeightFromJson(BlockClass);
@@ -12125,7 +12149,7 @@ class VegaRTETokenExtension extends linkExtension.VegaRTEExtension {
12125
12149
  (() => {
12126
12150
  const insertTokenNodeStrategy = new InsertTokenNodeStrategy();
12127
12151
  linkExtension.VegaRTEExtension.registerActionHandleStrategy(codeBlock.RTETextBlock.name, 'INSERT_TOKEN_NODE', insertTokenNodeStrategy);
12128
- linkExtension.VegaRTEExtension.registerActionHandleStrategy(contentState.RTEListItemBlock.name, 'INSERT_TOKEN_NODE', insertTokenNodeStrategy);
12152
+ linkExtension.VegaRTEExtension.registerActionHandleStrategy(codeBlock.RTEListItemBlock.name, 'INSERT_TOKEN_NODE', insertTokenNodeStrategy);
12129
12153
  })();
12130
12154
  VegaRTETokenExtension.TOOLBAR_BUTTON_KEY = 'token';
12131
12155
 
@@ -10,14 +10,14 @@ const internalIconManager = require('./internal-icon-manager-40bcac72.js');
10
10
  const trashCan = require('./trash-can-46a5e19a.js');
11
11
  const domNodeSubjectObserverFactory = require('./dom-node-subject-observer-factory-c82df135.js');
12
12
  const vegaEventId = require('./vega-event-id-58afed7a.js');
13
- const codeBlock = require('./code-block-493c7ce7.js');
13
+ const codeBlock = require('./code-block-4126dc3b.js');
14
14
  const ui = require('./ui-c91c37a7.js');
15
15
  const changeManager = require('./change-manager-a297e4d2.js');
16
16
  const vegaInternalEventId = require('./vega-internal-event-id-ecc5b87a.js');
17
17
  const eventEmitSlimmer = require('./event-emit-slimmer-34aa195e.js');
18
18
  const object = require('./object-b53e9416.js');
19
19
  const translationSlimmer = require('./translation-slimmer-9099f56c.js');
20
- const componentValueHistoryControllerSlimmer_abstract = require('./component-value-history-controller-slimmer.abstract-ab21fcbf.js');
20
+ const componentValueHistoryControllerSlimmer_abstract = require('./component-value-history-controller-slimmer.abstract-38ba956e.js');
21
21
  const autoRunWhenReRenderTaskQueueSlimmer_abstract = require('./auto-run-when-re-render-task-queue-slimmer.abstract-5734634d.js');
22
22
  const timer = require('./timer-5f33058b.js');
23
23
  const childNodesEventPreventSlimmer = require('./child-nodes-event-prevent-slimmer-e0ac8467.js');
@@ -41,7 +41,7 @@ require('./vega-nonce-manager-df69d3ed.js');
41
41
  require('./try-get-document-c0ebd39a.js');
42
42
  require('./index-592b4052.js');
43
43
  require('./internal-vega-event-manager-7003c84a.js');
44
- require('./range-30219330.js');
44
+ require('./range-95d41dea.js');
45
45
  require('./keyboard-manager-slimmer-a1223714.js');
46
46
  require('./keyboard-manager-ca76d4dc.js');
47
47
  require('./synchronize-task-queue-1ee80e94.js');
@@ -30,7 +30,7 @@ const eventEmitSlimmer = require('./event-emit-slimmer-34aa195e.js');
30
30
  const childNodesEventPreventSlimmer = require('./child-nodes-event-prevent-slimmer-e0ac8467.js');
31
31
  const translationSlimmer = require('./translation-slimmer-9099f56c.js');
32
32
  const dynamicSlimmer = require('./dynamic-slimmer-f31fdfd7.js');
33
- const elementAppenderSlimmer = require('./element-appender-slimmer-1d6323c2.js');
33
+ const elementAppenderSlimmer = require('./element-appender-slimmer-7773fdab.js');
34
34
  const synchronizeTaskQueue = require('./synchronize-task-queue-1ee80e94.js');
35
35
  const clickOutsideOnlyToDismissStrategy = require('./click-outside-only-to-dismiss-strategy-407f6d1e.js');
36
36
  const ariaDialogFocusableTrapSlimmer = require('./aria-dialog-focusable-trap-slimmer-73b4c0cb.js');
@@ -14,7 +14,7 @@ const domNodeSubjectObserverFactory = require('./dom-node-subject-observer-facto
14
14
  const vegaEventId = require('./vega-event-id-58afed7a.js');
15
15
  const keyboardManagerSlimmer = require('./keyboard-manager-slimmer-a1223714.js');
16
16
  const dynamicSlimmer = require('./dynamic-slimmer-f31fdfd7.js');
17
- const elementAppenderSlimmer = require('./element-appender-slimmer-1d6323c2.js');
17
+ const elementAppenderSlimmer = require('./element-appender-slimmer-7773fdab.js');
18
18
  const ariaDialogFocusableTrapSlimmer = require('./aria-dialog-focusable-trap-slimmer-73b4c0cb.js');
19
19
  const index$1 = require('./index-592b4052.js');
20
20
  const array = require('./array-249289f2.js');
@@ -2386,10 +2386,33 @@ const VegaDropdown = class {
2386
2386
  */
2387
2387
  this.isLazyLoading = false;
2388
2388
  /**
2389
- * Determines whether the dropdown position is calculated relative to the screen.
2389
+ * Determines whether the dropdown uses viewport-based positioning (`position: fixed`) or container-based positioning (`position: absolute`).
2390
2390
  *
2391
- * @VegaWarning - It will overrides the positionRelativeTo and matchContainerHeight properties, rendering them ineffective.
2392
- * - Currently, when set to true, the position calculation may be inaccurate if the popover is placed inside a scrollable container within a shadowRoot (e.g., inside a vega-modal with scrollable content).
2391
+ * **Technical Implementation:**
2392
+ *
2393
+ * - When `false` (default): The dropdown content box renders with `position: absolute` and its coordinates are calculated relative to the nearest positioned ancestor. Combined with `positionRelativeTo`, you can specify which ancestor to measure from, which ensures the menu scrolls together with that ancestor.
2394
+ *
2395
+ * - When `true`: The dropdown content box renders with `position: fixed` and its coordinates are calculated from the viewport. The menu is visually anchored to the trigger element via JavaScript and moves with it on scroll, even though it is not part of the document flow. `positionRelativeTo` has no effect in this mode.
2396
+ *
2397
+ * When to set `isScreenPosition` to `true`:
2398
+ *
2399
+ * - Dropdowns that need to break out of container constraints (non-Shadow-DOM only):
2400
+ * When you want the dropdown to appear outside its container's boundaries (e.g., to avoid being clipped by a parent's
2401
+ * `overflow: hidden` or small dimensions), viewport-based positioning allows it to render freely.
2402
+ * This only works for regular (non-Shadow-DOM) containers. Shadow DOM boundaries cannot be escaped with `position: fixed`.
2403
+ *
2404
+ * - Dropdowns in fixed or sticky positioned containers:
2405
+ * When the dropdown trigger is inside a fixed or sticky positioned container, viewport-based positioning ensures correct alignment.
2406
+ *
2407
+ * When to keep `isScreenPosition` as `false` (default):
2408
+ *
2409
+ * - Simple layouts where the dropdown and its trigger are not inside scrollable containers
2410
+ * - When you want the dropdown to scroll naturally with its container (using `position: absolute`)
2411
+ * - When you need `positionRelativeTo` to control which ancestor the dropdown is positioned relative to
2412
+ * - When `matchContainerHeight` is needed (this property is overridden when `isScreenPosition` is `true`)
2413
+ *
2414
+ * @VegaWarning - Setting this to `true` override the `positionRelativeTo` and `matchContainerHeight` properties, rendering them ineffective.
2415
+ * - Currently, when set to `true`, the position calculation may be inaccurate if the popover is placed inside a scrollable container within a shadowRoot (e.g., inside a vega-modal with scrollable content).
2393
2416
  * @vegaVersion 2.36.0
2394
2417
  */
2395
2418
  this.isScreenPosition = false;
@@ -11,9 +11,9 @@ exports.FrameworkEnum = void 0;
11
11
  /** The VegaEnvManager class manages vega environment parameters. */
12
12
  class VegaEnvManager {
13
13
  constructor() {
14
- // The `2.95.0` will be replaced to a version string when running publish script.
14
+ // The `2.96.0` will be replaced to a version string when running publish script.
15
15
  // eslint-disable-next-line @typescript-eslint/no-magic-numbers
16
- this.vegaVersion = '2.95.0';
16
+ this.vegaVersion = '2.96.0';
17
17
  this.framework = exports.FrameworkEnum.VanillaJs;
18
18
  }
19
19
  /**
@@ -10,7 +10,7 @@ const componentUsageRuntimeMetrics = require('./component-usage-runtime-metrics-
10
10
  const eventEmitSlimmer = require('./event-emit-slimmer-34aa195e.js');
11
11
  const vegaEventId = require('./vega-event-id-58afed7a.js');
12
12
  const dynamicSlimmer = require('./dynamic-slimmer-f31fdfd7.js');
13
- const elementAppenderSlimmer = require('./element-appender-slimmer-1d6323c2.js');
13
+ const elementAppenderSlimmer = require('./element-appender-slimmer-7773fdab.js');
14
14
  const remoteInvocationRegistry = require('./remote-invocation-registry-fc22fdd0.js');
15
15
  const domNodeSubjectObserverFactory = require('./dom-node-subject-observer-factory-c82df135.js');
16
16
  const vegaInternalEventId = require('./vega-internal-event-id-ecc5b87a.js');