@globalpayments/vega 2.28.0 → 2.29.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 (362) hide show
  1. package/dist/cjs/{app-globals-512d84f4.js → app-globals-46ab4eb3.js} +6 -6
  2. package/dist/cjs/{array-6e559cde.js → array-5adef7b2.js} +13 -1
  3. package/dist/cjs/{child-nodes-event-prevent-slimmer-e383a914.js → child-nodes-event-prevent-slimmer-0245d631.js} +1 -1
  4. package/dist/cjs/{create-public-api-runtime-metrics-slimmer-7510221b.js → create-public-api-runtime-metrics-slimmer-5cc88124.js} +1 -0
  5. package/dist/cjs/{design-token-17b8e4d8.js → design-token-92906579.js} +1 -1
  6. package/dist/cjs/{element-appender-slimmer-bf5ecbd8.js → element-appender-slimmer-2b251c0a.js} +2 -2
  7. package/dist/cjs/{event-emit-slimmer-8f51adaa.js → event-emit-slimmer-d409d0ac.js} +1 -1
  8. package/dist/cjs/{form-field-controller-slimmer-223f8ee3.js → form-field-controller-slimmer-a4231b97.js} +6 -6
  9. package/dist/cjs/{icon-manager-5a2b67cf.js → icon-manager-3787af39.js} +1 -1
  10. package/dist/cjs/index-09acd3c9.js +8 -0
  11. package/dist/cjs/index.cjs.js +12 -12
  12. package/dist/cjs/{internal-icon-manager-858baff1.js → internal-icon-manager-2ff58050.js} +1 -1
  13. package/dist/cjs/{internal-vega-event-manager-627b1328.js → internal-vega-event-manager-4d9a8e67.js} +3 -0
  14. package/dist/cjs/{internal-vega-z-index-manager-23051df4.js → internal-vega-z-index-manager-f03ddb37.js} +1 -1
  15. package/dist/cjs/{legend-input-processor-6ab8782a.js → legend-input-processor-d0b3f621.js} +1 -1
  16. package/dist/cjs/loader.cjs.js +12 -12
  17. package/dist/cjs/{min-number-rule-84f21ad9.js → min-number-rule-115c5a3b.js} +1 -1
  18. package/dist/cjs/{mutation-observer-filters-79b60f28.js → mutation-observer-filters-e5a7f85a.js} +1 -1
  19. package/dist/cjs/{number-459031f7.js → number-4816603d.js} +11 -0
  20. package/dist/cjs/{responsive-format-facade-7bc51a43.js → responsive-format-facade-ad2f67bf.js} +1 -1
  21. package/dist/cjs/{static-subject-title-3599787e.js → static-subject-title-471e1793.js} +2 -0
  22. package/dist/cjs/{string-input-formatter-slimmer-fcfa5bb7.js → string-input-formatter-slimmer-79272527.js} +8 -13
  23. package/dist/cjs/{style-formatter-a0829641.js → style-formatter-68f3a5f8.js} +1 -1
  24. package/dist/cjs/sub-state-notify-slimmer-c729699e.js +81 -0
  25. package/dist/cjs/{sub-state-observer-slimmer-36660092.js → sub-state-observer-slimmer-c1332b19.js} +3 -73
  26. package/dist/cjs/{translation-0dd74433.js → translation-42c1b2c8.js} +2 -2
  27. package/dist/cjs/{translation-slimmer-83577cfd.js → translation-slimmer-32aa13e7.js} +1 -1
  28. package/dist/cjs/{valid-credit-card-number-rule-8d8f04f1.js → valid-credit-card-number-rule-4a9ae5d9.js} +1 -1
  29. package/dist/cjs/vega-accordion.cjs.entry.js +9 -9
  30. package/dist/cjs/vega-app-header-button.cjs.entry.js +9 -9
  31. package/dist/cjs/vega-banner.cjs.entry.js +5 -5
  32. package/dist/cjs/vega-bar-chart.cjs.entry.js +4 -4
  33. package/dist/cjs/vega-box.cjs.entry.js +4 -4
  34. package/dist/cjs/vega-breadcrumb.cjs.entry.js +3 -3
  35. package/dist/cjs/vega-button-circle.cjs.entry.js +7 -7
  36. package/dist/cjs/vega-button-group_2.cjs.entry.js +9 -8
  37. package/dist/cjs/vega-button-link.cjs.entry.js +3 -3
  38. package/dist/cjs/vega-button.cjs.entry.js +6 -6
  39. package/dist/cjs/vega-calendar_3.cjs.entry.js +46 -19
  40. package/dist/cjs/vega-card.cjs.entry.js +3 -3
  41. package/dist/cjs/vega-carousel.cjs.entry.js +4 -4
  42. package/dist/cjs/vega-checkbox_2.cjs.entry.js +11 -11
  43. package/dist/cjs/vega-chip.cjs.entry.js +6 -6
  44. package/dist/cjs/vega-color-picker.cjs.entry.js +10 -10
  45. package/dist/cjs/vega-combo-box.cjs.entry.js +11 -11
  46. package/dist/cjs/vega-date-picker_2.cjs.entry.js +18 -18
  47. package/dist/cjs/{vega-dialog-controller-6a8525b3.js → vega-dialog-controller-dce8cdaf.js} +1 -1
  48. package/dist/cjs/vega-dialog_2.cjs.entry.js +7 -7
  49. package/dist/cjs/vega-divider.cjs.entry.js +3 -3
  50. package/dist/cjs/vega-dropdown_5.cjs.entry.js +19 -18
  51. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  52. package/dist/cjs/vega-field-error.cjs.entry.js +1 -1
  53. package/dist/cjs/vega-field-label.cjs.entry.js +2 -2
  54. package/dist/cjs/vega-file-uploader.cjs.entry.js +13 -13
  55. package/dist/cjs/vega-flex.cjs.entry.js +4 -4
  56. package/dist/cjs/vega-font.cjs.entry.js +3 -3
  57. package/dist/cjs/vega-form.cjs.entry.js +11 -11
  58. package/dist/cjs/vega-grid.cjs.entry.js +3 -3
  59. package/dist/cjs/vega-icon.cjs.entry.js +5 -5
  60. package/dist/cjs/vega-image-uploader.cjs.entry.js +14 -14
  61. package/dist/cjs/vega-input-credit-card.cjs.entry.js +14 -14
  62. package/dist/cjs/vega-input-numeric.cjs.entry.js +410 -0
  63. package/dist/cjs/vega-input-phone-number.cjs.entry.js +13 -13
  64. package/dist/cjs/vega-input-range.cjs.entry.js +12 -12
  65. package/dist/cjs/vega-input-select.cjs.entry.js +15 -15
  66. package/dist/cjs/vega-input.cjs.entry.js +219 -27
  67. package/dist/cjs/{vega-internal-event-id-c98e9a7d.js → vega-internal-event-id-99cc22e1.js} +2 -0
  68. package/dist/cjs/vega-item-toggle.cjs.entry.js +2 -2
  69. package/dist/cjs/vega-left-nav_5.cjs.entry.js +11 -11
  70. package/dist/cjs/vega-line-chart.cjs.entry.js +4 -4
  71. package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +2 -2
  72. package/dist/cjs/vega-pagination.cjs.entry.js +8 -8
  73. package/dist/cjs/vega-pie-chart.cjs.entry.js +3 -3
  74. package/dist/cjs/vega-popover_2.cjs.entry.js +6 -6
  75. package/dist/cjs/vega-progress-tracker.cjs.entry.js +3 -3
  76. package/dist/cjs/vega-radio_2.cjs.entry.js +11 -11
  77. package/dist/cjs/vega-segment-control.cjs.entry.js +2 -2
  78. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +17 -16
  79. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +16 -15
  80. package/dist/cjs/vega-sidenav_3.cjs.entry.js +1006 -0
  81. package/dist/cjs/vega-signature-capture.cjs.entry.js +15 -15
  82. package/dist/cjs/{vega-skeleton-loader-controller-e886dc58.js → vega-skeleton-loader-controller-4bd8cc88.js} +3 -3
  83. package/dist/cjs/vega-stepper.cjs.entry.js +12 -12
  84. package/dist/cjs/vega-tab-group_2.cjs.entry.js +4 -4
  85. package/dist/cjs/vega-table_8.cjs.entry.js +27 -26
  86. package/dist/cjs/vega-textarea.cjs.entry.js +11 -11
  87. package/dist/cjs/vega-time-picker_2.cjs.entry.js +15 -15
  88. package/dist/cjs/vega-toggle-switch.cjs.entry.js +10 -10
  89. package/dist/cjs/vega-tooltip_2.cjs.entry.js +4 -4
  90. package/dist/cjs/vega.cjs.js +12 -12
  91. package/dist/cjs/{y-axis-input-processor-cc6e9196.js → y-axis-input-processor-a0df5e74.js} +2 -2
  92. package/dist/collection/collection-manifest.json +16 -0
  93. package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-daily-repeat-pattern.js +7 -1
  94. package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-monthly-repeat-pattern.js +7 -1
  95. package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-weekly-repeat-pattern.js +9 -1
  96. package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-yearly-repeat-pattern.js +7 -1
  97. package/dist/collection/components/vega-calendar/slimmers/common/helpers/test/calendar-event-repeat-pattern-factory.test.js +56 -0
  98. package/dist/collection/components/vega-input/slimmers/controllers/vega-input-compact-width-controller.js +118 -0
  99. package/dist/collection/components/vega-input/slimmers/controllers/vega-input-state-controller.js +46 -0
  100. package/dist/collection/components/vega-input/vega-input.css +104 -0
  101. package/dist/collection/components/vega-input/vega-input.js +44 -2
  102. package/dist/collection/components/vega-input-numeric/slimmers/controllers/vega-input-numeric-keyboard-controller.js +79 -0
  103. package/dist/collection/components/vega-input-numeric/slimmers/controllers/vega-input-numeric-value-controller.js +45 -0
  104. package/dist/collection/components/vega-input-numeric/slimmers/renderers/vega-input-numeric-renderer.js +72 -0
  105. package/dist/collection/components/vega-input-numeric/vega-input-numeric.css +9 -0
  106. package/dist/collection/components/vega-input-numeric/vega-input-numeric.js +606 -0
  107. package/dist/collection/components/vega-sidenav/icons/chevron-right.js +4 -0
  108. package/dist/collection/components/vega-sidenav/icons/toggle-button-bg.js +3 -0
  109. package/dist/collection/components/vega-sidenav/slimmers/controllers/vega-sidenav-backdrop-controller.js +101 -0
  110. package/dist/collection/components/vega-sidenav/slimmers/controllers/vega-sidenav-open-status-controller.js +316 -0
  111. package/dist/collection/components/vega-sidenav/slimmers/renderers/vega-sidenav-collapse-button-renderer.js +79 -0
  112. package/dist/collection/components/vega-sidenav/test/test.helper.js +68 -0
  113. package/dist/collection/components/vega-sidenav/utils/index.js +9 -0
  114. package/dist/collection/components/vega-sidenav/vega-sidenav-group/slimmers/controllers/vega-sidenav-group-sub-state-controller.js +28 -0
  115. package/dist/collection/components/vega-sidenav/vega-sidenav-group/vega-sidenav-group.css +172 -0
  116. package/dist/collection/components/vega-sidenav/vega-sidenav-group/vega-sidenav-group.js +152 -0
  117. package/dist/collection/components/vega-sidenav/vega-sidenav-link/slimmers/controllers/vega-sidenav-link-sub-state.controller.js +28 -0
  118. package/dist/collection/components/vega-sidenav/vega-sidenav-link/vega-sidenav-link.css +136 -0
  119. package/dist/collection/components/vega-sidenav/vega-sidenav-link/vega-sidenav-link.js +264 -0
  120. package/dist/collection/components/vega-sidenav/vega-sidenav.css +300 -0
  121. package/dist/collection/components/vega-sidenav/vega-sidenav.js +422 -0
  122. package/dist/collection/helpers/event-manager/event-id/component-event-id-map.js +3 -0
  123. package/dist/collection/helpers/event-manager/event-id/vega-internal-event-id.js +1 -0
  124. package/dist/collection/helpers/formatter/string-formatter/number-thousand-comma-strategy.js +1 -2
  125. package/dist/collection/helpers/formatter/test/string-formatter/number-thousand-comma-mask-strategy.test.js +8 -0
  126. package/dist/collection/helpers/slimmers/string-input-formatter-slimmer.js +8 -13
  127. package/dist/collection/helpers/slimmers/sub-state/sub-state-notify-slimmer.js +8 -5
  128. package/dist/collection/helpers/slimmers/sub-state/test/sub-state-observer-slimmer.test.js +24 -0
  129. package/dist/collection/helpers/slimmers/test/string-input-formatter-slimmer.test.js +32 -20
  130. package/dist/collection/utils/number.js +10 -0
  131. package/dist/collection/utils/spec-utils.js +28 -0
  132. package/dist/collection/utils/test/number.test.js +5 -1
  133. package/dist/collection/utils/test-utils.js +21 -0
  134. package/dist/collection/value-model-adapters/angular-ng-model-accessor-adapter.js +1 -0
  135. package/dist/collection/value-model-adapters/vue-component-v-model-adaptor.js +1 -0
  136. package/dist/esm/{app-globals-41797af8.js → app-globals-d90e7905.js} +6 -6
  137. package/dist/esm/{array-506b88b9.js → array-b668466e.js} +13 -2
  138. package/dist/esm/{child-nodes-event-prevent-slimmer-345c46c5.js → child-nodes-event-prevent-slimmer-4ecbc8aa.js} +1 -1
  139. package/dist/esm/{create-public-api-runtime-metrics-slimmer-928ad7f0.js → create-public-api-runtime-metrics-slimmer-cc1164bb.js} +1 -1
  140. package/dist/esm/{design-token-3671ce60.js → design-token-2a527af3.js} +1 -1
  141. package/dist/esm/{element-appender-slimmer-1172e2ea.js → element-appender-slimmer-6cf76806.js} +2 -2
  142. package/dist/esm/{event-emit-slimmer-eee9fd41.js → event-emit-slimmer-cb9d6f6c.js} +1 -1
  143. package/dist/esm/{form-field-controller-slimmer-edbaaf7c.js → form-field-controller-slimmer-a64c679c.js} +6 -6
  144. package/dist/esm/{icon-manager-0f030f8a.js → icon-manager-1ee2c968.js} +1 -1
  145. package/dist/esm/index-187f71d1.js +8 -0
  146. package/dist/esm/index.js +12 -12
  147. package/dist/esm/{internal-icon-manager-9671142a.js → internal-icon-manager-7004584d.js} +1 -1
  148. package/dist/esm/{internal-vega-event-manager-722461c1.js → internal-vega-event-manager-1ebfd1eb.js} +3 -0
  149. package/dist/esm/{internal-vega-z-index-manager-0553458e.js → internal-vega-z-index-manager-7d2b54c3.js} +1 -1
  150. package/dist/esm/{legend-input-processor-abb0b4f4.js → legend-input-processor-0cef3ebe.js} +1 -1
  151. package/dist/esm/loader.js +12 -12
  152. package/dist/esm/{min-number-rule-8f643dbd.js → min-number-rule-31d48b22.js} +1 -1
  153. package/dist/esm/{mutation-observer-filters-9086b5cc.js → mutation-observer-filters-1035b064.js} +1 -1
  154. package/dist/esm/{number-e2519d1c.js → number-4398f2e1.js} +11 -1
  155. package/dist/esm/{responsive-format-facade-5a1329a7.js → responsive-format-facade-3dc84e41.js} +1 -1
  156. package/dist/esm/{static-subject-title-6987a80b.js → static-subject-title-500cf2a3.js} +2 -1
  157. package/dist/esm/{string-input-formatter-slimmer-bfe3f5e5.js → string-input-formatter-slimmer-fc23bc9f.js} +8 -13
  158. package/dist/esm/{style-formatter-2fa5ce09.js → style-formatter-ccb2da0d.js} +1 -1
  159. package/dist/esm/sub-state-notify-slimmer-be5bcc4e.js +79 -0
  160. package/dist/esm/{sub-state-observer-slimmer-8eff5559.js → sub-state-observer-slimmer-cd7adab1.js} +5 -74
  161. package/dist/esm/{translation-0fa7cf77.js → translation-4eb3cf85.js} +2 -2
  162. package/dist/esm/{translation-slimmer-79f9a9c9.js → translation-slimmer-9d07a0ff.js} +1 -1
  163. package/dist/esm/{valid-credit-card-number-rule-232f2986.js → valid-credit-card-number-rule-2aef3ad5.js} +1 -1
  164. package/dist/esm/vega-accordion.entry.js +9 -9
  165. package/dist/esm/vega-app-header-button.entry.js +9 -9
  166. package/dist/esm/vega-banner.entry.js +5 -5
  167. package/dist/esm/vega-bar-chart.entry.js +4 -4
  168. package/dist/esm/vega-box.entry.js +4 -4
  169. package/dist/esm/vega-breadcrumb.entry.js +3 -3
  170. package/dist/esm/vega-button-circle.entry.js +7 -7
  171. package/dist/esm/vega-button-group_2.entry.js +6 -5
  172. package/dist/esm/vega-button-link.entry.js +3 -3
  173. package/dist/esm/vega-button.entry.js +6 -6
  174. package/dist/esm/vega-calendar_3.entry.js +44 -17
  175. package/dist/esm/vega-card.entry.js +3 -3
  176. package/dist/esm/vega-carousel.entry.js +4 -4
  177. package/dist/esm/vega-checkbox_2.entry.js +11 -11
  178. package/dist/esm/vega-chip.entry.js +6 -6
  179. package/dist/esm/vega-color-picker.entry.js +10 -10
  180. package/dist/esm/vega-combo-box.entry.js +11 -11
  181. package/dist/esm/vega-date-picker_2.entry.js +18 -18
  182. package/dist/esm/{vega-dialog-controller-3b905672.js → vega-dialog-controller-8b343a17.js} +1 -1
  183. package/dist/esm/vega-dialog_2.entry.js +7 -7
  184. package/dist/esm/vega-divider.entry.js +3 -3
  185. package/dist/esm/vega-dropdown_5.entry.js +15 -14
  186. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  187. package/dist/esm/vega-field-error.entry.js +1 -1
  188. package/dist/esm/vega-field-label.entry.js +2 -2
  189. package/dist/esm/vega-file-uploader.entry.js +13 -13
  190. package/dist/esm/vega-flex.entry.js +4 -4
  191. package/dist/esm/vega-font.entry.js +3 -3
  192. package/dist/esm/vega-form.entry.js +11 -11
  193. package/dist/esm/vega-grid.entry.js +3 -3
  194. package/dist/esm/vega-icon.entry.js +5 -5
  195. package/dist/esm/vega-image-uploader.entry.js +14 -14
  196. package/dist/esm/vega-input-credit-card.entry.js +14 -14
  197. package/dist/esm/vega-input-numeric.entry.js +406 -0
  198. package/dist/esm/vega-input-phone-number.entry.js +13 -13
  199. package/dist/esm/vega-input-range.entry.js +12 -12
  200. package/dist/esm/vega-input-select.entry.js +15 -15
  201. package/dist/esm/vega-input.entry.js +220 -28
  202. package/dist/esm/{vega-internal-event-id-7e05cf4a.js → vega-internal-event-id-c8507b85.js} +2 -1
  203. package/dist/esm/vega-item-toggle.entry.js +2 -2
  204. package/dist/esm/vega-left-nav_5.entry.js +11 -11
  205. package/dist/esm/vega-line-chart.entry.js +4 -4
  206. package/dist/esm/vega-loader-wrapper_2.entry.js +2 -2
  207. package/dist/esm/vega-pagination.entry.js +8 -8
  208. package/dist/esm/vega-pie-chart.entry.js +3 -3
  209. package/dist/esm/vega-popover_2.entry.js +6 -6
  210. package/dist/esm/vega-progress-tracker.entry.js +3 -3
  211. package/dist/esm/vega-radio_2.entry.js +11 -11
  212. package/dist/esm/vega-segment-control.entry.js +2 -2
  213. package/dist/esm/vega-selection-chip_2.entry.js +14 -13
  214. package/dist/esm/vega-selection-tile_2.entry.js +13 -12
  215. package/dist/esm/vega-sidenav_3.entry.js +1000 -0
  216. package/dist/esm/vega-signature-capture.entry.js +15 -15
  217. package/dist/esm/{vega-skeleton-loader-controller-6fb25f3b.js → vega-skeleton-loader-controller-def7bf3f.js} +3 -3
  218. package/dist/esm/vega-stepper.entry.js +12 -12
  219. package/dist/esm/vega-tab-group_2.entry.js +4 -4
  220. package/dist/esm/vega-table_8.entry.js +17 -16
  221. package/dist/esm/vega-textarea.entry.js +11 -11
  222. package/dist/esm/vega-time-picker_2.entry.js +15 -15
  223. package/dist/esm/vega-toggle-switch.entry.js +10 -10
  224. package/dist/esm/vega-tooltip_2.entry.js +4 -4
  225. package/dist/esm/vega.js +12 -12
  226. package/dist/esm/{y-axis-input-processor-08c89594.js → y-axis-input-processor-a4d6aa50.js} +2 -2
  227. package/dist/types/components/vega-input/slimmers/controllers/vega-input-compact-width-controller.d.ts +47 -0
  228. package/dist/types/components/vega-input/slimmers/controllers/vega-input-state-controller.d.ts +13 -0
  229. package/dist/types/components/vega-input/vega-input.d.ts +18 -6
  230. package/dist/types/components/vega-input-numeric/slimmers/controllers/vega-input-numeric-keyboard-controller.d.ts +18 -0
  231. package/dist/types/components/vega-input-numeric/slimmers/controllers/vega-input-numeric-value-controller.d.ts +20 -0
  232. package/dist/types/components/vega-input-numeric/slimmers/renderers/vega-input-numeric-renderer.d.ts +19 -0
  233. package/dist/types/components/vega-input-numeric/vega-input-numeric.d.ts +169 -0
  234. package/dist/types/components/vega-sidenav/icons/chevron-right.d.ts +3 -0
  235. package/dist/types/components/vega-sidenav/icons/toggle-button-bg.d.ts +3 -0
  236. package/dist/types/components/vega-sidenav/slimmers/controllers/vega-sidenav-backdrop-controller.d.ts +42 -0
  237. package/dist/types/components/vega-sidenav/slimmers/controllers/vega-sidenav-open-status-controller.d.ts +94 -0
  238. package/dist/types/components/vega-sidenav/slimmers/renderers/vega-sidenav-collapse-button-renderer.d.ts +31 -0
  239. package/dist/types/components/vega-sidenav/test/test.helper.d.ts +6 -0
  240. package/dist/types/components/vega-sidenav/types.d.ts +24 -0
  241. package/dist/types/components/vega-sidenav/utils/index.d.ts +7 -0
  242. package/dist/types/components/vega-sidenav/vega-sidenav-group/slimmers/controllers/vega-sidenav-group-sub-state-controller.d.ts +10 -0
  243. package/dist/types/components/vega-sidenav/vega-sidenav-group/vega-sidenav-group.d.ts +47 -0
  244. package/dist/types/components/vega-sidenav/vega-sidenav-link/slimmers/controllers/vega-sidenav-link-sub-state.controller.d.ts +10 -0
  245. package/dist/types/components/vega-sidenav/vega-sidenav-link/vega-sidenav-link.d.ts +80 -0
  246. package/dist/types/components/vega-sidenav/vega-sidenav.d.ts +137 -0
  247. package/dist/types/components.d.ts +374 -0
  248. package/dist/types/helpers/event-manager/event-id/vega-internal-event-id.d.ts +1 -0
  249. package/dist/types/helpers/slimmers/sub-state/sub-state-notify-slimmer.d.ts +1 -1
  250. package/dist/types/types/components.type.d.ts +6 -0
  251. package/dist/types/utils/number.d.ts +7 -0
  252. package/dist/types/utils/spec-utils.d.ts +8 -0
  253. package/dist/types/utils/test-utils.d.ts +10 -0
  254. package/dist/vega/index.esm.js +1 -1
  255. package/dist/vega/{p-f948debe.entry.js → p-001c0b51.entry.js} +1 -1
  256. package/dist/vega/{p-657df167.entry.js → p-0064f5b1.entry.js} +1 -1
  257. package/dist/vega/{p-573948c2.js → p-04215e74.js} +1 -1
  258. package/dist/vega/{p-4bc042ec.entry.js → p-0a91f217.entry.js} +1 -1
  259. package/dist/vega/{p-8c72aa56.entry.js → p-0ae9b900.entry.js} +1 -1
  260. package/dist/vega/{p-51cd2a39.entry.js → p-0bbcc81a.entry.js} +1 -1
  261. package/dist/vega/{p-b86e8c8b.entry.js → p-11786565.entry.js} +1 -1
  262. package/dist/vega/{p-34545d2d.entry.js → p-1678b69f.entry.js} +1 -1
  263. package/dist/vega/{p-5dc98104.js → p-19769aba.js} +1 -1
  264. package/dist/vega/p-19ef612a.js +1 -0
  265. package/dist/vega/{p-be26b334.entry.js → p-1d94428c.entry.js} +1 -1
  266. package/dist/vega/{p-ead9a2b9.entry.js → p-1f03b576.entry.js} +1 -1
  267. package/dist/vega/p-262ec334.js +1 -0
  268. package/dist/vega/p-270b0d1a.entry.js +1 -0
  269. package/dist/vega/{p-f2019f70.entry.js → p-28c78b79.entry.js} +1 -1
  270. package/dist/vega/{p-0dd750b0.entry.js → p-2ae04da9.entry.js} +1 -1
  271. package/dist/vega/{p-a5f80d35.js → p-2d5a9f66.js} +1 -1
  272. package/dist/vega/{p-365c340d.entry.js → p-30693931.entry.js} +1 -1
  273. package/dist/vega/{p-1fc5373a.entry.js → p-31d530d2.entry.js} +1 -1
  274. package/dist/vega/p-32f651f7.js +1 -0
  275. package/dist/vega/p-38f26c82.entry.js +1 -0
  276. package/dist/vega/{p-b2053fa8.entry.js → p-4022f395.entry.js} +1 -1
  277. package/dist/vega/{p-1ea57951.js → p-4d25df7d.js} +1 -1
  278. package/dist/vega/{p-33366630.entry.js → p-53bb8cde.entry.js} +1 -1
  279. package/dist/vega/p-5440344e.js +1 -0
  280. package/dist/vega/{p-056f448c.entry.js → p-5dbcab1b.entry.js} +1 -1
  281. package/dist/vega/p-5f377954.js +1 -1
  282. package/dist/vega/p-5fbac513.js +1 -0
  283. package/dist/vega/p-651e5c7d.entry.js +1 -0
  284. package/dist/vega/{p-0120ce7a.js → p-68823025.js} +1 -1
  285. package/dist/vega/{p-8fd6775a.entry.js → p-689ee038.entry.js} +1 -1
  286. package/dist/vega/{p-9e6934fb.js → p-68ad953c.js} +1 -1
  287. package/dist/vega/{p-7a1df282.entry.js → p-69e63d21.entry.js} +1 -1
  288. package/dist/vega/{p-ac0ab38b.js → p-6a8f1251.js} +1 -1
  289. package/dist/vega/{p-40f6add9.entry.js → p-6ac3ba21.entry.js} +1 -1
  290. package/dist/vega/{p-acf8b473.js → p-6b8277eb.js} +1 -1
  291. package/dist/vega/{p-a2169994.entry.js → p-7372cd79.entry.js} +1 -1
  292. package/dist/vega/{p-7b40ac07.js → p-74958b1a.js} +1 -1
  293. package/dist/vega/p-74fcdbc6.entry.js +1 -0
  294. package/dist/vega/{p-3fc59fd3.entry.js → p-760283d1.entry.js} +1 -1
  295. package/dist/vega/{p-152393dd.js → p-781fd6e0.js} +1 -1
  296. package/dist/vega/p-7d02f723.entry.js +1 -0
  297. package/dist/vega/{p-a59c221b.entry.js → p-7df3aa44.entry.js} +1 -1
  298. package/dist/vega/{p-fd929ab5.entry.js → p-817a83c6.entry.js} +1 -1
  299. package/dist/vega/{p-9a4ffc2c.entry.js → p-86eda597.entry.js} +1 -1
  300. package/dist/vega/{p-1e33c6e3.entry.js → p-87640a4d.entry.js} +1 -1
  301. package/dist/vega/{p-f0ad06bd.entry.js → p-8bd09712.entry.js} +1 -1
  302. package/dist/vega/{p-83af8ed7.js → p-8ef03eed.js} +1 -1
  303. package/dist/vega/{p-1b901368.entry.js → p-92aaed64.entry.js} +1 -1
  304. package/dist/vega/{p-80c0f98c.entry.js → p-975c5a3a.entry.js} +1 -1
  305. package/dist/vega/{p-be784f53.js → p-9f3b1d77.js} +1 -1
  306. package/dist/vega/{p-8f60c3ee.entry.js → p-a0f5d2cc.entry.js} +1 -1
  307. package/dist/vega/{p-115e5967.js → p-a105e4de.js} +1 -1
  308. package/dist/vega/{p-6d015656.entry.js → p-a14be625.entry.js} +1 -1
  309. package/dist/vega/p-a46329bb.js +1 -0
  310. package/dist/vega/{p-38d81bde.js → p-a9354a5c.js} +1 -1
  311. package/dist/vega/p-ab983e7d.js +1 -0
  312. package/dist/vega/{p-1bbc62ef.entry.js → p-ad31be2c.entry.js} +1 -1
  313. package/dist/vega/p-ae3fd67e.js +1 -0
  314. package/dist/vega/p-b0502d01.js +1 -0
  315. package/dist/vega/p-b0a6421a.entry.js +1 -0
  316. package/dist/vega/{p-6874d6a1.entry.js → p-b3417358.entry.js} +1 -1
  317. package/dist/vega/{p-bccacf42.js → p-b347f967.js} +1 -1
  318. package/dist/vega/p-b3e754da.entry.js +1 -0
  319. package/dist/vega/{p-ddc70a7b.js → p-b62f0454.js} +1 -1
  320. package/dist/vega/{p-22a85055.entry.js → p-b771268b.entry.js} +1 -1
  321. package/dist/vega/{p-a901494d.entry.js → p-bb6f8b70.entry.js} +1 -1
  322. package/dist/vega/{p-456416ea.js → p-bdb94242.js} +1 -1
  323. package/dist/vega/{p-33596687.js → p-c7d70786.js} +1 -1
  324. package/dist/vega/{p-0395e791.entry.js → p-cc272fbc.entry.js} +1 -1
  325. package/dist/vega/{p-26d0d411.entry.js → p-cf4fea44.entry.js} +1 -1
  326. package/dist/vega/{p-d4c85e4e.entry.js → p-cf998fc5.entry.js} +1 -1
  327. package/dist/vega/{p-5d231a82.entry.js → p-d045099d.entry.js} +1 -1
  328. package/dist/vega/p-d0756d70.entry.js +1 -0
  329. package/dist/vega/{p-063c3ba6.entry.js → p-d7800ca2.entry.js} +1 -1
  330. package/dist/vega/p-dacf5572.entry.js +1 -0
  331. package/dist/vega/{p-d0a83562.entry.js → p-e2c25432.entry.js} +1 -1
  332. package/dist/vega/{p-51622ace.entry.js → p-e42a2a12.entry.js} +1 -1
  333. package/dist/vega/{p-d550fc66.entry.js → p-e4d6e2c8.entry.js} +1 -1
  334. package/dist/vega/p-e731976a.js +1 -0
  335. package/dist/vega/p-ebb93b96.entry.js +1 -0
  336. package/dist/vega/{p-fc746bae.entry.js → p-ed4a26e7.entry.js} +1 -1
  337. package/dist/vega/{p-cbeda6ca.entry.js → p-f2685ec5.entry.js} +1 -1
  338. package/dist/vega/p-f5b0ce61.js +1 -0
  339. package/dist/vega/{p-a57eed48.entry.js → p-f64fb740.entry.js} +1 -1
  340. package/dist/vega/p-f6d4c1ff.entry.js +1 -0
  341. package/dist/vega/{p-d686dd96.entry.js → p-ff7bd85f.entry.js} +1 -1
  342. package/dist/vega/vega.esm.js +1 -1
  343. package/package.json +4 -2
  344. package/dist/vega/p-048a97d1.entry.js +0 -1
  345. package/dist/vega/p-1f38eef6.entry.js +0 -1
  346. package/dist/vega/p-344ee7cb.js +0 -1
  347. package/dist/vega/p-41784db1.js +0 -1
  348. package/dist/vega/p-6168c1e7.js +0 -1
  349. package/dist/vega/p-64e8bb64.js +0 -1
  350. package/dist/vega/p-68055c2d.entry.js +0 -1
  351. package/dist/vega/p-6e3cc7f0.entry.js +0 -1
  352. package/dist/vega/p-880f91fb.js +0 -1
  353. package/dist/vega/p-a19ae233.entry.js +0 -1
  354. package/dist/vega/p-a454acc4.entry.js +0 -1
  355. package/dist/vega/p-a8b1f19c.entry.js +0 -1
  356. package/dist/vega/p-d4fb2264.entry.js +0 -1
  357. package/dist/vega/p-da86ba01.js +0 -1
  358. package/dist/vega/p-db120a1e.js +0 -1
  359. package/dist/vega/p-e0410974.entry.js +0 -1
  360. package/dist/vega/p-ead1a647.js +0 -1
  361. package/dist/vega/p-ee68920f.js +0 -1
  362. package/dist/vega/p-fb6c90d6.js +0 -1
@@ -0,0 +1,1006 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-09acd3c9.js');
6
+ const array = require('./array-5adef7b2.js');
7
+ const component = require('./component-73a88c4e.js');
8
+ const createPublicApiRuntimeMetricsSlimmer = require('./create-public-api-runtime-metrics-slimmer-5cc88124.js');
9
+ const globalSlimmerRegistry = require('./global-slimmer-registry-b3bce7e0.js');
10
+ const componentUsageRuntimeMetrics = require('./component-usage-runtime-metrics-1ee24991.js');
11
+ const internalVegaZIndexManager = require('./internal-vega-z-index-manager-f03ddb37.js');
12
+ const breakpoints = require('./breakpoints-7e2dff90.js');
13
+ const accessibility = require('./accessibility-bfa227f6.js');
14
+ const internalIconManager = require('./internal-icon-manager-2ff58050.js');
15
+ const iconManager = require('./icon-manager-3787af39.js');
16
+ const subStateNotifySlimmer = require('./sub-state-notify-slimmer-c729699e.js');
17
+ const effect = require('./effect-37695d3d.js');
18
+ const responsiveFormatFacade = require('./responsive-format-facade-ad2f67bf.js');
19
+ const pageResizeObserverSlimmer = require('./page-resize-observer-slimmer-a8cf1874.js');
20
+ const domNodeSubjectObserverFactory = require('./dom-node-subject-observer-factory-2e41340d.js');
21
+ const vegaInternalEventId = require('./vega-internal-event-id-99cc22e1.js');
22
+ const eventEmitSlimmer = require('./event-emit-slimmer-d409d0ac.js');
23
+ const vegaEventId = require('./vega-event-id-e40ac8f0.js');
24
+ const changeManager = require('./change-manager-a297e4d2.js');
25
+ const observer = require('./observer-f49483e8.js');
26
+ const staticSubjectTitle = require('./static-subject-title-471e1793.js');
27
+ const subStateObserverSlimmer = require('./sub-state-observer-slimmer-c1332b19.js');
28
+ const ui = require('./ui-08f33116.js');
29
+ const internalVegaEventManager = require('./internal-vega-event-manager-4d9a8e67.js');
30
+ require('./number-4816603d.js');
31
+ require('./dynamic-slimmer-f31fdfd7.js');
32
+ require('./ui-32e69595.js');
33
+ require('./type-guard-a07b353b.js');
34
+ require('./regex-c1f70fd4.js');
35
+ require('./typography-4560e7f1.js');
36
+ require('./pixel-98f2a10c.js');
37
+
38
+ var __decorate$7 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
39
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
40
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
41
+ 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;
42
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
43
+ };
44
+ /** Manages the visibility and z-index of a backdrop element for a side navigation menu. */
45
+ class VegaSidenavBackdropController extends globalSlimmerRegistry.VegaSlimmer {
46
+ constructor() {
47
+ super(...arguments);
48
+ this.backdropRef = null;
49
+ }
50
+ /*
51
+ * The below method is e2e-test covered in
52
+ * @see{module:vega-sidenav-e2e-vega-click-backdrop-mobile}
53
+ * @see{module:vega-sidenav-e2e-vega-resize-with-desktop-to-mobile}
54
+ */
55
+ /* istanbul ignore next */
56
+ /**
57
+ * create or remove the sidenav backdrop element.
58
+ *
59
+ * @param {ResponsiveBehavior} responsiveBehavior The sidenav config
60
+ */
61
+ updateBackdropAvailability(responsiveBehavior) {
62
+ if (this.openState === 'open' && (responsiveBehavior === null || responsiveBehavior === void 0 ? void 0 : responsiveBehavior.showBackdrop)) {
63
+ this.append();
64
+ }
65
+ else {
66
+ this.removeZIndex('base');
67
+ this.remove();
68
+ }
69
+ }
70
+ /**
71
+ * The function sets the z-index of an element using a specified level.
72
+ *
73
+ * @param {ZIndexLevelType} [level] - The zindex level
74
+ */
75
+ setZIndex(level) {
76
+ internalVegaZIndexManager.InternalVegaZIndexManager.setZIndex(this.backdropRef, level);
77
+ }
78
+ /**
79
+ * The function removes a specified Z index level from a backdrop element using an internal Vega Z index manager.
80
+ *
81
+ * @param {ZIndexLevelType} [level] - The zindex level
82
+ */
83
+ removeZIndex(level) {
84
+ internalVegaZIndexManager.InternalVegaZIndexManager.removeZIndex(this.backdropRef, level);
85
+ }
86
+ /*
87
+ * The below method is e2e-test covered in
88
+ * @see{module:vega-sidenav-e2e-vega-click-backdrop-mobile}
89
+ */
90
+ /* istanbul ignore next */
91
+ /**
92
+ * Appends a backdrop element to the body of the document and sets its visibility based on a breakpoint.
93
+ */
94
+ append() {
95
+ let backdrop = document.querySelector(`vega-backdrop.${VegaSidenavBackdropController.backdropClassName}`);
96
+ if (!backdrop) {
97
+ backdrop = document.createElement('vega-backdrop');
98
+ backdrop.classList.add(VegaSidenavBackdropController.backdropClassName);
99
+ document.querySelector('body').append(backdrop);
100
+ }
101
+ backdrop.visible = this.getBackdropVisibleByBreakpoint();
102
+ this.backdropRef = backdrop;
103
+ }
104
+ /*
105
+ * The below method is e2e-test covered in
106
+ * @see{module:vega-sidenav-e2e-vega-click-backdrop-mobile}
107
+ */
108
+ /* istanbul ignore next */
109
+ /**
110
+ * Sets the visibility of the `backdropRef` to false.
111
+ */
112
+ remove() {
113
+ if (this.backdropRef) {
114
+ this.backdropRef.remove();
115
+ }
116
+ }
117
+ /*
118
+ * The below method is e2e-test covered in
119
+ * @see{module:vega-sidenav-e2e-vega-click-backdrop-mobile}
120
+ */
121
+ /* istanbul ignore next */
122
+ /**
123
+ * Determines if the backdrop is visible based on the current breakpoint.
124
+ *
125
+ * @returns {boolean} A boolean value based on the current breakpoint. It returns `true` if the current breakpoint is either 'S' or 'M', and `false` otherwise.
126
+ */
127
+ getBackdropVisibleByBreakpoint() {
128
+ const breakpoint = breakpoints.getCurrentBreakpoint();
129
+ return breakpoint === 'S' || breakpoint === 'M' ? true : false;
130
+ }
131
+ }
132
+ VegaSidenavBackdropController.backdropClassName = 'vega-sidenav-backdrop';
133
+ __decorate$7([
134
+ globalSlimmerRegistry.MapToComponentField()
135
+ ], VegaSidenavBackdropController.prototype, "openState", void 0);
136
+
137
+ const sidenavChevronRight = {
138
+ icon: `<svg width="26" height="43" viewBox="0 0 26 43" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M16.7444 22.3536L10.6711 28.4268C10.3782 28.7197 9.90333 28.7197 9.61045 28.4268L8.90211 27.7184C8.6097 27.426 8.60914 26.9521 8.90086 26.659L13.714 21.8232L8.90086 16.9874C8.60914 16.6943 8.6097 16.2204 8.90211 15.928L9.61045 15.2197C9.90336 14.9268 10.3782 14.9268 10.6711 15.2197L16.7443 21.2929C17.0372 21.5858 17.0372 22.0606 16.7444 22.3536Z" fill="currentColor"/></svg>`,
139
+ autoSize: true,
140
+ };
141
+
142
+ const sidenavToggleButtonBg = {
143
+ icon: `<svg width="26" height="43" viewBox="0 0 26 43" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 12C0 9.79086 1.79086 8 4 8H8V0L12.4853 4.48528C14.7357 6.73572 17.788 8 20.9706 8H22C24.2091 8 26 9.79086 26 12V31C26 33.2091 24.2091 35 22 35H20.9706C17.788 35 14.7357 36.2643 12.4853 38.5147L8 43V35H4C1.79086 35 0 33.2091 0 31V12Z" fill="currentColor"/></svg>`,
144
+ };
145
+
146
+ var __decorate$6 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
147
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
148
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
149
+ 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;
150
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
151
+ };
152
+ /** Renders a collapsible button for a sidebar with specific functionality and styling. */
153
+ class VegaSidenavCollapseButtonRenderer extends globalSlimmerRegistry.VegaSlimmer {
154
+ constructor() {
155
+ super(...arguments);
156
+ this.collapseButtonRef = null;
157
+ /**
158
+ * The below method is e2e-test covered in
159
+ * @see{module:vega-sidenav-e2e-mouse-enter-and-mouse-leave-and-click}
160
+ * @see{module:vega-sidenav-desktop-click-icon-change-position}
161
+ */
162
+ /* istanbul ignore next */
163
+ this.handleClickSidebarIcon = async () => {
164
+ await this.host.toggle();
165
+ };
166
+ }
167
+ /*
168
+ * The below method is e2e-test covered in
169
+ * @see{module:vega-sidenav-e2e-openByDefault-resize-screen-size}
170
+ */
171
+ /* istanbul ignore next */
172
+ /**
173
+ * Update the visibility of the collapse button base on the property canCollapseSidenav
174
+ *
175
+ * @param {boolean} canCollapseSidenav The component could collapse or not
176
+ */
177
+ updateHandlerIconAvailability(canCollapseSidenav) {
178
+ if (this.collapseButtonRef) {
179
+ if (!canCollapseSidenav) {
180
+ this.collapseButtonRef.classList.add('disable-collapse');
181
+ }
182
+ else {
183
+ this.collapseButtonRef.classList.remove('disable-collapse');
184
+ }
185
+ }
186
+ }
187
+ /**
188
+ * Render an action button, the button has a special background and chevron left or right icon.
189
+ *
190
+ * @returns {HTMLElement} The button element
191
+ */
192
+ render() {
193
+ const maskImageStyle = this.getButtonMaskImage();
194
+ return (index.h("i", { role: 'button', onClick: this.handleClickSidebarIcon, onKeyDown: accessibility.createEnterKeyHandlerToTriggerClick(), class: "vega-handler-icon", tabIndex: 0, "aria-label": "Handle Sidebar Icon", ref: (node) => (this.collapseButtonRef = node) },
195
+ index.h("style", null, maskImageStyle),
196
+ index.h("vega-icon", { size: "size-16", icon: internalIconManager.VegaInternalIconManager.getIconKey('sidenav-chevron-right') })));
197
+ }
198
+ /**
199
+ * Generating a CSS `mask-image` property value using an SVG icon retrieved from the `VegaIconManager` and`VegaInternalIconManager`.
200
+ *
201
+ * @returns {string} The svg content string after encode
202
+ */
203
+ getButtonMaskImage() {
204
+ const svg = iconManager.VegaIconManager.getIcon(internalIconManager.VegaInternalIconManager.getIconKey('sidenav-toggle-button-bg')).icon;
205
+ const svgUrl = `url(data:image/svg+xml,${globalThis.encodeURIComponent(svg)})`;
206
+ return `.vega-handler-icon{-webkit-mask-image:${svgUrl};mask-image:${svgUrl}}`;
207
+ }
208
+ }
209
+ (() => {
210
+ internalIconManager.VegaInternalIconManager.register({
211
+ 'sidenav-chevron-right': sidenavChevronRight,
212
+ 'sidenav-toggle-button-bg': sidenavToggleButtonBg,
213
+ });
214
+ })();
215
+ __decorate$6([
216
+ globalSlimmerRegistry.MapToComponentField()
217
+ ], VegaSidenavCollapseButtonRenderer.prototype, "host", void 0);
218
+
219
+ var __decorate$5 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
220
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
221
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
222
+ 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;
223
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
224
+ };
225
+ /** Manages the open status of a side navigation component, handling toggling, updating status based on screen size, and other related functionalities. */
226
+ class VegaSidenavOpenStatusController extends pageResizeObserverSlimmer.PageResizeObserverSlimmer {
227
+ /*
228
+ * The below method is e2e-test covered in
229
+ * @see{module:vega-sidenav-e2e-vega-resize-with-desktop}
230
+ */
231
+ /**
232
+ * Register the callback function to page resize observer slimmer
233
+ */
234
+ constructor() {
235
+ super({
236
+ // eslint-disable-next-line jsdoc/require-jsdoc
237
+ callback: /* istanbul ignore next */ () => {
238
+ this.responsiveBehavior = this.getSidenavResponsiveBehavior();
239
+ this.backdropController.updateBackdropAvailability(this.responsiveBehavior);
240
+ this.updateOverflowAvailability();
241
+ this.updateStatusOpenByDefault(true);
242
+ this.collapseButtonRenderer.updateHandlerIconAvailability(this.canCollapseSidenav());
243
+ },
244
+ });
245
+ }
246
+ /* The below method is e2e-test covered in
247
+ * @see{module:vega-sidenav-toggle-and-vegaStateUpdate}
248
+ * @see{module:vega-sidenav-phone-call-toggle-method-change-position}
249
+ */
250
+ /* istanbul ignore next */
251
+ /**
252
+ * Toggle the open state of a side navigation based on certain conditions.
253
+ */
254
+ toggleSidenav() {
255
+ if (this.canCollapseSidenav()) {
256
+ switch (this.openState) {
257
+ case 'open':
258
+ this.setSideNavOpenStatus('clickClose');
259
+ break;
260
+ case 'close':
261
+ this.setSideNavOpenStatus('clickOpen');
262
+ break;
263
+ case 'hoverOpen':
264
+ this.setSideNavOpenStatus('hoverClose');
265
+ break;
266
+ }
267
+ }
268
+ }
269
+ /**
270
+ * The function `setSidenavRef` sets the sidebar reference.
271
+ *
272
+ * @param {HTMLDivElement} sidebarRef - A reference to the sidebar element in the HTML document.
273
+ */
274
+ setSidenavRef(sidebarRef) {
275
+ this.sidebar = sidebarRef;
276
+ }
277
+ /*
278
+ * The below method is e2e-test covered in
279
+ * @see{module:vega-sidenav-e2e-mouse-enter-and-mouse-leave-and-click}
280
+ */
281
+ /* istanbul ignore next */
282
+ /**
283
+ * Toggles the open/close status of a side navigation based on different input flags.
284
+ *
285
+ * @param {'hoverOpen' | 'hoverClose' | 'clickOpen' | 'clickClose'} statusFlag - A string literal type that can have one of the
286
+ * following values: 'hoverOpen', 'hoverClose', 'clickOpen', or 'clickClose'.
287
+ */
288
+ setSideNavOpenStatus(statusFlag) {
289
+ let updated = false;
290
+ switch (statusFlag) {
291
+ case 'clickOpen':
292
+ if (this.openState === 'close') {
293
+ this.openState = 'open';
294
+ this.host.classList.add('open');
295
+ this.sidebar.classList.add('open');
296
+ updated = true;
297
+ }
298
+ break;
299
+ case 'clickClose':
300
+ if (this.openState === 'hoverOpen' || this.openState === 'open') {
301
+ this.openState = 'close';
302
+ this.host.classList.remove('open');
303
+ this.sidebar.classList.remove('open');
304
+ updated = true;
305
+ }
306
+ break;
307
+ case 'hoverOpen':
308
+ if (this.openState === 'close') {
309
+ this.openState = 'hoverOpen';
310
+ this.host.classList.add('open');
311
+ this.sidebar.classList.add('open');
312
+ updated = true;
313
+ }
314
+ break;
315
+ case 'hoverClose':
316
+ if (this.openState === 'hoverOpen') {
317
+ this.openState = 'close';
318
+ this.host.classList.remove('open');
319
+ this.sidebar.classList.remove('open');
320
+ updated = true;
321
+ }
322
+ break;
323
+ }
324
+ if (updated) {
325
+ this.backdropController.updateBackdropAvailability(this.responsiveBehavior);
326
+ this.updateOverflowAvailability();
327
+ this.updateZIndex();
328
+ this.stateUpdateEmitter.emit(this.openState);
329
+ }
330
+ }
331
+ /**
332
+ * Update the sidenav status when component did load
333
+ */
334
+ initOpenStatus() {
335
+ this.responsiveBehavior = this.getSidenavResponsiveBehavior();
336
+ this.updateStatusOpenByDefault();
337
+ }
338
+ /**
339
+ * Update sidenav status when the property value change
340
+ */
341
+ updateOpenStatus() {
342
+ this.updateStatusOpenByDefault();
343
+ this.collapseButtonRenderer.updateHandlerIconAvailability(this.canCollapseSidenav());
344
+ }
345
+ /*
346
+ * It will hide the sidenav when clicking the link in the sidenav on mobile terminal default.
347
+ * If link set showSideBarOnClickLink is true that will don't hide the sidenav..
348
+ * The below method is e2e-test covered in
349
+ * @see{module:vega-sidenav-e2e-vega-click-handler-mobile}
350
+ * @see{module:vega-sidenav-e2e-vega-click-handler-not-close-sidenav-mobile}
351
+ */
352
+ /* istanbul ignore next */
353
+ /**
354
+ * Add an observer to a DOM node for a specific event and handles the event payload to determine whether to close the sidebar.
355
+ */
356
+ registerSidenavLinkClickObserver() {
357
+ domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(this.host, vegaInternalEventId.VegaInternalSidenavLinkClick, (payload) => {
358
+ // payload.detail = VegaSidenavLink.showSideBarOnClickLink
359
+ if (!this.responsiveBehavior.showSideBarOnClickLink && !payload.detail) {
360
+ this.setSideNavOpenStatus('clickClose');
361
+ }
362
+ });
363
+ }
364
+ /**
365
+ * Remove the observer when the component remove from page
366
+ */
367
+ unregisterSidenavLinkClickObserver() {
368
+ domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.removeUniqueObserverFromNode(this.host, vegaInternalEventId.VegaInternalSidenavLinkClick);
369
+ }
370
+ /*
371
+ * Please refer to the documentation for this part of the logic: vega-stencil/docs/sidenav-responsive-support-spec.md
372
+ * The below method is e2e-test covered in
373
+ * @see{module:vega-sidenav-e2e-vega-resize-with-desktop}
374
+ */
375
+ /* istanbul ignore next */
376
+ /**
377
+ * Returns different responsive behaviors based on the screen size.
378
+ *
379
+ * @returns {ResponsiveBehavior} Object
380
+ */
381
+ getSidenavResponsiveBehavior() {
382
+ if (this.isLargeScreen()) {
383
+ return {
384
+ showSideBar: true,
385
+ showBackdrop: false,
386
+ canBeScrolled: true,
387
+ showSideBarOnClickLink: true,
388
+ };
389
+ }
390
+ else {
391
+ return {
392
+ showSideBar: false,
393
+ showBackdrop: true,
394
+ canBeScrolled: false,
395
+ showSideBarOnClickLink: false,
396
+ };
397
+ }
398
+ }
399
+ /*
400
+ * The below method is e2e-test covered in
401
+ * @see{module:vega-sidenav-e2e-z-index}
402
+ * @see{module:vega-sidenav-e2e-z-index-in-mobile}
403
+ */
404
+ /* istanbul ignore next */
405
+ /**
406
+ * Set or remove the sidenav and backdrop style z-index
407
+ */
408
+ updateZIndex() {
409
+ if (['hoverOpen', 'open'].includes(this.openState)) {
410
+ this.backdropController.setZIndex('base');
411
+ internalVegaZIndexManager.InternalVegaZIndexManager.setZIndex(this.sidebar, 'base');
412
+ }
413
+ else {
414
+ effect.executeAfterTransition(() => {
415
+ this.backdropController.removeZIndex('base');
416
+ internalVegaZIndexManager.InternalVegaZIndexManager.removeZIndex(this.sidebar, 'base');
417
+ }, this.sidebar, 300);
418
+ }
419
+ }
420
+ /**
421
+ * Determines whether the sidenav can be collapsed based on the current open by default setting and screen size.
422
+ *
423
+ * @returns {boolean} The method `canCollapseSidenav()` returns a boolean value.
424
+ */
425
+ canCollapseSidenav() {
426
+ const openByDefault = this.getCurrentOpenByDefault();
427
+ return openByDefault !== 'disableCollapse' || !this.isLargeScreen();
428
+ }
429
+ /*
430
+ * The below method is e2e-test covered in
431
+ * @see{module:vega-sidenav-e2e-vega-hidden-overflow-with-desktop-to-mobile}
432
+ */
433
+ /* istanbul ignore next */
434
+ /**
435
+ * Update the body style overflow
436
+ */
437
+ updateOverflowAvailability() {
438
+ var _a;
439
+ const bodyElement = document.querySelector('body');
440
+ if (!((_a = this.responsiveBehavior) === null || _a === void 0 ? void 0 : _a.canBeScrolled) && this.openState === 'open') {
441
+ bodyElement.style['overflow'] = 'hidden';
442
+ }
443
+ else {
444
+ bodyElement.style['overflow'] = null;
445
+ }
446
+ }
447
+ /*
448
+ * The below method is e2e-test covered in
449
+ * @see{module:vega-sidenav-e2e-openByDefault-resize-screen-size}
450
+ */
451
+ /* istanbul ignore next */
452
+ /**
453
+ *
454
+ *
455
+ * @param triggerByResize
456
+ */
457
+ /**
458
+ * Determines whether to open or close a side navigation based on certain conditions.
459
+ *
460
+ * @param {boolean} [triggerByResize=false] - The `updateStatusOpenByDefault` method was triggered by a resize event
461
+ */
462
+ updateStatusOpenByDefault(triggerByResize = false) {
463
+ const openByDefault = this.getCurrentOpenByDefault();
464
+ const canCollapseSidenav = this.canCollapseSidenav();
465
+ if (!triggerByResize) {
466
+ if (openByDefault == 'open' || !canCollapseSidenav) {
467
+ this.setSideNavOpenStatus('clickOpen');
468
+ }
469
+ else if (openByDefault == 'close' ||
470
+ (openByDefault == 'disableCollapse' && canCollapseSidenav)) {
471
+ this.setSideNavOpenStatus('clickClose');
472
+ }
473
+ }
474
+ else if (!canCollapseSidenav) {
475
+ this.setSideNavOpenStatus('clickOpen');
476
+ }
477
+ }
478
+ /**
479
+ * Returns true if the current breakpoint is 'L' or 'XL'.
480
+ *
481
+ * @returns {boolean} Determine if the screen is considered large.
482
+ */
483
+ isLargeScreen() {
484
+ const currentBreakpoint = breakpoints.getCurrentBreakpoint();
485
+ return currentBreakpoint == 'L' || currentBreakpoint == 'XL';
486
+ }
487
+ /**
488
+ * TReturns the current openByDefault value formatted using ResponsiveFormatFacade.
489
+ *
490
+ * @param {ResponsiveType<OpenByDefaultType>} input - parameter
491
+ * @returns {OpenByDefaultType} The formatted value of the `input` parameter, which is of type `OpenByDefaultType`.
492
+ */
493
+ getCurrentOpenByDefault(input = this.openByDefault) {
494
+ return responsiveFormatFacade.ResponsiveFormatFacade.formatCustom(input);
495
+ }
496
+ }
497
+ __decorate$5([
498
+ globalSlimmerRegistry.MapToComponentField({ writable: true })
499
+ ], VegaSidenavOpenStatusController.prototype, "openState", void 0);
500
+ __decorate$5([
501
+ globalSlimmerRegistry.MapToComponentField()
502
+ ], VegaSidenavOpenStatusController.prototype, "openByDefault", void 0);
503
+ __decorate$5([
504
+ globalSlimmerRegistry.MapToComponentField()
505
+ ], VegaSidenavOpenStatusController.prototype, "host", void 0);
506
+ __decorate$5([
507
+ globalSlimmerRegistry.MapToComponentField()
508
+ ], VegaSidenavOpenStatusController.prototype, "stateUpdateEmitter", void 0);
509
+ __decorate$5([
510
+ globalSlimmerRegistry.MapToComponentField()
511
+ ], VegaSidenavOpenStatusController.prototype, "backdropController", void 0);
512
+ __decorate$5([
513
+ globalSlimmerRegistry.MapToComponentField()
514
+ ], VegaSidenavOpenStatusController.prototype, "collapseButtonRenderer", void 0);
515
+ __decorate$5([
516
+ globalSlimmerRegistry.MapToComponentMethod('componentDidLoad')
517
+ ], VegaSidenavOpenStatusController.prototype, "initOpenStatus", null);
518
+ __decorate$5([
519
+ globalSlimmerRegistry.MapToComponentMethod('watchOpenByDefaultChange')
520
+ ], VegaSidenavOpenStatusController.prototype, "updateOpenStatus", null);
521
+ __decorate$5([
522
+ globalSlimmerRegistry.MapToComponentMethod('connectedCallback')
523
+ ], VegaSidenavOpenStatusController.prototype, "registerSidenavLinkClickObserver", null);
524
+ __decorate$5([
525
+ globalSlimmerRegistry.MapToComponentMethod('disconnectedCallback')
526
+ ], VegaSidenavOpenStatusController.prototype, "unregisterSidenavLinkClickObserver", null);
527
+
528
+ const vegaSidenavCss = ":host{height:100%;width:0px;min-height:100vh;display:flex;align-items:stretch;text-align:left;top:0px;right:0px;bottom:0px;left:0px}:host .vega-sidebar{background-color:rgba(var(--v-bg-sidebar, 18, 18, 39, 1));transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;box-sizing:border-box;position:relative;padding-left:0px;padding-right:0px;display:flex;align-items:stretch;width:0px;transition-duration:300ms}:host .vega-sidebar .header-placeholder{margin-top:24px}:host .vega-sidebar .vega-sidebar-content-container{width:100%;overflow:hidden;display:flex;flex-direction:column}:host .vega-sidebar .vega-sidebar-content-container>.vega-nav-list{padding-left:8px;padding-right:8px}:host .vega-sidebar .vega-nav-list{padding:0px;margin:0px;flex:1 1 0%;list-style-type:none}:host .vega-sidebar .vega-nav-list::-webkit-scrollbar{background-color:rgba(var(--v-bg-sidebar, 18, 18, 39, 1));width:4px}:host .vega-sidebar .vega-nav-list::-webkit-scrollbar-thumb{background-color:rgba(var(--v-bg-status-info, 205, 209, 211, 1));border-radius:9999px}:host .vega-sidebar .vega-sidebar-header{position:relative}:host .vega-sidebar .vega-sidebar-header>div{transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;transition-duration:300ms}:host .vega-sidebar .vega-sidebar-header>div.vega-sidebar-header-collapse-container{display:flex;justify-content:center;align-items:center;flex-shrink:0;height:56px;position:absolute;pointer-events:none;color:rgba(var(--v-text-inverted-primary, 252, 252, 252, 1));display:none;padding-top:24px;padding-left:12px;padding-right:12px;padding-bottom:32px;top:0;left:0;opacity:1}@media (min-width: 1024px){:host .vega-sidebar .vega-sidebar-header>div.vega-sidebar-header-collapse-container{display:flex}}:host .vega-sidebar .vega-sidebar-header>div.vega-sidebar-header-collapse-container image{max-width:100%;max-height:48px}:host .vega-sidebar .vega-sidebar-header>div.vega-sidebar-header-expand-container{color:rgba(var(--v-text-white, 252, 252, 252, 1));overflow:hidden;box-sizing:border-box;padding-left:24px;padding-right:24px;padding-top:24px;padding-bottom:32px;width:100%;opacity:0}:host .vega-sidebar .vega-sidebar-header>div.vega-sidebar-header-expand-container>vega-icon{color:rgba(var(--v-text-sidebar-link-selected, 252, 252, 252, 1))}:host .vega-sidebar .vega-sidebar-header>div.vega-sidebar-header-expand-container img{max-height:80px;max-width:100%}:host .vega-sidebar .vega-sidebar-header .vega-sidebar-headline{overflow-wrap:break-word;font-family:\"Inter\", sans-serif;font-size:18px;font-weight:700;line-height:25px;letter-spacing:0px;margin-top:8px;opacity:0;transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;max-height:25px}@media screen and (min-width: 768px) and (max-width: 1023px){:host .vega-sidebar .vega-sidebar-header .vega-sidebar-headline{font-family:\"Inter\", sans-serif;font-size:18px;font-weight:700;line-height:25px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){:host .vega-sidebar .vega-sidebar-header .vega-sidebar-headline{font-family:\"Inter\", sans-serif;font-size:18px;font-weight:700;line-height:25px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){:host .vega-sidebar .vega-sidebar-header .vega-sidebar-headline{font-family:\"Inter\", sans-serif;font-size:18px;font-weight:700;line-height:25px;letter-spacing:0px}}:host .vega-sidebar .vega-handler-icon{cursor:pointer;position:absolute;background-color:rgba(var(--v-bg-action, 19, 98, 226, 1));right:-18px;-webkit-mask-size:cover;mask-size:cover;width:26px;height:43px;top:24px}@media (min-width: 320px){:host .vega-sidebar .vega-handler-icon{display:none}}@media (min-width: 1024px){:host .vega-sidebar .vega-handler-icon{display:block}}:host .vega-sidebar .vega-handler-icon vega-icon{cursor:pointer;position:absolute;display:block;color:rgba(var(--v-text-inverted-primary, 252, 252, 252, 1));left:0px;top:0px;width:100%;height:100%;transform-origin:center}:host .vega-sidebar .vega-nav-footer{padding-top:16px;padding-bottom:16px;padding-left:24px;padding-right:24px}:host .vega-sidebar .vega-nav-footer .vega-nav-footnote{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px;opacity:0;transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;color:rgba(var(--v-text-sidebar-link, 188, 186, 213, 1))}@media screen and (min-width: 768px) and (max-width: 1023px){:host .vega-sidebar .vega-nav-footer .vega-nav-footnote{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){:host .vega-sidebar .vega-nav-footer .vega-nav-footnote{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){:host .vega-sidebar .vega-nav-footer .vega-nav-footnote{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}@media (min-width: 1024px){:host{width:72px}:host .vega-sidebar{width:72px}}:host(.open){width:auto}:host(.open) .vega-sidebar{top:0px;right:0px;bottom:0px;left:0px;position:fixed;width:300px}@media (min-width: 768px){:host(.open) .vega-sidebar{width:240px}}@media (min-width: 1024px){:host(.open) .vega-sidebar{position:relative}}:host(.open) .vega-sidebar .vega-nav-list{overflow-y:auto;overflow-x:hidden}@media (min-width: 320px){:host(.open) .vega-sidebar .vega-handler-icon{display:block}}:host(.open) .vega-sidebar .vega-handler-icon vega-icon{transform:rotate(180deg)}@media (min-width: 320px){:host(.open) .vega-sidebar .vega-handler-icon.disable-collapse{display:block}}@media (min-width: 1024px){:host(.open) .vega-sidebar .vega-handler-icon.disable-collapse{display:none}}:host(.open) .vega-sidebar .vega-sidebar-header .vega-sidebar-headline{opacity:1;transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;transition-delay:100ms}:host(.open) .vega-sidebar .vega-sidebar-header>div.vega-sidebar-header-expand-container{opacity:1}:host(.open) .vega-sidebar .vega-sidebar-header>div.vega-sidebar-header-collapse-container{opacity:0}:host(.open) .vega-sidebar .vega-nav-footer .vega-nav-footnote{opacity:1;transition-delay:100ms}";
529
+
530
+ var __decorate$4 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
531
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
532
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
533
+ r = Reflect.decorate(decorators, target, key, desc);
534
+ else
535
+ for (var i = decorators.length - 1; i >= 0; i--)
536
+ if (d = decorators[i])
537
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
538
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
539
+ };
540
+ const VegaSidenav = class {
541
+ constructor(hostRef) {
542
+ index.registerInstance(this, hostRef);
543
+ this.vegaStateUpdate = index.createEvent(this, "vegaStateUpdate", 7);
544
+ this.stateUpdate = index.createEvent(this, "stateUpdate", 7);
545
+ this.globalSlimmers = {};
546
+ this.vegaComponentUsageRuntimeMetricsSlimmer = new componentUsageRuntimeMetrics.VegaComponentUsageRuntimeMetricsSlimmer();
547
+ this.openStateNotifySlimmer = subStateNotifySlimmer.createSubStateNotifySlimmer(VegaSidenav, 'openState', 'watchOpenState');
548
+ this.backdropController = new VegaSidenavBackdropController();
549
+ this.collapseButtonRenderer = new VegaSidenavCollapseButtonRenderer();
550
+ this.openStatusController = new VegaSidenavOpenStatusController();
551
+ this.stateUpdateEmitter = eventEmitSlimmer.createEventEmitSlimmer(VegaSidenav, vegaEventId.VegaStateUpdate);
552
+ this.openState = 'close';
553
+ /**
554
+ * Provides additional information or context in the form of
555
+ * a footnote in the side nav footer.
556
+ *
557
+ * @vegaVersion 2.29.0
558
+ */
559
+ this.footnote = '';
560
+ /**
561
+ * Specifies the configuration for the header of the side nav,
562
+ * allowing customization of the logo and headline.
563
+ *
564
+ * @vegaVersion 2.29.0
565
+ */
566
+ this.headerConfig = {};
567
+ /**
568
+ * Specifies the default open behavior for the side nav across
569
+ * different screen sizes and disables collapse for
570
+ * large screens.
571
+ *
572
+ * @vegaVersion 2.29.0
573
+ */
574
+ this.openByDefault = 'close';
575
+ /**
576
+ * The below method is e2e-test covered in
577
+ * @see{module:vega-sidenav-e2e-mouse-enter-and-mouse-leave-and-click}
578
+ */
579
+ /* istanbul ignore next */
580
+ this.attachMouseEventToContent = () => {
581
+ this.content.addEventListener('mouseenter', (e) => {
582
+ e.stopPropagation();
583
+ this.openStatusController.setSideNavOpenStatus('hoverOpen');
584
+ });
585
+ this.content.addEventListener('mouseleave', (e) => {
586
+ e.stopPropagation();
587
+ this.openStatusController.setSideNavOpenStatus('hoverClose');
588
+ });
589
+ };
590
+ /**
591
+ * The below method is e2e-test covered in
592
+ * @see{module:vega-sidenav-e2e-with-source-with-child}
593
+ * @see{module:vega-sidenav-e2e-with-source-without-child}
594
+ */
595
+ /* istanbul ignore next */
596
+ this.renderSideBarListBySource = () => {
597
+ var _a;
598
+ return (index.h(index.Fragment, null, (_a = this.source) === null || _a === void 0 ? void 0 : _a.map((item, index$1) => {
599
+ if (item === null || item === void 0 ? void 0 : item.children) {
600
+ return (index.h("vega-sidenav-group", { key: index$1, icon: item.icon || 'globe', label: item.name }, item.children.map((child, childIndex) => (index.h("vega-sidenav-link", { key: `${index$1}_${childIndex}`, url: child.url, selected: child.selected }, child.name)))));
601
+ }
602
+ else {
603
+ return (index.h("vega-sidenav-link", { key: index$1, icon: item.icon || 'globe', url: item.url, selected: item.selected }, item.name));
604
+ }
605
+ })));
606
+ };
607
+ }
608
+ /**
609
+ * The method to used notify the sub state the parent state value changed
610
+ */
611
+ watchOpenState() {
612
+ }
613
+ /**
614
+ * clear inner content in `div.vega-nav-list` if previousSource is empty.
615
+ * to avoid untracked sidenav items (render by slot) keeping existed while source updated.
616
+ * The below method is e2e-test covered in
617
+ * @see{module:vega-sidenav-e2e-with-source-with-child}
618
+ */
619
+ /* istanbul ignore next */
620
+ watchSourceChange(currentSource, previousSource) {
621
+ if (currentSource) {
622
+ this.validSource();
623
+ }
624
+ if (!(previousSource === null || previousSource === void 0 ? void 0 : previousSource.length)) {
625
+ this.host
626
+ .querySelectorAll('vega-sidenav-link, vega-sidenav-group')
627
+ .forEach((el) => el.remove());
628
+ }
629
+ }
630
+ watchOpenByDefaultChange() {
631
+ }
632
+ /**
633
+ * The below method is e2e-test covered in
634
+ * @see{module:vega-sidenav-e2e-with-source-with-duplicated-selected}
635
+ * @see{module:vega-sidenav-e2e-with-source-without-child}
636
+ */
637
+ /* istanbul ignore next */
638
+ componentWillLoad() {
639
+ this.source && this.validSource();
640
+ }
641
+ /**
642
+ * The below method is e2e-test covered in
643
+ * @see{module:vega-sidenav-e2e-vega-resize-with-desktop}
644
+ * @see{module:vega-sidenav-e2e-vega-resize-with-desktop-to-mobile}
645
+ */
646
+ /* istanbul ignore next */
647
+ componentDidLoad() {
648
+ this.attachMouseEventToContent();
649
+ }
650
+ /**
651
+ * The below method is e2e-test covered in
652
+ * @see{module:vega-sidenav-e2e-vega-click-backdrop-mobile}
653
+ */
654
+ /* istanbul ignore next */
655
+ collapseSidenavByBackDropClick(e) {
656
+ const target = e.target;
657
+ if (target.classList.contains(VegaSidenavBackdropController.backdropClassName)) {
658
+ this.openStatusController.setSideNavOpenStatus('clickClose');
659
+ }
660
+ }
661
+ /* The below method is e2e-test covered in
662
+ * @see{module:vega-sidenav-toggle-and-vegaStateUpdate}
663
+ * @see{module:vega-sidenav-phone-call-toggle-method-change-position}
664
+ */
665
+ /* istanbul ignore next */
666
+ /**
667
+ * Invoke this method to toggle the side navigation menu.
668
+ *
669
+ * @vegaVersion 2.29.0
670
+ */
671
+ async toggle() {
672
+ this.openStatusController.toggleSidenav();
673
+ }
674
+ /**
675
+ * The below method is e2e-test covered in
676
+ * @see{module:vega-sidenav-desktop-not-show-backdrop}
677
+ * @see{module:vega-sidenav-mobile-show-backdrop}
678
+ */
679
+ render() {
680
+ return component.sanitizeVegaComponent(index.h(index.Host, null, index.h("div", { class: "vega-sidebar", ref: (el) => this.openStatusController.setSidenavRef(el) }, index.h("div", { class: "vega-sidebar-content-container", ref: (el) => (this.content = el) }, index.h(index.Fragment, null, !createPublicApiRuntimeMetricsSlimmer.isObjectEmpty(this.headerConfig) && this.renderSideBarHeader(), this.renderSideBarList(), this.renderSideBarFooter())), this.collapseButtonRenderer.render())), this.host);
681
+ }
682
+ /**
683
+ * The below method is e2e-test covered in
684
+ * @see{module:vega-sidenav-e2e-with-source-with-duplicated-selected}
685
+ * @see{module:vega-sidenav-e2e-with-source-without-child}
686
+ */
687
+ /* istanbul ignore next */
688
+ validSource() {
689
+ const selectedItems = array.flattenChildren(this.source).filter((item) => item.selected);
690
+ if (selectedItems.length > 1) {
691
+ throw new Error('There should be only one item selected at the same time.');
692
+ }
693
+ }
694
+ /**
695
+ * The current div uses a named slot and has a sibling above it, if you skip rendering this whole element by checking a variable,
696
+ * it will cause the slot's position to move into the sibling.
697
+ * For specific examples, see the documentation of stencil_slot_bug.md
698
+ * The below method is e2e-test covered in
699
+ * @see{module:vega-sidenav-e2e-with-source-with-child}
700
+ * @see{module:vega-sidenav-e2e-with-source-without-length}
701
+ */
702
+ /* istanbul ignore next */
703
+ renderSideBarList() {
704
+ var _a;
705
+ return (index.h(index.Fragment, null, createPublicApiRuntimeMetricsSlimmer.isObjectEmpty(this.headerConfig) ? index.h("div", { class: "header-placeholder" }) : null, index.h("slot", { name: "before-list-slot" }), index.h("div", { class: "vega-nav-list" }, ((_a = this.source) === null || _a === void 0 ? void 0 : _a.length) ? this.renderSideBarListBySource() : index.h("slot", null))));
706
+ }
707
+ renderSideBarHeader() {
708
+ const { collapseLogo, expandLogo, headline } = this.headerConfig;
709
+ return (index.h("div", { class: "vega-sidebar-header" }, index.h("div", { class: "vega-sidebar-header-collapse-container" }, collapseLogo && index.h("img", { src: collapseLogo, alt: 'collapse logo' })), index.h("div", { class: "vega-sidebar-header-expand-container" }, expandLogo && index.h("img", { src: expandLogo, alt: 'expand logo' }), headline && index.h("div", { class: "vega-sidebar-headline" }, headline))));
710
+ }
711
+ renderSideBarFooter() {
712
+ return (this.footnote && (index.h("div", { class: "vega-nav-footer" }, index.h("div", { class: "vega-nav-footnote" }, this.footnote))));
713
+ }
714
+ get host() { return index.getElement(this); }
715
+ static get watchers() { return {
716
+ "openState": ["watchOpenState"],
717
+ "source": ["watchSourceChange"],
718
+ "openByDefault": ["watchOpenByDefaultChange"]
719
+ }; }
720
+ };
721
+ __decorate$4([
722
+ componentUsageRuntimeMetrics.InjectVegaGlobalSlimmer()
723
+ ], VegaSidenav.prototype, "globalSlimmers", void 0);
724
+ __decorate$4([
725
+ globalSlimmerRegistry.InjectVegaSlimmer()
726
+ ], VegaSidenav.prototype, "vegaComponentUsageRuntimeMetricsSlimmer", void 0);
727
+ __decorate$4([
728
+ globalSlimmerRegistry.InjectVegaSlimmer()
729
+ ], VegaSidenav.prototype, "openStateNotifySlimmer", void 0);
730
+ __decorate$4([
731
+ globalSlimmerRegistry.InjectVegaSlimmer()
732
+ ], VegaSidenav.prototype, "backdropController", void 0);
733
+ __decorate$4([
734
+ globalSlimmerRegistry.InjectVegaSlimmer()
735
+ ], VegaSidenav.prototype, "collapseButtonRenderer", void 0);
736
+ __decorate$4([
737
+ globalSlimmerRegistry.InjectVegaSlimmer()
738
+ ], VegaSidenav.prototype, "openStatusController", void 0);
739
+ __decorate$4([
740
+ globalSlimmerRegistry.InjectVegaSlimmer()
741
+ ], VegaSidenav.prototype, "stateUpdateEmitter", void 0);
742
+ VegaSidenav.style = vegaSidenavCss;
743
+
744
+ var __decorate$3 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
745
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
746
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
747
+ 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;
748
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
749
+ };
750
+ /** The class `VegaSidenavGroupSubStateController` is a TypeScript class that observes and manages sub-states for a sidenav group component. */
751
+ class VegaSidenavGroupSubStateController extends subStateObserverSlimmer.SubStateObserverSlimmer {
752
+ /**
753
+ * The constructor function initializes a sidenav with specified subStates in TypeScript.
754
+ */
755
+ constructor() {
756
+ super({
757
+ parent: 'vega-sidenav',
758
+ subStates: [
759
+ {
760
+ subStateName: 'openState',
761
+ parentStateName: 'openState',
762
+ },
763
+ ],
764
+ });
765
+ }
766
+ }
767
+ __decorate$3([
768
+ globalSlimmerRegistry.MapToComponentField({ writable: true })
769
+ ], VegaSidenavGroupSubStateController.prototype, "openState", void 0);
770
+
771
+ /**
772
+ * `isHTMLVegaSidenavLinkElement` returns `true` if the input is an `HTMLVegaSidenavLinkElement` and `false` otherwise
773
+ *
774
+ * @param {unknown} input - The input to check.
775
+ * @returns {boolean} indicating if the input is type of {@link HTMLVegaSidenavLinkElement}
776
+ */
777
+ const isHTMLVegaSidenavLinkElement = (input) => {
778
+ return input instanceof HTMLElement && input['tagName'] === 'VEGA-SIDENAV-LINK';
779
+ };
780
+
781
+ const vegaSidenavGroupCss = ":host{display:block;margin-top:4px;transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;width:100%;box-sizing:border-box}:host a{display:flex;align-items:center;width:100%;height:100%;position:relative;transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;overflow:hidden;color:rgba(var(--v-text-sidebar-link, 188, 186, 213, 1));cursor:pointer;text-decoration:none;border-radius:8px;box-sizing:border-box;outline:2px solid transparent;outline-offset:2px}:host .vega-nav-list{padding:0px;margin:0px;flex:1 1 0%;list-style-type:none}:host .vega-li-main.sidenav-open .vega-nav-list{overflow-y:auto;overflow-x:hidden}:host .vega-nav-list::-webkit-scrollbar{background-color:rgba(var(--v-bg-sidebar, 18, 18, 39, 1));width:4px}:host .vega-nav-list::-webkit-scrollbar-thumb{background-color:rgba(var(--v-bg-status-info, 205, 209, 211, 1));border-radius:9999px}:host a.sub-selected{color:rgba(var(--v-text-sidebar-link-selected, 252, 252, 252, 1))}:host .vega-li-main.sidenav-open a:focus{border-color:rgba(var(--v-border-color-sidebar-item-focus, 19, 98, 226, 1))}:host .vega-li-main.sidenav-open a:not(.selected):hover{background-color:rgba(var(--v-bg-sidebar-item-hover, 252, 252, 252, 1));color:rgba(var(--v-text-sidebar-link-hover, 18, 18, 39, 1))}:host .vega-links-icon{padding:8px;box-sizing:border-box}:host a .vega-links-icon>div{display:flex;justify-content:center;align-items:center;flex-shrink:0;border-radius:8px;height:100%;width:100%}:host .vega-links-icon .prefix-icon{width:40px;height:40px}:host .vega-nav-list-sub .vega-links-icon{height:auto;width:auto}:host a .vega-links-name{transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;opacity:0;pointer-events:none;overflow:hidden;font-family:\"Inter\", sans-serif;font-size:16px;font-weight:700;line-height:24px;letter-spacing:0px;flex:1 1 0%;padding-top:8px;padding-bottom:8px;transition-duration:300ms}@media screen and (min-width: 768px) and (max-width: 1023px){:host a .vega-links-name{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:700;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){:host a .vega-links-name{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:700;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){:host a .vega-links-name{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:700;line-height:24px;letter-spacing:0px}}:host .vega-li-main.sidenav-open a .vega-links-name{opacity:1;pointer-events:auto;overflow-wrap:break-word}:host .suffix-icons{padding-right:16px;padding-left:8px;width:12px}:host .suffix-icons vega-icon{pointer-events:auto;transition-property:transform;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;opacity:0;position:absolute;right:16px;top:50%;transform:translateY(-50%)}:host .vega-li-main.sidenav-open .suffix-icons vega-icon,:host .vega-li-main.sidenav-open.open>a>.suffix-icons vega-icon:first-of-type{opacity:0}:host .vega-li-main.sidenav-open .suffix-icons vega-icon:first-of-type,:host .vega-li-main.sidenav-open.open>a>.suffix-icons vega-icon:last-of-type{opacity:1}:host .vega-nav-list-sub{display:none}:host .vega-li-main.sidenav-open.open>.vega-nav-list-sub{display:block}:host ::slotted(vega-sidenav-group){padding-left:48px}:host ::slotted(vega-sidenav-link){padding-left:48px}@media (min-width: 768px){:host{width:224px}}";
782
+
783
+ var __decorate$2 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
784
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
785
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
786
+ r = Reflect.decorate(decorators, target, key, desc);
787
+ else
788
+ for (var i = decorators.length - 1; i >= 0; i--)
789
+ if (d = decorators[i])
790
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
791
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
792
+ };
793
+ const VegaSidenavGroup = class {
794
+ constructor(hostRef) {
795
+ index.registerInstance(this, hostRef);
796
+ this.subStateObserverSlimmer = new VegaSidenavGroupSubStateController();
797
+ this.globalSlimmers = {};
798
+ this.vegaComponentUsageRuntimeMetricsSlimmer = new componentUsageRuntimeMetrics.VegaComponentUsageRuntimeMetricsSlimmer();
799
+ this.openState = 'close';
800
+ /**
801
+ * Specifies the text that serves as the label or title
802
+ * for the side navigation group in the sidebar.
803
+ *
804
+ * @vegaVersion 2.29.0
805
+ */
806
+ this.label = '';
807
+ /**
808
+ * The below method is e2e-test covered in
809
+ * @see{module:vega-sidenav-group-toggle}
810
+ */
811
+ this.handleClick = (e) => {
812
+ const currentTarget = e.currentTarget;
813
+ if (currentTarget && currentTarget.dataset.root === '$1') {
814
+ e.preventDefault();
815
+ currentTarget.closest('.vega-li-main').classList.toggle('open');
816
+ }
817
+ };
818
+ }
819
+ /**
820
+ * The below method is e2e-test covered in
821
+ * @see{module:vega-sidenav-group-e2e-disconnected}
822
+ */
823
+ /* istanbul ignore next */
824
+ disconnectedCallback() {
825
+ changeManager.ChangeManager.unregister(staticSubjectTitle.SIDENAV_LINK_SELECTED_TOPIC, this.observer);
826
+ }
827
+ componentWillLoad() {
828
+ this.observer = new observer.Observer(isHTMLVegaSidenavLinkElement, this.observerListener.bind(this));
829
+ changeManager.ChangeManager.register(staticSubjectTitle.SIDENAV_LINK_SELECTED_TOPIC, this.observer);
830
+ }
831
+ render() {
832
+ return component.sanitizeVegaComponent(index.h(index.Host, null, index.h("div", { class: { 'vega-li-main': true, 'sidenav-open': this.openState !== 'close' }, ref: (ref) => (this.groupContainer = ref) }, index.h("a", { href: `#${this.label}`, role: 'button', tabIndex: 0, onKeyDown: accessibility.createEnterKeyHandlerToTriggerClick(), "data-root": "$1", onClick: this.handleClick, "aria-label": this.label || 'No label defined' }, index.h("div", { class: "vega-links-icon" }, index.h("div", { class: "prefix-icon" }, index.h("vega-icon", { icon: this.icon, size: "size-24" }))), index.h("span", { class: "vega-links-name" }, this.label), index.h("div", { class: "suffix-icons" }, index.h("vega-icon", { icon: "chevron-down", size: "size-12" }), index.h("vega-icon", { icon: "chevron-up", size: "size-12" }))), index.h("div", { class: "vega-nav-list vega-nav-list-sub" }, index.h("slot", null)))), this.host);
833
+ }
834
+ /**
835
+ * The below method is e2e-test covered in
836
+ * @see{module:vega-sidenav-group-observer-with-selected}
837
+ */
838
+ /* istanbul ignore next */
839
+ observerListener(castInput) {
840
+ const hasSelectedLinkItem = this.host.contains(castInput);
841
+ if (hasSelectedLinkItem) {
842
+ this.groupContainer.querySelector('a').classList.add('sub-selected');
843
+ this.groupContainer.classList.add('open');
844
+ }
845
+ else {
846
+ this.groupContainer.querySelector('a').classList.remove('sub-selected');
847
+ this.groupContainer.classList.remove('open');
848
+ }
849
+ }
850
+ get host() { return index.getElement(this); }
851
+ };
852
+ __decorate$2([
853
+ globalSlimmerRegistry.InjectVegaSlimmer()
854
+ ], VegaSidenavGroup.prototype, "subStateObserverSlimmer", void 0);
855
+ __decorate$2([
856
+ componentUsageRuntimeMetrics.InjectVegaGlobalSlimmer()
857
+ ], VegaSidenavGroup.prototype, "globalSlimmers", void 0);
858
+ __decorate$2([
859
+ globalSlimmerRegistry.InjectVegaSlimmer()
860
+ ], VegaSidenavGroup.prototype, "vegaComponentUsageRuntimeMetricsSlimmer", void 0);
861
+ VegaSidenavGroup.style = vegaSidenavGroupCss;
862
+
863
+ var __decorate$1 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
864
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
865
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
866
+ 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;
867
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
868
+ };
869
+ /** The class `VegaSidenavLinkSubStateController` is a TypeScript class that observes and manages sub-states for a sidenav link component. */
870
+ class VegaSidenavLinkSubStateController extends subStateObserverSlimmer.SubStateObserverSlimmer {
871
+ /**
872
+ * The constructor function initializes a sidenav with specified subStates in TypeScript.
873
+ */
874
+ constructor() {
875
+ super({
876
+ parent: 'vega-sidenav',
877
+ subStates: [
878
+ {
879
+ subStateName: 'openState',
880
+ parentStateName: 'openState',
881
+ },
882
+ ],
883
+ });
884
+ }
885
+ }
886
+ __decorate$1([
887
+ globalSlimmerRegistry.MapToComponentField({ writable: true })
888
+ ], VegaSidenavLinkSubStateController.prototype, "openState", void 0);
889
+
890
+ const vegaSidenavLinkCss = ":host{display:block;margin-top:4px;transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;width:100%;box-sizing:border-box}:host a{display:flex;align-items:center;width:100%;height:100%;position:relative;transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;overflow:hidden;color:rgba(var(--v-text-sidebar-link, 188, 186, 213, 1));cursor:pointer;text-decoration:none;border-radius:8px;box-sizing:border-box;outline:2px solid transparent;outline-offset:2px}:host a.selected{color:rgba(var(--v-text-sidebar-link-selected, 252, 252, 252, 1));background:transparent}:host .vega-links-icon{padding:8px;box-sizing:border-box}:host a.selected .vega-links-icon{border-radius:8px;background-color:rgba(var(--v-bg-sidebar-item-selected, 19, 98, 226, 0.4))}:host a .vega-links-icon>div{display:flex;justify-content:center;align-items:center;flex-shrink:0;border-radius:8px;height:100%;width:100%}:host a.selected .vega-links-icon>div{background-color:rgba(var(--v-bg-action, 19, 98, 226, 1))}:host .vega-links-icon .prefix-icon{width:40px;height:40px}:host a .vega-links-name{transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;opacity:0;pointer-events:none;overflow:hidden;font-family:\"Inter\", sans-serif;font-size:16px;font-weight:700;line-height:24px;letter-spacing:0px;flex:1 1 0%;padding-top:8px;padding-bottom:8px;transition-duration:300ms}@media screen and (min-width: 768px) and (max-width: 1023px){:host a .vega-links-name{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:700;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){:host a .vega-links-name{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:700;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){:host a .vega-links-name{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:700;line-height:24px;letter-spacing:0px}}:host(.has-group-parent:not([icon])) .vega-links-name{padding-left:16px;padding-right:16px;padding-top:8px;padding-bottom:8px}:host(.sidenav-open) a:focus{border-color:rgba(var(--v-border-color-sidebar-item-focus, 19, 98, 226, 1))}:host(.sidenav-open) a:not(.selected):hover{background-color:rgba(var(--v-bg-sidebar-item-hover, 252, 252, 252, 1));color:rgba(var(--v-text-sidebar-link-hover, 18, 18, 39, 1))}:host(.sidenav-open) a.selected{background-color:rgba(var(--v-bg-sidebar-item-selected, 19, 98, 226, 0.4))}:host(.sidenav-open) a.selected .vega-links-icon{background:transparent}:host(.sidenav-open) a .vega-links-name{opacity:1;pointer-events:auto;overflow-wrap:break-word}@media (min-width: 768px){:host{width:224px}}";
891
+
892
+ var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
893
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
894
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
895
+ r = Reflect.decorate(decorators, target, key, desc);
896
+ else
897
+ for (var i = decorators.length - 1; i >= 0; i--)
898
+ if (d = decorators[i])
899
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
900
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
901
+ };
902
+ const VegaSidenavLink = class {
903
+ constructor(hostRef) {
904
+ index.registerInstance(this, hostRef);
905
+ this.vegaClick = index.createEvent(this, "vegaClick", 7);
906
+ this.click = index.createEvent(this, "click", 7);
907
+ this.globalSlimmers = {};
908
+ this.vegaComponentUsageRuntimeMetricsSlimmer = new componentUsageRuntimeMetrics.VegaComponentUsageRuntimeMetricsSlimmer();
909
+ this.subStateObserverSlimmer = new VegaSidenavLinkSubStateController();
910
+ this.clickEventEmitter = eventEmitSlimmer.createEventEmitSlimmer(VegaSidenavLink, vegaEventId.VegaClick);
911
+ this.openState = 'close';
912
+ /**
913
+ * Indicates whether the link item is selected.
914
+ *
915
+ * @vegaVersion 2.29.0
916
+ */
917
+ this.selected = false;
918
+ /**
919
+ * Determines if the side nav should stay open when the
920
+ * sidenav-link element is clicked.
921
+ *
922
+ * @vegaVersion 2.29.0
923
+ */
924
+ this.showSideBarOnClickLink = false;
925
+ /**
926
+ * The below method is e2e-test covered in
927
+ * @see{module:vega-sidenav-link-click-event}
928
+ */
929
+ /* istanbul ignore next */
930
+ this.handleClick = (e) => {
931
+ if (!this.selected) {
932
+ this.selected = true;
933
+ }
934
+ this.clickEventEmitter.emit();
935
+ this.notifyParentSidenavClick();
936
+ if (internalVegaEventManager.internalVegaEventManager.getSemantics(this.host).namespace === 'native') {
937
+ e.stopPropagation();
938
+ }
939
+ };
940
+ }
941
+ /**
942
+ * The below method is e2e-test covered in
943
+ * @see{module:vega-sidenav-link-e2e-disconnected}
944
+ */
945
+ /* istanbul ignore next */
946
+ disconnectedCallback() {
947
+ changeManager.ChangeManager.unregister(staticSubjectTitle.SIDENAV_LINK_SELECTED_TOPIC, this.observer);
948
+ }
949
+ componentWillLoad() {
950
+ const parent = ui.findParent(this.host, 'vega-sidenav-group');
951
+ if (parent) {
952
+ this.host.classList.add('has-group-parent');
953
+ }
954
+ this.observer = new observer.Observer(isHTMLVegaSidenavLinkElement, this.observerListener.bind(this));
955
+ changeManager.ChangeManager.register(staticSubjectTitle.SIDENAV_LINK_SELECTED_TOPIC, this.observer);
956
+ }
957
+ componentDidRender() {
958
+ if (this.selected) {
959
+ changeManager.ChangeManager.notify(staticSubjectTitle.SIDENAV_LINK_SELECTED_TOPIC, this.host);
960
+ }
961
+ }
962
+ render() {
963
+ const url = this.url || 'javascript:void(0);';
964
+ return component.sanitizeVegaComponent(index.h(index.Host, { class: { 'sidenav-open': this.openState !== 'close' } }, index.h("a", { href: url, onClick: this.handleClick, class: { selected: this.selected === true } }, this.icon ? (index.h("div", { class: "vega-links-icon" }, index.h("div", { class: "prefix-icon" }, index.h("vega-icon", { icon: this.icon, size: "size-24" })))) : null, index.h("span", { class: "vega-links-name" }, index.h("slot", null)))), this.host);
965
+ }
966
+ /**
967
+ * The below method is e2e-test covered in
968
+ * @see{module:vega-sidenav-link-observer-with-click}
969
+ */
970
+ /* istanbul ignore next */
971
+ observerListener(castInput) {
972
+ if (castInput !== this.host) {
973
+ this.selected = false;
974
+ }
975
+ }
976
+ /**
977
+ * Notify the parent sidenav element the child link has been clicked
978
+ */
979
+ notifyParentSidenavClick() {
980
+ const sidenav = ui.findParent(this.host, 'vega-sidenav');
981
+ if (sidenav) {
982
+ changeManager.ChangeManager.notify(domNodeSubjectObserverFactory.domNodeSubjectFactory.getSubject(sidenav, vegaInternalEventId.VegaInternalSidenavLinkClick), {
983
+ host: this.host,
984
+ detail: this.showSideBarOnClickLink,
985
+ });
986
+ }
987
+ }
988
+ get host() { return index.getElement(this); }
989
+ };
990
+ __decorate([
991
+ componentUsageRuntimeMetrics.InjectVegaGlobalSlimmer()
992
+ ], VegaSidenavLink.prototype, "globalSlimmers", void 0);
993
+ __decorate([
994
+ globalSlimmerRegistry.InjectVegaSlimmer()
995
+ ], VegaSidenavLink.prototype, "vegaComponentUsageRuntimeMetricsSlimmer", void 0);
996
+ __decorate([
997
+ globalSlimmerRegistry.InjectVegaSlimmer()
998
+ ], VegaSidenavLink.prototype, "subStateObserverSlimmer", void 0);
999
+ __decorate([
1000
+ globalSlimmerRegistry.InjectVegaSlimmer()
1001
+ ], VegaSidenavLink.prototype, "clickEventEmitter", void 0);
1002
+ VegaSidenavLink.style = vegaSidenavLinkCss;
1003
+
1004
+ exports.vega_sidenav = VegaSidenav;
1005
+ exports.vega_sidenav_group = VegaSidenavGroup;
1006
+ exports.vega_sidenav_link = VegaSidenavLink;