@heartlandone/vega 2.75.1 → 2.76.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 (725) hide show
  1. package/dist/cjs/{app-globals-35614ce8.js → app-globals-12b7d808.js} +28 -32
  2. package/dist/cjs/breakpoints-751d433a.js +56 -0
  3. package/dist/cjs/{child-nodes-event-prevent-slimmer-aca87dac.js → child-nodes-event-prevent-slimmer-84435957.js} +2 -2
  4. package/dist/cjs/{child-nodes-notify-observer-slimmer-257fedb3.js → child-nodes-notify-observer-slimmer-ed39283b.js} +1 -1
  5. package/dist/cjs/{code-block-c1d2e6a8.js → code-block-f1480ec3.js} +17 -17
  6. package/dist/cjs/{component-global-style-slimmer-adfa2e59.js → component-global-style-slimmer-93c5fb50.js} +2 -1
  7. package/dist/cjs/{component-usage-runtime-metrics-d10ace87.js → component-usage-runtime-metrics-4572c5b7.js} +1 -1
  8. package/dist/cjs/{component-value-history-controller-slimmer.abstract-787c67dc.js → component-value-history-controller-slimmer.abstract-a9264cc8.js} +5 -5
  9. package/dist/cjs/{create-public-api-runtime-metrics-slimmer-e2e274e1.js → create-public-api-runtime-metrics-slimmer-9cb09fb2.js} +3 -41
  10. package/dist/cjs/{dark-mode-style-controller-c21172aa.js → dark-mode-style-controller-3a04af3d.js} +292 -1254
  11. package/dist/cjs/{date-required-rule-30ee62d0.js → date-required-rule-912469e0.js} +1 -1
  12. package/dist/cjs/{design-token-bb39e07e.js → design-token-41baf118.js} +2 -2
  13. package/dist/cjs/dom-node-subject-observer-factory-c62823de.js +141 -0
  14. package/dist/cjs/{dto-renderer-manager-03e1a038.js → dto-renderer-manager-809c947b.js} +33 -33
  15. package/dist/cjs/{element-appender-slimmer-daa8b9f5.js → element-appender-slimmer-34e4eb56.js} +349 -166
  16. package/dist/cjs/{event-emit-slimmer-2dacabbd.js → event-emit-slimmer-062cdcb8.js} +2 -2
  17. package/dist/cjs/{feature-flag-controller-ce2162c8.js → feature-flag-controller-04cb1e69.js} +7 -1
  18. package/dist/cjs/{form-field-controller-slimmer-aef2fb1e.js → form-field-controller-slimmer-102f37c7.js} +13 -14
  19. package/dist/cjs/{internal-icon-manager-32f9ed63.js → icon-manager-c12c6ea9.js} +1 -52
  20. package/dist/cjs/{image-annotation-action-3fa501b7.js → image-annotation-action-8d9fa20c.js} +10 -9
  21. package/dist/cjs/index-592b4052.js +220 -0
  22. package/dist/cjs/{index-4d7bce1a.js → index-f054eb5d.js} +15 -3
  23. package/dist/cjs/index.cjs.js +68 -65
  24. package/dist/cjs/{inject-keyboard-manager-d21b4387.js → inject-keyboard-manager-0f5bd568.js} +1 -1
  25. package/dist/cjs/internal-icon-manager-c989189a.js +55 -0
  26. package/dist/cjs/{translation-5f9f9c0c.js → internal-translation-controller-053eb0f1.js} +0 -93
  27. package/dist/cjs/{internal-vega-event-manager-6befeb34.js → internal-vega-event-manager-f7ecf3d4.js} +81 -81
  28. package/dist/cjs/internal-vega-z-index-manager-f03ddb37.js +180 -0
  29. package/dist/cjs/{keyboard-manager-3dea6b28.js → keyboard-manager-055e9f67.js} +2 -2
  30. package/dist/cjs/{keyboard-manager-slimmer-0d45f944.js → keyboard-manager-slimmer-0cc0c1c7.js} +1 -1
  31. package/dist/cjs/loader.cjs.js +26 -23
  32. package/dist/cjs/misc-3d30df91.js +41 -0
  33. package/dist/cjs/{month-view-generator-49cc5fc2.js → month-view-generator-6a6dd527.js} +1 -1
  34. package/dist/cjs/{page-resize-observer-slimmer-11937d6f.js → page-resize-observer-slimmer-7f065ee1.js} +2 -54
  35. package/dist/cjs/{public-rules-dc2a8d62.js → public-rules-922849f3.js} +12 -13
  36. package/dist/cjs/{range-79b668e7.js → range-8aa49b08.js} +2 -2
  37. package/dist/cjs/{responsive-format-facade-d5dba942.js → responsive-format-facade-ea59bdcd.js} +13 -22
  38. package/dist/cjs/{rich-text-editor-required-rule-ba312af9.js → rich-text-editor-required-rule-22225840.js} +1 -1
  39. package/dist/cjs/{string-format-strategy.abstract-63514c60.js → string-format-strategy.abstract-f2575647.js} +1 -1
  40. package/dist/cjs/{string-input-formatter-slimmer-f3e0bbc7.js → string-input-formatter-slimmer-0a334fc6.js} +5 -5
  41. package/dist/cjs/{string-mask-strategy-d23ac21a.js → string-mask-strategy-dda58395.js} +2 -2
  42. package/dist/cjs/{style-formatter-49693da7.js → style-formatter-0c3ced39.js} +2 -2
  43. package/dist/cjs/{sub-state-notify-slimmer-468e19aa.js → sub-state-notify-slimmer-58121111.js} +1 -1
  44. package/dist/cjs/{sub-state-observer-slimmer-5d0b8ac3.js → sub-state-observer-slimmer-1dfbc4c3.js} +2 -2
  45. package/dist/cjs/{time-required-rule-c96ecdc9.js → time-required-rule-d6fa7aa8.js} +1 -1
  46. package/dist/cjs/{function-extension-cfbbc57e.js → token-extension-07cac85d.js} +501 -387
  47. package/dist/cjs/{translation-slimmer-f0ebe710.js → translation-slimmer-4533bd67.js} +4 -4
  48. package/dist/cjs/{type-guard-a0f026d8.js → type-guard-407ba0b8.js} +3 -3
  49. package/dist/cjs/{ui-9e181079.js → ui-234ea151.js} +12 -0
  50. package/dist/cjs/{valid-credit-card-number-rule-c854bed9.js → valid-credit-card-number-rule-41a8b51b.js} +1 -1
  51. package/dist/cjs/vega-accordion.cjs.entry.js +21 -30
  52. package/dist/cjs/vega-app-footer.cjs.entry.js +3 -3
  53. package/dist/cjs/vega-app-header-button.cjs.entry.js +183 -49
  54. package/dist/cjs/vega-backdrop.cjs.entry.js +2 -2
  55. package/dist/cjs/vega-banner.cjs.entry.js +15 -13
  56. package/dist/cjs/vega-bar-chart.cjs.entry.js +1 -1
  57. package/dist/cjs/vega-box.cjs.entry.js +18 -33
  58. package/dist/cjs/vega-brand-logo.cjs.entry.js +7 -5
  59. package/dist/cjs/vega-breadcrumb.cjs.entry.js +14 -13
  60. package/dist/cjs/vega-button-circle.cjs.entry.js +20 -30
  61. package/dist/cjs/vega-button-group_2.cjs.entry.js +15 -15
  62. package/dist/cjs/vega-button-link.cjs.entry.js +15 -14
  63. package/dist/cjs/vega-button.cjs.entry.js +21 -30
  64. package/dist/cjs/vega-calendar_4.cjs.entry.js +48 -45
  65. package/dist/cjs/vega-card.cjs.entry.js +9 -28
  66. package/dist/cjs/vega-carousel.cjs.entry.js +15 -26
  67. package/dist/cjs/vega-checkbox_2.cjs.entry.js +22 -20
  68. package/dist/cjs/vega-chip.cjs.entry.js +22 -33
  69. package/dist/cjs/vega-code-block.cjs.entry.js +658 -2709
  70. package/dist/cjs/vega-color-picker.cjs.entry.js +15 -12
  71. package/dist/cjs/vega-combo-box.cjs.entry.js +29 -28
  72. package/dist/cjs/vega-counter-badge.cjs.entry.js +1 -1
  73. package/dist/cjs/vega-date-picker_2.cjs.entry.js +53 -56
  74. package/dist/cjs/vega-dialog-controller-03ef4d9a.js +84 -0
  75. package/dist/cjs/vega-dialog_2.cjs.entry.js +37 -44
  76. package/dist/cjs/vega-divider.cjs.entry.js +12 -30
  77. package/dist/cjs/vega-dropdown_5.cjs.entry.js +49 -55
  78. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  79. package/dist/cjs/{dom-node-subject-observer-factory-b5e71bf6.js → vega-event-id-ee01d8dd.js} +0 -139
  80. package/dist/cjs/vega-field-error.cjs.entry.js +1 -1
  81. package/dist/cjs/vega-field-label.cjs.entry.js +9 -8
  82. package/dist/cjs/vega-file-uploader.cjs.entry.js +28 -23
  83. package/dist/cjs/vega-flag-icon.cjs.entry.js +13 -27
  84. package/dist/cjs/vega-flex.cjs.entry.js +11 -28
  85. package/dist/cjs/vega-font.cjs.entry.js +12 -29
  86. package/dist/cjs/vega-form.cjs.entry.js +24 -22
  87. package/dist/cjs/vega-grid.cjs.entry.js +9 -28
  88. package/dist/cjs/vega-hint.cjs.entry.js +1 -1
  89. package/dist/cjs/vega-icon.cjs.entry.js +18 -31
  90. package/dist/cjs/vega-image-uploader.cjs.entry.js +34 -37
  91. package/dist/cjs/vega-input-credit-card.cjs.entry.js +31 -27
  92. package/dist/cjs/vega-input-numeric.cjs.entry.js +24 -22
  93. package/dist/cjs/vega-input-passcode.cjs.entry.js +26 -24
  94. package/dist/cjs/vega-input-phone-number.cjs.entry.js +31 -35
  95. package/dist/cjs/vega-input-range.cjs.entry.js +22 -20
  96. package/dist/cjs/vega-input-select.cjs.entry.js +41 -46
  97. package/dist/cjs/vega-input.cjs.entry.js +43 -31
  98. package/dist/cjs/vega-item-toggle.cjs.entry.js +8 -7
  99. package/dist/cjs/vega-left-nav_5.cjs.entry.js +38 -40
  100. package/dist/cjs/vega-line-chart.cjs.entry.js +1 -1
  101. package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +16 -32
  102. package/dist/cjs/vega-page-notification_2.cjs.entry.js +5 -4
  103. package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +12 -12
  104. package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +9 -10
  105. package/dist/cjs/vega-pagination.cjs.entry.js +28 -38
  106. package/dist/cjs/vega-pie-chart.cjs.entry.js +1 -1
  107. package/dist/cjs/vega-popover_2.cjs.entry.js +21 -31
  108. package/dist/cjs/vega-progress-tracker_2.cjs.entry.js +66 -39
  109. package/dist/cjs/vega-radio_2.cjs.entry.js +25 -23
  110. package/dist/cjs/vega-rich-text-content.cjs.entry.js +22 -20
  111. package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +58 -55
  112. package/dist/cjs/vega-section-title.cjs.entry.js +1 -1
  113. package/dist/cjs/vega-segment-control.cjs.entry.js +10 -8
  114. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +25 -32
  115. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +22 -20
  116. package/dist/cjs/vega-sidenav_3.cjs.entry.js +34 -40
  117. package/dist/cjs/vega-signature-capture.cjs.entry.js +27 -31
  118. package/dist/cjs/vega-skeleton.cjs.entry.js +1 -1
  119. package/dist/cjs/vega-slot-container.cjs.entry.js +1 -1
  120. package/dist/cjs/vega-stepper.cjs.entry.js +23 -21
  121. package/dist/cjs/vega-tab-group_2.cjs.entry.js +15 -14
  122. package/dist/cjs/vega-table_11.cjs.entry.js +67 -68
  123. package/dist/cjs/vega-text.cjs.entry.js +4 -3
  124. package/dist/cjs/vega-textarea.cjs.entry.js +22 -20
  125. package/dist/cjs/vega-time-picker_2.cjs.entry.js +35 -41
  126. package/dist/cjs/vega-toggle-switch.cjs.entry.js +15 -12
  127. package/dist/cjs/vega-tooltip_2.cjs.entry.js +17 -28
  128. package/dist/cjs/vega.cjs.js +26 -23
  129. package/dist/cjs/{index-95fca64f.js → wait-for-component-did-render-70a01bf9.js} +1 -12
  130. package/dist/collection/components/vega-app-header-button/vega-app-header-button.js +17 -2
  131. package/dist/collection/components/vega-box/slimmers/controllers/vega-box-responsive-style-controller.js +2 -1
  132. package/dist/collection/components/vega-box/slimmers/controllers/vega-box-state-styles-controller.js +2 -1
  133. package/dist/collection/components/vega-button/vega-button.js +2 -1
  134. package/dist/collection/components/vega-button-circle/vega-button-circle.js +2 -1
  135. package/dist/collection/components/vega-button-link/vega-button-link.css +1 -1
  136. package/dist/collection/components/vega-button-link/vega-button-link.js +2 -1
  137. package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeat-pattern/base-repeat-pattern.js +1 -1
  138. package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-daily-repeat-pattern.js +1 -1
  139. package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-monthly-repeat-pattern.js +1 -1
  140. package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-weekly-repeat-pattern.js +1 -1
  141. package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-yearly-repeat-pattern.js +1 -1
  142. package/dist/collection/components/vega-code-block/slimmers/controllers/prism-code-highlight-parse-controller.js +5 -14
  143. package/dist/collection/components/vega-combo-box/slimmers/renderers/vega-combo-box-dropdown-renderer.js +2 -2
  144. package/dist/collection/components/vega-date-picker/slimmers/controllers/vega-date-picker-calendar-open-state-controller.js +1 -1
  145. package/dist/collection/components/vega-date-picker/slimmers/renderers/vega-date-picker-calendar-renderer.js +1 -1
  146. package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-search-controller.js +2 -2
  147. package/dist/collection/components/vega-dropdown/slimmers/renderers/vega-dropdown-list-renderer.js +2 -2
  148. package/dist/collection/components/vega-dropdown/vega-dropdown-group/slimmers/renderers/vega-dropdown-group-renderer.js +3 -3
  149. package/dist/collection/components/vega-dropdown/vega-dropdown-item/slimmers/renderers/vega-dropdown-item-renderer.js +6 -4
  150. package/dist/collection/components/vega-icon/vega-icon.js +2 -1
  151. package/dist/collection/components/vega-input/slimmers/renderers/vega-input-input-container-renderer.js +10 -2
  152. package/dist/collection/components/vega-input-phone-number/slimmers/renderers/country-select-renderer.js +1 -1
  153. package/dist/collection/components/vega-input-select/slimmers/renderers/vega-input-select-dropdown-renderer.js +2 -2
  154. package/dist/collection/components/vega-pagination/vega-pagination.js +1 -1
  155. package/dist/collection/components/vega-progress-tracker/slimmers/controllers/dto/internal-progress-tracker-step.js +30 -6
  156. package/dist/collection/components/vega-progress-tracker/slimmers/controllers/vega-progress-tracker-current-steps-controller.js +1 -1
  157. package/dist/collection/components/vega-progress-tracker/slimmers/renderers/vega-progress-tracker-renderer.js +8 -1
  158. package/dist/collection/components/vega-progress-tracker/vega-progress-tracker-step/vega-progress-tracker-step.js +27 -0
  159. package/dist/collection/components/vega-progress-tracker/vega-progress-tracker.css +12 -0
  160. package/dist/collection/components/vega-progress-tracker/vega-progress-tracker.js +8 -3
  161. package/dist/collection/components/vega-rich-text-content/vega-rich-text-content.js +1 -1
  162. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/value-controller.js +1 -1
  163. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/link-toolbar-button-slimmer.js +1 -1
  164. package/dist/collection/components/vega-signature-capture/slimmers/written-mode/controllers/written-mode-svg-controller.js +2 -1
  165. package/dist/collection/components/vega-table/interface.js +3 -0
  166. package/dist/collection/components/vega-table/vega-table-foot-cell/slimmers/renderers/vega-table-foot-cell-renderer.js +1 -1
  167. package/dist/collection/global/scripts/before-vega-load.js +4 -3
  168. package/dist/collection/helpers/calendar/calendar-date.js +1 -1
  169. package/dist/collection/helpers/calendar/calendar-event.js +1 -1
  170. package/dist/collection/helpers/calendar/calendar-time.js +1 -1
  171. package/dist/collection/helpers/code-format/test/code-formatter.test.js +1 -1
  172. package/dist/collection/helpers/common/index.js +2 -37
  173. package/dist/collection/helpers/common/test/wait-for-vega-handler.test.js +2 -2
  174. package/dist/collection/helpers/common/wait-for-component-did-render.js +27 -0
  175. package/dist/collection/helpers/common/wait-for-vega-handler.js +12 -1
  176. package/dist/collection/helpers/feature-control/feature-flags-map.js +6 -0
  177. package/dist/collection/helpers/formatter/responsive-map-formatter/responsive-border-radius-style-formatter.js +1 -1
  178. package/dist/collection/helpers/public-api.js +0 -2
  179. package/dist/collection/helpers/slimmers/component-global-style-slimmer.js +2 -1
  180. package/dist/collection/helpers/slimmers/field-error-ui-controller-slimmer.js +3 -4
  181. package/dist/collection/helpers/slimmers/form-field-message-translator.js +1 -1
  182. package/dist/collection/helpers/slimmers/global/vega-translate-observer-slimmer.js +1 -1
  183. package/dist/collection/helpers/slimmers/global/vega-watch-method-cancel-slimmer.js +1 -1
  184. package/dist/collection/helpers/slimmers/mutation-observer/aria-attributes-value-mapper.js +128 -0
  185. package/dist/collection/helpers/slimmers/mutation-observer/test/aria-attributes-value-mapper.test.js +196 -0
  186. package/dist/collection/helpers/slimmers/position-calculation/base-position-calculation-strategy.js +162 -151
  187. package/dist/collection/helpers/slimmers/position-calculation/position-calculation-controller.js +9 -0
  188. package/dist/collection/helpers/slimmers/position-calculation/screen-position-calculation-strategy.js +112 -1
  189. package/dist/collection/helpers/slimmers/position-calculation/screen-scroll-position-update.js +53 -0
  190. package/dist/collection/helpers/slimmers/position-calculation/test/screen-position-calculation-strategy.test.js +103 -6
  191. package/dist/collection/helpers/slimmers/string-input-formatter-slimmer.js +1 -1
  192. package/dist/collection/helpers/slimmers/translation/translation-slimmer.js +1 -1
  193. package/dist/collection/helpers/theme/controllers/brand-style-controller.js +3 -1
  194. package/dist/collection/helpers/theme/controllers/color-schema-overriding-controller.js +8 -6
  195. package/dist/collection/helpers/theme/controllers/dark-mode-style-controller.js +3 -1
  196. package/dist/collection/helpers/theme/internal-theme-manager.js +2 -1
  197. package/dist/collection/helpers/theme/tests/theme-manager-controller.test.js +1 -2
  198. package/dist/collection/helpers/ui/element-appender.js +4 -5
  199. package/dist/collection/helpers/ui/test/element-appender.test.js +66 -17
  200. package/dist/collection/index.js +2 -0
  201. package/dist/collection/polyfill/prism/index.js +2 -0
  202. package/dist/collection/polyfill/prism/languages/css.js +86 -0
  203. package/dist/collection/polyfill/prism/languages/javascript.js +96 -0
  204. package/dist/collection/polyfill/prism/languages/jsx.js +46 -0
  205. package/dist/collection/polyfill/prism/languages/language-registry.js +41 -0
  206. package/dist/collection/polyfill/prism/languages/markup.js +71 -0
  207. package/dist/collection/polyfill/prism/languages/tsx.js +10 -0
  208. package/dist/collection/polyfill/prism/languages/typescript.js +64 -0
  209. package/dist/collection/polyfill/prism/test/css.test.js +61 -0
  210. package/dist/collection/polyfill/prism/test/javascript.test.js +113 -0
  211. package/dist/collection/polyfill/prism/test/jsx.test.js +48 -0
  212. package/dist/collection/polyfill/prism/test/language-registry.test.js +77 -0
  213. package/dist/collection/polyfill/prism/test/markup.test.js +57 -0
  214. package/dist/collection/polyfill/prism/test/test-utils.js +22 -0
  215. package/dist/collection/polyfill/prism/test/tokenizer.test.js +180 -0
  216. package/dist/collection/polyfill/prism/test/tsx.test.js +87 -0
  217. package/dist/collection/polyfill/prism/test/typescript.test.js +86 -0
  218. package/dist/collection/polyfill/prism/tokenizer.js +242 -0
  219. package/dist/collection/polyfill/tinycolor/tinycolor-polyfill.js +320 -0
  220. package/dist/collection/polyfill/tinycolor/tinycolor-polyfill.test.js +361 -0
  221. package/dist/collection/types/ui.type.js +12 -0
  222. package/dist/collection/utils/e2e-utils.js +10 -3
  223. package/dist/collection/utils/sanitize/constants/tag-sets.js +5 -0
  224. package/dist/collection/utils/sanitize/core/html-sanitizer.js +39 -0
  225. package/dist/collection/utils/sanitize/core/sanitize-strategy.js +62 -0
  226. package/dist/collection/utils/sanitize/core/types.js +4 -0
  227. package/dist/collection/utils/sanitize/index.js +12 -0
  228. package/dist/collection/utils/sanitize/strategies/empty-sanitize-strategy.js +17 -0
  229. package/dist/collection/utils/sanitize/strategies/index.js +3 -0
  230. package/dist/collection/utils/sanitize/strategies/label-sanitize-strategy.js +13 -0
  231. package/dist/collection/utils/sanitize/strategies/style-sanitize-strategy.js +50 -0
  232. package/dist/collection/utils/sanitize/test/empty-strategy.test.js +12 -0
  233. package/dist/collection/utils/sanitize/test/html-sanitizer.test.js +57 -0
  234. package/dist/collection/utils/sanitize/test/label-strategy.test.js +56 -0
  235. package/dist/collection/utils/sanitize/test/sanitize-strategy.test.js +85 -0
  236. package/dist/collection/utils/sanitize/test/sanitize.test.js +22 -0
  237. package/dist/collection/utils/sanitize/test/serialize-fragment.test.js +25 -0
  238. package/dist/collection/utils/sanitize/test/style-strategy.test.js +45 -0
  239. package/dist/collection/utils/sanitize/utils/serialize-fragment.js +17 -0
  240. package/dist/esm/{app-globals-2ac60ff5.js → app-globals-c0676920.js} +12 -16
  241. package/dist/esm/breakpoints-56e5407b.js +53 -0
  242. package/dist/esm/{child-nodes-event-prevent-slimmer-e662bee2.js → child-nodes-event-prevent-slimmer-649b9d30.js} +2 -2
  243. package/dist/esm/{child-nodes-notify-observer-slimmer-b676cd2b.js → child-nodes-notify-observer-slimmer-541dd6a4.js} +1 -1
  244. package/dist/esm/{code-block-8ee34ab6.js → code-block-b6247a45.js} +7 -7
  245. package/dist/esm/{component-global-style-slimmer-08046b38.js → component-global-style-slimmer-ac703085.js} +2 -1
  246. package/dist/esm/{component-usage-runtime-metrics-a84cc93e.js → component-usage-runtime-metrics-46020a03.js} +1 -1
  247. package/dist/esm/{component-value-history-controller-slimmer.abstract-a61bf821.js → component-value-history-controller-slimmer.abstract-2bb8533d.js} +6 -6
  248. package/dist/esm/{create-public-api-runtime-metrics-slimmer-bedf3a1e.js → create-public-api-runtime-metrics-slimmer-aaadaa08.js} +3 -38
  249. package/dist/esm/{dark-mode-style-controller-de88a117.js → dark-mode-style-controller-82e5c1c6.js} +292 -1254
  250. package/dist/esm/{date-required-rule-47ecc28f.js → date-required-rule-e771e7d9.js} +1 -1
  251. package/dist/esm/{design-token-007efbaa.js → design-token-4aee1c56.js} +2 -2
  252. package/dist/esm/dom-node-subject-observer-factory-82f346e3.js +138 -0
  253. package/dist/esm/{dto-renderer-manager-ee1a5864.js → dto-renderer-manager-6fd22ab7.js} +7 -7
  254. package/dist/esm/{element-appender-slimmer-35e26b5a.js → element-appender-slimmer-e4713a72.js} +348 -165
  255. package/dist/esm/{event-emit-slimmer-09827cec.js → event-emit-slimmer-ffaecb9a.js} +2 -2
  256. package/dist/esm/{feature-flag-controller-51659753.js → feature-flag-controller-09ea7e87.js} +7 -1
  257. package/dist/esm/{form-field-controller-slimmer-5d9dc384.js → form-field-controller-slimmer-5817d14d.js} +10 -11
  258. package/dist/esm/{internal-icon-manager-f0486245.js → icon-manager-539d7cf7.js} +2 -52
  259. package/dist/esm/{image-annotation-action-285d432e.js → image-annotation-action-6701b4c9.js} +6 -5
  260. package/dist/esm/index-3b327f29.js +215 -0
  261. package/dist/esm/{index-e9da316f.js → index-bfc6dfa2.js} +13 -1
  262. package/dist/esm/index.js +32 -29
  263. package/dist/esm/{inject-keyboard-manager-83d76ff5.js → inject-keyboard-manager-78730062.js} +1 -1
  264. package/dist/esm/internal-icon-manager-bd80b3bb.js +53 -0
  265. package/dist/esm/{translation-96e5debd.js → internal-translation-controller-911515f9.js} +1 -93
  266. package/dist/esm/{internal-vega-event-manager-efb6786e.js → internal-vega-event-manager-32a3d848.js} +1 -1
  267. package/dist/esm/internal-vega-z-index-manager-7d2b54c3.js +178 -0
  268. package/dist/esm/{keyboard-manager-c92808d8.js → keyboard-manager-38934f94.js} +2 -2
  269. package/dist/esm/{keyboard-manager-slimmer-79c78ce8.js → keyboard-manager-slimmer-9984d922.js} +1 -1
  270. package/dist/esm/loader.js +27 -24
  271. package/dist/esm/misc-9fdbcfbb.js +37 -0
  272. package/dist/esm/{month-view-generator-16192182.js → month-view-generator-eaf9029c.js} +1 -1
  273. package/dist/esm/{page-resize-observer-slimmer-8744cb44.js → page-resize-observer-slimmer-d6af0d86.js} +2 -52
  274. package/dist/esm/{public-rules-724873f5.js → public-rules-25cc3a39.js} +13 -14
  275. package/dist/esm/{range-5257c062.js → range-663f44dc.js} +2 -2
  276. package/dist/esm/{responsive-format-facade-28ee2dbd.js → responsive-format-facade-7a071174.js} +3 -12
  277. package/dist/esm/{rich-text-editor-required-rule-873e2e67.js → rich-text-editor-required-rule-a238b862.js} +1 -1
  278. package/dist/esm/{string-format-strategy.abstract-fc60db79.js → string-format-strategy.abstract-713fba36.js} +1 -1
  279. package/dist/esm/{string-input-formatter-slimmer-ee32b1fd.js → string-input-formatter-slimmer-5b413ff9.js} +4 -4
  280. package/dist/esm/{string-mask-strategy-0b0accaa.js → string-mask-strategy-6beaf664.js} +2 -2
  281. package/dist/esm/{style-formatter-314b37f3.js → style-formatter-3d06b72d.js} +2 -2
  282. package/dist/esm/{sub-state-notify-slimmer-4453047a.js → sub-state-notify-slimmer-5133f1a8.js} +2 -2
  283. package/dist/esm/{sub-state-observer-slimmer-202ec7dc.js → sub-state-observer-slimmer-478c9f41.js} +3 -3
  284. package/dist/esm/{time-required-rule-5fa43804.js → time-required-rule-e4138a76.js} +1 -1
  285. package/dist/esm/{function-extension-e8c0e43e.js → token-extension-e33fd151.js} +488 -376
  286. package/dist/esm/{translation-slimmer-c936cb1b.js → translation-slimmer-2394b173.js} +1 -1
  287. package/dist/esm/{type-guard-c65a227d.js → type-guard-f50e34d6.js} +1 -1
  288. package/dist/esm/{ui-bb99c0c2.js → ui-ee31416b.js} +12 -0
  289. package/dist/esm/{valid-credit-card-number-rule-666c415d.js → valid-credit-card-number-rule-22ce81db.js} +1 -1
  290. package/dist/esm/vega-accordion.entry.js +19 -28
  291. package/dist/esm/vega-app-footer.entry.js +3 -3
  292. package/dist/esm/vega-app-header-button.entry.js +174 -40
  293. package/dist/esm/vega-backdrop.entry.js +2 -2
  294. package/dist/esm/vega-banner.entry.js +12 -10
  295. package/dist/esm/vega-bar-chart.entry.js +1 -1
  296. package/dist/esm/vega-box.entry.js +14 -29
  297. package/dist/esm/vega-brand-logo.entry.js +7 -5
  298. package/dist/esm/vega-breadcrumb.entry.js +11 -10
  299. package/dist/esm/vega-button-circle.entry.js +19 -29
  300. package/dist/esm/vega-button-group_2.entry.js +12 -12
  301. package/dist/esm/vega-button-link.entry.js +13 -12
  302. package/dist/esm/vega-button.entry.js +19 -28
  303. package/dist/esm/vega-calendar_4.entry.js +23 -20
  304. package/dist/esm/vega-card.entry.js +9 -28
  305. package/dist/esm/vega-carousel.entry.js +14 -25
  306. package/dist/esm/vega-checkbox_2.entry.js +19 -17
  307. package/dist/esm/vega-chip.entry.js +18 -29
  308. package/dist/esm/vega-code-block.entry.js +653 -2704
  309. package/dist/esm/vega-color-picker.entry.js +15 -12
  310. package/dist/esm/vega-combo-box.entry.js +22 -21
  311. package/dist/esm/vega-counter-badge.entry.js +1 -1
  312. package/dist/esm/vega-date-picker_2.entry.js +34 -37
  313. package/dist/esm/vega-dialog-controller-bbb2fc52.js +82 -0
  314. package/dist/esm/vega-dialog_2.entry.js +23 -30
  315. package/dist/esm/vega-divider.entry.js +11 -29
  316. package/dist/esm/vega-dropdown_5.entry.js +39 -45
  317. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  318. package/dist/esm/vega-event-id-38aa77a0.js +113 -0
  319. package/dist/esm/vega-field-error.entry.js +1 -1
  320. package/dist/esm/vega-field-label.entry.js +7 -6
  321. package/dist/esm/vega-file-uploader.entry.js +19 -14
  322. package/dist/esm/vega-flag-icon.entry.js +12 -26
  323. package/dist/esm/vega-flex.entry.js +11 -28
  324. package/dist/esm/vega-font.entry.js +11 -28
  325. package/dist/esm/vega-form.entry.js +20 -18
  326. package/dist/esm/vega-grid.entry.js +9 -28
  327. package/dist/esm/vega-hint.entry.js +1 -1
  328. package/dist/esm/vega-icon.entry.js +15 -28
  329. package/dist/esm/vega-image-uploader.entry.js +28 -31
  330. package/dist/esm/vega-input-credit-card.entry.js +25 -21
  331. package/dist/esm/vega-input-numeric.entry.js +21 -19
  332. package/dist/esm/vega-input-passcode.entry.js +20 -18
  333. package/dist/esm/vega-input-phone-number.entry.js +27 -31
  334. package/dist/esm/vega-input-range.entry.js +19 -17
  335. package/dist/esm/vega-input-select.entry.js +27 -32
  336. package/dist/esm/vega-input.entry.js +33 -21
  337. package/dist/esm/{vega-internal-event-id-4a06d705.js → vega-internal-event-id-799d012e.js} +1 -1
  338. package/dist/esm/vega-item-toggle.entry.js +6 -5
  339. package/dist/esm/vega-left-nav_5.entry.js +29 -31
  340. package/dist/esm/vega-line-chart.entry.js +1 -1
  341. package/dist/esm/vega-loader-wrapper_2.entry.js +13 -29
  342. package/dist/esm/vega-page-notification_2.entry.js +4 -3
  343. package/dist/esm/vega-pagination-page-selector-mobile.entry.js +9 -9
  344. package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +7 -8
  345. package/dist/esm/vega-pagination.entry.js +20 -30
  346. package/dist/esm/vega-pie-chart.entry.js +1 -1
  347. package/dist/esm/vega-popover_2.entry.js +20 -30
  348. package/dist/esm/vega-progress-tracker_2.entry.js +64 -37
  349. package/dist/esm/vega-radio_2.entry.js +21 -19
  350. package/dist/esm/vega-rich-text-content.entry.js +18 -16
  351. package/dist/esm/vega-rich-text-editor_4.entry.js +33 -30
  352. package/dist/esm/vega-section-title.entry.js +1 -1
  353. package/dist/esm/vega-segment-control.entry.js +9 -7
  354. package/dist/esm/vega-selection-chip_2.entry.js +22 -29
  355. package/dist/esm/vega-selection-tile_2.entry.js +19 -17
  356. package/dist/esm/vega-sidenav_3.entry.js +24 -30
  357. package/dist/esm/vega-signature-capture.entry.js +24 -28
  358. package/dist/esm/vega-skeleton.entry.js +1 -1
  359. package/dist/esm/vega-slot-container.entry.js +1 -1
  360. package/dist/esm/vega-stepper.entry.js +18 -16
  361. package/dist/esm/vega-tab-group_2.entry.js +11 -10
  362. package/dist/esm/vega-table_11.entry.js +28 -29
  363. package/dist/esm/vega-text.entry.js +4 -3
  364. package/dist/esm/vega-textarea.entry.js +18 -16
  365. package/dist/esm/vega-time-picker_2.entry.js +26 -32
  366. package/dist/esm/vega-toggle-switch.entry.js +15 -12
  367. package/dist/esm/vega-tooltip_2.entry.js +18 -29
  368. package/dist/esm/vega.js +27 -24
  369. package/dist/esm/{index-51a7da7f.js → wait-for-component-did-render-b08ef07b.js} +3 -13
  370. package/dist/sri/vega-sri-manifest.json +418 -406
  371. package/dist/types/components/vega-app-footer/types.d.ts +18 -0
  372. package/dist/types/components/vega-app-header-button/types.d.ts +31 -0
  373. package/dist/types/components/vega-app-header-button/vega-app-header-button.d.ts +2 -0
  374. package/dist/types/components/vega-banner/types.d.ts +9 -0
  375. package/dist/types/components/vega-box/interface.d.ts +46 -0
  376. package/dist/types/components/vega-breadcrumb/types.d.ts +28 -0
  377. package/dist/types/components/vega-button/types.d.ts +12 -0
  378. package/dist/types/components/vega-button-circle/types.d.ts +9 -0
  379. package/dist/types/components/vega-button-group/types.d.ts +48 -0
  380. package/dist/types/components/vega-button-link/types.d.ts +3 -0
  381. package/dist/types/components/vega-calendar/types.d.ts +189 -0
  382. package/dist/types/components/vega-calendar/vega-calendar-event-preview/types.d.ts +6 -0
  383. package/dist/types/components/vega-chart/vega-bar-chart/types.d.ts +3 -0
  384. package/dist/types/components/vega-chip/types.d.ts +12 -0
  385. package/dist/types/components/vega-code-block/slimmers/controllers/prism-code-highlight-parse-controller.d.ts +2 -10
  386. package/dist/types/components/vega-combo-box/types.d.ts +6 -0
  387. package/dist/types/components/vega-date-picker/types.d.ts +39 -0
  388. package/dist/types/components/vega-dialog/types.d.ts +5 -0
  389. package/dist/types/components/vega-divider/interface.d.ts +18 -0
  390. package/dist/types/components/vega-dropdown/types.d.ts +30 -0
  391. package/dist/types/components/vega-dropdown/vega-dropdown-item/types.d.ts +9 -1
  392. package/dist/types/components/vega-field-error/types.d.ts +12 -0
  393. package/dist/types/components/vega-field-label/types.d.ts +16 -0
  394. package/dist/types/components/vega-file-uploader/types.d.ts +12 -0
  395. package/dist/types/components/vega-font/types.d.ts +3 -0
  396. package/dist/types/components/vega-form/types.d.ts +45 -0
  397. package/dist/types/components/vega-image-uploader/types.d.ts +33 -1
  398. package/dist/types/components/vega-input/types.d.ts +31 -0
  399. package/dist/types/components/vega-input-phone-number/types.d.ts +15 -0
  400. package/dist/types/components/vega-input-range/types.d.ts +9 -0
  401. package/dist/types/components/vega-input-select/types.d.ts +45 -0
  402. package/dist/types/components/vega-item-toggle/types.d.ts +21 -0
  403. package/dist/types/components/vega-loading-indicator/types.d.ts +3 -0
  404. package/dist/types/components/vega-modal/types.d.ts +9 -0
  405. package/dist/types/components/vega-nav/interface.d.ts +108 -0
  406. package/dist/types/components/vega-page-notification/types.d.ts +15 -0
  407. package/dist/types/components/vega-pagination/types.d.ts +11 -0
  408. package/dist/types/components/vega-progress-tracker/slimmers/controllers/dto/internal-progress-tracker-step.d.ts +16 -4
  409. package/dist/types/components/vega-progress-tracker/type.d.ts +8 -0
  410. package/dist/types/components/vega-progress-tracker/vega-progress-tracker-step/vega-progress-tracker-step.d.ts +6 -0
  411. package/dist/types/components/vega-progress-tracker/vega-progress-tracker.d.ts +2 -2
  412. package/dist/types/components/vega-rich-text-editor/interface.d.ts +473 -2
  413. package/dist/types/components/vega-rich-text-editor/vega-rich-text-image-editor/types.d.ts +24 -0
  414. package/dist/types/components/vega-rich-text-editor/vega-rich-text-link-editor/types.d.ts +24 -0
  415. package/dist/types/components/vega-segment-control/types.d.ts +18 -0
  416. package/dist/types/components/vega-selection-chip/interface.d.ts +12 -0
  417. package/dist/types/components/vega-selection-chip/vega-selection-chip-group/interface.d.ts +4 -0
  418. package/dist/types/components/vega-selection-tile/interface.d.ts +9 -0
  419. package/dist/types/components/vega-sidenav/types.d.ts +51 -0
  420. package/dist/types/components/vega-signature-capture/types.d.ts +29 -2
  421. package/dist/types/components/vega-skeleton/interface.d.ts +6 -0
  422. package/dist/types/components/vega-tab-group/types.d.ts +36 -0
  423. package/dist/types/components/vega-table/interface.d.ts +237 -20
  424. package/dist/types/components/vega-table/vega-table-expand-row/types.d.ts +6 -0
  425. package/dist/types/components/vega-table/vega-table-foot/types.d.ts +9 -0
  426. package/dist/types/components/vega-table/vega-table-foot-row/types.d.ts +9 -0
  427. package/dist/types/components/vega-table/vega-table-head/types.d.ts +9 -0
  428. package/dist/types/components/vega-table/vega-table-head-row/types.d.ts +12 -0
  429. package/dist/types/components/vega-table/vega-table-row/types.d.ts +18 -0
  430. package/dist/types/components/vega-text/types.d.ts +6 -0
  431. package/dist/types/components/vega-time-picker/types.d.ts +33 -0
  432. package/dist/types/components/vega-virtual-scroll/types.d.ts +30 -1
  433. package/dist/types/components.d.ts +13 -3
  434. package/dist/types/helpers/common/index.d.ts +2 -15
  435. package/dist/types/helpers/common/wait-for-component-did-render.d.ts +8 -0
  436. package/dist/types/helpers/common/wait-for-vega-handler.d.ts +6 -15
  437. package/dist/types/helpers/feature-control/feature-flag.d.ts +2 -1
  438. package/dist/types/helpers/public-api.d.ts +0 -2
  439. package/dist/types/helpers/slimmers/mutation-observer/aria-attributes-value-mapper.d.ts +44 -0
  440. package/dist/types/helpers/slimmers/mutation-observer/test/aria-attributes-value-mapper.test.d.ts +1 -0
  441. package/dist/types/helpers/slimmers/position-calculation/base-position-calculation-strategy.d.ts +57 -48
  442. package/dist/types/helpers/slimmers/position-calculation/position-calculation-controller.d.ts +5 -0
  443. package/dist/types/helpers/slimmers/position-calculation/screen-position-calculation-strategy.d.ts +41 -1
  444. package/dist/types/helpers/slimmers/position-calculation/screen-scroll-position-update.d.ts +39 -0
  445. package/dist/types/helpers/ui/element-appender.d.ts +0 -1
  446. package/dist/types/index.d.ts +2 -0
  447. package/dist/types/polyfill/prism/index.d.ts +3 -0
  448. package/dist/types/polyfill/prism/languages/css.d.ts +6 -0
  449. package/dist/types/polyfill/prism/languages/javascript.d.ts +7 -0
  450. package/dist/types/polyfill/prism/languages/jsx.d.ts +7 -0
  451. package/dist/types/polyfill/prism/languages/language-registry.d.ts +8 -0
  452. package/dist/types/polyfill/prism/languages/markup.d.ts +6 -0
  453. package/dist/types/polyfill/prism/languages/tsx.d.ts +7 -0
  454. package/dist/types/polyfill/prism/languages/typescript.d.ts +2 -0
  455. package/dist/types/polyfill/prism/test/css.test.d.ts +1 -0
  456. package/dist/types/polyfill/prism/test/javascript.test.d.ts +1 -0
  457. package/dist/types/polyfill/prism/test/jsx.test.d.ts +1 -0
  458. package/dist/types/polyfill/prism/test/language-registry.test.d.ts +1 -0
  459. package/dist/types/polyfill/prism/test/markup.test.d.ts +1 -0
  460. package/dist/types/polyfill/prism/test/test-utils.d.ts +10 -0
  461. package/dist/types/polyfill/prism/test/tokenizer.test.d.ts +1 -0
  462. package/dist/types/polyfill/prism/test/tsx.test.d.ts +1 -0
  463. package/dist/types/polyfill/prism/test/typescript.test.d.ts +1 -0
  464. package/dist/types/polyfill/prism/tokenizer.d.ts +17 -0
  465. package/dist/types/polyfill/prism/types.d.ts +25 -0
  466. package/dist/types/polyfill/tinycolor/tinycolor-polyfill.d.ts +149 -0
  467. package/dist/types/polyfill/tinycolor/tinycolor-polyfill.test.d.ts +1 -0
  468. package/dist/types/types/components.type.d.ts +4 -1
  469. package/dist/types/types/design-token.type.d.ts +36 -0
  470. package/dist/types/types/flag.type.d.ts +3 -0
  471. package/dist/types/types/general.d.ts +12 -0
  472. package/dist/types/types/ui.type.d.ts +372 -0
  473. package/dist/types/types/vega-chart.d.ts +281 -2
  474. package/dist/types/utils/e2e-utils.d.ts +2 -0
  475. package/dist/types/utils/sanitize/constants/tag-sets.d.ts +6 -0
  476. package/dist/types/utils/sanitize/core/html-sanitizer.d.ts +22 -0
  477. package/dist/types/utils/sanitize/core/sanitize-strategy.d.ts +27 -0
  478. package/dist/types/utils/sanitize/core/types.d.ts +13 -0
  479. package/dist/types/utils/sanitize/index.d.ts +12 -0
  480. package/dist/types/utils/sanitize/strategies/empty-sanitize-strategy.d.ts +14 -0
  481. package/dist/types/utils/sanitize/strategies/index.d.ts +3 -0
  482. package/dist/types/utils/sanitize/strategies/label-sanitize-strategy.d.ts +10 -0
  483. package/dist/types/utils/sanitize/strategies/style-sanitize-strategy.d.ts +24 -0
  484. package/dist/types/utils/sanitize/test/empty-strategy.test.d.ts +1 -0
  485. package/dist/types/utils/sanitize/test/html-sanitizer.test.d.ts +1 -0
  486. package/dist/types/utils/sanitize/test/label-strategy.test.d.ts +1 -0
  487. package/dist/types/utils/sanitize/test/sanitize-strategy.test.d.ts +1 -0
  488. package/dist/types/utils/sanitize/test/sanitize.test.d.ts +1 -0
  489. package/dist/types/utils/sanitize/test/serialize-fragment.test.d.ts +1 -0
  490. package/dist/types/utils/sanitize/test/style-strategy.test.d.ts +1 -0
  491. package/dist/types/utils/sanitize/utils/serialize-fragment.d.ts +12 -0
  492. package/dist/vega/index.esm.js +1 -1
  493. package/dist/vega/p-01d58eb8.entry.js +1 -0
  494. package/dist/vega/p-021d4ae4.js +1 -0
  495. package/dist/vega/p-02a7d60c.entry.js +1 -0
  496. package/dist/vega/{p-66fa700b.js → p-02c9796a.js} +1 -1
  497. package/dist/vega/p-033c31d8.entry.js +1 -0
  498. package/dist/vega/{p-e77a83e4.js → p-07cb0243.js} +1 -1
  499. package/dist/vega/p-087ea379.entry.js +1 -0
  500. package/dist/vega/{p-e5af5a4d.entry.js → p-0b4880bd.entry.js} +1 -1
  501. package/dist/vega/{p-920719ad.js → p-0e679d8c.js} +1 -1
  502. package/dist/vega/{p-c9b6b5a9.js → p-10734a00.js} +1 -1
  503. package/dist/vega/p-154f9cf7.entry.js +1 -0
  504. package/dist/vega/p-179aad4f.entry.js +1 -0
  505. package/dist/vega/p-1a3236e7.entry.js +1 -0
  506. package/dist/vega/p-1f3cd061.entry.js +1 -0
  507. package/dist/vega/p-1f5e35dc.entry.js +1 -0
  508. package/dist/vega/p-242fbcad.entry.js +1 -0
  509. package/dist/vega/p-249df6d2.entry.js +1 -0
  510. package/dist/vega/p-28ad1864.entry.js +1 -0
  511. package/dist/vega/p-2a10e2e5.js +1 -0
  512. package/dist/vega/p-2b49686d.entry.js +1 -0
  513. package/dist/vega/p-2ba78982.entry.js +1 -0
  514. package/dist/vega/p-2bb5a232.js +1 -0
  515. package/dist/vega/{p-e9b86dac.entry.js → p-2c1a85dd.entry.js} +1 -1
  516. package/dist/vega/p-2cc9d126.entry.js +1 -0
  517. package/dist/vega/p-2d69632d.js +1 -0
  518. package/dist/vega/p-2e91295d.entry.js +1 -0
  519. package/dist/vega/p-31ac7386.js +1 -0
  520. package/dist/vega/p-32033e7a.js +1 -0
  521. package/dist/vega/p-32183637.entry.js +1 -0
  522. package/dist/vega/p-3244c605.entry.js +1 -0
  523. package/dist/vega/p-32faa460.entry.js +1 -0
  524. package/dist/vega/p-33f9ad94.entry.js +1 -0
  525. package/dist/vega/{p-4897bedd.entry.js → p-358b4a06.entry.js} +1 -1
  526. package/dist/vega/p-3afc025e.entry.js +1 -0
  527. package/dist/vega/p-3d8122ab.entry.js +1 -0
  528. package/dist/vega/{p-ea04a387.entry.js → p-3f3c771a.entry.js} +1 -1
  529. package/dist/vega/{p-1f83cebf.js → p-415ffa35.js} +1 -1
  530. package/dist/vega/{p-d849e0f5.js → p-4415ad28.js} +1 -1
  531. package/dist/vega/{p-0575d22e.js → p-464559e3.js} +1 -1
  532. package/dist/vega/p-49845a91.js +1 -0
  533. package/dist/vega/{p-e16b3adf.js → p-4bffdb28.js} +1 -1
  534. package/dist/vega/p-4e017458.entry.js +1 -0
  535. package/dist/vega/p-4e4a0228.entry.js +1 -0
  536. package/dist/vega/{p-a2aeb646.js → p-4ea30592.js} +1 -1
  537. package/dist/vega/{p-0b38a01f.entry.js → p-51fcb07f.entry.js} +1 -1
  538. package/dist/vega/p-57927b10.entry.js +1 -0
  539. package/dist/vega/p-5831d6d3.entry.js +1 -0
  540. package/dist/vega/p-593e0f80.js +1 -0
  541. package/dist/vega/p-5a25014f.js +1 -0
  542. package/dist/vega/p-5eb7f382.js +1 -0
  543. package/dist/vega/p-5f377954.js +1 -1
  544. package/dist/vega/p-644f701a.js +1 -0
  545. package/dist/vega/p-6a62e476.entry.js +1 -0
  546. package/dist/vega/{p-75f981ce.js → p-6b6f0fb4.js} +1 -1
  547. package/dist/vega/p-6d219c44.entry.js +1 -0
  548. package/dist/vega/p-6d60b66a.entry.js +1 -0
  549. package/dist/vega/{p-ad2055f4.entry.js → p-6dcdb580.entry.js} +1 -1
  550. package/dist/vega/{p-691ba1ae.js → p-7181861a.js} +1 -1
  551. package/dist/vega/p-76181a70.entry.js +1 -0
  552. package/dist/vega/p-781fd6e0.js +1 -0
  553. package/dist/vega/p-7958614a.entry.js +1 -0
  554. package/dist/vega/{p-5b71c85e.js → p-7c39ce96.js} +1 -1
  555. package/dist/vega/p-7d7aaff9.entry.js +1 -0
  556. package/dist/vega/{p-4dd6554e.entry.js → p-7f46cc1e.entry.js} +1 -1
  557. package/dist/vega/{p-badad9ed.js → p-81b044b9.js} +1 -1
  558. package/dist/vega/p-8950987b.entry.js +1 -0
  559. package/dist/vega/p-89f2e16d.entry.js +1 -0
  560. package/dist/vega/p-8ac2d165.js +1 -0
  561. package/dist/vega/p-8b153acd.entry.js +1 -0
  562. package/dist/vega/p-8b5d3a52.js +1 -0
  563. package/dist/vega/{p-fff13ed1.entry.js → p-8b891f36.entry.js} +1 -1
  564. package/dist/vega/p-8dbdd609.entry.js +1 -0
  565. package/dist/vega/{p-dd11f735.js → p-9339c6c4.js} +1 -1
  566. package/dist/vega/p-94a77fbe.entry.js +1 -0
  567. package/dist/vega/p-95528b47.js +1 -0
  568. package/dist/vega/p-9a137bab.entry.js +1 -0
  569. package/dist/vega/{p-6f8be8ea.js → p-a0b66c25.js} +1 -1
  570. package/dist/vega/{p-0bb3be0b.entry.js → p-a13a73fa.entry.js} +1 -1
  571. package/dist/vega/p-a560d8c5.entry.js +1 -0
  572. package/dist/vega/{p-d0e31633.js → p-a786259a.js} +1 -1
  573. package/dist/vega/p-a7a8a4eb.entry.js +1 -0
  574. package/dist/vega/p-a8792e3d.js +1 -0
  575. package/dist/vega/{p-60851f9d.js → p-aa1174dc.js} +1 -1
  576. package/dist/vega/p-ab834f06.js +1 -0
  577. package/dist/vega/p-b136ebba.entry.js +1 -0
  578. package/dist/vega/p-b201f379.js +1 -0
  579. package/dist/vega/p-b256b7a4.js +1 -0
  580. package/dist/vega/p-b366deff.entry.js +1 -0
  581. package/dist/vega/p-b597393b.entry.js +1 -0
  582. package/dist/vega/p-b7f3221f.js +1 -0
  583. package/dist/vega/p-bb5e0192.entry.js +1 -0
  584. package/dist/vega/p-be1a210b.js +1 -0
  585. package/dist/vega/p-bebfbe95.entry.js +1 -0
  586. package/dist/vega/p-bf6fc19f.entry.js +1 -0
  587. package/dist/vega/p-c1d13eec.entry.js +1 -0
  588. package/dist/vega/p-c29068fb.entry.js +1 -0
  589. package/dist/vega/p-c3d2f316.js +1 -0
  590. package/dist/vega/{p-671afda4.entry.js → p-c72e08c6.entry.js} +1 -1
  591. package/dist/vega/p-c801c85d.js +1 -0
  592. package/dist/vega/p-c8feb644.entry.js +1 -0
  593. package/dist/vega/p-ca5898dc.entry.js +1 -0
  594. package/dist/vega/p-d555f677.entry.js +1 -0
  595. package/dist/vega/p-d64fab3d.js +1 -0
  596. package/dist/vega/p-d6dbbe61.entry.js +1 -0
  597. package/dist/vega/p-d7a78c5e.entry.js +1 -0
  598. package/dist/vega/p-d8fadcdc.entry.js +1 -0
  599. package/dist/vega/p-dad3ba5f.js +1 -0
  600. package/dist/vega/p-dd3a94f4.entry.js +1 -0
  601. package/dist/vega/p-e1431c14.entry.js +1 -0
  602. package/dist/vega/p-e1fbfd20.js +1 -0
  603. package/dist/vega/p-e2af0e24.entry.js +1 -0
  604. package/dist/vega/{p-521d1d07.js → p-e52890db.js} +1 -1
  605. package/dist/vega/{p-1298b126.js → p-e632475e.js} +1 -1
  606. package/dist/vega/p-e6adf829.js +1 -0
  607. package/dist/vega/{p-77edf50c.js → p-e827d56d.js} +1 -1
  608. package/dist/vega/p-e8775a56.entry.js +1 -0
  609. package/dist/vega/p-e89e3ede.entry.js +1 -0
  610. package/dist/vega/p-eda988d5.entry.js +1 -0
  611. package/dist/vega/p-f05b8f76.entry.js +1 -0
  612. package/dist/vega/p-f0e828d8.js +1 -0
  613. package/dist/vega/p-f14a5eae.entry.js +1 -0
  614. package/dist/vega/p-f2b0b58a.js +1 -0
  615. package/dist/vega/p-f3d0f2dc.js +1 -0
  616. package/dist/vega/{p-5910be31.entry.js → p-f5bafc45.entry.js} +1 -1
  617. package/dist/vega/p-fc1fa345.js +1 -0
  618. package/dist/vega/p-fd7ddd64.entry.js +1 -0
  619. package/dist/vega/vega.esm.js +1 -1
  620. package/package.json +3 -5
  621. package/dist/cjs/_commonjsHelpers-537d719a.js +0 -20
  622. package/dist/cjs/language-extension-8c4a56ff.js +0 -210
  623. package/dist/cjs/sanitize-fb222510.js +0 -131
  624. package/dist/cjs/wait-for-vega-handler-5469ff80.js +0 -63
  625. package/dist/collection/utils/sanitize.js +0 -126
  626. package/dist/collection/utils/test/sanitize.test.js +0 -65
  627. package/dist/esm/_commonjsHelpers-9943807e.js +0 -17
  628. package/dist/esm/dom-node-subject-observer-factory-064ee2b2.js +0 -250
  629. package/dist/esm/language-extension-29bf8acd.js +0 -207
  630. package/dist/esm/sanitize-fd0cb40d.js +0 -129
  631. package/dist/esm/wait-for-vega-handler-c2c07ac3.js +0 -61
  632. package/dist/types/utils/sanitize.d.ts +0 -71
  633. package/dist/vega/p-011b94b1.entry.js +0 -1
  634. package/dist/vega/p-012753b5.entry.js +0 -1
  635. package/dist/vega/p-024331ce.entry.js +0 -1
  636. package/dist/vega/p-08a90cc6.entry.js +0 -1
  637. package/dist/vega/p-0ede1fea.entry.js +0 -1
  638. package/dist/vega/p-10ac8b57.js +0 -1
  639. package/dist/vega/p-112455b1.js +0 -1
  640. package/dist/vega/p-17c55205.entry.js +0 -1
  641. package/dist/vega/p-1e0d8228.entry.js +0 -1
  642. package/dist/vega/p-3353b3d7.js +0 -1
  643. package/dist/vega/p-365b1b35.entry.js +0 -1
  644. package/dist/vega/p-3ae9ee3d.entry.js +0 -1
  645. package/dist/vega/p-3af92370.entry.js +0 -1
  646. package/dist/vega/p-3bf66be2.js +0 -1
  647. package/dist/vega/p-3c5a28e4.entry.js +0 -1
  648. package/dist/vega/p-3e5f362f.js +0 -1
  649. package/dist/vega/p-430be941.js +0 -1
  650. package/dist/vega/p-43f585f7.entry.js +0 -1
  651. package/dist/vega/p-45296fd4.entry.js +0 -1
  652. package/dist/vega/p-476a173a.js +0 -1
  653. package/dist/vega/p-491618a6.entry.js +0 -1
  654. package/dist/vega/p-4a537391.entry.js +0 -1
  655. package/dist/vega/p-4aa893ef.entry.js +0 -1
  656. package/dist/vega/p-4c47e8bb.entry.js +0 -1
  657. package/dist/vega/p-4da75f2b.js +0 -1
  658. package/dist/vega/p-509eb52e.entry.js +0 -1
  659. package/dist/vega/p-5110ba73.entry.js +0 -1
  660. package/dist/vega/p-556f9a21.entry.js +0 -1
  661. package/dist/vega/p-55b54ba0.entry.js +0 -1
  662. package/dist/vega/p-5d676a94.js +0 -1
  663. package/dist/vega/p-5ea2e43c.entry.js +0 -1
  664. package/dist/vega/p-5efc6fe1.entry.js +0 -1
  665. package/dist/vega/p-64cd1931.entry.js +0 -1
  666. package/dist/vega/p-67fcf6f2.entry.js +0 -9
  667. package/dist/vega/p-68df4288.js +0 -1
  668. package/dist/vega/p-6a2205a1.entry.js +0 -1
  669. package/dist/vega/p-6a4277df.entry.js +0 -1
  670. package/dist/vega/p-6e136980.js +0 -1
  671. package/dist/vega/p-6fa8e231.entry.js +0 -1
  672. package/dist/vega/p-7045e84c.entry.js +0 -1
  673. package/dist/vega/p-7288f8c4.js +0 -1
  674. package/dist/vega/p-749f96a4.js +0 -1
  675. package/dist/vega/p-7aaece55.entry.js +0 -1
  676. package/dist/vega/p-7ec6a104.entry.js +0 -1
  677. package/dist/vega/p-81134e9e.entry.js +0 -1
  678. package/dist/vega/p-89d685a8.js +0 -1
  679. package/dist/vega/p-8c0eb12f.entry.js +0 -1
  680. package/dist/vega/p-8c9ea6f4.js +0 -1
  681. package/dist/vega/p-8d0ca805.js +0 -1
  682. package/dist/vega/p-8d701832.entry.js +0 -1
  683. package/dist/vega/p-8e42a14c.entry.js +0 -1
  684. package/dist/vega/p-8ed0faa2.entry.js +0 -1
  685. package/dist/vega/p-94394df7.entry.js +0 -1
  686. package/dist/vega/p-99aa554b.entry.js +0 -1
  687. package/dist/vega/p-9a2446f1.entry.js +0 -1
  688. package/dist/vega/p-9fd503e9.entry.js +0 -1
  689. package/dist/vega/p-a4670e23.js +0 -1
  690. package/dist/vega/p-a475d525.entry.js +0 -1
  691. package/dist/vega/p-a530797f.entry.js +0 -1
  692. package/dist/vega/p-a85ad369.entry.js +0 -1
  693. package/dist/vega/p-ac5e9955.entry.js +0 -1
  694. package/dist/vega/p-aedf7146.js +0 -1
  695. package/dist/vega/p-b1f869fb.js +0 -1
  696. package/dist/vega/p-b4ea3fad.js +0 -1
  697. package/dist/vega/p-bb4a558d.entry.js +0 -1
  698. package/dist/vega/p-bb8339ed.entry.js +0 -1
  699. package/dist/vega/p-be930e85.entry.js +0 -1
  700. package/dist/vega/p-bf2bd6d0.entry.js +0 -1
  701. package/dist/vega/p-c2488ed6.js +0 -1
  702. package/dist/vega/p-c379a5a5.entry.js +0 -1
  703. package/dist/vega/p-c616c592.js +0 -1
  704. package/dist/vega/p-ca3472c1.entry.js +0 -1
  705. package/dist/vega/p-cc43bffb.js +0 -1
  706. package/dist/vega/p-cf5b80f9.entry.js +0 -1
  707. package/dist/vega/p-db60a38e.entry.js +0 -1
  708. package/dist/vega/p-db8cdba6.js +0 -1
  709. package/dist/vega/p-e93545fd.js +0 -1
  710. package/dist/vega/p-e9c4fd24.entry.js +0 -1
  711. package/dist/vega/p-eb60cfe1.entry.js +0 -1
  712. package/dist/vega/p-ec192283.entry.js +0 -1
  713. package/dist/vega/p-ef9cbad1.js +0 -1
  714. package/dist/vega/p-f2a3a1ec.entry.js +0 -1
  715. package/dist/vega/p-f2cdd212.entry.js +0 -1
  716. package/dist/vega/p-f3c3ff26.entry.js +0 -1
  717. package/dist/vega/p-f4c05b4a.entry.js +0 -1
  718. package/dist/vega/p-f52a0155.entry.js +0 -1
  719. package/dist/vega/p-f69f84a7.js +0 -1
  720. package/dist/vega/p-f8641214.entry.js +0 -1
  721. package/dist/vega/p-f89443aa.entry.js +0 -1
  722. package/dist/vega/p-f8f7cf48.entry.js +0 -1
  723. package/dist/vega/p-fe12eff6.js +0 -1
  724. /package/dist/{types/utils/test/sanitize.test.d.ts → collection/polyfill/prism/types.js} +0 -0
  725. /package/dist/vega/{p-d9671d27.js → p-6c170474.js} +0 -0
@@ -0,0 +1,196 @@
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 { MockHTMLElement } from '@stencil/core/mock-doc';
8
+ import { InjectVegaSlimmer } from 'vega-slimmer/core';
9
+ import { AriaAttributesValueMapper } from '../aria-attributes-value-mapper';
10
+ import { MockedMutationObserver } from '../../../../utils/spec-utils';
11
+ import { LogUtility } from '../../../../utils/log';
12
+ describe('AriaAttributesValueMapper', () => {
13
+ const mockedConnectedCallback = jest.fn();
14
+ const mockedDisconnectedCallback = jest.fn();
15
+ const mockedComponentDidLoad = jest.fn();
16
+ beforeEach(() => {
17
+ // ensure MutationObserver is mocked
18
+ global.MutationObserver = MockedMutationObserver;
19
+ MockedMutationObserver.mockClear();
20
+ });
21
+ class MockedComponent {
22
+ constructor() {
23
+ this.host = new MockHTMLElement('body', 'mocked-component');
24
+ }
25
+ connectedCallback() {
26
+ mockedConnectedCallback();
27
+ }
28
+ disconnectedCallback() {
29
+ mockedDisconnectedCallback();
30
+ }
31
+ componentDidLoad() {
32
+ mockedComponentDidLoad();
33
+ }
34
+ setMapper(mapper) {
35
+ this.ariaAttributesValueMapper = mapper;
36
+ }
37
+ }
38
+ __decorate([
39
+ InjectVegaSlimmer()
40
+ ], MockedComponent.prototype, "ariaAttributesValueMapper", void 0);
41
+ it('should map initial attribute value to target aria attribute', () => {
42
+ const comp = new MockedComponent();
43
+ const button = document.createElement('button');
44
+ comp.host.setAttribute('data-aria-label', 'test');
45
+ comp.setMapper(new AriaAttributesValueMapper(() => button, {
46
+ 'aria-label': { dependency: ['data-aria-label', 'label'], defaultValue: 'No label' },
47
+ }));
48
+ // simulate lifecycle
49
+ comp.connectedCallback();
50
+ comp.componentDidLoad();
51
+ expect(button.getAttribute('aria-label')).toBe('test');
52
+ });
53
+ it('should update aria attribute when observed attribute changes', () => {
54
+ const comp = new MockedComponent();
55
+ const button = document.createElement('button');
56
+ comp.host.setAttribute('data-aria-label', 'apple');
57
+ comp.setMapper(new AriaAttributesValueMapper(() => button, {
58
+ 'aria-label': { dependency: ['data-aria-label', 'label'], defaultValue: 'No label' },
59
+ }));
60
+ comp.connectedCallback();
61
+ comp.componentDidLoad();
62
+ // change attribute and trigger mutation
63
+ comp.host.setAttribute('data-aria-label', 'banana');
64
+ MockedMutationObserver.mock.instances[0].trigger([
65
+ { attributeName: 'data-aria-label', oldValue: 'apple' },
66
+ ]);
67
+ expect(button.getAttribute('aria-label')).toBe('banana');
68
+ });
69
+ it('should respect dependency priority and not overwrite when higher-priority exists', () => {
70
+ const comp = new MockedComponent();
71
+ const button = document.createElement('button');
72
+ // higher priority present
73
+ comp.host.setAttribute('data-aria-label', 'test');
74
+ comp.host.setAttribute('label', 'initial');
75
+ comp.setMapper(new AriaAttributesValueMapper(() => button, {
76
+ 'aria-label': { dependency: ['data-aria-label', 'label'], defaultValue: 'No label' },
77
+ }));
78
+ comp.connectedCallback();
79
+ comp.componentDidLoad();
80
+ expect(button.getAttribute('aria-label')).toBe('test');
81
+ // lower-priority 'label' changes
82
+ comp.host.setAttribute('label', 'apple');
83
+ MockedMutationObserver.mock.instances[0].trigger([{ attributeName: 'label', oldValue: 'initial' }]);
84
+ // should remain the higher-priority value
85
+ expect(button.getAttribute('aria-label')).toBe('test');
86
+ });
87
+ it('should read camelCase host property when dashed attribute not present', () => {
88
+ const comp = new MockedComponent();
89
+ const button = document.createElement('button');
90
+ // set property instead of attribute
91
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
92
+ comp.host.dataAriaLabel = 'propVal';
93
+ comp.setMapper(new AriaAttributesValueMapper(() => button, {
94
+ 'aria-label': { dependency: ['data-aria-label', 'label'], defaultValue: 'No label' },
95
+ }));
96
+ comp.connectedCallback();
97
+ comp.componentDidLoad();
98
+ expect(button.getAttribute('aria-label')).toBe('propVal');
99
+ });
100
+ it('should use default value when dependencies are empty', () => {
101
+ const comp = new MockedComponent();
102
+ const button = document.createElement('button');
103
+ comp.setMapper(new AriaAttributesValueMapper(() => button, {
104
+ 'aria-label': { dependency: ['data-aria-label', 'label'], defaultValue: 'No label' },
105
+ }));
106
+ comp.connectedCallback();
107
+ comp.componentDidLoad();
108
+ expect(button.getAttribute('aria-label')).toBe('No label');
109
+ });
110
+ it('should ignore unrelated attribute mutations', () => {
111
+ const comp = new MockedComponent();
112
+ const button = document.createElement('button');
113
+ comp.host.setAttribute('data-aria-label', 'test');
114
+ comp.setMapper(new AriaAttributesValueMapper(() => button, {
115
+ 'aria-label': { dependency: ['data-aria-label', 'label'], defaultValue: 'No label' },
116
+ }));
117
+ comp.connectedCallback();
118
+ comp.componentDidLoad();
119
+ // unrelated attribute changes should not affect mapping
120
+ comp.host.setAttribute('some-other-attr', 'val');
121
+ MockedMutationObserver.mock.instances[0].trigger([
122
+ { attributeName: 'some-other-attr', oldValue: null },
123
+ ]);
124
+ expect(button.getAttribute('aria-label')).toBe('test');
125
+ });
126
+ it('should warn when setting aria attribute throws', () => {
127
+ const comp = new MockedComponent();
128
+ // create a target that throws when setAttribute is called
129
+ const target = {
130
+ getAttribute: () => null,
131
+ setAttribute: () => {
132
+ throw new Error('boom');
133
+ },
134
+ };
135
+ const warnSpy = jest.spyOn(LogUtility, 'warn').mockImplementation(() => {
136
+ return 'warn mock';
137
+ });
138
+ comp.host.setAttribute('data-aria-label', 'test');
139
+ comp.setMapper(new AriaAttributesValueMapper(() => target, {
140
+ 'aria-label': { dependency: ['data-aria-label', 'label'], defaultValue: 'No label' },
141
+ }));
142
+ comp.connectedCallback();
143
+ comp.componentDidLoad();
144
+ expect(warnSpy).toBeCalled();
145
+ warnSpy.mockRestore();
146
+ });
147
+ it('should be no-op when targetGetter returns null or targetGetter is null', () => {
148
+ const comp = new MockedComponent();
149
+ // Case 1: constructor targetGetter returns null
150
+ comp.setMapper(new AriaAttributesValueMapper(() => null, {
151
+ 'aria-label': { dependency: ['data-aria-label', 'label'], defaultValue: 'No label' },
152
+ }));
153
+ expect(() => {
154
+ comp.connectedCallback();
155
+ comp.componentDidLoad();
156
+ }).not.toThrow();
157
+ // Case 2: targetGetter property explicitly set to null after construction
158
+ const button = document.createElement('button');
159
+ const mapper = new AriaAttributesValueMapper(() => button, {
160
+ 'aria-label': { dependency: ['data-aria-label', 'label'], defaultValue: 'No label' },
161
+ });
162
+ // force targetGetter to null
163
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
164
+ mapper.targetGetter = null;
165
+ comp.setMapper(mapper);
166
+ expect(() => {
167
+ comp.connectedCallback();
168
+ comp.componentDidLoad();
169
+ }).not.toThrow();
170
+ });
171
+ it('should set empty string when no defaultValue provided', () => {
172
+ const comp = new MockedComponent();
173
+ const button = document.createElement('button');
174
+ // no dependencies present on host and no defaultValue in map
175
+ comp.setMapper(new AriaAttributesValueMapper(() => button, {
176
+ 'aria-label': { dependency: ['data-aria-label', 'label'] },
177
+ }));
178
+ comp.connectedCallback();
179
+ comp.componentDidLoad();
180
+ // should set attribute to empty string when no defaultValue provided
181
+ expect(button.getAttribute('aria-label')).toBe('');
182
+ });
183
+ it('should handle empty mutations array (pass undefined to performMapping)', () => {
184
+ const comp = new MockedComponent();
185
+ const button = document.createElement('button');
186
+ comp.host.setAttribute('data-aria-label', 'test');
187
+ comp.setMapper(new AriaAttributesValueMapper(() => button, {
188
+ 'aria-label': { dependency: ['data-aria-label', 'label'], defaultValue: 'No label' },
189
+ }));
190
+ comp.connectedCallback();
191
+ comp.componentDidLoad();
192
+ // trigger with empty mutations array -> changedAttrs.size === 0 -> undefined passed
193
+ MockedMutationObserver.mock.instances[0].trigger([]);
194
+ expect(button.getAttribute('aria-label')).toBe('test');
195
+ });
196
+ });
@@ -7,6 +7,17 @@ import ResponsiveFormatFacade from '../../formatter/responsive-map-formatter/res
7
7
  * calculate position
8
8
  */
9
9
  export class BasePositionCalculationStrategy extends VegaSlimmer {
10
+ /**
11
+ * Whether the controller should adjust/recompute position at this time.
12
+ *
13
+ * This hook allows strategies to avoid unnecessary work (for example, on scroll) by deciding
14
+ * whether a re-position is required.
15
+ *
16
+ * @returns {boolean} True when the controller should proceed with width/height/position adjustments.
17
+ */
18
+ shouldAdjustPosition() {
19
+ return true;
20
+ }
10
21
  /**
11
22
  * Get the position box.
12
23
  *
@@ -32,121 +43,46 @@ export class BasePositionCalculationStrategy extends VegaSlimmer {
32
43
  return positionBox;
33
44
  }
34
45
  /**
35
- * "Get the width, height, and top position of an element."
36
- *
37
- * The function takes an element as an argument and returns an object with three properties: width,
38
- * height, and top.
39
- *
40
- * Note: If element is hide, we should temporary change it to `block` to get the bounding client rect of element,
41
- * After do that, this element will change to origin `hide`, if not, it will be contained in the calculate of `document.documentElement.scrollHeight`
42
- *
43
- * @returns {ElementBoundBox} An object with the width, height, and top properties of the element.
44
- */
45
- getElementBoundBox() {
46
- const element = this.showConfig.appendableElement;
47
- const isElementHide = element.classList.contains('vega-force-hidden');
48
- if (isElementHide)
49
- element.classList.remove('vega-force-hidden');
50
- const elementRect = element.getBoundingClientRect();
51
- if (isElementHide)
52
- element.classList.add('vega-force-hidden');
53
- return {
54
- width: elementRect.width,
55
- height: elementRect.height,
56
- left: elementRect.left,
57
- top: elementRect.top,
58
- };
59
- }
60
- /**
61
- * It takes a placement string or array of placements and returns an array of placements
62
- * if given placement is single, we should completion the placements with the default {@link Placements}
63
- * and make given placement as default.
64
- * if given placement is array, we should use it directly, even it partial of {@link Placements}.
65
- * if not placement give. we should use {@link Placements}.
66
- *
67
- * @returns {PlacementType[]} ordered placements.
68
- */
69
- getPlacements() {
70
- const placement = this.showConfig.placement;
71
- if (typeof placement === 'string') {
72
- const partial = Placements.filter((direction) => direction !== placement);
73
- return [placement, ...partial];
74
- }
75
- else if (Array.isArray(placement)) {
76
- return placement;
77
- }
78
- else {
79
- return [...Placements];
80
- }
81
- }
82
- /**
83
- * It returns acceptable alignments.
84
- *
85
- * @returns {PositionAlignmentType[]} acceptable alignments
86
- */
87
- getAlignments() {
88
- const alignment = this.showConfig.alignment;
89
- if (typeof alignment === 'string') {
90
- const partial = Alignments.filter((item) => item !== alignment);
91
- return [alignment, ...partial];
92
- }
93
- else if (Array.isArray(alignment)) {
94
- return alignment;
95
- }
96
- else {
97
- return [...Alignments];
98
- }
99
- }
100
- /**
101
- * It takes a placement, a target box, and a element box, and returns an element box
46
+ * Whether the alignment space is enough
102
47
  *
103
- * @param {ElementBoundBox} elementBox - The position of the element element.
48
+ * @param {ElementScrollDimension} containerBox - The bounding box of the container element.
104
49
  * @param {ElementBoundBox} targetBox - The position of the target element.
105
- * @param {PlacementType} placement - The placement of the element.
106
- * @param {PositionAlignmentType} alignment - The alignment of the element
107
- * @returns {ElementPositionBox} An object with top and left properties.
108
- */
109
- calculatePosition(elementBox, targetBox, placement, alignment) {
110
- return {
111
- top: this.calculateTop(elementBox, targetBox, placement, alignment),
112
- left: this.calculateLeft(elementBox, targetBox, placement, alignment),
113
- };
114
- }
115
- /**
116
- * It returns the translocation of the element relative to the target element
117
- *
118
- * @param {PlacementType} placement - The suitable placement of the element.
119
- * @returns {TranslocationType} A translocation object with X and Y properties.
50
+ * @param {ElementBoundBox} elementBox - The box of the element that we're trying to position.
51
+ * @param {PlacementType} placement - The placement of the element relative to the target.
52
+ * @param {PlacementType} alignment - The alignment of the element relative to the target.
53
+ * @returns {boolean} return true if it has enough space, otherwise false
120
54
  */
121
- getTranslocationBox(placement) {
122
- const originPlacement = Array.isArray(this.showConfig.placement)
123
- ? this.showConfig.placement[0]
124
- : this.showConfig.placement;
125
- const translocation = this.getTranslocation();
126
- const result = { X: 0, Y: 0 };
127
- if (isTranslocationType(translocation)) {
128
- let xValue = translocation.X;
129
- let yValue = translocation.Y;
130
- // If originPlacement and placement is not in same axis, it should reverse axis.
131
- if ((originPlacement &&
132
- ['left', 'right'].includes(originPlacement) &&
133
- ['top', 'bottom'].includes(placement)) ||
134
- (originPlacement &&
135
- ['top', 'bottom'].includes(originPlacement) &&
136
- ['left', 'right'].includes(placement))) {
137
- xValue = translocation.Y;
138
- yValue = translocation.X;
139
- }
140
- if (['bottom', 'top'].includes(placement)) {
141
- result.Y = placement === 'top' ? -yValue : yValue;
142
- result.X = xValue;
55
+ hasEnoughAlignmentSpace(containerBox, targetBox, elementBox, placement, alignment) {
56
+ if (['top', 'bottom'].includes(placement)) {
57
+ switch (alignment) {
58
+ case 'start': {
59
+ return targetBox.left + elementBox.width <= containerBox.width;
60
+ }
61
+ case 'center': {
62
+ return (targetBox.left >= (elementBox.width - targetBox.width) / 2 &&
63
+ targetBox.left + targetBox.width / 2 + elementBox.width / 2 <= containerBox.width);
64
+ }
65
+ case 'end': {
66
+ return targetBox.left + targetBox.width >= elementBox.width;
67
+ }
143
68
  }
144
- if (['left', 'right'].includes(placement)) {
145
- result.X = placement === 'left' ? -xValue : xValue;
146
- result.Y = yValue;
69
+ }
70
+ if (['right', 'left'].includes(placement)) {
71
+ switch (alignment) {
72
+ case 'start': {
73
+ return targetBox.top + elementBox.height <= containerBox.height;
74
+ }
75
+ case 'center': {
76
+ return (targetBox.top >= (elementBox.height - targetBox.height) / 2 &&
77
+ targetBox.top + targetBox.height / 2 + elementBox.height / 2 <= containerBox.height);
78
+ }
79
+ case 'end': {
80
+ return targetBox.top + targetBox.height >= elementBox.height;
81
+ }
147
82
  }
148
83
  }
149
- return result;
84
+ /* istanbul ignore next */
85
+ return false;
150
86
  }
151
87
  /**
152
88
  * Calculate the left position of the element
@@ -216,6 +152,24 @@ export class BasePositionCalculationStrategy extends VegaSlimmer {
216
152
  throw new Error(`Unexpected placement: ${placement}. Expected values are top, bottom, left, or right.`);
217
153
  }
218
154
  }
155
+ /**
156
+ * It returns acceptable alignments.
157
+ *
158
+ * @returns {PositionAlignmentType[]} acceptable alignments
159
+ */
160
+ getAlignments() {
161
+ const alignment = this.showConfig.alignment;
162
+ if (typeof alignment === 'string') {
163
+ const partial = Alignments.filter((item) => item !== alignment);
164
+ return [alignment, ...partial];
165
+ }
166
+ else if (Array.isArray(alignment)) {
167
+ return alignment;
168
+ }
169
+ else {
170
+ return [...Alignments];
171
+ }
172
+ }
219
173
  /**
220
174
  * It takes a list of placements and returns the first placement that has enough space to place the
221
175
  * element
@@ -240,6 +194,105 @@ export class BasePositionCalculationStrategy extends VegaSlimmer {
240
194
  return defaultPlacement;
241
195
  }
242
196
  }
197
+ /**
198
+ * "Get the width, height, and top position of an element."
199
+ *
200
+ * The function takes an element as an argument and returns an object with three properties: width,
201
+ * height, and top.
202
+ *
203
+ * Note: If element is hide, we should temporary change it to `block` to get the bounding client rect of element,
204
+ * After do that, this element will change to origin `hide`, if not, it will be contained in the calculate of `document.documentElement.scrollHeight`
205
+ *
206
+ * @returns {ElementBoundBox} An object with the width, height, and top properties of the element.
207
+ */
208
+ getElementBoundBox() {
209
+ const element = this.showConfig.appendableElement;
210
+ const isElementHide = element.classList.contains('vega-force-hidden');
211
+ if (isElementHide)
212
+ element.classList.remove('vega-force-hidden');
213
+ const elementRect = element.getBoundingClientRect();
214
+ if (isElementHide)
215
+ element.classList.add('vega-force-hidden');
216
+ return {
217
+ width: elementRect.width,
218
+ height: elementRect.height,
219
+ left: elementRect.left,
220
+ top: elementRect.top,
221
+ };
222
+ }
223
+ /**
224
+ * It takes a placement string or array of placements and returns an array of placements
225
+ * if given placement is single, we should completion the placements with the default {@link Placements}
226
+ * and make given placement as default.
227
+ * if given placement is array, we should use it directly, even it partial of {@link Placements}.
228
+ * if not placement give. we should use {@link Placements}.
229
+ *
230
+ * @returns {PlacementType[]} ordered placements.
231
+ */
232
+ getPlacements() {
233
+ const placement = this.showConfig.placement;
234
+ if (typeof placement === 'string') {
235
+ const partial = Placements.filter((direction) => direction !== placement);
236
+ return [placement, ...partial];
237
+ }
238
+ else if (Array.isArray(placement)) {
239
+ return placement;
240
+ }
241
+ else {
242
+ return [...Placements];
243
+ }
244
+ }
245
+ /**
246
+ * It takes a placement, a target box, and a element box, and returns an element box
247
+ *
248
+ * @param {ElementBoundBox} elementBox - The position of the element element.
249
+ * @param {ElementBoundBox} targetBox - The position of the target element.
250
+ * @param {PlacementType} placement - The placement of the element.
251
+ * @param {PositionAlignmentType} alignment - The alignment of the element
252
+ * @returns {ElementPositionBox} An object with top and left properties.
253
+ */
254
+ calculatePosition(elementBox, targetBox, placement, alignment) {
255
+ return {
256
+ top: this.calculateTop(elementBox, targetBox, placement, alignment),
257
+ left: this.calculateLeft(elementBox, targetBox, placement, alignment),
258
+ };
259
+ }
260
+ /**
261
+ * It returns the translocation of the element relative to the target element
262
+ *
263
+ * @param {PlacementType} placement - The suitable placement of the element.
264
+ * @returns {TranslocationType} A translocation object with X and Y properties.
265
+ */
266
+ getTranslocationBox(placement) {
267
+ const originPlacement = Array.isArray(this.showConfig.placement)
268
+ ? this.showConfig.placement[0]
269
+ : this.showConfig.placement;
270
+ const translocation = this.getTranslocation();
271
+ const result = { X: 0, Y: 0 };
272
+ if (isTranslocationType(translocation)) {
273
+ let xValue = translocation.X;
274
+ let yValue = translocation.Y;
275
+ // If originPlacement and placement is not in same axis, it should reverse axis.
276
+ if ((originPlacement &&
277
+ ['left', 'right'].includes(originPlacement) &&
278
+ ['top', 'bottom'].includes(placement)) ||
279
+ (originPlacement &&
280
+ ['top', 'bottom'].includes(originPlacement) &&
281
+ ['left', 'right'].includes(placement))) {
282
+ xValue = translocation.Y;
283
+ yValue = translocation.X;
284
+ }
285
+ if (['bottom', 'top'].includes(placement)) {
286
+ result.Y = placement === 'top' ? -yValue : yValue;
287
+ result.X = xValue;
288
+ }
289
+ if (['left', 'right'].includes(placement)) {
290
+ result.X = placement === 'left' ? -xValue : xValue;
291
+ result.Y = yValue;
292
+ }
293
+ }
294
+ return result;
295
+ }
243
296
  /**
244
297
  * It takes a list of alignments and returns the suitable one that has enough space to fit the element
245
298
  *
@@ -264,48 +317,6 @@ export class BasePositionCalculationStrategy extends VegaSlimmer {
264
317
  return defaultAlignment;
265
318
  }
266
319
  }
267
- /**
268
- * Whether the alignment space is enough
269
- *
270
- * @param {ElementScrollDimension} containerBox - The bounding box of the container element.
271
- * @param {ElementBoundBox} targetBox - The position of the target element.
272
- * @param {ElementBoundBox} elementBox - The box of the element that we're trying to position.
273
- * @param {PlacementType} placement - The placement of the element relative to the target.
274
- * @param {PlacementType} alignment - The alignment of the element relative to the target.
275
- * @returns {boolean} return true if it has enough space, otherwise false
276
- */
277
- hasEnoughAlignmentSpace(containerBox, targetBox, elementBox, placement, alignment) {
278
- if (['top', 'bottom'].includes(placement)) {
279
- switch (alignment) {
280
- case 'start': {
281
- return targetBox.left + elementBox.width <= containerBox.width;
282
- }
283
- case 'center': {
284
- return (targetBox.left >= (elementBox.width - targetBox.width) / 2 &&
285
- targetBox.left + targetBox.width / 2 + elementBox.width / 2 <= containerBox.width);
286
- }
287
- case 'end': {
288
- return targetBox.left + targetBox.width >= elementBox.width;
289
- }
290
- }
291
- }
292
- if (['right', 'left'].includes(placement)) {
293
- switch (alignment) {
294
- case 'start': {
295
- return targetBox.top + elementBox.height <= containerBox.height;
296
- }
297
- case 'center': {
298
- return (targetBox.top >= (elementBox.height - targetBox.height) / 2 &&
299
- targetBox.top + targetBox.height / 2 + elementBox.height / 2 <= containerBox.height);
300
- }
301
- case 'end': {
302
- return targetBox.top + targetBox.height >= elementBox.height;
303
- }
304
- }
305
- }
306
- /* istanbul ignore next */
307
- return false;
308
- }
309
320
  /**
310
321
  * If the placement is top or left, then the target's top or left position must be greater than or
311
322
  * equal to the element's height or width. If the placement is bottom or right, then the container's
@@ -17,6 +17,13 @@ export class PositionCalculationController extends VegaSlimmer {
17
17
  this.bodyPositionStrategy = new BodyPositionCalculationStrategy();
18
18
  this.screenPositionStrategy = new ScreenPositionCalculationStrategy();
19
19
  }
20
+ /**
21
+ * Clears any pending screen-position scroll animation frame callback.
22
+ * Call this when the appendable is hidden/destroyed.
23
+ */
24
+ clearScreenPositionScrollFrame() {
25
+ this.screenPositionStrategy.clearScrollFrame();
26
+ }
20
27
  /**
21
28
  * Sets the calculate postion strategy.
22
29
  */
@@ -31,6 +38,8 @@ export class PositionCalculationController extends VegaSlimmer {
31
38
  * @param {boolean} [usePreviousPlacement] - Should keep use previous placement and alignment.
32
39
  */
33
40
  adjustPosition(usePreviousPlacement) {
41
+ if (!this.positionStrategy.shouldAdjustPosition())
42
+ return;
34
43
  this.adjustWidth();
35
44
  this.adjustHeight();
36
45
  this.applyPosition(this.positionStrategy.getPosition(usePreviousPlacement));