@globalpayments/vega 2.15.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 (281) hide show
  1. package/dist/cjs/{app-globals-6b5136b1.js → app-globals-4e0416c1.js} +15 -8
  2. package/dist/cjs/{childNodesEventPreventSlimmer-5b352793.js → childNodesEventPreventSlimmer-6848c3cf.js} +13 -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 +11 -10
  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 +310 -184
  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 +217 -105
  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/{index-b8881ddc.js → vega-skeleton-loader-controller-8932c0ed.js} +91 -3
  44. package/dist/cjs/vega-skeleton.cjs.entry.js +1 -1
  45. package/dist/cjs/vega-stepper.cjs.entry.js +6 -6
  46. package/dist/cjs/vega-tab-group_2.cjs.entry.js +4 -4
  47. package/dist/cjs/vega-table_8.cjs.entry.js +6 -6
  48. package/dist/cjs/vega-textarea.cjs.entry.js +6 -6
  49. package/dist/cjs/vega-time-picker_2.cjs.entry.js +6 -6
  50. package/dist/cjs/vega-toggle-switch.cjs.entry.js +3 -3
  51. package/dist/cjs/vega.cjs.js +5 -5
  52. package/dist/cjs/{vegaEventId-d7774262.js → vegaEventId-f375a6a3.js} +2 -0
  53. package/dist/cjs/{vegaInternalEventId-173c4941.js → vegaInternalEventId-ac38dd4b.js} +2 -0
  54. package/dist/collection/components/vega-button/slimmers/renderers/vega-button-loading-renderer.js +24 -0
  55. package/dist/collection/components/vega-button/vega-button.css +9 -1
  56. package/dist/collection/components/vega-button/vega-button.js +49 -7
  57. package/dist/collection/components/vega-calendar/slimmers/common/controllers/vega-calendar-current-period-controller.js +38 -24
  58. package/dist/collection/components/vega-calendar/slimmers/common/controllers/vega-calendar-event-controller.js +54 -1
  59. package/dist/collection/components/vega-calendar/slimmers/common/controllers/vega-calendar-view-controller.js +13 -21
  60. package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeatPattern/baseRepeatPattern.js +61 -0
  61. package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeatPattern/calendarEventDailyRepeatPattern.js +70 -0
  62. package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeatPattern/calendarEventMonthlyRepeatPattern.js +90 -0
  63. package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeatPattern/calendarEventRepeatPatternFactory.js +60 -0
  64. package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeatPattern/calendarEventWeeklyRepeatPattern.js +163 -0
  65. package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeatPattern/calendarEventYearlyRepeatPattern.js +92 -0
  66. package/dist/collection/components/vega-calendar/slimmers/common/helpers/test/calendarEventRepeatPatternFactory.test.js +105 -0
  67. package/dist/collection/components/vega-calendar/slimmers/common/layout/test/longEventLayoutGenerator.test.js +0 -5
  68. package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-switch-panel.js +1 -1
  69. package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/timed-event/layout/test/dayViewEventLayoutGenerator.test.js +0 -5
  70. package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/vega-calendar-view-with-time-renderer.js +21 -4
  71. package/dist/collection/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-view-renderer.js +45 -2
  72. package/dist/collection/components/vega-calendar/vega-calendar.css +2 -1
  73. package/dist/collection/components/vega-calendar/vega-calendar.js +51 -4
  74. package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-appender-controller.js +0 -4
  75. package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-children-controller.js +14 -1
  76. package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-scrollable-controller.js +142 -0
  77. package/dist/collection/components/vega-dropdown/slimmers/renderers/vega-dropdown-list-renderer.js +16 -50
  78. package/dist/collection/components/vega-dropdown/slimmers/renderers/vega-dropdown-renderer.js +8 -2
  79. package/dist/collection/components/vega-dropdown/vega-dropdown-item/slimmers/controllers/vega-dropdown-item-state-controller.js +1 -0
  80. package/dist/collection/components/vega-dropdown/vega-dropdown-item/slimmers/renderers/vega-dropdown-item-renderer.js +7 -5
  81. package/dist/collection/components/vega-dropdown/vega-dropdown-item/vega-dropdown-item.js +1 -1
  82. package/dist/collection/components/vega-dropdown/vega-dropdown.js +5 -2
  83. package/dist/collection/components/vega-input-select/slimmers/controllers/vega-input-select-dropdown-controller.js +22 -40
  84. package/dist/collection/components/vega-input-select/slimmers/controllers/vega-input-select-items-slot-controler.js +62 -0
  85. package/dist/collection/components/vega-input-select/slimmers/controllers/vega-input-select-lazy-load-controller.js +2 -2
  86. package/dist/collection/components/vega-input-select/slimmers/controllers/vega-input-select-source-controller.js +48 -0
  87. package/dist/collection/components/vega-input-select/slimmers/controllers/vega-input-select-value-controller.js +7 -10
  88. package/dist/collection/components/vega-input-select/slimmers/renderers/vega-input-select-dropdown-renderer.js +25 -6
  89. package/dist/collection/components/vega-input-select/vega-input-select.js +10 -2
  90. package/dist/collection/components/vega-loading-indicator/vega-loading-indicator.js +2 -2
  91. package/dist/collection/components/vega-skeleton/vega-skeleton.css +5 -2
  92. package/dist/collection/constants/ui.js +1 -1
  93. package/dist/collection/global/scripts/beforeVegaLoad.js +8 -0
  94. package/dist/collection/helpers/calendar/calendar-date.js +11 -0
  95. package/dist/collection/helpers/calendar/calendar-event.js +73 -24
  96. package/dist/collection/helpers/calendar/calendar-period/calendar-period.abstract.js +8 -0
  97. package/dist/collection/helpers/calendar/calendar-period/day-period.js +1 -0
  98. package/dist/collection/helpers/calendar/calendar-period/month-period.js +16 -3
  99. package/dist/collection/helpers/calendar/calendar-period/week-period.js +1 -0
  100. package/dist/collection/helpers/calendar/test/calendar-event.test.js +23 -20
  101. package/dist/collection/helpers/event-manager/eventID/componentEventIdMap.js +2 -2
  102. package/dist/collection/helpers/event-manager/eventID/vegaEventId.js +1 -1
  103. package/dist/collection/helpers/event-manager/eventID/vegaInternalEventId.js +1 -0
  104. package/dist/collection/helpers/event-manager/slimmers/childNodesEventPreventSlimmer.js +12 -0
  105. package/dist/collection/helpers/event-manager/test/childNodesEventPreventSlimmer.test.js +14 -0
  106. package/dist/collection/helpers/publicApi.js +1 -0
  107. package/dist/collection/helpers/skeleton-loader/tests/vega-skeleton-loader-controller.test.js +139 -0
  108. package/dist/collection/helpers/skeleton-loader/vega-skeleton-loader-controller.js +87 -0
  109. package/dist/collection/helpers/slimmers/sub-state/subStateObserverSlimmer.js +27 -13
  110. package/dist/collection/helpers/slimmers/sub-state/test/sub-state-observer-slimmer.test.js +15 -3
  111. package/dist/collection/helpers/vega-telemetry-helper/test/vegaEnvManager.test.js +1 -1
  112. package/dist/collection/helpers/vega-telemetry-helper/vegaEnvManager.js +2 -2
  113. package/dist/esm/{app-globals-cf903368.js → app-globals-ba85a900.js} +9 -2
  114. package/dist/esm/{childNodesEventPreventSlimmer-ca73e6c1.js → childNodesEventPreventSlimmer-d0da4527.js} +13 -1
  115. package/dist/esm/{eventEmitSlimmer-9c33f04e.js → eventEmitSlimmer-7b16eef9.js} +1 -1
  116. package/dist/esm/{formFieldControllerSlimmer-85ff874e.js → formFieldControllerSlimmer-ea050a17.js} +1 -1
  117. package/dist/esm/index.js +3 -3
  118. package/dist/esm/{internalVegaEventManager-e1501923.js → internalVegaEventManager-71d00966.js} +2 -2
  119. package/dist/esm/loader.js +5 -5
  120. package/dist/esm/{subStateObserverSlimmer-354b33f6.js → subStateObserverSlimmer-2a8a615e.js} +28 -14
  121. package/dist/esm/vega-accordion.entry.js +4 -4
  122. package/dist/esm/vega-app-header-button.entry.js +4 -4
  123. package/dist/esm/vega-banner.entry.js +3 -3
  124. package/dist/esm/vega-breadcrumb.entry.js +4 -4
  125. package/dist/esm/vega-button-circle.entry.js +4 -4
  126. package/dist/esm/vega-button-group_2.entry.js +6 -6
  127. package/dist/esm/vega-button-link.entry.js +4 -4
  128. package/dist/esm/vega-button.entry.js +59 -14
  129. package/dist/esm/vega-calendar_2.entry.js +830 -90
  130. package/dist/esm/vega-carousel.entry.js +3 -3
  131. package/dist/esm/vega-checkbox_2.entry.js +6 -6
  132. package/dist/esm/vega-chip.entry.js +4 -4
  133. package/dist/esm/vega-color-picker.entry.js +5 -5
  134. package/dist/esm/vega-combo-box.entry.js +6 -6
  135. package/dist/esm/vega-date-picker_2.entry.js +6 -6
  136. package/dist/esm/vega-dialog_2.entry.js +4 -4
  137. package/dist/esm/vega-dropdown_5.entry.js +310 -184
  138. package/dist/esm/vega-field-label.entry.js +4 -4
  139. package/dist/esm/vega-form.entry.js +6 -6
  140. package/dist/esm/vega-image-uploader.entry.js +6 -6
  141. package/dist/esm/vega-input-credit-card.entry.js +6 -6
  142. package/dist/esm/vega-input-range.entry.js +6 -6
  143. package/dist/esm/vega-input-select.entry.js +217 -105
  144. package/dist/esm/vega-input.entry.js +5 -5
  145. package/dist/esm/vega-item-toggle.entry.js +3 -3
  146. package/dist/esm/vega-left-nav_5.entry.js +4 -4
  147. package/dist/esm/vega-loader-wrapper_2.entry.js +1 -1
  148. package/dist/esm/vega-page-notification_2.entry.js +1 -1
  149. package/dist/esm/vega-pagination.entry.js +4 -4
  150. package/dist/esm/vega-popover_2.entry.js +3 -3
  151. package/dist/esm/vega-progress-tracker.entry.js +3 -3
  152. package/dist/esm/vega-radio_2.entry.js +6 -6
  153. package/dist/esm/vega-segment-control.entry.js +3 -3
  154. package/dist/esm/vega-selection-tile_2.entry.js +7 -7
  155. package/dist/esm/{index-dd06e5e7.js → vega-skeleton-loader-controller-778b12be.js} +91 -4
  156. package/dist/esm/vega-skeleton.entry.js +1 -1
  157. package/dist/esm/vega-stepper.entry.js +6 -6
  158. package/dist/esm/vega-tab-group_2.entry.js +4 -4
  159. package/dist/esm/vega-table_8.entry.js +6 -6
  160. package/dist/esm/vega-textarea.entry.js +6 -6
  161. package/dist/esm/vega-time-picker_2.entry.js +6 -6
  162. package/dist/esm/vega-toggle-switch.entry.js +3 -3
  163. package/dist/esm/vega.js +5 -5
  164. package/dist/esm/{vegaEventId-680887e1.js → vegaEventId-f279bb62.js} +2 -1
  165. package/dist/esm/{vegaInternalEventId-600b3751.js → vegaInternalEventId-bde5d617.js} +2 -1
  166. package/dist/types/components/vega-button/slimmers/renderers/vega-button-loading-renderer.d.ts +13 -0
  167. package/dist/types/components/vega-button/vega-button.d.ts +16 -0
  168. package/dist/types/components/vega-calendar/slimmers/common/controllers/vega-calendar-current-period-controller.d.ts +12 -9
  169. package/dist/types/components/vega-calendar/slimmers/common/controllers/vega-calendar-event-controller.d.ts +20 -0
  170. package/dist/types/components/vega-calendar/slimmers/common/controllers/vega-calendar-view-controller.d.ts +8 -12
  171. package/dist/types/components/vega-calendar/slimmers/common/helpers/repeatPattern/baseRepeatPattern.d.ts +50 -0
  172. package/dist/types/components/vega-calendar/slimmers/common/helpers/repeatPattern/calendarEventDailyRepeatPattern.d.ts +43 -0
  173. package/dist/types/components/vega-calendar/slimmers/common/helpers/repeatPattern/calendarEventMonthlyRepeatPattern.d.ts +55 -0
  174. package/dist/types/components/vega-calendar/slimmers/common/helpers/repeatPattern/calendarEventRepeatPatternFactory.d.ts +34 -0
  175. package/dist/types/components/vega-calendar/slimmers/common/helpers/repeatPattern/calendarEventWeeklyRepeatPattern.d.ts +99 -0
  176. package/dist/types/components/vega-calendar/slimmers/common/helpers/repeatPattern/calendarEventYearlyRepeatPattern.d.ts +57 -0
  177. package/dist/types/components/vega-calendar/slimmers/common/helpers/test/calendarEventRepeatPatternFactory.test.d.ts +1 -0
  178. package/dist/types/components/vega-calendar/slimmers/day-view/renderers/vega-calendar-view-with-time-renderer.d.ts +8 -0
  179. package/dist/types/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-view-renderer.d.ts +23 -0
  180. package/dist/types/components/vega-calendar/types.d.ts +14 -2
  181. package/dist/types/components/vega-calendar/vega-calendar.d.ts +15 -3
  182. package/dist/types/components/vega-dropdown/slimmers/controllers/vega-dropdown-appender-controller.d.ts +0 -1
  183. package/dist/types/components/vega-dropdown/slimmers/controllers/vega-dropdown-children-controller.d.ts +4 -0
  184. package/dist/types/components/vega-dropdown/slimmers/controllers/vega-dropdown-scrollable-controller.d.ts +57 -0
  185. package/dist/types/components/vega-dropdown/slimmers/renderers/vega-dropdown-list-renderer.d.ts +7 -17
  186. package/dist/types/components/vega-dropdown/slimmers/renderers/vega-dropdown-renderer.d.ts +3 -0
  187. package/dist/types/components/vega-dropdown/vega-dropdown.d.ts +2 -1
  188. package/dist/types/components/vega-input-select/slimmers/controllers/vega-input-select-dropdown-controller.d.ts +2 -19
  189. package/dist/types/components/vega-input-select/slimmers/controllers/vega-input-select-items-slot-controler.d.ts +19 -0
  190. package/dist/types/components/vega-input-select/slimmers/controllers/vega-input-select-lazy-load-controller.d.ts +1 -1
  191. package/dist/types/components/vega-input-select/slimmers/controllers/vega-input-select-source-controller.d.ts +29 -0
  192. package/dist/types/components/vega-input-select/slimmers/controllers/vega-input-select-value-controller.d.ts +1 -1
  193. package/dist/types/components/vega-input-select/slimmers/renderers/vega-input-select-dropdown-renderer.d.ts +7 -1
  194. package/dist/types/components/vega-input-select/vega-input-select.d.ts +4 -2
  195. package/dist/types/components.d.ts +17 -1
  196. package/dist/types/constants/ui.d.ts +1 -1
  197. package/dist/types/helpers/calendar/calendar-date.d.ts +8 -0
  198. package/dist/types/helpers/calendar/calendar-event.d.ts +44 -2
  199. package/dist/types/helpers/calendar/calendar-period/calendar-period.abstract.d.ts +10 -2
  200. package/dist/types/helpers/calendar/calendar-period/day-period.d.ts +1 -0
  201. package/dist/types/helpers/calendar/calendar-period/month-period.d.ts +12 -0
  202. package/dist/types/helpers/calendar/calendar-period/week-period.d.ts +1 -0
  203. package/dist/types/helpers/event-manager/eventID/vegaEventId.d.ts +1 -1
  204. package/dist/types/helpers/event-manager/eventID/vegaInternalEventId.d.ts +1 -0
  205. package/dist/types/helpers/event-manager/slimmers/childNodesEventPreventSlimmer.d.ts +6 -0
  206. package/dist/types/helpers/publicApi.d.ts +1 -0
  207. package/dist/types/helpers/skeleton-loader/interface.d.ts +16 -0
  208. package/dist/types/helpers/skeleton-loader/tests/vega-skeleton-loader-controller.test.d.ts +1 -0
  209. package/dist/types/helpers/skeleton-loader/vega-skeleton-loader-controller.d.ts +48 -0
  210. package/dist/types/helpers/slimmers/sub-state/subStateObserverSlimmer.d.ts +9 -0
  211. package/dist/types/types/components.type.d.ts +1 -0
  212. package/dist/types/types/publicApi.d.ts +1 -0
  213. package/dist/vega/index.esm.js +1 -1
  214. package/dist/vega/{p-692df03d.entry.js → p-0ef3d3fd.entry.js} +1 -1
  215. package/dist/vega/p-1080d80a.js +1 -0
  216. package/dist/vega/{p-6f7f9cda.entry.js → p-154a3145.entry.js} +1 -1
  217. package/dist/vega/{p-af72a212.entry.js → p-1bc3348e.entry.js} +1 -1
  218. package/dist/vega/{p-b58e2fae.entry.js → p-255aa39b.entry.js} +1 -1
  219. package/dist/vega/p-29654e12.entry.js +1 -0
  220. package/dist/vega/{p-77b39fe7.entry.js → p-2f905e6f.entry.js} +1 -1
  221. package/dist/vega/p-3490dd8a.entry.js +1 -0
  222. package/dist/vega/p-3fee5d7e.entry.js +1 -0
  223. package/dist/vega/p-44f4924b.js +1 -0
  224. package/dist/vega/p-4546cd3d.entry.js +1 -0
  225. package/dist/vega/p-4bc71294.entry.js +1 -0
  226. package/dist/vega/{p-77ff7c72.js → p-5141bcac.js} +1 -1
  227. package/dist/vega/{p-16608c5a.js → p-51e2c836.js} +1 -1
  228. package/dist/vega/{p-2bb1c1c1.entry.js → p-52bf3ce1.entry.js} +1 -1
  229. package/dist/vega/{p-cd05ab96.entry.js → p-5611cf4c.entry.js} +1 -1
  230. package/dist/vega/{p-1b3a0b54.entry.js → p-5e3f5e8e.entry.js} +1 -1
  231. package/dist/vega/p-642d58ff.js +1 -0
  232. package/dist/vega/{p-9047ee85.entry.js → p-6470d034.entry.js} +1 -1
  233. package/dist/vega/{p-3efc814a.entry.js → p-6877dc17.entry.js} +1 -1
  234. package/dist/vega/{p-1dfddf03.entry.js → p-69cf5269.entry.js} +1 -1
  235. package/dist/vega/{p-ceec3241.entry.js → p-70af1334.entry.js} +1 -1
  236. package/dist/vega/{p-f723790c.entry.js → p-7115c145.entry.js} +1 -1
  237. package/dist/vega/{p-de5db6c9.entry.js → p-795927c4.entry.js} +1 -1
  238. package/dist/vega/{p-6ad96891.entry.js → p-7c1d2dcf.entry.js} +1 -1
  239. package/dist/vega/p-7f9cb4c0.entry.js +1 -0
  240. package/dist/vega/p-82fd348b.entry.js +1 -0
  241. package/dist/vega/p-8543f9c3.entry.js +1 -0
  242. package/dist/vega/{p-d224e798.entry.js → p-8771bf66.entry.js} +1 -1
  243. package/dist/vega/{p-84787f59.entry.js → p-88cf7e56.entry.js} +1 -1
  244. package/dist/vega/{p-eb709bc0.entry.js → p-8e7d6700.entry.js} +1 -1
  245. package/dist/vega/p-9119ad95.entry.js +1 -0
  246. package/dist/vega/p-9799f3d8.entry.js +1 -0
  247. package/dist/vega/{p-61c96c79.entry.js → p-a6c43909.entry.js} +1 -1
  248. package/dist/vega/{p-e1a284b1.entry.js → p-b23ad436.entry.js} +1 -1
  249. package/dist/vega/{p-b708b0c2.entry.js → p-b570e6c7.entry.js} +1 -1
  250. package/dist/vega/{p-ba37eaad.entry.js → p-b6f68efd.entry.js} +1 -1
  251. package/dist/vega/{p-38a22eb3.entry.js → p-b8a47375.entry.js} +1 -1
  252. package/dist/vega/{p-2e59a4f1.entry.js → p-b8d45e28.entry.js} +1 -1
  253. package/dist/vega/{p-99c8fe92.js → p-bba06111.js} +1 -1
  254. package/dist/vega/{p-282648c1.entry.js → p-c1401fab.entry.js} +1 -1
  255. package/dist/vega/{p-a9f61d9e.entry.js → p-cafe75e8.entry.js} +1 -1
  256. package/dist/vega/{p-37d3b80c.entry.js → p-cf40587e.entry.js} +1 -1
  257. package/dist/vega/p-d126407a.js +1 -0
  258. package/dist/vega/{p-c849236f.entry.js → p-e373bc4d.entry.js} +1 -1
  259. package/dist/vega/p-eacf64be.js +1 -0
  260. package/dist/vega/{p-1d628d23.entry.js → p-ec4afdaa.entry.js} +1 -1
  261. package/dist/vega/p-f0330fcc.js +1 -0
  262. package/dist/vega/{p-c0ca1a1c.entry.js → p-f8a97354.entry.js} +1 -1
  263. package/dist/vega/{p-8c62c493.entry.js → p-f96ee751.entry.js} +1 -1
  264. package/dist/vega/vega.esm.js +1 -1
  265. package/package.json +1 -1
  266. package/dist/vega/p-009405b6.entry.js +0 -1
  267. package/dist/vega/p-38b01f3f.entry.js +0 -1
  268. package/dist/vega/p-38d19c4f.entry.js +0 -1
  269. package/dist/vega/p-4d2859c9.entry.js +0 -1
  270. package/dist/vega/p-557516a4.entry.js +0 -1
  271. package/dist/vega/p-592e755b.entry.js +0 -1
  272. package/dist/vega/p-999e1318.js +0 -1
  273. package/dist/vega/p-a6cb10e8.entry.js +0 -1
  274. package/dist/vega/p-a9c3e9fd.js +0 -1
  275. package/dist/vega/p-aae8855d.js +0 -1
  276. package/dist/vega/p-b3056874.entry.js +0 -1
  277. package/dist/vega/p-c47d4933.js +0 -1
  278. package/dist/vega/p-d978ee2c.entry.js +0 -1
  279. package/dist/vega/p-eb461dad.entry.js +0 -1
  280. package/dist/vega/p-f1d8fd1c.js +0 -1
  281. package/dist/vega/p-fda33444.js +0 -1
@@ -9,7 +9,6 @@ const mockEvents1 = [
9
9
  startTime: '10:00',
10
10
  endTime: '11:00',
11
11
  isAllDay: false,
12
- repeat: 'none',
13
12
  disabled: false,
14
13
  variant: 'primary',
15
14
  },
@@ -21,7 +20,6 @@ const mockEvents1 = [
21
20
  startTime: '10:00',
22
21
  endTime: '10:15',
23
22
  isAllDay: false,
24
- repeat: 'none',
25
23
  disabled: false,
26
24
  variant: 'primary',
27
25
  color: '#73E6DC',
@@ -36,7 +34,6 @@ const mockEvents2 = [
36
34
  startTime: '10:00',
37
35
  endTime: '11:00',
38
36
  isAllDay: false,
39
- repeat: 'none',
40
37
  disabled: false,
41
38
  variant: 'primary',
42
39
  },
@@ -48,7 +45,6 @@ const mockEvents2 = [
48
45
  startTime: '10:30',
49
46
  endTime: '11:30',
50
47
  isAllDay: false,
51
- repeat: 'none',
52
48
  disabled: false,
53
49
  variant: 'secondary',
54
50
  color: '#806BFF',
@@ -63,7 +59,6 @@ const mockEvent4 = [
63
59
  startTime: '10:00',
64
60
  endTime: '10:15',
65
61
  isAllDay: false,
66
- repeat: 'none',
67
62
  disabled: false,
68
63
  variant: 'primary',
69
64
  color: '#73E6DC',
@@ -22,7 +22,7 @@ export class VegaCalendarSwitchPanelRenderer extends VegaSlimmer {
22
22
  * @param {NotifyObserverPayload<VegaCalendarViewModeType>} input mark which view should be selected
23
23
  */
24
24
  this.handleViewChange = (input) => {
25
- this.calendarViewController.setViewMode(input.detail);
25
+ this.currentPeriodController.updateCalendarPeriod(input.detail, this.currentPeriod.current);
26
26
  };
27
27
  /**
28
28
  * reset view content to today
@@ -9,7 +9,6 @@ const mockEvents = [
9
9
  startTime: '10:00',
10
10
  endTime: '11:00',
11
11
  isAllDay: false,
12
- repeat: 'none',
13
12
  disabled: false,
14
13
  variant: 'primary',
15
14
  },
@@ -21,7 +20,6 @@ const mockEvents = [
21
20
  startTime: '10:00',
22
21
  endTime: '10:15',
23
22
  isAllDay: false,
24
- repeat: 'none',
25
23
  disabled: false,
26
24
  variant: 'primary',
27
25
  color: '#73E6DC',
@@ -34,7 +32,6 @@ const mockEvents = [
34
32
  startTime: '10:30',
35
33
  endTime: '11:30',
36
34
  isAllDay: false,
37
- repeat: 'none',
38
35
  disabled: false,
39
36
  variant: 'secondary',
40
37
  color: '#806BFF',
@@ -47,7 +44,6 @@ const mockEvents = [
47
44
  startTime: '10:45',
48
45
  endTime: '11:00',
49
46
  isAllDay: false,
50
- repeat: 'none',
51
47
  disabled: false,
52
48
  variant: 'secondary',
53
49
  color: '#806BFF',
@@ -60,7 +56,6 @@ const mockEvents = [
60
56
  startTime: '11:00',
61
57
  endTime: '12:00',
62
58
  isAllDay: false,
63
- repeat: 'none',
64
59
  disabled: false,
65
60
  variant: 'secondary',
66
61
  color: '#806BFF',
@@ -51,7 +51,7 @@ export class VegaCalendarViewWithTimeRenderer extends VegaSlimmer {
51
51
  h("div", { class: "calendar-view-content" }, source.map((item) => {
52
52
  return (h("div", { class: "grid-col border-divider-left", key: item.date },
53
53
  h("div", { class: "hour-empty border-divider-top" }),
54
- this.renderHourBlock()));
54
+ this.renderHourBlock(item)));
55
55
  })),
56
56
  this.dayViewTimedEventRenderer.render(),
57
57
  this.timeLineRenderer.renderTimeMarker(source))));
@@ -59,14 +59,28 @@ export class VegaCalendarViewWithTimeRenderer extends VegaSlimmer {
59
59
  /**
60
60
  * The function `renderHourBlock` returns an array of HTML elements representing hour blocks with time information.
61
61
  *
62
+ * @param {CalendarDate} calendarDate then current calendar date object
62
63
  * @returns {HTMLElement[]} An array of HTMLElements is being returned. Each HTMLElement represents an hour block with a time value inside a div element.
63
64
  */
64
- renderHourBlock() {
65
+ renderHourBlock(calendarDate) {
65
66
  const timeLineSource = Array(24).fill('');
66
- return timeLineSource.map(() => {
67
- return h("div", { class: "grid-cell border-divider-top" });
67
+ return timeLineSource.map((_item, index) => {
68
+ return (h("div", { class: "grid-cell border-divider-top",
69
+ // eslint-disable-next-line react/jsx-no-bind
70
+ onDblClick: () => {
71
+ this.handleDateBlockClick(calendarDate, index);
72
+ } }));
68
73
  });
69
74
  }
75
+ /**
76
+ * emit vega click event when click the date block
77
+ *
78
+ * @param {CalendarDate} calendarDate the calendar date object
79
+ */
80
+ handleDateBlockClick(calendarDate, hour) {
81
+ const { year, month, date } = calendarDate;
82
+ this.dateDblClickEmitter.emit({ year, month, date, hour });
83
+ }
70
84
  }
71
85
  __decorate([
72
86
  MapToComponentField()
@@ -86,3 +100,6 @@ __decorate([
86
100
  __decorate([
87
101
  MapToComponentField()
88
102
  ], VegaCalendarViewWithTimeRenderer.prototype, "calendarViewController", void 0);
103
+ __decorate([
104
+ MapToComponentField()
105
+ ], VegaCalendarViewWithTimeRenderer.prototype, "dateDblClickEmitter", void 0);
@@ -37,7 +37,9 @@ export class VegaCalendarMonthViewRenderer extends VegaSlimmer {
37
37
  'current-month-day': item.compare(currentDate).inMonth,
38
38
  'active': item.isToday(),
39
39
  'disabled': false,
40
- }, key: `${item.month}-${item.date}` },
40
+ }, key: `${item.month}-${item.date}`,
41
+ // eslint-disable-next-line react/jsx-no-bind
42
+ onDblClick: (e) => this.handleDateBlockClick(e, item) },
41
43
  this.renderDateBlock(item),
42
44
  this.monthEventRenderer.render(item, eventsArray[itemIndex], displayEventsArray[itemIndex], itemIndex)));
43
45
  })));
@@ -53,7 +55,42 @@ export class VegaCalendarMonthViewRenderer extends VegaSlimmer {
53
55
  const isMonthFirstDay = item.date === 1;
54
56
  return (h("div", { class: "date" },
55
57
  isMonthFirstDay && h("div", { class: "month-block" }, getMonthName(item.toDate(), true)),
56
- h("div", { role: "button", tabIndex: 0, class: "grid-col" }, item.date)));
58
+ h("div", { role: "button", tabIndex: 0, class: "grid-col",
59
+ // eslint-disable-next-line react/jsx-no-bind
60
+ onDblClick: (e) => this.goToCurrentDayView(e, item) }, item.date)));
61
+ }
62
+ /**
63
+ * switch to current date day view
64
+ *
65
+ * @param {MouseEvent} e the double click event object
66
+ * @param {CalendarDate} calendarDate the calendar date object
67
+ */
68
+ goToCurrentDayView(e, calendarDate) {
69
+ e.stopPropagation();
70
+ this.currentPeriodController.updateCalendarPeriod('day', calendarDate);
71
+ }
72
+ /**
73
+ * emit vega click event when click the date block
74
+ *
75
+ * @param {MouseEvent} e the mouse event object
76
+ * @param {CalendarDate} calendarDate the calendar date object
77
+ */
78
+ handleDateBlockClick(e, calendarDate) {
79
+ const target = e.target;
80
+ if (this.isMonthBlockBlankArea(target)) {
81
+ const { year, month, date } = calendarDate;
82
+ this.dateDblClickEmitter.emit({ year, month, date, hour: 0 });
83
+ }
84
+ }
85
+ /**
86
+ * determine if the clicked element is blank area
87
+ *
88
+ * @param {HTMLElement} element the target element
89
+ * @returns {boolean} true or false
90
+ */
91
+ isMonthBlockBlankArea(element) {
92
+ // the more button and the calendar event component should not trigger dateDblClick event
93
+ return !element.classList.contains('more-button') && element.tagName !== 'VEGA-CALENDAR-EVENT';
57
94
  }
58
95
  }
59
96
  __decorate([
@@ -68,6 +105,12 @@ __decorate([
68
105
  __decorate([
69
106
  MapToComponentField()
70
107
  ], VegaCalendarMonthViewRenderer.prototype, "calendarViewController", void 0);
108
+ __decorate([
109
+ MapToComponentField()
110
+ ], VegaCalendarMonthViewRenderer.prototype, "currentPeriodController", void 0);
71
111
  __decorate([
72
112
  MapToComponentField()
73
113
  ], VegaCalendarMonthViewRenderer.prototype, "monthEventRenderer", void 0);
114
+ __decorate([
115
+ MapToComponentField()
116
+ ], VegaCalendarMonthViewRenderer.prototype, "dateDblClickEmitter", void 0);
@@ -336,7 +336,6 @@
336
336
  }
337
337
  }
338
338
  .calendar-view-container .calendar-view-title .week-day {
339
- cursor: pointer;
340
339
  color: rgba(var(--v-text-primary, 32, 54, 69, 1));
341
340
  font-family: "Inter", sans-serif;
342
341
  font-size: 20px;
@@ -513,11 +512,13 @@
513
512
  flex-direction: column;
514
513
  gap: 2px;
515
514
  justify-content: space-between;
515
+ flex-grow: 1;
516
516
  }
517
517
  .calendar-view-month .events-container .event-list {
518
518
  display: flex;
519
519
  flex-direction: column;
520
520
  gap: 2px;
521
+ flex-grow: 1;
521
522
  }
522
523
  .calendar-view-month .events-container .event-list .month-event-block {
523
524
  box-sizing: border-box;
@@ -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,11 +47,17 @@ 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
- return (h("vega-dropdown-content-box", { ref: (e) => (this.dropdownContentBoxRef = e), style: { maxHeight: `${this.maxHeight}px` }, "data-parent-ref": this.host },
59
+ const eventPreventFlag = this.host && this.host.dataset.vegaNoEventPrevent === 'true' ? 'true' : 'false';
60
+ return (h("vega-dropdown-content-box", { ref: (e) => (this.dropdownContentBoxRef = e), style: { maxHeight: `${this.maxHeight}px` }, "data-parent-ref": this.host, "data-vega-no-event-prevent": eventPreventFlag },
55
61
  h("div", { ref: (e) => (this.dropdownRef = e), class: {
56
62
  'vega-dropdown': true,
57
63
  'vega-dropdown-with-searchable': this.searchable,
@@ -56,6 +56,7 @@ export class VegaDropdownItemStateController extends SubStateObserverSlimmer {
56
56
  },
57
57
  },
58
58
  ],
59
+ pullStatesWhenReattached: true,
59
60
  });
60
61
  }
61
62
  }