@globalpayments/vega 2.29.0 → 2.31.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 (272) hide show
  1. package/dist/cjs/{app-globals-46ab4eb3.js → app-globals-391d9a14.js} +4 -3
  2. package/dist/cjs/{child-nodes-event-prevent-slimmer-0245d631.js → child-nodes-event-prevent-slimmer-bed95a1b.js} +2 -2
  3. package/dist/cjs/{element-appender-slimmer-2b251c0a.js → element-appender-slimmer-415d261a.js} +725 -536
  4. package/dist/cjs/{event-emit-slimmer-d409d0ac.js → event-emit-slimmer-b321e3f5.js} +1 -1
  5. package/dist/cjs/{feature-flag-controller-078da332.js → feature-flag-controller-f0619cc7.js} +5 -0
  6. package/dist/cjs/index-d6bf3435.js +15 -0
  7. package/dist/cjs/index.cjs.js +6 -5
  8. package/dist/cjs/{internal-vega-event-manager-4d9a8e67.js → internal-vega-event-manager-9ffb3ed1.js} +10 -3
  9. package/dist/cjs/loader.cjs.js +7 -6
  10. package/dist/cjs/vega-accordion.cjs.entry.js +3 -3
  11. package/dist/cjs/vega-app-header-button.cjs.entry.js +5 -5
  12. package/dist/cjs/vega-banner.cjs.entry.js +4 -4
  13. package/dist/cjs/vega-breadcrumb.cjs.entry.js +5 -5
  14. package/dist/cjs/vega-button-circle.cjs.entry.js +5 -5
  15. package/dist/cjs/vega-button-group_2.cjs.entry.js +5 -5
  16. package/dist/cjs/vega-button-link.cjs.entry.js +5 -5
  17. package/dist/cjs/vega-button.cjs.entry.js +5 -5
  18. package/dist/cjs/vega-calendar_3.cjs.entry.js +5 -5
  19. package/dist/cjs/vega-carousel.cjs.entry.js +3 -3
  20. package/dist/cjs/vega-checkbox_2.cjs.entry.js +5 -5
  21. package/dist/cjs/vega-chip.cjs.entry.js +5 -5
  22. package/dist/cjs/vega-color-picker.cjs.entry.js +11 -5
  23. package/dist/cjs/vega-combo-box.cjs.entry.js +488 -178
  24. package/dist/cjs/vega-date-picker_2.cjs.entry.js +12 -9
  25. package/dist/cjs/vega-dialog_2.cjs.entry.js +5 -5
  26. package/dist/cjs/vega-dropdown_5.cjs.entry.js +40 -24
  27. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  28. package/dist/cjs/{vega-event-id-e40ac8f0.js → vega-event-id-419d36a8.js} +2 -0
  29. package/dist/cjs/vega-field-label.cjs.entry.js +3 -3
  30. package/dist/cjs/vega-file-uploader.cjs.entry.js +3 -3
  31. package/dist/cjs/vega-flex.cjs.entry.js +1 -1
  32. package/dist/cjs/vega-form.cjs.entry.js +5 -5
  33. package/dist/cjs/vega-image-uploader.cjs.entry.js +5 -5
  34. package/dist/cjs/vega-input-credit-card.cjs.entry.js +5 -5
  35. package/dist/cjs/vega-input-numeric.cjs.entry.js +5 -5
  36. package/dist/cjs/vega-input-phone-number.cjs.entry.js +5 -5
  37. package/dist/cjs/vega-input-range.cjs.entry.js +5 -5
  38. package/dist/cjs/vega-input-select.cjs.entry.js +18 -6
  39. package/dist/cjs/vega-input.cjs.entry.js +3 -3
  40. package/dist/cjs/vega-item-toggle.cjs.entry.js +3 -3
  41. package/dist/cjs/vega-left-nav_5.cjs.entry.js +4 -4
  42. package/dist/cjs/vega-page-notification_2.cjs.entry.js +1 -1
  43. package/dist/cjs/vega-pagination.cjs.entry.js +7 -7
  44. package/dist/cjs/vega-popover_2.cjs.entry.js +8 -8
  45. package/dist/cjs/vega-progress-tracker.cjs.entry.js +3 -3
  46. package/dist/cjs/vega-radio_2.cjs.entry.js +5 -5
  47. package/dist/cjs/vega-segment-control.cjs.entry.js +3 -3
  48. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +5 -5
  49. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +5 -5
  50. package/dist/cjs/vega-sidenav_3.cjs.entry.js +10 -10
  51. package/dist/cjs/vega-signature-capture.cjs.entry.js +3 -3
  52. package/dist/cjs/{vega-skeleton-loader-controller-4bd8cc88.js → vega-skeleton-loader-controller-4a016b04.js} +2 -12
  53. package/dist/cjs/vega-stepper.cjs.entry.js +5 -5
  54. package/dist/cjs/vega-tab-group_2.cjs.entry.js +5 -5
  55. package/dist/cjs/vega-table_8.cjs.entry.js +5 -5
  56. package/dist/cjs/vega-textarea.cjs.entry.js +5 -5
  57. package/dist/cjs/vega-time-picker_2.cjs.entry.js +7 -7
  58. package/dist/cjs/vega-toggle-switch.cjs.entry.js +3 -3
  59. package/dist/cjs/vega-tooltip_2.cjs.entry.js +6 -6
  60. package/dist/cjs/vega.cjs.js +7 -6
  61. package/dist/collection/components/vega-color-picker/vega-color-picker.css +8 -8
  62. package/dist/collection/components/vega-color-picker/vega-color-picker.js +30 -3
  63. package/dist/collection/components/vega-combo-box/slimmers/controllers/vega-combo-box-items-slot-controller.js +57 -0
  64. package/dist/collection/components/vega-combo-box/slimmers/controllers/vega-combo-box-keyboard-controller.js +114 -0
  65. package/dist/collection/components/vega-combo-box/slimmers/controllers/vega-combo-box-source-controller.js +23 -0
  66. package/dist/collection/components/vega-combo-box/slimmers/controllers/vega-combo-box-value-controller.js +23 -0
  67. package/dist/collection/components/vega-combo-box/slimmers/renderers/vega-combo-box-dropdown-renderer.js +188 -0
  68. package/dist/collection/components/vega-combo-box/slimmers/renderers/vega-combo-box-renderer.js +50 -0
  69. package/dist/collection/components/vega-combo-box/vega-combo-box.js +40 -177
  70. package/dist/collection/components/vega-date-picker/slimmers/controllers/vega-date-picker-element-appender-controller.js +2 -0
  71. package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-scrollable-controller.js +6 -4
  72. package/dist/collection/components/vega-dropdown/slimmers/renderers/vega-dropdown-search-renderer.js +19 -5
  73. package/dist/collection/components/vega-dropdown/vega-dropdown.js +55 -9
  74. package/dist/collection/components/vega-input-select/slimmers/controllers/vega-input-select-dropdown-controller.js +7 -1
  75. package/dist/collection/components/vega-input-select/vega-input-select.js +55 -2
  76. package/dist/collection/components/vega-sidenav/vega-sidenav-group/vega-sidenav-group.js +4 -4
  77. package/dist/collection/components/vega-sidenav/vega-sidenav-link/vega-sidenav-link.js +9 -9
  78. package/dist/collection/components/vega-sidenav/vega-sidenav.js +12 -12
  79. package/dist/collection/constants/ui.js +1 -0
  80. package/dist/collection/helpers/event-manager/event-id/component-event-id-map.js +10 -3
  81. package/dist/collection/helpers/event-manager/event-id/vega-event-id.js +1 -0
  82. package/dist/collection/helpers/event-manager/test/vega-event-manager.test.js +2 -1
  83. package/dist/collection/helpers/feature-control/feature-flags-map.js +5 -0
  84. package/dist/collection/helpers/slimmers/element-appender-container/body-positioned-wrapper/body-positioned-wrapper.abstract.js +13 -0
  85. package/dist/collection/helpers/slimmers/element-appender-container/{position-relative-to-wrapper.js → body-positioned-wrapper/position-relative-to-wrapper.js} +23 -21
  86. package/dist/collection/helpers/slimmers/element-appender-container/{vega-modal-wrapper.js → body-positioned-wrapper/vega-modal-wrapper.js} +18 -15
  87. package/dist/collection/helpers/slimmers/element-appender-container/{vega-popover-wrapper.js → body-positioned-wrapper/vega-popover-wrapper.js} +20 -19
  88. package/dist/collection/helpers/slimmers/element-appender-container/default-wrapper.js +19 -19
  89. package/dist/collection/helpers/slimmers/element-appender-container/element-appender-container-controller.js +3 -3
  90. package/dist/collection/helpers/slimmers/element-appender-slimmer.js +10 -0
  91. package/dist/collection/helpers/slimmers/position-calculation/base-position-calculation-strategy.js +345 -0
  92. package/dist/collection/helpers/slimmers/position-calculation/body-position-calculation-strategy.js +66 -0
  93. package/dist/collection/helpers/slimmers/position-calculation/position-calculation-controller.js +121 -0
  94. package/dist/collection/helpers/slimmers/position-calculation/screen-position-calculation-strategy.js +59 -0
  95. package/dist/collection/{utils/test/position.test.js → helpers/slimmers/position-calculation/test/body-position-calculation-strategy.test.js} +135 -45
  96. package/dist/collection/helpers/slimmers/position-calculation/test/screen-position-calculation-strategy.test.js +113 -0
  97. package/dist/collection/helpers/ui/element-appender.js +21 -70
  98. package/dist/collection/helpers/ui/test/element-appender.test.js +53 -0
  99. package/dist/collection/utils/pagination.js +2 -2
  100. package/dist/esm/{app-globals-d90e7905.js → app-globals-00a57fbe.js} +3 -2
  101. package/dist/esm/{child-nodes-event-prevent-slimmer-4ecbc8aa.js → child-nodes-event-prevent-slimmer-db288af1.js} +2 -2
  102. package/dist/esm/{element-appender-slimmer-6cf76806.js → element-appender-slimmer-48d826b2.js} +719 -530
  103. package/dist/esm/{event-emit-slimmer-cb9d6f6c.js → event-emit-slimmer-44cb4573.js} +1 -1
  104. package/dist/esm/{feature-flag-controller-10780eeb.js → feature-flag-controller-297c4b9b.js} +5 -0
  105. package/dist/esm/index-fda6b5ee.js +13 -0
  106. package/dist/esm/index.js +5 -4
  107. package/dist/esm/{internal-vega-event-manager-1ebfd1eb.js → internal-vega-event-manager-8154661e.js} +10 -3
  108. package/dist/esm/loader.js +7 -6
  109. package/dist/esm/vega-accordion.entry.js +3 -3
  110. package/dist/esm/vega-app-header-button.entry.js +5 -5
  111. package/dist/esm/vega-banner.entry.js +4 -4
  112. package/dist/esm/vega-breadcrumb.entry.js +5 -5
  113. package/dist/esm/vega-button-circle.entry.js +5 -5
  114. package/dist/esm/vega-button-group_2.entry.js +5 -5
  115. package/dist/esm/vega-button-link.entry.js +5 -5
  116. package/dist/esm/vega-button.entry.js +5 -5
  117. package/dist/esm/vega-calendar_3.entry.js +5 -5
  118. package/dist/esm/vega-carousel.entry.js +3 -3
  119. package/dist/esm/vega-checkbox_2.entry.js +5 -5
  120. package/dist/esm/vega-chip.entry.js +5 -5
  121. package/dist/esm/vega-color-picker.entry.js +12 -6
  122. package/dist/esm/vega-combo-box.entry.js +491 -181
  123. package/dist/esm/vega-date-picker_2.entry.js +12 -9
  124. package/dist/esm/vega-dialog_2.entry.js +5 -5
  125. package/dist/esm/vega-dropdown_5.entry.js +40 -24
  126. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  127. package/dist/esm/{vega-event-id-7465a011.js → vega-event-id-b1655cbc.js} +2 -1
  128. package/dist/esm/vega-field-label.entry.js +3 -3
  129. package/dist/esm/vega-file-uploader.entry.js +3 -3
  130. package/dist/esm/vega-flex.entry.js +1 -1
  131. package/dist/esm/vega-form.entry.js +5 -5
  132. package/dist/esm/vega-image-uploader.entry.js +5 -5
  133. package/dist/esm/vega-input-credit-card.entry.js +5 -5
  134. package/dist/esm/vega-input-numeric.entry.js +5 -5
  135. package/dist/esm/vega-input-phone-number.entry.js +5 -5
  136. package/dist/esm/vega-input-range.entry.js +5 -5
  137. package/dist/esm/vega-input-select.entry.js +18 -6
  138. package/dist/esm/vega-input.entry.js +3 -3
  139. package/dist/esm/vega-item-toggle.entry.js +3 -3
  140. package/dist/esm/vega-left-nav_5.entry.js +4 -4
  141. package/dist/esm/vega-page-notification_2.entry.js +1 -1
  142. package/dist/esm/vega-pagination.entry.js +7 -7
  143. package/dist/esm/vega-popover_2.entry.js +8 -8
  144. package/dist/esm/vega-progress-tracker.entry.js +3 -3
  145. package/dist/esm/vega-radio_2.entry.js +5 -5
  146. package/dist/esm/vega-segment-control.entry.js +3 -3
  147. package/dist/esm/vega-selection-chip_2.entry.js +5 -5
  148. package/dist/esm/vega-selection-tile_2.entry.js +5 -5
  149. package/dist/esm/vega-sidenav_3.entry.js +10 -10
  150. package/dist/esm/vega-signature-capture.entry.js +3 -3
  151. package/dist/esm/{vega-skeleton-loader-controller-def7bf3f.js → vega-skeleton-loader-controller-cec6753f.js} +2 -12
  152. package/dist/esm/vega-stepper.entry.js +5 -5
  153. package/dist/esm/vega-tab-group_2.entry.js +5 -5
  154. package/dist/esm/vega-table_8.entry.js +5 -5
  155. package/dist/esm/vega-textarea.entry.js +5 -5
  156. package/dist/esm/vega-time-picker_2.entry.js +7 -7
  157. package/dist/esm/vega-toggle-switch.entry.js +3 -3
  158. package/dist/esm/vega-tooltip_2.entry.js +6 -6
  159. package/dist/esm/vega.js +7 -6
  160. package/dist/types/components/vega-color-picker/vega-color-picker.d.ts +6 -0
  161. package/dist/types/components/vega-combo-box/slimmers/controllers/vega-combo-box-items-slot-controller.d.ts +19 -0
  162. package/dist/types/components/vega-combo-box/slimmers/controllers/vega-combo-box-keyboard-controller.d.ts +29 -0
  163. package/dist/types/components/vega-combo-box/slimmers/controllers/vega-combo-box-source-controller.d.ts +14 -0
  164. package/dist/types/components/vega-combo-box/slimmers/controllers/vega-combo-box-value-controller.d.ts +14 -0
  165. package/dist/types/components/vega-combo-box/slimmers/renderers/vega-combo-box-dropdown-renderer.d.ts +48 -0
  166. package/dist/types/components/vega-combo-box/slimmers/renderers/vega-combo-box-renderer.d.ts +17 -0
  167. package/dist/types/components/vega-combo-box/vega-combo-box.d.ts +12 -48
  168. package/dist/types/components/vega-dropdown/slimmers/renderers/vega-dropdown-search-renderer.d.ts +1 -0
  169. package/dist/types/components/vega-dropdown/types.d.ts +5 -0
  170. package/dist/types/components/vega-dropdown/vega-dropdown.d.ts +21 -1
  171. package/dist/types/components/vega-input-select/slimmers/controllers/vega-input-select-dropdown-controller.d.ts +1 -0
  172. package/dist/types/components/vega-input-select/vega-input-select.d.ts +20 -0
  173. package/dist/types/components/vega-sidenav/vega-sidenav-group/vega-sidenav-group.d.ts +3 -3
  174. package/dist/types/components/vega-sidenav/vega-sidenav-link/vega-sidenav-link.d.ts +7 -7
  175. package/dist/types/components/vega-sidenav/vega-sidenav.d.ts +8 -8
  176. package/dist/types/components.d.ts +58 -26
  177. package/dist/types/constants/ui.d.ts +1 -1
  178. package/dist/types/helpers/event-manager/event-id/vega-event-id.d.ts +1 -0
  179. package/dist/types/helpers/feature-control/feature-flag.d.ts +2 -1
  180. package/dist/types/helpers/slimmers/element-appender-container/body-positioned-wrapper/body-positioned-wrapper.abstract.d.ts +15 -0
  181. package/dist/types/helpers/slimmers/element-appender-container/{position-relative-to-wrapper.d.ts → body-positioned-wrapper/position-relative-to-wrapper.d.ts} +5 -5
  182. package/dist/types/helpers/slimmers/element-appender-container/{vega-modal-wrapper.d.ts → body-positioned-wrapper/vega-modal-wrapper.d.ts} +5 -5
  183. package/dist/types/helpers/slimmers/element-appender-container/{vega-popover-wrapper.d.ts → body-positioned-wrapper/vega-popover-wrapper.d.ts} +5 -5
  184. package/dist/types/helpers/slimmers/element-appender-container/default-wrapper.d.ts +2 -2
  185. package/dist/types/helpers/slimmers/element-appender-container/element-appender-container-controller.d.ts +3 -3
  186. package/dist/types/helpers/slimmers/element-appender-slimmer.d.ts +1 -0
  187. package/dist/types/helpers/slimmers/position-calculation/base-position-calculation-strategy.d.ts +138 -0
  188. package/dist/types/helpers/slimmers/position-calculation/body-position-calculation-strategy.d.ts +34 -0
  189. package/dist/types/helpers/slimmers/position-calculation/position-calculation-controller.d.ts +54 -0
  190. package/dist/types/helpers/slimmers/position-calculation/screen-position-calculation-strategy.d.ts +34 -0
  191. package/dist/types/helpers/slimmers/position-calculation/test/body-position-calculation-strategy.test.d.ts +15 -0
  192. package/dist/types/helpers/ui/element-appender.d.ts +9 -24
  193. package/dist/types/types/components.type.d.ts +1 -0
  194. package/dist/vega/index.esm.js +1 -1
  195. package/dist/vega/{p-cf998fc5.entry.js → p-00c5aee5.entry.js} +1 -1
  196. package/dist/vega/{p-f6d4c1ff.entry.js → p-042b4b3f.entry.js} +1 -1
  197. package/dist/vega/{p-817a83c6.entry.js → p-07a8cf89.entry.js} +1 -1
  198. package/dist/vega/p-0abe1ade.entry.js +1 -0
  199. package/dist/vega/{p-74fcdbc6.entry.js → p-0f0e4198.entry.js} +1 -1
  200. package/dist/vega/{p-d7800ca2.entry.js → p-14f5a9ad.entry.js} +1 -1
  201. package/dist/vega/p-15023bad.entry.js +1 -0
  202. package/dist/vega/{p-38f26c82.entry.js → p-1be2fd46.entry.js} +1 -1
  203. package/dist/vega/p-1bfcb6b7.entry.js +1 -0
  204. package/dist/vega/p-1e6c23e0.entry.js +1 -0
  205. package/dist/vega/{p-b0a6421a.entry.js → p-20d9c07c.entry.js} +1 -1
  206. package/dist/vega/p-2306c736.js +1 -0
  207. package/dist/vega/{p-8ef03eed.js → p-302e7589.js} +1 -1
  208. package/dist/vega/p-34710a3c.entry.js +1 -0
  209. package/dist/vega/{p-0bbcc81a.entry.js → p-438caeb3.entry.js} +1 -1
  210. package/dist/vega/{p-319efe6c.js → p-4ffd7493.js} +1 -1
  211. package/dist/vega/{p-ed4a26e7.entry.js → p-57d9bde6.entry.js} +1 -1
  212. package/dist/vega/p-5f377954.js +1 -1
  213. package/dist/vega/{p-ff7bd85f.entry.js → p-623fe226.entry.js} +1 -1
  214. package/dist/vega/{p-1d94428c.entry.js → p-63bee4f1.entry.js} +1 -1
  215. package/dist/vega/{p-6ac3ba21.entry.js → p-64ff6318.entry.js} +1 -1
  216. package/dist/vega/p-6e6ec77d.entry.js +1 -0
  217. package/dist/vega/{p-86eda597.entry.js → p-72ecc510.entry.js} +1 -1
  218. package/dist/vega/p-79019d08.js +1 -0
  219. package/dist/vega/p-7941701a.entry.js +1 -0
  220. package/dist/vega/{p-689ee038.entry.js → p-799cb0a4.entry.js} +1 -1
  221. package/dist/vega/{p-1678b69f.entry.js → p-7a6a0740.entry.js} +1 -1
  222. package/dist/vega/p-80785fcf.entry.js +1 -0
  223. package/dist/vega/{p-0ae9b900.entry.js → p-83ef4c13.entry.js} +1 -1
  224. package/dist/vega/{p-ad31be2c.entry.js → p-87cd0d6a.entry.js} +1 -1
  225. package/dist/vega/{p-b771268b.entry.js → p-8cfe4027.entry.js} +1 -1
  226. package/dist/vega/{p-5dbcab1b.entry.js → p-9281cdb2.entry.js} +1 -1
  227. package/dist/vega/p-95b25b97.entry.js +1 -0
  228. package/dist/vega/p-9b45e5dc.entry.js +1 -0
  229. package/dist/vega/{p-0a91f217.entry.js → p-9b9c0afb.entry.js} +1 -1
  230. package/dist/vega/{p-92aaed64.entry.js → p-9ba68531.entry.js} +2 -2
  231. package/dist/vega/{p-dacf5572.entry.js → p-a66ea015.entry.js} +1 -1
  232. package/dist/vega/{p-d0756d70.entry.js → p-a67748c6.entry.js} +1 -1
  233. package/dist/vega/{p-53bb8cde.entry.js → p-a6e1d9bc.entry.js} +1 -1
  234. package/dist/vega/{p-8b0533c4.entry.js → p-b1a249ef.entry.js} +1 -1
  235. package/dist/vega/{p-cf4fea44.entry.js → p-b6e49ee9.entry.js} +1 -1
  236. package/dist/vega/{p-d045099d.entry.js → p-be6041fc.entry.js} +1 -1
  237. package/dist/vega/{p-2ae04da9.entry.js → p-bf38199b.entry.js} +1 -1
  238. package/dist/vega/p-bf3fbb9b.js +1 -0
  239. package/dist/vega/p-c06e7880.js +1 -0
  240. package/dist/vega/{p-e42a2a12.entry.js → p-c3c2890e.entry.js} +1 -1
  241. package/dist/vega/{p-b3417358.entry.js → p-c6ed1982.entry.js} +1 -1
  242. package/dist/vega/p-cdebfee7.entry.js +1 -0
  243. package/dist/vega/{p-e4d6e2c8.entry.js → p-d3c07efa.entry.js} +1 -1
  244. package/dist/vega/p-d71f968e.entry.js +1 -0
  245. package/dist/vega/{p-30693931.entry.js → p-e165c9f1.entry.js} +1 -1
  246. package/dist/vega/{p-19769aba.js → p-e5d7b4b8.js} +1 -1
  247. package/dist/vega/{p-ebb93b96.entry.js → p-e6f91767.entry.js} +1 -1
  248. package/dist/vega/p-ed237efc.js +1 -0
  249. package/dist/vega/{p-a105e4de.js → p-f2851f16.js} +1 -1
  250. package/dist/vega/{p-975c5a3a.entry.js → p-fb3233db.entry.js} +1 -1
  251. package/dist/vega/{p-a0f5d2cc.entry.js → p-ff22a95f.entry.js} +1 -1
  252. package/dist/vega/vega.esm.js +1 -1
  253. package/package.json +4 -2
  254. package/dist/collection/utils/position.js +0 -373
  255. package/dist/types/utils/position.d.ts +0 -17
  256. package/dist/vega/p-001c0b51.entry.js +0 -1
  257. package/dist/vega/p-0064f5b1.entry.js +0 -1
  258. package/dist/vega/p-19ef612a.js +0 -1
  259. package/dist/vega/p-1f03b576.entry.js +0 -1
  260. package/dist/vega/p-270b0d1a.entry.js +0 -1
  261. package/dist/vega/p-28c78b79.entry.js +0 -1
  262. package/dist/vega/p-31d530d2.entry.js +0 -1
  263. package/dist/vega/p-3f5e44c1.js +0 -1
  264. package/dist/vega/p-651e5c7d.entry.js +0 -1
  265. package/dist/vega/p-68823025.js +0 -1
  266. package/dist/vega/p-6b8277eb.js +0 -1
  267. package/dist/vega/p-7d02f723.entry.js +0 -1
  268. package/dist/vega/p-8bd09712.entry.js +0 -1
  269. package/dist/vega/p-a14be625.entry.js +0 -1
  270. package/dist/vega/p-cc272fbc.entry.js +0 -1
  271. package/dist/vega/p-e2c25432.entry.js +0 -1
  272. /package/dist/types/{utils/test/position.test.d.ts → helpers/slimmers/position-calculation/test/screen-position-calculation-strategy.test.d.ts} +0 -0
@@ -0,0 +1,188 @@
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 { Fragment, h } from '@stencil/core';
8
+ import { MapToComponentField, MapToComponentMethod, VegaSlimmer } from 'vega-slimmer/core';
9
+ import { createEnterKeyHandlerToTriggerClick } from '../../../../utils/accessibility';
10
+ import { DomNodeSubjectObserverFactory } from '../../../../helpers/change-manager/subject/dom-node-subject/dom-node-subject-observer-factory';
11
+ import { VegaClose, VegaCreate, VegaDropdownClick, VegaDropdownHide, } from '../../../../helpers/event-manager/event-id/vega-event-id';
12
+ import { VegaInternalDropdownTemplateItemsChange } from '../../../../helpers/event-manager/event-id/vega-internal-event-id';
13
+ export class VegaComboBoxDropdownRenderer extends VegaSlimmer {
14
+ constructor() {
15
+ super(...arguments);
16
+ this.onItemClick = async () => {
17
+ this.valueController.setValue((await this.dropdownRef.getSelection()));
18
+ await this.clearInput();
19
+ };
20
+ this.onDropdownHide = async () => {
21
+ await this.clearInput();
22
+ };
23
+ this.onDropdownCreate = async (searchString) => {
24
+ this.createEventEmit.emit(searchString);
25
+ await this.clearInput();
26
+ };
27
+ /**
28
+ * The below method is e2e-test covered in
29
+ * @see{module:vega-combo-box-search-input}
30
+ * @see{module:vega-combo-box-vega-search-event-e2e}
31
+ */
32
+ /* istanbul ignore next */
33
+ this.onInputChange = async (e) => {
34
+ const value = e.target.value;
35
+ if (this.useDefaultFilter || this.vegaDropdownProps.dynamicOption) {
36
+ await this.dropdownRef.show();
37
+ await this.dropdownRef.search(value);
38
+ }
39
+ if (this.isTemplateMode || !this.useDefaultFilter) {
40
+ this.searchEventEmit.emit(value);
41
+ }
42
+ };
43
+ }
44
+ connectedCallback() {
45
+ this.isTemplateMode = this.host.querySelector('[slot=items]') !== null;
46
+ }
47
+ getDropdownRef() {
48
+ return this.dropdownRef;
49
+ }
50
+ getSearchInputRef() {
51
+ return this.searchInputRef;
52
+ }
53
+ /**
54
+ * The below method is e2e-test covered in
55
+ * @see{module:vega-combo-box-focus-by-label-e2e}
56
+ */
57
+ /* istanbul ignore next */
58
+ focusInput() {
59
+ this.searchInputRef.focus();
60
+ }
61
+ async hide() {
62
+ await this.dropdownRef.hide();
63
+ }
64
+ async show() {
65
+ await this.dropdownRef.show();
66
+ }
67
+ replaceItemsSlot(itemsSlot) {
68
+ if (itemsSlot && this.itemsSlotRef) {
69
+ this.itemsSlotRef.remove();
70
+ this.dropdownRef.append(itemsSlot);
71
+ }
72
+ }
73
+ renderDropdown() {
74
+ return (h("vega-dropdown", Object.assign({ trigger: this.disabled ? 'none' : 'click', source: this.source, selectType: "multiple", selectedSourceKey: this.value, matchTargetWidth: true, useDefaultFilter: this.useDefaultFilter }, this.vegaDropdownProps, { ref: (ref) => {
75
+ this.dropdownRef = ref;
76
+ DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaCreate, async (payload) => {
77
+ await this.onDropdownCreate(payload.detail);
78
+ });
79
+ DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaDropdownHide, async () => {
80
+ await this.onDropdownHide();
81
+ });
82
+ DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaDropdownClick, async () => {
83
+ await this.onItemClick();
84
+ });
85
+ DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaInternalDropdownTemplateItemsChange,
86
+ /*
87
+ * The below method is e2e-test covered in
88
+ * @see{module:vega-combo-box-template-select-e2e}
89
+ */
90
+ /* istanbul ignore next */
91
+ (payload) => {
92
+ const addedItems = Array.from(payload)
93
+ .filter((item) => !this.source.find((sourceItem) => sourceItem.key === item.itemKey))
94
+ .map((item) => ({
95
+ key: item.itemKey,
96
+ label: item.label,
97
+ }));
98
+ this.sourceController.setSource([...this.source, ...addedItems]);
99
+ });
100
+ } }),
101
+ this.renderContainer(),
102
+ this.renderItemsSlot()));
103
+ }
104
+ renderContainer() {
105
+ return (h("div", { class: {
106
+ 'vega-combo-box-container': true,
107
+ [`vega-combo-box-size-${this.size}`]: true,
108
+ } },
109
+ this.renderSelectedContainer(),
110
+ this.renderInputContainer()));
111
+ }
112
+ renderItemsSlot() {
113
+ return (this.isTemplateMode && (h("div", { slot: "items", ref: (ref) => {
114
+ this.itemsSlotRef = ref;
115
+ } })));
116
+ }
117
+ renderSelectedContainer() {
118
+ const selected = this.value
119
+ .map((key) => this.source.find((item) => item.key === key))
120
+ .filter((item) => item);
121
+ return (h(Fragment, null, selected.map((item) => {
122
+ return this.renderSelectedChip(item);
123
+ })));
124
+ }
125
+ renderSelectedChip(item) {
126
+ return (h("vega-chip", {
127
+ //TODO: the key property test will add in https://gethired.atlassian.net/browse/VD-883
128
+ key: item.key, text: item.label, variant: "outlined", showCloseIcon: !this.disabled, size: "small", ref: (ref) => {
129
+ DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaClose, async () => {
130
+ await this.onChipClose(item.key);
131
+ });
132
+ } }));
133
+ }
134
+ renderInputContainer() {
135
+ return (h("div", { class: "vega-combo-box-input-container" },
136
+ h("input", { onInput: this.onInputChange, "aria-label": this.label || 'No label defined', placeholder: this.value.length === 0 ? this.placeholder : '', ref: (e) => (this.searchInputRef = e), onKeyDown: createEnterKeyHandlerToTriggerClick(), disabled: this.disabled })));
137
+ }
138
+ async onChipClose(key) {
139
+ this.valueController.setValue([...this.value.filter((value) => value !== key)]);
140
+ await this.dropdownRef.hide();
141
+ }
142
+ async clearInput() {
143
+ this.searchInputRef.value = '';
144
+ await this.dropdownRef.search('');
145
+ }
146
+ }
147
+ __decorate([
148
+ MapToComponentField()
149
+ ], VegaComboBoxDropdownRenderer.prototype, "host", void 0);
150
+ __decorate([
151
+ MapToComponentField()
152
+ ], VegaComboBoxDropdownRenderer.prototype, "value", void 0);
153
+ __decorate([
154
+ MapToComponentField()
155
+ ], VegaComboBoxDropdownRenderer.prototype, "source", void 0);
156
+ __decorate([
157
+ MapToComponentField()
158
+ ], VegaComboBoxDropdownRenderer.prototype, "disabled", void 0);
159
+ __decorate([
160
+ MapToComponentField()
161
+ ], VegaComboBoxDropdownRenderer.prototype, "size", void 0);
162
+ __decorate([
163
+ MapToComponentField()
164
+ ], VegaComboBoxDropdownRenderer.prototype, "vegaDropdownProps", void 0);
165
+ __decorate([
166
+ MapToComponentField()
167
+ ], VegaComboBoxDropdownRenderer.prototype, "label", void 0);
168
+ __decorate([
169
+ MapToComponentField()
170
+ ], VegaComboBoxDropdownRenderer.prototype, "placeholder", void 0);
171
+ __decorate([
172
+ MapToComponentField()
173
+ ], VegaComboBoxDropdownRenderer.prototype, "useDefaultFilter", void 0);
174
+ __decorate([
175
+ MapToComponentField()
176
+ ], VegaComboBoxDropdownRenderer.prototype, "createEventEmit", void 0);
177
+ __decorate([
178
+ MapToComponentField()
179
+ ], VegaComboBoxDropdownRenderer.prototype, "searchEventEmit", void 0);
180
+ __decorate([
181
+ MapToComponentField()
182
+ ], VegaComboBoxDropdownRenderer.prototype, "valueController", void 0);
183
+ __decorate([
184
+ MapToComponentField()
185
+ ], VegaComboBoxDropdownRenderer.prototype, "sourceController", void 0);
186
+ __decorate([
187
+ MapToComponentMethod('connectedCallback')
188
+ ], VegaComboBoxDropdownRenderer.prototype, "connectedCallback", null);
@@ -0,0 +1,50 @@
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 { h, Host } from '@stencil/core';
8
+ import { MapToComponentField, VegaSlimmer } from 'vega-slimmer/core';
9
+ export class VegaComboBoxRenderer extends VegaSlimmer {
10
+ constructor() {
11
+ super(...arguments);
12
+ /**
13
+ * The below method is e2e-test covered in
14
+ * @see{module:vega-combo-box-focus-by-label-e2e}
15
+ */
16
+ /* istanbul ignore next */
17
+ this.onLabelClick = () => {
18
+ this.dropdownRenderer.focusInput();
19
+ };
20
+ }
21
+ render() {
22
+ return (h(Host, { class: {
23
+ 'vega-combo-box-disabled': this.disabled,
24
+ } },
25
+ this.renderLabel(),
26
+ this.dropdownRenderer.renderDropdown(),
27
+ this.renderHint()));
28
+ }
29
+ renderLabel() {
30
+ return (h("vega-field-label", { onClick: this.onLabelClick, "is-field-required": this.required, disabled: this.disabled, label: this.label }));
31
+ }
32
+ renderHint() {
33
+ return h("div", { class: "vega-combo-box-hint" }, this.hint);
34
+ }
35
+ }
36
+ __decorate([
37
+ MapToComponentField()
38
+ ], VegaComboBoxRenderer.prototype, "required", void 0);
39
+ __decorate([
40
+ MapToComponentField()
41
+ ], VegaComboBoxRenderer.prototype, "hint", void 0);
42
+ __decorate([
43
+ MapToComponentField()
44
+ ], VegaComboBoxRenderer.prototype, "disabled", void 0);
45
+ __decorate([
46
+ MapToComponentField()
47
+ ], VegaComboBoxRenderer.prototype, "dropdownRenderer", void 0);
48
+ __decorate([
49
+ MapToComponentField()
50
+ ], VegaComboBoxRenderer.prototype, "label", void 0);
@@ -4,29 +4,37 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
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
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { Component, Host, h, Prop, Element, Method, Watch, Event, Fragment, } from '@stencil/core';
7
+ import { Component, Prop, Element, Method, Watch, Event } from '@stencil/core';
8
8
  import { RequiredFieldRule } from '../../helpers/validator/rules/required-field-rule';
9
- import { getActiveElement, sanitizeVegaComponent } from '../../utils/component';
9
+ import { sanitizeVegaComponent } from '../../utils/component';
10
10
  import { isArrayOfType, isDropdownSourceItemType } from '../../types/type-guard';
11
- import { findParent } from '../../utils/ui';
12
- import { createEnterKeyHandlerToTriggerClick } from '../../utils/accessibility';
13
- import { InjectKeyboardManager } from '../../decorators/property-decorators/inject-keyboard-manager';
14
11
  import { InjectVegaGlobalSlimmer, InjectVegaSlimmer, methodPlaceholder, } from 'vega-slimmer/core';
15
12
  import { FormFieldControllerSlimmer } from '../../helpers/slimmers/form-field-controller-slimmer';
16
13
  import { ChildNodesEventPreventSlimmer } from '../../helpers/event-manager/slimmers/child-nodes-event-prevent-slimmer';
17
14
  import { createEventEmitSlimmer, } from '../../helpers/event-manager/slimmers/event-emit-slimmer';
18
- import { DomNodeSubjectObserverFactory } from '../../helpers/change-manager/subject/dom-node-subject/dom-node-subject-observer-factory';
19
- import { VegaChange, VegaClose, VegaCreate, VegaDropdownClick, VegaDropdownHide, VegaSearch, } from '../../helpers/event-manager/event-id/vega-event-id';
15
+ import { VegaChange, VegaCreate, VegaSearch } from '../../helpers/event-manager/event-id/vega-event-id';
20
16
  import { FORM_ELEMENT_VALUE_CHANGE } from '../../helpers/change-manager/subject/static-subject/static-subject-title';
21
17
  import ChangeManager from '../../helpers/change-manager/change-manager';
22
18
  import { VegaComponentUsageRuntimeMetricsSlimmer } from '../../helpers/slimmers/component-usage-runtime-metrics';
23
19
  import { VegaComboBoxRuntimeMetricsPayloadDefinition } from '../../constants/runtime-metrics-payload-definition/vega-combo-box/runtime-metrics-payload-definition';
20
+ import { VegaComboBoxDropdownRenderer } from './slimmers/renderers/vega-combo-box-dropdown-renderer';
21
+ import { VegaComboBoxValueController } from './slimmers/controllers/vega-combo-box-value-controller';
22
+ import { VegaComboBoxRenderer } from './slimmers/renderers/vega-combo-box-renderer';
23
+ import { VegaComboBoxKeyboardController } from './slimmers/controllers/vega-combo-box-keyboard-controller';
24
+ import { VegaComboBoxItemsSlotController } from './slimmers/controllers/vega-combo-box-items-slot-controller';
25
+ import { VegaComboBoxSourceController } from './slimmers/controllers/vega-combo-box-source-controller';
24
26
  /**
25
27
  * @vegaVersion 1.11.0
26
28
  */
27
29
  export class VegaComboBox {
28
30
  constructor() {
29
31
  this.globalSlimmers = {};
32
+ this.itemsSlotController = new VegaComboBoxItemsSlotController();
33
+ this.keyboardController = new VegaComboBoxKeyboardController();
34
+ this.valueController = new VegaComboBoxValueController();
35
+ this.sourceController = new VegaComboBoxSourceController();
36
+ this.renderer = new VegaComboBoxRenderer();
37
+ this.dropdownRenderer = new VegaComboBoxDropdownRenderer();
30
38
  this.formFieldController = new FormFieldControllerSlimmer({
31
39
  propertyRules: [
32
40
  {
@@ -37,13 +45,13 @@ export class VegaComboBox {
37
45
  validationRulesName: 'validationRules',
38
46
  defaultValue: [],
39
47
  attributeGetter: (propertyName) => this[propertyName],
40
- inputContainerGetter: () => this.dropdownRef,
41
- touchableAreaGetter: () => [this.searchInputRef],
48
+ inputContainerGetter: () => this.dropdownRenderer.getDropdownRef(),
49
+ touchableAreaGetter: () => [this.dropdownRenderer.getSearchInputRef()],
42
50
  });
43
51
  this.changeEventEmit = createEventEmitSlimmer(VegaComboBox, VegaChange);
44
52
  this.createEventEmit = createEventEmitSlimmer(VegaComboBox, VegaCreate);
45
53
  this.searchEventEmit = createEventEmitSlimmer(VegaComboBox, VegaSearch);
46
- this.dropdownEventPrevent = new ChildNodesEventPreventSlimmer([VegaCreate, VegaSearch], () => this.dropdownRef, {
54
+ this.dropdownEventPrevent = new ChildNodesEventPreventSlimmer([VegaCreate, VegaSearch], () => this.dropdownRenderer.getDropdownRef(), {
47
55
  customPreventHandle: (e) => {
48
56
  e.stopImmediatePropagation();
49
57
  },
@@ -80,6 +88,7 @@ export class VegaComboBox {
80
88
  *
81
89
  * @vegaVersion 1.11.0
82
90
  */
91
+ /* eslint-disable-next-line @stencil/strict-mutable */
83
92
  this.value = [];
84
93
  /**
85
94
  * Specifies the validation status of the combo box component.
@@ -147,53 +156,6 @@ export class VegaComboBox {
147
156
  * @vegaVersion 1.24.0
148
157
  */
149
158
  this.useDefaultFilter = true;
150
- this.onItemClick = async () => {
151
- this.value = (await this.dropdownRef.getSelection());
152
- await this.clearInput();
153
- };
154
- this.onDropdownHide = async () => {
155
- await this.clearInput();
156
- };
157
- this.onDropdownCreate = async (searchString) => {
158
- this.createEventEmit.emit(searchString);
159
- await this.clearInput();
160
- };
161
- /**
162
- * The below method is e2e-test covered in
163
- * @see{module:vega-combo-box-search-input}
164
- * @see{module:vega-combo-box-vega-search-event-e2e}
165
- */
166
- /* istanbul ignore next */
167
- this.onInputChange = async (e) => {
168
- const value = e.target.value;
169
- if (this.useDefaultFilter) {
170
- await this.dropdownRef.show();
171
- await this.dropdownRef.search(value);
172
- }
173
- else {
174
- this.searchEventEmit.emit(value);
175
- }
176
- };
177
- /**
178
- * The below method is e2e-test covered in
179
- * @see{module:vega-combo-box-focus-by-label-e2e}
180
- */
181
- /* istanbul ignore next */
182
- this.onLabelClick = () => {
183
- this.searchInputRef.focus();
184
- };
185
- /**
186
- * The below method is e2e-test covered in
187
- * @see{module:vega-combo-box-keyboard-control-e2e}
188
- * @see{module:vega-combo-box-keyboard-control-for-selected-items-e2e}
189
- */
190
- /* istanbul ignore next */
191
- this.deleteLastSelectedItem = () => {
192
- if (this.searchInputRef.value === '') {
193
- this.value.pop();
194
- this.value = [...this.value];
195
- }
196
- };
197
159
  }
198
160
  watchSource() {
199
161
  this.source = isArrayOfType(this.source, isDropdownSourceItemType)
@@ -217,7 +179,7 @@ export class VegaComboBox {
217
179
  */
218
180
  async close() {
219
181
  if (!this.disabled) {
220
- await this.dropdownRef.hide();
182
+ await this.dropdownRenderer.hide();
221
183
  }
222
184
  }
223
185
  /**
@@ -227,108 +189,11 @@ export class VegaComboBox {
227
189
  */
228
190
  async open() {
229
191
  if (!this.disabled) {
230
- await this.dropdownRef.show();
192
+ await this.dropdownRenderer.show();
231
193
  }
232
194
  }
233
195
  render() {
234
- return sanitizeVegaComponent(h(Host, { class: {
235
- 'vega-combo-box-disabled': this.disabled,
236
- } },
237
- this.renderLabel(),
238
- this.renderDropdown(),
239
- this.renderHint()), this.host);
240
- }
241
- renderLabel() {
242
- return (h("vega-field-label", { onClick: this.onLabelClick, "is-field-required": this.required, disabled: this.disabled, label: this.label }));
243
- }
244
- renderHint() {
245
- return h("div", { class: "vega-combo-box-hint" }, this.hint);
246
- }
247
- renderDropdown() {
248
- return (h("vega-dropdown", Object.assign({ trigger: this.disabled ? 'none' : 'click', source: this.source, selectType: "multiple", selectedSourceKey: this.value, matchTargetWidth: true }, this.vegaDropdownProps, { ref: (ref) => {
249
- this.dropdownRef = ref;
250
- DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaCreate, async (payload) => {
251
- await this.onDropdownCreate(payload.detail);
252
- });
253
- DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaDropdownHide, async () => {
254
- await this.onDropdownHide();
255
- });
256
- DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaDropdownClick, async () => {
257
- await this.onItemClick();
258
- });
259
- } }), this.renderContainer()));
260
- }
261
- renderContainer() {
262
- return (h("div", { class: {
263
- 'vega-combo-box-container': true,
264
- [`vega-combo-box-size-${this.size}`]: true,
265
- } },
266
- this.renderSelectedContainer(),
267
- this.renderInputContainer()));
268
- }
269
- renderSelectedContainer() {
270
- const selected = this.value
271
- .map((key) => this.source.find((item) => item.key === key))
272
- .filter((item) => item);
273
- return (h(Fragment, null, selected.map((item) => {
274
- return this.renderSelectedChip(item);
275
- })));
276
- }
277
- renderSelectedChip(item) {
278
- return (h("vega-chip", {
279
- //TODO: the key property test will add in https://gethired.atlassian.net/browse/VD-883
280
- key: item.key, text: item.label, variant: "outlined", showCloseIcon: !this.disabled, size: "small", ref: (ref) => {
281
- DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaClose, async () => {
282
- await this.onChipClose(item.key);
283
- });
284
- } }));
285
- }
286
- renderInputContainer() {
287
- return (h("div", { class: "vega-combo-box-input-container" },
288
- h("input", { onInput: this.onInputChange, "aria-label": this.label || 'No label defined', placeholder: this.value.length === 0 ? this.placeholder : '', ref: (e) => (this.searchInputRef = e), onKeyDown: createEnterKeyHandlerToTriggerClick(), disabled: this.disabled })));
289
- }
290
- async onChipClose(key) {
291
- this.value = [...this.value.filter((value) => value !== key)];
292
- await this.dropdownRef.hide();
293
- }
294
- async clearInput() {
295
- this.searchInputRef.value = '';
296
- await this.dropdownRef.search('');
297
- }
298
- /**
299
- * The below method is e2e-test covered in
300
- * @see{module:vega-combo-box-keyboard-control-e2e}
301
- * @see{module:vega-combo-box-keyboard-control-for-selected-items-e2e}
302
- */
303
- /* istanbul ignore next */
304
- controlDirectionByKeyboard(code) {
305
- const activeElement = getActiveElement();
306
- if (activeElement && activeElement.classList.contains('vega-chip-close-icon')) {
307
- const currentChip = findParent(activeElement, 'vega-chip');
308
- if (code === 'ArrowLeft')
309
- this.focusItemByKeyboard(currentChip.previousSibling);
310
- if (code === 'ArrowRight')
311
- this.focusItemByKeyboard(currentChip.nextSibling);
312
- }
313
- else if (code === 'ArrowLeft' && this.searchInputRef.selectionStart === 0) {
314
- this.focusItemByKeyboard(this.host.shadowRoot.querySelector('vega-chip:last-of-type'));
315
- }
316
- }
317
- /**
318
- * The below method is e2e-test covered in
319
- * @see{module:vega-combo-box-keyboard-control-e2e}
320
- * @see{module:vega-combo-box-keyboard-control-for-selected-items-e2e}
321
- */
322
- /* istanbul ignore next */
323
- focusItemByKeyboard(item) {
324
- if (item) {
325
- if (item.classList.contains('vega-combo-box-input-container')) {
326
- item.querySelector('input').focus();
327
- }
328
- else {
329
- item.shadowRoot.querySelector('.vega-chip-close-icon').focus();
330
- }
331
- }
196
+ return sanitizeVegaComponent(this.renderer.render(), this.host);
332
197
  }
333
198
  static get is() { return "vega-combo-box"; }
334
199
  static get encapsulation() { return "shadow"; }
@@ -798,6 +663,24 @@ export class VegaComboBox {
798
663
  __decorate([
799
664
  InjectVegaGlobalSlimmer()
800
665
  ], VegaComboBox.prototype, "globalSlimmers", void 0);
666
+ __decorate([
667
+ InjectVegaSlimmer()
668
+ ], VegaComboBox.prototype, "itemsSlotController", void 0);
669
+ __decorate([
670
+ InjectVegaSlimmer()
671
+ ], VegaComboBox.prototype, "keyboardController", void 0);
672
+ __decorate([
673
+ InjectVegaSlimmer()
674
+ ], VegaComboBox.prototype, "valueController", void 0);
675
+ __decorate([
676
+ InjectVegaSlimmer()
677
+ ], VegaComboBox.prototype, "sourceController", void 0);
678
+ __decorate([
679
+ InjectVegaSlimmer()
680
+ ], VegaComboBox.prototype, "renderer", void 0);
681
+ __decorate([
682
+ InjectVegaSlimmer()
683
+ ], VegaComboBox.prototype, "dropdownRenderer", void 0);
801
684
  __decorate([
802
685
  InjectVegaSlimmer()
803
686
  ], VegaComboBox.prototype, "formFieldController", void 0);
@@ -816,23 +699,3 @@ __decorate([
816
699
  __decorate([
817
700
  InjectVegaSlimmer()
818
701
  ], VegaComboBox.prototype, "vegaComponentUsageRuntimeMetricsSlimmer", void 0);
819
- __decorate([
820
- InjectKeyboardManager((target) => [
821
- {
822
- keyCode: 'Backspace',
823
- activeElementInScope: [target.searchInputRef],
824
- eventName: 'keydown',
825
- callback: target.deleteLastSelectedItem,
826
- },
827
- {
828
- keyCode: 'ArrowLeft',
829
- activeElementInScope: [target.host],
830
- callback: /* istanbul ignore next */ () => target.controlDirectionByKeyboard('ArrowLeft'),
831
- },
832
- {
833
- keyCode: 'ArrowRight',
834
- activeElementInScope: [target.host],
835
- callback: /* istanbul ignore next */ () => target.controlDirectionByKeyboard('ArrowRight'),
836
- },
837
- ])
838
- ], VegaComboBox.prototype, "host", void 0);
@@ -6,6 +6,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  import { MapToComponentField } from 'vega-slimmer/core';
8
8
  import { ElementAppenderSlimmer } from '../../../../helpers/slimmers/element-appender-slimmer';
9
+ import { FeatureFlag } from '../../../../helpers/public-api';
9
10
  /** The date picker element appender controller slimmer */
10
11
  export class VegaDatePickerElementAppenderController extends ElementAppenderSlimmer {
11
12
  /**
@@ -19,6 +20,7 @@ export class VegaDatePickerElementAppenderController extends ElementAppenderSlim
19
20
  translocation: { X: 0, Y: 8 },
20
21
  placement: ['bottom', 'top'],
21
22
  alignment: ['start', 'end'],
23
+ isScreenPosition: FeatureFlag.isEnabled('VEGA_DATE_PICKER.ENABLE_CALCULATION_POSITION_BY_SCREEN'),
22
24
  }), () => 'none');
23
25
  }
24
26
  }
@@ -50,10 +50,12 @@ export class VegaDropdownScrollableController extends VegaSlimmer {
50
50
  scrollToTemplateIndex() {
51
51
  const scrolledKey = this.getSelectedKey();
52
52
  if (scrolledKey) {
53
- this.renderer
54
- .getDropdownContentBoxRef()
55
- .querySelector(`vega-dropdown-item[item-key='${scrolledKey}']`)
56
- .scrollIntoView();
53
+ const dropdownContent = this.renderer.getDropdownContentBoxRef();
54
+ const selectedItem = dropdownContent.querySelector(`vega-dropdown-item[item-key='${scrolledKey}']`);
55
+ const ul = dropdownContent.shadowRoot.querySelector('ul');
56
+ const ulRect = ul.getBoundingClientRect();
57
+ const itemRect = selectedItem.getBoundingClientRect();
58
+ ul.scrollTop = itemRect.top - ulRect.top;
57
59
  }
58
60
  }
59
61
  /**
@@ -19,10 +19,13 @@ export class VegaDropdownSearchRenderer extends VegaSlimmer {
19
19
  this.onInputSearch = (node) => {
20
20
  this.searchInputRef = node;
21
21
  DomNodeSubjectObserverFactory.addUniqueObserverToNode(node, VegaChange, (input) => {
22
- this.searchTriggerBy === 'input' && this.search(input.detail);
22
+ this.search(input.detail, 'input');
23
23
  });
24
24
  };
25
- this.search = (input) => {
25
+ this.search = (input, searchTrigger) => {
26
+ if (this.searchTriggerBy && this.searchTriggerBy !== searchTrigger) {
27
+ return;
28
+ }
26
29
  this.searchString = input;
27
30
  if (this.renderModeController.isSourceRenderMode()) {
28
31
  if (this.useDefaultFilter) {
@@ -31,15 +34,23 @@ export class VegaDropdownSearchRenderer extends VegaSlimmer {
31
34
  }
32
35
  else if (this.isDropdownShow) {
33
36
  this.searchEventEmitter.emit(input);
37
+ this.searchTriggerEventEmitter.emit({
38
+ trigger: searchTrigger,
39
+ value: input,
40
+ });
34
41
  }
35
42
  }
36
43
  else {
37
44
  this.searchEventEmitter.emit(input);
45
+ this.searchTriggerEventEmitter.emit({
46
+ trigger: searchTrigger,
47
+ value: input,
48
+ });
38
49
  }
39
50
  };
40
51
  }
41
52
  userSearch(input) {
42
- this.search(input);
53
+ this.search(input, 'input');
43
54
  }
44
55
  focus() {
45
56
  if (this.searchInputRef) {
@@ -56,8 +67,8 @@ export class VegaDropdownSearchRenderer extends VegaSlimmer {
56
67
  /* eslint-disable-next-line react/jsx-no-bind */
57
68
  onKeyDown:
58
69
  /* istanbul ignore next */ (e) => {
59
- if (this.searchTriggerBy === 'enter' && e.code === 'Enter') {
60
- this.search(this.searchInputRef.value);
70
+ if (e.code === 'Enter') {
71
+ this.search(this.searchInputRef.value, 'enter');
61
72
  }
62
73
  } }))));
63
74
  }
@@ -77,6 +88,9 @@ __decorate([
77
88
  __decorate([
78
89
  MapToComponentField()
79
90
  ], VegaDropdownSearchRenderer.prototype, "searchEventEmitter", void 0);
91
+ __decorate([
92
+ MapToComponentField()
93
+ ], VegaDropdownSearchRenderer.prototype, "searchTriggerEventEmitter", void 0);
80
94
  __decorate([
81
95
  MapToComponentField()
82
96
  ], VegaDropdownSearchRenderer.prototype, "isDropdownShow", void 0);