@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
@@ -6,38 +6,38 @@ const index = require('./index-09acd3c9.js');
6
6
  const requiredFieldRule = require('./required-field-rule-9a57b1a0.js');
7
7
  const component = require('./component-73a88c4e.js');
8
8
  const typeGuard = require('./type-guard-a07b353b.js');
9
- const ui = require('./ui-08f33116.js');
10
- const accessibility = require('./accessibility-bfa227f6.js');
11
- const injectKeyboardManager = require('./inject-keyboard-manager-e79a1ade.js');
12
9
  const globalSlimmerRegistry = require('./global-slimmer-registry-b3bce7e0.js');
13
10
  const componentUsageRuntimeMetrics = require('./component-usage-runtime-metrics-1ee24991.js');
14
- const formFieldControllerSlimmer = require('./form-field-controller-slimmer-223f8ee3.js');
15
- const childNodesEventPreventSlimmer = require('./child-nodes-event-prevent-slimmer-e383a914.js');
16
- const eventEmitSlimmer = require('./event-emit-slimmer-8f51adaa.js');
17
- const domNodeSubjectObserverFactory = require('./dom-node-subject-observer-factory-2e41340d.js');
18
- const vegaEventId = require('./vega-event-id-e40ac8f0.js');
19
- const staticSubjectTitle = require('./static-subject-title-3599787e.js');
11
+ const formFieldControllerSlimmer = require('./form-field-controller-slimmer-a4231b97.js');
12
+ const childNodesEventPreventSlimmer = require('./child-nodes-event-prevent-slimmer-bed95a1b.js');
13
+ const eventEmitSlimmer = require('./event-emit-slimmer-b321e3f5.js');
14
+ const vegaEventId = require('./vega-event-id-419d36a8.js');
15
+ const staticSubjectTitle = require('./static-subject-title-471e1793.js');
20
16
  const changeManager = require('./change-manager-a297e4d2.js');
17
+ const accessibility = require('./accessibility-bfa227f6.js');
18
+ const domNodeSubjectObserverFactory = require('./dom-node-subject-observer-factory-2e41340d.js');
19
+ const keyboardManagerSlimmer = require('./keyboard-manager-slimmer-8e2d4b5d.js');
20
+ const ui = require('./ui-08f33116.js');
21
21
  require('./breakpoints-7e2dff90.js');
22
22
  require('./ui-32e69595.js');
23
23
  require('./regex-c1f70fd4.js');
24
24
  require('./typography-4560e7f1.js');
25
- require('./keyboard-manager-34b78600.js');
26
25
  require('./string-21427167.js');
27
26
  require('./observer-f49483e8.js');
28
- require('./create-public-api-runtime-metrics-slimmer-7510221b.js');
27
+ require('./create-public-api-runtime-metrics-slimmer-5cc88124.js');
29
28
  require('./dynamic-slimmer-f31fdfd7.js');
30
- require('./vega-internal-event-id-c98e9a7d.js');
31
- require('./translation-0dd74433.js');
29
+ require('./vega-internal-event-id-99cc22e1.js');
30
+ require('./translation-42c1b2c8.js');
32
31
  require('./page-resize-observer-slimmer-a8cf1874.js');
33
32
  require('./mutation-observer-slimmer-895b3d3e.js');
34
- require('./mutation-observer-filters-79b60f28.js');
35
- require('./array-6e559cde.js');
36
- require('./number-459031f7.js');
37
- require('./internal-vega-event-manager-627b1328.js');
33
+ require('./mutation-observer-filters-e5a7f85a.js');
34
+ require('./array-5adef7b2.js');
35
+ require('./number-4816603d.js');
36
+ require('./internal-vega-event-manager-9ffb3ed1.js');
38
37
  require('./vega-env-manager-23b8b23c.js');
39
- require('./feature-flag-controller-078da332.js');
38
+ require('./feature-flag-controller-f0619cc7.js');
40
39
  require('./index-5792390b.js');
40
+ require('./keyboard-manager-34b78600.js');
41
41
 
42
42
  const VegaComboBoxRuntimeMetricsPayloadDefinition = [
43
43
  {
@@ -66,6 +66,332 @@ const VegaComboBoxRuntimeMetricsPayloadDefinition = [
66
66
  },
67
67
  ];
68
68
 
69
+ var __decorate$4 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
70
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
71
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
72
+ 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;
73
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
74
+ };
75
+ class VegaComboBoxDropdownRenderer extends globalSlimmerRegistry.VegaSlimmer {
76
+ constructor() {
77
+ super(...arguments);
78
+ this.onItemClick = async () => {
79
+ this.valueController.setValue((await this.dropdownRef.getSelection()));
80
+ await this.clearInput();
81
+ };
82
+ this.onDropdownHide = async () => {
83
+ await this.clearInput();
84
+ };
85
+ this.onDropdownCreate = async (searchString) => {
86
+ this.createEventEmit.emit(searchString);
87
+ await this.clearInput();
88
+ };
89
+ /**
90
+ * The below method is e2e-test covered in
91
+ * @see{module:vega-combo-box-search-input}
92
+ * @see{module:vega-combo-box-vega-search-event-e2e}
93
+ */
94
+ /* istanbul ignore next */
95
+ this.onInputChange = async (e) => {
96
+ const value = e.target.value;
97
+ if (this.useDefaultFilter) {
98
+ await this.dropdownRef.show();
99
+ await this.dropdownRef.search(value);
100
+ }
101
+ else {
102
+ this.searchEventEmit.emit(value);
103
+ }
104
+ };
105
+ }
106
+ getDropdownRef() {
107
+ return this.dropdownRef;
108
+ }
109
+ getSearchInputRef() {
110
+ return this.searchInputRef;
111
+ }
112
+ /**
113
+ * The below method is e2e-test covered in
114
+ * @see{module:vega-combo-box-focus-by-label-e2e}
115
+ */
116
+ /* istanbul ignore next */
117
+ focusInput() {
118
+ this.searchInputRef.focus();
119
+ }
120
+ async hide() {
121
+ await this.dropdownRef.hide();
122
+ }
123
+ async show() {
124
+ await this.dropdownRef.show();
125
+ }
126
+ renderDropdown() {
127
+ return (index.h("vega-dropdown", Object.assign({ trigger: this.disabled ? 'none' : 'click', source: this.source, selectType: "multiple", selectedSourceKey: this.value, matchTargetWidth: true }, this.vegaDropdownProps, { ref: (ref) => {
128
+ this.dropdownRef = ref;
129
+ domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, vegaEventId.VegaCreate, async (payload) => {
130
+ await this.onDropdownCreate(payload.detail);
131
+ });
132
+ domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, vegaEventId.VegaDropdownHide, async () => {
133
+ await this.onDropdownHide();
134
+ });
135
+ domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, vegaEventId.VegaDropdownClick, async () => {
136
+ await this.onItemClick();
137
+ });
138
+ } }), this.renderContainer()));
139
+ }
140
+ renderContainer() {
141
+ return (index.h("div", { class: {
142
+ 'vega-combo-box-container': true,
143
+ [`vega-combo-box-size-${this.size}`]: true,
144
+ } },
145
+ this.renderSelectedContainer(),
146
+ this.renderInputContainer()));
147
+ }
148
+ renderSelectedContainer() {
149
+ const selected = this.value
150
+ .map((key) => this.source.find((item) => item.key === key))
151
+ .filter((item) => item);
152
+ return (index.h(index.Fragment, null, selected.map((item) => {
153
+ return this.renderSelectedChip(item);
154
+ })));
155
+ }
156
+ renderSelectedChip(item) {
157
+ return (index.h("vega-chip", {
158
+ //TODO: the key property test will add in https://gethired.atlassian.net/browse/VD-883
159
+ key: item.key, text: item.label, variant: "outlined", showCloseIcon: !this.disabled, size: "small", ref: (ref) => {
160
+ domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, vegaEventId.VegaClose, async () => {
161
+ await this.onChipClose(item.key);
162
+ });
163
+ } }));
164
+ }
165
+ renderInputContainer() {
166
+ return (index.h("div", { class: "vega-combo-box-input-container" },
167
+ index.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: accessibility.createEnterKeyHandlerToTriggerClick(), disabled: this.disabled })));
168
+ }
169
+ async onChipClose(key) {
170
+ this.valueController.setValue([...this.value.filter((value) => value !== key)]);
171
+ await this.dropdownRef.hide();
172
+ }
173
+ async clearInput() {
174
+ this.searchInputRef.value = '';
175
+ await this.dropdownRef.search('');
176
+ }
177
+ }
178
+ __decorate$4([
179
+ globalSlimmerRegistry.MapToComponentField()
180
+ ], VegaComboBoxDropdownRenderer.prototype, "value", void 0);
181
+ __decorate$4([
182
+ globalSlimmerRegistry.MapToComponentField()
183
+ ], VegaComboBoxDropdownRenderer.prototype, "source", void 0);
184
+ __decorate$4([
185
+ globalSlimmerRegistry.MapToComponentField()
186
+ ], VegaComboBoxDropdownRenderer.prototype, "disabled", void 0);
187
+ __decorate$4([
188
+ globalSlimmerRegistry.MapToComponentField()
189
+ ], VegaComboBoxDropdownRenderer.prototype, "size", void 0);
190
+ __decorate$4([
191
+ globalSlimmerRegistry.MapToComponentField()
192
+ ], VegaComboBoxDropdownRenderer.prototype, "vegaDropdownProps", void 0);
193
+ __decorate$4([
194
+ globalSlimmerRegistry.MapToComponentField()
195
+ ], VegaComboBoxDropdownRenderer.prototype, "label", void 0);
196
+ __decorate$4([
197
+ globalSlimmerRegistry.MapToComponentField()
198
+ ], VegaComboBoxDropdownRenderer.prototype, "placeholder", void 0);
199
+ __decorate$4([
200
+ globalSlimmerRegistry.MapToComponentField()
201
+ ], VegaComboBoxDropdownRenderer.prototype, "useDefaultFilter", void 0);
202
+ __decorate$4([
203
+ globalSlimmerRegistry.MapToComponentField()
204
+ ], VegaComboBoxDropdownRenderer.prototype, "createEventEmit", void 0);
205
+ __decorate$4([
206
+ globalSlimmerRegistry.MapToComponentField()
207
+ ], VegaComboBoxDropdownRenderer.prototype, "searchEventEmit", void 0);
208
+ __decorate$4([
209
+ globalSlimmerRegistry.MapToComponentField()
210
+ ], VegaComboBoxDropdownRenderer.prototype, "valueController", void 0);
211
+
212
+ var __decorate$3 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
213
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
214
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
215
+ 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;
216
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
217
+ };
218
+ /**
219
+ * The value controller of `VegaComboBox` component.
220
+ */
221
+ class VegaComboBoxValueController extends globalSlimmerRegistry.VegaSlimmer {
222
+ /**
223
+ * The function `setValue` sets the value of a VegaComboBox component.
224
+ *
225
+ * @param {string[]} value - value
226
+ */
227
+ setValue(value) {
228
+ this.value = value;
229
+ }
230
+ }
231
+ __decorate$3([
232
+ globalSlimmerRegistry.MapToComponentField({ writable: true })
233
+ ], VegaComboBoxValueController.prototype, "value", void 0);
234
+
235
+ var __decorate$2 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
236
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
237
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
238
+ 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;
239
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
240
+ };
241
+ class VegaComboBoxRenderer extends globalSlimmerRegistry.VegaSlimmer {
242
+ constructor() {
243
+ super(...arguments);
244
+ /**
245
+ * The below method is e2e-test covered in
246
+ * @see{module:vega-combo-box-focus-by-label-e2e}
247
+ */
248
+ /* istanbul ignore next */
249
+ this.onLabelClick = () => {
250
+ this.dropdownRenderer.focusInput();
251
+ };
252
+ }
253
+ render() {
254
+ return (index.h(index.Host, { class: {
255
+ 'vega-combo-box-disabled': this.disabled,
256
+ } },
257
+ this.renderLabel(),
258
+ this.dropdownRenderer.renderDropdown(),
259
+ this.renderHint()));
260
+ }
261
+ renderLabel() {
262
+ return (index.h("vega-field-label", { onClick: this.onLabelClick, "is-field-required": this.required, disabled: this.disabled, label: this.label }));
263
+ }
264
+ renderHint() {
265
+ return index.h("div", { class: "vega-combo-box-hint" }, this.hint);
266
+ }
267
+ }
268
+ __decorate$2([
269
+ globalSlimmerRegistry.MapToComponentField()
270
+ ], VegaComboBoxRenderer.prototype, "required", void 0);
271
+ __decorate$2([
272
+ globalSlimmerRegistry.MapToComponentField()
273
+ ], VegaComboBoxRenderer.prototype, "hint", void 0);
274
+ __decorate$2([
275
+ globalSlimmerRegistry.MapToComponentField()
276
+ ], VegaComboBoxRenderer.prototype, "disabled", void 0);
277
+ __decorate$2([
278
+ globalSlimmerRegistry.MapToComponentField()
279
+ ], VegaComboBoxRenderer.prototype, "dropdownRenderer", void 0);
280
+ __decorate$2([
281
+ globalSlimmerRegistry.MapToComponentField()
282
+ ], VegaComboBoxRenderer.prototype, "label", void 0);
283
+
284
+ var __decorate$1 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
285
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
286
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
287
+ 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;
288
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
289
+ };
290
+ /**
291
+ * Keyboard controller for vega-combo-box
292
+ */
293
+ class VegaComboBoxKeyboardController extends keyboardManagerSlimmer.KeyboardManagerSlimmer {
294
+ /** The function sets up the functionality of key board control */
295
+ constructor() {
296
+ super((target) => [
297
+ {
298
+ keyCode: 'Backspace',
299
+ activeElementInScope: [target.dropdownRenderer.getSearchInputRef()],
300
+ eventName: 'keydown',
301
+ callback: target.deleteLastSelectedItem,
302
+ },
303
+ {
304
+ keyCode: 'ArrowLeft',
305
+ activeElementInScope: [target.host],
306
+ callback:
307
+ /* istanbul ignore next */
308
+ /* eslint-disable jsdoc/require-jsdoc */
309
+ () => target.controlDirectionByKeyboard('ArrowLeft'),
310
+ },
311
+ {
312
+ keyCode: 'ArrowRight',
313
+ activeElementInScope: [target.host],
314
+ callback:
315
+ /* istanbul ignore next */
316
+ /* eslint-disable jsdoc/require-jsdoc */
317
+ () => target.controlDirectionByKeyboard('ArrowRight'),
318
+ },
319
+ ]);
320
+ /*
321
+ * The below method is e2e-test covered in
322
+ * @see{module:vega-combo-box-keyboard-control-e2e}
323
+ * @see{module:vega-combo-box-keyboard-control-for-selected-items-e2e}
324
+ */
325
+ /* istanbul ignore next */
326
+ /**
327
+ * Delete last item when press `Backspace` key
328
+ */
329
+ this.deleteLastSelectedItem = () => {
330
+ if (this.dropdownRenderer.getSearchInputRef().value === '') {
331
+ this.value.pop();
332
+ this.valueController.setValue([...this.value]);
333
+ }
334
+ };
335
+ }
336
+ /*
337
+ * The below method is e2e-test covered in
338
+ * @see{module:vega-combo-box-keyboard-control-e2e}
339
+ * @see{module:vega-combo-box-keyboard-control-for-selected-items-e2e}
340
+ */
341
+ /* istanbul ignore next */
342
+ /**
343
+ * Handles keyboard input to navigate between elements, focusing on the previous or next element based on the key pressed.
344
+ *
345
+ * @param {KeyboardCodeType} code - code
346
+ */
347
+ controlDirectionByKeyboard(code) {
348
+ const activeElement = component.getActiveElement();
349
+ if (activeElement && activeElement.classList.contains('vega-chip-close-icon')) {
350
+ const currentChip = ui.findParent(activeElement, 'vega-chip');
351
+ if (code === 'ArrowLeft')
352
+ this.focusItemByKeyboard(currentChip.previousSibling);
353
+ if (code === 'ArrowRight')
354
+ this.focusItemByKeyboard(currentChip.nextSibling);
355
+ }
356
+ else if (code === 'ArrowLeft' && this.dropdownRenderer.getSearchInputRef().selectionStart === 0) {
357
+ this.focusItemByKeyboard(this.host.shadowRoot.querySelector('vega-chip:last-of-type'));
358
+ }
359
+ }
360
+ /*
361
+ * The below method is e2e-test covered in
362
+ * @see{module:vega-combo-box-keyboard-control-e2e}
363
+ * @see{module:vega-combo-box-keyboard-control-for-selected-items-e2e}
364
+ */
365
+ /* istanbul ignore next */
366
+ /**
367
+ * The function is used to focus on a specific element based on its class name.
368
+ *
369
+ * @param {HTMLElement} item - item
370
+ */
371
+ focusItemByKeyboard(item) {
372
+ if (item) {
373
+ if (item.classList.contains('vega-combo-box-input-container')) {
374
+ item.querySelector('input').focus();
375
+ }
376
+ else {
377
+ item.shadowRoot.querySelector('.vega-chip-close-icon').focus();
378
+ }
379
+ }
380
+ }
381
+ }
382
+ __decorate$1([
383
+ globalSlimmerRegistry.MapToComponentField()
384
+ ], VegaComboBoxKeyboardController.prototype, "host", void 0);
385
+ __decorate$1([
386
+ globalSlimmerRegistry.MapToComponentField()
387
+ ], VegaComboBoxKeyboardController.prototype, "value", void 0);
388
+ __decorate$1([
389
+ globalSlimmerRegistry.MapToComponentField()
390
+ ], VegaComboBoxKeyboardController.prototype, "dropdownRenderer", void 0);
391
+ __decorate$1([
392
+ globalSlimmerRegistry.MapToComponentField()
393
+ ], VegaComboBoxKeyboardController.prototype, "valueController", void 0);
394
+
69
395
  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}";
70
396
 
71
397
  var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
@@ -88,6 +414,10 @@ const VegaComboBox = class {
88
414
  this.vegaSearch = index.createEvent(this, "vegaSearch", 7);
89
415
  this.search = index.createEvent(this, "search", 7);
90
416
  this.globalSlimmers = {};
417
+ this.keyboardController = new VegaComboBoxKeyboardController();
418
+ this.valueController = new VegaComboBoxValueController();
419
+ this.renderer = new VegaComboBoxRenderer();
420
+ this.dropdownRenderer = new VegaComboBoxDropdownRenderer();
91
421
  this.formFieldController = new formFieldControllerSlimmer.FormFieldControllerSlimmer({
92
422
  propertyRules: [
93
423
  {
@@ -98,13 +428,13 @@ const VegaComboBox = class {
98
428
  validationRulesName: 'validationRules',
99
429
  defaultValue: [],
100
430
  attributeGetter: (propertyName) => this[propertyName],
101
- inputContainerGetter: () => this.dropdownRef,
102
- touchableAreaGetter: () => [this.searchInputRef],
431
+ inputContainerGetter: () => this.dropdownRenderer.getDropdownRef(),
432
+ touchableAreaGetter: () => [this.dropdownRenderer.getSearchInputRef()],
103
433
  });
104
434
  this.changeEventEmit = eventEmitSlimmer.createEventEmitSlimmer(VegaComboBox, vegaEventId.VegaChange);
105
435
  this.createEventEmit = eventEmitSlimmer.createEventEmitSlimmer(VegaComboBox, vegaEventId.VegaCreate);
106
436
  this.searchEventEmit = eventEmitSlimmer.createEventEmitSlimmer(VegaComboBox, vegaEventId.VegaSearch);
107
- this.dropdownEventPrevent = new childNodesEventPreventSlimmer.ChildNodesEventPreventSlimmer([vegaEventId.VegaCreate, vegaEventId.VegaSearch], () => this.dropdownRef, {
437
+ this.dropdownEventPrevent = new childNodesEventPreventSlimmer.ChildNodesEventPreventSlimmer([vegaEventId.VegaCreate, vegaEventId.VegaSearch], () => this.dropdownRenderer.getDropdownRef(), {
108
438
  customPreventHandle: (e) => {
109
439
  e.stopImmediatePropagation();
110
440
  },
@@ -141,6 +471,7 @@ const VegaComboBox = class {
141
471
  *
142
472
  * @vegaVersion 1.11.0
143
473
  */
474
+ /* eslint-disable-next-line @stencil/strict-mutable */
144
475
  this.value = [];
145
476
  /**
146
477
  * Specifies the validation status of the combo box component.
@@ -208,53 +539,6 @@ const VegaComboBox = class {
208
539
  * @vegaVersion 1.24.0
209
540
  */
210
541
  this.useDefaultFilter = true;
211
- this.onItemClick = async () => {
212
- this.value = (await this.dropdownRef.getSelection());
213
- await this.clearInput();
214
- };
215
- this.onDropdownHide = async () => {
216
- await this.clearInput();
217
- };
218
- this.onDropdownCreate = async (searchString) => {
219
- this.createEventEmit.emit(searchString);
220
- await this.clearInput();
221
- };
222
- /**
223
- * The below method is e2e-test covered in
224
- * @see{module:vega-combo-box-search-input}
225
- * @see{module:vega-combo-box-vega-search-event-e2e}
226
- */
227
- /* istanbul ignore next */
228
- this.onInputChange = async (e) => {
229
- const value = e.target.value;
230
- if (this.useDefaultFilter) {
231
- await this.dropdownRef.show();
232
- await this.dropdownRef.search(value);
233
- }
234
- else {
235
- this.searchEventEmit.emit(value);
236
- }
237
- };
238
- /**
239
- * The below method is e2e-test covered in
240
- * @see{module:vega-combo-box-focus-by-label-e2e}
241
- */
242
- /* istanbul ignore next */
243
- this.onLabelClick = () => {
244
- this.searchInputRef.focus();
245
- };
246
- /**
247
- * The below method is e2e-test covered in
248
- * @see{module:vega-combo-box-keyboard-control-e2e}
249
- * @see{module:vega-combo-box-keyboard-control-for-selected-items-e2e}
250
- */
251
- /* istanbul ignore next */
252
- this.deleteLastSelectedItem = () => {
253
- if (this.searchInputRef.value === '') {
254
- this.value.pop();
255
- this.value = [...this.value];
256
- }
257
- };
258
542
  }
259
543
  watchSource() {
260
544
  this.source = typeGuard.isArrayOfType(this.source, typeGuard.isDropdownSourceItemType)
@@ -277,7 +561,7 @@ const VegaComboBox = class {
277
561
  */
278
562
  async close() {
279
563
  if (!this.disabled) {
280
- await this.dropdownRef.hide();
564
+ await this.dropdownRenderer.hide();
281
565
  }
282
566
  }
283
567
  /**
@@ -287,103 +571,11 @@ const VegaComboBox = class {
287
571
  */
288
572
  async open() {
289
573
  if (!this.disabled) {
290
- await this.dropdownRef.show();
574
+ await this.dropdownRenderer.show();
291
575
  }
292
576
  }
293
577
  render() {
294
- return component.sanitizeVegaComponent(index.h(index.Host, { class: {
295
- 'vega-combo-box-disabled': this.disabled,
296
- } }, this.renderLabel(), this.renderDropdown(), this.renderHint()), this.host);
297
- }
298
- renderLabel() {
299
- return (index.h("vega-field-label", { onClick: this.onLabelClick, "is-field-required": this.required, disabled: this.disabled, label: this.label }));
300
- }
301
- renderHint() {
302
- return index.h("div", { class: "vega-combo-box-hint" }, this.hint);
303
- }
304
- renderDropdown() {
305
- return (index.h("vega-dropdown", Object.assign({ trigger: this.disabled ? 'none' : 'click', source: this.source, selectType: "multiple", selectedSourceKey: this.value, matchTargetWidth: true }, this.vegaDropdownProps, { ref: (ref) => {
306
- this.dropdownRef = ref;
307
- domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, vegaEventId.VegaCreate, async (payload) => {
308
- await this.onDropdownCreate(payload.detail);
309
- });
310
- domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, vegaEventId.VegaDropdownHide, async () => {
311
- await this.onDropdownHide();
312
- });
313
- domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, vegaEventId.VegaDropdownClick, async () => {
314
- await this.onItemClick();
315
- });
316
- } }), this.renderContainer()));
317
- }
318
- renderContainer() {
319
- return (index.h("div", { class: {
320
- 'vega-combo-box-container': true,
321
- [`vega-combo-box-size-${this.size}`]: true,
322
- } }, this.renderSelectedContainer(), this.renderInputContainer()));
323
- }
324
- renderSelectedContainer() {
325
- const selected = this.value
326
- .map((key) => this.source.find((item) => item.key === key))
327
- .filter((item) => item);
328
- return (index.h(index.Fragment, null, selected.map((item) => {
329
- return this.renderSelectedChip(item);
330
- })));
331
- }
332
- renderSelectedChip(item) {
333
- return (index.h("vega-chip", {
334
- //TODO: the key property test will add in https://gethired.atlassian.net/browse/VD-883
335
- key: item.key, text: item.label, variant: "outlined", showCloseIcon: !this.disabled, size: "small", ref: (ref) => {
336
- domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, vegaEventId.VegaClose, async () => {
337
- await this.onChipClose(item.key);
338
- });
339
- }
340
- }));
341
- }
342
- renderInputContainer() {
343
- return (index.h("div", { class: "vega-combo-box-input-container" }, index.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: accessibility.createEnterKeyHandlerToTriggerClick(), disabled: this.disabled })));
344
- }
345
- async onChipClose(key) {
346
- this.value = [...this.value.filter((value) => value !== key)];
347
- await this.dropdownRef.hide();
348
- }
349
- async clearInput() {
350
- this.searchInputRef.value = '';
351
- await this.dropdownRef.search('');
352
- }
353
- /**
354
- * The below method is e2e-test covered in
355
- * @see{module:vega-combo-box-keyboard-control-e2e}
356
- * @see{module:vega-combo-box-keyboard-control-for-selected-items-e2e}
357
- */
358
- /* istanbul ignore next */
359
- controlDirectionByKeyboard(code) {
360
- const activeElement = component.getActiveElement();
361
- if (activeElement && activeElement.classList.contains('vega-chip-close-icon')) {
362
- const currentChip = ui.findParent(activeElement, 'vega-chip');
363
- if (code === 'ArrowLeft')
364
- this.focusItemByKeyboard(currentChip.previousSibling);
365
- if (code === 'ArrowRight')
366
- this.focusItemByKeyboard(currentChip.nextSibling);
367
- }
368
- else if (code === 'ArrowLeft' && this.searchInputRef.selectionStart === 0) {
369
- this.focusItemByKeyboard(this.host.shadowRoot.querySelector('vega-chip:last-of-type'));
370
- }
371
- }
372
- /**
373
- * The below method is e2e-test covered in
374
- * @see{module:vega-combo-box-keyboard-control-e2e}
375
- * @see{module:vega-combo-box-keyboard-control-for-selected-items-e2e}
376
- */
377
- /* istanbul ignore next */
378
- focusItemByKeyboard(item) {
379
- if (item) {
380
- if (item.classList.contains('vega-combo-box-input-container')) {
381
- item.querySelector('input').focus();
382
- }
383
- else {
384
- item.shadowRoot.querySelector('.vega-chip-close-icon').focus();
385
- }
386
- }
578
+ return component.sanitizeVegaComponent(this.renderer.render(), this.host);
387
579
  }
388
580
  get host() { return index.getElement(this); }
389
581
  static get watchers() { return {
@@ -395,6 +587,18 @@ const VegaComboBox = class {
395
587
  __decorate([
396
588
  componentUsageRuntimeMetrics.InjectVegaGlobalSlimmer()
397
589
  ], VegaComboBox.prototype, "globalSlimmers", void 0);
590
+ __decorate([
591
+ globalSlimmerRegistry.InjectVegaSlimmer()
592
+ ], VegaComboBox.prototype, "keyboardController", void 0);
593
+ __decorate([
594
+ globalSlimmerRegistry.InjectVegaSlimmer()
595
+ ], VegaComboBox.prototype, "valueController", void 0);
596
+ __decorate([
597
+ globalSlimmerRegistry.InjectVegaSlimmer()
598
+ ], VegaComboBox.prototype, "renderer", void 0);
599
+ __decorate([
600
+ globalSlimmerRegistry.InjectVegaSlimmer()
601
+ ], VegaComboBox.prototype, "dropdownRenderer", void 0);
398
602
  __decorate([
399
603
  globalSlimmerRegistry.InjectVegaSlimmer()
400
604
  ], VegaComboBox.prototype, "formFieldController", void 0);
@@ -413,26 +617,6 @@ __decorate([
413
617
  __decorate([
414
618
  globalSlimmerRegistry.InjectVegaSlimmer()
415
619
  ], VegaComboBox.prototype, "vegaComponentUsageRuntimeMetricsSlimmer", void 0);
416
- __decorate([
417
- injectKeyboardManager.InjectKeyboardManager((target) => [
418
- {
419
- keyCode: 'Backspace',
420
- activeElementInScope: [target.searchInputRef],
421
- eventName: 'keydown',
422
- callback: target.deleteLastSelectedItem,
423
- },
424
- {
425
- keyCode: 'ArrowLeft',
426
- activeElementInScope: [target.host],
427
- callback: /* istanbul ignore next */ () => target.controlDirectionByKeyboard('ArrowLeft'),
428
- },
429
- {
430
- keyCode: 'ArrowRight',
431
- activeElementInScope: [target.host],
432
- callback: /* istanbul ignore next */ () => target.controlDirectionByKeyboard('ArrowRight'),
433
- },
434
- ])
435
- ], VegaComboBox.prototype, "host", void 0);
436
620
  VegaComboBox.style = vegaComboBoxCss;
437
621
 
438
622
  exports.vega_combo_box = VegaComboBox;