@globalpayments/vega 2.29.0 → 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 (267) hide show
  1. package/dist/cjs/{app-globals-46ab4eb3.js → app-globals-391d9a14.js} +4 -3
  2. package/dist/cjs/{child-nodes-event-prevent-slimmer-0245d631.js → child-nodes-event-prevent-slimmer-bed95a1b.js} +2 -2
  3. package/dist/cjs/{element-appender-slimmer-2b251c0a.js → element-appender-slimmer-415d261a.js} +725 -536
  4. package/dist/cjs/{event-emit-slimmer-d409d0ac.js → event-emit-slimmer-b321e3f5.js} +1 -1
  5. package/dist/cjs/{feature-flag-controller-078da332.js → feature-flag-controller-f0619cc7.js} +5 -0
  6. package/dist/cjs/index-d6bf3435.js +15 -0
  7. package/dist/cjs/index.cjs.js +6 -5
  8. package/dist/cjs/{internal-vega-event-manager-4d9a8e67.js → internal-vega-event-manager-9ffb3ed1.js} +10 -3
  9. package/dist/cjs/loader.cjs.js +7 -6
  10. package/dist/cjs/vega-accordion.cjs.entry.js +3 -3
  11. package/dist/cjs/vega-app-header-button.cjs.entry.js +5 -5
  12. package/dist/cjs/vega-banner.cjs.entry.js +4 -4
  13. package/dist/cjs/vega-breadcrumb.cjs.entry.js +5 -5
  14. package/dist/cjs/vega-button-circle.cjs.entry.js +5 -5
  15. package/dist/cjs/vega-button-group_2.cjs.entry.js +5 -5
  16. package/dist/cjs/vega-button-link.cjs.entry.js +5 -5
  17. package/dist/cjs/vega-button.cjs.entry.js +5 -5
  18. package/dist/cjs/vega-calendar_3.cjs.entry.js +5 -5
  19. package/dist/cjs/vega-carousel.cjs.entry.js +3 -3
  20. package/dist/cjs/vega-checkbox_2.cjs.entry.js +5 -5
  21. package/dist/cjs/vega-chip.cjs.entry.js +5 -5
  22. package/dist/cjs/vega-color-picker.cjs.entry.js +11 -5
  23. package/dist/cjs/vega-combo-box.cjs.entry.js +359 -175
  24. package/dist/cjs/vega-date-picker_2.cjs.entry.js +12 -9
  25. package/dist/cjs/vega-dialog_2.cjs.entry.js +5 -5
  26. package/dist/cjs/vega-dropdown_5.cjs.entry.js +34 -20
  27. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  28. package/dist/cjs/{vega-event-id-e40ac8f0.js → vega-event-id-419d36a8.js} +2 -0
  29. package/dist/cjs/vega-field-label.cjs.entry.js +3 -3
  30. package/dist/cjs/vega-file-uploader.cjs.entry.js +3 -3
  31. package/dist/cjs/vega-flex.cjs.entry.js +1 -1
  32. package/dist/cjs/vega-form.cjs.entry.js +5 -5
  33. package/dist/cjs/vega-image-uploader.cjs.entry.js +5 -5
  34. package/dist/cjs/vega-input-credit-card.cjs.entry.js +5 -5
  35. package/dist/cjs/vega-input-numeric.cjs.entry.js +5 -5
  36. package/dist/cjs/vega-input-phone-number.cjs.entry.js +5 -5
  37. package/dist/cjs/vega-input-range.cjs.entry.js +5 -5
  38. package/dist/cjs/vega-input-select.cjs.entry.js +18 -6
  39. package/dist/cjs/vega-input.cjs.entry.js +3 -3
  40. package/dist/cjs/vega-item-toggle.cjs.entry.js +3 -3
  41. package/dist/cjs/vega-left-nav_5.cjs.entry.js +4 -4
  42. package/dist/cjs/vega-page-notification_2.cjs.entry.js +1 -1
  43. package/dist/cjs/vega-pagination.cjs.entry.js +7 -7
  44. package/dist/cjs/vega-popover_2.cjs.entry.js +8 -8
  45. package/dist/cjs/vega-progress-tracker.cjs.entry.js +3 -3
  46. package/dist/cjs/vega-radio_2.cjs.entry.js +5 -5
  47. package/dist/cjs/vega-segment-control.cjs.entry.js +3 -3
  48. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +5 -5
  49. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +5 -5
  50. package/dist/cjs/vega-sidenav_3.cjs.entry.js +10 -10
  51. package/dist/cjs/vega-signature-capture.cjs.entry.js +3 -3
  52. package/dist/cjs/{vega-skeleton-loader-controller-4bd8cc88.js → vega-skeleton-loader-controller-4a016b04.js} +2 -12
  53. package/dist/cjs/vega-stepper.cjs.entry.js +5 -5
  54. package/dist/cjs/vega-tab-group_2.cjs.entry.js +5 -5
  55. package/dist/cjs/vega-table_8.cjs.entry.js +5 -5
  56. package/dist/cjs/vega-textarea.cjs.entry.js +5 -5
  57. package/dist/cjs/vega-time-picker_2.cjs.entry.js +7 -7
  58. package/dist/cjs/vega-toggle-switch.cjs.entry.js +3 -3
  59. package/dist/cjs/vega-tooltip_2.cjs.entry.js +6 -6
  60. package/dist/cjs/vega.cjs.js +7 -6
  61. package/dist/collection/components/vega-color-picker/vega-color-picker.css +8 -8
  62. package/dist/collection/components/vega-color-picker/vega-color-picker.js +30 -3
  63. package/dist/collection/components/vega-combo-box/slimmers/controllers/vega-combo-box-keyboard-controller.js +114 -0
  64. package/dist/collection/components/vega-combo-box/slimmers/controllers/vega-combo-box-value-controller.js +23 -0
  65. package/dist/collection/components/vega-combo-box/slimmers/renderers/vega-combo-box-dropdown-renderer.js +147 -0
  66. package/dist/collection/components/vega-combo-box/slimmers/renderers/vega-combo-box-renderer.js +50 -0
  67. package/dist/collection/components/vega-combo-box/vega-combo-box.js +30 -177
  68. package/dist/collection/components/vega-date-picker/slimmers/controllers/vega-date-picker-element-appender-controller.js +2 -0
  69. package/dist/collection/components/vega-dropdown/slimmers/renderers/vega-dropdown-search-renderer.js +19 -5
  70. package/dist/collection/components/vega-dropdown/vega-dropdown.js +55 -9
  71. package/dist/collection/components/vega-input-select/slimmers/controllers/vega-input-select-dropdown-controller.js +7 -1
  72. package/dist/collection/components/vega-input-select/vega-input-select.js +55 -2
  73. package/dist/collection/components/vega-sidenav/vega-sidenav-group/vega-sidenav-group.js +4 -4
  74. package/dist/collection/components/vega-sidenav/vega-sidenav-link/vega-sidenav-link.js +9 -9
  75. package/dist/collection/components/vega-sidenav/vega-sidenav.js +12 -12
  76. package/dist/collection/constants/ui.js +1 -0
  77. package/dist/collection/helpers/event-manager/event-id/component-event-id-map.js +10 -3
  78. package/dist/collection/helpers/event-manager/event-id/vega-event-id.js +1 -0
  79. package/dist/collection/helpers/event-manager/test/vega-event-manager.test.js +2 -1
  80. package/dist/collection/helpers/feature-control/feature-flags-map.js +5 -0
  81. package/dist/collection/helpers/slimmers/element-appender-container/body-positioned-wrapper/body-positioned-wrapper.abstract.js +13 -0
  82. package/dist/collection/helpers/slimmers/element-appender-container/{position-relative-to-wrapper.js → body-positioned-wrapper/position-relative-to-wrapper.js} +23 -21
  83. package/dist/collection/helpers/slimmers/element-appender-container/{vega-modal-wrapper.js → body-positioned-wrapper/vega-modal-wrapper.js} +18 -15
  84. package/dist/collection/helpers/slimmers/element-appender-container/{vega-popover-wrapper.js → body-positioned-wrapper/vega-popover-wrapper.js} +20 -19
  85. package/dist/collection/helpers/slimmers/element-appender-container/default-wrapper.js +19 -19
  86. package/dist/collection/helpers/slimmers/element-appender-container/element-appender-container-controller.js +3 -3
  87. package/dist/collection/helpers/slimmers/element-appender-slimmer.js +10 -0
  88. package/dist/collection/helpers/slimmers/position-calculation/base-position-calculation-strategy.js +345 -0
  89. package/dist/collection/helpers/slimmers/position-calculation/body-position-calculation-strategy.js +66 -0
  90. package/dist/collection/helpers/slimmers/position-calculation/position-calculation-controller.js +121 -0
  91. package/dist/collection/helpers/slimmers/position-calculation/screen-position-calculation-strategy.js +59 -0
  92. package/dist/collection/{utils/test/position.test.js → helpers/slimmers/position-calculation/test/body-position-calculation-strategy.test.js} +135 -45
  93. package/dist/collection/helpers/slimmers/position-calculation/test/screen-position-calculation-strategy.test.js +113 -0
  94. package/dist/collection/helpers/ui/element-appender.js +21 -70
  95. package/dist/collection/helpers/ui/test/element-appender.test.js +53 -0
  96. package/dist/collection/utils/pagination.js +2 -2
  97. package/dist/esm/{app-globals-d90e7905.js → app-globals-00a57fbe.js} +3 -2
  98. package/dist/esm/{child-nodes-event-prevent-slimmer-4ecbc8aa.js → child-nodes-event-prevent-slimmer-db288af1.js} +2 -2
  99. package/dist/esm/{element-appender-slimmer-6cf76806.js → element-appender-slimmer-48d826b2.js} +719 -530
  100. package/dist/esm/{event-emit-slimmer-cb9d6f6c.js → event-emit-slimmer-44cb4573.js} +1 -1
  101. package/dist/esm/{feature-flag-controller-10780eeb.js → feature-flag-controller-297c4b9b.js} +5 -0
  102. package/dist/esm/index-fda6b5ee.js +13 -0
  103. package/dist/esm/index.js +5 -4
  104. package/dist/esm/{internal-vega-event-manager-1ebfd1eb.js → internal-vega-event-manager-8154661e.js} +10 -3
  105. package/dist/esm/loader.js +7 -6
  106. package/dist/esm/vega-accordion.entry.js +3 -3
  107. package/dist/esm/vega-app-header-button.entry.js +5 -5
  108. package/dist/esm/vega-banner.entry.js +4 -4
  109. package/dist/esm/vega-breadcrumb.entry.js +5 -5
  110. package/dist/esm/vega-button-circle.entry.js +5 -5
  111. package/dist/esm/vega-button-group_2.entry.js +5 -5
  112. package/dist/esm/vega-button-link.entry.js +5 -5
  113. package/dist/esm/vega-button.entry.js +5 -5
  114. package/dist/esm/vega-calendar_3.entry.js +5 -5
  115. package/dist/esm/vega-carousel.entry.js +3 -3
  116. package/dist/esm/vega-checkbox_2.entry.js +5 -5
  117. package/dist/esm/vega-chip.entry.js +5 -5
  118. package/dist/esm/vega-color-picker.entry.js +12 -6
  119. package/dist/esm/vega-combo-box.entry.js +362 -178
  120. package/dist/esm/vega-date-picker_2.entry.js +12 -9
  121. package/dist/esm/vega-dialog_2.entry.js +5 -5
  122. package/dist/esm/vega-dropdown_5.entry.js +34 -20
  123. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  124. package/dist/esm/{vega-event-id-7465a011.js → vega-event-id-b1655cbc.js} +2 -1
  125. package/dist/esm/vega-field-label.entry.js +3 -3
  126. package/dist/esm/vega-file-uploader.entry.js +3 -3
  127. package/dist/esm/vega-flex.entry.js +1 -1
  128. package/dist/esm/vega-form.entry.js +5 -5
  129. package/dist/esm/vega-image-uploader.entry.js +5 -5
  130. package/dist/esm/vega-input-credit-card.entry.js +5 -5
  131. package/dist/esm/vega-input-numeric.entry.js +5 -5
  132. package/dist/esm/vega-input-phone-number.entry.js +5 -5
  133. package/dist/esm/vega-input-range.entry.js +5 -5
  134. package/dist/esm/vega-input-select.entry.js +18 -6
  135. package/dist/esm/vega-input.entry.js +3 -3
  136. package/dist/esm/vega-item-toggle.entry.js +3 -3
  137. package/dist/esm/vega-left-nav_5.entry.js +4 -4
  138. package/dist/esm/vega-page-notification_2.entry.js +1 -1
  139. package/dist/esm/vega-pagination.entry.js +7 -7
  140. package/dist/esm/vega-popover_2.entry.js +8 -8
  141. package/dist/esm/vega-progress-tracker.entry.js +3 -3
  142. package/dist/esm/vega-radio_2.entry.js +5 -5
  143. package/dist/esm/vega-segment-control.entry.js +3 -3
  144. package/dist/esm/vega-selection-chip_2.entry.js +5 -5
  145. package/dist/esm/vega-selection-tile_2.entry.js +5 -5
  146. package/dist/esm/vega-sidenav_3.entry.js +10 -10
  147. package/dist/esm/vega-signature-capture.entry.js +3 -3
  148. package/dist/esm/{vega-skeleton-loader-controller-def7bf3f.js → vega-skeleton-loader-controller-cec6753f.js} +2 -12
  149. package/dist/esm/vega-stepper.entry.js +5 -5
  150. package/dist/esm/vega-tab-group_2.entry.js +5 -5
  151. package/dist/esm/vega-table_8.entry.js +5 -5
  152. package/dist/esm/vega-textarea.entry.js +5 -5
  153. package/dist/esm/vega-time-picker_2.entry.js +7 -7
  154. package/dist/esm/vega-toggle-switch.entry.js +3 -3
  155. package/dist/esm/vega-tooltip_2.entry.js +6 -6
  156. package/dist/esm/vega.js +7 -6
  157. package/dist/types/components/vega-color-picker/vega-color-picker.d.ts +6 -0
  158. package/dist/types/components/vega-combo-box/slimmers/controllers/vega-combo-box-keyboard-controller.d.ts +29 -0
  159. package/dist/types/components/vega-combo-box/slimmers/controllers/vega-combo-box-value-controller.d.ts +14 -0
  160. package/dist/types/components/vega-combo-box/slimmers/renderers/vega-combo-box-dropdown-renderer.d.ts +41 -0
  161. package/dist/types/components/vega-combo-box/slimmers/renderers/vega-combo-box-renderer.d.ts +17 -0
  162. package/dist/types/components/vega-combo-box/vega-combo-box.d.ts +8 -48
  163. package/dist/types/components/vega-dropdown/slimmers/renderers/vega-dropdown-search-renderer.d.ts +1 -0
  164. package/dist/types/components/vega-dropdown/types.d.ts +5 -0
  165. package/dist/types/components/vega-dropdown/vega-dropdown.d.ts +21 -1
  166. package/dist/types/components/vega-input-select/slimmers/controllers/vega-input-select-dropdown-controller.d.ts +1 -0
  167. package/dist/types/components/vega-input-select/vega-input-select.d.ts +20 -0
  168. package/dist/types/components/vega-sidenav/vega-sidenav-group/vega-sidenav-group.d.ts +3 -3
  169. package/dist/types/components/vega-sidenav/vega-sidenav-link/vega-sidenav-link.d.ts +7 -7
  170. package/dist/types/components/vega-sidenav/vega-sidenav.d.ts +8 -8
  171. package/dist/types/components.d.ts +58 -26
  172. package/dist/types/constants/ui.d.ts +1 -1
  173. package/dist/types/helpers/event-manager/event-id/vega-event-id.d.ts +1 -0
  174. package/dist/types/helpers/feature-control/feature-flag.d.ts +2 -1
  175. package/dist/types/helpers/slimmers/element-appender-container/body-positioned-wrapper/body-positioned-wrapper.abstract.d.ts +15 -0
  176. 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
  177. package/dist/types/helpers/slimmers/element-appender-container/{vega-modal-wrapper.d.ts → body-positioned-wrapper/vega-modal-wrapper.d.ts} +5 -5
  178. package/dist/types/helpers/slimmers/element-appender-container/{vega-popover-wrapper.d.ts → body-positioned-wrapper/vega-popover-wrapper.d.ts} +5 -5
  179. package/dist/types/helpers/slimmers/element-appender-container/default-wrapper.d.ts +2 -2
  180. package/dist/types/helpers/slimmers/element-appender-container/element-appender-container-controller.d.ts +3 -3
  181. package/dist/types/helpers/slimmers/element-appender-slimmer.d.ts +1 -0
  182. package/dist/types/helpers/slimmers/position-calculation/base-position-calculation-strategy.d.ts +138 -0
  183. package/dist/types/helpers/slimmers/position-calculation/body-position-calculation-strategy.d.ts +34 -0
  184. package/dist/types/helpers/slimmers/position-calculation/position-calculation-controller.d.ts +54 -0
  185. package/dist/types/helpers/slimmers/position-calculation/screen-position-calculation-strategy.d.ts +34 -0
  186. package/dist/types/helpers/slimmers/position-calculation/test/body-position-calculation-strategy.test.d.ts +15 -0
  187. package/dist/types/helpers/ui/element-appender.d.ts +9 -24
  188. package/dist/types/types/components.type.d.ts +1 -0
  189. package/dist/vega/index.esm.js +1 -1
  190. package/dist/vega/{p-cf998fc5.entry.js → p-00c5aee5.entry.js} +1 -1
  191. package/dist/vega/{p-f6d4c1ff.entry.js → p-042b4b3f.entry.js} +1 -1
  192. package/dist/vega/{p-817a83c6.entry.js → p-07a8cf89.entry.js} +1 -1
  193. package/dist/vega/p-0abe1ade.entry.js +1 -0
  194. package/dist/vega/{p-74fcdbc6.entry.js → p-0f0e4198.entry.js} +1 -1
  195. package/dist/vega/{p-d7800ca2.entry.js → p-14f5a9ad.entry.js} +1 -1
  196. package/dist/vega/p-15023bad.entry.js +1 -0
  197. package/dist/vega/{p-38f26c82.entry.js → p-1be2fd46.entry.js} +1 -1
  198. package/dist/vega/p-1bfcb6b7.entry.js +1 -0
  199. package/dist/vega/{p-b0a6421a.entry.js → p-20d9c07c.entry.js} +1 -1
  200. package/dist/vega/p-2306c736.js +1 -0
  201. package/dist/vega/{p-8ef03eed.js → p-302e7589.js} +1 -1
  202. package/dist/vega/p-34710a3c.entry.js +1 -0
  203. package/dist/vega/p-3903ce7a.entry.js +1 -0
  204. package/dist/vega/{p-0bbcc81a.entry.js → p-438caeb3.entry.js} +1 -1
  205. package/dist/vega/{p-319efe6c.js → p-4ffd7493.js} +1 -1
  206. package/dist/vega/{p-ed4a26e7.entry.js → p-57d9bde6.entry.js} +1 -1
  207. package/dist/vega/p-5f377954.js +1 -1
  208. package/dist/vega/{p-ff7bd85f.entry.js → p-623fe226.entry.js} +1 -1
  209. package/dist/vega/{p-1d94428c.entry.js → p-63bee4f1.entry.js} +1 -1
  210. package/dist/vega/{p-6ac3ba21.entry.js → p-64ff6318.entry.js} +1 -1
  211. package/dist/vega/{p-86eda597.entry.js → p-72ecc510.entry.js} +1 -1
  212. package/dist/vega/p-79019d08.js +1 -0
  213. package/dist/vega/p-7941701a.entry.js +1 -0
  214. package/dist/vega/{p-689ee038.entry.js → p-799cb0a4.entry.js} +1 -1
  215. package/dist/vega/{p-1678b69f.entry.js → p-7a6a0740.entry.js} +1 -1
  216. package/dist/vega/p-80785fcf.entry.js +1 -0
  217. package/dist/vega/{p-0ae9b900.entry.js → p-83ef4c13.entry.js} +1 -1
  218. package/dist/vega/{p-ad31be2c.entry.js → p-87cd0d6a.entry.js} +1 -1
  219. package/dist/vega/{p-b771268b.entry.js → p-8cfe4027.entry.js} +1 -1
  220. package/dist/vega/{p-5dbcab1b.entry.js → p-9281cdb2.entry.js} +1 -1
  221. package/dist/vega/p-95b25b97.entry.js +1 -0
  222. package/dist/vega/p-9b45e5dc.entry.js +1 -0
  223. package/dist/vega/{p-0a91f217.entry.js → p-9b9c0afb.entry.js} +1 -1
  224. package/dist/vega/{p-92aaed64.entry.js → p-9ba68531.entry.js} +2 -2
  225. package/dist/vega/{p-dacf5572.entry.js → p-a66ea015.entry.js} +1 -1
  226. package/dist/vega/{p-d0756d70.entry.js → p-a67748c6.entry.js} +1 -1
  227. package/dist/vega/{p-53bb8cde.entry.js → p-a6e1d9bc.entry.js} +1 -1
  228. package/dist/vega/{p-8b0533c4.entry.js → p-b1a249ef.entry.js} +1 -1
  229. package/dist/vega/{p-cf4fea44.entry.js → p-b6e49ee9.entry.js} +1 -1
  230. package/dist/vega/{p-d045099d.entry.js → p-be6041fc.entry.js} +1 -1
  231. package/dist/vega/{p-2ae04da9.entry.js → p-bf38199b.entry.js} +1 -1
  232. package/dist/vega/p-bf3fbb9b.js +1 -0
  233. package/dist/vega/p-c06e7880.js +1 -0
  234. package/dist/vega/{p-e42a2a12.entry.js → p-c3c2890e.entry.js} +1 -1
  235. package/dist/vega/{p-b3417358.entry.js → p-c6ed1982.entry.js} +1 -1
  236. package/dist/vega/p-cdebfee7.entry.js +1 -0
  237. package/dist/vega/p-cea70476.entry.js +1 -0
  238. package/dist/vega/{p-e4d6e2c8.entry.js → p-d3c07efa.entry.js} +1 -1
  239. package/dist/vega/p-d71f968e.entry.js +1 -0
  240. package/dist/vega/{p-30693931.entry.js → p-e165c9f1.entry.js} +1 -1
  241. package/dist/vega/{p-19769aba.js → p-e5d7b4b8.js} +1 -1
  242. package/dist/vega/{p-ebb93b96.entry.js → p-e6f91767.entry.js} +1 -1
  243. package/dist/vega/p-ed237efc.js +1 -0
  244. package/dist/vega/{p-a105e4de.js → p-f2851f16.js} +1 -1
  245. package/dist/vega/{p-975c5a3a.entry.js → p-fb3233db.entry.js} +1 -1
  246. package/dist/vega/{p-a0f5d2cc.entry.js → p-ff22a95f.entry.js} +1 -1
  247. package/dist/vega/vega.esm.js +1 -1
  248. package/package.json +4 -2
  249. package/dist/collection/utils/position.js +0 -373
  250. package/dist/types/utils/position.d.ts +0 -17
  251. package/dist/vega/p-001c0b51.entry.js +0 -1
  252. package/dist/vega/p-0064f5b1.entry.js +0 -1
  253. package/dist/vega/p-19ef612a.js +0 -1
  254. package/dist/vega/p-1f03b576.entry.js +0 -1
  255. package/dist/vega/p-270b0d1a.entry.js +0 -1
  256. package/dist/vega/p-28c78b79.entry.js +0 -1
  257. package/dist/vega/p-31d530d2.entry.js +0 -1
  258. package/dist/vega/p-3f5e44c1.js +0 -1
  259. package/dist/vega/p-651e5c7d.entry.js +0 -1
  260. package/dist/vega/p-68823025.js +0 -1
  261. package/dist/vega/p-6b8277eb.js +0 -1
  262. package/dist/vega/p-7d02f723.entry.js +0 -1
  263. package/dist/vega/p-8bd09712.entry.js +0 -1
  264. package/dist/vega/p-a14be625.entry.js +0 -1
  265. package/dist/vega/p-cc272fbc.entry.js +0 -1
  266. package/dist/vega/p-e2c25432.entry.js +0 -1
  267. /package/dist/types/{utils/test/position.test.d.ts → helpers/slimmers/position-calculation/test/screen-position-calculation-strategy.test.d.ts} +0 -0
@@ -6,23 +6,22 @@ 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
11
  const formFieldControllerSlimmer = require('./form-field-controller-slimmer-a4231b97.js');
15
- const childNodesEventPreventSlimmer = require('./child-nodes-event-prevent-slimmer-0245d631.js');
16
- const eventEmitSlimmer = require('./event-emit-slimmer-d409d0ac.js');
17
- const domNodeSubjectObserverFactory = require('./dom-node-subject-observer-factory-2e41340d.js');
18
- const vegaEventId = require('./vega-event-id-e40ac8f0.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');
19
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
27
  require('./create-public-api-runtime-metrics-slimmer-5cc88124.js');
@@ -34,10 +33,11 @@ require('./mutation-observer-slimmer-895b3d3e.js');
34
33
  require('./mutation-observer-filters-e5a7f85a.js');
35
34
  require('./array-5adef7b2.js');
36
35
  require('./number-4816603d.js');
37
- require('./internal-vega-event-manager-4d9a8e67.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;