@globalpayments/vega 2.29.0 → 2.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (272) hide show
  1. package/dist/cjs/{app-globals-46ab4eb3.js → app-globals-391d9a14.js} +4 -3
  2. package/dist/cjs/{child-nodes-event-prevent-slimmer-0245d631.js → child-nodes-event-prevent-slimmer-bed95a1b.js} +2 -2
  3. package/dist/cjs/{element-appender-slimmer-2b251c0a.js → element-appender-slimmer-415d261a.js} +725 -536
  4. package/dist/cjs/{event-emit-slimmer-d409d0ac.js → event-emit-slimmer-b321e3f5.js} +1 -1
  5. package/dist/cjs/{feature-flag-controller-078da332.js → feature-flag-controller-f0619cc7.js} +5 -0
  6. package/dist/cjs/index-d6bf3435.js +15 -0
  7. package/dist/cjs/index.cjs.js +6 -5
  8. package/dist/cjs/{internal-vega-event-manager-4d9a8e67.js → internal-vega-event-manager-9ffb3ed1.js} +10 -3
  9. package/dist/cjs/loader.cjs.js +7 -6
  10. package/dist/cjs/vega-accordion.cjs.entry.js +3 -3
  11. package/dist/cjs/vega-app-header-button.cjs.entry.js +5 -5
  12. package/dist/cjs/vega-banner.cjs.entry.js +4 -4
  13. package/dist/cjs/vega-breadcrumb.cjs.entry.js +5 -5
  14. package/dist/cjs/vega-button-circle.cjs.entry.js +5 -5
  15. package/dist/cjs/vega-button-group_2.cjs.entry.js +5 -5
  16. package/dist/cjs/vega-button-link.cjs.entry.js +5 -5
  17. package/dist/cjs/vega-button.cjs.entry.js +5 -5
  18. package/dist/cjs/vega-calendar_3.cjs.entry.js +5 -5
  19. package/dist/cjs/vega-carousel.cjs.entry.js +3 -3
  20. package/dist/cjs/vega-checkbox_2.cjs.entry.js +5 -5
  21. package/dist/cjs/vega-chip.cjs.entry.js +5 -5
  22. package/dist/cjs/vega-color-picker.cjs.entry.js +11 -5
  23. package/dist/cjs/vega-combo-box.cjs.entry.js +488 -178
  24. package/dist/cjs/vega-date-picker_2.cjs.entry.js +12 -9
  25. package/dist/cjs/vega-dialog_2.cjs.entry.js +5 -5
  26. package/dist/cjs/vega-dropdown_5.cjs.entry.js +40 -24
  27. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  28. package/dist/cjs/{vega-event-id-e40ac8f0.js → vega-event-id-419d36a8.js} +2 -0
  29. package/dist/cjs/vega-field-label.cjs.entry.js +3 -3
  30. package/dist/cjs/vega-file-uploader.cjs.entry.js +3 -3
  31. package/dist/cjs/vega-flex.cjs.entry.js +1 -1
  32. package/dist/cjs/vega-form.cjs.entry.js +5 -5
  33. package/dist/cjs/vega-image-uploader.cjs.entry.js +5 -5
  34. package/dist/cjs/vega-input-credit-card.cjs.entry.js +5 -5
  35. package/dist/cjs/vega-input-numeric.cjs.entry.js +5 -5
  36. package/dist/cjs/vega-input-phone-number.cjs.entry.js +5 -5
  37. package/dist/cjs/vega-input-range.cjs.entry.js +5 -5
  38. package/dist/cjs/vega-input-select.cjs.entry.js +18 -6
  39. package/dist/cjs/vega-input.cjs.entry.js +3 -3
  40. package/dist/cjs/vega-item-toggle.cjs.entry.js +3 -3
  41. package/dist/cjs/vega-left-nav_5.cjs.entry.js +4 -4
  42. package/dist/cjs/vega-page-notification_2.cjs.entry.js +1 -1
  43. package/dist/cjs/vega-pagination.cjs.entry.js +7 -7
  44. package/dist/cjs/vega-popover_2.cjs.entry.js +8 -8
  45. package/dist/cjs/vega-progress-tracker.cjs.entry.js +3 -3
  46. package/dist/cjs/vega-radio_2.cjs.entry.js +5 -5
  47. package/dist/cjs/vega-segment-control.cjs.entry.js +3 -3
  48. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +5 -5
  49. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +5 -5
  50. package/dist/cjs/vega-sidenav_3.cjs.entry.js +10 -10
  51. package/dist/cjs/vega-signature-capture.cjs.entry.js +3 -3
  52. package/dist/cjs/{vega-skeleton-loader-controller-4bd8cc88.js → vega-skeleton-loader-controller-4a016b04.js} +2 -12
  53. package/dist/cjs/vega-stepper.cjs.entry.js +5 -5
  54. package/dist/cjs/vega-tab-group_2.cjs.entry.js +5 -5
  55. package/dist/cjs/vega-table_8.cjs.entry.js +5 -5
  56. package/dist/cjs/vega-textarea.cjs.entry.js +5 -5
  57. package/dist/cjs/vega-time-picker_2.cjs.entry.js +7 -7
  58. package/dist/cjs/vega-toggle-switch.cjs.entry.js +3 -3
  59. package/dist/cjs/vega-tooltip_2.cjs.entry.js +6 -6
  60. package/dist/cjs/vega.cjs.js +7 -6
  61. package/dist/collection/components/vega-color-picker/vega-color-picker.css +8 -8
  62. package/dist/collection/components/vega-color-picker/vega-color-picker.js +30 -3
  63. package/dist/collection/components/vega-combo-box/slimmers/controllers/vega-combo-box-items-slot-controller.js +57 -0
  64. package/dist/collection/components/vega-combo-box/slimmers/controllers/vega-combo-box-keyboard-controller.js +114 -0
  65. package/dist/collection/components/vega-combo-box/slimmers/controllers/vega-combo-box-source-controller.js +23 -0
  66. package/dist/collection/components/vega-combo-box/slimmers/controllers/vega-combo-box-value-controller.js +23 -0
  67. package/dist/collection/components/vega-combo-box/slimmers/renderers/vega-combo-box-dropdown-renderer.js +188 -0
  68. package/dist/collection/components/vega-combo-box/slimmers/renderers/vega-combo-box-renderer.js +50 -0
  69. package/dist/collection/components/vega-combo-box/vega-combo-box.js +40 -177
  70. package/dist/collection/components/vega-date-picker/slimmers/controllers/vega-date-picker-element-appender-controller.js +2 -0
  71. package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-scrollable-controller.js +6 -4
  72. package/dist/collection/components/vega-dropdown/slimmers/renderers/vega-dropdown-search-renderer.js +19 -5
  73. package/dist/collection/components/vega-dropdown/vega-dropdown.js +55 -9
  74. package/dist/collection/components/vega-input-select/slimmers/controllers/vega-input-select-dropdown-controller.js +7 -1
  75. package/dist/collection/components/vega-input-select/vega-input-select.js +55 -2
  76. package/dist/collection/components/vega-sidenav/vega-sidenav-group/vega-sidenav-group.js +4 -4
  77. package/dist/collection/components/vega-sidenav/vega-sidenav-link/vega-sidenav-link.js +9 -9
  78. package/dist/collection/components/vega-sidenav/vega-sidenav.js +12 -12
  79. package/dist/collection/constants/ui.js +1 -0
  80. package/dist/collection/helpers/event-manager/event-id/component-event-id-map.js +10 -3
  81. package/dist/collection/helpers/event-manager/event-id/vega-event-id.js +1 -0
  82. package/dist/collection/helpers/event-manager/test/vega-event-manager.test.js +2 -1
  83. package/dist/collection/helpers/feature-control/feature-flags-map.js +5 -0
  84. package/dist/collection/helpers/slimmers/element-appender-container/body-positioned-wrapper/body-positioned-wrapper.abstract.js +13 -0
  85. package/dist/collection/helpers/slimmers/element-appender-container/{position-relative-to-wrapper.js → body-positioned-wrapper/position-relative-to-wrapper.js} +23 -21
  86. package/dist/collection/helpers/slimmers/element-appender-container/{vega-modal-wrapper.js → body-positioned-wrapper/vega-modal-wrapper.js} +18 -15
  87. package/dist/collection/helpers/slimmers/element-appender-container/{vega-popover-wrapper.js → body-positioned-wrapper/vega-popover-wrapper.js} +20 -19
  88. package/dist/collection/helpers/slimmers/element-appender-container/default-wrapper.js +19 -19
  89. package/dist/collection/helpers/slimmers/element-appender-container/element-appender-container-controller.js +3 -3
  90. package/dist/collection/helpers/slimmers/element-appender-slimmer.js +10 -0
  91. package/dist/collection/helpers/slimmers/position-calculation/base-position-calculation-strategy.js +345 -0
  92. package/dist/collection/helpers/slimmers/position-calculation/body-position-calculation-strategy.js +66 -0
  93. package/dist/collection/helpers/slimmers/position-calculation/position-calculation-controller.js +121 -0
  94. package/dist/collection/helpers/slimmers/position-calculation/screen-position-calculation-strategy.js +59 -0
  95. package/dist/collection/{utils/test/position.test.js → helpers/slimmers/position-calculation/test/body-position-calculation-strategy.test.js} +135 -45
  96. package/dist/collection/helpers/slimmers/position-calculation/test/screen-position-calculation-strategy.test.js +113 -0
  97. package/dist/collection/helpers/ui/element-appender.js +21 -70
  98. package/dist/collection/helpers/ui/test/element-appender.test.js +53 -0
  99. package/dist/collection/utils/pagination.js +2 -2
  100. package/dist/esm/{app-globals-d90e7905.js → app-globals-00a57fbe.js} +3 -2
  101. package/dist/esm/{child-nodes-event-prevent-slimmer-4ecbc8aa.js → child-nodes-event-prevent-slimmer-db288af1.js} +2 -2
  102. package/dist/esm/{element-appender-slimmer-6cf76806.js → element-appender-slimmer-48d826b2.js} +719 -530
  103. package/dist/esm/{event-emit-slimmer-cb9d6f6c.js → event-emit-slimmer-44cb4573.js} +1 -1
  104. package/dist/esm/{feature-flag-controller-10780eeb.js → feature-flag-controller-297c4b9b.js} +5 -0
  105. package/dist/esm/index-fda6b5ee.js +13 -0
  106. package/dist/esm/index.js +5 -4
  107. package/dist/esm/{internal-vega-event-manager-1ebfd1eb.js → internal-vega-event-manager-8154661e.js} +10 -3
  108. package/dist/esm/loader.js +7 -6
  109. package/dist/esm/vega-accordion.entry.js +3 -3
  110. package/dist/esm/vega-app-header-button.entry.js +5 -5
  111. package/dist/esm/vega-banner.entry.js +4 -4
  112. package/dist/esm/vega-breadcrumb.entry.js +5 -5
  113. package/dist/esm/vega-button-circle.entry.js +5 -5
  114. package/dist/esm/vega-button-group_2.entry.js +5 -5
  115. package/dist/esm/vega-button-link.entry.js +5 -5
  116. package/dist/esm/vega-button.entry.js +5 -5
  117. package/dist/esm/vega-calendar_3.entry.js +5 -5
  118. package/dist/esm/vega-carousel.entry.js +3 -3
  119. package/dist/esm/vega-checkbox_2.entry.js +5 -5
  120. package/dist/esm/vega-chip.entry.js +5 -5
  121. package/dist/esm/vega-color-picker.entry.js +12 -6
  122. package/dist/esm/vega-combo-box.entry.js +491 -181
  123. package/dist/esm/vega-date-picker_2.entry.js +12 -9
  124. package/dist/esm/vega-dialog_2.entry.js +5 -5
  125. package/dist/esm/vega-dropdown_5.entry.js +40 -24
  126. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  127. package/dist/esm/{vega-event-id-7465a011.js → vega-event-id-b1655cbc.js} +2 -1
  128. package/dist/esm/vega-field-label.entry.js +3 -3
  129. package/dist/esm/vega-file-uploader.entry.js +3 -3
  130. package/dist/esm/vega-flex.entry.js +1 -1
  131. package/dist/esm/vega-form.entry.js +5 -5
  132. package/dist/esm/vega-image-uploader.entry.js +5 -5
  133. package/dist/esm/vega-input-credit-card.entry.js +5 -5
  134. package/dist/esm/vega-input-numeric.entry.js +5 -5
  135. package/dist/esm/vega-input-phone-number.entry.js +5 -5
  136. package/dist/esm/vega-input-range.entry.js +5 -5
  137. package/dist/esm/vega-input-select.entry.js +18 -6
  138. package/dist/esm/vega-input.entry.js +3 -3
  139. package/dist/esm/vega-item-toggle.entry.js +3 -3
  140. package/dist/esm/vega-left-nav_5.entry.js +4 -4
  141. package/dist/esm/vega-page-notification_2.entry.js +1 -1
  142. package/dist/esm/vega-pagination.entry.js +7 -7
  143. package/dist/esm/vega-popover_2.entry.js +8 -8
  144. package/dist/esm/vega-progress-tracker.entry.js +3 -3
  145. package/dist/esm/vega-radio_2.entry.js +5 -5
  146. package/dist/esm/vega-segment-control.entry.js +3 -3
  147. package/dist/esm/vega-selection-chip_2.entry.js +5 -5
  148. package/dist/esm/vega-selection-tile_2.entry.js +5 -5
  149. package/dist/esm/vega-sidenav_3.entry.js +10 -10
  150. package/dist/esm/vega-signature-capture.entry.js +3 -3
  151. package/dist/esm/{vega-skeleton-loader-controller-def7bf3f.js → vega-skeleton-loader-controller-cec6753f.js} +2 -12
  152. package/dist/esm/vega-stepper.entry.js +5 -5
  153. package/dist/esm/vega-tab-group_2.entry.js +5 -5
  154. package/dist/esm/vega-table_8.entry.js +5 -5
  155. package/dist/esm/vega-textarea.entry.js +5 -5
  156. package/dist/esm/vega-time-picker_2.entry.js +7 -7
  157. package/dist/esm/vega-toggle-switch.entry.js +3 -3
  158. package/dist/esm/vega-tooltip_2.entry.js +6 -6
  159. package/dist/esm/vega.js +7 -6
  160. package/dist/types/components/vega-color-picker/vega-color-picker.d.ts +6 -0
  161. package/dist/types/components/vega-combo-box/slimmers/controllers/vega-combo-box-items-slot-controller.d.ts +19 -0
  162. package/dist/types/components/vega-combo-box/slimmers/controllers/vega-combo-box-keyboard-controller.d.ts +29 -0
  163. package/dist/types/components/vega-combo-box/slimmers/controllers/vega-combo-box-source-controller.d.ts +14 -0
  164. package/dist/types/components/vega-combo-box/slimmers/controllers/vega-combo-box-value-controller.d.ts +14 -0
  165. package/dist/types/components/vega-combo-box/slimmers/renderers/vega-combo-box-dropdown-renderer.d.ts +48 -0
  166. package/dist/types/components/vega-combo-box/slimmers/renderers/vega-combo-box-renderer.d.ts +17 -0
  167. package/dist/types/components/vega-combo-box/vega-combo-box.d.ts +12 -48
  168. package/dist/types/components/vega-dropdown/slimmers/renderers/vega-dropdown-search-renderer.d.ts +1 -0
  169. package/dist/types/components/vega-dropdown/types.d.ts +5 -0
  170. package/dist/types/components/vega-dropdown/vega-dropdown.d.ts +21 -1
  171. package/dist/types/components/vega-input-select/slimmers/controllers/vega-input-select-dropdown-controller.d.ts +1 -0
  172. package/dist/types/components/vega-input-select/vega-input-select.d.ts +20 -0
  173. package/dist/types/components/vega-sidenav/vega-sidenav-group/vega-sidenav-group.d.ts +3 -3
  174. package/dist/types/components/vega-sidenav/vega-sidenav-link/vega-sidenav-link.d.ts +7 -7
  175. package/dist/types/components/vega-sidenav/vega-sidenav.d.ts +8 -8
  176. package/dist/types/components.d.ts +58 -26
  177. package/dist/types/constants/ui.d.ts +1 -1
  178. package/dist/types/helpers/event-manager/event-id/vega-event-id.d.ts +1 -0
  179. package/dist/types/helpers/feature-control/feature-flag.d.ts +2 -1
  180. package/dist/types/helpers/slimmers/element-appender-container/body-positioned-wrapper/body-positioned-wrapper.abstract.d.ts +15 -0
  181. package/dist/types/helpers/slimmers/element-appender-container/{position-relative-to-wrapper.d.ts → body-positioned-wrapper/position-relative-to-wrapper.d.ts} +5 -5
  182. package/dist/types/helpers/slimmers/element-appender-container/{vega-modal-wrapper.d.ts → body-positioned-wrapper/vega-modal-wrapper.d.ts} +5 -5
  183. package/dist/types/helpers/slimmers/element-appender-container/{vega-popover-wrapper.d.ts → body-positioned-wrapper/vega-popover-wrapper.d.ts} +5 -5
  184. package/dist/types/helpers/slimmers/element-appender-container/default-wrapper.d.ts +2 -2
  185. package/dist/types/helpers/slimmers/element-appender-container/element-appender-container-controller.d.ts +3 -3
  186. package/dist/types/helpers/slimmers/element-appender-slimmer.d.ts +1 -0
  187. package/dist/types/helpers/slimmers/position-calculation/base-position-calculation-strategy.d.ts +138 -0
  188. package/dist/types/helpers/slimmers/position-calculation/body-position-calculation-strategy.d.ts +34 -0
  189. package/dist/types/helpers/slimmers/position-calculation/position-calculation-controller.d.ts +54 -0
  190. package/dist/types/helpers/slimmers/position-calculation/screen-position-calculation-strategy.d.ts +34 -0
  191. package/dist/types/helpers/slimmers/position-calculation/test/body-position-calculation-strategy.test.d.ts +15 -0
  192. package/dist/types/helpers/ui/element-appender.d.ts +9 -24
  193. package/dist/types/types/components.type.d.ts +1 -0
  194. package/dist/vega/index.esm.js +1 -1
  195. package/dist/vega/{p-cf998fc5.entry.js → p-00c5aee5.entry.js} +1 -1
  196. package/dist/vega/{p-f6d4c1ff.entry.js → p-042b4b3f.entry.js} +1 -1
  197. package/dist/vega/{p-817a83c6.entry.js → p-07a8cf89.entry.js} +1 -1
  198. package/dist/vega/p-0abe1ade.entry.js +1 -0
  199. package/dist/vega/{p-74fcdbc6.entry.js → p-0f0e4198.entry.js} +1 -1
  200. package/dist/vega/{p-d7800ca2.entry.js → p-14f5a9ad.entry.js} +1 -1
  201. package/dist/vega/p-15023bad.entry.js +1 -0
  202. package/dist/vega/{p-38f26c82.entry.js → p-1be2fd46.entry.js} +1 -1
  203. package/dist/vega/p-1bfcb6b7.entry.js +1 -0
  204. package/dist/vega/p-1e6c23e0.entry.js +1 -0
  205. package/dist/vega/{p-b0a6421a.entry.js → p-20d9c07c.entry.js} +1 -1
  206. package/dist/vega/p-2306c736.js +1 -0
  207. package/dist/vega/{p-8ef03eed.js → p-302e7589.js} +1 -1
  208. package/dist/vega/p-34710a3c.entry.js +1 -0
  209. package/dist/vega/{p-0bbcc81a.entry.js → p-438caeb3.entry.js} +1 -1
  210. package/dist/vega/{p-319efe6c.js → p-4ffd7493.js} +1 -1
  211. package/dist/vega/{p-ed4a26e7.entry.js → p-57d9bde6.entry.js} +1 -1
  212. package/dist/vega/p-5f377954.js +1 -1
  213. package/dist/vega/{p-ff7bd85f.entry.js → p-623fe226.entry.js} +1 -1
  214. package/dist/vega/{p-1d94428c.entry.js → p-63bee4f1.entry.js} +1 -1
  215. package/dist/vega/{p-6ac3ba21.entry.js → p-64ff6318.entry.js} +1 -1
  216. package/dist/vega/p-6e6ec77d.entry.js +1 -0
  217. package/dist/vega/{p-86eda597.entry.js → p-72ecc510.entry.js} +1 -1
  218. package/dist/vega/p-79019d08.js +1 -0
  219. package/dist/vega/p-7941701a.entry.js +1 -0
  220. package/dist/vega/{p-689ee038.entry.js → p-799cb0a4.entry.js} +1 -1
  221. package/dist/vega/{p-1678b69f.entry.js → p-7a6a0740.entry.js} +1 -1
  222. package/dist/vega/p-80785fcf.entry.js +1 -0
  223. package/dist/vega/{p-0ae9b900.entry.js → p-83ef4c13.entry.js} +1 -1
  224. package/dist/vega/{p-ad31be2c.entry.js → p-87cd0d6a.entry.js} +1 -1
  225. package/dist/vega/{p-b771268b.entry.js → p-8cfe4027.entry.js} +1 -1
  226. package/dist/vega/{p-5dbcab1b.entry.js → p-9281cdb2.entry.js} +1 -1
  227. package/dist/vega/p-95b25b97.entry.js +1 -0
  228. package/dist/vega/p-9b45e5dc.entry.js +1 -0
  229. package/dist/vega/{p-0a91f217.entry.js → p-9b9c0afb.entry.js} +1 -1
  230. package/dist/vega/{p-92aaed64.entry.js → p-9ba68531.entry.js} +2 -2
  231. package/dist/vega/{p-dacf5572.entry.js → p-a66ea015.entry.js} +1 -1
  232. package/dist/vega/{p-d0756d70.entry.js → p-a67748c6.entry.js} +1 -1
  233. package/dist/vega/{p-53bb8cde.entry.js → p-a6e1d9bc.entry.js} +1 -1
  234. package/dist/vega/{p-8b0533c4.entry.js → p-b1a249ef.entry.js} +1 -1
  235. package/dist/vega/{p-cf4fea44.entry.js → p-b6e49ee9.entry.js} +1 -1
  236. package/dist/vega/{p-d045099d.entry.js → p-be6041fc.entry.js} +1 -1
  237. package/dist/vega/{p-2ae04da9.entry.js → p-bf38199b.entry.js} +1 -1
  238. package/dist/vega/p-bf3fbb9b.js +1 -0
  239. package/dist/vega/p-c06e7880.js +1 -0
  240. package/dist/vega/{p-e42a2a12.entry.js → p-c3c2890e.entry.js} +1 -1
  241. package/dist/vega/{p-b3417358.entry.js → p-c6ed1982.entry.js} +1 -1
  242. package/dist/vega/p-cdebfee7.entry.js +1 -0
  243. package/dist/vega/{p-e4d6e2c8.entry.js → p-d3c07efa.entry.js} +1 -1
  244. package/dist/vega/p-d71f968e.entry.js +1 -0
  245. package/dist/vega/{p-30693931.entry.js → p-e165c9f1.entry.js} +1 -1
  246. package/dist/vega/{p-19769aba.js → p-e5d7b4b8.js} +1 -1
  247. package/dist/vega/{p-ebb93b96.entry.js → p-e6f91767.entry.js} +1 -1
  248. package/dist/vega/p-ed237efc.js +1 -0
  249. package/dist/vega/{p-a105e4de.js → p-f2851f16.js} +1 -1
  250. package/dist/vega/{p-975c5a3a.entry.js → p-fb3233db.entry.js} +1 -1
  251. package/dist/vega/{p-a0f5d2cc.entry.js → p-ff22a95f.entry.js} +1 -1
  252. package/dist/vega/vega.esm.js +1 -1
  253. package/package.json +4 -2
  254. package/dist/collection/utils/position.js +0 -373
  255. package/dist/types/utils/position.d.ts +0 -17
  256. package/dist/vega/p-001c0b51.entry.js +0 -1
  257. package/dist/vega/p-0064f5b1.entry.js +0 -1
  258. package/dist/vega/p-19ef612a.js +0 -1
  259. package/dist/vega/p-1f03b576.entry.js +0 -1
  260. package/dist/vega/p-270b0d1a.entry.js +0 -1
  261. package/dist/vega/p-28c78b79.entry.js +0 -1
  262. package/dist/vega/p-31d530d2.entry.js +0 -1
  263. package/dist/vega/p-3f5e44c1.js +0 -1
  264. package/dist/vega/p-651e5c7d.entry.js +0 -1
  265. package/dist/vega/p-68823025.js +0 -1
  266. package/dist/vega/p-6b8277eb.js +0 -1
  267. package/dist/vega/p-7d02f723.entry.js +0 -1
  268. package/dist/vega/p-8bd09712.entry.js +0 -1
  269. package/dist/vega/p-a14be625.entry.js +0 -1
  270. package/dist/vega/p-cc272fbc.entry.js +0 -1
  271. package/dist/vega/p-e2c25432.entry.js +0 -1
  272. /package/dist/types/{utils/test/position.test.d.ts → helpers/slimmers/position-calculation/test/screen-position-calculation-strategy.test.d.ts} +0 -0
@@ -1,39 +1,39 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host, F as Fragment, g as getElement } from './index-187f71d1.js';
1
+ import { h, F as Fragment, H as Host, r as registerInstance, c as createEvent, g as getElement } from './index-187f71d1.js';
2
2
  import { R as RequiredFieldRule } from './required-field-rule-5da360cc.js';
3
- import { s as sanitizeVegaComponent, g as getActiveElement } from './component-cae24190.js';
3
+ import { g as getActiveElement, s as sanitizeVegaComponent } from './component-cae24190.js';
4
4
  import { N as isArrayOfType, O as isDropdownSourceItemType } from './type-guard-63caf78b.js';
5
- import { f as findParent } from './ui-0132dbb5.js';
6
- import { c as createEnterKeyHandlerToTriggerClick } from './accessibility-e5fd0fab.js';
7
- import { I as InjectKeyboardManager } from './inject-keyboard-manager-8a82e8c9.js';
8
- import { I as InjectVegaSlimmer } from './global-slimmer-registry-17c4efd4.js';
5
+ import { c as MapToComponentField, M as MapToComponentMethod, V as VegaSlimmer, I as InjectVegaSlimmer } from './global-slimmer-registry-17c4efd4.js';
9
6
  import { V as VegaComponentUsageRuntimeMetricsSlimmer, I as InjectVegaGlobalSlimmer } from './component-usage-runtime-metrics-b3f6ac79.js';
10
7
  import { F as FormFieldControllerSlimmer } from './form-field-controller-slimmer-a64c679c.js';
11
- import { C as ChildNodesEventPreventSlimmer } from './child-nodes-event-prevent-slimmer-4ecbc8aa.js';
12
- import { c as createEventEmitSlimmer } from './event-emit-slimmer-cb9d6f6c.js';
13
- import { D as DomNodeSubjectObserverFactory } from './dom-node-subject-observer-factory-9461cd67.js';
14
- import { e as VegaChange, j as VegaCreate, k as VegaSearch, m as VegaDropdownHide, b as VegaDropdownClick, c as VegaClose } from './vega-event-id-7465a011.js';
8
+ import { C as ChildNodesEventPreventSlimmer } from './child-nodes-event-prevent-slimmer-db288af1.js';
9
+ import { c as createEventEmitSlimmer } from './event-emit-slimmer-44cb4573.js';
10
+ import { j as VegaCreate, m as VegaDropdownHide, b as VegaDropdownClick, c as VegaClose, e as VegaChange, k as VegaSearch } from './vega-event-id-b1655cbc.js';
15
11
  import { b as FORM_ELEMENT_VALUE_CHANGE } from './static-subject-title-500cf2a3.js';
16
12
  import { C as ChangeManager } from './change-manager-6a7eb88c.js';
13
+ import { c as createEnterKeyHandlerToTriggerClick } from './accessibility-e5fd0fab.js';
14
+ import { D as DomNodeSubjectObserverFactory } from './dom-node-subject-observer-factory-9461cd67.js';
15
+ import { b as VegaInternalDropdownTemplateItemsChange } from './vega-internal-event-id-c8507b85.js';
16
+ import { K as KeyboardManagerSlimmer } from './keyboard-manager-slimmer-8723f20f.js';
17
+ import { f as findParent } from './ui-0132dbb5.js';
18
+ import { M as MutationObserverSlimmer } from './mutation-observer-slimmer-6cef9549.js';
19
+ import { T as TagNameMutationFilter } from './mutation-observer-filters-1035b064.js';
17
20
  import './breakpoints-36a3ed69.js';
18
21
  import './ui-8424715a.js';
19
22
  import './regex-dfe11abf.js';
20
23
  import './typography-a8fc4764.js';
21
- import './keyboard-manager-d1f9ddc1.js';
22
24
  import './string-be824360.js';
23
25
  import './observer-3959f9dd.js';
24
26
  import './create-public-api-runtime-metrics-slimmer-cc1164bb.js';
25
27
  import './dynamic-slimmer-90b8af32.js';
26
- import './vega-internal-event-id-c8507b85.js';
27
28
  import './translation-4eb3cf85.js';
28
29
  import './page-resize-observer-slimmer-994c1e1b.js';
29
- import './mutation-observer-slimmer-6cef9549.js';
30
- import './mutation-observer-filters-1035b064.js';
31
30
  import './array-b668466e.js';
32
31
  import './number-4398f2e1.js';
33
- import './internal-vega-event-manager-1ebfd1eb.js';
32
+ import './internal-vega-event-manager-8154661e.js';
34
33
  import './vega-env-manager-8f8dc473.js';
35
- import './feature-flag-controller-10780eeb.js';
34
+ import './feature-flag-controller-297c4b9b.js';
36
35
  import './index-0863eec6.js';
36
+ import './keyboard-manager-d1f9ddc1.js';
37
37
 
38
38
  const VegaComboBoxRuntimeMetricsPayloadDefinition = [
39
39
  {
@@ -62,6 +62,450 @@ const VegaComboBoxRuntimeMetricsPayloadDefinition = [
62
62
  },
63
63
  ];
64
64
 
65
+ var __decorate$6 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
66
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
67
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
68
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
69
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
70
+ };
71
+ class VegaComboBoxDropdownRenderer extends VegaSlimmer {
72
+ constructor() {
73
+ super(...arguments);
74
+ this.onItemClick = async () => {
75
+ this.valueController.setValue((await this.dropdownRef.getSelection()));
76
+ await this.clearInput();
77
+ };
78
+ this.onDropdownHide = async () => {
79
+ await this.clearInput();
80
+ };
81
+ this.onDropdownCreate = async (searchString) => {
82
+ this.createEventEmit.emit(searchString);
83
+ await this.clearInput();
84
+ };
85
+ /**
86
+ * The below method is e2e-test covered in
87
+ * @see{module:vega-combo-box-search-input}
88
+ * @see{module:vega-combo-box-vega-search-event-e2e}
89
+ */
90
+ /* istanbul ignore next */
91
+ this.onInputChange = async (e) => {
92
+ const value = e.target.value;
93
+ if (this.useDefaultFilter || this.vegaDropdownProps.dynamicOption) {
94
+ await this.dropdownRef.show();
95
+ await this.dropdownRef.search(value);
96
+ }
97
+ if (this.isTemplateMode || !this.useDefaultFilter) {
98
+ this.searchEventEmit.emit(value);
99
+ }
100
+ };
101
+ }
102
+ connectedCallback() {
103
+ this.isTemplateMode = this.host.querySelector('[slot=items]') !== null;
104
+ }
105
+ getDropdownRef() {
106
+ return this.dropdownRef;
107
+ }
108
+ getSearchInputRef() {
109
+ return this.searchInputRef;
110
+ }
111
+ /**
112
+ * The below method is e2e-test covered in
113
+ * @see{module:vega-combo-box-focus-by-label-e2e}
114
+ */
115
+ /* istanbul ignore next */
116
+ focusInput() {
117
+ this.searchInputRef.focus();
118
+ }
119
+ async hide() {
120
+ await this.dropdownRef.hide();
121
+ }
122
+ async show() {
123
+ await this.dropdownRef.show();
124
+ }
125
+ replaceItemsSlot(itemsSlot) {
126
+ if (itemsSlot && this.itemsSlotRef) {
127
+ this.itemsSlotRef.remove();
128
+ this.dropdownRef.append(itemsSlot);
129
+ }
130
+ }
131
+ renderDropdown() {
132
+ return (h("vega-dropdown", Object.assign({ trigger: this.disabled ? 'none' : 'click', source: this.source, selectType: "multiple", selectedSourceKey: this.value, matchTargetWidth: true, useDefaultFilter: this.useDefaultFilter }, this.vegaDropdownProps, { ref: (ref) => {
133
+ this.dropdownRef = ref;
134
+ DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaCreate, async (payload) => {
135
+ await this.onDropdownCreate(payload.detail);
136
+ });
137
+ DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaDropdownHide, async () => {
138
+ await this.onDropdownHide();
139
+ });
140
+ DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaDropdownClick, async () => {
141
+ await this.onItemClick();
142
+ });
143
+ DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaInternalDropdownTemplateItemsChange,
144
+ /*
145
+ * The below method is e2e-test covered in
146
+ * @see{module:vega-combo-box-template-select-e2e}
147
+ */
148
+ /* istanbul ignore next */
149
+ (payload) => {
150
+ const addedItems = Array.from(payload)
151
+ .filter((item) => !this.source.find((sourceItem) => sourceItem.key === item.itemKey))
152
+ .map((item) => ({
153
+ key: item.itemKey,
154
+ label: item.label,
155
+ }));
156
+ this.sourceController.setSource([...this.source, ...addedItems]);
157
+ });
158
+ } }),
159
+ this.renderContainer(),
160
+ this.renderItemsSlot()));
161
+ }
162
+ renderContainer() {
163
+ return (h("div", { class: {
164
+ 'vega-combo-box-container': true,
165
+ [`vega-combo-box-size-${this.size}`]: true,
166
+ } },
167
+ this.renderSelectedContainer(),
168
+ this.renderInputContainer()));
169
+ }
170
+ renderItemsSlot() {
171
+ return (this.isTemplateMode && (h("div", { slot: "items", ref: (ref) => {
172
+ this.itemsSlotRef = ref;
173
+ } })));
174
+ }
175
+ renderSelectedContainer() {
176
+ const selected = this.value
177
+ .map((key) => this.source.find((item) => item.key === key))
178
+ .filter((item) => item);
179
+ return (h(Fragment, null, selected.map((item) => {
180
+ return this.renderSelectedChip(item);
181
+ })));
182
+ }
183
+ renderSelectedChip(item) {
184
+ return (h("vega-chip", {
185
+ //TODO: the key property test will add in https://gethired.atlassian.net/browse/VD-883
186
+ key: item.key, text: item.label, variant: "outlined", showCloseIcon: !this.disabled, size: "small", ref: (ref) => {
187
+ DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaClose, async () => {
188
+ await this.onChipClose(item.key);
189
+ });
190
+ } }));
191
+ }
192
+ renderInputContainer() {
193
+ return (h("div", { class: "vega-combo-box-input-container" },
194
+ h("input", { onInput: this.onInputChange, "aria-label": this.label || 'No label defined', placeholder: this.value.length === 0 ? this.placeholder : '', ref: (e) => (this.searchInputRef = e), onKeyDown: createEnterKeyHandlerToTriggerClick(), disabled: this.disabled })));
195
+ }
196
+ async onChipClose(key) {
197
+ this.valueController.setValue([...this.value.filter((value) => value !== key)]);
198
+ await this.dropdownRef.hide();
199
+ }
200
+ async clearInput() {
201
+ this.searchInputRef.value = '';
202
+ await this.dropdownRef.search('');
203
+ }
204
+ }
205
+ __decorate$6([
206
+ MapToComponentField()
207
+ ], VegaComboBoxDropdownRenderer.prototype, "host", void 0);
208
+ __decorate$6([
209
+ MapToComponentField()
210
+ ], VegaComboBoxDropdownRenderer.prototype, "value", void 0);
211
+ __decorate$6([
212
+ MapToComponentField()
213
+ ], VegaComboBoxDropdownRenderer.prototype, "source", void 0);
214
+ __decorate$6([
215
+ MapToComponentField()
216
+ ], VegaComboBoxDropdownRenderer.prototype, "disabled", void 0);
217
+ __decorate$6([
218
+ MapToComponentField()
219
+ ], VegaComboBoxDropdownRenderer.prototype, "size", void 0);
220
+ __decorate$6([
221
+ MapToComponentField()
222
+ ], VegaComboBoxDropdownRenderer.prototype, "vegaDropdownProps", void 0);
223
+ __decorate$6([
224
+ MapToComponentField()
225
+ ], VegaComboBoxDropdownRenderer.prototype, "label", void 0);
226
+ __decorate$6([
227
+ MapToComponentField()
228
+ ], VegaComboBoxDropdownRenderer.prototype, "placeholder", void 0);
229
+ __decorate$6([
230
+ MapToComponentField()
231
+ ], VegaComboBoxDropdownRenderer.prototype, "useDefaultFilter", void 0);
232
+ __decorate$6([
233
+ MapToComponentField()
234
+ ], VegaComboBoxDropdownRenderer.prototype, "createEventEmit", void 0);
235
+ __decorate$6([
236
+ MapToComponentField()
237
+ ], VegaComboBoxDropdownRenderer.prototype, "searchEventEmit", void 0);
238
+ __decorate$6([
239
+ MapToComponentField()
240
+ ], VegaComboBoxDropdownRenderer.prototype, "valueController", void 0);
241
+ __decorate$6([
242
+ MapToComponentField()
243
+ ], VegaComboBoxDropdownRenderer.prototype, "sourceController", void 0);
244
+ __decorate$6([
245
+ MapToComponentMethod('connectedCallback')
246
+ ], VegaComboBoxDropdownRenderer.prototype, "connectedCallback", null);
247
+
248
+ var __decorate$5 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
249
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
250
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
251
+ 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;
252
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
253
+ };
254
+ /**
255
+ * The value controller of `VegaComboBox` component.
256
+ */
257
+ class VegaComboBoxValueController extends VegaSlimmer {
258
+ /**
259
+ * The function `setValue` sets the value of a VegaComboBox component.
260
+ *
261
+ * @param {string[]} value - value
262
+ */
263
+ setValue(value) {
264
+ this.value = value;
265
+ }
266
+ }
267
+ __decorate$5([
268
+ MapToComponentField({ writable: true })
269
+ ], VegaComboBoxValueController.prototype, "value", void 0);
270
+
271
+ var __decorate$4 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
272
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
273
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
274
+ 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;
275
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
276
+ };
277
+ class VegaComboBoxRenderer extends VegaSlimmer {
278
+ constructor() {
279
+ super(...arguments);
280
+ /**
281
+ * The below method is e2e-test covered in
282
+ * @see{module:vega-combo-box-focus-by-label-e2e}
283
+ */
284
+ /* istanbul ignore next */
285
+ this.onLabelClick = () => {
286
+ this.dropdownRenderer.focusInput();
287
+ };
288
+ }
289
+ render() {
290
+ return (h(Host, { class: {
291
+ 'vega-combo-box-disabled': this.disabled,
292
+ } },
293
+ this.renderLabel(),
294
+ this.dropdownRenderer.renderDropdown(),
295
+ this.renderHint()));
296
+ }
297
+ renderLabel() {
298
+ return (h("vega-field-label", { onClick: this.onLabelClick, "is-field-required": this.required, disabled: this.disabled, label: this.label }));
299
+ }
300
+ renderHint() {
301
+ return h("div", { class: "vega-combo-box-hint" }, this.hint);
302
+ }
303
+ }
304
+ __decorate$4([
305
+ MapToComponentField()
306
+ ], VegaComboBoxRenderer.prototype, "required", void 0);
307
+ __decorate$4([
308
+ MapToComponentField()
309
+ ], VegaComboBoxRenderer.prototype, "hint", void 0);
310
+ __decorate$4([
311
+ MapToComponentField()
312
+ ], VegaComboBoxRenderer.prototype, "disabled", void 0);
313
+ __decorate$4([
314
+ MapToComponentField()
315
+ ], VegaComboBoxRenderer.prototype, "dropdownRenderer", void 0);
316
+ __decorate$4([
317
+ MapToComponentField()
318
+ ], VegaComboBoxRenderer.prototype, "label", void 0);
319
+
320
+ var __decorate$3 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
321
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
322
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
323
+ 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;
324
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
325
+ };
326
+ /**
327
+ * Keyboard controller for vega-combo-box
328
+ */
329
+ class VegaComboBoxKeyboardController extends KeyboardManagerSlimmer {
330
+ /** The function sets up the functionality of key board control */
331
+ constructor() {
332
+ super((target) => [
333
+ {
334
+ keyCode: 'Backspace',
335
+ activeElementInScope: [target.dropdownRenderer.getSearchInputRef()],
336
+ eventName: 'keydown',
337
+ callback: target.deleteLastSelectedItem,
338
+ },
339
+ {
340
+ keyCode: 'ArrowLeft',
341
+ activeElementInScope: [target.host],
342
+ callback:
343
+ /* istanbul ignore next */
344
+ /* eslint-disable jsdoc/require-jsdoc */
345
+ () => target.controlDirectionByKeyboard('ArrowLeft'),
346
+ },
347
+ {
348
+ keyCode: 'ArrowRight',
349
+ activeElementInScope: [target.host],
350
+ callback:
351
+ /* istanbul ignore next */
352
+ /* eslint-disable jsdoc/require-jsdoc */
353
+ () => target.controlDirectionByKeyboard('ArrowRight'),
354
+ },
355
+ ]);
356
+ /*
357
+ * The below method is e2e-test covered in
358
+ * @see{module:vega-combo-box-keyboard-control-e2e}
359
+ * @see{module:vega-combo-box-keyboard-control-for-selected-items-e2e}
360
+ */
361
+ /* istanbul ignore next */
362
+ /**
363
+ * Delete last item when press `Backspace` key
364
+ */
365
+ this.deleteLastSelectedItem = () => {
366
+ if (this.dropdownRenderer.getSearchInputRef().value === '') {
367
+ this.value.pop();
368
+ this.valueController.setValue([...this.value]);
369
+ }
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
+ /**
379
+ * Handles keyboard input to navigate between elements, focusing on the previous or next element based on the key pressed.
380
+ *
381
+ * @param {KeyboardCodeType} code - code
382
+ */
383
+ controlDirectionByKeyboard(code) {
384
+ const activeElement = getActiveElement();
385
+ if (activeElement && activeElement.classList.contains('vega-chip-close-icon')) {
386
+ const currentChip = findParent(activeElement, 'vega-chip');
387
+ if (code === 'ArrowLeft')
388
+ this.focusItemByKeyboard(currentChip.previousSibling);
389
+ if (code === 'ArrowRight')
390
+ this.focusItemByKeyboard(currentChip.nextSibling);
391
+ }
392
+ else if (code === 'ArrowLeft' && this.dropdownRenderer.getSearchInputRef().selectionStart === 0) {
393
+ this.focusItemByKeyboard(this.host.shadowRoot.querySelector('vega-chip:last-of-type'));
394
+ }
395
+ }
396
+ /*
397
+ * The below method is e2e-test covered in
398
+ * @see{module:vega-combo-box-keyboard-control-e2e}
399
+ * @see{module:vega-combo-box-keyboard-control-for-selected-items-e2e}
400
+ */
401
+ /* istanbul ignore next */
402
+ /**
403
+ * The function is used to focus on a specific element based on its class name.
404
+ *
405
+ * @param {HTMLElement} item - item
406
+ */
407
+ focusItemByKeyboard(item) {
408
+ if (item) {
409
+ if (item.classList.contains('vega-combo-box-input-container')) {
410
+ item.querySelector('input').focus();
411
+ }
412
+ else {
413
+ item.shadowRoot.querySelector('.vega-chip-close-icon').focus();
414
+ }
415
+ }
416
+ }
417
+ }
418
+ __decorate$3([
419
+ MapToComponentField()
420
+ ], VegaComboBoxKeyboardController.prototype, "host", void 0);
421
+ __decorate$3([
422
+ MapToComponentField()
423
+ ], VegaComboBoxKeyboardController.prototype, "value", void 0);
424
+ __decorate$3([
425
+ MapToComponentField()
426
+ ], VegaComboBoxKeyboardController.prototype, "dropdownRenderer", void 0);
427
+ __decorate$3([
428
+ MapToComponentField()
429
+ ], VegaComboBoxKeyboardController.prototype, "valueController", void 0);
430
+
431
+ var __decorate$2 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
432
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
433
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
434
+ 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;
435
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
436
+ };
437
+ /**
438
+ * The class `VegaInputSelectItemsSlotController` extends `VegaSlimmer` and manages
439
+ * appending host items to a dropdown element.
440
+ */
441
+ class VegaComboBoxItemsSlotController extends VegaSlimmer {
442
+ constructor() {
443
+ super(...arguments);
444
+ this.mutationObserver = new MutationObserverSlimmer({
445
+ mutationFilter: TagNameMutationFilter('VEGA-DROPDOWN-ITEM'),
446
+ options: {
447
+ childList: true,
448
+ subtree: true,
449
+ },
450
+ callback:
451
+ /*
452
+ * The below method is e2e-test covered in
453
+ * @see{module:vega-combo-box-template-slot-change-e2e}
454
+ */
455
+ /* istanbul ignore next */
456
+ // eslint-disable-next-line jsdoc/require-jsdoc
457
+ () => this.appendHostItemsToDropdown(),
458
+ });
459
+ }
460
+ /**
461
+ * Component lifecycle - [componentDidLoad]
462
+ */
463
+ componentDidLoad() {
464
+ this.appendHostItemsToDropdown();
465
+ }
466
+ /**
467
+ * The function appends host items to a dropdown element.
468
+ */
469
+ appendHostItemsToDropdown() {
470
+ this.dropdownRenderer.replaceItemsSlot(this.host.querySelector('[slot=items]'));
471
+ }
472
+ }
473
+ __decorate$2([
474
+ InjectVegaSlimmer()
475
+ ], VegaComboBoxItemsSlotController.prototype, "mutationObserver", void 0);
476
+ __decorate$2([
477
+ MapToComponentField()
478
+ ], VegaComboBoxItemsSlotController.prototype, "host", void 0);
479
+ __decorate$2([
480
+ MapToComponentField()
481
+ ], VegaComboBoxItemsSlotController.prototype, "dropdownRenderer", void 0);
482
+ __decorate$2([
483
+ MapToComponentMethod('componentDidLoad')
484
+ ], VegaComboBoxItemsSlotController.prototype, "componentDidLoad", null);
485
+
486
+ var __decorate$1 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
487
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
488
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
489
+ 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;
490
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
491
+ };
492
+ /**
493
+ * The source controller of `VegaComboBox` component.
494
+ */
495
+ class VegaComboBoxSourceController extends VegaSlimmer {
496
+ /**
497
+ * The function `setSource` sets the source of a VegaComboBox component.
498
+ *
499
+ * @param {string[]} source - source
500
+ */
501
+ setSource(source) {
502
+ this.source = source;
503
+ }
504
+ }
505
+ __decorate$1([
506
+ MapToComponentField({ writable: true })
507
+ ], VegaComboBoxSourceController.prototype, "source", void 0);
508
+
65
509
  const vegaComboBoxCss = ":host{display:inline-block;width:100%;min-width:0px;text-align:left;line-height:normal}.vega-combo-box-container{border:1px solid rgba(var(--v-border-input-field, 171, 198, 216, 1));background-color:rgba(var(--v-bg-primary, 252, 252, 252, 1));padding-left:16px;padding-right:16px;padding-top:12px;padding-bottom:12px;border-radius:8px;gap:8px;display:block;display:flex;flex-wrap:wrap;align-items:center;cursor:pointer}.vega-combo-box-container:hover{border:1px solid rgba(var(--v-border-input-field-hover, 115, 160, 190, 1))}.vega-combo-box-container:focus-within{border:1px solid rgba(var(--v-border-input-field-focus, 19, 98, 226, 1));box-shadow:0 0 0 4px rgba(var(--v-ring-input-focus, 19, 98, 226, 0.25))}.vega-combo-box-container .vega-combo-box-input-container{width:-webkit-min-content;width:-moz-min-content;width:min-content;flex-grow:1}.vega-combo-box-container input{border-style:none;background-color:rgba(var(--v-bg-transparent, 0, 0, 0, 0));font-family:\"Inter\", sans-serif;font-size:16px;font-weight:400;line-height:24px;letter-spacing:0px;color:rgba(var(--v-text-primary, 32, 54, 69, 1));width:100%}@media screen and (min-width: 768px) and (max-width: 1023px){.vega-combo-box-container input{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:400;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.vega-combo-box-container input{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:400;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.vega-combo-box-container input{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:400;line-height:24px;letter-spacing:0px}}.vega-combo-box-container input:focus{outline:2px solid transparent;outline-offset:2px}.vega-combo-box-size-medium{padding-left:12px;padding-right:12px;padding-top:11px;padding-bottom:11px}.vega-combo-box-size-small{padding-left:12px;padding-right:12px;padding-top:7px;padding-bottom:7px}.vega-combo-box-container:focus{outline:none}vega-field-label{margin-bottom:8px}.error .vega-combo-box-container{border:1px solid rgba(var(--v-border-input-field-danger, 230, 50, 87, 1))}.error .vega-combo-box-container:hover{border:1px solid rgba(var(--v-border-input-field-danger-hover, 255, 87, 114, 1))}.error .vega-combo-box-container:focus-within{border:1px solid rgba(var(--v-border-input-field-danger-focus, 233, 71, 104, 1));box-shadow:0 0 0 4px rgba(var(--v-ring-input-danger-focus, 230, 50, 87, 0.25))}:host(.vega-combo-box-disabled) .vega-combo-box-container{border:1px solid rgba(var(--v-border-input-field-disabled, 222, 225, 227, 1));background-color:rgba(var(--v-bg-secondary, 245, 247, 247, 1));--tw-shadow:0 0 #0000;box-shadow:rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px}:host(.vega-combo-box-disabled) .vega-combo-box-container:hover{border:1px solid rgba(var(--v-border-input-field-disabled, 222, 225, 227, 1))}:host(.vega-combo-box-disabled) vega-icon{color:rgba(var(--v-text-disabled, 176, 180, 181, 1))}.vega-combo-box-container input::placeholder{color:rgba(var(--v-text-input-placeholder, 176, 180, 181, 1))}.vega-error{display:inline-block;padding-left:8px;padding-right:8px;padding-top:8px;font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px;color:rgba(var(--v-text-error, 189, 41, 71, 1))}@media screen and (min-width: 768px) and (max-width: 1023px){.vega-error{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.vega-error{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.vega-error{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}.vega-hidden{display:none}.vega-combo-box-hint{padding-left:8px;padding-right:8px;font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px;color:rgba(var(--v-text-secondary, 107, 116, 125, 1));padding-top:8px}@media screen and (min-width: 768px) and (max-width: 1023px){.vega-combo-box-hint{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.vega-combo-box-hint{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.vega-combo-box-hint{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}.vega-error:not(.vega-hidden)+.vega-combo-box-hint{padding-top:4px}vega-dropdown{display:block}";
66
510
 
67
511
  var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
@@ -84,6 +528,12 @@ const VegaComboBox = class {
84
528
  this.vegaSearch = createEvent(this, "vegaSearch", 7);
85
529
  this.search = createEvent(this, "search", 7);
86
530
  this.globalSlimmers = {};
531
+ this.itemsSlotController = new VegaComboBoxItemsSlotController();
532
+ this.keyboardController = new VegaComboBoxKeyboardController();
533
+ this.valueController = new VegaComboBoxValueController();
534
+ this.sourceController = new VegaComboBoxSourceController();
535
+ this.renderer = new VegaComboBoxRenderer();
536
+ this.dropdownRenderer = new VegaComboBoxDropdownRenderer();
87
537
  this.formFieldController = new FormFieldControllerSlimmer({
88
538
  propertyRules: [
89
539
  {
@@ -94,13 +544,13 @@ const VegaComboBox = class {
94
544
  validationRulesName: 'validationRules',
95
545
  defaultValue: [],
96
546
  attributeGetter: (propertyName) => this[propertyName],
97
- inputContainerGetter: () => this.dropdownRef,
98
- touchableAreaGetter: () => [this.searchInputRef],
547
+ inputContainerGetter: () => this.dropdownRenderer.getDropdownRef(),
548
+ touchableAreaGetter: () => [this.dropdownRenderer.getSearchInputRef()],
99
549
  });
100
550
  this.changeEventEmit = createEventEmitSlimmer(VegaComboBox, VegaChange);
101
551
  this.createEventEmit = createEventEmitSlimmer(VegaComboBox, VegaCreate);
102
552
  this.searchEventEmit = createEventEmitSlimmer(VegaComboBox, VegaSearch);
103
- this.dropdownEventPrevent = new ChildNodesEventPreventSlimmer([VegaCreate, VegaSearch], () => this.dropdownRef, {
553
+ this.dropdownEventPrevent = new ChildNodesEventPreventSlimmer([VegaCreate, VegaSearch], () => this.dropdownRenderer.getDropdownRef(), {
104
554
  customPreventHandle: (e) => {
105
555
  e.stopImmediatePropagation();
106
556
  },
@@ -137,6 +587,7 @@ const VegaComboBox = class {
137
587
  *
138
588
  * @vegaVersion 1.11.0
139
589
  */
590
+ /* eslint-disable-next-line @stencil/strict-mutable */
140
591
  this.value = [];
141
592
  /**
142
593
  * Specifies the validation status of the combo box component.
@@ -204,53 +655,6 @@ const VegaComboBox = class {
204
655
  * @vegaVersion 1.24.0
205
656
  */
206
657
  this.useDefaultFilter = true;
207
- this.onItemClick = async () => {
208
- this.value = (await this.dropdownRef.getSelection());
209
- await this.clearInput();
210
- };
211
- this.onDropdownHide = async () => {
212
- await this.clearInput();
213
- };
214
- this.onDropdownCreate = async (searchString) => {
215
- this.createEventEmit.emit(searchString);
216
- await this.clearInput();
217
- };
218
- /**
219
- * The below method is e2e-test covered in
220
- * @see{module:vega-combo-box-search-input}
221
- * @see{module:vega-combo-box-vega-search-event-e2e}
222
- */
223
- /* istanbul ignore next */
224
- this.onInputChange = async (e) => {
225
- const value = e.target.value;
226
- if (this.useDefaultFilter) {
227
- await this.dropdownRef.show();
228
- await this.dropdownRef.search(value);
229
- }
230
- else {
231
- this.searchEventEmit.emit(value);
232
- }
233
- };
234
- /**
235
- * The below method is e2e-test covered in
236
- * @see{module:vega-combo-box-focus-by-label-e2e}
237
- */
238
- /* istanbul ignore next */
239
- this.onLabelClick = () => {
240
- this.searchInputRef.focus();
241
- };
242
- /**
243
- * The below method is e2e-test covered in
244
- * @see{module:vega-combo-box-keyboard-control-e2e}
245
- * @see{module:vega-combo-box-keyboard-control-for-selected-items-e2e}
246
- */
247
- /* istanbul ignore next */
248
- this.deleteLastSelectedItem = () => {
249
- if (this.searchInputRef.value === '') {
250
- this.value.pop();
251
- this.value = [...this.value];
252
- }
253
- };
254
658
  }
255
659
  watchSource() {
256
660
  this.source = isArrayOfType(this.source, isDropdownSourceItemType)
@@ -273,7 +677,7 @@ const VegaComboBox = class {
273
677
  */
274
678
  async close() {
275
679
  if (!this.disabled) {
276
- await this.dropdownRef.hide();
680
+ await this.dropdownRenderer.hide();
277
681
  }
278
682
  }
279
683
  /**
@@ -283,103 +687,11 @@ const VegaComboBox = class {
283
687
  */
284
688
  async open() {
285
689
  if (!this.disabled) {
286
- await this.dropdownRef.show();
690
+ await this.dropdownRenderer.show();
287
691
  }
288
692
  }
289
693
  render() {
290
- return sanitizeVegaComponent(h(Host, { class: {
291
- 'vega-combo-box-disabled': this.disabled,
292
- } }, this.renderLabel(), this.renderDropdown(), this.renderHint()), this.host);
293
- }
294
- renderLabel() {
295
- return (h("vega-field-label", { onClick: this.onLabelClick, "is-field-required": this.required, disabled: this.disabled, label: this.label }));
296
- }
297
- renderHint() {
298
- return h("div", { class: "vega-combo-box-hint" }, this.hint);
299
- }
300
- renderDropdown() {
301
- return (h("vega-dropdown", Object.assign({ trigger: this.disabled ? 'none' : 'click', source: this.source, selectType: "multiple", selectedSourceKey: this.value, matchTargetWidth: true }, this.vegaDropdownProps, { ref: (ref) => {
302
- this.dropdownRef = ref;
303
- DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaCreate, async (payload) => {
304
- await this.onDropdownCreate(payload.detail);
305
- });
306
- DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaDropdownHide, async () => {
307
- await this.onDropdownHide();
308
- });
309
- DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaDropdownClick, async () => {
310
- await this.onItemClick();
311
- });
312
- } }), this.renderContainer()));
313
- }
314
- renderContainer() {
315
- return (h("div", { class: {
316
- 'vega-combo-box-container': true,
317
- [`vega-combo-box-size-${this.size}`]: true,
318
- } }, this.renderSelectedContainer(), this.renderInputContainer()));
319
- }
320
- renderSelectedContainer() {
321
- const selected = this.value
322
- .map((key) => this.source.find((item) => item.key === key))
323
- .filter((item) => item);
324
- return (h(Fragment, null, selected.map((item) => {
325
- return this.renderSelectedChip(item);
326
- })));
327
- }
328
- renderSelectedChip(item) {
329
- return (h("vega-chip", {
330
- //TODO: the key property test will add in https://gethired.atlassian.net/browse/VD-883
331
- key: item.key, text: item.label, variant: "outlined", showCloseIcon: !this.disabled, size: "small", ref: (ref) => {
332
- DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaClose, async () => {
333
- await this.onChipClose(item.key);
334
- });
335
- }
336
- }));
337
- }
338
- renderInputContainer() {
339
- return (h("div", { class: "vega-combo-box-input-container" }, h("input", { onInput: this.onInputChange, "aria-label": this.label || 'No label defined', placeholder: this.value.length === 0 ? this.placeholder : '', ref: (e) => (this.searchInputRef = e), onKeyDown: createEnterKeyHandlerToTriggerClick(), disabled: this.disabled })));
340
- }
341
- async onChipClose(key) {
342
- this.value = [...this.value.filter((value) => value !== key)];
343
- await this.dropdownRef.hide();
344
- }
345
- async clearInput() {
346
- this.searchInputRef.value = '';
347
- await this.dropdownRef.search('');
348
- }
349
- /**
350
- * The below method is e2e-test covered in
351
- * @see{module:vega-combo-box-keyboard-control-e2e}
352
- * @see{module:vega-combo-box-keyboard-control-for-selected-items-e2e}
353
- */
354
- /* istanbul ignore next */
355
- controlDirectionByKeyboard(code) {
356
- const activeElement = getActiveElement();
357
- if (activeElement && activeElement.classList.contains('vega-chip-close-icon')) {
358
- const currentChip = findParent(activeElement, 'vega-chip');
359
- if (code === 'ArrowLeft')
360
- this.focusItemByKeyboard(currentChip.previousSibling);
361
- if (code === 'ArrowRight')
362
- this.focusItemByKeyboard(currentChip.nextSibling);
363
- }
364
- else if (code === 'ArrowLeft' && this.searchInputRef.selectionStart === 0) {
365
- this.focusItemByKeyboard(this.host.shadowRoot.querySelector('vega-chip:last-of-type'));
366
- }
367
- }
368
- /**
369
- * The below method is e2e-test covered in
370
- * @see{module:vega-combo-box-keyboard-control-e2e}
371
- * @see{module:vega-combo-box-keyboard-control-for-selected-items-e2e}
372
- */
373
- /* istanbul ignore next */
374
- focusItemByKeyboard(item) {
375
- if (item) {
376
- if (item.classList.contains('vega-combo-box-input-container')) {
377
- item.querySelector('input').focus();
378
- }
379
- else {
380
- item.shadowRoot.querySelector('.vega-chip-close-icon').focus();
381
- }
382
- }
694
+ return sanitizeVegaComponent(this.renderer.render(), this.host);
383
695
  }
384
696
  get host() { return getElement(this); }
385
697
  static get watchers() { return {
@@ -391,6 +703,24 @@ const VegaComboBox = class {
391
703
  __decorate([
392
704
  InjectVegaGlobalSlimmer()
393
705
  ], VegaComboBox.prototype, "globalSlimmers", void 0);
706
+ __decorate([
707
+ InjectVegaSlimmer()
708
+ ], VegaComboBox.prototype, "itemsSlotController", void 0);
709
+ __decorate([
710
+ InjectVegaSlimmer()
711
+ ], VegaComboBox.prototype, "keyboardController", void 0);
712
+ __decorate([
713
+ InjectVegaSlimmer()
714
+ ], VegaComboBox.prototype, "valueController", void 0);
715
+ __decorate([
716
+ InjectVegaSlimmer()
717
+ ], VegaComboBox.prototype, "sourceController", void 0);
718
+ __decorate([
719
+ InjectVegaSlimmer()
720
+ ], VegaComboBox.prototype, "renderer", void 0);
721
+ __decorate([
722
+ InjectVegaSlimmer()
723
+ ], VegaComboBox.prototype, "dropdownRenderer", void 0);
394
724
  __decorate([
395
725
  InjectVegaSlimmer()
396
726
  ], VegaComboBox.prototype, "formFieldController", void 0);
@@ -409,26 +739,6 @@ __decorate([
409
739
  __decorate([
410
740
  InjectVegaSlimmer()
411
741
  ], VegaComboBox.prototype, "vegaComponentUsageRuntimeMetricsSlimmer", void 0);
412
- __decorate([
413
- InjectKeyboardManager((target) => [
414
- {
415
- keyCode: 'Backspace',
416
- activeElementInScope: [target.searchInputRef],
417
- eventName: 'keydown',
418
- callback: target.deleteLastSelectedItem,
419
- },
420
- {
421
- keyCode: 'ArrowLeft',
422
- activeElementInScope: [target.host],
423
- callback: /* istanbul ignore next */ () => target.controlDirectionByKeyboard('ArrowLeft'),
424
- },
425
- {
426
- keyCode: 'ArrowRight',
427
- activeElementInScope: [target.host],
428
- callback: /* istanbul ignore next */ () => target.controlDirectionByKeyboard('ArrowRight'),
429
- },
430
- ])
431
- ], VegaComboBox.prototype, "host", void 0);
432
742
  VegaComboBox.style = vegaComboBoxCss;
433
743
 
434
744
  export { VegaComboBox as vega_combo_box };