@globalpayments/vega 2.16.0 → 2.17.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 (260) hide show
  1. package/dist/cjs/{app-globals-5e074c5e.js → app-globals-4e0416c1.js} +2 -2
  2. package/dist/cjs/{childNodesEventPreventSlimmer-7e1895d7.js → childNodesEventPreventSlimmer-6848c3cf.js} +1 -1
  3. package/dist/cjs/{eventEmitSlimmer-ea57144a.js → eventEmitSlimmer-1d70a720.js} +1 -1
  4. package/dist/cjs/{formFieldControllerSlimmer-9271a8b8.js → formFieldControllerSlimmer-8b54f14d.js} +1 -1
  5. package/dist/cjs/index.cjs.js +3 -3
  6. package/dist/cjs/{internalVegaEventManager-543c20cb.js → internalVegaEventManager-743a124d.js} +2 -2
  7. package/dist/cjs/loader.cjs.js +5 -5
  8. package/dist/cjs/{subStateObserverSlimmer-48ad20a1.js → subStateObserverSlimmer-60e4d6da.js} +28 -14
  9. package/dist/cjs/vega-accordion.cjs.entry.js +4 -4
  10. package/dist/cjs/vega-app-header-button.cjs.entry.js +4 -4
  11. package/dist/cjs/vega-banner.cjs.entry.js +3 -3
  12. package/dist/cjs/vega-breadcrumb.cjs.entry.js +4 -4
  13. package/dist/cjs/vega-button-circle.cjs.entry.js +4 -4
  14. package/dist/cjs/vega-button-group_2.cjs.entry.js +6 -6
  15. package/dist/cjs/vega-button-link.cjs.entry.js +4 -4
  16. package/dist/cjs/vega-button.cjs.entry.js +57 -12
  17. package/dist/cjs/vega-calendar_2.cjs.entry.js +830 -90
  18. package/dist/cjs/vega-carousel.cjs.entry.js +3 -3
  19. package/dist/cjs/vega-checkbox_2.cjs.entry.js +6 -6
  20. package/dist/cjs/vega-chip.cjs.entry.js +4 -4
  21. package/dist/cjs/vega-color-picker.cjs.entry.js +5 -5
  22. package/dist/cjs/vega-combo-box.cjs.entry.js +6 -6
  23. package/dist/cjs/vega-date-picker_2.cjs.entry.js +6 -6
  24. package/dist/cjs/vega-dialog_2.cjs.entry.js +4 -4
  25. package/dist/cjs/vega-dropdown_5.cjs.entry.js +308 -183
  26. package/dist/cjs/vega-field-label.cjs.entry.js +4 -4
  27. package/dist/cjs/vega-form.cjs.entry.js +6 -6
  28. package/dist/cjs/vega-image-uploader.cjs.entry.js +6 -6
  29. package/dist/cjs/vega-input-credit-card.cjs.entry.js +6 -6
  30. package/dist/cjs/vega-input-range.cjs.entry.js +6 -6
  31. package/dist/cjs/vega-input-select.cjs.entry.js +168 -58
  32. package/dist/cjs/vega-input.cjs.entry.js +5 -5
  33. package/dist/cjs/vega-item-toggle.cjs.entry.js +3 -3
  34. package/dist/cjs/vega-left-nav_5.cjs.entry.js +4 -4
  35. package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +1 -1
  36. package/dist/cjs/vega-page-notification_2.cjs.entry.js +1 -1
  37. package/dist/cjs/vega-pagination.cjs.entry.js +4 -4
  38. package/dist/cjs/vega-popover_2.cjs.entry.js +3 -3
  39. package/dist/cjs/vega-progress-tracker.cjs.entry.js +3 -3
  40. package/dist/cjs/vega-radio_2.cjs.entry.js +6 -6
  41. package/dist/cjs/vega-segment-control.cjs.entry.js +3 -3
  42. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +7 -7
  43. package/dist/cjs/{vega-skeleton-loader-controller-bac82c82.js → vega-skeleton-loader-controller-8932c0ed.js} +3 -3
  44. package/dist/cjs/vega-stepper.cjs.entry.js +6 -6
  45. package/dist/cjs/vega-tab-group_2.cjs.entry.js +4 -4
  46. package/dist/cjs/vega-table_8.cjs.entry.js +6 -6
  47. package/dist/cjs/vega-textarea.cjs.entry.js +6 -6
  48. package/dist/cjs/vega-time-picker_2.cjs.entry.js +6 -6
  49. package/dist/cjs/vega-toggle-switch.cjs.entry.js +3 -3
  50. package/dist/cjs/vega.cjs.js +5 -5
  51. package/dist/cjs/{vegaEventId-d7774262.js → vegaEventId-f375a6a3.js} +2 -0
  52. package/dist/cjs/{vegaInternalEventId-173c4941.js → vegaInternalEventId-ac38dd4b.js} +2 -0
  53. package/dist/collection/components/vega-button/slimmers/renderers/vega-button-loading-renderer.js +24 -0
  54. package/dist/collection/components/vega-button/vega-button.css +9 -1
  55. package/dist/collection/components/vega-button/vega-button.js +49 -7
  56. package/dist/collection/components/vega-calendar/slimmers/common/controllers/vega-calendar-current-period-controller.js +38 -24
  57. package/dist/collection/components/vega-calendar/slimmers/common/controllers/vega-calendar-event-controller.js +54 -1
  58. package/dist/collection/components/vega-calendar/slimmers/common/controllers/vega-calendar-view-controller.js +13 -21
  59. package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeatPattern/baseRepeatPattern.js +61 -0
  60. package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeatPattern/calendarEventDailyRepeatPattern.js +70 -0
  61. package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeatPattern/calendarEventMonthlyRepeatPattern.js +90 -0
  62. package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeatPattern/calendarEventRepeatPatternFactory.js +60 -0
  63. package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeatPattern/calendarEventWeeklyRepeatPattern.js +163 -0
  64. package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeatPattern/calendarEventYearlyRepeatPattern.js +92 -0
  65. package/dist/collection/components/vega-calendar/slimmers/common/helpers/test/calendarEventRepeatPatternFactory.test.js +105 -0
  66. package/dist/collection/components/vega-calendar/slimmers/common/layout/test/longEventLayoutGenerator.test.js +0 -5
  67. package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-switch-panel.js +1 -1
  68. package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/timed-event/layout/test/dayViewEventLayoutGenerator.test.js +0 -5
  69. package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/vega-calendar-view-with-time-renderer.js +21 -4
  70. package/dist/collection/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-view-renderer.js +45 -2
  71. package/dist/collection/components/vega-calendar/vega-calendar.css +0 -1
  72. package/dist/collection/components/vega-calendar/vega-calendar.js +51 -4
  73. package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-appender-controller.js +0 -4
  74. package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-children-controller.js +14 -1
  75. package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-scrollable-controller.js +142 -0
  76. package/dist/collection/components/vega-dropdown/slimmers/renderers/vega-dropdown-list-renderer.js +16 -50
  77. package/dist/collection/components/vega-dropdown/slimmers/renderers/vega-dropdown-renderer.js +6 -1
  78. package/dist/collection/components/vega-dropdown/vega-dropdown-item/slimmers/controllers/vega-dropdown-item-state-controller.js +1 -0
  79. package/dist/collection/components/vega-dropdown/vega-dropdown-item/slimmers/renderers/vega-dropdown-item-renderer.js +7 -5
  80. package/dist/collection/components/vega-dropdown/vega-dropdown-item/vega-dropdown-item.js +1 -1
  81. package/dist/collection/components/vega-dropdown/vega-dropdown.js +5 -2
  82. package/dist/collection/components/vega-input-select/slimmers/controllers/vega-input-select-dropdown-controller.js +23 -0
  83. package/dist/collection/components/vega-input-select/slimmers/controllers/vega-input-select-items-slot-controler.js +62 -0
  84. package/dist/collection/components/vega-input-select/slimmers/controllers/vega-input-select-source-controller.js +11 -0
  85. package/dist/collection/components/vega-input-select/slimmers/controllers/vega-input-select-value-controller.js +7 -10
  86. package/dist/collection/components/vega-input-select/slimmers/renderers/vega-input-select-dropdown-renderer.js +18 -2
  87. package/dist/collection/components/vega-input-select/vega-input-select.js +5 -0
  88. package/dist/collection/components/vega-loading-indicator/vega-loading-indicator.js +2 -2
  89. package/dist/collection/constants/ui.js +1 -1
  90. package/dist/collection/helpers/calendar/calendar-date.js +11 -0
  91. package/dist/collection/helpers/calendar/calendar-event.js +73 -24
  92. package/dist/collection/helpers/calendar/calendar-period/calendar-period.abstract.js +8 -0
  93. package/dist/collection/helpers/calendar/calendar-period/day-period.js +1 -0
  94. package/dist/collection/helpers/calendar/calendar-period/month-period.js +16 -3
  95. package/dist/collection/helpers/calendar/calendar-period/week-period.js +1 -0
  96. package/dist/collection/helpers/calendar/test/calendar-event.test.js +23 -20
  97. package/dist/collection/helpers/event-manager/eventID/componentEventIdMap.js +2 -2
  98. package/dist/collection/helpers/event-manager/eventID/vegaEventId.js +1 -1
  99. package/dist/collection/helpers/event-manager/eventID/vegaInternalEventId.js +1 -0
  100. package/dist/collection/helpers/slimmers/sub-state/subStateObserverSlimmer.js +27 -13
  101. package/dist/collection/helpers/slimmers/sub-state/test/sub-state-observer-slimmer.test.js +15 -3
  102. package/dist/collection/helpers/vega-telemetry-helper/test/vegaEnvManager.test.js +1 -1
  103. package/dist/collection/helpers/vega-telemetry-helper/vegaEnvManager.js +2 -2
  104. package/dist/esm/{app-globals-032d6105.js → app-globals-ba85a900.js} +2 -2
  105. package/dist/esm/{childNodesEventPreventSlimmer-b9c50cc4.js → childNodesEventPreventSlimmer-d0da4527.js} +1 -1
  106. package/dist/esm/{eventEmitSlimmer-9c33f04e.js → eventEmitSlimmer-7b16eef9.js} +1 -1
  107. package/dist/esm/{formFieldControllerSlimmer-85ff874e.js → formFieldControllerSlimmer-ea050a17.js} +1 -1
  108. package/dist/esm/index.js +3 -3
  109. package/dist/esm/{internalVegaEventManager-e1501923.js → internalVegaEventManager-71d00966.js} +2 -2
  110. package/dist/esm/loader.js +5 -5
  111. package/dist/esm/{subStateObserverSlimmer-354b33f6.js → subStateObserverSlimmer-2a8a615e.js} +28 -14
  112. package/dist/esm/vega-accordion.entry.js +4 -4
  113. package/dist/esm/vega-app-header-button.entry.js +4 -4
  114. package/dist/esm/vega-banner.entry.js +3 -3
  115. package/dist/esm/vega-breadcrumb.entry.js +4 -4
  116. package/dist/esm/vega-button-circle.entry.js +4 -4
  117. package/dist/esm/vega-button-group_2.entry.js +6 -6
  118. package/dist/esm/vega-button-link.entry.js +4 -4
  119. package/dist/esm/vega-button.entry.js +59 -14
  120. package/dist/esm/vega-calendar_2.entry.js +830 -90
  121. package/dist/esm/vega-carousel.entry.js +3 -3
  122. package/dist/esm/vega-checkbox_2.entry.js +6 -6
  123. package/dist/esm/vega-chip.entry.js +4 -4
  124. package/dist/esm/vega-color-picker.entry.js +5 -5
  125. package/dist/esm/vega-combo-box.entry.js +6 -6
  126. package/dist/esm/vega-date-picker_2.entry.js +6 -6
  127. package/dist/esm/vega-dialog_2.entry.js +4 -4
  128. package/dist/esm/vega-dropdown_5.entry.js +308 -183
  129. package/dist/esm/vega-field-label.entry.js +4 -4
  130. package/dist/esm/vega-form.entry.js +6 -6
  131. package/dist/esm/vega-image-uploader.entry.js +6 -6
  132. package/dist/esm/vega-input-credit-card.entry.js +6 -6
  133. package/dist/esm/vega-input-range.entry.js +6 -6
  134. package/dist/esm/vega-input-select.entry.js +168 -58
  135. package/dist/esm/vega-input.entry.js +5 -5
  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-loader-wrapper_2.entry.js +1 -1
  139. package/dist/esm/vega-page-notification_2.entry.js +1 -1
  140. package/dist/esm/vega-pagination.entry.js +4 -4
  141. package/dist/esm/vega-popover_2.entry.js +3 -3
  142. package/dist/esm/vega-progress-tracker.entry.js +3 -3
  143. package/dist/esm/vega-radio_2.entry.js +6 -6
  144. package/dist/esm/vega-segment-control.entry.js +3 -3
  145. package/dist/esm/vega-selection-tile_2.entry.js +7 -7
  146. package/dist/esm/{vega-skeleton-loader-controller-3f5500e5.js → vega-skeleton-loader-controller-778b12be.js} +3 -3
  147. package/dist/esm/vega-stepper.entry.js +6 -6
  148. package/dist/esm/vega-tab-group_2.entry.js +4 -4
  149. package/dist/esm/vega-table_8.entry.js +6 -6
  150. package/dist/esm/vega-textarea.entry.js +6 -6
  151. package/dist/esm/vega-time-picker_2.entry.js +6 -6
  152. package/dist/esm/vega-toggle-switch.entry.js +3 -3
  153. package/dist/esm/vega.js +5 -5
  154. package/dist/esm/{vegaEventId-680887e1.js → vegaEventId-f279bb62.js} +2 -1
  155. package/dist/esm/{vegaInternalEventId-600b3751.js → vegaInternalEventId-bde5d617.js} +2 -1
  156. package/dist/types/components/vega-button/slimmers/renderers/vega-button-loading-renderer.d.ts +13 -0
  157. package/dist/types/components/vega-button/vega-button.d.ts +16 -0
  158. package/dist/types/components/vega-calendar/slimmers/common/controllers/vega-calendar-current-period-controller.d.ts +12 -9
  159. package/dist/types/components/vega-calendar/slimmers/common/controllers/vega-calendar-event-controller.d.ts +20 -0
  160. package/dist/types/components/vega-calendar/slimmers/common/controllers/vega-calendar-view-controller.d.ts +8 -12
  161. package/dist/types/components/vega-calendar/slimmers/common/helpers/repeatPattern/baseRepeatPattern.d.ts +50 -0
  162. package/dist/types/components/vega-calendar/slimmers/common/helpers/repeatPattern/calendarEventDailyRepeatPattern.d.ts +43 -0
  163. package/dist/types/components/vega-calendar/slimmers/common/helpers/repeatPattern/calendarEventMonthlyRepeatPattern.d.ts +55 -0
  164. package/dist/types/components/vega-calendar/slimmers/common/helpers/repeatPattern/calendarEventRepeatPatternFactory.d.ts +34 -0
  165. package/dist/types/components/vega-calendar/slimmers/common/helpers/repeatPattern/calendarEventWeeklyRepeatPattern.d.ts +99 -0
  166. package/dist/types/components/vega-calendar/slimmers/common/helpers/repeatPattern/calendarEventYearlyRepeatPattern.d.ts +57 -0
  167. package/dist/types/components/vega-calendar/slimmers/common/helpers/test/calendarEventRepeatPatternFactory.test.d.ts +1 -0
  168. package/dist/types/components/vega-calendar/slimmers/day-view/renderers/vega-calendar-view-with-time-renderer.d.ts +8 -0
  169. package/dist/types/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-view-renderer.d.ts +23 -0
  170. package/dist/types/components/vega-calendar/types.d.ts +14 -2
  171. package/dist/types/components/vega-calendar/vega-calendar.d.ts +15 -3
  172. package/dist/types/components/vega-dropdown/slimmers/controllers/vega-dropdown-appender-controller.d.ts +0 -1
  173. package/dist/types/components/vega-dropdown/slimmers/controllers/vega-dropdown-children-controller.d.ts +4 -0
  174. package/dist/types/components/vega-dropdown/slimmers/controllers/vega-dropdown-scrollable-controller.d.ts +57 -0
  175. package/dist/types/components/vega-dropdown/slimmers/renderers/vega-dropdown-list-renderer.d.ts +7 -17
  176. package/dist/types/components/vega-dropdown/slimmers/renderers/vega-dropdown-renderer.d.ts +3 -0
  177. package/dist/types/components/vega-dropdown/vega-dropdown.d.ts +2 -1
  178. package/dist/types/components/vega-input-select/slimmers/controllers/vega-input-select-dropdown-controller.d.ts +2 -0
  179. package/dist/types/components/vega-input-select/slimmers/controllers/vega-input-select-items-slot-controler.d.ts +19 -0
  180. package/dist/types/components/vega-input-select/slimmers/controllers/vega-input-select-source-controller.d.ts +11 -1
  181. package/dist/types/components/vega-input-select/slimmers/controllers/vega-input-select-value-controller.d.ts +1 -1
  182. package/dist/types/components/vega-input-select/slimmers/renderers/vega-input-select-dropdown-renderer.d.ts +6 -0
  183. package/dist/types/components/vega-input-select/vega-input-select.d.ts +2 -0
  184. package/dist/types/components.d.ts +17 -1
  185. package/dist/types/constants/ui.d.ts +1 -1
  186. package/dist/types/helpers/calendar/calendar-date.d.ts +8 -0
  187. package/dist/types/helpers/calendar/calendar-event.d.ts +44 -2
  188. package/dist/types/helpers/calendar/calendar-period/calendar-period.abstract.d.ts +10 -2
  189. package/dist/types/helpers/calendar/calendar-period/day-period.d.ts +1 -0
  190. package/dist/types/helpers/calendar/calendar-period/month-period.d.ts +12 -0
  191. package/dist/types/helpers/calendar/calendar-period/week-period.d.ts +1 -0
  192. package/dist/types/helpers/event-manager/eventID/vegaEventId.d.ts +1 -1
  193. package/dist/types/helpers/event-manager/eventID/vegaInternalEventId.d.ts +1 -0
  194. package/dist/types/helpers/slimmers/sub-state/subStateObserverSlimmer.d.ts +9 -0
  195. package/dist/types/types/components.type.d.ts +1 -0
  196. package/dist/vega/index.esm.js +1 -1
  197. package/dist/vega/{p-0f88130f.entry.js → p-0ef3d3fd.entry.js} +1 -1
  198. package/dist/vega/p-1080d80a.js +1 -0
  199. package/dist/vega/{p-9d9f7c25.entry.js → p-154a3145.entry.js} +1 -1
  200. package/dist/vega/{p-cbb90cf6.entry.js → p-1bc3348e.entry.js} +1 -1
  201. package/dist/vega/{p-86d3e5eb.entry.js → p-255aa39b.entry.js} +1 -1
  202. package/dist/vega/p-29654e12.entry.js +1 -0
  203. package/dist/vega/{p-77b39fe7.entry.js → p-2f905e6f.entry.js} +1 -1
  204. package/dist/vega/p-3490dd8a.entry.js +1 -0
  205. package/dist/vega/p-3fee5d7e.entry.js +1 -0
  206. package/dist/vega/p-44f4924b.js +1 -0
  207. package/dist/vega/p-4546cd3d.entry.js +1 -0
  208. package/dist/vega/{p-77ff7c72.js → p-5141bcac.js} +1 -1
  209. package/dist/vega/{p-16608c5a.js → p-51e2c836.js} +1 -1
  210. package/dist/vega/{p-d7cb0227.entry.js → p-52bf3ce1.entry.js} +1 -1
  211. package/dist/vega/{p-cd05ab96.entry.js → p-5611cf4c.entry.js} +1 -1
  212. package/dist/vega/{p-40db8b33.entry.js → p-5e3f5e8e.entry.js} +1 -1
  213. package/dist/vega/p-642d58ff.js +1 -0
  214. package/dist/vega/{p-9b5e858e.entry.js → p-6470d034.entry.js} +1 -1
  215. package/dist/vega/{p-8e63fc54.entry.js → p-6877dc17.entry.js} +1 -1
  216. package/dist/vega/{p-1dfddf03.entry.js → p-69cf5269.entry.js} +1 -1
  217. package/dist/vega/{p-21675b8e.entry.js → p-70af1334.entry.js} +1 -1
  218. package/dist/vega/{p-bd1bc019.entry.js → p-7115c145.entry.js} +1 -1
  219. package/dist/vega/{p-7d22c459.entry.js → p-795927c4.entry.js} +1 -1
  220. package/dist/vega/{p-6ad96891.entry.js → p-7c1d2dcf.entry.js} +1 -1
  221. package/dist/vega/p-7f9cb4c0.entry.js +1 -0
  222. package/dist/vega/p-82fd348b.entry.js +1 -0
  223. package/dist/vega/p-8543f9c3.entry.js +1 -0
  224. package/dist/vega/{p-12e93c00.entry.js → p-8771bf66.entry.js} +1 -1
  225. package/dist/vega/{p-84787f59.entry.js → p-88cf7e56.entry.js} +1 -1
  226. package/dist/vega/{p-d7f7e2df.entry.js → p-8e7d6700.entry.js} +1 -1
  227. package/dist/vega/p-9119ad95.entry.js +1 -0
  228. package/dist/vega/p-9799f3d8.entry.js +1 -0
  229. package/dist/vega/{p-61c96c79.entry.js → p-a6c43909.entry.js} +1 -1
  230. package/dist/vega/{p-ceb5067a.entry.js → p-b23ad436.entry.js} +1 -1
  231. package/dist/vega/{p-c8e1b56d.entry.js → p-b570e6c7.entry.js} +1 -1
  232. package/dist/vega/{p-ba37eaad.entry.js → p-b6f68efd.entry.js} +1 -1
  233. package/dist/vega/{p-25f60a0b.entry.js → p-b8a47375.entry.js} +1 -1
  234. package/dist/vega/{p-7fd253e0.entry.js → p-b8d45e28.entry.js} +1 -1
  235. package/dist/vega/{p-9e5f7b82.js → p-bba06111.js} +1 -1
  236. package/dist/vega/{p-2066e3eb.entry.js → p-c1401fab.entry.js} +1 -1
  237. package/dist/vega/{p-a9f61d9e.entry.js → p-cafe75e8.entry.js} +1 -1
  238. package/dist/vega/{p-7d9934ee.entry.js → p-cf40587e.entry.js} +1 -1
  239. package/dist/vega/{p-7706a169.js → p-d126407a.js} +1 -1
  240. package/dist/vega/{p-fb34de30.entry.js → p-e373bc4d.entry.js} +1 -1
  241. package/dist/vega/p-eacf64be.js +1 -0
  242. package/dist/vega/{p-1d628d23.entry.js → p-ec4afdaa.entry.js} +1 -1
  243. package/dist/vega/{p-a9d3ea86.js → p-f0330fcc.js} +1 -1
  244. package/dist/vega/{p-c0ca1a1c.entry.js → p-f8a97354.entry.js} +1 -1
  245. package/dist/vega/{p-f5d3d49f.entry.js → p-f96ee751.entry.js} +1 -1
  246. package/dist/vega/vega.esm.js +1 -1
  247. package/package.json +1 -1
  248. package/dist/vega/p-1092a8ce.entry.js +0 -1
  249. package/dist/vega/p-43515fe4.entry.js +0 -1
  250. package/dist/vega/p-592e755b.entry.js +0 -1
  251. package/dist/vega/p-76265c0e.entry.js +0 -1
  252. package/dist/vega/p-9316cd6d.entry.js +0 -1
  253. package/dist/vega/p-a9c3e9fd.js +0 -1
  254. package/dist/vega/p-aae8855d.js +0 -1
  255. package/dist/vega/p-bb845e70.entry.js +0 -1
  256. package/dist/vega/p-c47d4933.js +0 -1
  257. package/dist/vega/p-c9f922bf.entry.js +0 -1
  258. package/dist/vega/p-ca1fae74.entry.js +0 -1
  259. package/dist/vega/p-eb461dad.entry.js +0 -1
  260. package/dist/vega/p-f1d8fd1c.js +0 -1
@@ -14,7 +14,7 @@ import { VegaCalendarMonthViewRenderer } from './slimmers/month-view/renderers/v
14
14
  import { VegaCalendarViewWithTimeRenderer } from './slimmers/day-view/renderers/vega-calendar-view-with-time-renderer';
15
15
  import { VegaCalendarTimeLineRenderer } from './slimmers/day-view/renderers/vega-calendar-time-line-renderer';
16
16
  import { createEventEmitSlimmer, } from '../../helpers/event-manager/slimmers/eventEmitSlimmer';
17
- import { VegaChange, VegaEventClick } from '../../helpers/event-manager/eventID/vegaEventId';
17
+ import { VegaChange, VegaDateDblClick, VegaEventClick, } from '../../helpers/event-manager/eventID/vegaEventId';
18
18
  import { VegaCalendarViewController } from './slimmers/common/controllers/vega-calendar-view-controller';
19
19
  import { VegaCalendarCurrentPeriodController } from './slimmers/common/controllers/vega-calendar-current-period-controller';
20
20
  import { ChildNodesEventPreventSlimmer } from '../../helpers/event-manager/slimmers/childNodesEventPreventSlimmer';
@@ -51,6 +51,7 @@ export class VegaCalendar {
51
51
  this.eventResponsiveController = new VegaCalendarEventResponsiveController();
52
52
  this.changeEventEmitter = createEventEmitSlimmer(VegaCalendar, VegaChange);
53
53
  this.eventClickEmitter = createEventEmitSlimmer(VegaCalendar, VegaEventClick);
54
+ this.dateDblClickEmitter = createEventEmitSlimmer(VegaCalendar, VegaDateDblClick);
54
55
  this.changeEventPrevent = new ChildNodesEventPreventSlimmer([VegaChange], () => this.switchPanelRenderer.getSwitchPanelRef());
55
56
  this.timeFormatNotifySlimmer = createSubStateNotifySlimmer(VegaCalendar, 'timeFormat', 'watchTimeFormat');
56
57
  this.calendarEvents = [];
@@ -65,10 +66,13 @@ export class VegaCalendar {
65
66
  this.timeFormat = '24-hour';
66
67
  }
67
68
  /**
68
- * watch the state calendar current period change
69
+ * Tracks changes to the current period state.
70
+ *
71
+ * @param {CalendarPeriod} newValue Specifies the new calendar period.
72
+ * @param {CalendarPeriod} oldValue Specifies the old calendar period.
69
73
  */
70
- watchCurrentPeriodChange() {
71
- methodPlaceholder();
74
+ watchCurrentPeriodChange(newValue, oldValue) {
75
+ methodPlaceholder(newValue, oldValue);
72
76
  }
73
77
  /**
74
78
  * Watch the view mode change
@@ -261,6 +265,46 @@ export class VegaCalendar {
261
265
  }
262
266
  }
263
267
  }
268
+ }, {
269
+ "method": "vegaDateDblClick",
270
+ "name": "vegaDateDblClick",
271
+ "bubbles": true,
272
+ "cancelable": true,
273
+ "composed": true,
274
+ "docs": {
275
+ "tags": [],
276
+ "text": "An event emitter notifying that a calendar date item has been double-clicked."
277
+ },
278
+ "complexType": {
279
+ "original": "VegaCalendarDateClickInfo",
280
+ "resolved": "VegaCalendarDateType & { hour: number; }",
281
+ "references": {
282
+ "VegaCalendarDateClickInfo": {
283
+ "location": "import",
284
+ "path": "./types"
285
+ }
286
+ }
287
+ }
288
+ }, {
289
+ "method": "dateDblClick",
290
+ "name": "dateDblClick",
291
+ "bubbles": true,
292
+ "cancelable": true,
293
+ "composed": true,
294
+ "docs": {
295
+ "tags": [],
296
+ "text": "An event emitter notifying that a calendar date item has been double-clicked."
297
+ },
298
+ "complexType": {
299
+ "original": "VegaCalendarDateClickInfo",
300
+ "resolved": "VegaCalendarDateType & { hour: number; }",
301
+ "references": {
302
+ "VegaCalendarDateClickInfo": {
303
+ "location": "import",
304
+ "path": "./types"
305
+ }
306
+ }
307
+ }
264
308
  }]; }
265
309
  static get elementRef() { return "host"; }
266
310
  static get watchers() { return [{
@@ -337,6 +381,9 @@ __decorate([
337
381
  __decorate([
338
382
  InjectVegaSlimmer()
339
383
  ], VegaCalendar.prototype, "eventClickEmitter", void 0);
384
+ __decorate([
385
+ InjectVegaSlimmer()
386
+ ], VegaCalendar.prototype, "dateDblClickEmitter", void 0);
340
387
  __decorate([
341
388
  InjectVegaSlimmer()
342
389
  ], VegaCalendar.prototype, "changeEventPrevent", void 0);
@@ -37,7 +37,6 @@ export class VegaDropdownAppenderController extends ElementAppenderSlimmer {
37
37
  */
38
38
  async watchIsDropdownShow() {
39
39
  if (this.isDropdownShow) {
40
- await this.renderer.listRenderer.scrollToIndex();
41
40
  this.showEventEmitter.emit();
42
41
  }
43
42
  else {
@@ -105,9 +104,6 @@ __decorate([
105
104
  __decorate([
106
105
  MapToComponentField()
107
106
  ], VegaDropdownAppenderController.prototype, "renderer", void 0);
108
- __decorate([
109
- MapToComponentField()
110
- ], VegaDropdownAppenderController.prototype, "listRenderer", void 0);
111
107
  __decorate([
112
108
  MapToComponentField()
113
109
  ], VegaDropdownAppenderController.prototype, "searchRenderer", void 0);
@@ -6,6 +6,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  import { InjectVegaSlimmer, MapToComponentField, MapToComponentMethod, VegaSlimmer, methodPlaceholder, } from 'vega-slimmer/core';
8
8
  import { MutationObserverSlimmer } from '../../../../helpers/slimmers/mutation-observer/mutationObserverSlimmer';
9
+ import ChangeManager from '../../../../helpers/change-manager/changeManager';
10
+ import DomNodeSubjectFactory from '../../../../helpers/change-manager/subject/dom-node-subject/domNodeSubjectFactory';
11
+ import { VegaInternalDropdownTemplateItemsChange } from '../../../../helpers/event-manager/eventID/vegaInternalEventId';
9
12
  /**
10
13
  * The controller for the table children components.
11
14
  */
@@ -63,7 +66,9 @@ export class VegaDropdownChildrenController extends VegaSlimmer {
63
66
  * The function "watchSource" synchronizes the dropdown current data.
64
67
  */
65
68
  watchSource() {
66
- this.syncUpDropdownCurrentData();
69
+ if (this.renderModeController.isSourceRenderMode()) {
70
+ this.syncUpDropdownCurrentData();
71
+ }
67
72
  }
68
73
  /**
69
74
  * The function checks if a given label exists in a label set.
@@ -93,6 +98,7 @@ export class VegaDropdownChildrenController extends VegaSlimmer {
93
98
  }
94
99
  else {
95
100
  this.collectKeyAndLabelFromSlot();
101
+ this.notifyTemplateItemsChange();
96
102
  }
97
103
  }
98
104
  /**
@@ -122,6 +128,13 @@ export class VegaDropdownChildrenController extends VegaSlimmer {
122
128
  this.keySet.clear();
123
129
  this.labelSet.clear();
124
130
  }
131
+ /**
132
+ * The function `notifyTemplateItemsChange` notifies changes to dropdown items within a container element.
133
+ */
134
+ notifyTemplateItemsChange() {
135
+ const container = this.renderer.getDropdownContentBoxRef() || this.host;
136
+ ChangeManager.notify(DomNodeSubjectFactory.getSubject(this.host, VegaInternalDropdownTemplateItemsChange), container.querySelectorAll('vega-dropdown-item'));
137
+ }
125
138
  }
126
139
  __decorate([
127
140
  MapToComponentField()
@@ -0,0 +1,142 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { MapToComponentField, MapToComponentMethod, VegaSlimmer } from 'vega-slimmer/core';
8
+ import { extractNumberFromString } from '../../../../utils/ui';
9
+ import { LogUtility } from '../../../../utils/log';
10
+ /**
11
+ * The `VegaDropdownScrollableController` class in TypeScript manages the behavior of a scrollable dropdown component,
12
+ * adjusting list container height and scrolling to specific indexes based on render mode and selected source key.
13
+ */
14
+ export class VegaDropdownScrollableController extends VegaSlimmer {
15
+ /**
16
+ * The function `watchIsDropdownShow` adjusts the list container height and scrolls to a specific index
17
+ * if the dropdown is shown in a certain render mode.
18
+ */
19
+ async watchIsDropdownShow() {
20
+ if (this.isDropdownShow) {
21
+ this.adjustListContainerMaxHeight();
22
+ await this.scrollToSelectedIndex();
23
+ }
24
+ }
25
+ /**
26
+ * The function scrollToSelected asynchronously scrolls to a selected index based on the render mode.
27
+ */
28
+ async scrollToSelectedIndex() {
29
+ this.renderModeController.isSourceRenderMode()
30
+ ? await this.scrollToVirtualIndex()
31
+ : this.scrollToTemplateIndex();
32
+ }
33
+ /**
34
+ * The function scrollToVirtualIndex asynchronously scrolls to a specific index in a virtual list based
35
+ * on the selected key.
36
+ */
37
+ async scrollToVirtualIndex() {
38
+ const index = this.sourceForRender.findIndex((item) => item.key === this.getSelectedKey());
39
+ index >= 0 && (await this.listRenderer.getVirtualScrollRef().scrollToIndex(index));
40
+ }
41
+ /*
42
+ * The below method is e2e-test covered in
43
+ * @see{module:vega-dropdown-scroll-to-selected-key-in-single-template-e2e}
44
+ * @see{module:vega-dropdown-scroll-to-selected-key-in-multiple-template-e2e}
45
+ */
46
+ /* istanbul ignore next */
47
+ /**
48
+ * The function scrollToTemplateIndex scrolls the dropdown content box to the selected item key.
49
+ */
50
+ scrollToTemplateIndex() {
51
+ const scrolledKey = this.getSelectedKey();
52
+ if (scrolledKey) {
53
+ this.renderer
54
+ .getDropdownContentBoxRef()
55
+ .querySelector(`vega-dropdown-item[item-key='${scrolledKey}']`)
56
+ .scrollIntoView();
57
+ }
58
+ }
59
+ /**
60
+ * The function `getSelectedKey` returns the selected key based on the `selectType` condition.
61
+ *
62
+ * @returns {string} The `getSelectedKey` method returns a string value. If `this.selectType` is equal to
63
+ * 'multiple', it returns the first element of the `selectedSourceKey` array as a string. Otherwise, it
64
+ * returns the `selectedSourceKey` value as a string.
65
+ */
66
+ getSelectedKey() {
67
+ return this.selectType === 'multiple'
68
+ ? this.selectedSourceKey[0]
69
+ : this.selectedSourceKey;
70
+ }
71
+ /*
72
+ * The below method is e2e-test covered in
73
+ * @see{module:vega-dropdown-with-matchContainerHeight-e2e}
74
+ * @see{module:vega-dropdown-without-matchContainerHeight-e2e}
75
+ */
76
+ /* istanbul ignore next */
77
+ /**
78
+ * we only calculate surplus space of bottom, we should calculate maxHeight more accurately here.
79
+ * such as minus the gap of dropdown, the dropdown padding top and bottom, the gap of bottom.
80
+ * if with searchable, we should minus the height of searchable.
81
+ * if the dropdown in the top of host, we should only minus top of distance from vega-dropdown to vega-dropdown-container.
82
+ */
83
+ adjustListContainerMaxHeight() {
84
+ const dropdownRef = this.renderer.getDropdownContentBoxRef();
85
+ const dropdownMaxHeight = extractNumberFromString(dropdownRef.style.maxHeight);
86
+ const excludeTop = this.searchable ? 59 : 8;
87
+ const paddingSpace = dropdownRef.classList.contains('vega-placement-top') ? 0 : 8 + 8;
88
+ const height = dropdownMaxHeight - excludeTop - 8 - paddingSpace;
89
+ dropdownRef.style.maxHeight = 'unset';
90
+ if (height <= 40) {
91
+ this.setItemsContainerMaxHeight(40);
92
+ LogUtility.error("There have no space on the bottom to display dropdown, if you want to adjust position, you should make 'match-container-height' as false.");
93
+ }
94
+ else {
95
+ this.setItemsContainerMaxHeight(height);
96
+ }
97
+ }
98
+ /**
99
+ * The function `setItemsContainerMaxHeight` adjusts the maximum height of the items container based on
100
+ * the render mode.
101
+ *
102
+ * @param {number} maxHeight - The `maxHeight` parameter is a number that represents the maximum height
103
+ * in pixels that the items container should have.
104
+ */
105
+ setItemsContainerMaxHeight(maxHeight) {
106
+ if (this.renderModeController.isSourceRenderMode()) {
107
+ this.listRenderer.getVirtualScrollRef().viewportMaxHeight = maxHeight;
108
+ }
109
+ else {
110
+ const templateContainerRef = this.listRenderer.getTemplateContainerRef();
111
+ templateContainerRef.style.overflowY = 'auto';
112
+ templateContainerRef.style.maxHeight = `${maxHeight}px`;
113
+ }
114
+ }
115
+ }
116
+ __decorate([
117
+ MapToComponentField()
118
+ ], VegaDropdownScrollableController.prototype, "isDropdownShow", void 0);
119
+ __decorate([
120
+ MapToComponentField()
121
+ ], VegaDropdownScrollableController.prototype, "renderModeController", void 0);
122
+ __decorate([
123
+ MapToComponentField()
124
+ ], VegaDropdownScrollableController.prototype, "sourceForRender", void 0);
125
+ __decorate([
126
+ MapToComponentField()
127
+ ], VegaDropdownScrollableController.prototype, "selectType", void 0);
128
+ __decorate([
129
+ MapToComponentField()
130
+ ], VegaDropdownScrollableController.prototype, "selectedSourceKey", void 0);
131
+ __decorate([
132
+ MapToComponentField()
133
+ ], VegaDropdownScrollableController.prototype, "searchable", void 0);
134
+ __decorate([
135
+ MapToComponentField()
136
+ ], VegaDropdownScrollableController.prototype, "listRenderer", void 0);
137
+ __decorate([
138
+ MapToComponentField()
139
+ ], VegaDropdownScrollableController.prototype, "renderer", void 0);
140
+ __decorate([
141
+ MapToComponentMethod('watchIsDropdownShow')
142
+ ], VegaDropdownScrollableController.prototype, "watchIsDropdownShow", null);
@@ -6,14 +6,10 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  import { Fragment, h } from '@stencil/core';
8
8
  import { MapToComponentField, VegaSlimmer } from 'vega-slimmer/core';
9
- import { extractNumberFromString } from '../../../../utils/ui';
10
- import { LogUtility } from '../../../../utils/log';
11
9
  export class VegaDropdownListRenderer extends VegaSlimmer {
12
- async scrollToIndex() {
13
- this.adjustListContainerMaxHeight();
14
- const index = this.sourceForRender.findIndex((item) => item.key ===
15
- (this.selectType === 'multiple' ? this.selectedSourceKey[0] : this.selectedSourceKey));
16
- index >= 0 && (await this.virtualScrollRef.scrollToIndex(index));
10
+ constructor() {
11
+ super(...arguments);
12
+ this.defaultMaxHeightOfItemsContainer = 400;
17
13
  }
18
14
  /**
19
15
  * The below method is e2e-test covered in
@@ -23,6 +19,9 @@ export class VegaDropdownListRenderer extends VegaSlimmer {
23
19
  getVirtualScrollRef() {
24
20
  return this.virtualScrollRef;
25
21
  }
22
+ getTemplateContainerRef() {
23
+ return this.templateContainerRef;
24
+ }
26
25
  renderBySource() {
27
26
  return (h(Fragment, null,
28
27
  this.renderLoading(),
@@ -57,64 +56,28 @@ export class VegaDropdownListRenderer extends VegaSlimmer {
57
56
  return item['children']
58
57
  ? this.groupLevelRenderer.render(item, index, fixHeight)
59
58
  : this.itemLevelRenderer.render(item, fixHeight);
60
- }, viewportMaxHeight: this.maxHeightOfItemsContainer, ref: (e) => (this.virtualScrollRef = e), isLoading: this.isLazyLoading }))));
59
+ }, viewportMaxHeight: this.defaultMaxHeightOfItemsContainer, ref: (e) => (this.virtualScrollRef = e), isLoading: this.isLazyLoading }))));
61
60
  }
62
61
  renderDropdownListBySlot() {
63
62
  return (h("ul", { role: "menu", "aria-label": "dropdown-ul", class: {
64
63
  [`vega-dropdown-item-display-${this.itemDisplayRule}`]: true,
65
64
  ['v-hidden']: this.isLoading,
66
- }, style: {
67
- maxHeight: `${this.maxHeightOfItemsContainer}px`,
68
- } },
65
+ }, ref: (ref) => (this.templateContainerRef = ref) },
69
66
  h("slot", { name: "items" })));
70
67
  }
71
- /**
72
- * we only calculate surplus space of bottom, we should calculate maxHeight more accurately here.
73
- * such as minus the gap of dropdown, the dropdown padding top and bottom, the gap of bottom.
74
- * if with searchable, we should minus the height of searchable.
75
- * if the dropdown in the top of host, we should only minus top of distance from vega-dropdown to vega-dropdown-container.
76
- * The below method is e2e-test covered in
77
- * @see{module:vega-dropdown-with-matchContainerHeight-e2e}
78
- * @see{module:vega-dropdown-without-matchContainerHeight-e2e}
79
- */
80
- /* istanbul ignore next */
81
- adjustListContainerMaxHeight() {
82
- const dropdownRef = this.renderer.getDropdownContentBoxRef();
83
- const dropdownMaxHeight = extractNumberFromString(dropdownRef.style.maxHeight);
84
- const excludeTop = this.searchable ? 59 : 8;
85
- const paddingSpace = dropdownRef.classList.contains('vega-placement-top') ? 0 : 8 + 8;
86
- const height = dropdownMaxHeight - excludeTop - 8 - paddingSpace;
87
- dropdownRef.style.maxHeight = 'unset';
88
- if (height <= 40) {
89
- this.maxHeightOfItemsContainer = 40;
90
- LogUtility.error("There have no space on the bottom to display dropdown, if you want to adjust position, you should make 'match-container-height' as false.");
91
- }
92
- else {
93
- this.maxHeightOfItemsContainer = height;
94
- }
95
- }
96
68
  }
97
69
  __decorate([
98
70
  MapToComponentField()
99
- ], VegaDropdownListRenderer.prototype, "isLoading", void 0);
100
- __decorate([
101
- MapToComponentField()
102
- ], VegaDropdownListRenderer.prototype, "searchString", void 0);
103
- __decorate([
104
- MapToComponentField()
105
- ], VegaDropdownListRenderer.prototype, "selectType", void 0);
71
+ ], VegaDropdownListRenderer.prototype, "host", void 0);
106
72
  __decorate([
107
73
  MapToComponentField()
108
- ], VegaDropdownListRenderer.prototype, "searchable", void 0);
74
+ ], VegaDropdownListRenderer.prototype, "isLoading", void 0);
109
75
  __decorate([
110
76
  MapToComponentField()
111
- ], VegaDropdownListRenderer.prototype, "selectedSourceKey", void 0);
77
+ ], VegaDropdownListRenderer.prototype, "searchString", void 0);
112
78
  __decorate([
113
79
  MapToComponentField()
114
80
  ], VegaDropdownListRenderer.prototype, "itemDisplayRule", void 0);
115
- __decorate([
116
- MapToComponentField({ writable: true })
117
- ], VegaDropdownListRenderer.prototype, "maxHeightOfItemsContainer", void 0);
118
81
  __decorate([
119
82
  MapToComponentField()
120
83
  ], VegaDropdownListRenderer.prototype, "sourceForRender", void 0);
@@ -126,7 +89,10 @@ __decorate([
126
89
  ], VegaDropdownListRenderer.prototype, "groupLevelRenderer", void 0);
127
90
  __decorate([
128
91
  MapToComponentField()
129
- ], VegaDropdownListRenderer.prototype, "renderer", void 0);
92
+ ], VegaDropdownListRenderer.prototype, "isLazyLoading", void 0);
130
93
  __decorate([
131
94
  MapToComponentField()
132
- ], VegaDropdownListRenderer.prototype, "isLazyLoading", void 0);
95
+ ], VegaDropdownListRenderer.prototype, "isDropdownShow", void 0);
96
+ __decorate([
97
+ MapToComponentField()
98
+ ], VegaDropdownListRenderer.prototype, "renderModeController", void 0);
@@ -47,8 +47,13 @@ export class VegaDropdownRenderer extends VegaSlimmer {
47
47
  this.renderContentSlot(),
48
48
  this.renderDropdown()));
49
49
  }
50
+ /**
51
+ * TODO: We will use no-named slot for both template and source render mode. And will deprecate slot dropdown-content
52
+ */
50
53
  renderContentSlot() {
51
- return this.renderModeController.isSourceRenderMode() ? h("slot", null) : h("slot", { name: "dropdown-content" });
54
+ return this.renderModeController.isSourceRenderMode() ? (h("slot", null)) : (h(Fragment, null,
55
+ h("slot", { name: "dropdown-content" }),
56
+ h("slot", null)));
52
57
  }
53
58
  renderDropdown() {
54
59
  const eventPreventFlag = this.host && this.host.dataset.vegaNoEventPrevent === 'true' ? 'true' : 'false';
@@ -56,6 +56,7 @@ export class VegaDropdownItemStateController extends SubStateObserverSlimmer {
56
56
  },
57
57
  },
58
58
  ],
59
+ pullStatesWhenReattached: true,
59
60
  });
60
61
  }
61
62
  }
@@ -43,16 +43,18 @@ export class VegaDropdownItemRenderer extends VegaSlimmer {
43
43
  return this.prefixIcon && h("vega-icon", { icon: this.prefixIcon, size: "size-16" });
44
44
  }
45
45
  renderLabel() {
46
- if (this.label) {
46
+ // We prioritize slots, and when both slots and labels are defined, we can collect label information for component display,
47
+ // such as input select selected item display
48
+ if (this.host.childElementCount > 0 || this.host.textContent.trim() !== '') {
49
+ return (h("span", { class: "vega-dropdown-item-label" },
50
+ h("slot", null)));
51
+ }
52
+ else {
47
53
  return (h(Fragment, null,
48
54
  h("span", { innerHTML: this.label, class: "vega-dropdown-item-label" }),
49
55
  h("span", { class: "v-hidden" },
50
56
  h("slot", null))));
51
57
  }
52
- else {
53
- return (h("span", { class: "vega-dropdown-item-label" },
54
- h("slot", null)));
55
- }
56
58
  }
57
59
  renderCounter() {
58
60
  return (this.count > 0 && (h("div", { class: "item-counter" },
@@ -86,7 +86,7 @@ export class VegaDropdownItem {
86
86
  "text": "Specifies the key for the dropdown item."
87
87
  },
88
88
  "attribute": "item-key",
89
- "reflect": false
89
+ "reflect": true
90
90
  },
91
91
  "count": {
92
92
  "type": "number",
@@ -27,6 +27,7 @@ import { ChildNodesNotifyObserverSlimmer, } from '../../helpers/event-manager/sl
27
27
  import { DROPDOWN_ITEM_CLICK } from '../../helpers/change-manager/subject/static-subject/staticSubjectTitle';
28
28
  import { VegaComponentUsageRuntimeMetricsSlimmer } from '../../helpers/slimmers/componentUsageRuntimeMetrics';
29
29
  import { VegaDropdownRuntimeMetricsPayloadDefinition } from '../../constants/runtime-metrics-payload-definition/vega-dropdown/runtime-metrics-payload-definition';
30
+ import { VegaDropdownScrollableController } from './slimmers/controllers/vega-dropdown-scrollable-controller';
30
31
  export class VegaDropdown {
31
32
  constructor() {
32
33
  this.globalSlimmers = {};
@@ -47,6 +48,7 @@ export class VegaDropdown {
47
48
  this.childrenController = new VegaDropdownChildrenController();
48
49
  this.selectedController = new VegaDropdownSelectedController();
49
50
  this.renderModeController = new VegaDropdownRenderModeController();
51
+ this.scrollableController = new VegaDropdownScrollableController();
50
52
  this.selectTypeNotifySlimmer = createSubStateNotifySlimmer(VegaDropdown, 'selectType', 'watchSelectType');
51
53
  this.selectedSourceKeyNotifySlimmer = createSubStateNotifySlimmer(VegaDropdown, 'selectedSourceKey', 'watchSelectedSourceKey');
52
54
  this.prefixIconSlotNotifySlimmer = createSubStateNotifySlimmer(VegaDropdown, 'prefixIconSlot', 'watchPrefixIconSlot');
@@ -59,7 +61,6 @@ export class VegaDropdown {
59
61
  this.itemDisplayRuleNotifySlimmer = createSubStateNotifySlimmer(VegaDropdown, 'itemDisplayRule', 'watchItemDisplayRule');
60
62
  this.vegaComponentUsageRuntimeMetricsSlimmer = new VegaComponentUsageRuntimeMetricsSlimmer(VegaDropdownRuntimeMetricsPayloadDefinition);
61
63
  this.searchString = null;
62
- this.maxHeightOfItemsContainer = 400;
63
64
  this.isDropdownShow = false;
64
65
  /**
65
66
  * Specifies the trigger mode for the dropdown.
@@ -693,7 +694,6 @@ export class VegaDropdown {
693
694
  }; }
694
695
  static get states() { return {
695
696
  "searchString": {},
696
- "maxHeightOfItemsContainer": {},
697
697
  "isDropdownShow": {},
698
698
  "sourceForRender": {}
699
699
  }; }
@@ -1036,6 +1036,9 @@ __decorate([
1036
1036
  __decorate([
1037
1037
  InjectVegaSlimmer()
1038
1038
  ], VegaDropdown.prototype, "renderModeController", void 0);
1039
+ __decorate([
1040
+ InjectVegaSlimmer()
1041
+ ], VegaDropdown.prototype, "scrollableController", void 0);
1039
1042
  __decorate([
1040
1043
  InjectVegaSlimmer()
1041
1044
  ], VegaDropdown.prototype, "selectTypeNotifySlimmer", void 0);
@@ -7,6 +7,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  import { MapToComponentField, VegaSlimmer } from 'vega-slimmer/core';
8
8
  import { DomNodeSubjectObserverFactory } from '../../../../helpers/change-manager/subject/dom-node-subject/domNodeSubjectObserverFactory';
9
9
  import { VegaDropdownClick, VegaDropdownHide, VegaDropdownSearch, VegaDropdownShow, } from '../../../../helpers/event-manager/eventID/vegaEventId';
10
+ import { VegaInternalDropdownTemplateItemsChange } from '../../../../helpers/event-manager/eventID/vegaInternalEventId';
10
11
  /** The `VegaInputSelectDropdownController` class is a TypeScript React component that controls the behavior of a dropdown select input. */
11
12
  export class VegaInputSelectDropdownController extends VegaSlimmer {
12
13
  constructor() {
@@ -38,6 +39,22 @@ export class VegaInputSelectDropdownController extends VegaSlimmer {
38
39
  DomNodeSubjectObserverFactory.addUniqueObserverToNode(dropdownRef, VegaDropdownSearch, (payload) => {
39
40
  this.searchEventEmitter.emit(payload.detail);
40
41
  });
42
+ DomNodeSubjectObserverFactory.addUniqueObserverToNode(dropdownRef, VegaInternalDropdownTemplateItemsChange,
43
+ /*
44
+ * The below method is e2e-test covered in
45
+ * @see{module:vega-input-select-template-single-select-e2e}
46
+ * @see{module:vega-input-select-template-multiple-select-e2e}
47
+ */
48
+ /* istanbul ignore next */
49
+ (payload) => {
50
+ const addedItems = Array.from(payload)
51
+ .filter((item) => !this.source.find((sourceItem) => sourceItem.id === item.itemKey))
52
+ .map((item) => ({
53
+ id: item.itemKey,
54
+ displayName: item.label,
55
+ }));
56
+ this.sourceController.appendSourceItems(addedItems);
57
+ });
41
58
  }
42
59
  }
43
60
  __decorate([
@@ -52,3 +69,9 @@ __decorate([
52
69
  __decorate([
53
70
  MapToComponentField()
54
71
  ], VegaInputSelectDropdownController.prototype, "vegaInputSelectValueController", void 0);
72
+ __decorate([
73
+ MapToComponentField()
74
+ ], VegaInputSelectDropdownController.prototype, "sourceController", void 0);
75
+ __decorate([
76
+ MapToComponentField()
77
+ ], VegaInputSelectDropdownController.prototype, "source", void 0);
@@ -0,0 +1,62 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { InjectVegaSlimmer, MapToComponentField, MapToComponentMethod, VegaSlimmer } from 'vega-slimmer/core';
8
+ import { MutationObserverSlimmer } from '../../../../helpers/slimmers/mutation-observer/mutationObserverSlimmer';
9
+ import { TagNameMutationFilter } from '../../../../helpers/slimmers/mutation-observer/mutationObserverFilters';
10
+ /**
11
+ * The class `VegaInputSelectItemsSlotController` extends `VegaSlimmer` and manages
12
+ * appending host items to a dropdown element.
13
+ */
14
+ export class VegaInputSelectItemsSlotController extends VegaSlimmer {
15
+ constructor() {
16
+ super(...arguments);
17
+ this.mutationObserver = new MutationObserverSlimmer({
18
+ mutationFilter: TagNameMutationFilter('VEGA-DROPDOWN-ITEM'),
19
+ options: {
20
+ childList: true,
21
+ subtree: true,
22
+ },
23
+ callback:
24
+ /*
25
+ * The below method is e2e-test covered in
26
+ * @see{module:vega-input-select-template-slot-change-e2e}
27
+ */
28
+ /* istanbul ignore next */
29
+ // eslint-disable-next-line jsdoc/require-jsdoc
30
+ () => this.appendHostItemsToDropdown(),
31
+ });
32
+ }
33
+ /**
34
+ * Component lifecycle - [componentDidLoad]
35
+ */
36
+ componentDidLoad() {
37
+ this.appendHostItemsToDropdown();
38
+ }
39
+ /**
40
+ * The function appends host items to a dropdown element.
41
+ */
42
+ appendHostItemsToDropdown() {
43
+ const items = this.host.querySelector('[slot=items]');
44
+ const itemsSlotRef = this.vegaInputSelectDropdownRenderer.getItemsSlotRef();
45
+ if (items && itemsSlotRef) {
46
+ itemsSlotRef.remove();
47
+ this.vegaInputSelectDropdownRenderer.getDropdownRef().append(items);
48
+ }
49
+ }
50
+ }
51
+ __decorate([
52
+ InjectVegaSlimmer()
53
+ ], VegaInputSelectItemsSlotController.prototype, "mutationObserver", void 0);
54
+ __decorate([
55
+ MapToComponentField()
56
+ ], VegaInputSelectItemsSlotController.prototype, "host", void 0);
57
+ __decorate([
58
+ MapToComponentField()
59
+ ], VegaInputSelectItemsSlotController.prototype, "vegaInputSelectDropdownRenderer", void 0);
60
+ __decorate([
61
+ MapToComponentMethod('componentDidLoad')
62
+ ], VegaInputSelectItemsSlotController.prototype, "componentDidLoad", null);
@@ -28,6 +28,17 @@ export class VegaInputSelectSourceController extends VegaSlimmer {
28
28
  appendSourceItems(items) {
29
29
  this.source = [...this.source, ...items];
30
30
  }
31
+ /**
32
+ * This TypeScript function retrieves an item from a source array based on its ID.
33
+ *
34
+ * @param {SelectValueType<SelectType>} id - The `id` parameter in the `getItem` function is of type `SelectValueType<SelectType>`,
35
+ * which means it can accept a value that corresponds to the `SelectType` defined in the function.
36
+ * @returns { Nullable<SelectSourceItem>} The `getItem` function is returning a `SelectSourceItem` object that matches the provided
37
+ * `id`, or `null` if no matching item is found in the `source` array.
38
+ */
39
+ getItem(id) {
40
+ return this.source.find((item) => item.id === id);
41
+ }
31
42
  }
32
43
  __decorate([
33
44
  MapToComponentField({ writable: true })