@globalpayments/vega 2.28.1 → 2.30.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 (431) hide show
  1. package/dist/cjs/{app-globals-512d84f4.js → app-globals-391d9a14.js} +9 -8
  2. package/dist/cjs/{array-6e559cde.js → array-5adef7b2.js} +13 -1
  3. package/dist/cjs/{child-nodes-event-prevent-slimmer-e383a914.js → child-nodes-event-prevent-slimmer-bed95a1b.js} +2 -2
  4. package/dist/cjs/{create-public-api-runtime-metrics-slimmer-7510221b.js → create-public-api-runtime-metrics-slimmer-5cc88124.js} +1 -0
  5. package/dist/cjs/{design-token-17b8e4d8.js → design-token-92906579.js} +1 -1
  6. package/dist/cjs/{element-appender-slimmer-bf5ecbd8.js → element-appender-slimmer-415d261a.js} +726 -537
  7. package/dist/cjs/{event-emit-slimmer-8f51adaa.js → event-emit-slimmer-b321e3f5.js} +1 -1
  8. package/dist/cjs/{feature-flag-controller-078da332.js → feature-flag-controller-f0619cc7.js} +5 -0
  9. package/dist/cjs/{form-field-controller-slimmer-223f8ee3.js → form-field-controller-slimmer-a4231b97.js} +6 -6
  10. package/dist/cjs/{icon-manager-5a2b67cf.js → icon-manager-3787af39.js} +1 -1
  11. package/dist/cjs/index-09acd3c9.js +8 -0
  12. package/dist/cjs/index-d6bf3435.js +15 -0
  13. package/dist/cjs/index.cjs.js +16 -15
  14. package/dist/cjs/{internal-icon-manager-858baff1.js → internal-icon-manager-2ff58050.js} +1 -1
  15. package/dist/cjs/{internal-vega-event-manager-627b1328.js → internal-vega-event-manager-9ffb3ed1.js} +13 -3
  16. package/dist/cjs/{internal-vega-z-index-manager-23051df4.js → internal-vega-z-index-manager-f03ddb37.js} +1 -1
  17. package/dist/cjs/{legend-input-processor-6ab8782a.js → legend-input-processor-d0b3f621.js} +1 -1
  18. package/dist/cjs/loader.cjs.js +15 -14
  19. package/dist/cjs/{min-number-rule-84f21ad9.js → min-number-rule-115c5a3b.js} +1 -1
  20. package/dist/cjs/{mutation-observer-filters-79b60f28.js → mutation-observer-filters-e5a7f85a.js} +1 -1
  21. package/dist/cjs/{number-459031f7.js → number-4816603d.js} +11 -0
  22. package/dist/cjs/{responsive-format-facade-7bc51a43.js → responsive-format-facade-ad2f67bf.js} +1 -1
  23. package/dist/cjs/{static-subject-title-3599787e.js → static-subject-title-471e1793.js} +2 -0
  24. package/dist/cjs/{style-formatter-a0829641.js → style-formatter-68f3a5f8.js} +1 -1
  25. package/dist/cjs/sub-state-notify-slimmer-c729699e.js +81 -0
  26. package/dist/cjs/{sub-state-observer-slimmer-36660092.js → sub-state-observer-slimmer-c1332b19.js} +3 -73
  27. package/dist/cjs/{translation-0dd74433.js → translation-42c1b2c8.js} +2 -2
  28. package/dist/cjs/{translation-slimmer-83577cfd.js → translation-slimmer-32aa13e7.js} +1 -1
  29. package/dist/cjs/{valid-credit-card-number-rule-8d8f04f1.js → valid-credit-card-number-rule-4a9ae5d9.js} +1 -1
  30. package/dist/cjs/vega-accordion.cjs.entry.js +10 -10
  31. package/dist/cjs/vega-app-header-button.cjs.entry.js +11 -11
  32. package/dist/cjs/vega-banner.cjs.entry.js +7 -7
  33. package/dist/cjs/vega-bar-chart.cjs.entry.js +4 -4
  34. package/dist/cjs/vega-box.cjs.entry.js +4 -4
  35. package/dist/cjs/vega-breadcrumb.cjs.entry.js +5 -5
  36. package/dist/cjs/vega-button-circle.cjs.entry.js +9 -9
  37. package/dist/cjs/vega-button-group_2.cjs.entry.js +11 -10
  38. package/dist/cjs/vega-button-link.cjs.entry.js +5 -5
  39. package/dist/cjs/vega-button.cjs.entry.js +8 -8
  40. package/dist/cjs/vega-calendar_3.cjs.entry.js +18 -17
  41. package/dist/cjs/vega-card.cjs.entry.js +3 -3
  42. package/dist/cjs/vega-carousel.cjs.entry.js +5 -5
  43. package/dist/cjs/vega-checkbox_2.cjs.entry.js +13 -13
  44. package/dist/cjs/vega-chip.cjs.entry.js +8 -8
  45. package/dist/cjs/vega-color-picker.cjs.entry.js +19 -13
  46. package/dist/cjs/vega-combo-box.cjs.entry.js +367 -183
  47. package/dist/cjs/vega-date-picker_2.cjs.entry.js +23 -20
  48. package/dist/cjs/{vega-dialog-controller-6a8525b3.js → vega-dialog-controller-dce8cdaf.js} +1 -1
  49. package/dist/cjs/vega-dialog_2.cjs.entry.js +9 -9
  50. package/dist/cjs/vega-divider.cjs.entry.js +3 -3
  51. package/dist/cjs/vega-dropdown_5.cjs.entry.js +47 -32
  52. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  53. package/dist/cjs/{vega-event-id-e40ac8f0.js → vega-event-id-419d36a8.js} +2 -0
  54. package/dist/cjs/vega-field-error.cjs.entry.js +1 -1
  55. package/dist/cjs/vega-field-label.cjs.entry.js +3 -3
  56. package/dist/cjs/vega-file-uploader.cjs.entry.js +14 -14
  57. package/dist/cjs/vega-flex.cjs.entry.js +5 -5
  58. package/dist/cjs/vega-font.cjs.entry.js +3 -3
  59. package/dist/cjs/vega-form.cjs.entry.js +13 -13
  60. package/dist/cjs/vega-grid.cjs.entry.js +3 -3
  61. package/dist/cjs/vega-icon.cjs.entry.js +5 -5
  62. package/dist/cjs/vega-image-uploader.cjs.entry.js +16 -16
  63. package/dist/cjs/vega-input-credit-card.cjs.entry.js +16 -16
  64. package/dist/cjs/vega-input-numeric.cjs.entry.js +410 -0
  65. package/dist/cjs/vega-input-phone-number.cjs.entry.js +15 -15
  66. package/dist/cjs/vega-input-range.cjs.entry.js +14 -14
  67. package/dist/cjs/vega-input-select.cjs.entry.js +30 -18
  68. package/dist/cjs/vega-input.cjs.entry.js +218 -25
  69. package/dist/cjs/{vega-internal-event-id-c98e9a7d.js → vega-internal-event-id-99cc22e1.js} +2 -0
  70. package/dist/cjs/vega-item-toggle.cjs.entry.js +3 -3
  71. package/dist/cjs/vega-left-nav_5.cjs.entry.js +13 -13
  72. package/dist/cjs/vega-line-chart.cjs.entry.js +4 -4
  73. package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +2 -2
  74. package/dist/cjs/vega-page-notification_2.cjs.entry.js +1 -1
  75. package/dist/cjs/vega-pagination.cjs.entry.js +12 -12
  76. package/dist/cjs/vega-pie-chart.cjs.entry.js +3 -3
  77. package/dist/cjs/vega-popover_2.cjs.entry.js +9 -9
  78. package/dist/cjs/vega-progress-tracker.cjs.entry.js +4 -4
  79. package/dist/cjs/vega-radio_2.cjs.entry.js +13 -13
  80. package/dist/cjs/vega-segment-control.cjs.entry.js +3 -3
  81. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +19 -18
  82. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +18 -17
  83. package/dist/cjs/vega-sidenav_3.cjs.entry.js +1006 -0
  84. package/dist/cjs/vega-signature-capture.cjs.entry.js +16 -16
  85. package/dist/cjs/{vega-skeleton-loader-controller-e886dc58.js → vega-skeleton-loader-controller-4a016b04.js} +4 -14
  86. package/dist/cjs/vega-stepper.cjs.entry.js +14 -14
  87. package/dist/cjs/vega-tab-group_2.cjs.entry.js +6 -6
  88. package/dist/cjs/vega-table_8.cjs.entry.js +29 -28
  89. package/dist/cjs/vega-textarea.cjs.entry.js +13 -13
  90. package/dist/cjs/vega-time-picker_2.cjs.entry.js +17 -17
  91. package/dist/cjs/vega-toggle-switch.cjs.entry.js +11 -11
  92. package/dist/cjs/vega-tooltip_2.cjs.entry.js +7 -7
  93. package/dist/cjs/vega.cjs.js +15 -14
  94. package/dist/cjs/{y-axis-input-processor-cc6e9196.js → y-axis-input-processor-a0df5e74.js} +2 -2
  95. package/dist/collection/collection-manifest.json +16 -0
  96. package/dist/collection/components/vega-color-picker/vega-color-picker.css +8 -8
  97. package/dist/collection/components/vega-color-picker/vega-color-picker.js +30 -3
  98. package/dist/collection/components/vega-combo-box/slimmers/controllers/vega-combo-box-keyboard-controller.js +114 -0
  99. package/dist/collection/components/vega-combo-box/slimmers/controllers/vega-combo-box-value-controller.js +23 -0
  100. package/dist/collection/components/vega-combo-box/slimmers/renderers/vega-combo-box-dropdown-renderer.js +147 -0
  101. package/dist/collection/components/vega-combo-box/slimmers/renderers/vega-combo-box-renderer.js +50 -0
  102. package/dist/collection/components/vega-combo-box/vega-combo-box.js +30 -177
  103. package/dist/collection/components/vega-date-picker/slimmers/controllers/vega-date-picker-element-appender-controller.js +2 -0
  104. package/dist/collection/components/vega-dropdown/slimmers/renderers/vega-dropdown-search-renderer.js +19 -5
  105. package/dist/collection/components/vega-dropdown/vega-dropdown.js +55 -9
  106. package/dist/collection/components/vega-input/slimmers/controllers/vega-input-compact-width-controller.js +118 -0
  107. package/dist/collection/components/vega-input/slimmers/controllers/vega-input-state-controller.js +46 -0
  108. package/dist/collection/components/vega-input/vega-input.css +104 -0
  109. package/dist/collection/components/vega-input/vega-input.js +44 -2
  110. package/dist/collection/components/vega-input-numeric/slimmers/controllers/vega-input-numeric-keyboard-controller.js +79 -0
  111. package/dist/collection/components/vega-input-numeric/slimmers/controllers/vega-input-numeric-value-controller.js +45 -0
  112. package/dist/collection/components/vega-input-numeric/slimmers/renderers/vega-input-numeric-renderer.js +72 -0
  113. package/dist/collection/components/vega-input-numeric/vega-input-numeric.css +9 -0
  114. package/dist/collection/components/vega-input-numeric/vega-input-numeric.js +606 -0
  115. package/dist/collection/components/vega-input-select/slimmers/controllers/vega-input-select-dropdown-controller.js +7 -1
  116. package/dist/collection/components/vega-input-select/vega-input-select.js +55 -2
  117. package/dist/collection/components/vega-sidenav/icons/chevron-right.js +4 -0
  118. package/dist/collection/components/vega-sidenav/icons/toggle-button-bg.js +3 -0
  119. package/dist/collection/components/vega-sidenav/slimmers/controllers/vega-sidenav-backdrop-controller.js +101 -0
  120. package/dist/collection/components/vega-sidenav/slimmers/controllers/vega-sidenav-open-status-controller.js +316 -0
  121. package/dist/collection/components/vega-sidenav/slimmers/renderers/vega-sidenav-collapse-button-renderer.js +79 -0
  122. package/dist/collection/components/vega-sidenav/test/test.helper.js +68 -0
  123. package/dist/collection/components/vega-sidenav/utils/index.js +9 -0
  124. package/dist/collection/components/vega-sidenav/vega-sidenav-group/slimmers/controllers/vega-sidenav-group-sub-state-controller.js +28 -0
  125. package/dist/collection/components/vega-sidenav/vega-sidenav-group/vega-sidenav-group.css +172 -0
  126. package/dist/collection/components/vega-sidenav/vega-sidenav-group/vega-sidenav-group.js +152 -0
  127. package/dist/collection/components/vega-sidenav/vega-sidenav-link/slimmers/controllers/vega-sidenav-link-sub-state.controller.js +28 -0
  128. package/dist/collection/components/vega-sidenav/vega-sidenav-link/vega-sidenav-link.css +136 -0
  129. package/dist/collection/components/vega-sidenav/vega-sidenav-link/vega-sidenav-link.js +264 -0
  130. package/dist/collection/components/vega-sidenav/vega-sidenav.css +300 -0
  131. package/dist/collection/components/vega-sidenav/vega-sidenav.js +422 -0
  132. package/dist/collection/constants/ui.js +1 -0
  133. package/dist/collection/helpers/event-manager/event-id/component-event-id-map.js +13 -3
  134. package/dist/collection/helpers/event-manager/event-id/vega-event-id.js +1 -0
  135. package/dist/collection/helpers/event-manager/event-id/vega-internal-event-id.js +1 -0
  136. package/dist/collection/helpers/event-manager/test/vega-event-manager.test.js +2 -1
  137. package/dist/collection/helpers/feature-control/feature-flags-map.js +5 -0
  138. package/dist/collection/helpers/slimmers/element-appender-container/body-positioned-wrapper/body-positioned-wrapper.abstract.js +13 -0
  139. package/dist/collection/helpers/slimmers/element-appender-container/{position-relative-to-wrapper.js → body-positioned-wrapper/position-relative-to-wrapper.js} +23 -21
  140. package/dist/collection/helpers/slimmers/element-appender-container/{vega-modal-wrapper.js → body-positioned-wrapper/vega-modal-wrapper.js} +18 -15
  141. package/dist/collection/helpers/slimmers/element-appender-container/{vega-popover-wrapper.js → body-positioned-wrapper/vega-popover-wrapper.js} +20 -19
  142. package/dist/collection/helpers/slimmers/element-appender-container/default-wrapper.js +19 -19
  143. package/dist/collection/helpers/slimmers/element-appender-container/element-appender-container-controller.js +3 -3
  144. package/dist/collection/helpers/slimmers/element-appender-slimmer.js +10 -0
  145. package/dist/collection/helpers/slimmers/position-calculation/base-position-calculation-strategy.js +345 -0
  146. package/dist/collection/helpers/slimmers/position-calculation/body-position-calculation-strategy.js +66 -0
  147. package/dist/collection/helpers/slimmers/position-calculation/position-calculation-controller.js +121 -0
  148. package/dist/collection/helpers/slimmers/position-calculation/screen-position-calculation-strategy.js +59 -0
  149. package/dist/collection/{utils/test/position.test.js → helpers/slimmers/position-calculation/test/body-position-calculation-strategy.test.js} +135 -45
  150. package/dist/collection/helpers/slimmers/position-calculation/test/screen-position-calculation-strategy.test.js +113 -0
  151. package/dist/collection/helpers/slimmers/sub-state/sub-state-notify-slimmer.js +8 -5
  152. package/dist/collection/helpers/slimmers/sub-state/test/sub-state-observer-slimmer.test.js +24 -0
  153. package/dist/collection/helpers/ui/element-appender.js +21 -70
  154. package/dist/collection/helpers/ui/test/element-appender.test.js +53 -0
  155. package/dist/collection/utils/number.js +10 -0
  156. package/dist/collection/utils/pagination.js +2 -2
  157. package/dist/collection/utils/test/number.test.js +5 -1
  158. package/dist/collection/value-model-adapters/angular-ng-model-accessor-adapter.js +1 -0
  159. package/dist/collection/value-model-adapters/vue-component-v-model-adaptor.js +1 -0
  160. package/dist/esm/{app-globals-41797af8.js → app-globals-00a57fbe.js} +8 -7
  161. package/dist/esm/{array-506b88b9.js → array-b668466e.js} +13 -2
  162. package/dist/esm/{child-nodes-event-prevent-slimmer-345c46c5.js → child-nodes-event-prevent-slimmer-db288af1.js} +2 -2
  163. package/dist/esm/{create-public-api-runtime-metrics-slimmer-928ad7f0.js → create-public-api-runtime-metrics-slimmer-cc1164bb.js} +1 -1
  164. package/dist/esm/{design-token-3671ce60.js → design-token-2a527af3.js} +1 -1
  165. package/dist/esm/{element-appender-slimmer-1172e2ea.js → element-appender-slimmer-48d826b2.js} +720 -531
  166. package/dist/esm/{event-emit-slimmer-eee9fd41.js → event-emit-slimmer-44cb4573.js} +1 -1
  167. package/dist/esm/{feature-flag-controller-10780eeb.js → feature-flag-controller-297c4b9b.js} +5 -0
  168. package/dist/esm/{form-field-controller-slimmer-edbaaf7c.js → form-field-controller-slimmer-a64c679c.js} +6 -6
  169. package/dist/esm/{icon-manager-0f030f8a.js → icon-manager-1ee2c968.js} +1 -1
  170. package/dist/esm/index-187f71d1.js +8 -0
  171. package/dist/esm/index-fda6b5ee.js +13 -0
  172. package/dist/esm/index.js +15 -14
  173. package/dist/esm/{internal-icon-manager-9671142a.js → internal-icon-manager-7004584d.js} +1 -1
  174. package/dist/esm/{internal-vega-event-manager-722461c1.js → internal-vega-event-manager-8154661e.js} +13 -3
  175. package/dist/esm/{internal-vega-z-index-manager-0553458e.js → internal-vega-z-index-manager-7d2b54c3.js} +1 -1
  176. package/dist/esm/{legend-input-processor-abb0b4f4.js → legend-input-processor-0cef3ebe.js} +1 -1
  177. package/dist/esm/loader.js +15 -14
  178. package/dist/esm/{min-number-rule-8f643dbd.js → min-number-rule-31d48b22.js} +1 -1
  179. package/dist/esm/{mutation-observer-filters-9086b5cc.js → mutation-observer-filters-1035b064.js} +1 -1
  180. package/dist/esm/{number-e2519d1c.js → number-4398f2e1.js} +11 -1
  181. package/dist/esm/{responsive-format-facade-5a1329a7.js → responsive-format-facade-3dc84e41.js} +1 -1
  182. package/dist/esm/{static-subject-title-6987a80b.js → static-subject-title-500cf2a3.js} +2 -1
  183. package/dist/esm/{style-formatter-2fa5ce09.js → style-formatter-ccb2da0d.js} +1 -1
  184. package/dist/esm/sub-state-notify-slimmer-be5bcc4e.js +79 -0
  185. package/dist/esm/{sub-state-observer-slimmer-8eff5559.js → sub-state-observer-slimmer-cd7adab1.js} +5 -74
  186. package/dist/esm/{translation-0fa7cf77.js → translation-4eb3cf85.js} +2 -2
  187. package/dist/esm/{translation-slimmer-79f9a9c9.js → translation-slimmer-9d07a0ff.js} +1 -1
  188. package/dist/esm/{valid-credit-card-number-rule-232f2986.js → valid-credit-card-number-rule-2aef3ad5.js} +1 -1
  189. package/dist/esm/vega-accordion.entry.js +10 -10
  190. package/dist/esm/vega-app-header-button.entry.js +11 -11
  191. package/dist/esm/vega-banner.entry.js +7 -7
  192. package/dist/esm/vega-bar-chart.entry.js +4 -4
  193. package/dist/esm/vega-box.entry.js +4 -4
  194. package/dist/esm/vega-breadcrumb.entry.js +5 -5
  195. package/dist/esm/vega-button-circle.entry.js +9 -9
  196. package/dist/esm/vega-button-group_2.entry.js +8 -7
  197. package/dist/esm/vega-button-link.entry.js +5 -5
  198. package/dist/esm/vega-button.entry.js +8 -8
  199. package/dist/esm/vega-calendar_3.entry.js +16 -15
  200. package/dist/esm/vega-card.entry.js +3 -3
  201. package/dist/esm/vega-carousel.entry.js +5 -5
  202. package/dist/esm/vega-checkbox_2.entry.js +13 -13
  203. package/dist/esm/vega-chip.entry.js +8 -8
  204. package/dist/esm/vega-color-picker.entry.js +20 -14
  205. package/dist/esm/vega-combo-box.entry.js +370 -186
  206. package/dist/esm/vega-date-picker_2.entry.js +23 -20
  207. package/dist/esm/{vega-dialog-controller-3b905672.js → vega-dialog-controller-8b343a17.js} +1 -1
  208. package/dist/esm/vega-dialog_2.entry.js +9 -9
  209. package/dist/esm/vega-divider.entry.js +3 -3
  210. package/dist/esm/vega-dropdown_5.entry.js +43 -28
  211. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  212. package/dist/esm/{vega-event-id-7465a011.js → vega-event-id-b1655cbc.js} +2 -1
  213. package/dist/esm/vega-field-error.entry.js +1 -1
  214. package/dist/esm/vega-field-label.entry.js +3 -3
  215. package/dist/esm/vega-file-uploader.entry.js +14 -14
  216. package/dist/esm/vega-flex.entry.js +5 -5
  217. package/dist/esm/vega-font.entry.js +3 -3
  218. package/dist/esm/vega-form.entry.js +13 -13
  219. package/dist/esm/vega-grid.entry.js +3 -3
  220. package/dist/esm/vega-icon.entry.js +5 -5
  221. package/dist/esm/vega-image-uploader.entry.js +16 -16
  222. package/dist/esm/vega-input-credit-card.entry.js +16 -16
  223. package/dist/esm/vega-input-numeric.entry.js +406 -0
  224. package/dist/esm/vega-input-phone-number.entry.js +15 -15
  225. package/dist/esm/vega-input-range.entry.js +14 -14
  226. package/dist/esm/vega-input-select.entry.js +30 -18
  227. package/dist/esm/vega-input.entry.js +219 -26
  228. package/dist/esm/{vega-internal-event-id-7e05cf4a.js → vega-internal-event-id-c8507b85.js} +2 -1
  229. package/dist/esm/vega-item-toggle.entry.js +3 -3
  230. package/dist/esm/vega-left-nav_5.entry.js +13 -13
  231. package/dist/esm/vega-line-chart.entry.js +4 -4
  232. package/dist/esm/vega-loader-wrapper_2.entry.js +2 -2
  233. package/dist/esm/vega-page-notification_2.entry.js +1 -1
  234. package/dist/esm/vega-pagination.entry.js +12 -12
  235. package/dist/esm/vega-pie-chart.entry.js +3 -3
  236. package/dist/esm/vega-popover_2.entry.js +9 -9
  237. package/dist/esm/vega-progress-tracker.entry.js +4 -4
  238. package/dist/esm/vega-radio_2.entry.js +13 -13
  239. package/dist/esm/vega-segment-control.entry.js +3 -3
  240. package/dist/esm/vega-selection-chip_2.entry.js +16 -15
  241. package/dist/esm/vega-selection-tile_2.entry.js +15 -14
  242. package/dist/esm/vega-sidenav_3.entry.js +1000 -0
  243. package/dist/esm/vega-signature-capture.entry.js +16 -16
  244. package/dist/esm/{vega-skeleton-loader-controller-6fb25f3b.js → vega-skeleton-loader-controller-cec6753f.js} +4 -14
  245. package/dist/esm/vega-stepper.entry.js +14 -14
  246. package/dist/esm/vega-tab-group_2.entry.js +6 -6
  247. package/dist/esm/vega-table_8.entry.js +19 -18
  248. package/dist/esm/vega-textarea.entry.js +13 -13
  249. package/dist/esm/vega-time-picker_2.entry.js +17 -17
  250. package/dist/esm/vega-toggle-switch.entry.js +11 -11
  251. package/dist/esm/vega-tooltip_2.entry.js +7 -7
  252. package/dist/esm/vega.js +15 -14
  253. package/dist/esm/{y-axis-input-processor-08c89594.js → y-axis-input-processor-a4d6aa50.js} +2 -2
  254. package/dist/types/components/vega-color-picker/vega-color-picker.d.ts +6 -0
  255. package/dist/types/components/vega-combo-box/slimmers/controllers/vega-combo-box-keyboard-controller.d.ts +29 -0
  256. package/dist/types/components/vega-combo-box/slimmers/controllers/vega-combo-box-value-controller.d.ts +14 -0
  257. package/dist/types/components/vega-combo-box/slimmers/renderers/vega-combo-box-dropdown-renderer.d.ts +41 -0
  258. package/dist/types/components/vega-combo-box/slimmers/renderers/vega-combo-box-renderer.d.ts +17 -0
  259. package/dist/types/components/vega-combo-box/vega-combo-box.d.ts +8 -48
  260. package/dist/types/components/vega-dropdown/slimmers/renderers/vega-dropdown-search-renderer.d.ts +1 -0
  261. package/dist/types/components/vega-dropdown/types.d.ts +5 -0
  262. package/dist/types/components/vega-dropdown/vega-dropdown.d.ts +21 -1
  263. package/dist/types/components/vega-input/slimmers/controllers/vega-input-compact-width-controller.d.ts +47 -0
  264. package/dist/types/components/vega-input/slimmers/controllers/vega-input-state-controller.d.ts +13 -0
  265. package/dist/types/components/vega-input/vega-input.d.ts +18 -6
  266. package/dist/types/components/vega-input-numeric/slimmers/controllers/vega-input-numeric-keyboard-controller.d.ts +18 -0
  267. package/dist/types/components/vega-input-numeric/slimmers/controllers/vega-input-numeric-value-controller.d.ts +20 -0
  268. package/dist/types/components/vega-input-numeric/slimmers/renderers/vega-input-numeric-renderer.d.ts +19 -0
  269. package/dist/types/components/vega-input-numeric/vega-input-numeric.d.ts +169 -0
  270. package/dist/types/components/vega-input-select/slimmers/controllers/vega-input-select-dropdown-controller.d.ts +1 -0
  271. package/dist/types/components/vega-input-select/vega-input-select.d.ts +20 -0
  272. package/dist/types/components/vega-sidenav/icons/chevron-right.d.ts +3 -0
  273. package/dist/types/components/vega-sidenav/icons/toggle-button-bg.d.ts +3 -0
  274. package/dist/types/components/vega-sidenav/slimmers/controllers/vega-sidenav-backdrop-controller.d.ts +42 -0
  275. package/dist/types/components/vega-sidenav/slimmers/controllers/vega-sidenav-open-status-controller.d.ts +94 -0
  276. package/dist/types/components/vega-sidenav/slimmers/renderers/vega-sidenav-collapse-button-renderer.d.ts +31 -0
  277. package/dist/types/components/vega-sidenav/test/test.helper.d.ts +6 -0
  278. package/dist/types/components/vega-sidenav/types.d.ts +24 -0
  279. package/dist/types/components/vega-sidenav/utils/index.d.ts +7 -0
  280. package/dist/types/components/vega-sidenav/vega-sidenav-group/slimmers/controllers/vega-sidenav-group-sub-state-controller.d.ts +10 -0
  281. package/dist/types/components/vega-sidenav/vega-sidenav-group/vega-sidenav-group.d.ts +47 -0
  282. package/dist/types/components/vega-sidenav/vega-sidenav-link/slimmers/controllers/vega-sidenav-link-sub-state.controller.d.ts +10 -0
  283. package/dist/types/components/vega-sidenav/vega-sidenav-link/vega-sidenav-link.d.ts +80 -0
  284. package/dist/types/components/vega-sidenav/vega-sidenav.d.ts +137 -0
  285. package/dist/types/components.d.ts +407 -1
  286. package/dist/types/constants/ui.d.ts +1 -1
  287. package/dist/types/helpers/event-manager/event-id/vega-event-id.d.ts +1 -0
  288. package/dist/types/helpers/event-manager/event-id/vega-internal-event-id.d.ts +1 -0
  289. package/dist/types/helpers/feature-control/feature-flag.d.ts +2 -1
  290. package/dist/types/helpers/slimmers/element-appender-container/body-positioned-wrapper/body-positioned-wrapper.abstract.d.ts +15 -0
  291. 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
  292. package/dist/types/helpers/slimmers/element-appender-container/{vega-modal-wrapper.d.ts → body-positioned-wrapper/vega-modal-wrapper.d.ts} +5 -5
  293. package/dist/types/helpers/slimmers/element-appender-container/{vega-popover-wrapper.d.ts → body-positioned-wrapper/vega-popover-wrapper.d.ts} +5 -5
  294. package/dist/types/helpers/slimmers/element-appender-container/default-wrapper.d.ts +2 -2
  295. package/dist/types/helpers/slimmers/element-appender-container/element-appender-container-controller.d.ts +3 -3
  296. package/dist/types/helpers/slimmers/element-appender-slimmer.d.ts +1 -0
  297. package/dist/types/helpers/slimmers/position-calculation/base-position-calculation-strategy.d.ts +138 -0
  298. package/dist/types/helpers/slimmers/position-calculation/body-position-calculation-strategy.d.ts +34 -0
  299. package/dist/types/helpers/slimmers/position-calculation/position-calculation-controller.d.ts +54 -0
  300. package/dist/types/helpers/slimmers/position-calculation/screen-position-calculation-strategy.d.ts +34 -0
  301. package/dist/types/helpers/slimmers/position-calculation/test/body-position-calculation-strategy.test.d.ts +15 -0
  302. package/dist/types/helpers/slimmers/sub-state/sub-state-notify-slimmer.d.ts +1 -1
  303. package/dist/types/helpers/ui/element-appender.d.ts +9 -24
  304. package/dist/types/types/components.type.d.ts +7 -0
  305. package/dist/types/utils/number.d.ts +7 -0
  306. package/dist/vega/index.esm.js +1 -1
  307. package/dist/vega/{p-d4c85e4e.entry.js → p-00c5aee5.entry.js} +1 -1
  308. package/dist/vega/{p-573948c2.js → p-04215e74.js} +1 -1
  309. package/dist/vega/p-042b4b3f.entry.js +1 -0
  310. package/dist/vega/{p-fd929ab5.entry.js → p-07a8cf89.entry.js} +1 -1
  311. package/dist/vega/p-0abe1ade.entry.js +1 -0
  312. package/dist/vega/p-0f0e4198.entry.js +1 -0
  313. package/dist/vega/{p-b86e8c8b.entry.js → p-11786565.entry.js} +1 -1
  314. package/dist/vega/{p-063c3ba6.entry.js → p-14f5a9ad.entry.js} +1 -1
  315. package/dist/vega/p-15023bad.entry.js +1 -0
  316. package/dist/vega/p-1be2fd46.entry.js +1 -0
  317. package/dist/vega/p-1bfcb6b7.entry.js +1 -0
  318. package/dist/vega/p-20d9c07c.entry.js +1 -0
  319. package/dist/vega/p-2306c736.js +1 -0
  320. package/dist/vega/p-262ec334.js +1 -0
  321. package/dist/vega/{p-a5f80d35.js → p-2d5a9f66.js} +1 -1
  322. package/dist/vega/{p-83af8ed7.js → p-302e7589.js} +1 -1
  323. package/dist/vega/p-32f651f7.js +1 -0
  324. package/dist/vega/p-34710a3c.entry.js +1 -0
  325. package/dist/vega/p-3903ce7a.entry.js +1 -0
  326. package/dist/vega/{p-b2053fa8.entry.js → p-4022f395.entry.js} +1 -1
  327. package/dist/vega/{p-51cd2a39.entry.js → p-438caeb3.entry.js} +1 -1
  328. package/dist/vega/{p-1ea57951.js → p-4d25df7d.js} +1 -1
  329. package/dist/vega/{p-319efe6c.js → p-4ffd7493.js} +1 -1
  330. package/dist/vega/p-5440344e.js +1 -0
  331. package/dist/vega/{p-fc746bae.entry.js → p-57d9bde6.entry.js} +1 -1
  332. package/dist/vega/p-5f377954.js +1 -1
  333. package/dist/vega/p-5fbac513.js +1 -0
  334. package/dist/vega/{p-d686dd96.entry.js → p-623fe226.entry.js} +1 -1
  335. package/dist/vega/{p-be26b334.entry.js → p-63bee4f1.entry.js} +1 -1
  336. package/dist/vega/{p-40f6add9.entry.js → p-64ff6318.entry.js} +1 -1
  337. package/dist/vega/{p-9e6934fb.js → p-68ad953c.js} +1 -1
  338. package/dist/vega/{p-7a1df282.entry.js → p-69e63d21.entry.js} +1 -1
  339. package/dist/vega/{p-ac0ab38b.js → p-6a8f1251.js} +1 -1
  340. package/dist/vega/{p-9a4ffc2c.entry.js → p-72ecc510.entry.js} +1 -1
  341. package/dist/vega/{p-a2169994.entry.js → p-7372cd79.entry.js} +1 -1
  342. package/dist/vega/{p-7b40ac07.js → p-74958b1a.js} +1 -1
  343. package/dist/vega/{p-3fc59fd3.entry.js → p-760283d1.entry.js} +1 -1
  344. package/dist/vega/{p-152393dd.js → p-781fd6e0.js} +1 -1
  345. package/dist/vega/p-79019d08.js +1 -0
  346. package/dist/vega/p-7941701a.entry.js +1 -0
  347. package/dist/vega/{p-8fd6775a.entry.js → p-799cb0a4.entry.js} +1 -1
  348. package/dist/vega/{p-34545d2d.entry.js → p-7a6a0740.entry.js} +1 -1
  349. package/dist/vega/{p-a59c221b.entry.js → p-7df3aa44.entry.js} +1 -1
  350. package/dist/vega/p-80785fcf.entry.js +1 -0
  351. package/dist/vega/{p-8c72aa56.entry.js → p-83ef4c13.entry.js} +1 -1
  352. package/dist/vega/{p-1e33c6e3.entry.js → p-87640a4d.entry.js} +1 -1
  353. package/dist/vega/{p-1bbc62ef.entry.js → p-87cd0d6a.entry.js} +1 -1
  354. package/dist/vega/{p-22a85055.entry.js → p-8cfe4027.entry.js} +1 -1
  355. package/dist/vega/{p-056f448c.entry.js → p-9281cdb2.entry.js} +1 -1
  356. package/dist/vega/p-95b25b97.entry.js +1 -0
  357. package/dist/vega/p-9b45e5dc.entry.js +1 -0
  358. package/dist/vega/{p-4bc042ec.entry.js → p-9b9c0afb.entry.js} +1 -1
  359. package/dist/vega/{p-128fbe13.entry.js → p-9ba68531.entry.js} +2 -2
  360. package/dist/vega/{p-be784f53.js → p-9f3b1d77.js} +1 -1
  361. package/dist/vega/p-a66ea015.entry.js +1 -0
  362. package/dist/vega/p-a67748c6.entry.js +1 -0
  363. package/dist/vega/{p-33366630.entry.js → p-a6e1d9bc.entry.js} +1 -1
  364. package/dist/vega/{p-38d81bde.js → p-a9354a5c.js} +1 -1
  365. package/dist/vega/p-ab983e7d.js +1 -0
  366. package/dist/vega/p-ae3fd67e.js +1 -0
  367. package/dist/vega/p-b0502d01.js +1 -0
  368. package/dist/vega/{p-8b0533c4.entry.js → p-b1a249ef.entry.js} +1 -1
  369. package/dist/vega/{p-bccacf42.js → p-b347f967.js} +1 -1
  370. package/dist/vega/p-b3e754da.entry.js +1 -0
  371. package/dist/vega/{p-ddc70a7b.js → p-b62f0454.js} +1 -1
  372. package/dist/vega/{p-26d0d411.entry.js → p-b6e49ee9.entry.js} +1 -1
  373. package/dist/vega/{p-a901494d.entry.js → p-bb6f8b70.entry.js} +1 -1
  374. package/dist/vega/{p-456416ea.js → p-bdb94242.js} +1 -1
  375. package/dist/vega/{p-5d231a82.entry.js → p-be6041fc.entry.js} +1 -1
  376. package/dist/vega/{p-0dd750b0.entry.js → p-bf38199b.entry.js} +1 -1
  377. package/dist/vega/p-bf3fbb9b.js +1 -0
  378. package/dist/vega/p-c06e7880.js +1 -0
  379. package/dist/vega/{p-51622ace.entry.js → p-c3c2890e.entry.js} +1 -1
  380. package/dist/vega/{p-6874d6a1.entry.js → p-c6ed1982.entry.js} +1 -1
  381. package/dist/vega/{p-33596687.js → p-c7d70786.js} +1 -1
  382. package/dist/vega/p-cdebfee7.entry.js +1 -0
  383. package/dist/vega/p-cea70476.entry.js +1 -0
  384. package/dist/vega/{p-d550fc66.entry.js → p-d3c07efa.entry.js} +1 -1
  385. package/dist/vega/p-d71f968e.entry.js +1 -0
  386. package/dist/vega/{p-365c340d.entry.js → p-e165c9f1.entry.js} +1 -1
  387. package/dist/vega/{p-5dc98104.js → p-e5d7b4b8.js} +1 -1
  388. package/dist/vega/p-e6f91767.entry.js +1 -0
  389. package/dist/vega/p-e731976a.js +1 -0
  390. package/dist/vega/p-ed237efc.js +1 -0
  391. package/dist/vega/{p-cbeda6ca.entry.js → p-f2685ec5.entry.js} +1 -1
  392. package/dist/vega/{p-115e5967.js → p-f2851f16.js} +1 -1
  393. package/dist/vega/p-f5b0ce61.js +1 -0
  394. package/dist/vega/{p-a57eed48.entry.js → p-f64fb740.entry.js} +1 -1
  395. package/dist/vega/{p-80c0f98c.entry.js → p-fb3233db.entry.js} +1 -1
  396. package/dist/vega/{p-8f60c3ee.entry.js → p-ff22a95f.entry.js} +1 -1
  397. package/dist/vega/vega.esm.js +1 -1
  398. package/package.json +7 -3
  399. package/dist/collection/utils/position.js +0 -373
  400. package/dist/types/utils/position.d.ts +0 -17
  401. package/dist/vega/p-0120ce7a.js +0 -1
  402. package/dist/vega/p-0395e791.entry.js +0 -1
  403. package/dist/vega/p-048a97d1.entry.js +0 -1
  404. package/dist/vega/p-1f38eef6.entry.js +0 -1
  405. package/dist/vega/p-1fc5373a.entry.js +0 -1
  406. package/dist/vega/p-344ee7cb.js +0 -1
  407. package/dist/vega/p-3f5e44c1.js +0 -1
  408. package/dist/vega/p-41784db1.js +0 -1
  409. package/dist/vega/p-6168c1e7.js +0 -1
  410. package/dist/vega/p-64e8bb64.js +0 -1
  411. package/dist/vega/p-657df167.entry.js +0 -1
  412. package/dist/vega/p-68055c2d.entry.js +0 -1
  413. package/dist/vega/p-6d015656.entry.js +0 -1
  414. package/dist/vega/p-6e3cc7f0.entry.js +0 -1
  415. package/dist/vega/p-880f91fb.js +0 -1
  416. package/dist/vega/p-8843226a.entry.js +0 -1
  417. package/dist/vega/p-a10074a8.entry.js +0 -1
  418. package/dist/vega/p-a454acc4.entry.js +0 -1
  419. package/dist/vega/p-a8b1f19c.entry.js +0 -1
  420. package/dist/vega/p-acf8b473.js +0 -1
  421. package/dist/vega/p-d0a83562.entry.js +0 -1
  422. package/dist/vega/p-d4fb2264.entry.js +0 -1
  423. package/dist/vega/p-da86ba01.js +0 -1
  424. package/dist/vega/p-ead1a647.js +0 -1
  425. package/dist/vega/p-ead9a2b9.entry.js +0 -1
  426. package/dist/vega/p-ee68920f.js +0 -1
  427. package/dist/vega/p-f0ad06bd.entry.js +0 -1
  428. package/dist/vega/p-f2019f70.entry.js +0 -1
  429. package/dist/vega/p-f948debe.entry.js +0 -1
  430. package/dist/vega/p-fb6c90d6.js +0 -1
  431. /package/dist/types/{utils/test/position.test.d.ts → helpers/slimmers/position-calculation/test/screen-position-calculation-strategy.test.d.ts} +0 -0
@@ -1,39 +1,39 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host, F as Fragment, g as getElement } from './index-187f71d1.js';
1
+ import { h, F as Fragment, H as Host, r as registerInstance, c as createEvent, g as getElement } from './index-187f71d1.js';
2
2
  import { R as RequiredFieldRule } from './required-field-rule-5da360cc.js';
3
- import { s as sanitizeVegaComponent, g as getActiveElement } from './component-cae24190.js';
3
+ import { g as getActiveElement, s as sanitizeVegaComponent } from './component-cae24190.js';
4
4
  import { N as isArrayOfType, O as isDropdownSourceItemType } from './type-guard-63caf78b.js';
5
- import { f as findParent } from './ui-0132dbb5.js';
6
- import { c as createEnterKeyHandlerToTriggerClick } from './accessibility-e5fd0fab.js';
7
- import { I as InjectKeyboardManager } from './inject-keyboard-manager-8a82e8c9.js';
8
- import { I as InjectVegaSlimmer } from './global-slimmer-registry-17c4efd4.js';
5
+ import { c as MapToComponentField, V as VegaSlimmer, I as InjectVegaSlimmer } from './global-slimmer-registry-17c4efd4.js';
9
6
  import { V as VegaComponentUsageRuntimeMetricsSlimmer, I as InjectVegaGlobalSlimmer } from './component-usage-runtime-metrics-b3f6ac79.js';
10
- import { F as FormFieldControllerSlimmer } from './form-field-controller-slimmer-edbaaf7c.js';
11
- import { C as ChildNodesEventPreventSlimmer } from './child-nodes-event-prevent-slimmer-345c46c5.js';
12
- import { c as createEventEmitSlimmer } from './event-emit-slimmer-eee9fd41.js';
13
- import { D as DomNodeSubjectObserverFactory } from './dom-node-subject-observer-factory-9461cd67.js';
14
- import { e as VegaChange, j as VegaCreate, k as VegaSearch, m as VegaDropdownHide, b as VegaDropdownClick, c as VegaClose } from './vega-event-id-7465a011.js';
15
- import { b as FORM_ELEMENT_VALUE_CHANGE } from './static-subject-title-6987a80b.js';
7
+ import { F as FormFieldControllerSlimmer } from './form-field-controller-slimmer-a64c679c.js';
8
+ import { C as ChildNodesEventPreventSlimmer } from './child-nodes-event-prevent-slimmer-db288af1.js';
9
+ import { c as createEventEmitSlimmer } from './event-emit-slimmer-44cb4573.js';
10
+ import { j as VegaCreate, m as VegaDropdownHide, b as VegaDropdownClick, c as VegaClose, e as VegaChange, k as VegaSearch } from './vega-event-id-b1655cbc.js';
11
+ import { b as FORM_ELEMENT_VALUE_CHANGE } from './static-subject-title-500cf2a3.js';
16
12
  import { C as ChangeManager } from './change-manager-6a7eb88c.js';
13
+ import { c as createEnterKeyHandlerToTriggerClick } from './accessibility-e5fd0fab.js';
14
+ import { D as DomNodeSubjectObserverFactory } from './dom-node-subject-observer-factory-9461cd67.js';
15
+ import { K as KeyboardManagerSlimmer } from './keyboard-manager-slimmer-8723f20f.js';
16
+ import { f as findParent } from './ui-0132dbb5.js';
17
17
  import './breakpoints-36a3ed69.js';
18
18
  import './ui-8424715a.js';
19
19
  import './regex-dfe11abf.js';
20
20
  import './typography-a8fc4764.js';
21
- import './keyboard-manager-d1f9ddc1.js';
22
21
  import './string-be824360.js';
23
22
  import './observer-3959f9dd.js';
24
- import './create-public-api-runtime-metrics-slimmer-928ad7f0.js';
23
+ import './create-public-api-runtime-metrics-slimmer-cc1164bb.js';
25
24
  import './dynamic-slimmer-90b8af32.js';
26
- import './vega-internal-event-id-7e05cf4a.js';
27
- import './translation-0fa7cf77.js';
25
+ import './vega-internal-event-id-c8507b85.js';
26
+ import './translation-4eb3cf85.js';
28
27
  import './page-resize-observer-slimmer-994c1e1b.js';
29
28
  import './mutation-observer-slimmer-6cef9549.js';
30
- import './mutation-observer-filters-9086b5cc.js';
31
- import './array-506b88b9.js';
32
- import './number-e2519d1c.js';
33
- import './internal-vega-event-manager-722461c1.js';
29
+ import './mutation-observer-filters-1035b064.js';
30
+ import './array-b668466e.js';
31
+ import './number-4398f2e1.js';
32
+ import './internal-vega-event-manager-8154661e.js';
34
33
  import './vega-env-manager-8f8dc473.js';
35
- import './feature-flag-controller-10780eeb.js';
34
+ import './feature-flag-controller-297c4b9b.js';
36
35
  import './index-0863eec6.js';
36
+ import './keyboard-manager-d1f9ddc1.js';
37
37
 
38
38
  const VegaComboBoxRuntimeMetricsPayloadDefinition = [
39
39
  {
@@ -62,6 +62,332 @@ const VegaComboBoxRuntimeMetricsPayloadDefinition = [
62
62
  },
63
63
  ];
64
64
 
65
+ var __decorate$4 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
66
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
67
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
68
+ 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;
69
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
70
+ };
71
+ class VegaComboBoxDropdownRenderer extends VegaSlimmer {
72
+ constructor() {
73
+ super(...arguments);
74
+ this.onItemClick = async () => {
75
+ this.valueController.setValue((await this.dropdownRef.getSelection()));
76
+ await this.clearInput();
77
+ };
78
+ this.onDropdownHide = async () => {
79
+ await this.clearInput();
80
+ };
81
+ this.onDropdownCreate = async (searchString) => {
82
+ this.createEventEmit.emit(searchString);
83
+ await this.clearInput();
84
+ };
85
+ /**
86
+ * The below method is e2e-test covered in
87
+ * @see{module:vega-combo-box-search-input}
88
+ * @see{module:vega-combo-box-vega-search-event-e2e}
89
+ */
90
+ /* istanbul ignore next */
91
+ this.onInputChange = async (e) => {
92
+ const value = e.target.value;
93
+ if (this.useDefaultFilter) {
94
+ await this.dropdownRef.show();
95
+ await this.dropdownRef.search(value);
96
+ }
97
+ else {
98
+ this.searchEventEmit.emit(value);
99
+ }
100
+ };
101
+ }
102
+ getDropdownRef() {
103
+ return this.dropdownRef;
104
+ }
105
+ getSearchInputRef() {
106
+ return this.searchInputRef;
107
+ }
108
+ /**
109
+ * The below method is e2e-test covered in
110
+ * @see{module:vega-combo-box-focus-by-label-e2e}
111
+ */
112
+ /* istanbul ignore next */
113
+ focusInput() {
114
+ this.searchInputRef.focus();
115
+ }
116
+ async hide() {
117
+ await this.dropdownRef.hide();
118
+ }
119
+ async show() {
120
+ await this.dropdownRef.show();
121
+ }
122
+ renderDropdown() {
123
+ 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) => {
124
+ this.dropdownRef = ref;
125
+ DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaCreate, async (payload) => {
126
+ await this.onDropdownCreate(payload.detail);
127
+ });
128
+ DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaDropdownHide, async () => {
129
+ await this.onDropdownHide();
130
+ });
131
+ DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaDropdownClick, async () => {
132
+ await this.onItemClick();
133
+ });
134
+ } }), this.renderContainer()));
135
+ }
136
+ renderContainer() {
137
+ return (h("div", { class: {
138
+ 'vega-combo-box-container': true,
139
+ [`vega-combo-box-size-${this.size}`]: true,
140
+ } },
141
+ this.renderSelectedContainer(),
142
+ this.renderInputContainer()));
143
+ }
144
+ renderSelectedContainer() {
145
+ const selected = this.value
146
+ .map((key) => this.source.find((item) => item.key === key))
147
+ .filter((item) => item);
148
+ return (h(Fragment, null, selected.map((item) => {
149
+ return this.renderSelectedChip(item);
150
+ })));
151
+ }
152
+ renderSelectedChip(item) {
153
+ return (h("vega-chip", {
154
+ //TODO: the key property test will add in https://gethired.atlassian.net/browse/VD-883
155
+ key: item.key, text: item.label, variant: "outlined", showCloseIcon: !this.disabled, size: "small", ref: (ref) => {
156
+ DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaClose, async () => {
157
+ await this.onChipClose(item.key);
158
+ });
159
+ } }));
160
+ }
161
+ renderInputContainer() {
162
+ return (h("div", { class: "vega-combo-box-input-container" },
163
+ 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 })));
164
+ }
165
+ async onChipClose(key) {
166
+ this.valueController.setValue([...this.value.filter((value) => value !== key)]);
167
+ await this.dropdownRef.hide();
168
+ }
169
+ async clearInput() {
170
+ this.searchInputRef.value = '';
171
+ await this.dropdownRef.search('');
172
+ }
173
+ }
174
+ __decorate$4([
175
+ MapToComponentField()
176
+ ], VegaComboBoxDropdownRenderer.prototype, "value", void 0);
177
+ __decorate$4([
178
+ MapToComponentField()
179
+ ], VegaComboBoxDropdownRenderer.prototype, "source", void 0);
180
+ __decorate$4([
181
+ MapToComponentField()
182
+ ], VegaComboBoxDropdownRenderer.prototype, "disabled", void 0);
183
+ __decorate$4([
184
+ MapToComponentField()
185
+ ], VegaComboBoxDropdownRenderer.prototype, "size", void 0);
186
+ __decorate$4([
187
+ MapToComponentField()
188
+ ], VegaComboBoxDropdownRenderer.prototype, "vegaDropdownProps", void 0);
189
+ __decorate$4([
190
+ MapToComponentField()
191
+ ], VegaComboBoxDropdownRenderer.prototype, "label", void 0);
192
+ __decorate$4([
193
+ MapToComponentField()
194
+ ], VegaComboBoxDropdownRenderer.prototype, "placeholder", void 0);
195
+ __decorate$4([
196
+ MapToComponentField()
197
+ ], VegaComboBoxDropdownRenderer.prototype, "useDefaultFilter", void 0);
198
+ __decorate$4([
199
+ MapToComponentField()
200
+ ], VegaComboBoxDropdownRenderer.prototype, "createEventEmit", void 0);
201
+ __decorate$4([
202
+ MapToComponentField()
203
+ ], VegaComboBoxDropdownRenderer.prototype, "searchEventEmit", void 0);
204
+ __decorate$4([
205
+ MapToComponentField()
206
+ ], VegaComboBoxDropdownRenderer.prototype, "valueController", void 0);
207
+
208
+ var __decorate$3 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
209
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
210
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
211
+ 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;
212
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
213
+ };
214
+ /**
215
+ * The value controller of `VegaComboBox` component.
216
+ */
217
+ class VegaComboBoxValueController extends VegaSlimmer {
218
+ /**
219
+ * The function `setValue` sets the value of a VegaComboBox component.
220
+ *
221
+ * @param {string[]} value - value
222
+ */
223
+ setValue(value) {
224
+ this.value = value;
225
+ }
226
+ }
227
+ __decorate$3([
228
+ MapToComponentField({ writable: true })
229
+ ], VegaComboBoxValueController.prototype, "value", void 0);
230
+
231
+ var __decorate$2 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
232
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
233
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
234
+ 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;
235
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
236
+ };
237
+ class VegaComboBoxRenderer extends VegaSlimmer {
238
+ constructor() {
239
+ super(...arguments);
240
+ /**
241
+ * The below method is e2e-test covered in
242
+ * @see{module:vega-combo-box-focus-by-label-e2e}
243
+ */
244
+ /* istanbul ignore next */
245
+ this.onLabelClick = () => {
246
+ this.dropdownRenderer.focusInput();
247
+ };
248
+ }
249
+ render() {
250
+ return (h(Host, { class: {
251
+ 'vega-combo-box-disabled': this.disabled,
252
+ } },
253
+ this.renderLabel(),
254
+ this.dropdownRenderer.renderDropdown(),
255
+ this.renderHint()));
256
+ }
257
+ renderLabel() {
258
+ return (h("vega-field-label", { onClick: this.onLabelClick, "is-field-required": this.required, disabled: this.disabled, label: this.label }));
259
+ }
260
+ renderHint() {
261
+ return h("div", { class: "vega-combo-box-hint" }, this.hint);
262
+ }
263
+ }
264
+ __decorate$2([
265
+ MapToComponentField()
266
+ ], VegaComboBoxRenderer.prototype, "required", void 0);
267
+ __decorate$2([
268
+ MapToComponentField()
269
+ ], VegaComboBoxRenderer.prototype, "hint", void 0);
270
+ __decorate$2([
271
+ MapToComponentField()
272
+ ], VegaComboBoxRenderer.prototype, "disabled", void 0);
273
+ __decorate$2([
274
+ MapToComponentField()
275
+ ], VegaComboBoxRenderer.prototype, "dropdownRenderer", void 0);
276
+ __decorate$2([
277
+ MapToComponentField()
278
+ ], VegaComboBoxRenderer.prototype, "label", void 0);
279
+
280
+ var __decorate$1 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
281
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
282
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
283
+ 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;
284
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
285
+ };
286
+ /**
287
+ * Keyboard controller for vega-combo-box
288
+ */
289
+ class VegaComboBoxKeyboardController extends KeyboardManagerSlimmer {
290
+ /** The function sets up the functionality of key board control */
291
+ constructor() {
292
+ super((target) => [
293
+ {
294
+ keyCode: 'Backspace',
295
+ activeElementInScope: [target.dropdownRenderer.getSearchInputRef()],
296
+ eventName: 'keydown',
297
+ callback: target.deleteLastSelectedItem,
298
+ },
299
+ {
300
+ keyCode: 'ArrowLeft',
301
+ activeElementInScope: [target.host],
302
+ callback:
303
+ /* istanbul ignore next */
304
+ /* eslint-disable jsdoc/require-jsdoc */
305
+ () => target.controlDirectionByKeyboard('ArrowLeft'),
306
+ },
307
+ {
308
+ keyCode: 'ArrowRight',
309
+ activeElementInScope: [target.host],
310
+ callback:
311
+ /* istanbul ignore next */
312
+ /* eslint-disable jsdoc/require-jsdoc */
313
+ () => target.controlDirectionByKeyboard('ArrowRight'),
314
+ },
315
+ ]);
316
+ /*
317
+ * The below method is e2e-test covered in
318
+ * @see{module:vega-combo-box-keyboard-control-e2e}
319
+ * @see{module:vega-combo-box-keyboard-control-for-selected-items-e2e}
320
+ */
321
+ /* istanbul ignore next */
322
+ /**
323
+ * Delete last item when press `Backspace` key
324
+ */
325
+ this.deleteLastSelectedItem = () => {
326
+ if (this.dropdownRenderer.getSearchInputRef().value === '') {
327
+ this.value.pop();
328
+ this.valueController.setValue([...this.value]);
329
+ }
330
+ };
331
+ }
332
+ /*
333
+ * The below method is e2e-test covered in
334
+ * @see{module:vega-combo-box-keyboard-control-e2e}
335
+ * @see{module:vega-combo-box-keyboard-control-for-selected-items-e2e}
336
+ */
337
+ /* istanbul ignore next */
338
+ /**
339
+ * Handles keyboard input to navigate between elements, focusing on the previous or next element based on the key pressed.
340
+ *
341
+ * @param {KeyboardCodeType} code - code
342
+ */
343
+ controlDirectionByKeyboard(code) {
344
+ const activeElement = getActiveElement();
345
+ if (activeElement && activeElement.classList.contains('vega-chip-close-icon')) {
346
+ const currentChip = findParent(activeElement, 'vega-chip');
347
+ if (code === 'ArrowLeft')
348
+ this.focusItemByKeyboard(currentChip.previousSibling);
349
+ if (code === 'ArrowRight')
350
+ this.focusItemByKeyboard(currentChip.nextSibling);
351
+ }
352
+ else if (code === 'ArrowLeft' && this.dropdownRenderer.getSearchInputRef().selectionStart === 0) {
353
+ this.focusItemByKeyboard(this.host.shadowRoot.querySelector('vega-chip:last-of-type'));
354
+ }
355
+ }
356
+ /*
357
+ * The below method is e2e-test covered in
358
+ * @see{module:vega-combo-box-keyboard-control-e2e}
359
+ * @see{module:vega-combo-box-keyboard-control-for-selected-items-e2e}
360
+ */
361
+ /* istanbul ignore next */
362
+ /**
363
+ * The function is used to focus on a specific element based on its class name.
364
+ *
365
+ * @param {HTMLElement} item - item
366
+ */
367
+ focusItemByKeyboard(item) {
368
+ if (item) {
369
+ if (item.classList.contains('vega-combo-box-input-container')) {
370
+ item.querySelector('input').focus();
371
+ }
372
+ else {
373
+ item.shadowRoot.querySelector('.vega-chip-close-icon').focus();
374
+ }
375
+ }
376
+ }
377
+ }
378
+ __decorate$1([
379
+ MapToComponentField()
380
+ ], VegaComboBoxKeyboardController.prototype, "host", void 0);
381
+ __decorate$1([
382
+ MapToComponentField()
383
+ ], VegaComboBoxKeyboardController.prototype, "value", void 0);
384
+ __decorate$1([
385
+ MapToComponentField()
386
+ ], VegaComboBoxKeyboardController.prototype, "dropdownRenderer", void 0);
387
+ __decorate$1([
388
+ MapToComponentField()
389
+ ], VegaComboBoxKeyboardController.prototype, "valueController", void 0);
390
+
65
391
  const vegaComboBoxCss = ":host{display:inline-block;width:100%;min-width:0px;text-align:left;line-height:normal}.vega-combo-box-container{border:1px solid rgba(var(--v-border-input-field, 171, 198, 216, 1));background-color:rgba(var(--v-bg-primary, 252, 252, 252, 1));padding-left:16px;padding-right:16px;padding-top:12px;padding-bottom:12px;border-radius:8px;gap:8px;display:block;display:flex;flex-wrap:wrap;align-items:center;cursor:pointer}.vega-combo-box-container:hover{border:1px solid rgba(var(--v-border-input-field-hover, 115, 160, 190, 1))}.vega-combo-box-container:focus-within{border:1px solid rgba(var(--v-border-input-field-focus, 19, 98, 226, 1));box-shadow:0 0 0 4px rgba(var(--v-ring-input-focus, 19, 98, 226, 0.25))}.vega-combo-box-container .vega-combo-box-input-container{width:-webkit-min-content;width:-moz-min-content;width:min-content;flex-grow:1}.vega-combo-box-container input{border-style:none;background-color:rgba(var(--v-bg-transparent, 0, 0, 0, 0));font-family:\"Inter\", sans-serif;font-size:16px;font-weight:400;line-height:24px;letter-spacing:0px;color:rgba(var(--v-text-primary, 32, 54, 69, 1));width:100%}@media screen and (min-width: 768px) and (max-width: 1023px){.vega-combo-box-container input{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:400;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.vega-combo-box-container input{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:400;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.vega-combo-box-container input{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:400;line-height:24px;letter-spacing:0px}}.vega-combo-box-container input:focus{outline:2px solid transparent;outline-offset:2px}.vega-combo-box-size-medium{padding-left:12px;padding-right:12px;padding-top:11px;padding-bottom:11px}.vega-combo-box-size-small{padding-left:12px;padding-right:12px;padding-top:7px;padding-bottom:7px}.vega-combo-box-container:focus{outline:none}vega-field-label{margin-bottom:8px}.error .vega-combo-box-container{border:1px solid rgba(var(--v-border-input-field-danger, 230, 50, 87, 1))}.error .vega-combo-box-container:hover{border:1px solid rgba(var(--v-border-input-field-danger-hover, 255, 87, 114, 1))}.error .vega-combo-box-container:focus-within{border:1px solid rgba(var(--v-border-input-field-danger-focus, 233, 71, 104, 1));box-shadow:0 0 0 4px rgba(var(--v-ring-input-danger-focus, 230, 50, 87, 0.25))}:host(.vega-combo-box-disabled) .vega-combo-box-container{border:1px solid rgba(var(--v-border-input-field-disabled, 222, 225, 227, 1));background-color:rgba(var(--v-bg-secondary, 245, 247, 247, 1));--tw-shadow:0 0 #0000;box-shadow:rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px}:host(.vega-combo-box-disabled) .vega-combo-box-container:hover{border:1px solid rgba(var(--v-border-input-field-disabled, 222, 225, 227, 1))}:host(.vega-combo-box-disabled) vega-icon{color:rgba(var(--v-text-disabled, 176, 180, 181, 1))}.vega-combo-box-container input::placeholder{color:rgba(var(--v-text-input-placeholder, 176, 180, 181, 1))}.vega-error{display:inline-block;padding-left:8px;padding-right:8px;padding-top:8px;font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px;color:rgba(var(--v-text-error, 189, 41, 71, 1))}@media screen and (min-width: 768px) and (max-width: 1023px){.vega-error{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.vega-error{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.vega-error{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}.vega-hidden{display:none}.vega-combo-box-hint{padding-left:8px;padding-right:8px;font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px;color:rgba(var(--v-text-secondary, 107, 116, 125, 1));padding-top:8px}@media screen and (min-width: 768px) and (max-width: 1023px){.vega-combo-box-hint{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.vega-combo-box-hint{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.vega-combo-box-hint{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}.vega-error:not(.vega-hidden)+.vega-combo-box-hint{padding-top:4px}vega-dropdown{display:block}";
66
392
 
67
393
  var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
@@ -84,6 +410,10 @@ const VegaComboBox = class {
84
410
  this.vegaSearch = createEvent(this, "vegaSearch", 7);
85
411
  this.search = createEvent(this, "search", 7);
86
412
  this.globalSlimmers = {};
413
+ this.keyboardController = new VegaComboBoxKeyboardController();
414
+ this.valueController = new VegaComboBoxValueController();
415
+ this.renderer = new VegaComboBoxRenderer();
416
+ this.dropdownRenderer = new VegaComboBoxDropdownRenderer();
87
417
  this.formFieldController = new FormFieldControllerSlimmer({
88
418
  propertyRules: [
89
419
  {
@@ -94,13 +424,13 @@ const VegaComboBox = class {
94
424
  validationRulesName: 'validationRules',
95
425
  defaultValue: [],
96
426
  attributeGetter: (propertyName) => this[propertyName],
97
- inputContainerGetter: () => this.dropdownRef,
98
- touchableAreaGetter: () => [this.searchInputRef],
427
+ inputContainerGetter: () => this.dropdownRenderer.getDropdownRef(),
428
+ touchableAreaGetter: () => [this.dropdownRenderer.getSearchInputRef()],
99
429
  });
100
430
  this.changeEventEmit = createEventEmitSlimmer(VegaComboBox, VegaChange);
101
431
  this.createEventEmit = createEventEmitSlimmer(VegaComboBox, VegaCreate);
102
432
  this.searchEventEmit = createEventEmitSlimmer(VegaComboBox, VegaSearch);
103
- this.dropdownEventPrevent = new ChildNodesEventPreventSlimmer([VegaCreate, VegaSearch], () => this.dropdownRef, {
433
+ this.dropdownEventPrevent = new ChildNodesEventPreventSlimmer([VegaCreate, VegaSearch], () => this.dropdownRenderer.getDropdownRef(), {
104
434
  customPreventHandle: (e) => {
105
435
  e.stopImmediatePropagation();
106
436
  },
@@ -137,6 +467,7 @@ const VegaComboBox = class {
137
467
  *
138
468
  * @vegaVersion 1.11.0
139
469
  */
470
+ /* eslint-disable-next-line @stencil/strict-mutable */
140
471
  this.value = [];
141
472
  /**
142
473
  * Specifies the validation status of the combo box component.
@@ -204,53 +535,6 @@ const VegaComboBox = class {
204
535
  * @vegaVersion 1.24.0
205
536
  */
206
537
  this.useDefaultFilter = true;
207
- this.onItemClick = async () => {
208
- this.value = (await this.dropdownRef.getSelection());
209
- await this.clearInput();
210
- };
211
- this.onDropdownHide = async () => {
212
- await this.clearInput();
213
- };
214
- this.onDropdownCreate = async (searchString) => {
215
- this.createEventEmit.emit(searchString);
216
- await this.clearInput();
217
- };
218
- /**
219
- * The below method is e2e-test covered in
220
- * @see{module:vega-combo-box-search-input}
221
- * @see{module:vega-combo-box-vega-search-event-e2e}
222
- */
223
- /* istanbul ignore next */
224
- this.onInputChange = async (e) => {
225
- const value = e.target.value;
226
- if (this.useDefaultFilter) {
227
- await this.dropdownRef.show();
228
- await this.dropdownRef.search(value);
229
- }
230
- else {
231
- this.searchEventEmit.emit(value);
232
- }
233
- };
234
- /**
235
- * The below method is e2e-test covered in
236
- * @see{module:vega-combo-box-focus-by-label-e2e}
237
- */
238
- /* istanbul ignore next */
239
- this.onLabelClick = () => {
240
- this.searchInputRef.focus();
241
- };
242
- /**
243
- * The below method is e2e-test covered in
244
- * @see{module:vega-combo-box-keyboard-control-e2e}
245
- * @see{module:vega-combo-box-keyboard-control-for-selected-items-e2e}
246
- */
247
- /* istanbul ignore next */
248
- this.deleteLastSelectedItem = () => {
249
- if (this.searchInputRef.value === '') {
250
- this.value.pop();
251
- this.value = [...this.value];
252
- }
253
- };
254
538
  }
255
539
  watchSource() {
256
540
  this.source = isArrayOfType(this.source, isDropdownSourceItemType)
@@ -273,7 +557,7 @@ const VegaComboBox = class {
273
557
  */
274
558
  async close() {
275
559
  if (!this.disabled) {
276
- await this.dropdownRef.hide();
560
+ await this.dropdownRenderer.hide();
277
561
  }
278
562
  }
279
563
  /**
@@ -283,103 +567,11 @@ const VegaComboBox = class {
283
567
  */
284
568
  async open() {
285
569
  if (!this.disabled) {
286
- await this.dropdownRef.show();
570
+ await this.dropdownRenderer.show();
287
571
  }
288
572
  }
289
573
  render() {
290
- return sanitizeVegaComponent(h(Host, { class: {
291
- 'vega-combo-box-disabled': this.disabled,
292
- } }, this.renderLabel(), this.renderDropdown(), this.renderHint()), this.host);
293
- }
294
- renderLabel() {
295
- return (h("vega-field-label", { onClick: this.onLabelClick, "is-field-required": this.required, disabled: this.disabled, label: this.label }));
296
- }
297
- renderHint() {
298
- return h("div", { class: "vega-combo-box-hint" }, this.hint);
299
- }
300
- renderDropdown() {
301
- 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) => {
302
- this.dropdownRef = ref;
303
- DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaCreate, async (payload) => {
304
- await this.onDropdownCreate(payload.detail);
305
- });
306
- DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaDropdownHide, async () => {
307
- await this.onDropdownHide();
308
- });
309
- DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaDropdownClick, async () => {
310
- await this.onItemClick();
311
- });
312
- } }), this.renderContainer()));
313
- }
314
- renderContainer() {
315
- return (h("div", { class: {
316
- 'vega-combo-box-container': true,
317
- [`vega-combo-box-size-${this.size}`]: true,
318
- } }, this.renderSelectedContainer(), this.renderInputContainer()));
319
- }
320
- renderSelectedContainer() {
321
- const selected = this.value
322
- .map((key) => this.source.find((item) => item.key === key))
323
- .filter((item) => item);
324
- return (h(Fragment, null, selected.map((item) => {
325
- return this.renderSelectedChip(item);
326
- })));
327
- }
328
- renderSelectedChip(item) {
329
- return (h("vega-chip", {
330
- //TODO: the key property test will add in https://gethired.atlassian.net/browse/VD-883
331
- key: item.key, text: item.label, variant: "outlined", showCloseIcon: !this.disabled, size: "small", ref: (ref) => {
332
- DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaClose, async () => {
333
- await this.onChipClose(item.key);
334
- });
335
- }
336
- }));
337
- }
338
- renderInputContainer() {
339
- return (h("div", { class: "vega-combo-box-input-container" }, 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 })));
340
- }
341
- async onChipClose(key) {
342
- this.value = [...this.value.filter((value) => value !== key)];
343
- await this.dropdownRef.hide();
344
- }
345
- async clearInput() {
346
- this.searchInputRef.value = '';
347
- await this.dropdownRef.search('');
348
- }
349
- /**
350
- * The below method is e2e-test covered in
351
- * @see{module:vega-combo-box-keyboard-control-e2e}
352
- * @see{module:vega-combo-box-keyboard-control-for-selected-items-e2e}
353
- */
354
- /* istanbul ignore next */
355
- controlDirectionByKeyboard(code) {
356
- const activeElement = getActiveElement();
357
- if (activeElement && activeElement.classList.contains('vega-chip-close-icon')) {
358
- const currentChip = findParent(activeElement, 'vega-chip');
359
- if (code === 'ArrowLeft')
360
- this.focusItemByKeyboard(currentChip.previousSibling);
361
- if (code === 'ArrowRight')
362
- this.focusItemByKeyboard(currentChip.nextSibling);
363
- }
364
- else if (code === 'ArrowLeft' && this.searchInputRef.selectionStart === 0) {
365
- this.focusItemByKeyboard(this.host.shadowRoot.querySelector('vega-chip:last-of-type'));
366
- }
367
- }
368
- /**
369
- * The below method is e2e-test covered in
370
- * @see{module:vega-combo-box-keyboard-control-e2e}
371
- * @see{module:vega-combo-box-keyboard-control-for-selected-items-e2e}
372
- */
373
- /* istanbul ignore next */
374
- focusItemByKeyboard(item) {
375
- if (item) {
376
- if (item.classList.contains('vega-combo-box-input-container')) {
377
- item.querySelector('input').focus();
378
- }
379
- else {
380
- item.shadowRoot.querySelector('.vega-chip-close-icon').focus();
381
- }
382
- }
574
+ return sanitizeVegaComponent(this.renderer.render(), this.host);
383
575
  }
384
576
  get host() { return getElement(this); }
385
577
  static get watchers() { return {
@@ -391,6 +583,18 @@ const VegaComboBox = class {
391
583
  __decorate([
392
584
  InjectVegaGlobalSlimmer()
393
585
  ], VegaComboBox.prototype, "globalSlimmers", void 0);
586
+ __decorate([
587
+ InjectVegaSlimmer()
588
+ ], VegaComboBox.prototype, "keyboardController", void 0);
589
+ __decorate([
590
+ InjectVegaSlimmer()
591
+ ], VegaComboBox.prototype, "valueController", void 0);
592
+ __decorate([
593
+ InjectVegaSlimmer()
594
+ ], VegaComboBox.prototype, "renderer", void 0);
595
+ __decorate([
596
+ InjectVegaSlimmer()
597
+ ], VegaComboBox.prototype, "dropdownRenderer", void 0);
394
598
  __decorate([
395
599
  InjectVegaSlimmer()
396
600
  ], VegaComboBox.prototype, "formFieldController", void 0);
@@ -409,26 +613,6 @@ __decorate([
409
613
  __decorate([
410
614
  InjectVegaSlimmer()
411
615
  ], VegaComboBox.prototype, "vegaComponentUsageRuntimeMetricsSlimmer", void 0);
412
- __decorate([
413
- InjectKeyboardManager((target) => [
414
- {
415
- keyCode: 'Backspace',
416
- activeElementInScope: [target.searchInputRef],
417
- eventName: 'keydown',
418
- callback: target.deleteLastSelectedItem,
419
- },
420
- {
421
- keyCode: 'ArrowLeft',
422
- activeElementInScope: [target.host],
423
- callback: /* istanbul ignore next */ () => target.controlDirectionByKeyboard('ArrowLeft'),
424
- },
425
- {
426
- keyCode: 'ArrowRight',
427
- activeElementInScope: [target.host],
428
- callback: /* istanbul ignore next */ () => target.controlDirectionByKeyboard('ArrowRight'),
429
- },
430
- ])
431
- ], VegaComboBox.prototype, "host", void 0);
432
616
  VegaComboBox.style = vegaComboBoxCss;
433
617
 
434
618
  export { VegaComboBox as vega_combo_box };