@ethlete/cdk 4.4.0 → 4.5.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 (337) hide show
  1. package/CHANGELOG.md +12 -2
  2. package/esm2022/lib/components/accordion/components/accordion/accordion.component.mjs +3 -3
  3. package/esm2022/lib/components/accordion/components/accordion-group/accordion-group.component.mjs +3 -3
  4. package/esm2022/lib/components/accordion/partials/accordion-hint/accordion-hint.directive.mjs +3 -3
  5. package/esm2022/lib/components/accordion/partials/accordion-hint-wrapper/accordion-hint-wrapper.directive.mjs +3 -3
  6. package/esm2022/lib/components/accordion/partials/accordion-label/accordion-label.directive.mjs +3 -3
  7. package/esm2022/lib/components/accordion/partials/accordion-label-wrapper/accordion-label-wrapper.directive.mjs +3 -3
  8. package/esm2022/lib/components/bracket/components/bracket/bracket.component.mjs +3 -3
  9. package/esm2022/lib/components/bracket/directives/bracket-match/bracket-match.directive.mjs +3 -3
  10. package/esm2022/lib/components/bracket/directives/bracket-round/bracket-round.directive.mjs +3 -3
  11. package/esm2022/lib/components/bracket/partials/bracket-match/bracket-match.component.mjs +3 -3
  12. package/esm2022/lib/components/bracket/partials/bracket-round-header/bracket-round-header.component.mjs +3 -3
  13. package/esm2022/lib/components/button/components/button/button.component.mjs +3 -3
  14. package/esm2022/lib/components/button/components/query-button/query-button.component.mjs +3 -3
  15. package/esm2022/lib/components/button/directives/button/button.directive.mjs +3 -3
  16. package/esm2022/lib/components/button/directives/query-button/query-button.directive.mjs +3 -3
  17. package/esm2022/lib/components/filter/filter-overlay/components/filter-overlay-page-outlet/filter-overlay-page-outlet.component.mjs +3 -3
  18. package/esm2022/lib/components/filter/filter-overlay/directives/filter-overlay-back-or-close/filter-overlay-back-or-close.directive.mjs +3 -3
  19. package/esm2022/lib/components/filter/filter-overlay/directives/filter-overlay-link/filter-overlay-link.directive.mjs +3 -3
  20. package/esm2022/lib/components/filter/filter-overlay/directives/filter-overlay-reset/filter-overlay-reset.directive.mjs +3 -3
  21. package/esm2022/lib/components/filter/filter-overlay/directives/filter-overlay-submit/filter-overlay-submit.directive.mjs +3 -3
  22. package/esm2022/lib/components/filter/filter-overlay/services/filter-overlay.service.mjs +3 -3
  23. package/esm2022/lib/components/filter/rich-filter/components/rich-filter-host/rich-filter-host.component.mjs +3 -3
  24. package/esm2022/lib/components/filter/rich-filter/directives/rich-filter-button/rich-filter-button.directive.mjs +3 -3
  25. package/esm2022/lib/components/filter/rich-filter/directives/rich-filter-button-slot/rich-filter-button-slot.directive.mjs +3 -3
  26. package/esm2022/lib/components/filter/rich-filter/directives/rich-filter-content/rich-filter-content.directive.mjs +3 -3
  27. package/esm2022/lib/components/filter/rich-filter/directives/rich-filter-top/rich-filter-top.directive.mjs +3 -3
  28. package/esm2022/lib/components/forms/components/checkbox/components/checkbox/checkbox.component.mjs +3 -3
  29. package/esm2022/lib/components/forms/components/checkbox/components/checkbox-field/checkbox-field.component.mjs +3 -3
  30. package/esm2022/lib/components/forms/components/checkbox/components/checkbox-group/checkbox-group.component.mjs +3 -3
  31. package/esm2022/lib/components/forms/components/checkbox/directives/checkbox/checkbox.directive.mjs +3 -3
  32. package/esm2022/lib/components/forms/components/checkbox/directives/checkbox-field/checkbox-field.directive.mjs +6 -6
  33. package/esm2022/lib/components/forms/components/checkbox/directives/checkbox-group/checkbox-group.directive.mjs +3 -3
  34. package/esm2022/lib/components/forms/components/checkbox/directives/checkbox-group-control/checkbox-group-control.directive.mjs +3 -3
  35. package/esm2022/lib/components/forms/components/error/components/error/error.component.mjs +3 -3
  36. package/esm2022/lib/components/forms/components/input/components/date-input/date-input.component.mjs +5 -5
  37. package/esm2022/lib/components/forms/components/input/components/date-time-input/date-time-input.component.mjs +23 -0
  38. package/esm2022/lib/components/forms/components/input/components/date-time-input/public-api.mjs +2 -0
  39. package/esm2022/lib/components/forms/components/input/components/email-input/email-input.component.mjs +3 -3
  40. package/esm2022/lib/components/forms/components/input/components/input-field/input-field.component.mjs +3 -3
  41. package/esm2022/lib/components/forms/components/input/components/number-input/number-input.component.mjs +3 -3
  42. package/esm2022/lib/components/forms/components/input/components/password-input/password-input.component.mjs +3 -3
  43. package/esm2022/lib/components/forms/components/input/components/public-api.mjs +2 -1
  44. package/esm2022/lib/components/forms/components/input/components/search-input/search-input.component.mjs +3 -3
  45. package/esm2022/lib/components/forms/components/input/components/text-input/text-input.component.mjs +3 -3
  46. package/esm2022/lib/components/forms/components/input/components/textarea-input/textarea-input.component.mjs +5 -5
  47. package/esm2022/lib/components/forms/components/input/directives/autosize-textarea/autosize-textarea.directive.mjs +3 -3
  48. package/esm2022/lib/components/forms/components/input/directives/date-input/date-input.directive.mjs +10 -10
  49. package/esm2022/lib/components/forms/components/input/directives/date-time-input/date-time-input.directive.mjs +61 -0
  50. package/esm2022/lib/components/forms/components/input/directives/date-time-input/public-api.mjs +2 -0
  51. package/esm2022/lib/components/forms/components/input/directives/email-input/email-input.directive.mjs +3 -3
  52. package/esm2022/lib/components/forms/components/input/directives/number-input/number-input.directive.mjs +3 -3
  53. package/esm2022/lib/components/forms/components/input/directives/password-input/password-input.directive.mjs +3 -3
  54. package/esm2022/lib/components/forms/components/input/directives/public-api.mjs +3 -1
  55. package/esm2022/lib/components/forms/components/input/directives/search-input/search-input.directive.mjs +3 -3
  56. package/esm2022/lib/components/forms/components/input/directives/show-picker-trigger/public-api.mjs +2 -0
  57. package/esm2022/lib/components/forms/components/input/directives/show-picker-trigger/show-picker-trigger.directive.mjs +42 -0
  58. package/esm2022/lib/components/forms/components/input/directives/text-input/text-input.directive.mjs +3 -3
  59. package/esm2022/lib/components/forms/components/input/directives/textarea-input/textarea-input.directive.mjs +3 -3
  60. package/esm2022/lib/components/forms/components/input/input.imports.mjs +5 -2
  61. package/esm2022/lib/components/forms/components/input/partials/password-input-toggle/password-input-toggle.component.mjs +3 -3
  62. package/esm2022/lib/components/forms/components/input/partials/search-input-clear/search-input-clear.component.mjs +3 -3
  63. package/esm2022/lib/components/forms/components/label/components/label/label.component.mjs +3 -3
  64. package/esm2022/lib/components/forms/components/label/directives/label-suffix/label-suffix.directive.mjs +3 -3
  65. package/esm2022/lib/components/forms/components/radio/components/radio/radio.component.mjs +3 -3
  66. package/esm2022/lib/components/forms/components/radio/components/radio-field/radio-field.component.mjs +3 -3
  67. package/esm2022/lib/components/forms/components/radio/components/radio-group/radio-group.component.mjs +3 -3
  68. package/esm2022/lib/components/forms/components/radio/directives/radio/radio.directive.mjs +3 -3
  69. package/esm2022/lib/components/forms/components/radio/directives/radio-field/radio-field.directive.mjs +3 -3
  70. package/esm2022/lib/components/forms/components/radio/directives/radio-group/radio-group.directive.mjs +3 -3
  71. package/esm2022/lib/components/forms/components/segmented-button/components/segmented-button/segmented-button.component.mjs +3 -3
  72. package/esm2022/lib/components/forms/components/segmented-button/components/segmented-button-field/segmented-button-field.component.mjs +3 -3
  73. package/esm2022/lib/components/forms/components/segmented-button/components/segmented-button-group/segmented-button-group.component.mjs +3 -3
  74. package/esm2022/lib/components/forms/components/segmented-button/directives/segmented-button/segmented-button.directive.mjs +3 -3
  75. package/esm2022/lib/components/forms/components/segmented-button/directives/segmented-button-field/segmented-button-field.directive.mjs +3 -3
  76. package/esm2022/lib/components/forms/components/segmented-button/directives/segmented-button-group/segmented-button-group.directive.mjs +5 -5
  77. package/esm2022/lib/components/forms/components/select/components/combobox/components/combobox/combobox.component.mjs +3 -3
  78. package/esm2022/lib/components/forms/components/select/components/combobox/directives/combobox/combobox.directive.mjs +3 -3
  79. package/esm2022/lib/components/forms/components/select/components/combobox/directives/combobox-body-empty-template/combobox-body-empty-template.directive.mjs +3 -3
  80. package/esm2022/lib/components/forms/components/select/components/combobox/directives/combobox-body-error-template/combobox-body-error-template.directive.mjs +3 -3
  81. package/esm2022/lib/components/forms/components/select/components/combobox/directives/combobox-body-loading-template/combobox-body-loading-template.directive.mjs +3 -3
  82. package/esm2022/lib/components/forms/components/select/components/combobox/directives/combobox-body-more-items-hint-template/combobox-body-more-items-hint-template.directive.mjs +3 -3
  83. package/esm2022/lib/components/forms/components/select/components/combobox/directives/combobox-option-template/combobox-option-template.directive.mjs +3 -3
  84. package/esm2022/lib/components/forms/components/select/components/combobox/directives/combobox-selected-option-template/combobox-selected-option-template.directive.mjs +3 -3
  85. package/esm2022/lib/components/forms/components/select/components/combobox/partials/combobox-body/combobox-body.component.mjs +3 -3
  86. package/esm2022/lib/components/forms/components/select/components/combobox/partials/combobox-option/combobox-option.component.mjs +3 -3
  87. package/esm2022/lib/components/forms/components/select/components/native-select/components/native-select/native-select.component.mjs +3 -3
  88. package/esm2022/lib/components/forms/components/select/components/native-select/directives/native-select-input/native-select-input.directive.mjs +3 -3
  89. package/esm2022/lib/components/forms/components/select/components/native-select/directives/native-select-option/native-select-option.directive.mjs +3 -3
  90. package/esm2022/lib/components/forms/components/select/components/native-select/partials/native-select-option/native-select-option.component.mjs +3 -3
  91. package/esm2022/lib/components/forms/components/select/components/select/components/select/select.component.mjs +3 -3
  92. package/esm2022/lib/components/forms/components/select/components/select/directives/select/select.directive.mjs +3 -3
  93. package/esm2022/lib/components/forms/components/select/components/select/directives/select-body/select-body.directive.mjs +3 -3
  94. package/esm2022/lib/components/forms/components/select/components/select/directives/select-option/select-option.directive.mjs +3 -3
  95. package/esm2022/lib/components/forms/components/select/components/select/partials/select-body/select-body.component.mjs +3 -3
  96. package/esm2022/lib/components/forms/components/select/components/select/partials/select-option/select-option.component.mjs +3 -3
  97. package/esm2022/lib/components/forms/components/select/components/select-field/select-field.component.mjs +3 -3
  98. package/esm2022/lib/components/forms/components/select/directives/select-field/select-field.directive.mjs +3 -3
  99. package/esm2022/lib/components/forms/components/selection-list/components/selection-list-field/selection-list-field.component.mjs +3 -3
  100. package/esm2022/lib/components/forms/components/selection-list/components/selection-list-option/selection-list-option.component.mjs +3 -3
  101. package/esm2022/lib/components/forms/components/selection-list/directives/selection-list-field/selection-list-field.directive.mjs +3 -3
  102. package/esm2022/lib/components/forms/components/selection-list/directives/selection-list-option/selection-list-option.directive.mjs +3 -3
  103. package/esm2022/lib/components/forms/components/slide-toggle/components/slide-toggle/slide-toggle.component.mjs +3 -3
  104. package/esm2022/lib/components/forms/components/slide-toggle/components/slide-toggle-field/slide-toggle-field.component.mjs +3 -3
  105. package/esm2022/lib/components/forms/components/slide-toggle/directives/slide-toggle/slide-toggle.directive.mjs +3 -3
  106. package/esm2022/lib/components/forms/components/slider/components/slider/slider.component.mjs +3 -3
  107. package/esm2022/lib/components/forms/components/slider/components/slider-field/slider-field.component.mjs +3 -3
  108. package/esm2022/lib/components/forms/directives/dynamic-form-field/dynamic-form-field.directive.mjs +3 -3
  109. package/esm2022/lib/components/forms/directives/dynamic-form-group/dynamic-form-group.directive.mjs +3 -3
  110. package/esm2022/lib/components/forms/directives/expose-input-vars/expose-input-vars.directive.mjs +3 -3
  111. package/esm2022/lib/components/forms/directives/if-input-empty/if-input-empty.directive.mjs +3 -3
  112. package/esm2022/lib/components/forms/directives/if-input-filled/if-input-filled.directive.mjs +3 -3
  113. package/esm2022/lib/components/forms/directives/input/input.directive.mjs +3 -3
  114. package/esm2022/lib/components/forms/directives/input-prefix/input-prefix.directive.mjs +3 -3
  115. package/esm2022/lib/components/forms/directives/input-suffix/input-suffix.directive.mjs +3 -3
  116. package/esm2022/lib/components/forms/directives/native-input-ref/native-input-ref.directive.mjs +3 -3
  117. package/esm2022/lib/components/forms/directives/static-form-field/static-form-field.directive.mjs +3 -3
  118. package/esm2022/lib/components/forms/directives/static-form-group/static-form-group.directive.mjs +3 -3
  119. package/esm2022/lib/components/forms/directives/writeable-input/writeable-input.directive.mjs +3 -3
  120. package/esm2022/lib/components/forms/index.mjs +2 -0
  121. package/esm2022/lib/components/forms/services/default-validator-errors.service.mjs +3 -3
  122. package/esm2022/lib/components/forms/services/form-field-state.service.mjs +3 -3
  123. package/esm2022/lib/components/forms/services/form-group-state.service.mjs +3 -3
  124. package/esm2022/lib/components/forms/services/input-state.service.mjs +3 -3
  125. package/esm2022/lib/components/forms/utils/decorated-form-field.base.mjs +3 -3
  126. package/esm2022/lib/components/forms/utils/decorated-input.base.mjs +3 -3
  127. package/esm2022/lib/components/forms/utils/input.base.mjs +3 -3
  128. package/esm2022/lib/components/icons/chevron-icon/chevron-icon.component.mjs +3 -3
  129. package/esm2022/lib/components/masonry/components/masonry/masonry.component.mjs +3 -3
  130. package/esm2022/lib/components/masonry/partials/masonry-item/masonry-item.component.mjs +3 -3
  131. package/esm2022/lib/components/overlay/components/bottom-sheet/components/bottom-sheet-container/bottom-sheet-container.component.mjs +3 -3
  132. package/esm2022/lib/components/overlay/components/bottom-sheet/partials/bottom-sheet-container-base/bottom-sheet-container-base.component.mjs +3 -3
  133. package/esm2022/lib/components/overlay/components/bottom-sheet/partials/bottom-sheet-drag-handle/bottom-sheet-drag-handle.component.mjs +3 -3
  134. package/esm2022/lib/components/overlay/components/bottom-sheet/partials/bottom-sheet-title/bottom-sheet-title.directive.mjs +3 -3
  135. package/esm2022/lib/components/overlay/components/bottom-sheet/services/bottom-sheet-base.service.mjs +3 -3
  136. package/esm2022/lib/components/overlay/components/bottom-sheet/services/bottom-sheet-swipe-handler.service.mjs +3 -3
  137. package/esm2022/lib/components/overlay/components/bottom-sheet/services/bottom-sheet.service.mjs +3 -3
  138. package/esm2022/lib/components/overlay/components/dialog/components/dialog-container/dialog-container.component.mjs +3 -3
  139. package/esm2022/lib/components/overlay/components/dialog/partials/dialog-close/dialog-close.directive.mjs +3 -3
  140. package/esm2022/lib/components/overlay/components/dialog/partials/dialog-container-base/dialog-container-base.component.mjs +3 -3
  141. package/esm2022/lib/components/overlay/components/dialog/partials/dialog-title/dialog-title.directive.mjs +3 -3
  142. package/esm2022/lib/components/overlay/components/dialog/services/dialog-base.service.mjs +3 -3
  143. package/esm2022/lib/components/overlay/components/dialog/services/dialog.service.mjs +3 -3
  144. package/esm2022/lib/components/overlay/components/menu/components/index.mjs +2 -0
  145. package/esm2022/lib/components/overlay/components/menu/components/menu/menu.component.mjs +168 -0
  146. package/esm2022/lib/components/overlay/components/menu/components/menu/public-api.mjs +2 -0
  147. package/esm2022/lib/components/overlay/components/menu/components/menu-checkbox-item/menu-checkbox-item.component.mjs +68 -0
  148. package/esm2022/lib/components/overlay/components/menu/components/menu-checkbox-item/public-api.mjs +2 -0
  149. package/esm2022/lib/components/overlay/components/menu/components/menu-container/menu-container.component.mjs +47 -0
  150. package/esm2022/lib/components/overlay/components/menu/components/menu-container/public-api.mjs +2 -0
  151. package/esm2022/lib/components/overlay/components/menu/components/menu-radio-item/menu-radio-item.component.mjs +61 -0
  152. package/esm2022/lib/components/overlay/components/menu/components/menu-radio-item/public-api.mjs +2 -0
  153. package/esm2022/lib/components/overlay/components/menu/components/public-api.mjs +5 -0
  154. package/esm2022/lib/components/overlay/components/menu/directives/index.mjs +2 -0
  155. package/esm2022/lib/components/overlay/components/menu/directives/menu-checkbox-group/menu-checkbox-group.directive.mjs +31 -0
  156. package/esm2022/lib/components/overlay/components/menu/directives/menu-checkbox-group/public-api.mjs +2 -0
  157. package/esm2022/lib/components/overlay/components/menu/directives/menu-group/index.mjs +2 -0
  158. package/esm2022/lib/components/overlay/components/menu/directives/menu-group/menu-group.directive.mjs +43 -0
  159. package/esm2022/lib/components/overlay/components/menu/directives/menu-group/public-api.mjs +2 -0
  160. package/esm2022/lib/components/overlay/components/menu/directives/menu-group-title/index.mjs +2 -0
  161. package/esm2022/lib/components/overlay/components/menu/directives/menu-group-title/menu-group-title.directive.mjs +41 -0
  162. package/esm2022/lib/components/overlay/components/menu/directives/menu-group-title/public-api.mjs +2 -0
  163. package/esm2022/lib/components/overlay/components/menu/directives/menu-item/menu-item.directive.mjs +97 -0
  164. package/esm2022/lib/components/overlay/components/menu/directives/menu-item/public-api.mjs +2 -0
  165. package/esm2022/lib/components/overlay/components/menu/directives/menu-radio-group/menu-radio-group.directive.mjs +42 -0
  166. package/esm2022/lib/components/overlay/components/menu/directives/menu-radio-group/public-api.mjs +2 -0
  167. package/esm2022/lib/components/overlay/components/menu/directives/menu-trigger/index.mjs +2 -0
  168. package/esm2022/lib/components/overlay/components/menu/directives/menu-trigger/menu-trigger.directive.mjs +145 -0
  169. package/esm2022/lib/components/overlay/components/menu/directives/menu-trigger/public-api.mjs +2 -0
  170. package/esm2022/lib/components/overlay/components/menu/directives/public-api.mjs +7 -0
  171. package/esm2022/lib/components/overlay/components/menu/menu.imports.mjs +14 -0
  172. package/esm2022/lib/components/overlay/components/menu/public-api.mjs +4 -17
  173. package/esm2022/lib/components/overlay/components/menu-deprecated/context-menu-trigger.mjs +166 -0
  174. package/esm2022/lib/components/overlay/components/menu-deprecated/menu-aim.mjs +140 -0
  175. package/esm2022/lib/components/overlay/components/menu-deprecated/menu-bar.mjs +116 -0
  176. package/esm2022/lib/components/overlay/components/menu-deprecated/menu-base.mjs +176 -0
  177. package/esm2022/lib/components/overlay/components/menu-deprecated/menu-errors.mjs +7 -0
  178. package/esm2022/lib/components/overlay/components/menu-deprecated/menu-group.mjs +29 -0
  179. package/esm2022/lib/components/overlay/components/menu-deprecated/menu-interface.mjs +3 -0
  180. package/esm2022/lib/components/overlay/components/menu-deprecated/menu-item-checkbox.mjs +42 -0
  181. package/esm2022/lib/components/overlay/components/menu-deprecated/menu-item-radio.mjs +59 -0
  182. package/esm2022/lib/components/overlay/components/menu-deprecated/menu-item-selectable.mjs +38 -0
  183. package/esm2022/lib/components/overlay/components/menu-deprecated/menu-item.mjs +216 -0
  184. package/esm2022/lib/components/overlay/components/menu-deprecated/menu-module.mjs +58 -0
  185. package/esm2022/lib/components/overlay/components/menu-deprecated/menu-stack.mjs +104 -0
  186. package/esm2022/lib/components/overlay/components/menu-deprecated/menu-trigger-base.mjs +80 -0
  187. package/esm2022/lib/components/overlay/components/menu-deprecated/menu-trigger.mjs +243 -0
  188. package/esm2022/lib/components/overlay/components/menu-deprecated/menu.mjs +119 -0
  189. package/esm2022/lib/components/overlay/components/menu-deprecated/pointer-focus-tracker.mjs +29 -0
  190. package/esm2022/lib/components/overlay/components/menu-deprecated/public-api.mjs +17 -0
  191. package/esm2022/lib/components/overlay/components/overlay/components/overlay-container/overlay-container.component.mjs +3 -3
  192. package/esm2022/lib/components/overlay/components/overlay/partials/overlay-body/overlay-body.component.mjs +3 -3
  193. package/esm2022/lib/components/overlay/components/overlay/partials/overlay-close/overlay-close.directive.mjs +3 -3
  194. package/esm2022/lib/components/overlay/components/overlay/partials/overlay-footer/overlay-footer.directive.mjs +3 -3
  195. package/esm2022/lib/components/overlay/components/overlay/partials/overlay-header/overlay-header.directive.mjs +3 -3
  196. package/esm2022/lib/components/overlay/components/overlay/partials/overlay-title/overlay-title.directive.mjs +3 -3
  197. package/esm2022/lib/components/overlay/components/overlay/services/overlay.service.mjs +3 -3
  198. package/esm2022/lib/components/overlay/components/public-api.mjs +2 -1
  199. package/esm2022/lib/components/overlay/components/toggletip/components/toggletip/toggletip.component.mjs +3 -3
  200. package/esm2022/lib/components/overlay/components/toggletip/directives/toggletip/toggletip.directive.mjs +3 -3
  201. package/esm2022/lib/components/overlay/components/tooltip/components/tooltip/tooltip.component.mjs +3 -3
  202. package/esm2022/lib/components/overlay/components/tooltip/directives/tooltip/tooltip.directive.mjs +3 -3
  203. package/esm2022/lib/components/overlay/directives/dynamic-overlay-title/dynamic-overlay-title.directive.mjs +3 -3
  204. package/esm2022/lib/components/overlay/directives/overlay-close-auto-blocker/overlay-close-auto-blocker.directive.mjs +3 -3
  205. package/esm2022/lib/components/overlay/services/dynamic-overlay.service.mjs +3 -3
  206. package/esm2022/lib/components/pagination/components/pagination/pagination.component.mjs +3 -3
  207. package/esm2022/lib/components/pagination/partials/pagination-link/pagination-link.directive.mjs +3 -3
  208. package/esm2022/lib/components/pagination/services/pagination-head.service.mjs +3 -3
  209. package/esm2022/lib/components/picture/picture-data.directive.mjs +3 -3
  210. package/esm2022/lib/components/picture/picture.component.mjs +3 -3
  211. package/esm2022/lib/components/picture/pipes/normalize-source/normalize-source.pipe.mjs +3 -3
  212. package/esm2022/lib/components/progress-spinner/progress-spinner.component.mjs +3 -3
  213. package/esm2022/lib/components/query-error/components/query-error/query-error.component.mjs +3 -3
  214. package/esm2022/lib/components/query-error/directives/query-error/query-error.directive.mjs +3 -3
  215. package/esm2022/lib/components/scrollable/components/scrollable/scrollable.component.mjs +3 -3
  216. package/esm2022/lib/components/scrollable/directives/scrollable-ignore-child/scrollable-ignore-child.directive.mjs +3 -3
  217. package/esm2022/lib/components/scrollable/directives/scrollable-is-active-child/scrollable-is-active-child.directive.mjs +3 -3
  218. package/esm2022/lib/components/skeleton/components/skeleton/skeleton.component.mjs +3 -3
  219. package/esm2022/lib/components/skeleton/partials/skeleton-item/skeleton-item.component.mjs +3 -3
  220. package/esm2022/lib/components/sort/components/sort-header/sort-header.component.mjs +3 -3
  221. package/esm2022/lib/components/sort/partials/sort/sort.directive.mjs +3 -3
  222. package/esm2022/lib/components/sort/services/sort-header-intl.mjs +3 -3
  223. package/esm2022/lib/components/table/components/table/table.component.mjs +3 -3
  224. package/esm2022/lib/components/table/partials/cells/cell/cell.directive.mjs +3 -3
  225. package/esm2022/lib/components/table/partials/cells/cell-def/cell-def.directive.mjs +3 -3
  226. package/esm2022/lib/components/table/partials/cells/column-def/column-def.directive.mjs +3 -3
  227. package/esm2022/lib/components/table/partials/cells/footer-cell/footer-cell.directive.mjs +3 -3
  228. package/esm2022/lib/components/table/partials/cells/footer-cell-def/footer-cell-def.directive.mjs +3 -3
  229. package/esm2022/lib/components/table/partials/cells/header-cell/header-cell.directive.mjs +3 -3
  230. package/esm2022/lib/components/table/partials/cells/header-cell-def/header-cell-def.directive.mjs +3 -3
  231. package/esm2022/lib/components/table/partials/cells/text-column/text-column.component.mjs +3 -3
  232. package/esm2022/lib/components/table/partials/rows/footer-row/footer-row.component.mjs +3 -3
  233. package/esm2022/lib/components/table/partials/rows/footer-row-def/footer-row-def.directive.mjs +3 -3
  234. package/esm2022/lib/components/table/partials/rows/header-row/header-row.component.mjs +3 -3
  235. package/esm2022/lib/components/table/partials/rows/header-row-def/header-row-def.directive.mjs +3 -3
  236. package/esm2022/lib/components/table/partials/rows/no-data-row/no-data-row.directive.mjs +3 -3
  237. package/esm2022/lib/components/table/partials/rows/recycle-rows/recycle-rows.directive.mjs +3 -3
  238. package/esm2022/lib/components/table/partials/rows/row/row.component.mjs +3 -3
  239. package/esm2022/lib/components/table/partials/rows/row-def/row-def.directive.mjs +3 -3
  240. package/esm2022/lib/components/table/partials/table-busy/table-busy.directive.mjs +3 -3
  241. package/esm2022/lib/components/table/partials/table-busy-outlet/table-busy-outlet.directive.mjs +3 -3
  242. package/esm2022/lib/components/tabs/components/inline-tabs/inline-tabs.component.mjs +3 -3
  243. package/esm2022/lib/components/tabs/components/nav-tabs/nav-tabs.component.mjs +3 -3
  244. package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab/inline-tab.component.mjs +3 -3
  245. package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-body/inline-tab-body.component.mjs +3 -3
  246. package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-body-host/inline-tab-body-host.directive.mjs +3 -3
  247. package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-content/inline-tab-content.directive.mjs +3 -3
  248. package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-header/inline-tab-header.component.mjs +3 -3
  249. package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-label/inline-tab-label.directive.mjs +3 -3
  250. package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-label-wrapper/inline-tab-label-wrapper.directive.mjs +3 -3
  251. package/esm2022/lib/components/tabs/partials/nav-tabs/nav-tab-link/nav-tab-link.directive.mjs +3 -3
  252. package/esm2022/lib/components/tabs/partials/nav-tabs/nav-tabs-outlet/nav-tabs-outlet.component.mjs +3 -3
  253. package/esm2022/lib/components/tabs/utils/active-tab-underline.util.mjs +3 -3
  254. package/esm2022/lib/components/tabs/utils/paginated-tab-header.directive.mjs +3 -3
  255. package/esm2022/lib/services/swipe-handler.service.mjs +3 -3
  256. package/fesm2022/ethlete-cdk.mjs +8879 -8050
  257. package/fesm2022/ethlete-cdk.mjs.map +1 -1
  258. package/lib/components/forms/components/checkbox/directives/checkbox-field/checkbox-field.directive.d.ts +2 -2
  259. package/lib/components/forms/components/input/components/date-input/date-input.component.d.ts +1 -1
  260. package/lib/components/forms/components/input/components/date-time-input/date-time-input.component.d.ts +10 -0
  261. package/lib/components/forms/components/input/components/date-time-input/public-api.d.ts +1 -0
  262. package/lib/components/forms/components/input/components/public-api.d.ts +1 -0
  263. package/lib/components/forms/components/input/components/textarea-input/textarea-input.component.d.ts +1 -1
  264. package/lib/components/forms/components/input/directives/date-input/date-input.directive.d.ts +1 -2
  265. package/lib/components/forms/components/input/directives/date-time-input/date-time-input.directive.d.ts +20 -0
  266. package/lib/components/forms/components/input/directives/date-time-input/public-api.d.ts +1 -0
  267. package/lib/components/forms/components/input/directives/public-api.d.ts +2 -0
  268. package/lib/components/forms/components/input/directives/show-picker-trigger/public-api.d.ts +1 -0
  269. package/lib/components/forms/components/input/directives/show-picker-trigger/show-picker-trigger.directive.d.ts +10 -0
  270. package/lib/components/forms/components/input/input.imports.d.ts +3 -2
  271. package/lib/components/forms/index.d.ts +1 -0
  272. package/lib/components/overlay/components/menu/components/index.d.ts +1 -0
  273. package/lib/components/overlay/components/menu/components/menu/menu.component.d.ts +35 -0
  274. package/lib/components/overlay/components/menu/components/menu/public-api.d.ts +1 -0
  275. package/lib/components/overlay/components/menu/components/menu-checkbox-item/menu-checkbox-item.component.d.ts +23 -0
  276. package/lib/components/overlay/components/menu/components/menu-checkbox-item/public-api.d.ts +1 -0
  277. package/lib/components/overlay/components/menu/components/menu-container/menu-container.component.d.ts +20 -0
  278. package/lib/components/overlay/components/menu/components/menu-container/public-api.d.ts +1 -0
  279. package/lib/components/overlay/components/menu/components/menu-radio-item/menu-radio-item.component.d.ts +21 -0
  280. package/lib/components/overlay/components/menu/components/menu-radio-item/public-api.d.ts +1 -0
  281. package/lib/components/overlay/components/menu/components/public-api.d.ts +4 -0
  282. package/lib/components/overlay/components/menu/directives/index.d.ts +1 -0
  283. package/lib/components/overlay/components/menu/directives/menu-checkbox-group/menu-checkbox-group.directive.d.ts +9 -0
  284. package/lib/components/overlay/components/menu/directives/menu-checkbox-group/public-api.d.ts +1 -0
  285. package/lib/components/overlay/components/menu/directives/menu-group/index.d.ts +1 -0
  286. package/lib/components/overlay/components/menu/directives/menu-group/menu-group.directive.d.ts +15 -0
  287. package/lib/components/overlay/components/menu/directives/menu-group/public-api.d.ts +1 -0
  288. package/lib/components/overlay/components/menu/directives/menu-group-title/index.d.ts +1 -0
  289. package/lib/components/overlay/components/menu/directives/menu-group-title/menu-group-title.directive.d.ts +11 -0
  290. package/lib/components/overlay/components/menu/directives/menu-group-title/public-api.d.ts +1 -0
  291. package/lib/components/overlay/components/menu/directives/menu-item/menu-item.directive.d.ts +32 -0
  292. package/lib/components/overlay/components/menu/directives/menu-item/public-api.d.ts +1 -0
  293. package/lib/components/overlay/components/menu/directives/menu-radio-group/menu-radio-group.directive.d.ts +12 -0
  294. package/lib/components/overlay/components/menu/directives/menu-radio-group/public-api.d.ts +1 -0
  295. package/lib/components/overlay/components/menu/directives/menu-trigger/index.d.ts +1 -0
  296. package/lib/components/overlay/components/menu/directives/menu-trigger/menu-trigger.directive.d.ts +39 -0
  297. package/lib/components/overlay/components/menu/directives/menu-trigger/public-api.d.ts +1 -0
  298. package/lib/components/overlay/components/menu/directives/public-api.d.ts +6 -0
  299. package/lib/components/overlay/components/menu/menu.imports.d.ts +3 -0
  300. package/lib/components/overlay/components/menu/public-api.d.ts +3 -16
  301. package/lib/components/overlay/components/{menu → menu-deprecated}/context-menu-trigger.d.ts +3 -0
  302. package/lib/components/overlay/components/{menu → menu-deprecated}/menu-bar.d.ts +3 -0
  303. package/lib/components/overlay/components/{menu → menu-deprecated}/menu-base.d.ts +3 -0
  304. package/lib/components/overlay/components/{menu → menu-deprecated}/menu-group.d.ts +3 -0
  305. package/lib/components/overlay/components/{menu → menu-deprecated}/menu-item-checkbox.d.ts +3 -0
  306. package/lib/components/overlay/components/{menu → menu-deprecated}/menu-item-radio.d.ts +3 -0
  307. package/lib/components/overlay/components/{menu → menu-deprecated}/menu-item-selectable.d.ts +3 -0
  308. package/lib/components/overlay/components/{menu → menu-deprecated}/menu-item.d.ts +3 -0
  309. package/lib/components/overlay/components/{menu → menu-deprecated}/menu-module.d.ts +3 -0
  310. package/lib/components/overlay/components/{menu → menu-deprecated}/menu-stack.d.ts +3 -0
  311. package/lib/components/overlay/components/{menu → menu-deprecated}/menu-trigger-base.d.ts +3 -0
  312. package/lib/components/overlay/components/{menu → menu-deprecated}/menu-trigger.d.ts +3 -0
  313. package/lib/components/overlay/components/{menu → menu-deprecated}/menu.d.ts +3 -0
  314. package/lib/components/overlay/components/{menu → menu-deprecated}/pointer-focus-tracker.d.ts +3 -0
  315. package/lib/components/overlay/components/menu-deprecated/public-api.d.ts +16 -0
  316. package/lib/components/overlay/components/public-api.d.ts +1 -0
  317. package/package.json +8 -8
  318. package/esm2022/lib/components/overlay/components/menu/context-menu-trigger.mjs +0 -163
  319. package/esm2022/lib/components/overlay/components/menu/menu-aim.mjs +0 -140
  320. package/esm2022/lib/components/overlay/components/menu/menu-bar.mjs +0 -113
  321. package/esm2022/lib/components/overlay/components/menu/menu-base.mjs +0 -173
  322. package/esm2022/lib/components/overlay/components/menu/menu-errors.mjs +0 -7
  323. package/esm2022/lib/components/overlay/components/menu/menu-group.mjs +0 -26
  324. package/esm2022/lib/components/overlay/components/menu/menu-interface.mjs +0 -3
  325. package/esm2022/lib/components/overlay/components/menu/menu-item-checkbox.mjs +0 -39
  326. package/esm2022/lib/components/overlay/components/menu/menu-item-radio.mjs +0 -56
  327. package/esm2022/lib/components/overlay/components/menu/menu-item-selectable.mjs +0 -35
  328. package/esm2022/lib/components/overlay/components/menu/menu-item.mjs +0 -213
  329. package/esm2022/lib/components/overlay/components/menu/menu-module.mjs +0 -52
  330. package/esm2022/lib/components/overlay/components/menu/menu-stack.mjs +0 -101
  331. package/esm2022/lib/components/overlay/components/menu/menu-trigger-base.mjs +0 -77
  332. package/esm2022/lib/components/overlay/components/menu/menu-trigger.mjs +0 -240
  333. package/esm2022/lib/components/overlay/components/menu/menu.mjs +0 -116
  334. package/esm2022/lib/components/overlay/components/menu/pointer-focus-tracker.mjs +0 -26
  335. /package/lib/components/overlay/components/{menu → menu-deprecated}/menu-aim.d.ts +0 -0
  336. /package/lib/components/overlay/components/{menu → menu-deprecated}/menu-errors.d.ts +0 -0
  337. /package/lib/components/overlay/components/{menu → menu-deprecated}/menu-interface.d.ts +0 -0
@@ -0,0 +1,216 @@
1
+ /* eslint-disable @angular-eslint/directive-class-suffix */
2
+ /* eslint-disable @angular-eslint/no-output-rename */
3
+ /* eslint-disable @angular-eslint/no-outputs-metadata-property */
4
+ /* eslint-disable @angular-eslint/no-input-rename */
5
+ /* eslint-disable @angular-eslint/no-inputs-metadata-property */
6
+ import { InputModalityDetector } from '@angular/cdk/a11y';
7
+ import { Directionality } from '@angular/cdk/bidi';
8
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
9
+ import { ENTER, LEFT_ARROW, RIGHT_ARROW, SPACE, hasModifierKey } from '@angular/cdk/keycodes';
10
+ import { Directive, ElementRef, EventEmitter, Input, NgZone, Output, inject } from '@angular/core';
11
+ import { Subject, fromEvent } from 'rxjs';
12
+ import { filter, takeUntil } from 'rxjs/operators';
13
+ import { MENU_AIM } from './menu-aim';
14
+ import { CDK_MENU } from './menu-interface';
15
+ import { MENU_STACK } from './menu-stack';
16
+ import { CdkMenuTrigger } from './menu-trigger';
17
+ import * as i0 from "@angular/core";
18
+ /**
19
+ * @deprecated Use the new menu instead
20
+ */
21
+ export class CdkMenuItem {
22
+ get disabled() {
23
+ return this._disabled;
24
+ }
25
+ set disabled(value) {
26
+ this._disabled = coerceBooleanProperty(value);
27
+ }
28
+ get hasMenu() {
29
+ return this._menuTrigger?.menuTemplateRef != null;
30
+ }
31
+ constructor() {
32
+ this._dir = inject(Directionality, { optional: true });
33
+ this._inputModalityDetector = inject(InputModalityDetector);
34
+ this._elementRef = inject(ElementRef);
35
+ this._ngZone = inject(NgZone);
36
+ this._menuAim = inject(MENU_AIM, { optional: true });
37
+ this._menuStack = inject(MENU_STACK);
38
+ this._parentMenu = inject(CDK_MENU, { optional: true });
39
+ this._menuTrigger = inject(CdkMenuTrigger, { optional: true, self: true });
40
+ this._disabled = false;
41
+ this.typeaheadLabel = null;
42
+ this.triggered = new EventEmitter();
43
+ this._tabindex = -1;
44
+ this.closeOnSpacebarTrigger = true;
45
+ this.destroyed = new Subject();
46
+ this._setupMouseEnter();
47
+ this._setType();
48
+ if (this._isStandaloneItem()) {
49
+ this._tabindex = 0;
50
+ }
51
+ }
52
+ ngOnDestroy() {
53
+ this.destroyed.next();
54
+ this.destroyed.complete();
55
+ }
56
+ focus() {
57
+ this._elementRef.nativeElement.focus();
58
+ }
59
+ trigger(options) {
60
+ const { keepOpen } = { ...options };
61
+ if (!this.disabled && !this.hasMenu) {
62
+ this.triggered.next();
63
+ if (!keepOpen) {
64
+ this._menuStack.closeAll({ focusParentTrigger: true });
65
+ }
66
+ }
67
+ }
68
+ isMenuOpen() {
69
+ return !!this._menuTrigger?.isOpen();
70
+ }
71
+ getMenu() {
72
+ return this._menuTrigger?.getMenu();
73
+ }
74
+ getMenuTrigger() {
75
+ return this._menuTrigger;
76
+ }
77
+ getLabel() {
78
+ return this.typeaheadLabel || this._elementRef.nativeElement.textContent?.trim() || '';
79
+ }
80
+ getParentMenu() {
81
+ return this._parentMenu;
82
+ }
83
+ _resetTabIndex() {
84
+ if (!this._isStandaloneItem()) {
85
+ this._tabindex = -1;
86
+ }
87
+ }
88
+ _setTabIndex(event) {
89
+ if (this.disabled) {
90
+ return;
91
+ }
92
+ if (!event || !this._menuStack.isEmpty()) {
93
+ this._tabindex = 0;
94
+ }
95
+ }
96
+ _onKeydown(event) {
97
+ switch (event.keyCode) {
98
+ case SPACE:
99
+ case ENTER:
100
+ if (!hasModifierKey(event)) {
101
+ this.trigger({ keepOpen: event.keyCode === SPACE && !this.closeOnSpacebarTrigger });
102
+ }
103
+ break;
104
+ case RIGHT_ARROW:
105
+ if (!hasModifierKey(event)) {
106
+ if (this._parentMenu && this._isParentVertical()) {
107
+ if (this._dir?.value !== 'rtl') {
108
+ this._forwardArrowPressed(event);
109
+ }
110
+ else {
111
+ this._backArrowPressed(event);
112
+ }
113
+ }
114
+ }
115
+ break;
116
+ case LEFT_ARROW:
117
+ if (!hasModifierKey(event)) {
118
+ if (this._parentMenu && this._isParentVertical()) {
119
+ if (this._dir?.value !== 'rtl') {
120
+ this._backArrowPressed(event);
121
+ }
122
+ else {
123
+ this._forwardArrowPressed(event);
124
+ }
125
+ }
126
+ }
127
+ break;
128
+ }
129
+ }
130
+ _handleClick() {
131
+ if (this._inputModalityDetector.mostRecentModality !== 'keyboard') {
132
+ this.trigger();
133
+ }
134
+ }
135
+ _handleMousedown(event) {
136
+ event.preventDefault();
137
+ event.stopPropagation();
138
+ }
139
+ _isStandaloneItem() {
140
+ return !this._parentMenu;
141
+ }
142
+ _backArrowPressed(event) {
143
+ const parentMenu = this._parentMenu;
144
+ if (this._menuStack.hasInlineMenu() || this._menuStack.length() > 1) {
145
+ event.preventDefault();
146
+ this._menuStack.close(parentMenu, {
147
+ focusNextOnEmpty: this._menuStack.inlineMenuOrientation() === 'horizontal' ? 1 /* FocusNext.previousItem */ : 2 /* FocusNext.currentItem */,
148
+ focusParentTrigger: true,
149
+ });
150
+ }
151
+ }
152
+ _forwardArrowPressed(event) {
153
+ if (!this.hasMenu && this._menuStack.inlineMenuOrientation() === 'horizontal') {
154
+ event.preventDefault();
155
+ this._menuStack.closeAll({
156
+ focusNextOnEmpty: 0 /* FocusNext.nextItem */,
157
+ focusParentTrigger: true,
158
+ });
159
+ }
160
+ }
161
+ _setupMouseEnter() {
162
+ if (!this._isStandaloneItem()) {
163
+ const closeOpenSiblings = () => this._ngZone.run(() => this._menuStack.closeSubMenuOf(this._parentMenu));
164
+ this._ngZone.runOutsideAngular(() => fromEvent(this._elementRef.nativeElement, 'mouseenter')
165
+ .pipe(filter(() => !this._menuStack.isEmpty() && !this.hasMenu), takeUntil(this.destroyed))
166
+ .subscribe(() => {
167
+ if (this._menuAim) {
168
+ this._menuAim.toggle(closeOpenSiblings);
169
+ }
170
+ else {
171
+ closeOpenSiblings();
172
+ }
173
+ }));
174
+ }
175
+ }
176
+ _isParentVertical() {
177
+ return this._parentMenu?.orientation === 'vertical';
178
+ }
179
+ _setType() {
180
+ const element = this._elementRef.nativeElement;
181
+ if (element.nodeName === 'BUTTON' && !element.getAttribute('type')) {
182
+ element.setAttribute('type', 'button');
183
+ }
184
+ }
185
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: CdkMenuItem, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
186
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.9", type: CdkMenuItem, isStandalone: true, selector: "[cdkMenuItem]", inputs: { disabled: ["cdkMenuItemDisabled", "disabled"], typeaheadLabel: ["cdkMenuitemTypeaheadLabel", "typeaheadLabel"] }, outputs: { triggered: "cdkMenuItemTriggered" }, host: { attributes: { "role": "menuitem" }, listeners: { "blur": "_resetTabIndex()", "focus": "_setTabIndex()", "click": "_handleClick()", "mousedown": "_handleMousedown($event)", "keydown": "_onKeydown($event)" }, properties: { "tabindex": "_tabindex", "attr.aria-disabled": "disabled || null" }, classAttribute: "cdk-menu-item" }, exportAs: ["cdkMenuItem"], ngImport: i0 }); }
187
+ }
188
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: CdkMenuItem, decorators: [{
189
+ type: Directive,
190
+ args: [{
191
+ selector: '[cdkMenuItem]',
192
+ exportAs: 'cdkMenuItem',
193
+ standalone: true,
194
+ host: {
195
+ role: 'menuitem',
196
+ class: 'cdk-menu-item',
197
+ '[tabindex]': '_tabindex',
198
+ '[attr.aria-disabled]': 'disabled || null',
199
+ '(blur)': '_resetTabIndex()',
200
+ '(focus)': '_setTabIndex()',
201
+ '(click)': '_handleClick()',
202
+ '(mousedown)': '_handleMousedown($event)',
203
+ '(keydown)': '_onKeydown($event)',
204
+ },
205
+ }]
206
+ }], ctorParameters: () => [], propDecorators: { disabled: [{
207
+ type: Input,
208
+ args: ['cdkMenuItemDisabled']
209
+ }], typeaheadLabel: [{
210
+ type: Input,
211
+ args: ['cdkMenuitemTypeaheadLabel']
212
+ }], triggered: [{
213
+ type: Output,
214
+ args: ['cdkMenuItemTriggered']
215
+ }] } });
216
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL292ZXJsYXkvY29tcG9uZW50cy9tZW51LWRlcHJlY2F0ZWQvbWVudS1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJEQUEyRDtBQUMzRCxxREFBcUQ7QUFDckQsaUVBQWlFO0FBQ2pFLG9EQUFvRDtBQUNwRCxnRUFBZ0U7QUFFaEUsT0FBTyxFQUFtQixxQkFBcUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQWdCLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RixPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBYSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlHLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFFBQVEsRUFBVyxNQUFNLFlBQVksQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFRLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFhLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBR2hEOztHQUVHO0FBaUJILE1BQU0sT0FBTyxXQUFXO0lBY3RCLElBQ0ksUUFBUTtRQUNW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QUFDO2lCQUNyQjtZQUNILENBQUMsQ0FBQyxDQUNMLENBQUM7U0FDSDtJQUNILENBQUM7SUFFTyxpQkFBaUI7UUFDdkIsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLFdBQVcsS0FBSyxVQUFVLENBQUM7SUFDdEQsQ0FBQztJQUVPLFFBQVE7UUFDZCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQztRQUUvQyxJQUFJLE9BQU8sQ0FBQyxRQUFRLEtBQUssUUFBUSxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNsRSxPQUFPLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztTQUN4QztJQUNILENBQUM7OEdBNU1VLFdBQVc7a0dBQVgsV0FBVzs7MkZBQVgsV0FBVztrQkFoQnZCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFFBQVEsRUFBRSxhQUFhO29CQUN2QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFO3dCQUNKLElBQUksRUFBRSxVQUFVO3dCQUNoQixLQUFLLEVBQUUsZUFBZTt3QkFDdEIsWUFBWSxFQUFFLFdBQVc7d0JBQ3pCLHNCQUFzQixFQUFFLGtCQUFrQjt3QkFDMUMsUUFBUSxFQUFFLGtCQUFrQjt3QkFDNUIsU0FBUyxFQUFFLGdCQUFnQjt3QkFDM0IsU0FBUyxFQUFFLGdCQUFnQjt3QkFDM0IsYUFBYSxFQUFFLDBCQUEwQjt3QkFDekMsV0FBVyxFQUFFLG9CQUFvQjtxQkFDbEM7aUJBQ0Y7d0RBZ0JLLFFBQVE7c0JBRFgsS0FBSzt1QkFBQyxxQkFBcUI7Z0JBU1EsY0FBYztzQkFBakQsS0FBSzt1QkFBQywyQkFBMkI7Z0JBRU8sU0FBUztzQkFBakQsTUFBTTt1QkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLWNsYXNzLXN1ZmZpeCAqL1xuLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1yZW5hbWUgKi9cbi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXRzLW1ldGFkYXRhLXByb3BlcnR5ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5ICovXG5cbmltcG9ydCB7IEZvY3VzYWJsZU9wdGlvbiwgSW5wdXRNb2RhbGl0eURldGVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgRGlyZWN0aW9uYWxpdHkgfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XG5pbXBvcnQgeyBCb29sZWFuSW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBFTlRFUiwgTEVGVF9BUlJPVywgUklHSFRfQVJST1csIFNQQUNFLCBoYXNNb2RpZmllcktleSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE5nWm9uZSwgT25EZXN0cm95LCBPdXRwdXQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCwgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE1FTlVfQUlNLCBUb2dnbGVyIH0gZnJvbSAnLi9tZW51LWFpbSc7XG5pbXBvcnQgeyBDREtfTUVOVSwgTWVudSB9IGZyb20gJy4vbWVudS1pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRm9jdXNOZXh0LCBNRU5VX1NUQUNLIH0gZnJvbSAnLi9tZW51LXN0YWNrJztcbmltcG9ydCB7IENka01lbnVUcmlnZ2VyIH0gZnJvbSAnLi9tZW51LXRyaWdnZXInO1xuaW1wb3J0IHsgRm9jdXNhYmxlRWxlbWVudCB9IGZyb20gJy4vcG9pbnRlci1mb2N1cy10cmFja2VyJztcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBVc2UgdGhlIG5ldyBtZW51IGluc3RlYWRcbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2Nka01lbnVJdGVtXScsXG4gIGV4cG9ydEFzOiAnY2RrTWVudUl0ZW0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBob3N0OiB7XG4gICAgcm9sZTogJ21lbnVpdGVtJyxcbiAgICBjbGFzczogJ2Nkay1tZW51LWl0ZW0nLFxuICAgICdbdGFiaW5kZXhdJzogJ190YWJpbmRleCcsXG4gICAgJ1thdHRyLmFyaWEtZGlzYWJsZWRdJzogJ2Rpc2FibGVkIHx8IG51bGwnLFxuICAgICcoYmx1ciknOiAnX3Jlc2V0VGFiSW5kZXgoKScsXG4gICAgJyhmb2N1cyknOiAnX3NldFRhYkluZGV4KCknLFxuICAgICcoY2xpY2spJzogJ19oYW5kbGVDbGljaygpJyxcbiAgICAnKG1vdXNlZG93biknOiAnX2hhbmRsZU1vdXNlZG93bigkZXZlbnQpJyxcbiAgICAnKGtleWRvd24pJzogJ19vbktleWRvd24oJGV2ZW50KScsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIENka01lbnVJdGVtIGltcGxlbWVudHMgRm9jdXNhYmxlT3B0aW9uLCBGb2N1c2FibGVFbGVtZW50LCBUb2dnbGVyLCBPbkRlc3Ryb3kge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX2RpciA9IGluamVjdChEaXJlY3Rpb25hbGl0eSwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcbiAgcHJpdmF0ZSByZWFkb25seSBfaW5wdXRNb2RhbGl0eURldGVjdG9yID0gaW5qZWN0KElucHV0TW9kYWxpdHlEZXRlY3Rvcik7XG4gIHJlYWRvbmx5IF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgcHJvdGVjdGVkIF9uZ1pvbmUgPSBpbmplY3QoTmdab25lKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9tZW51QWltID0gaW5qZWN0KE1FTlVfQUlNLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX21lbnVTdGFjayA9IGluamVjdChNRU5VX1NUQUNLKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9wYXJlbnRNZW51ID0gaW5qZWN0KENES19NRU5VLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX21lbnVUcmlnZ2VyID0gaW5qZWN0KENka01lbnVUcmlnZ2VyLCB7IG9wdGlvbmFsOiB0cnVlLCBzZWxmOiB0cnVlIH0pO1xuXG4gIEBJbnB1dCgnY2RrTWVudUl0ZW1EaXNhYmxlZCcpXG4gIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gIH1cbiAgc2V0IGRpc2FibGVkKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICB0aGlzLl9kaXNhYmxlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gIH1cbiAgcHJpdmF0ZSBfZGlzYWJsZWQgPSBmYWxzZTtcblxuICBASW5wdXQoJ2Nka01lbnVpdGVtVHlwZWFoZWFkTGFiZWwnKSB0eXBlYWhlYWRMYWJlbDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgQE91dHB1dCgnY2RrTWVudUl0ZW1UcmlnZ2VyZWQnKSByZWFkb25seSB0cmlnZ2VyZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBnZXQgaGFzTWVudSgpIHtcbiAgICByZXR1cm4gdGhpcy5fbWVudVRyaWdnZXI/Lm1lbnVUZW1wbGF0ZVJlZiAhPSBudWxsO1xuICB9XG5cbiAgX3RhYmluZGV4OiAwIHwgLTEgPSAtMTtcblxuICBwcm90ZWN0ZWQgY2xvc2VPblNwYWNlYmFyVHJpZ2dlciA9IHRydWU7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRlc3Ryb3llZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5fc2V0dXBNb3VzZUVudGVyKCk7XG4gICAgdGhpcy5fc2V0VHlwZSgpO1xuXG4gICAgaWYgKHRoaXMuX2lzU3RhbmRhbG9uZUl0ZW0oKSkge1xuICAgICAgdGhpcy5fdGFiaW5kZXggPSAwO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGVzdHJveWVkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3llZC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgZm9jdXMoKSB7XG4gICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gIH1cblxuICB0cmlnZ2VyKG9wdGlvbnM/OiB7IGtlZXBPcGVuOiBib29sZWFuIH0pIHtcbiAgICBjb25zdCB7IGtlZXBPcGVuIH0gPSB7IC4uLm9wdGlvbnMgfTtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQgJiYgIXRoaXMuaGFzTWVudSkge1xuICAgICAgdGhpcy50cmlnZ2VyZWQubmV4dCgpO1xuICAgICAgaWYgKCFrZWVwT3Blbikge1xuICAgICAgICB0aGlzLl9tZW51U3RhY2suY2xvc2VBbGwoeyBmb2N1c1BhcmVudFRyaWdnZXI6IHRydWUgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaXNNZW51T3BlbigpIHtcbiAgICByZXR1cm4gISF0aGlzLl9tZW51VHJpZ2dlcj8uaXNPcGVuKCk7XG4gIH1cblxuICBnZXRNZW51KCk6IE1lbnUgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9tZW51VHJpZ2dlcj8uZ2V0TWVudSgpO1xuICB9XG5cbiAgZ2V0TWVudVRyaWdnZXIoKTogQ2RrTWVudVRyaWdnZXIgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fbWVudVRyaWdnZXI7XG4gIH1cblxuICBnZXRMYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnR5cGVhaGVhZExhYmVsIHx8IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC50ZXh0Q29udGVudD8udHJpbSgpIHx8ICcnO1xuICB9XG5cbiAgZ2V0UGFyZW50TWVudSgpIHtcbiAgICByZXR1cm4gdGhpcy5fcGFyZW50TWVudTtcbiAgfVxuXG4gIF9yZXNldFRhYkluZGV4KCkge1xuICAgIGlmICghdGhpcy5faXNTdGFuZGFsb25lSXRlbSgpKSB7XG4gICAgICB0aGlzLl90YWJpbmRleCA9IC0xO1xuICAgIH1cbiAgfVxuXG4gIF9zZXRUYWJJbmRleChldmVudD86IE1vdXNlRXZlbnQpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghZXZlbnQgfHwgIXRoaXMuX21lbnVTdGFjay5pc0VtcHR5KCkpIHtcbiAgICAgIHRoaXMuX3RhYmluZGV4ID0gMDtcbiAgICB9XG4gIH1cblxuICBfb25LZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgc3dpdGNoIChldmVudC5rZXlDb2RlKSB7XG4gICAgICBjYXNlIFNQQUNFOlxuICAgICAgY2FzZSBFTlRFUjpcbiAgICAgICAgaWYgKCFoYXNNb2RpZmllcktleShldmVudCkpIHtcbiAgICAgICAgICB0aGlzLnRyaWdnZXIoeyBrZWVwT3BlbjogZXZlbnQua2V5Q29kZSA9PT0gU1BBQ0UgJiYgIXRoaXMuY2xvc2VPblNwYWNlYmFyVHJpZ2dlciB9KTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBSSUdIVF9BUlJPVzpcbiAgICAgICAgaWYgKCFoYXNNb2RpZmllcktleShldmVudCkpIHtcbiAgICAgICAgICBpZiAodGhpcy5fcGFyZW50TWVudSAmJiB0aGlzLl9pc1BhcmVudFZlcnRpY2FsKCkpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLl9kaXI/LnZhbHVlICE9PSAncnRsJykge1xuICAgICAgICAgICAgICB0aGlzLl9mb3J3YXJkQXJyb3dQcmVzc2VkKGV2ZW50KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHRoaXMuX2JhY2tBcnJvd1ByZXNzZWQoZXZlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBMRUZUX0FSUk9XOlxuICAgICAgICBpZiAoIWhhc01vZGlmaWVyS2V5KGV2ZW50KSkge1xuICAgICAgICAgIGlmICh0aGlzLl9wYXJlbnRNZW51ICYmIHRoaXMuX2lzUGFyZW50VmVydGljYWwoKSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuX2Rpcj8udmFsdWUgIT09ICdydGwnKSB7XG4gICAgICAgICAgICAgIHRoaXMuX2JhY2tBcnJvd1ByZXNzZWQoZXZlbnQpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdGhpcy5fZm9yd2FyZEFycm93UHJlc3NlZChldmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIF9oYW5kbGVDbGljaygpIHtcbiAgICBpZiAodGhpcy5faW5wdXRNb2RhbGl0eURldGVjdG9yLm1vc3RSZWNlbnRNb2RhbGl0eSAhPT0gJ2tleWJvYXJkJykge1xuICAgICAgdGhpcy50cmlnZ2VyKCk7XG4gICAgfVxuICB9XG5cbiAgX2hhbmRsZU1vdXNlZG93bihldmVudDogTW91c2VFdmVudCkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cblxuICBwcml2YXRlIF9pc1N0YW5kYWxvbmVJdGVtKCkge1xuICAgIHJldHVybiAhdGhpcy5fcGFyZW50TWVudTtcbiAgfVxuXG4gIHByaXZhdGUgX2JhY2tBcnJvd1ByZXNzZWQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBjb25zdCBwYXJlbnRNZW51ID0gdGhpcy5fcGFyZW50TWVudSE7XG4gICAgaWYgKHRoaXMuX21lbnVTdGFjay5oYXNJbmxpbmVNZW51KCkgfHwgdGhpcy5fbWVudVN0YWNrLmxlbmd0aCgpID4gMSkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMuX21lbnVTdGFjay5jbG9zZShwYXJlbnRNZW51LCB7XG4gICAgICAgIGZvY3VzTmV4dE9uRW1wdHk6XG4gICAgICAgICAgdGhpcy5fbWVudVN0YWNrLmlubGluZU1lbnVPcmllbnRhdGlvbigpID09PSAnaG9yaXpvbnRhbCcgPyBGb2N1c05leHQucHJldmlvdXNJdGVtIDogRm9jdXNOZXh0LmN1cnJlbnRJdGVtLFxuICAgICAgICBmb2N1c1BhcmVudFRyaWdnZXI6IHRydWUsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9mb3J3YXJkQXJyb3dQcmVzc2VkKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKCF0aGlzLmhhc01lbnUgJiYgdGhpcy5fbWVudVN0YWNrLmlubGluZU1lbnVPcmllbnRhdGlvbigpID09PSAnaG9yaXpvbnRhbCcpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLl9tZW51U3RhY2suY2xvc2VBbGwoe1xuICAgICAgICBmb2N1c05leHRPbkVtcHR5OiBGb2N1c05leHQubmV4dEl0ZW0sXG4gICAgICAgIGZvY3VzUGFyZW50VHJpZ2dlcjogdHJ1ZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3NldHVwTW91c2VFbnRlcigpIHtcbiAgICBpZiAoIXRoaXMuX2lzU3RhbmRhbG9uZUl0ZW0oKSkge1xuICAgICAgY29uc3QgY2xvc2VPcGVuU2libGluZ3MgPSAoKSA9PiB0aGlzLl9uZ1pvbmUucnVuKCgpID0+IHRoaXMuX21lbnVTdGFjay5jbG9zZVN1Yk1lbnVPZih0aGlzLl9wYXJlbnRNZW51ISkpO1xuXG4gICAgICB0aGlzLl9uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT5cbiAgICAgICAgZnJvbUV2ZW50KHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ21vdXNlZW50ZXInKVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKCgpID0+ICF0aGlzLl9tZW51U3RhY2suaXNFbXB0eSgpICYmICF0aGlzLmhhc01lbnUpLFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKSxcbiAgICAgICAgICApXG4gICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5fbWVudUFpbSkge1xuICAgICAgICAgICAgICB0aGlzLl9tZW51QWltLnRvZ2dsZShjbG9zZU9wZW5TaWJsaW5ncyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBjbG9zZU9wZW5TaWJsaW5ncygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9pc1BhcmVudFZlcnRpY2FsKCkge1xuICAgIHJldHVybiB0aGlzLl9wYXJlbnRNZW51Py5vcmllbnRhdGlvbiA9PT0gJ3ZlcnRpY2FsJztcbiAgfVxuXG4gIHByaXZhdGUgX3NldFR5cGUoKSB7XG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcblxuICAgIGlmIChlbGVtZW50Lm5vZGVOYW1lID09PSAnQlVUVE9OJyAmJiAhZWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3R5cGUnKSkge1xuICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAnYnV0dG9uJyk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,58 @@
1
+ import { OverlayModule } from '@angular/cdk/overlay';
2
+ import { NgModule } from '@angular/core';
3
+ import { CdkContextMenuTrigger } from './context-menu-trigger';
4
+ import { CdkMenu } from './menu';
5
+ import { CdkTargetMenuAim } from './menu-aim';
6
+ import { CdkMenuBar } from './menu-bar';
7
+ import { CdkMenuGroup } from './menu-group';
8
+ import { CdkMenuItem } from './menu-item';
9
+ import { CdkMenuItemCheckbox } from './menu-item-checkbox';
10
+ import { CdkMenuItemRadio } from './menu-item-radio';
11
+ import { CdkMenuTrigger } from './menu-trigger';
12
+ import * as i0 from "@angular/core";
13
+ /**
14
+ * @deprecated Use the new menu instead
15
+ */
16
+ const MENU_DIRECTIVES = [
17
+ CdkMenuBar,
18
+ CdkMenu,
19
+ CdkMenuItem,
20
+ CdkMenuItemRadio,
21
+ CdkMenuItemCheckbox,
22
+ CdkMenuTrigger,
23
+ CdkMenuGroup,
24
+ CdkContextMenuTrigger,
25
+ CdkTargetMenuAim,
26
+ ];
27
+ /**
28
+ * @deprecated Use the new menu instead
29
+ */
30
+ export class CdkMenuModule {
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: CdkMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
32
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.9", ngImport: i0, type: CdkMenuModule, imports: [OverlayModule, CdkMenuBar,
33
+ CdkMenu,
34
+ CdkMenuItem,
35
+ CdkMenuItemRadio,
36
+ CdkMenuItemCheckbox,
37
+ CdkMenuTrigger,
38
+ CdkMenuGroup,
39
+ CdkContextMenuTrigger,
40
+ CdkTargetMenuAim], exports: [CdkMenuBar,
41
+ CdkMenu,
42
+ CdkMenuItem,
43
+ CdkMenuItemRadio,
44
+ CdkMenuItemCheckbox,
45
+ CdkMenuTrigger,
46
+ CdkMenuGroup,
47
+ CdkContextMenuTrigger,
48
+ CdkTargetMenuAim] }); }
49
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: CdkMenuModule, imports: [OverlayModule] }); }
50
+ }
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: CdkMenuModule, decorators: [{
52
+ type: NgModule,
53
+ args: [{
54
+ imports: [OverlayModule, ...MENU_DIRECTIVES],
55
+ exports: MENU_DIRECTIVES,
56
+ }]
57
+ }] });
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvb3ZlcmxheS9jb21wb25lbnRzL21lbnUtZGVwcmVjYXRlZC9tZW51LW1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM5QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDNUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMxQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBRWhEOztHQUVHO0FBQ0gsTUFBTSxlQUFlLEdBQUc7SUFDdEIsVUFBVTtJQUNWLE9BQU87SUFDUCxXQUFXO0lBQ1gsZ0JBQWdCO0lBQ2hCLG1CQUFtQjtJQUNuQixjQUFjO0lBQ2QsWUFBWTtJQUNaLHFCQUFxQjtJQUNyQixnQkFBZ0I7Q0FDakIsQ0FBQztBQUVGOztHQUVHO0FBS0gsTUFBTSxPQUFPLGFBQWE7OEdBQWIsYUFBYTsrR0FBYixhQUFhLFlBSGQsYUFBYSxFQWZ2QixVQUFVO1lBQ1YsT0FBTztZQUNQLFdBQVc7WUFDWCxnQkFBZ0I7WUFDaEIsbUJBQW1CO1lBQ25CLGNBQWM7WUFDZCxZQUFZO1lBQ1oscUJBQXFCO1lBQ3JCLGdCQUFnQixhQVJoQixVQUFVO1lBQ1YsT0FBTztZQUNQLFdBQVc7WUFDWCxnQkFBZ0I7WUFDaEIsbUJBQW1CO1lBQ25CLGNBQWM7WUFDZCxZQUFZO1lBQ1oscUJBQXFCO1lBQ3JCLGdCQUFnQjsrR0FVTCxhQUFhLFlBSGQsYUFBYTs7MkZBR1osYUFBYTtrQkFKekIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxhQUFhLEVBQUUsR0FBRyxlQUFlLENBQUM7b0JBQzVDLE9BQU8sRUFBRSxlQUFlO2lCQUN6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2RrQ29udGV4dE1lbnVUcmlnZ2VyIH0gZnJvbSAnLi9jb250ZXh0LW1lbnUtdHJpZ2dlcic7XG5pbXBvcnQgeyBDZGtNZW51IH0gZnJvbSAnLi9tZW51JztcbmltcG9ydCB7IENka1RhcmdldE1lbnVBaW0gfSBmcm9tICcuL21lbnUtYWltJztcbmltcG9ydCB7IENka01lbnVCYXIgfSBmcm9tICcuL21lbnUtYmFyJztcbmltcG9ydCB7IENka01lbnVHcm91cCB9IGZyb20gJy4vbWVudS1ncm91cCc7XG5pbXBvcnQgeyBDZGtNZW51SXRlbSB9IGZyb20gJy4vbWVudS1pdGVtJztcbmltcG9ydCB7IENka01lbnVJdGVtQ2hlY2tib3ggfSBmcm9tICcuL21lbnUtaXRlbS1jaGVja2JveCc7XG5pbXBvcnQgeyBDZGtNZW51SXRlbVJhZGlvIH0gZnJvbSAnLi9tZW51LWl0ZW0tcmFkaW8nO1xuaW1wb3J0IHsgQ2RrTWVudVRyaWdnZXIgfSBmcm9tICcuL21lbnUtdHJpZ2dlcic7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgVXNlIHRoZSBuZXcgbWVudSBpbnN0ZWFkXG4gKi9cbmNvbnN0IE1FTlVfRElSRUNUSVZFUyA9IFtcbiAgQ2RrTWVudUJhcixcbiAgQ2RrTWVudSxcbiAgQ2RrTWVudUl0ZW0sXG4gIENka01lbnVJdGVtUmFkaW8sXG4gIENka01lbnVJdGVtQ2hlY2tib3gsXG4gIENka01lbnVUcmlnZ2VyLFxuICBDZGtNZW51R3JvdXAsXG4gIENka0NvbnRleHRNZW51VHJpZ2dlcixcbiAgQ2RrVGFyZ2V0TWVudUFpbSxcbl07XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgVXNlIHRoZSBuZXcgbWVudSBpbnN0ZWFkXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtPdmVybGF5TW9kdWxlLCAuLi5NRU5VX0RJUkVDVElWRVNdLFxuICBleHBvcnRzOiBNRU5VX0RJUkVDVElWRVMsXG59KVxuZXhwb3J0IGNsYXNzIENka01lbnVNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,104 @@
1
+ /* eslint-disable @angular-eslint/directive-class-suffix */
2
+ /* eslint-disable @angular-eslint/no-output-rename */
3
+ /* eslint-disable @angular-eslint/no-outputs-metadata-property */
4
+ /* eslint-disable @angular-eslint/no-input-rename */
5
+ /* eslint-disable @angular-eslint/no-inputs-metadata-property */
6
+ import { Inject, Injectable, InjectionToken, Optional, SkipSelf } from '@angular/core';
7
+ import { Subject } from 'rxjs';
8
+ import { debounceTime, distinctUntilChanged, startWith } from 'rxjs/operators';
9
+ import * as i0 from "@angular/core";
10
+ export const MENU_STACK = new InjectionToken('cdk-menu-stack');
11
+ export const PARENT_OR_NEW_MENU_STACK_PROVIDER = {
12
+ provide: MENU_STACK,
13
+ deps: [[new Optional(), new SkipSelf(), new Inject(MENU_STACK)]],
14
+ useFactory: (parentMenuStack) => parentMenuStack || new MenuStack(),
15
+ };
16
+ export const PARENT_OR_NEW_INLINE_MENU_STACK_PROVIDER = (orientation) => ({
17
+ provide: MENU_STACK,
18
+ deps: [[new Optional(), new SkipSelf(), new Inject(MENU_STACK)]],
19
+ useFactory: (parentMenuStack) => parentMenuStack || MenuStack.inline(orientation),
20
+ });
21
+ let nextId = 0;
22
+ /**
23
+ * @deprecated Use the new menu instead
24
+ */
25
+ export class MenuStack {
26
+ constructor() {
27
+ this.id = `${nextId++}`;
28
+ this._elements = [];
29
+ this._close = new Subject();
30
+ this._empty = new Subject();
31
+ this._hasFocus = new Subject();
32
+ this.closed = this._close;
33
+ this.hasFocus = this._hasFocus.pipe(startWith(false), debounceTime(0), distinctUntilChanged());
34
+ this.emptied = this._empty;
35
+ this._inlineMenuOrientation = null;
36
+ }
37
+ static inline(orientation) {
38
+ const stack = new MenuStack();
39
+ stack._inlineMenuOrientation = orientation;
40
+ return stack;
41
+ }
42
+ push(menu) {
43
+ this._elements.push(menu);
44
+ }
45
+ close(lastItem, options) {
46
+ const { focusNextOnEmpty, focusParentTrigger } = { ...options };
47
+ if (this._elements.indexOf(lastItem) >= 0) {
48
+ let poppedElement;
49
+ do {
50
+ poppedElement = this._elements.pop();
51
+ this._close.next({ item: poppedElement, focusParentTrigger });
52
+ } while (poppedElement !== lastItem);
53
+ if (this.isEmpty()) {
54
+ this._empty.next(focusNextOnEmpty);
55
+ }
56
+ }
57
+ }
58
+ closeSubMenuOf(lastItem) {
59
+ let removed = false;
60
+ if (this._elements.indexOf(lastItem) >= 0) {
61
+ removed = this.peek() !== lastItem;
62
+ while (this.peek() !== lastItem) {
63
+ this._close.next({ item: this._elements.pop() });
64
+ }
65
+ }
66
+ return removed;
67
+ }
68
+ closeAll(options) {
69
+ const { focusNextOnEmpty, focusParentTrigger } = { ...options };
70
+ if (!this.isEmpty()) {
71
+ while (!this.isEmpty()) {
72
+ const menuStackItem = this._elements.pop();
73
+ if (menuStackItem) {
74
+ this._close.next({ item: menuStackItem, focusParentTrigger });
75
+ }
76
+ }
77
+ this._empty.next(focusNextOnEmpty);
78
+ }
79
+ }
80
+ isEmpty() {
81
+ return !this._elements.length;
82
+ }
83
+ length() {
84
+ return this._elements.length;
85
+ }
86
+ peek() {
87
+ return this._elements[this._elements.length - 1];
88
+ }
89
+ hasInlineMenu() {
90
+ return this._inlineMenuOrientation != null;
91
+ }
92
+ inlineMenuOrientation() {
93
+ return this._inlineMenuOrientation;
94
+ }
95
+ setHasFocus(hasFocus) {
96
+ this._hasFocus.next(hasFocus);
97
+ }
98
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: MenuStack, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
99
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: MenuStack }); }
100
+ }
101
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: MenuStack, decorators: [{
102
+ type: Injectable
103
+ }] });
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1zdGFjay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9vdmVybGF5L2NvbXBvbmVudHMvbWVudS1kZXByZWNhdGVkL21lbnUtc3RhY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkRBQTJEO0FBQzNELHFEQUFxRDtBQUNyRCxpRUFBaUU7QUFDakUsb0RBQW9EO0FBQ3BELGdFQUFnRTtBQUVoRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBWS9FLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxJQUFJLGNBQWMsQ0FBWSxnQkFBZ0IsQ0FBQyxDQUFDO0FBRTFFLE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUFHO0lBQy9DLE9BQU8sRUFBRSxVQUFVO0lBQ25CLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSxJQUFJLFFBQVEsRUFBRSxFQUFFLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDaEUsVUFBVSxFQUFFLENBQUMsZUFBMkIsRUFBRSxFQUFFLENBQUMsZUFBZSxJQUFJLElBQUksU0FBUyxFQUFFO0NBQ2hGLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx3Q0FBd0MsR0FBRyxDQUFDLFdBQXNDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDbkcsT0FBTyxFQUFFLFVBQVU7SUFDbkIsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLFFBQVEsRUFBRSxFQUFFLElBQUksUUFBUSxFQUFFLEVBQUUsSUFBSSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUNoRSxVQUFVLEVBQUUsQ0FBQyxlQUEyQixFQUFFLEVBQUUsQ0FBQyxlQUFlLElBQUksU0FBUyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUM7Q0FDOUYsQ0FBQyxDQUFDO0FBWUgsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBRWY7O0dBRUc7QUFFSCxNQUFNLE9BQU8sU0FBUztJQUR0QjtRQUVXLE9BQUUsR0FBRyxHQUFHLE1BQU0sRUFBRSxFQUFFLENBQUM7UUFFWCxjQUFTLEdBQW9CLEVBQUUsQ0FBQztRQUVoQyxXQUFNLEdBQUcsSUFBSSxPQUFPLEVBQXVCLENBQUM7UUFFNUMsV0FBTSxHQUFHLElBQUksT0FBTyxFQUF5QixDQUFDO1FBRTlDLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO1FBRTNDLFdBQU0sR0FBb0MsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUV0RCxhQUFRLEdBQXdCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUMxRCxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQ2hCLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFDZixvQkFBb0IsRUFBRSxDQUN2QixDQUFDO1FBRU8sWUFBTyxHQUFzQyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBRTFELDJCQUFzQixHQUFxQyxJQUFJLENBQUM7S0EwRXpFO0lBeEVDLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBc0M7UUFDbEQsTUFBTSxLQUFLLEdBQUcsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUM5QixLQUFLLENBQUMsc0JBQXNCLEdBQUcsV0FBVyxDQUFDO1FBQzNDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELElBQUksQ0FBQyxJQUFtQjtRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsS0FBSyxDQUFDLFFBQXVCLEVBQUUsT0FBc0I7UUFDbkQsTUFBTSxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLEdBQUcsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDO1FBQ2hFLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3pDLElBQUksYUFBYSxDQUFDO1lBQ2xCLEdBQUc7Z0JBQ0QsYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFHLENBQUM7Z0JBQ3RDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxDQUFDLENBQUM7YUFDL0QsUUFBUSxhQUFhLEtBQUssUUFBUSxFQUFFO1lBRXJDLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2FBQ3BDO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsY0FBYyxDQUFDLFFBQXVCO1FBQ3BDLElBQUksT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN6QyxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLFFBQVEsQ0FBQztZQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxRQUFRLEVBQUU7Z0JBQy9CLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFHLEVBQUUsQ0FBQyxDQUFDO2FBQ25EO1NBQ0Y7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsUUFBUSxDQUFDLE9BQXNCO1FBQzdCLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxHQUFHLEVBQUUsR0FBRyxPQUFPLEVBQUUsQ0FBQztRQUNoRSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ25CLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQ3RCLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQzNDLElBQUksYUFBYSxFQUFFO29CQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO2lCQUMvRDthQUNGO1lBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztTQUNwQztJQUNILENBQUM7SUFFRCxPQUFPO1FBQ0wsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxNQUFNO1FBQ0osT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSTtRQUNGLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixJQUFJLElBQUksQ0FBQztJQUM3QyxDQUFDO0lBRUQscUJBQXFCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDO0lBQ3JDLENBQUM7SUFFRCxXQUFXLENBQUMsUUFBaUI7UUFDM0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDaEMsQ0FBQzs4R0E5RlUsU0FBUztrSEFBVCxTQUFTOzsyRkFBVCxTQUFTO2tCQURyQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1jbGFzcy1zdWZmaXggKi9cbi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtcmVuYW1lICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0cy1tZXRhZGF0YS1wcm9wZXJ0eSAqL1xuLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZSAqL1xuLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eSAqL1xuXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBPcHRpb25hbCwgU2tpcFNlbGYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuZXhwb3J0IGNvbnN0IGVudW0gRm9jdXNOZXh0IHtcbiAgbmV4dEl0ZW0sXG4gIHByZXZpb3VzSXRlbSxcbiAgY3VycmVudEl0ZW0sXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVudVN0YWNrSXRlbSB7XG4gIG1lbnVTdGFjaz86IE1lbnVTdGFjaztcbn1cblxuZXhwb3J0IGNvbnN0IE1FTlVfU1RBQ0sgPSBuZXcgSW5qZWN0aW9uVG9rZW48TWVudVN0YWNrPignY2RrLW1lbnUtc3RhY2snKTtcblxuZXhwb3J0IGNvbnN0IFBBUkVOVF9PUl9ORVdfTUVOVV9TVEFDS19QUk9WSURFUiA9IHtcbiAgcHJvdmlkZTogTUVOVV9TVEFDSyxcbiAgZGVwczogW1tuZXcgT3B0aW9uYWwoKSwgbmV3IFNraXBTZWxmKCksIG5ldyBJbmplY3QoTUVOVV9TVEFDSyldXSxcbiAgdXNlRmFjdG9yeTogKHBhcmVudE1lbnVTdGFjaz86IE1lbnVTdGFjaykgPT4gcGFyZW50TWVudVN0YWNrIHx8IG5ldyBNZW51U3RhY2soKSxcbn07XG5cbmV4cG9ydCBjb25zdCBQQVJFTlRfT1JfTkVXX0lOTElORV9NRU5VX1NUQUNLX1BST1ZJREVSID0gKG9yaWVudGF0aW9uOiAndmVydGljYWwnIHwgJ2hvcml6b250YWwnKSA9PiAoe1xuICBwcm92aWRlOiBNRU5VX1NUQUNLLFxuICBkZXBzOiBbW25ldyBPcHRpb25hbCgpLCBuZXcgU2tpcFNlbGYoKSwgbmV3IEluamVjdChNRU5VX1NUQUNLKV1dLFxuICB1c2VGYWN0b3J5OiAocGFyZW50TWVudVN0YWNrPzogTWVudVN0YWNrKSA9PiBwYXJlbnRNZW51U3RhY2sgfHwgTWVudVN0YWNrLmlubGluZShvcmllbnRhdGlvbiksXG59KTtcblxuZXhwb3J0IGludGVyZmFjZSBDbG9zZU9wdGlvbnMge1xuICBmb2N1c05leHRPbkVtcHR5PzogRm9jdXNOZXh0O1xuICBmb2N1c1BhcmVudFRyaWdnZXI/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1lbnVTdGFja0Nsb3NlRXZlbnQge1xuICBpdGVtOiBNZW51U3RhY2tJdGVtO1xuICBmb2N1c1BhcmVudFRyaWdnZXI/OiBib29sZWFuO1xufVxuXG5sZXQgbmV4dElkID0gMDtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBVc2UgdGhlIG5ldyBtZW51IGluc3RlYWRcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1lbnVTdGFjayB7XG4gIHJlYWRvbmx5IGlkID0gYCR7bmV4dElkKyt9YDtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9lbGVtZW50czogTWVudVN0YWNrSXRlbVtdID0gW107XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfY2xvc2UgPSBuZXcgU3ViamVjdDxNZW51U3RhY2tDbG9zZUV2ZW50PigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2VtcHR5ID0gbmV3IFN1YmplY3Q8Rm9jdXNOZXh0IHwgdW5kZWZpbmVkPigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2hhc0ZvY3VzID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICByZWFkb25seSBjbG9zZWQ6IE9ic2VydmFibGU8TWVudVN0YWNrQ2xvc2VFdmVudD4gPSB0aGlzLl9jbG9zZTtcblxuICByZWFkb25seSBoYXNGb2N1czogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuX2hhc0ZvY3VzLnBpcGUoXG4gICAgc3RhcnRXaXRoKGZhbHNlKSxcbiAgICBkZWJvdW5jZVRpbWUoMCksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgKTtcblxuICByZWFkb25seSBlbXB0aWVkOiBPYnNlcnZhYmxlPEZvY3VzTmV4dCB8IHVuZGVmaW5lZD4gPSB0aGlzLl9lbXB0eTtcblxuICBwcml2YXRlIF9pbmxpbmVNZW51T3JpZW50YXRpb246ICd2ZXJ0aWNhbCcgfCAnaG9yaXpvbnRhbCcgfCBudWxsID0gbnVsbDtcblxuICBzdGF0aWMgaW5saW5lKG9yaWVudGF0aW9uOiAndmVydGljYWwnIHwgJ2hvcml6b250YWwnKSB7XG4gICAgY29uc3Qgc3RhY2sgPSBuZXcgTWVudVN0YWNrKCk7XG4gICAgc3RhY2suX2lubGluZU1lbnVPcmllbnRhdGlvbiA9IG9yaWVudGF0aW9uO1xuICAgIHJldHVybiBzdGFjaztcbiAgfVxuXG4gIHB1c2gobWVudTogTWVudVN0YWNrSXRlbSkge1xuICAgIHRoaXMuX2VsZW1lbnRzLnB1c2gobWVudSk7XG4gIH1cblxuICBjbG9zZShsYXN0SXRlbTogTWVudVN0YWNrSXRlbSwgb3B0aW9ucz86IENsb3NlT3B0aW9ucykge1xuICAgIGNvbnN0IHsgZm9jdXNOZXh0T25FbXB0eSwgZm9jdXNQYXJlbnRUcmlnZ2VyIH0gPSB7IC4uLm9wdGlvbnMgfTtcbiAgICBpZiAodGhpcy5fZWxlbWVudHMuaW5kZXhPZihsYXN0SXRlbSkgPj0gMCkge1xuICAgICAgbGV0IHBvcHBlZEVsZW1lbnQ7XG4gICAgICBkbyB7XG4gICAgICAgIHBvcHBlZEVsZW1lbnQgPSB0aGlzLl9lbGVtZW50cy5wb3AoKSE7XG4gICAgICAgIHRoaXMuX2Nsb3NlLm5leHQoeyBpdGVtOiBwb3BwZWRFbGVtZW50LCBmb2N1c1BhcmVudFRyaWdnZXIgfSk7XG4gICAgICB9IHdoaWxlIChwb3BwZWRFbGVtZW50ICE9PSBsYXN0SXRlbSk7XG5cbiAgICAgIGlmICh0aGlzLmlzRW1wdHkoKSkge1xuICAgICAgICB0aGlzLl9lbXB0eS5uZXh0KGZvY3VzTmV4dE9uRW1wdHkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNsb3NlU3ViTWVudU9mKGxhc3RJdGVtOiBNZW51U3RhY2tJdGVtKSB7XG4gICAgbGV0IHJlbW92ZWQgPSBmYWxzZTtcbiAgICBpZiAodGhpcy5fZWxlbWVudHMuaW5kZXhPZihsYXN0SXRlbSkgPj0gMCkge1xuICAgICAgcmVtb3ZlZCA9IHRoaXMucGVlaygpICE9PSBsYXN0SXRlbTtcbiAgICAgIHdoaWxlICh0aGlzLnBlZWsoKSAhPT0gbGFzdEl0ZW0pIHtcbiAgICAgICAgdGhpcy5fY2xvc2UubmV4dCh7IGl0ZW06IHRoaXMuX2VsZW1lbnRzLnBvcCgpISB9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlbW92ZWQ7XG4gIH1cblxuICBjbG9zZUFsbChvcHRpb25zPzogQ2xvc2VPcHRpb25zKSB7XG4gICAgY29uc3QgeyBmb2N1c05leHRPbkVtcHR5LCBmb2N1c1BhcmVudFRyaWdnZXIgfSA9IHsgLi4ub3B0aW9ucyB9O1xuICAgIGlmICghdGhpcy5pc0VtcHR5KCkpIHtcbiAgICAgIHdoaWxlICghdGhpcy5pc0VtcHR5KCkpIHtcbiAgICAgICAgY29uc3QgbWVudVN0YWNrSXRlbSA9IHRoaXMuX2VsZW1lbnRzLnBvcCgpO1xuICAgICAgICBpZiAobWVudVN0YWNrSXRlbSkge1xuICAgICAgICAgIHRoaXMuX2Nsb3NlLm5leHQoeyBpdGVtOiBtZW51U3RhY2tJdGVtLCBmb2N1c1BhcmVudFRyaWdnZXIgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoaXMuX2VtcHR5Lm5leHQoZm9jdXNOZXh0T25FbXB0eSk7XG4gICAgfVxuICB9XG5cbiAgaXNFbXB0eSgpIHtcbiAgICByZXR1cm4gIXRoaXMuX2VsZW1lbnRzLmxlbmd0aDtcbiAgfVxuXG4gIGxlbmd0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZWxlbWVudHMubGVuZ3RoO1xuICB9XG5cbiAgcGVlaygpOiBNZW51U3RhY2tJdGVtIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fZWxlbWVudHNbdGhpcy5fZWxlbWVudHMubGVuZ3RoIC0gMV07XG4gIH1cblxuICBoYXNJbmxpbmVNZW51KCkge1xuICAgIHJldHVybiB0aGlzLl9pbmxpbmVNZW51T3JpZW50YXRpb24gIT0gbnVsbDtcbiAgfVxuXG4gIGlubGluZU1lbnVPcmllbnRhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5faW5saW5lTWVudU9yaWVudGF0aW9uO1xuICB9XG5cbiAgc2V0SGFzRm9jdXMoaGFzRm9jdXM6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9oYXNGb2N1cy5uZXh0KGhhc0ZvY3VzKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,80 @@
1
+ import { TemplatePortal } from '@angular/cdk/portal';
2
+ import { Directive, EventEmitter, InjectionToken, Injector, ViewContainerRef, inject, } from '@angular/core';
3
+ import { Subject, merge } from 'rxjs';
4
+ import { MENU_STACK } from './menu-stack';
5
+ import * as i0 from "@angular/core";
6
+ export const MENU_TRIGGER = new InjectionToken('cdk-menu-trigger');
7
+ /**
8
+ * @deprecated Use the new menu instead
9
+ */
10
+ export class CdkMenuTriggerBase {
11
+ constructor() {
12
+ this.injector = inject(Injector);
13
+ this.viewContainerRef = inject(ViewContainerRef);
14
+ this.menuStack = inject(MENU_STACK);
15
+ this.menuPosition = null;
16
+ this.opened = new EventEmitter();
17
+ this.closed = new EventEmitter();
18
+ this.menuTemplateRef = null;
19
+ this.overlayRef = null;
20
+ this.destroyed = new Subject();
21
+ this.stopOutsideClicksListener = merge(this.closed, this.destroyed);
22
+ this._menuPortal = null;
23
+ }
24
+ ngOnDestroy() {
25
+ this._destroyOverlay();
26
+ this.destroyed.next();
27
+ this.destroyed.complete();
28
+ }
29
+ isOpen() {
30
+ return !!this.overlayRef?.hasAttached();
31
+ }
32
+ registerChildMenu(child) {
33
+ this.childMenu = child;
34
+ }
35
+ getMenuContentPortal() {
36
+ const hasMenuContentChanged = this.menuTemplateRef !== this._menuPortal?.templateRef;
37
+ if (this.menuTemplateRef && (!this._menuPortal || hasMenuContentChanged)) {
38
+ this._menuPortal = new TemplatePortal(this.menuTemplateRef, this.viewContainerRef, this.menuData, this._getChildMenuInjector());
39
+ }
40
+ return this._menuPortal;
41
+ }
42
+ isElementInsideMenuStack(element) {
43
+ for (let el = element; el; el = el?.parentElement ?? null) {
44
+ if (el.getAttribute('data-cdk-menu-stack-id') === this.menuStack.id) {
45
+ return true;
46
+ }
47
+ }
48
+ return false;
49
+ }
50
+ _destroyOverlay() {
51
+ if (this.overlayRef) {
52
+ this.overlayRef.dispose();
53
+ this.overlayRef = null;
54
+ }
55
+ }
56
+ _getChildMenuInjector() {
57
+ this._childMenuInjector =
58
+ this._childMenuInjector ||
59
+ Injector.create({
60
+ providers: [
61
+ { provide: MENU_TRIGGER, useValue: this },
62
+ { provide: MENU_STACK, useValue: this.menuStack },
63
+ ],
64
+ parent: this.injector,
65
+ });
66
+ return this._childMenuInjector;
67
+ }
68
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: CdkMenuTriggerBase, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
69
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.9", type: CdkMenuTriggerBase, host: { properties: { "attr.aria-controls": "childMenu?.id", "attr.data-cdk-menu-stack-id": "menuStack.id" } }, ngImport: i0 }); }
70
+ }
71
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: CdkMenuTriggerBase, decorators: [{
72
+ type: Directive,
73
+ args: [{
74
+ host: {
75
+ '[attr.aria-controls]': 'childMenu?.id',
76
+ '[attr.data-cdk-menu-stack-id]': 'menuStack.id',
77
+ },
78
+ }]
79
+ }] });
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS10cmlnZ2VyLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvb3ZlcmxheS9jb21wb25lbnRzL21lbnUtZGVwcmVjYXRlZC9tZW51LXRyaWdnZXItYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osY0FBYyxFQUNkLFFBQVEsRUFHUixnQkFBZ0IsRUFDaEIsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXRDLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxjQUFjLENBQUM7O0FBRXJELE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxJQUFJLGNBQWMsQ0FBcUIsa0JBQWtCLENBQUMsQ0FBQztBQUV2Rjs7R0FFRztBQU9ILE1BQU0sT0FBZ0Isa0JBQWtCO0lBTnhDO1FBT1csYUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVsQixxQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUU1QyxjQUFTLEdBQWMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRTdELGlCQUFZLEdBQStCLElBQUksQ0FBQztRQUV2QyxXQUFNLEdBQXVCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFaEQsV0FBTSxHQUF1QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXpELG9CQUFlLEdBQWdDLElBQUksQ0FBQztRQUkxQyxlQUFVLEdBQXNCLElBQUksQ0FBQztRQUU1QixjQUFTLEdBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7UUFFekMsOEJBQXlCLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBSTFFLGdCQUFXLEdBQTBCLElBQUksQ0FBQztLQTZEbkQ7SUF6REMsV0FBVztRQUNULElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV2QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELE1BQU07UUFDSixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxLQUFXO1FBQzNCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFFUyxvQkFBb0I7UUFDNUIsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLENBQUMsZUFBZSxLQUFLLElBQUksQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDO1FBQ3JGLElBQUksSUFBSSxDQUFDLGVBQWUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxxQkFBcUIsQ0FBQyxFQUFFO1lBQ3hFLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxjQUFjLENBQ25DLElBQUksQ0FBQyxlQUFlLEVBQ3BCLElBQUksQ0FBQyxnQkFBZ0IsRUFDckIsSUFBSSxDQUFDLFFBQVEsRUFDYixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FDN0IsQ0FBQztTQUNIO1FBRUQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFUyx3QkFBd0IsQ0FBQyxPQUFnQjtRQUNqRCxLQUFLLElBQUksRUFBRSxHQUFtQixPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsYUFBYSxJQUFJLElBQUksRUFBRTtZQUN6RSxJQUFJLEVBQUUsQ0FBQyxZQUFZLENBQUMsd0JBQXdCLENBQUMsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRTtnQkFDbkUsT0FBTyxJQUFJLENBQUM7YUFDYjtTQUNGO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU8sZUFBZTtRQUNyQixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztTQUN4QjtJQUNILENBQUM7SUFFTyxxQkFBcUI7UUFDM0IsSUFBSSxDQUFDLGtCQUFrQjtZQUNyQixJQUFJLENBQUMsa0JBQWtCO2dCQUN2QixRQUFRLENBQUMsTUFBTSxDQUFDO29CQUNkLFNBQVMsRUFBRTt3QkFDVCxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTt3QkFDekMsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFO3FCQUNsRDtvQkFDRCxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVE7aUJBQ3RCLENBQUMsQ0FBQztRQUNMLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDO0lBQ2pDLENBQUM7OEdBckZtQixrQkFBa0I7a0dBQWxCLGtCQUFrQjs7MkZBQWxCLGtCQUFrQjtrQkFOdkMsU0FBUzttQkFBQztvQkFDVCxJQUFJLEVBQUU7d0JBQ0osc0JBQXNCLEVBQUUsZUFBZTt3QkFDdkMsK0JBQStCLEVBQUUsY0FBYztxQkFDaEQ7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLWNsYXNzLXN1ZmZpeCAqL1xuLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1yZW5hbWUgKi9cbi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXRzLW1ldGFkYXRhLXByb3BlcnR5ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5ICovXG5cbmltcG9ydCB7IENvbm5lY3RlZFBvc2l0aW9uLCBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3Rpb25Ub2tlbixcbiAgSW5qZWN0b3IsXG4gIE9uRGVzdHJveSxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDb250YWluZXJSZWYsXG4gIGluamVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCBtZXJnZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTWVudSB9IGZyb20gJy4vbWVudS1pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTUVOVV9TVEFDSywgTWVudVN0YWNrIH0gZnJvbSAnLi9tZW51LXN0YWNrJztcblxuZXhwb3J0IGNvbnN0IE1FTlVfVFJJR0dFUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxDZGtNZW51VHJpZ2dlckJhc2U+KCdjZGstbWVudS10cmlnZ2VyJyk7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgVXNlIHRoZSBuZXcgbWVudSBpbnN0ZWFkXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBob3N0OiB7XG4gICAgJ1thdHRyLmFyaWEtY29udHJvbHNdJzogJ2NoaWxkTWVudT8uaWQnLFxuICAgICdbYXR0ci5kYXRhLWNkay1tZW51LXN0YWNrLWlkXSc6ICdtZW51U3RhY2suaWQnLFxuICB9LFxufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDZGtNZW51VHJpZ2dlckJhc2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICByZWFkb25seSBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHZpZXdDb250YWluZXJSZWYgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG1lbnVTdGFjazogTWVudVN0YWNrID0gaW5qZWN0KE1FTlVfU1RBQ0spO1xuXG4gIG1lbnVQb3NpdGlvbjogQ29ubmVjdGVkUG9zaXRpb25bXSB8IG51bGwgPSBudWxsO1xuXG4gIHJlYWRvbmx5IG9wZW5lZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHJlYWRvbmx5IGNsb3NlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIG1lbnVUZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8dW5rbm93bj4gfCBudWxsID0gbnVsbDtcblxuICBtZW51RGF0YTogdW5rbm93bjtcblxuICBwcm90ZWN0ZWQgb3ZlcmxheVJlZjogT3ZlcmxheVJlZiB8IG51bGwgPSBudWxsO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBkZXN0cm95ZWQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBzdG9wT3V0c2lkZUNsaWNrc0xpc3RlbmVyID0gbWVyZ2UodGhpcy5jbG9zZWQsIHRoaXMuZGVzdHJveWVkKTtcblxuICBwcm90ZWN0ZWQgY2hpbGRNZW51PzogTWVudTtcblxuICBwcml2YXRlIF9tZW51UG9ydGFsOiBUZW1wbGF0ZVBvcnRhbCB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgX2NoaWxkTWVudUluamVjdG9yPzogSW5qZWN0b3I7XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fZGVzdHJveU92ZXJsYXkoKTtcblxuICAgIHRoaXMuZGVzdHJveWVkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3llZC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgaXNPcGVuKCkge1xuICAgIHJldHVybiAhIXRoaXMub3ZlcmxheVJlZj8uaGFzQXR0YWNoZWQoKTtcbiAgfVxuXG4gIHJlZ2lzdGVyQ2hpbGRNZW51KGNoaWxkOiBNZW51KSB7XG4gICAgdGhpcy5jaGlsZE1lbnUgPSBjaGlsZDtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRNZW51Q29udGVudFBvcnRhbCgpIHtcbiAgICBjb25zdCBoYXNNZW51Q29udGVudENoYW5nZWQgPSB0aGlzLm1lbnVUZW1wbGF0ZVJlZiAhPT0gdGhpcy5fbWVudVBvcnRhbD8udGVtcGxhdGVSZWY7XG4gICAgaWYgKHRoaXMubWVudVRlbXBsYXRlUmVmICYmICghdGhpcy5fbWVudVBvcnRhbCB8fCBoYXNNZW51Q29udGVudENoYW5nZWQpKSB7XG4gICAgICB0aGlzLl9tZW51UG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKFxuICAgICAgICB0aGlzLm1lbnVUZW1wbGF0ZVJlZixcbiAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLFxuICAgICAgICB0aGlzLm1lbnVEYXRhLFxuICAgICAgICB0aGlzLl9nZXRDaGlsZE1lbnVJbmplY3RvcigpLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fbWVudVBvcnRhbDtcbiAgfVxuXG4gIHByb3RlY3RlZCBpc0VsZW1lbnRJbnNpZGVNZW51U3RhY2soZWxlbWVudDogRWxlbWVudCkge1xuICAgIGZvciAobGV0IGVsOiBFbGVtZW50IHwgbnVsbCA9IGVsZW1lbnQ7IGVsOyBlbCA9IGVsPy5wYXJlbnRFbGVtZW50ID8/IG51bGwpIHtcbiAgICAgIGlmIChlbC5nZXRBdHRyaWJ1dGUoJ2RhdGEtY2RrLW1lbnUtc3RhY2staWQnKSA9PT0gdGhpcy5tZW51U3RhY2suaWQpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgX2Rlc3Ryb3lPdmVybGF5KCkge1xuICAgIGlmICh0aGlzLm92ZXJsYXlSZWYpIHtcbiAgICAgIHRoaXMub3ZlcmxheVJlZi5kaXNwb3NlKCk7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2dldENoaWxkTWVudUluamVjdG9yKCkge1xuICAgIHRoaXMuX2NoaWxkTWVudUluamVjdG9yID1cbiAgICAgIHRoaXMuX2NoaWxkTWVudUluamVjdG9yIHx8XG4gICAgICBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICB7IHByb3ZpZGU6IE1FTlVfVFJJR0dFUiwgdXNlVmFsdWU6IHRoaXMgfSxcbiAgICAgICAgICB7IHByb3ZpZGU6IE1FTlVfU1RBQ0ssIHVzZVZhbHVlOiB0aGlzLm1lbnVTdGFjayB9LFxuICAgICAgICBdLFxuICAgICAgICBwYXJlbnQ6IHRoaXMuaW5qZWN0b3IsXG4gICAgICB9KTtcbiAgICByZXR1cm4gdGhpcy5fY2hpbGRNZW51SW5qZWN0b3I7XG4gIH1cbn1cbiJdfQ==