@globalpayments/vega 2.13.1 → 2.15.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 (489) hide show
  1. package/dist/cjs/{app-globals-9633dc88.js → app-globals-6b5136b1.js} +4 -4
  2. package/dist/cjs/{childNodesEventPreventSlimmer-29128c2a.js → childNodesEventPreventSlimmer-5b352793.js} +1 -1
  3. package/dist/cjs/{componentUsageRuntimeMetrics-b21c694f.js → componentUsageRuntimeMetrics-1a2a592d.js} +1 -1
  4. package/dist/cjs/{designToken-91ea7c25.js → designToken-1e1dc648.js} +6 -83
  5. package/dist/cjs/{elementAppenderSlimmer-31397fa9.js → elementAppenderSlimmer-0590af69.js} +1 -1
  6. package/dist/cjs/{eventEmitSlimmer-da0b3b8b.js → eventEmitSlimmer-ea57144a.js} +1 -1
  7. package/dist/cjs/{featureFlagController-44d5e755.js → featureFlagController-ab94fd4f.js} +1 -1
  8. package/dist/cjs/{formFieldControllerSlimmer-b451c7a5.js → formFieldControllerSlimmer-9271a8b8.js} +4 -3
  9. package/dist/cjs/index-1299d729.js +8 -0
  10. package/dist/cjs/{index-672f20ec.js → index-3183748d.js} +27 -11
  11. package/dist/cjs/{index-1aa6f0c9.js → index-b8881ddc.js} +3 -3
  12. package/dist/cjs/index.cjs.js +9 -7
  13. package/dist/cjs/{internalVegaEventManager-a3672e0c.js → internalVegaEventManager-543c20cb.js} +2 -1
  14. package/dist/cjs/{legendInputProcessor-b1c5958c.js → legendInputProcessor-76d1eab6.js} +5 -32
  15. package/dist/cjs/loader.cjs.js +7 -7
  16. package/dist/cjs/mutationObserverFilters-dd88e5fe.js +45 -0
  17. package/dist/cjs/{mutationObserverFilters-5beee7b8.js → mutationObserverSlimmer-8d99123c.js} +4 -43
  18. package/dist/cjs/pixel-98f2a10c.js +72 -0
  19. package/dist/cjs/{responsiveFormatFacade-12dd896d.js → responsiveFormatFacade-037c9c80.js} +3 -43
  20. package/dist/cjs/stateBackgroundColorFormatter-96a26ee7.js +85 -0
  21. package/dist/cjs/{stringInputFormatterSlimmer-e15e55cd.js → stringInputFormatterSlimmer-afdb5cfd.js} +2 -0
  22. package/dist/cjs/{subStateObserverSlimmer-e61bda94.js → subStateObserverSlimmer-48ad20a1.js} +1 -1
  23. package/dist/cjs/timer-5f33058b.js +24 -0
  24. package/dist/cjs/vega-accordion.cjs.entry.js +9 -7
  25. package/dist/cjs/vega-app-footer.cjs.entry.js +1 -1
  26. package/dist/cjs/vega-app-header-button.cjs.entry.js +9 -7
  27. package/dist/cjs/vega-backdrop.cjs.entry.js +1 -1
  28. package/dist/cjs/vega-banner.cjs.entry.js +4 -4
  29. package/dist/cjs/vega-bar-chart.cjs.entry.js +4 -3
  30. package/dist/cjs/vega-box.cjs.entry.js +5 -3
  31. package/dist/cjs/vega-breadcrumb.cjs.entry.js +5 -5
  32. package/dist/cjs/vega-button-circle.cjs.entry.js +9 -7
  33. package/dist/cjs/vega-button-group_2.cjs.entry.js +7 -7
  34. package/dist/cjs/vega-button-link.cjs.entry.js +5 -5
  35. package/dist/cjs/vega-button.cjs.entry.js +7 -6
  36. package/dist/cjs/vega-calendar_2.cjs.entry.js +2927 -0
  37. package/dist/cjs/vega-card.cjs.entry.js +5 -3
  38. package/dist/cjs/vega-carousel.cjs.entry.js +6 -5
  39. package/dist/cjs/vega-checkbox_2.cjs.entry.js +9 -8
  40. package/dist/cjs/vega-chip.cjs.entry.js +9 -7
  41. package/dist/cjs/vega-color-picker.cjs.entry.js +8 -7
  42. package/dist/cjs/vega-combo-box.cjs.entry.js +9 -8
  43. package/dist/cjs/vega-counter-badge.cjs.entry.js +1 -1
  44. package/dist/cjs/vega-date-picker_2.cjs.entry.js +13 -11
  45. package/dist/cjs/vega-dialog_2.cjs.entry.js +9 -7
  46. package/dist/cjs/vega-divider.cjs.entry.js +5 -3
  47. package/dist/cjs/vega-dropdown_5.cjs.entry.js +38 -39
  48. package/dist/cjs/vega-field-error.cjs.entry.js +1 -1
  49. package/dist/cjs/vega-field-label.cjs.entry.js +5 -5
  50. package/dist/cjs/vega-flex.cjs.entry.js +7 -5
  51. package/dist/cjs/vega-font.cjs.entry.js +5 -3
  52. package/dist/cjs/vega-form.cjs.entry.js +9 -8
  53. package/dist/cjs/vega-grid.cjs.entry.js +5 -3
  54. package/dist/cjs/vega-icon.cjs.entry.js +5 -3
  55. package/dist/cjs/vega-image-uploader.cjs.entry.js +11 -9
  56. package/dist/cjs/vega-input-credit-card.cjs.entry.js +11 -10
  57. package/dist/cjs/vega-input-range.cjs.entry.js +9 -8
  58. package/dist/cjs/vega-input-select.cjs.entry.js +11 -9
  59. package/dist/cjs/vega-input.cjs.entry.js +9 -8
  60. package/dist/cjs/vega-item-toggle.cjs.entry.js +4 -4
  61. package/dist/cjs/vega-left-nav_5.cjs.entry.js +9 -7
  62. package/dist/cjs/vega-line-chart.cjs.entry.js +4 -3
  63. package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +3 -2
  64. package/dist/cjs/vega-page-notification_2.cjs.entry.js +2 -2
  65. package/dist/cjs/vega-pagination.cjs.entry.js +5 -5
  66. package/dist/cjs/vega-pie-chart.cjs.entry.js +3 -2
  67. package/dist/cjs/vega-popover_2.cjs.entry.js +7 -6
  68. package/dist/cjs/vega-progress-tracker.cjs.entry.js +4 -4
  69. package/dist/cjs/vega-radio_2.cjs.entry.js +10 -9
  70. package/dist/cjs/vega-section-title.cjs.entry.js +1 -1
  71. package/dist/cjs/vega-segment-control.cjs.entry.js +4 -4
  72. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +10 -9
  73. package/dist/cjs/vega-skeleton.cjs.entry.js +326 -0
  74. package/dist/cjs/vega-slot-container.cjs.entry.js +1 -1
  75. package/dist/cjs/vega-stepper.cjs.entry.js +9 -8
  76. package/dist/cjs/vega-tab-group_2.cjs.entry.js +21 -42
  77. package/dist/cjs/vega-table_8.cjs.entry.js +23 -19
  78. package/dist/cjs/vega-text.cjs.entry.js +1 -1
  79. package/dist/cjs/vega-textarea.cjs.entry.js +9 -8
  80. package/dist/cjs/vega-time-picker_2.cjs.entry.js +12 -10
  81. package/dist/cjs/vega-toggle-switch.cjs.entry.js +4 -4
  82. package/dist/cjs/vega-tooltip_2.cjs.entry.js +4 -3
  83. package/dist/cjs/vega.cjs.js +7 -7
  84. package/dist/cjs/{vegaEventId-1a0eb6b5.js → vegaEventId-d7774262.js} +2 -0
  85. package/dist/cjs/{vegaInternalEventId-b27735af.js → vegaInternalEventId-173c4941.js} +2 -0
  86. package/dist/cjs/{yAxisInputProcessor-da676e61.js → yAxisInputProcessor-8b437e75.js} +1 -1
  87. package/dist/collection/collection-manifest.json +14 -0
  88. package/dist/collection/components/vega-calendar/icons/clock-three.js +3 -0
  89. package/dist/collection/components/vega-calendar/slimmers/common/controllers/vega-calendar-current-period-controller.js +103 -0
  90. package/dist/collection/components/vega-calendar/slimmers/common/controllers/vega-calendar-event-controller.js +71 -0
  91. package/dist/collection/components/vega-calendar/slimmers/common/controllers/vega-calendar-event-responsive-controller.js +74 -0
  92. package/dist/collection/components/vega-calendar/slimmers/common/controllers/vega-calendar-view-controller.js +78 -0
  93. package/dist/collection/components/vega-calendar/slimmers/common/helpers/calendarEventSorter.js +91 -0
  94. package/dist/collection/components/vega-calendar/slimmers/common/layout/baseEventLayout.js +11 -0
  95. package/dist/collection/components/vega-calendar/slimmers/common/layout/baseEventLayoutCell.js +43 -0
  96. package/dist/collection/components/vega-calendar/slimmers/common/layout/baseEventLayoutGenerator.js +23 -0
  97. package/dist/collection/components/vega-calendar/slimmers/common/layout/fullDayEventLayout.js +42 -0
  98. package/dist/collection/components/vega-calendar/slimmers/common/layout/fullDayEventLayoutGenerator.js +84 -0
  99. package/dist/collection/components/vega-calendar/slimmers/common/layout/fullDayEventLayoutRow.js +41 -0
  100. package/dist/collection/components/vega-calendar/slimmers/common/layout/test/longEventLayoutGenerator.test.js +99 -0
  101. package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-item-renderer.js +39 -0
  102. package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-full-day-event-layout-renderer.js +99 -0
  103. package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-renderer.js +27 -0
  104. package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-switch-panel.js +150 -0
  105. package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-view-renderer.js +30 -0
  106. package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/full-day-event/vega-calendar-full-day-event-renderer.js +54 -0
  107. package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/timed-event/layout/dayViewTimedEventLayout.js +35 -0
  108. package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/timed-event/layout/dayViewTimedEventLayoutColumn.js +50 -0
  109. package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/timed-event/layout/dayViewTimedEventLayoutGenerator.js +29 -0
  110. package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/timed-event/layout/test/dayViewEventLayoutGenerator.test.js +77 -0
  111. package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/timed-event/vega-calendar-day-event-layout-renderer.js +70 -0
  112. package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/timed-event/vega-calendar-timed-event-renderer.js +52 -0
  113. package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/vega-calendar-time-line-renderer.js +152 -0
  114. package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/vega-calendar-view-with-time-renderer.js +88 -0
  115. package/dist/collection/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-event-renderer.js +177 -0
  116. package/dist/collection/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-view-renderer.js +73 -0
  117. package/dist/collection/components/vega-calendar/utils/index.js +23 -0
  118. package/dist/collection/components/vega-calendar/vega-calendar-event/slimmers/controllers/vega-calendar-event-bg-color-controller.js +29 -0
  119. package/dist/collection/components/vega-calendar/vega-calendar-event/slimmers/controllers/vega-calendar-event-title-max-height-controller.js +37 -0
  120. package/dist/collection/components/vega-calendar/vega-calendar-event/slimmers/controllers/vega-calendar-sub-state-controller.js +28 -0
  121. package/dist/collection/components/vega-calendar/vega-calendar-event/slimmers/renderers/vega-calendar-event-renderer.js +151 -0
  122. package/dist/collection/components/vega-calendar/vega-calendar-event/vega-calendar-event.css +342 -0
  123. package/dist/collection/components/vega-calendar/vega-calendar-event/vega-calendar-event.js +94 -0
  124. package/dist/collection/components/vega-calendar/vega-calendar.css +602 -0
  125. package/dist/collection/components/vega-calendar/vega-calendar.js +345 -0
  126. package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-children-controller.js +22 -22
  127. package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-selected-controller.js +0 -1
  128. package/dist/collection/components/vega-dropdown/slimmers/renderers/vega-dropdown-list-renderer.js +1 -4
  129. package/dist/collection/components/vega-dropdown/vega-dropdown.js +8 -4
  130. package/dist/collection/components/vega-skeleton/slimmers/renderers/vega-skeleton-ellipse-renderer.js +33 -0
  131. package/dist/collection/components/vega-skeleton/slimmers/renderers/vega-skeleton-full-width-paragraph-renderer.js +29 -0
  132. package/dist/collection/components/vega-skeleton/slimmers/renderers/vega-skeleton-image-renderer.js +33 -0
  133. package/dist/collection/components/vega-skeleton/slimmers/renderers/vega-skeleton-paragraph-renderer.js +31 -0
  134. package/dist/collection/components/vega-skeleton/slimmers/renderers/vega-skeleton-renderer-base.abstract.js +23 -0
  135. package/dist/collection/components/vega-skeleton/slimmers/renderers/vega-skeleton-renderer-manager.js +49 -0
  136. package/dist/collection/components/vega-skeleton/slimmers/renderers/vega-skeleton-table-renderer.js +42 -0
  137. package/dist/collection/components/vega-skeleton/slimmers/renderers/vega-skeleton-text-renderer.js +28 -0
  138. package/dist/collection/components/vega-skeleton/vega-skeleton.css +77 -0
  139. package/dist/collection/components/vega-skeleton/vega-skeleton.js +163 -0
  140. package/dist/collection/components/vega-tab-group/slimmers/vega-tab-group/controllers/vega-tab-group-selected-target-controller.js +11 -12
  141. package/dist/collection/components/vega-tab-group/slimmers/vega-tab-group/renderers/vega-tab-group-direction-button-renderer.js +1 -1
  142. package/dist/collection/components/vega-tab-group/slimmers/vega-tab-group/renderers/vega-tab-group-tab-list-renderer.js +3 -3
  143. package/dist/collection/components/vega-table/vega-table-row/slimmers/controllers/vega-table-row-click-controller.js +7 -5
  144. package/dist/collection/constants/ui.js +2 -0
  145. package/dist/collection/global/icons/chevron-left.js +3 -0
  146. package/dist/collection/global/icons/chevron-right.js +3 -0
  147. package/dist/collection/helpers/calendar/calendar-date.js +103 -0
  148. package/dist/collection/helpers/calendar/calendar-event.js +256 -0
  149. package/dist/collection/helpers/calendar/calendar-period/calendar-period.abstract.js +75 -0
  150. package/dist/collection/helpers/calendar/calendar-period/day-period.js +33 -0
  151. package/dist/collection/helpers/calendar/calendar-period/month-period.js +35 -0
  152. package/dist/collection/helpers/calendar/calendar-period/week-period.js +34 -0
  153. package/dist/collection/helpers/calendar/calendar-view-generator/calendar-view-generator.abstract.js +41 -0
  154. package/dist/collection/helpers/calendar/calendar-view-generator/day-view-generator.js +13 -0
  155. package/dist/collection/helpers/calendar/calendar-view-generator/month-view-generator.js +24 -0
  156. package/dist/collection/helpers/calendar/calendar-view-generator/week-view-generator.js +15 -0
  157. package/dist/collection/helpers/calendar/calendar-view.js +25 -0
  158. package/dist/collection/helpers/calendar/index.js +10 -0
  159. package/dist/collection/helpers/calendar/test/calendar-date.test.js +71 -0
  160. package/dist/collection/helpers/calendar/test/calendar-event.test.js +130 -0
  161. package/dist/collection/helpers/calendar/test/calendar-period/day-period.test.js +65 -0
  162. package/dist/collection/helpers/calendar/test/calendar-period/month-period.test.js +60 -0
  163. package/dist/collection/helpers/calendar/test/calendar-period/week-period.test.js +60 -0
  164. package/dist/collection/helpers/calendar/test/calendar-view-generator/day-view-generator.test.js +19 -0
  165. package/dist/collection/helpers/calendar/test/calendar-view-generator/month-view-generator.test.js +73 -0
  166. package/dist/collection/helpers/calendar/test/calendar-view-generator/week-view-generator.test.js +28 -0
  167. package/dist/collection/helpers/calendar/test/calendar-view.test.js +9 -0
  168. package/dist/collection/helpers/calendar/test/index.test.js +13 -0
  169. package/dist/collection/helpers/calendar/test/utils.test.js +9 -0
  170. package/dist/collection/helpers/calendar/utils.js +10 -0
  171. package/dist/collection/helpers/event-manager/eventID/componentEventIdMap.js +2 -1
  172. package/dist/collection/helpers/event-manager/eventID/vegaEventId.js +2 -0
  173. package/dist/collection/helpers/event-manager/eventID/vegaInternalEventId.js +1 -0
  174. package/dist/collection/helpers/formatter/responsive-map-formatter/responsiveWidthAndHeightFormatter.js +3 -25
  175. package/dist/collection/helpers/slimmers/mutation-observer/mutationObserverSlimmer.js +4 -1
  176. package/dist/collection/helpers/slimmers/stringInputFormatterSlimmer.js +2 -0
  177. package/dist/collection/helpers/vega-telemetry-helper/test/vegaEnvManager.test.js +1 -1
  178. package/dist/collection/helpers/vega-telemetry-helper/vegaEnvManager.js +2 -2
  179. package/dist/collection/utils/e2eUtils.js +2 -1
  180. package/dist/collection/utils/pixel.js +21 -0
  181. package/dist/collection/utils/test/pixel.test.js +9 -1
  182. package/dist/esm/{app-globals-f49e68bc.js → app-globals-cf903368.js} +4 -4
  183. package/dist/esm/{childNodesEventPreventSlimmer-86a1593c.js → childNodesEventPreventSlimmer-ca73e6c1.js} +1 -1
  184. package/dist/esm/{componentUsageRuntimeMetrics-9f888049.js → componentUsageRuntimeMetrics-4f08dec8.js} +1 -1
  185. package/dist/esm/{designToken-d25f5b1e.js → designToken-edc855d6.js} +4 -81
  186. package/dist/esm/{elementAppenderSlimmer-ef58e7a4.js → elementAppenderSlimmer-3c05ca9f.js} +2 -2
  187. package/dist/esm/{eventEmitSlimmer-d5b8d8d7.js → eventEmitSlimmer-9c33f04e.js} +1 -1
  188. package/dist/esm/{featureFlagController-9df5a1a3.js → featureFlagController-816491ad.js} +1 -1
  189. package/dist/esm/{formFieldControllerSlimmer-04953f74.js → formFieldControllerSlimmer-85ff874e.js} +3 -2
  190. package/dist/esm/{index-27e4eb43.js → index-4126a006.js} +27 -11
  191. package/dist/esm/index-c3505689.js +8 -0
  192. package/dist/esm/{index-41dc8dc1.js → index-dd06e5e7.js} +3 -3
  193. package/dist/esm/index.js +10 -8
  194. package/dist/esm/{internalVegaEventManager-501f9eb9.js → internalVegaEventManager-e1501923.js} +2 -1
  195. package/dist/esm/{legendInputProcessor-0b8dc09c.js → legendInputProcessor-644350b4.js} +1 -28
  196. package/dist/esm/loader.js +7 -7
  197. package/dist/esm/mutationObserverFilters-243934f6.js +42 -0
  198. package/dist/esm/{mutationObserverFilters-17327079.js → mutationObserverSlimmer-2355cedf.js} +5 -42
  199. package/dist/esm/pixel-f32c07ce.js +68 -0
  200. package/dist/esm/{responsiveFormatFacade-7665557d.js → responsiveFormatFacade-ac0b91fc.js} +7 -47
  201. package/dist/esm/stateBackgroundColorFormatter-e705312f.js +82 -0
  202. package/dist/esm/{stringInputFormatterSlimmer-9ba33d9e.js → stringInputFormatterSlimmer-e67c7503.js} +3 -1
  203. package/dist/esm/{subStateObserverSlimmer-71b39ca0.js → subStateObserverSlimmer-354b33f6.js} +1 -1
  204. package/dist/esm/timer-9321173b.js +22 -0
  205. package/dist/esm/{typeGuard-ebc62114.js → typeGuard-f33ed2eb.js} +1 -1
  206. package/dist/esm/vega-accordion.entry.js +10 -8
  207. package/dist/esm/vega-app-footer.entry.js +1 -1
  208. package/dist/esm/vega-app-header-button.entry.js +10 -8
  209. package/dist/esm/vega-backdrop.entry.js +1 -1
  210. package/dist/esm/vega-banner.entry.js +4 -4
  211. package/dist/esm/vega-bar-chart.entry.js +4 -3
  212. package/dist/esm/vega-box.entry.js +6 -4
  213. package/dist/esm/vega-breadcrumb.entry.js +5 -5
  214. package/dist/esm/vega-button-circle.entry.js +10 -8
  215. package/dist/esm/vega-button-group_2.entry.js +7 -7
  216. package/dist/esm/vega-button-link.entry.js +5 -5
  217. package/dist/esm/vega-button.entry.js +8 -7
  218. package/dist/esm/vega-calendar_2.entry.js +2922 -0
  219. package/dist/esm/vega-card.entry.js +6 -4
  220. package/dist/esm/vega-carousel.entry.js +7 -6
  221. package/dist/esm/vega-checkbox_2.entry.js +9 -8
  222. package/dist/esm/vega-chip.entry.js +10 -8
  223. package/dist/esm/vega-color-picker.entry.js +8 -7
  224. package/dist/esm/vega-combo-box.entry.js +10 -9
  225. package/dist/esm/vega-counter-badge.entry.js +1 -1
  226. package/dist/esm/vega-date-picker_2.entry.js +14 -12
  227. package/dist/esm/vega-dialog_2.entry.js +10 -8
  228. package/dist/esm/vega-divider.entry.js +6 -4
  229. package/dist/esm/vega-dropdown_5.entry.js +39 -40
  230. package/dist/esm/vega-field-error.entry.js +1 -1
  231. package/dist/esm/vega-field-label.entry.js +5 -5
  232. package/dist/esm/vega-flex.entry.js +8 -6
  233. package/dist/esm/vega-font.entry.js +6 -4
  234. package/dist/esm/vega-form.entry.js +9 -8
  235. package/dist/esm/vega-grid.entry.js +6 -4
  236. package/dist/esm/vega-icon.entry.js +6 -4
  237. package/dist/esm/vega-image-uploader.entry.js +12 -10
  238. package/dist/esm/vega-input-credit-card.entry.js +11 -10
  239. package/dist/esm/vega-input-range.entry.js +9 -8
  240. package/dist/esm/vega-input-select.entry.js +12 -10
  241. package/dist/esm/vega-input.entry.js +10 -9
  242. package/dist/esm/vega-item-toggle.entry.js +4 -4
  243. package/dist/esm/vega-left-nav_5.entry.js +10 -8
  244. package/dist/esm/vega-line-chart.entry.js +4 -3
  245. package/dist/esm/vega-loader-wrapper_2.entry.js +4 -3
  246. package/dist/esm/vega-page-notification_2.entry.js +2 -2
  247. package/dist/esm/vega-pagination.entry.js +5 -5
  248. package/dist/esm/vega-pie-chart.entry.js +3 -2
  249. package/dist/esm/vega-popover_2.entry.js +8 -7
  250. package/dist/esm/vega-progress-tracker.entry.js +4 -4
  251. package/dist/esm/vega-radio_2.entry.js +9 -8
  252. package/dist/esm/vega-section-title.entry.js +1 -1
  253. package/dist/esm/vega-segment-control.entry.js +4 -4
  254. package/dist/esm/vega-selection-tile_2.entry.js +10 -9
  255. package/dist/esm/vega-skeleton.entry.js +322 -0
  256. package/dist/esm/vega-slot-container.entry.js +1 -1
  257. package/dist/esm/vega-stepper.entry.js +9 -8
  258. package/dist/esm/vega-tab-group_2.entry.js +20 -41
  259. package/dist/esm/vega-table_8.entry.js +21 -17
  260. package/dist/esm/vega-text.entry.js +1 -1
  261. package/dist/esm/vega-textarea.entry.js +9 -8
  262. package/dist/esm/vega-time-picker_2.entry.js +13 -11
  263. package/dist/esm/vega-toggle-switch.entry.js +4 -4
  264. package/dist/esm/vega-tooltip_2.entry.js +5 -4
  265. package/dist/esm/vega.js +7 -7
  266. package/dist/esm/{vegaEventId-c0384a6f.js → vegaEventId-680887e1.js} +2 -1
  267. package/dist/esm/{vegaInternalEventId-ba0b5623.js → vegaInternalEventId-600b3751.js} +2 -1
  268. package/dist/esm/{yAxisInputProcessor-1d65dcf9.js → yAxisInputProcessor-2f08ac84.js} +1 -1
  269. package/dist/types/components/vega-calendar/icons/clock-three.d.ts +3 -0
  270. package/dist/types/components/vega-calendar/slimmers/common/controllers/vega-calendar-current-period-controller.d.ts +45 -0
  271. package/dist/types/components/vega-calendar/slimmers/common/controllers/vega-calendar-event-controller.d.ts +36 -0
  272. package/dist/types/components/vega-calendar/slimmers/common/controllers/vega-calendar-event-responsive-controller.d.ts +25 -0
  273. package/dist/types/components/vega-calendar/slimmers/common/controllers/vega-calendar-view-controller.d.ts +39 -0
  274. package/dist/types/components/vega-calendar/slimmers/common/helpers/calendarEventSorter.d.ts +38 -0
  275. package/dist/types/components/vega-calendar/slimmers/common/layout/baseEventLayout.d.ts +11 -0
  276. package/dist/types/components/vega-calendar/slimmers/common/layout/baseEventLayoutCell.d.ts +40 -0
  277. package/dist/types/components/vega-calendar/slimmers/common/layout/baseEventLayoutGenerator.d.ts +16 -0
  278. package/dist/types/components/vega-calendar/slimmers/common/layout/fullDayEventLayout.d.ts +30 -0
  279. package/dist/types/components/vega-calendar/slimmers/common/layout/fullDayEventLayoutGenerator.d.ts +39 -0
  280. package/dist/types/components/vega-calendar/slimmers/common/layout/fullDayEventLayoutRow.d.ts +26 -0
  281. package/dist/types/components/vega-calendar/slimmers/common/layout/test/longEventLayoutGenerator.test.d.ts +1 -0
  282. package/dist/types/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-item-renderer.d.ts +23 -0
  283. package/dist/types/components/vega-calendar/slimmers/common/renderers/vega-calendar-full-day-event-layout-renderer.d.ts +39 -0
  284. package/dist/types/components/vega-calendar/slimmers/common/renderers/vega-calendar-renderer.d.ts +13 -0
  285. package/dist/types/components/vega-calendar/slimmers/common/renderers/vega-calendar-switch-panel.d.ts +67 -0
  286. package/dist/types/components/vega-calendar/slimmers/common/renderers/vega-calendar-view-renderer.d.ts +14 -0
  287. package/dist/types/components/vega-calendar/slimmers/day-view/renderers/full-day-event/vega-calendar-full-day-event-renderer.d.ts +22 -0
  288. package/dist/types/components/vega-calendar/slimmers/day-view/renderers/timed-event/layout/dayViewTimedEventLayout.d.ts +20 -0
  289. package/dist/types/components/vega-calendar/slimmers/day-view/renderers/timed-event/layout/dayViewTimedEventLayoutColumn.d.ts +28 -0
  290. package/dist/types/components/vega-calendar/slimmers/day-view/renderers/timed-event/layout/dayViewTimedEventLayoutGenerator.d.ts +20 -0
  291. package/dist/types/components/vega-calendar/slimmers/day-view/renderers/timed-event/layout/test/dayViewEventLayoutGenerator.test.d.ts +1 -0
  292. package/dist/types/components/vega-calendar/slimmers/day-view/renderers/timed-event/vega-calendar-day-event-layout-renderer.d.ts +27 -0
  293. package/dist/types/components/vega-calendar/slimmers/day-view/renderers/timed-event/vega-calendar-timed-event-renderer.d.ts +23 -0
  294. package/dist/types/components/vega-calendar/slimmers/day-view/renderers/vega-calendar-time-line-renderer.d.ts +63 -0
  295. package/dist/types/components/vega-calendar/slimmers/day-view/renderers/vega-calendar-view-with-time-renderer.d.ts +37 -0
  296. package/dist/types/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-event-renderer.d.ts +66 -0
  297. package/dist/types/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-view-renderer.d.ts +29 -0
  298. package/dist/types/components/vega-calendar/types.d.ts +58 -0
  299. package/dist/types/components/vega-calendar/utils/index.d.ts +18 -0
  300. package/dist/types/components/vega-calendar/vega-calendar-event/slimmers/controllers/vega-calendar-event-bg-color-controller.d.ts +12 -0
  301. package/dist/types/components/vega-calendar/vega-calendar-event/slimmers/controllers/vega-calendar-event-title-max-height-controller.d.ts +13 -0
  302. package/dist/types/components/vega-calendar/vega-calendar-event/slimmers/controllers/vega-calendar-sub-state-controller.d.ts +10 -0
  303. package/dist/types/components/vega-calendar/vega-calendar-event/slimmers/renderers/vega-calendar-event-renderer.d.ts +54 -0
  304. package/dist/types/components/vega-calendar/vega-calendar-event/vega-calendar-event.d.ts +25 -0
  305. package/dist/types/components/vega-calendar/vega-calendar.d.ts +107 -0
  306. package/dist/types/components/vega-dropdown/slimmers/controllers/vega-dropdown-children-controller.d.ts +3 -6
  307. package/dist/types/components/vega-dropdown/slimmers/renderers/vega-dropdown-list-renderer.d.ts +0 -2
  308. package/dist/types/components/vega-dropdown/vega-dropdown.d.ts +5 -1
  309. package/dist/types/components/vega-skeleton/interface.d.ts +5 -0
  310. package/dist/types/components/vega-skeleton/slimmers/renderers/vega-skeleton-ellipse-renderer.d.ts +12 -0
  311. package/dist/types/components/vega-skeleton/slimmers/renderers/vega-skeleton-full-width-paragraph-renderer.d.ts +11 -0
  312. package/dist/types/components/vega-skeleton/slimmers/renderers/vega-skeleton-image-renderer.d.ts +12 -0
  313. package/dist/types/components/vega-skeleton/slimmers/renderers/vega-skeleton-paragraph-renderer.d.ts +12 -0
  314. package/dist/types/components/vega-skeleton/slimmers/renderers/vega-skeleton-renderer-base.abstract.d.ts +13 -0
  315. package/dist/types/components/vega-skeleton/slimmers/renderers/vega-skeleton-renderer-manager.d.ts +21 -0
  316. package/dist/types/components/vega-skeleton/slimmers/renderers/vega-skeleton-table-renderer.d.ts +14 -0
  317. package/dist/types/components/vega-skeleton/slimmers/renderers/vega-skeleton-text-renderer.d.ts +11 -0
  318. package/dist/types/components/vega-skeleton/vega-skeleton.d.ts +41 -0
  319. package/dist/types/components/vega-tab-group/slimmers/vega-tab-group/controllers/vega-tab-group-selected-target-controller.d.ts +5 -5
  320. package/dist/types/components/vega-tab-group/slimmers/vega-tab-group/renderers/vega-tab-group-tab-list-renderer.d.ts +1 -1
  321. package/dist/types/components.d.ts +128 -1
  322. package/dist/types/constants/ui.d.ts +1 -1
  323. package/dist/types/global/icons/chevron-left.d.ts +3 -0
  324. package/dist/types/global/icons/chevron-right.d.ts +3 -0
  325. package/dist/types/helpers/calendar/calendar-date.d.ts +61 -0
  326. package/dist/types/helpers/calendar/calendar-event.d.ts +140 -0
  327. package/dist/types/helpers/calendar/calendar-period/calendar-period.abstract.d.ts +73 -0
  328. package/dist/types/helpers/calendar/calendar-period/day-period.d.ts +21 -0
  329. package/dist/types/helpers/calendar/calendar-period/month-period.d.ts +21 -0
  330. package/dist/types/helpers/calendar/calendar-period/week-period.d.ts +21 -0
  331. package/dist/types/helpers/calendar/calendar-view-generator/calendar-view-generator.abstract.d.ts +35 -0
  332. package/dist/types/helpers/calendar/calendar-view-generator/day-view-generator.d.ts +12 -0
  333. package/dist/types/helpers/calendar/calendar-view-generator/month-view-generator.d.ts +12 -0
  334. package/dist/types/helpers/calendar/calendar-view-generator/week-view-generator.d.ts +12 -0
  335. package/dist/types/helpers/calendar/calendar-view.d.ts +21 -0
  336. package/dist/types/helpers/calendar/index.d.ts +10 -0
  337. package/dist/types/helpers/calendar/test/calendar-date.test.d.ts +1 -0
  338. package/dist/types/helpers/calendar/test/calendar-event.test.d.ts +1 -0
  339. package/dist/types/helpers/calendar/test/calendar-period/day-period.test.d.ts +1 -0
  340. package/dist/types/helpers/calendar/test/calendar-period/month-period.test.d.ts +1 -0
  341. package/dist/types/helpers/calendar/test/calendar-period/week-period.test.d.ts +1 -0
  342. package/dist/types/helpers/calendar/test/calendar-view-generator/day-view-generator.test.d.ts +1 -0
  343. package/dist/types/helpers/calendar/test/calendar-view-generator/month-view-generator.test.d.ts +1 -0
  344. package/dist/types/helpers/calendar/test/calendar-view-generator/week-view-generator.test.d.ts +1 -0
  345. package/dist/types/helpers/calendar/test/calendar-view.test.d.ts +1 -0
  346. package/dist/types/helpers/calendar/test/index.test.d.ts +1 -0
  347. package/dist/types/helpers/calendar/test/utils.test.d.ts +1 -0
  348. package/dist/types/helpers/calendar/utils.d.ts +7 -0
  349. package/dist/types/helpers/event-manager/eventID/vegaEventId.d.ts +2 -0
  350. package/dist/types/helpers/event-manager/eventID/vegaInternalEventId.d.ts +1 -0
  351. package/dist/types/helpers/formatter/responsive-map-formatter/responsiveWidthAndHeightFormatter.d.ts +0 -12
  352. package/dist/types/types/components.type.d.ts +9 -1
  353. package/dist/types/utils/pixel.d.ts +11 -0
  354. package/dist/vega/index.esm.js +1 -1
  355. package/dist/vega/p-009405b6.entry.js +1 -0
  356. package/dist/vega/p-01ec38c1.js +1 -0
  357. package/dist/vega/p-0c667d6a.js +1 -0
  358. package/dist/vega/{p-d361ef78.js → p-1265732f.js} +1 -1
  359. package/dist/vega/{p-e80fd0ef.js → p-13ead830.js} +1 -1
  360. package/dist/vega/{p-d942a746.js → p-16608c5a.js} +1 -1
  361. package/dist/vega/{p-41413ea4.entry.js → p-1b3a0b54.entry.js} +2 -2
  362. package/dist/vega/p-1bc5b3bc.js +1 -0
  363. package/dist/vega/{p-7b127de4.js → p-1c2646d6.js} +1 -1
  364. package/dist/vega/p-1ced3ae5.js +1 -0
  365. package/dist/vega/{p-f27998de.entry.js → p-1d628d23.entry.js} +1 -1
  366. package/dist/vega/p-1dfddf03.entry.js +1 -0
  367. package/dist/vega/p-23422e56.entry.js +1 -0
  368. package/dist/vega/{p-797b24d3.entry.js → p-27d76db9.entry.js} +1 -1
  369. package/dist/vega/p-282648c1.entry.js +1 -0
  370. package/dist/vega/p-29d2d70a.js +1 -0
  371. package/dist/vega/p-2bb1c1c1.entry.js +1 -0
  372. package/dist/vega/{p-cffd96c9.entry.js → p-2c89a9a4.entry.js} +1 -1
  373. package/dist/vega/p-2e59a4f1.entry.js +1 -0
  374. package/dist/vega/p-37d3b80c.entry.js +1 -0
  375. package/dist/vega/p-38a22eb3.entry.js +1 -0
  376. package/dist/vega/p-38b01f3f.entry.js +1 -0
  377. package/dist/vega/p-38d19c4f.entry.js +1 -0
  378. package/dist/vega/p-3a815548.entry.js +1 -0
  379. package/dist/vega/p-3efc814a.entry.js +1 -0
  380. package/dist/vega/p-4365b25e.entry.js +1 -0
  381. package/dist/vega/p-449ad98f.entry.js +1 -0
  382. package/dist/vega/p-4d2859c9.entry.js +1 -0
  383. package/dist/vega/p-557516a4.entry.js +1 -0
  384. package/dist/vega/p-56681feb.js +1 -0
  385. package/dist/vega/p-57b85af1.entry.js +1 -0
  386. package/dist/vega/p-592e755b.entry.js +1 -0
  387. package/dist/vega/{p-210737f2.js → p-5cad29f5.js} +1 -1
  388. package/dist/vega/p-5eeb2fc1.entry.js +1 -0
  389. package/dist/vega/p-61c96c79.entry.js +1 -0
  390. package/dist/vega/p-61f18887.js +1 -0
  391. package/dist/vega/p-692df03d.entry.js +1 -0
  392. package/dist/vega/p-6ad96891.entry.js +1 -0
  393. package/dist/vega/p-6bdc4407.js +1 -0
  394. package/dist/vega/{p-194a3f8f.entry.js → p-6d482bec.entry.js} +1 -1
  395. package/dist/vega/{p-5b5625a0.entry.js → p-6e0daee9.entry.js} +1 -1
  396. package/dist/vega/p-6f7f9cda.entry.js +1 -0
  397. package/dist/vega/p-7440d7a2.entry.js +1 -0
  398. package/dist/vega/{p-bbbcfd09.entry.js → p-77b39fe7.entry.js} +1 -1
  399. package/dist/vega/p-77ff7c72.js +1 -0
  400. package/dist/vega/{p-e49ec016.entry.js → p-84787f59.entry.js} +1 -1
  401. package/dist/vega/p-8c62c493.entry.js +1 -0
  402. package/dist/vega/{p-a03b1bad.entry.js → p-9047ee85.entry.js} +1 -1
  403. package/dist/vega/p-95bdac84.entry.js +1 -0
  404. package/dist/vega/{p-3d220905.js → p-999e1318.js} +1 -1
  405. package/dist/vega/{p-7653f0c2.js → p-99c8fe92.js} +1 -1
  406. package/dist/vega/{p-e6848e33.entry.js → p-9b396c06.entry.js} +1 -1
  407. package/dist/vega/p-9e38810c.js +1 -0
  408. package/dist/vega/{p-f5f0545e.entry.js → p-9f56c3e4.entry.js} +1 -1
  409. package/dist/vega/p-a6cb10e8.entry.js +1 -0
  410. package/dist/vega/{p-75c51fe9.js → p-a9c3e9fd.js} +1 -1
  411. package/dist/vega/{p-8bdb7c1d.entry.js → p-a9f61d9e.entry.js} +1 -1
  412. package/dist/vega/p-aae8855d.js +1 -0
  413. package/dist/vega/p-af72a212.entry.js +1 -0
  414. package/dist/vega/p-b3056874.entry.js +1 -0
  415. package/dist/vega/{p-fa38e1c8.entry.js → p-b58e2fae.entry.js} +1 -1
  416. package/dist/vega/{p-86002ca4.entry.js → p-b708b0c2.entry.js} +1 -1
  417. package/dist/vega/p-b7bde205.entry.js +1 -0
  418. package/dist/vega/p-ba37eaad.entry.js +1 -0
  419. package/dist/vega/p-bb761f8f.js +1 -0
  420. package/dist/vega/p-bfc3450c.entry.js +1 -0
  421. package/dist/vega/p-c0ca1a1c.entry.js +1 -0
  422. package/dist/vega/p-c47d4933.js +1 -0
  423. package/dist/vega/p-c849236f.entry.js +1 -0
  424. package/dist/vega/{p-c902a586.entry.js → p-cd05ab96.entry.js} +1 -1
  425. package/dist/vega/{p-31ec4b52.entry.js → p-ceec3241.entry.js} +1 -1
  426. package/dist/vega/{p-761c458e.entry.js → p-d224e798.entry.js} +1 -1
  427. package/dist/vega/p-d909c9b4.entry.js +1 -0
  428. package/dist/vega/p-d978ee2c.entry.js +1 -0
  429. package/dist/vega/p-de5db6c9.entry.js +1 -0
  430. package/dist/vega/p-e1a284b1.entry.js +1 -0
  431. package/dist/vega/p-e4e60c01.entry.js +1 -0
  432. package/dist/vega/p-eb461dad.entry.js +1 -0
  433. package/dist/vega/p-eb709bc0.entry.js +1 -0
  434. package/dist/vega/p-f1d8fd1c.js +1 -0
  435. package/dist/vega/{p-629acb2e.js → p-f2118771.js} +1 -1
  436. package/dist/vega/p-f723790c.entry.js +1 -0
  437. package/dist/vega/{p-6ff07396.js → p-fda33444.js} +1 -1
  438. package/dist/vega/vega.esm.js +1 -1
  439. package/package.json +3 -3
  440. package/dist/vega/p-07abc29b.entry.js +0 -1
  441. package/dist/vega/p-08b48e61.entry.js +0 -1
  442. package/dist/vega/p-0d51b10e.entry.js +0 -1
  443. package/dist/vega/p-0ee347fd.entry.js +0 -1
  444. package/dist/vega/p-1fe9e4b3.js +0 -1
  445. package/dist/vega/p-22101a5f.entry.js +0 -1
  446. package/dist/vega/p-26be7725.js +0 -1
  447. package/dist/vega/p-2d38dcab.entry.js +0 -1
  448. package/dist/vega/p-2ea7b083.entry.js +0 -1
  449. package/dist/vega/p-3185ee03.entry.js +0 -1
  450. package/dist/vega/p-3205e6ec.entry.js +0 -1
  451. package/dist/vega/p-33ac74cb.entry.js +0 -1
  452. package/dist/vega/p-4949df06.js +0 -1
  453. package/dist/vega/p-4aaa9e0d.entry.js +0 -1
  454. package/dist/vega/p-5abced5e.entry.js +0 -1
  455. package/dist/vega/p-5df33dea.entry.js +0 -1
  456. package/dist/vega/p-60dbd035.entry.js +0 -1
  457. package/dist/vega/p-64020a69.entry.js +0 -1
  458. package/dist/vega/p-6cb26711.entry.js +0 -1
  459. package/dist/vega/p-79ccf076.entry.js +0 -1
  460. package/dist/vega/p-7d2ed978.entry.js +0 -1
  461. package/dist/vega/p-8da4b720.js +0 -1
  462. package/dist/vega/p-91160d38.js +0 -1
  463. package/dist/vega/p-9745f18f.entry.js +0 -1
  464. package/dist/vega/p-9820bd52.entry.js +0 -1
  465. package/dist/vega/p-9c726541.entry.js +0 -1
  466. package/dist/vega/p-9e70473b.js +0 -1
  467. package/dist/vega/p-a022bf87.entry.js +0 -1
  468. package/dist/vega/p-a09efd3b.entry.js +0 -1
  469. package/dist/vega/p-a62f4fbf.entry.js +0 -1
  470. package/dist/vega/p-ac23cfa6.js +0 -1
  471. package/dist/vega/p-ad2d02c5.entry.js +0 -1
  472. package/dist/vega/p-ade08379.entry.js +0 -1
  473. package/dist/vega/p-aeef2799.js +0 -1
  474. package/dist/vega/p-b7a0f473.entry.js +0 -1
  475. package/dist/vega/p-b7c51304.js +0 -1
  476. package/dist/vega/p-bbc8b4f5.entry.js +0 -1
  477. package/dist/vega/p-bd350fb7.entry.js +0 -1
  478. package/dist/vega/p-bf877997.entry.js +0 -1
  479. package/dist/vega/p-cb06eb1c.entry.js +0 -1
  480. package/dist/vega/p-d3605b1a.entry.js +0 -1
  481. package/dist/vega/p-da12b2da.entry.js +0 -1
  482. package/dist/vega/p-db6e73fc.entry.js +0 -1
  483. package/dist/vega/p-e0d2c9f6.entry.js +0 -1
  484. package/dist/vega/p-e89db39c.entry.js +0 -1
  485. package/dist/vega/p-eb6c9578.js +0 -1
  486. package/dist/vega/p-fbc0c261.entry.js +0 -1
  487. package/dist/vega/p-fc30b986.entry.js +0 -1
  488. package/dist/vega/p-ff3ae862.entry.js +0 -1
  489. package/dist/vega/p-ffa25bf2.entry.js +0 -1
@@ -0,0 +1,71 @@
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 { VegaSlimmer, MapToComponentField, MapToComponentMethod } from 'vega-slimmer/core';
8
+ import { CalendarEvent } from '../../../../../helpers/calendar/calendar-event';
9
+ import { LogUtility } from '../../../../../utils/log';
10
+ /** The `VegaCalendarEventController` class in TypeScript manages calendar events, initializes event layouts, retrieves events for the current date, and checks if a date falls within the range of a calendar event. */
11
+ export class VegaCalendarEventController extends VegaSlimmer {
12
+ /**
13
+ * The function `getCurrentDateEvent` returns an array of calendar events for the current date, including both normal events and group events.
14
+ *
15
+ * @param {CalendarDate} date - The `date` parameter in the `getCurrentDateEvent` function is of type `CalendarDate`, which is used to represent a specific date with properties for year, month, and date.
16
+ * @returns {CalendarEvent[]} The `getCurrentDateEvent` function returns an array of `CalendarEvent` objects. It
17
+ * first retrieves all group events and normal events for the specified date, then filters out the
18
+ * events that are specific to the current day. Finally, it concatenates the current day events with
19
+ * the group events and returns the combined array.
20
+ */
21
+ getCurrentDateEvents(date) {
22
+ const allEvents = this.calendarEvents;
23
+ return allEvents.filter((item) => item.isCurrentDayEvent(date));
24
+ }
25
+ /**
26
+ * initial calendar events when component props events change
27
+ *
28
+ * @param {VegaCalendarRawEvent[]} newEvents new event options array
29
+ */
30
+ updateAfterEventChange(newEvents) {
31
+ this.initCalendarEvents(newEvents);
32
+ }
33
+ /**
34
+ * initial calendar events in first time
35
+ */
36
+ updateWhenComponentWillLoad() {
37
+ this.initCalendarEvents(this.events);
38
+ }
39
+ /**
40
+ * initial calendar events
41
+ *
42
+ * @param {VegaCalendarRawEvent[]} newEvents new event options array
43
+ */
44
+ initCalendarEvents(newEvents) {
45
+ const result = [];
46
+ if (newEvents) {
47
+ newEvents.forEach((item) => {
48
+ try {
49
+ const calendarEvent = new CalendarEvent(item);
50
+ result.push(calendarEvent);
51
+ }
52
+ catch (_a) {
53
+ LogUtility.warn('Invalid calendar event item:', item);
54
+ }
55
+ });
56
+ }
57
+ this.calendarEvents = result;
58
+ }
59
+ }
60
+ __decorate([
61
+ MapToComponentField({ writable: true })
62
+ ], VegaCalendarEventController.prototype, "calendarEvents", void 0);
63
+ __decorate([
64
+ MapToComponentField()
65
+ ], VegaCalendarEventController.prototype, "events", void 0);
66
+ __decorate([
67
+ MapToComponentMethod('watchEventsChange')
68
+ ], VegaCalendarEventController.prototype, "updateAfterEventChange", null);
69
+ __decorate([
70
+ MapToComponentMethod('componentWillLoad')
71
+ ], VegaCalendarEventController.prototype, "updateWhenComponentWillLoad", null);
@@ -0,0 +1,74 @@
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 } from 'vega-slimmer/core';
8
+ import { PageResizeObserverSlimmer } from '../../../../../helpers/slimmers/pageResizeObserverSlimmer';
9
+ import { debounce } from '../../../../../utils/timer';
10
+ import { VegaCalendarEventItemRenderer } from '../renderers/vega-calendar-event-item-renderer';
11
+ import changeManager from '../../../../../helpers/change-manager/changeManager';
12
+ import domNodeSubjectFactory from '../../../../../helpers/change-manager/subject/dom-node-subject/domNodeSubjectFactory';
13
+ import { VegaInternalCalendarMonthEventsChange } from '../../../../../helpers/event-manager/eventID/vegaInternalEventId';
14
+ /** The `VegaCalendarEventResponsiveController` class extends `PageResizeObserverSlimmer` and updates the max display count of month events with debounce in a VegaCalendar component. */
15
+ export class VegaCalendarEventResponsiveController extends PageResizeObserverSlimmer {
16
+ /**
17
+ * update the event view when the calendar layout update
18
+ */
19
+ constructor() {
20
+ super({
21
+ // eslint-disable-next-line jsdoc/require-jsdoc
22
+ target: /* istanbul ignore next */ () => this.host,
23
+ // eslint-disable-next-line jsdoc/require-jsdoc
24
+ callback: /* istanbul ignore next */ () => this.updateMaxDisplayCountWithDebounce(),
25
+ });
26
+ this.updateMaxDisplayCountWithDebounce = debounce(this.updateMaxDisplayCount, 500, this);
27
+ }
28
+ /**
29
+ * Update the month event display items.
30
+ */
31
+ updateMaxDisplayCount() {
32
+ // The debounce method will case this method called after component disconnect, then the slimmer will get issue to get viewMode from component class, this issue will catch in spec.ts
33
+ try {
34
+ const eventContainerRef = this.monthEventRenderer.getMonthEventContainerRef();
35
+ if (this.viewMode === 'month' && eventContainerRef) {
36
+ const maxContainerHeight = eventContainerRef.parentElement.getBoundingClientRect().height;
37
+ const count = Math.floor((maxContainerHeight - VegaCalendarEventResponsiveController.monthDateTitleHeight) /
38
+ VegaCalendarEventItemRenderer.backgroundColorModeEventHeight);
39
+ changeManager.notify(domNodeSubjectFactory.getSubject(this.host, VegaInternalCalendarMonthEventsChange), {
40
+ host: this.host,
41
+ detail: count,
42
+ });
43
+ }
44
+ // eslint-disable-next-line no-empty
45
+ }
46
+ catch (_a) { }
47
+ }
48
+ /**
49
+ * update the max display count when switch view mode
50
+ *
51
+ * @param {VegaCalendarViewModeType} viewMode new view mode value
52
+ */
53
+ updateMaxDisplayCountAfterSwitchToMonthView(viewMode) {
54
+ if (viewMode === 'month') {
55
+ this.updateMaxDisplayCountWithDebounce();
56
+ }
57
+ }
58
+ }
59
+ VegaCalendarEventResponsiveController.monthDateTitleHeight = 26;
60
+ __decorate([
61
+ MapToComponentField()
62
+ ], VegaCalendarEventResponsiveController.prototype, "host", void 0);
63
+ __decorate([
64
+ MapToComponentField()
65
+ ], VegaCalendarEventResponsiveController.prototype, "monthEventRenderer", void 0);
66
+ __decorate([
67
+ MapToComponentField()
68
+ ], VegaCalendarEventResponsiveController.prototype, "viewMode", void 0);
69
+ __decorate([
70
+ MapToComponentMethod('componentDidLoad')
71
+ ], VegaCalendarEventResponsiveController.prototype, "updateMaxDisplayCount", null);
72
+ __decorate([
73
+ MapToComponentMethod('watchViewModeChange')
74
+ ], VegaCalendarEventResponsiveController.prototype, "updateMaxDisplayCountAfterSwitchToMonthView", null);
@@ -0,0 +1,78 @@
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 { DayViewGenerator, MonthViewGenerator, WeekViewGenerator, } from '../../../../../helpers/calendar';
9
+ /** The `VegaCalendarViewController` class manages the calendar view based on the current period and view mode in TypeScript. */
10
+ export class VegaCalendarViewController extends VegaSlimmer {
11
+ constructor() {
12
+ super(...arguments);
13
+ this.monthViewGenerator = new MonthViewGenerator();
14
+ this.weekViewGenerator = new WeekViewGenerator();
15
+ this.dayViewGenerator = new DayViewGenerator();
16
+ }
17
+ /**
18
+ * Update the view mode by param
19
+ *
20
+ * @param {VegaCalendarViewModeType} viewMode view mode string
21
+ */
22
+ setViewMode(viewMode) {
23
+ this.viewMode = viewMode;
24
+ }
25
+ /**
26
+ * set default calendar view
27
+ */
28
+ initialCalendarView() {
29
+ this.setCalendarView(this.getCalendarViewByViewMode());
30
+ }
31
+ /**
32
+ * generator new calendar view if the calendar current period changes
33
+ */
34
+ generateCalendarView() {
35
+ this.setCalendarView(this.getCalendarViewByViewMode());
36
+ }
37
+ /**
38
+ * The function `getCalendarViewByViewMode` returns a specific calendar view based on the current view mode.
39
+ *
40
+ * @returns {CalendarView} get the match calendar view by the view mode
41
+ */
42
+ getCalendarViewByViewMode() {
43
+ switch (this.viewMode) {
44
+ case 'week':
45
+ return this.weekViewGenerator.generate(this.currentPeriod);
46
+ case 'day':
47
+ return this.dayViewGenerator.generate(this.currentPeriod);
48
+ default:
49
+ return this.monthViewGenerator.generate(this.currentPeriod);
50
+ }
51
+ }
52
+ /**
53
+ * update the calendar view
54
+ *
55
+ * @param {CalendarView} newView new calendar view
56
+ */
57
+ setCalendarView(newView) {
58
+ this.calendarView = newView;
59
+ }
60
+ }
61
+ __decorate([
62
+ MapToComponentField({ writable: true })
63
+ ], VegaCalendarViewController.prototype, "calendarView", void 0);
64
+ __decorate([
65
+ MapToComponentField({ writable: true })
66
+ ], VegaCalendarViewController.prototype, "viewMode", void 0);
67
+ __decorate([
68
+ MapToComponentField()
69
+ ], VegaCalendarViewController.prototype, "currentPeriod", void 0);
70
+ __decorate([
71
+ MapToComponentField()
72
+ ], VegaCalendarViewController.prototype, "currentPeriodController", void 0);
73
+ __decorate([
74
+ MapToComponentMethod('componentWillLoad')
75
+ ], VegaCalendarViewController.prototype, "initialCalendarView", null);
76
+ __decorate([
77
+ MapToComponentMethod('watchCurrentPeriodChange')
78
+ ], VegaCalendarViewController.prototype, "generateCalendarView", null);
@@ -0,0 +1,91 @@
1
+ import { getTimeIndex } from '../../../utils';
2
+ /** The VegaCalendarEventSorter class in TypeScript provides a sort method to sort an array of CalendarEvent objects. */
3
+ export class VegaCalendarEventSorter {
4
+ /**
5
+ * The function "sort" takes an array of CalendarEvent objects and returns the same array without performing any sorting.
6
+ *
7
+ * @param {CalendarEvent[]} events - CalendarEvent[] - an array of CalendarEvent objects that need to be sorted.
8
+ * @param {number} currentViewIndex - The current index of the row
9
+ * @param {VegaCalendarFullDayEventLayout} fullDayEventLayout - The current row all long event layout
10
+ * @returns {Nullable<CalendarEvent>} The `sort` function is currently returning the input array of `CalendarEvent` objects as is, without performing any sorting operation.
11
+ */
12
+ sort(events, currentViewIndex, fullDayEventLayout) {
13
+ const allDayEvents = [];
14
+ const groupEvents = [];
15
+ const otherEvents = [];
16
+ for (let i = 0; i < events.length; i++) {
17
+ const currentEvent = events[i];
18
+ if (currentEvent) {
19
+ if (currentEvent.isGroupEvent()) {
20
+ groupEvents.push(currentEvent);
21
+ }
22
+ else if (currentEvent.isAllDayEvent) {
23
+ allDayEvents.push(currentEvent);
24
+ }
25
+ else {
26
+ otherEvents.push(currentEvent);
27
+ }
28
+ }
29
+ }
30
+ let result = allDayEvents.concat(this.sortCalendarEventByTime(otherEvents));
31
+ let currentViewOrderGroupEvents = fullDayEventLayout.getEventsByIndex(currentViewIndex);
32
+ const currentEvents = currentViewOrderGroupEvents.filter((item) => item);
33
+ result = groupEvents
34
+ .filter((groupEvent) => {
35
+ return currentEvents.findIndex((item) => item === groupEvent) < 0;
36
+ })
37
+ .concat(result);
38
+ if (currentViewOrderGroupEvents.length > currentEvents.length) {
39
+ const insertItems = result.slice(0, currentViewOrderGroupEvents.length - currentEvents.length);
40
+ result = result.slice(currentViewOrderGroupEvents.length - currentEvents.length);
41
+ currentViewOrderGroupEvents = this.insertEventsToEmptyPosition(currentViewOrderGroupEvents, insertItems);
42
+ }
43
+ result = currentViewOrderGroupEvents.concat(result);
44
+ return result;
45
+ }
46
+ /**
47
+ * The function `sortCalendarEventByTime` sorts an array of `CalendarEvent` objects based on their start and end times.
48
+ *
49
+ * @param {CalendarEvent[]} events - An array of CalendarEvent objects. Each CalendarEvent object contains information about a specific event, such as startTime and endTime.
50
+ * @returns {CalendarEvent[]} The `sortCalendarEventByTime` function is returning an array of `CalendarEvent` objects sorted by their start time and end time. The events are sorted in ascending order based on their start time, and if two events have the same start time, they are further sorted in descending order based on their end time.
51
+ */
52
+ sortCalendarEventByTime(events) {
53
+ return events.sort((eventA, eventB) => {
54
+ const eventAStartIndex = getTimeIndex(eventA.startTime);
55
+ const eventBStartIndex = getTimeIndex(eventB.startTime);
56
+ if (eventAStartIndex === eventBStartIndex) {
57
+ return getTimeIndex(eventB.endTime) - getTimeIndex(eventA.endTime);
58
+ }
59
+ else {
60
+ return eventAStartIndex - eventBStartIndex;
61
+ }
62
+ });
63
+ }
64
+ /**
65
+ * The function inserts events from a given array into empty positions in another array of events.
66
+ *
67
+ * @param {Nullable<CalendarEvent>[]} viewEvents - `viewEvents` is an array of nullable
68
+ * `CalendarEvent` objects representing the events currently displayed in the calendar view. Each
69
+ * element in the array can either be a `CalendarEvent` object or `null`.
70
+ * @param {CalendarEvent[]} events - The `events` parameter in the `insertEventsToEmptyPosition`
71
+ * function represents an array of `CalendarEvent` objects that need to be inserted into the
72
+ * `viewEvents` array at empty positions. The function iterates over the `viewEvents` array and
73
+ * inserts events from the `events` array
74
+ * @returns {CalendarEvent|null[]} The `insertEventsToEmptyPosition` function returns an array of `Nullable<CalendarEvent>`
75
+ * where events from the `events` array are inserted into empty positions in the `viewEvents` array.
76
+ * If there are no empty positions in `viewEvents`, the function returns the original `viewEvents`
77
+ * array.
78
+ */
79
+ insertEventsToEmptyPosition(viewEvents, events) {
80
+ return viewEvents.map((item) => {
81
+ if (events.length && !item) {
82
+ const insertItem = events[0];
83
+ events = events.slice(1);
84
+ return insertItem;
85
+ }
86
+ else {
87
+ return item;
88
+ }
89
+ });
90
+ }
91
+ }
@@ -0,0 +1,11 @@
1
+ /** This TypeScript code snippet defines an abstract class `VegaCalendarBaseEventLayout` that serves as a base for event layout functionality in a calendar application. */
2
+ export class VegaCalendarBaseEventLayout {
3
+ /**
4
+ * The function returns an array of VegaCalendarBaseEventLayoutCell objects.
5
+ *
6
+ * @returns {VegaCalendarBaseEventLayoutCell[]} An array of VegaCalendarLongEventLayoutRow objects is being returned.
7
+ */
8
+ get eventLayoutCells() {
9
+ return this.cells;
10
+ }
11
+ }
@@ -0,0 +1,43 @@
1
+ /** This code snippet is defining an abstract class named `VegaCalendarBaseEventLayoutCell`. Here's a breakdown of what it does: */
2
+ export class VegaCalendarBaseEventLayoutCell {
3
+ /**
4
+ * This function retrieves a calendar event based on the slot index provided.
5
+ *
6
+ * @param {number} index - The `index` parameter is a number that represents the position of a slot in an array.
7
+ * @returns {CalendarEvent | null} The `getEventBySlotIndex` method is returning a `CalendarEvent` object from the `slots` array at the specified `index`.
8
+ */
9
+ getEventBySlotIndex(index) {
10
+ return this.slots[index];
11
+ }
12
+ /**
13
+ * The function `getEventStartIndex` returns the index of a given `CalendarEvent` object within an array of `CalendarEvent` objects.
14
+ *
15
+ * @param {CalendarEvent} eventItem - CalendarEvent
16
+ * @returns {number} The function `getEventStartIndex` returns the index of the `eventItem` within the `slots` array.
17
+ */
18
+ getEventStartIndex(eventItem) {
19
+ return this.slots.findIndex((item) => item === eventItem);
20
+ }
21
+ /**
22
+ * This TypeScript function calculates the end index of a calendar event within a specified range of slots.
23
+ *
24
+ * @param {CalendarEvent} eventItem - CalendarEvent - the event item for which we want to find the end index in the calendar.
25
+ * @returns {number} The `getEventEndIndex` function returns the index of the end of the calendar event in the `VegaCalendarLongEventLayoutRow.defaultSlots` array.
26
+ */
27
+ getEventEndIndex(eventItem) {
28
+ const startIndex = this.getEventStartIndex(eventItem);
29
+ let endIndex = startIndex;
30
+ if (startIndex >= 0) {
31
+ for (let i = startIndex + 1; i < this.slots.length; i++) {
32
+ if (this.slots[i] !== eventItem) {
33
+ endIndex = i - 1;
34
+ break;
35
+ }
36
+ else if (i === this.slots.length - 1) {
37
+ endIndex = i;
38
+ }
39
+ }
40
+ }
41
+ return endIndex;
42
+ }
43
+ }
@@ -0,0 +1,23 @@
1
+ /** This code snippet is defining an abstract class named `VegaCalendarBaseEventLayoutGenerator` in TypeScript. The class contains an abstract method `generate` that must be implemented by any class that extends `VegaCalendarBaseEventLayoutGenerator`. */
2
+ export class VegaCalendarBaseEventLayoutGenerator {
3
+ /**
4
+ * The function `addCurrentEventToLayout` adds a long event view to a layout row without overlapping with existing events.
5
+ *
6
+ * @param {VegaCalendarBaseEventLayoutCell[]} layoutCells - The `layoutCells` parameter is an array of
7
+ * `VegaCalendarBaseEventLayoutCell` objects. These objects represent rows in a layout where long events are displayed without overlapping each other.
8
+ * @param {unknown} input - The `currentView` parameter represents the current long event view that you want to add to the layout rows without overlapping with existing events. The function `addCurrentEventToLayoutRow` searches for a layout row that does not have any overlap with the current view. If such a row is found,
9
+ */
10
+ addCurrentEventToLayout(layoutCells, input) {
11
+ let noOverlapCell = layoutCells.find((layoutCell) => {
12
+ return !layoutCell.hasOverlapEvent(input);
13
+ });
14
+ if (!noOverlapCell) {
15
+ noOverlapCell = this.createNewLayoutCell();
16
+ noOverlapCell.updateSlots(input);
17
+ layoutCells.push(noOverlapCell);
18
+ }
19
+ else {
20
+ noOverlapCell.updateSlots(input);
21
+ }
22
+ }
23
+ }
@@ -0,0 +1,42 @@
1
+ import { VegaCalendarBaseEventLayout } from './baseEventLayout';
2
+ /** The VegaCalendarLongEventLayout class manages the layout of long events in a calendar by organizing them into rows. */
3
+ export class VegaCalendarFullDayEventLayout extends VegaCalendarBaseEventLayout {
4
+ /**
5
+ * The constructor function initializes a VegaCalendarFullDayEventLayoutRow array in TypeScript.
6
+ *
7
+ * @param {VegaCalendarFullDayEventLayoutRow[]} rows - An array of VegaCalendarFullDayEventLayoutRow objects.
8
+ */
9
+ constructor(rows) {
10
+ super();
11
+ this.cells = rows;
12
+ }
13
+ /**
14
+ * This TypeScript function returns the index of a row containing a specific calendar event.
15
+ *
16
+ * @param {CalendarEvent} eventItem - The `eventItem` parameter is a `CalendarEvent` object that represents an event in a calendar.
17
+ * @returns {number} The function `getEventRowsIndex` returns the index of the row in the `rows` array where the `eventItem` is found based on the condition specified in the `findIndex` method.
18
+ */
19
+ getEventRowsIndex(eventItem) {
20
+ return this.cells.findIndex((row) => row.getEventStartIndex(eventItem) >= 0);
21
+ }
22
+ /**
23
+ * This function retrieves CalendarEvents from each row in a calendar layout based on a specified index.
24
+ *
25
+ * @param {number} index - The `index` parameter in the `getEventsByIndex` method is a number that
26
+ * represents the slot index for which you want to retrieve calendar events. The method iterates
27
+ * through each row in the `rows` array and retrieves the calendar event at the specified slot index from each row. The method
28
+ * @returns {(Nullable<CalendarEvent>)[]} An array of CalendarEvent objects is being returned.
29
+ */
30
+ getEventsByIndex(index) {
31
+ const result = [];
32
+ let lastItemIndex = 0;
33
+ this.cells.forEach((row, rowIndex) => {
34
+ const currentEvent = row.getEventBySlotIndex(index);
35
+ result.push(currentEvent);
36
+ if (currentEvent) {
37
+ lastItemIndex = rowIndex;
38
+ }
39
+ });
40
+ return result.slice(0, lastItemIndex + 1);
41
+ }
42
+ }
@@ -0,0 +1,84 @@
1
+ import { VegaCalendarBaseEventLayoutGenerator } from './baseEventLayoutGenerator';
2
+ import { VegaCalendarFullDayEventLayout } from './fullDayEventLayout';
3
+ import { VegaCalendarFullDayEventLayoutRow } from './fullDayEventLayoutRow';
4
+ /** The `VegaCalendarLongEventLayoutGenerator` class in TypeScript generates a layout for long calendar events with overlapping prevention logic. */
5
+ export class VegaCalendarFullDayEventLayoutGenerator extends VegaCalendarBaseEventLayoutGenerator {
6
+ /**
7
+ * The function generates a long event layout for a calendar based on the input calendar events.
8
+ *
9
+ * @param {CalendarEvent[][]} calendarEvents - CalendarEvent[][] is a two-dimensional array where each
10
+ * element represents a day in the calendar and contains an array of CalendarEvent objects representing events on that day.
11
+ * @returns {VegaCalendarFullDayEventLayout} A new instance of `VegaCalendarFullDayEventLayout` is being returned, which is constructed
12
+ * using the `layoutRows` array containing `VegaCalendarFullDayEventLayoutRow` objects.
13
+ */
14
+ generate(calendarEvents) {
15
+ const allShouldOrderLongEvents = this.collectAllShouldOrderLongEvents(calendarEvents);
16
+ const layoutRows = [new VegaCalendarFullDayEventLayoutRow()];
17
+ allShouldOrderLongEvents.forEach((eventView) => {
18
+ this.addCurrentEventToLayout(layoutRows, eventView);
19
+ });
20
+ return new VegaCalendarFullDayEventLayout(layoutRows);
21
+ }
22
+ /**
23
+ * The function creates a new instance of VegaCalendarFullDayEventLayoutRow.
24
+ *
25
+ * @returns {VegaCalendarFullDayEventLayoutRow} An instance of the class `VegaCalendarFullDayEventLayoutRow` is being returned.
26
+ */
27
+ createNewLayoutCell() {
28
+ return new VegaCalendarFullDayEventLayoutRow();
29
+ }
30
+ /**
31
+ * Filter the all should order group event from event list
32
+ *
33
+ * @param {CalendarEvent[][]} allEvents all event list
34
+ * @returns {VegaCalendarFullDayEventView[]} the group event view list
35
+ */
36
+ collectAllShouldOrderLongEvents(allEvents) {
37
+ const allLongEventViews = {};
38
+ allEvents.forEach((items, index) => {
39
+ const longEvents = items.filter((item) => item && item.isGroupEvent());
40
+ longEvents.forEach((groupEvent) => {
41
+ if (!allLongEventViews[groupEvent.eventKey]) {
42
+ allLongEventViews[groupEvent.eventKey] = {
43
+ start: index,
44
+ end: index,
45
+ event: groupEvent,
46
+ };
47
+ }
48
+ else {
49
+ allLongEventViews[groupEvent.eventKey] = Object.assign(Object.assign({}, allLongEventViews[groupEvent.eventKey]), { end: index, start: index - allLongEventViews[groupEvent.eventKey].end !== 1
50
+ ? index
51
+ : allLongEventViews[groupEvent.eventKey].start });
52
+ }
53
+ });
54
+ });
55
+ const shouldSortLongEventViews = Object.values(allLongEventViews);
56
+ return this.sortLongEventViews(shouldSortLongEventViews);
57
+ }
58
+ /**
59
+ * This function sorts an array of VegaCalendarFullDayEventView objects based on their start and end times.
60
+ *
61
+ * @param {VegaCalendarFullDayEventView[]} eventViews - The `eventViews` parameter is an array of
62
+ * `VegaCalendarFullDayEventView` objects that represent long events in a calendar. The function
63
+ * `sortLongEventViews` takes this array as input and sorts it based on the start and end times of the events.
64
+ * @returns {VegaCalendarFullDayEventView[]} The function `sortLongEventViews` is returning an array of `VegaCalendarFullDayEventView`
65
+ * objects that have been sorted based on the comparison logic provided in the sorting function. The sorting is done based on the `start` and `end` properties of the objects in the array.
66
+ */
67
+ sortLongEventViews(eventViews) {
68
+ return eventViews.sort((itemA, itemB) => {
69
+ const { startDate: startA, endDate: endA } = itemA.event;
70
+ const { startDate: startB, endDate: endB } = itemB.event;
71
+ startA.setHours(0, 0, 0);
72
+ startB.setHours(0, 0, 0);
73
+ endA.setHours(23, 59, 59);
74
+ endB.setHours(23, 59, 59);
75
+ const num = endB.valueOf() - startB.valueOf() - (endA.valueOf() - startA.valueOf());
76
+ if (startA.valueOf() !== startB.valueOf()) {
77
+ return startA.valueOf() - startB.valueOf();
78
+ }
79
+ else {
80
+ return num;
81
+ }
82
+ });
83
+ }
84
+ }
@@ -0,0 +1,41 @@
1
+ import { VegaCalendarBaseEventLayoutCell } from './baseEventLayoutCell';
2
+ /** The `VegaCalendarLongEventLayoutRow` class in TypeScript manages the layout of long events in a calendar by updating slots and checking for overlaps. */
3
+ export class VegaCalendarFullDayEventLayoutRow extends VegaCalendarBaseEventLayoutCell {
4
+ constructor() {
5
+ super(...arguments);
6
+ this.slots = VegaCalendarFullDayEventLayoutRow.defaultSlots;
7
+ }
8
+ /**
9
+ * The function `updateRowSlots` updates a row of slots in a calendar view with a long event.
10
+ *
11
+ * @param {VegaCalendarFullDayEventView} eventView - The `eventView` parameter in the `updateRowSlots` method is of type `VegaCalendarFullDayEventView`. It contains information about a long event in a
12
+ */
13
+ updateSlots(eventView) {
14
+ const { start, end } = eventView;
15
+ this.slots = this.slots
16
+ .slice(0, start)
17
+ .concat(Array(end - start + 1).fill(eventView.event), this.slots.slice(end + 1));
18
+ }
19
+ /**
20
+ * The function checks if a given event overlaps with existing events in a calendar view.
21
+ *
22
+ * @param {VegaCalendarFullDayEventView} eventView - The `eventView` parameter in the `hasOverlapEvent`
23
+ * function represents a view of a long event in a Vega calendar. It contains the `start` and `end`
24
+ * properties which specify the start and end times of the event. The function checks if there is any
25
+ * overlap with existing events in
26
+ * @returns {boolean} The function `hasOverlapEvent` returns a boolean value indicating whether there is an
27
+ * overlap in the slots between the start and end times of the given `VegaCalendarFullDayEventView` event.
28
+ */
29
+ hasOverlapEvent(eventView) {
30
+ const { start, end } = eventView;
31
+ let overlapFlag = false;
32
+ for (let i = start; i < end + 1; i++) {
33
+ if (this.slots[i]) {
34
+ overlapFlag = true;
35
+ break;
36
+ }
37
+ }
38
+ return overlapFlag;
39
+ }
40
+ }
41
+ VegaCalendarFullDayEventLayoutRow.defaultSlots = Array(7).fill(null);
@@ -0,0 +1,99 @@
1
+ import { CalendarEvent } from '../../../../../../helpers/calendar/calendar-event';
2
+ import { VegaCalendarFullDayEventLayoutGenerator } from '../fullDayEventLayoutGenerator';
3
+ const mockEvents1 = [
4
+ {
5
+ key: '0',
6
+ title: 'Event 0',
7
+ startDate: '07/08/2024',
8
+ endDate: '07/09/2024',
9
+ startTime: '10:00',
10
+ endTime: '11:00',
11
+ isAllDay: false,
12
+ repeat: 'none',
13
+ disabled: false,
14
+ variant: 'primary',
15
+ },
16
+ {
17
+ key: '1',
18
+ title: 'Event 1',
19
+ startDate: '07/08/2024',
20
+ endDate: '07/10/2024',
21
+ startTime: '10:00',
22
+ endTime: '10:15',
23
+ isAllDay: false,
24
+ repeat: 'none',
25
+ disabled: false,
26
+ variant: 'primary',
27
+ color: '#73E6DC',
28
+ },
29
+ ];
30
+ const mockEvents2 = [
31
+ {
32
+ key: '0',
33
+ title: 'Event 0',
34
+ startDate: '07/08/2024',
35
+ endDate: '07/09/2024',
36
+ startTime: '10:00',
37
+ endTime: '11:00',
38
+ isAllDay: false,
39
+ repeat: 'none',
40
+ disabled: false,
41
+ variant: 'primary',
42
+ },
43
+ {
44
+ key: '2',
45
+ title: 'Event 2',
46
+ startDate: '07/09/2024',
47
+ endDate: '07/10/2024',
48
+ startTime: '10:30',
49
+ endTime: '11:30',
50
+ isAllDay: false,
51
+ repeat: 'none',
52
+ disabled: false,
53
+ variant: 'secondary',
54
+ color: '#806BFF',
55
+ },
56
+ ];
57
+ const mockEvent4 = [
58
+ {
59
+ key: '4',
60
+ title: 'Event 4',
61
+ startDate: '07/13/2024',
62
+ endDate: '07/15/2024',
63
+ startTime: '10:00',
64
+ endTime: '10:15',
65
+ isAllDay: false,
66
+ repeat: 'none',
67
+ disabled: false,
68
+ variant: 'primary',
69
+ color: '#73E6DC',
70
+ },
71
+ ];
72
+ describe('VegaCalendarFullDayEventLayoutGenerator', () => {
73
+ it('VegaCalendarFullDayEventLayoutGenerator#generate', () => {
74
+ const generator = new VegaCalendarFullDayEventLayoutGenerator();
75
+ const calendarEvents = [
76
+ mockEvents1[0],
77
+ mockEvents1[1],
78
+ mockEvents2[1],
79
+ mockEvent4[0],
80
+ ].map((item) => {
81
+ return new CalendarEvent(item);
82
+ });
83
+ const calendarEventsList = [
84
+ [calendarEvents[0], calendarEvents[1]],
85
+ [calendarEvents[0], calendarEvents[2]],
86
+ [calendarEvents[1], calendarEvents[2]],
87
+ [],
88
+ [],
89
+ [calendarEvents[3]],
90
+ [calendarEvents[3]],
91
+ ];
92
+ const layout = generator.generate(calendarEventsList);
93
+ expect(layout.eventLayoutCells.length).toEqual(2);
94
+ expect(layout.getEventRowsIndex(calendarEventsList[0][0])).toEqual(0);
95
+ expect(layout.getEventsByIndex(0)).toEqual([calendarEventsList[0][0]]);
96
+ expect(layout.eventLayoutCells[0].getEventStartIndex(calendarEventsList[5][0])).toEqual(5);
97
+ expect(layout.eventLayoutCells[0].getEventEndIndex(calendarEventsList[5][0])).toEqual(6);
98
+ });
99
+ });