@ethlete/cdk 4.48.1 → 4.49.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 (655) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/fesm2022/ethlete-cdk.mjs +859 -880
  3. package/fesm2022/ethlete-cdk.mjs.map +1 -1
  4. package/lib/components/forms/utils/decorated-form-field.base.d.ts +1 -1
  5. package/lib/components/forms/utils/decorated-input.base.d.ts +1 -1
  6. package/lib/components/forms/utils/input.base.d.ts +1 -1
  7. package/lib/components/overlay/components/bottom-sheet/services/bottom-sheet-base.service.d.ts +1 -1
  8. package/lib/components/overlay/components/dialog/services/dialog-base.service.d.ts +1 -1
  9. package/lib/components/tabs/utils/paginated-tab-header.directive.d.ts +1 -1
  10. package/package.json +8 -10
  11. package/esm2022/ethlete-cdk.mjs +0 -5
  12. package/esm2022/index.mjs +0 -24
  13. package/esm2022/lib/components/accordion/accordion.imports.mjs +0 -15
  14. package/esm2022/lib/components/accordion/components/accordion/accordion.component.animations.mjs +0 -9
  15. package/esm2022/lib/components/accordion/components/accordion/accordion.component.constants.mjs +0 -3
  16. package/esm2022/lib/components/accordion/components/accordion/accordion.component.mjs +0 -76
  17. package/esm2022/lib/components/accordion/components/accordion/index.mjs +0 -4
  18. package/esm2022/lib/components/accordion/components/accordion-group/accordion-group.component.mjs +0 -53
  19. package/esm2022/lib/components/accordion/components/accordion-group/index.mjs +0 -2
  20. package/esm2022/lib/components/accordion/partials/accordion-hint/accordion-hint.directive.mjs +0 -17
  21. package/esm2022/lib/components/accordion/partials/accordion-hint/index.mjs +0 -2
  22. package/esm2022/lib/components/accordion/partials/accordion-hint-wrapper/accordion-hint-wrapper.directive.constants.mjs +0 -3
  23. package/esm2022/lib/components/accordion/partials/accordion-hint-wrapper/accordion-hint-wrapper.directive.mjs +0 -20
  24. package/esm2022/lib/components/accordion/partials/accordion-hint-wrapper/index.mjs +0 -3
  25. package/esm2022/lib/components/accordion/partials/accordion-label/accordion-label.directive.mjs +0 -17
  26. package/esm2022/lib/components/accordion/partials/accordion-label/index.mjs +0 -2
  27. package/esm2022/lib/components/accordion/partials/accordion-label-wrapper/accordion-label-wrapper.directive.constants.mjs +0 -3
  28. package/esm2022/lib/components/accordion/partials/accordion-label-wrapper/accordion-label-wrapper.directive.mjs +0 -20
  29. package/esm2022/lib/components/accordion/partials/accordion-label-wrapper/index.mjs +0 -3
  30. package/esm2022/lib/components/accordion/public-api/index.mjs +0 -8
  31. package/esm2022/lib/components/bracket/bracket.imports.mjs +0 -5
  32. package/esm2022/lib/components/bracket/components/bracket/bracket.component.mjs +0 -333
  33. package/esm2022/lib/components/bracket/components/bracket/bracket.component.types.mjs +0 -2
  34. package/esm2022/lib/components/bracket/components/bracket/index.mjs +0 -3
  35. package/esm2022/lib/components/bracket/components/new-bracket/bracket-new.mjs +0 -1044
  36. package/esm2022/lib/components/bracket/components/new-bracket/draw-man.mjs +0 -197
  37. package/esm2022/lib/components/bracket/components/new-bracket/grid-definitions.mjs +0 -47
  38. package/esm2022/lib/components/bracket/components/new-bracket/grid-placements.mjs +0 -105
  39. package/esm2022/lib/components/bracket/components/new-bracket/index.mjs +0 -8
  40. package/esm2022/lib/components/bracket/components/new-bracket/journey-highlight.mjs +0 -18
  41. package/esm2022/lib/components/bracket/components/new-bracket/new-bracket-default-match.component.mjs +0 -17
  42. package/esm2022/lib/components/bracket/components/new-bracket/new-bracket-default-round-header.component.mjs +0 -16
  43. package/esm2022/lib/components/bracket/components/new-bracket/new-bracket.component.mjs +0 -107
  44. package/esm2022/lib/components/bracket/constants/bracket.constants.mjs +0 -12
  45. package/esm2022/lib/components/bracket/constants/index.mjs +0 -2
  46. package/esm2022/lib/components/bracket/directives/bracket-match/bracket-match.directive.mjs +0 -19
  47. package/esm2022/lib/components/bracket/directives/bracket-match/index.mjs +0 -2
  48. package/esm2022/lib/components/bracket/directives/bracket-round/bracket-round.directive.mjs +0 -19
  49. package/esm2022/lib/components/bracket/directives/bracket-round/index.mjs +0 -2
  50. package/esm2022/lib/components/bracket/partials/bracket-match/bracket-match.component.mjs +0 -19
  51. package/esm2022/lib/components/bracket/partials/bracket-match/index.mjs +0 -2
  52. package/esm2022/lib/components/bracket/partials/bracket-round-header/bracket-round-header.component.mjs +0 -19
  53. package/esm2022/lib/components/bracket/partials/bracket-round-header/index.mjs +0 -2
  54. package/esm2022/lib/components/bracket/public-api/index.mjs +0 -14
  55. package/esm2022/lib/components/bracket/stories/dummy-data/ET_DUMMY_DATA_DOUBLE_SYNC.mjs +0 -1116
  56. package/esm2022/lib/components/bracket/stories/dummy-data/ET_DUMMY_DATA_SINGLE.mjs +0 -2691
  57. package/esm2022/lib/components/bracket/stories/dummy-data/ET_DUMMY_DATA_SWISS.mjs +0 -72479
  58. package/esm2022/lib/components/bracket/stories/dummy-data/ET_DUMMY_DATE_DOUBLE_ASYNC.mjs +0 -1275
  59. package/esm2022/lib/components/bracket/stories/dummy-data/FIFA_DUMMY_DATA_DOUBLE.mjs +0 -2453
  60. package/esm2022/lib/components/bracket/stories/dummy-data/FIFA_DUMMY_DATA_SINGLE.mjs +0 -2570
  61. package/esm2022/lib/components/bracket/stories/dummy-data/index.mjs +0 -7
  62. package/esm2022/lib/components/bracket/types/bracket-config.types.mjs +0 -2
  63. package/esm2022/lib/components/bracket/types/bracket.types.mjs +0 -2
  64. package/esm2022/lib/components/bracket/types/index.mjs +0 -3
  65. package/esm2022/lib/components/bracket/utils/bracket-config.utils.mjs +0 -13
  66. package/esm2022/lib/components/bracket/utils/bracket.utils.mjs +0 -339
  67. package/esm2022/lib/components/bracket/utils/index.mjs +0 -3
  68. package/esm2022/lib/components/button/button.imports.mjs +0 -4
  69. package/esm2022/lib/components/button/components/button/button.component.mjs +0 -18
  70. package/esm2022/lib/components/button/components/button/index.mjs +0 -2
  71. package/esm2022/lib/components/button/components/query-button/index.mjs +0 -2
  72. package/esm2022/lib/components/button/components/query-button/query-button.component.mjs +0 -26
  73. package/esm2022/lib/components/button/directives/button/button.directive.mjs +0 -69
  74. package/esm2022/lib/components/button/directives/button/index.mjs +0 -2
  75. package/esm2022/lib/components/button/directives/query-button/index.mjs +0 -2
  76. package/esm2022/lib/components/button/directives/query-button/query-button.directive.mjs +0 -136
  77. package/esm2022/lib/components/button/public-api/index.mjs +0 -6
  78. package/esm2022/lib/components/carousel/carousel.component.mjs +0 -51
  79. package/esm2022/lib/components/carousel/carousel.directive.mjs +0 -150
  80. package/esm2022/lib/components/carousel/carousel.imports.mjs +0 -12
  81. package/esm2022/lib/components/carousel/controls/carousel-item-nav.component.mjs +0 -64
  82. package/esm2022/lib/components/carousel/controls/carousel-item-nav.directive.mjs +0 -34
  83. package/esm2022/lib/components/carousel/controls/carousel-next-button.directive.mjs +0 -45
  84. package/esm2022/lib/components/carousel/controls/carousel-previous-button.directive.mjs +0 -45
  85. package/esm2022/lib/components/carousel/controls/carousel-toggle-auto-play-button.directive.mjs +0 -43
  86. package/esm2022/lib/components/carousel/controls/index.mjs +0 -6
  87. package/esm2022/lib/components/carousel/et-carousel-item.component.mjs +0 -24
  88. package/esm2022/lib/components/carousel/et-carousel-item.directive.mjs +0 -46
  89. package/esm2022/lib/components/carousel/public-api/index.mjs +0 -7
  90. package/esm2022/lib/components/filter/public-api/index.mjs +0 -7
  91. package/esm2022/lib/components/filter/rich-filter/components/rich-filter-host/index.mjs +0 -2
  92. package/esm2022/lib/components/filter/rich-filter/components/rich-filter-host/rich-filter-host.component.mjs +0 -70
  93. package/esm2022/lib/components/filter/rich-filter/directives/rich-filter-button/index.mjs +0 -2
  94. package/esm2022/lib/components/filter/rich-filter/directives/rich-filter-button/rich-filter-button.directive.mjs +0 -32
  95. package/esm2022/lib/components/filter/rich-filter/directives/rich-filter-button-slot/index.mjs +0 -2
  96. package/esm2022/lib/components/filter/rich-filter/directives/rich-filter-button-slot/rich-filter-button-slot.directive.mjs +0 -32
  97. package/esm2022/lib/components/filter/rich-filter/directives/rich-filter-content/index.mjs +0 -2
  98. package/esm2022/lib/components/filter/rich-filter/directives/rich-filter-content/rich-filter-content.directive.mjs +0 -32
  99. package/esm2022/lib/components/filter/rich-filter/directives/rich-filter-top/index.mjs +0 -2
  100. package/esm2022/lib/components/filter/rich-filter/directives/rich-filter-top/rich-filter-top.directive.mjs +0 -29
  101. package/esm2022/lib/components/filter/rich-filter/rich-filter.imports.mjs +0 -13
  102. package/esm2022/lib/components/forms/components/checkbox/checkbox.imports.mjs +0 -13
  103. package/esm2022/lib/components/forms/components/checkbox/components/checkbox/checkbox.component.mjs +0 -24
  104. package/esm2022/lib/components/forms/components/checkbox/components/checkbox/index.mjs +0 -2
  105. package/esm2022/lib/components/forms/components/checkbox/components/checkbox-field/checkbox-field.component.mjs +0 -47
  106. package/esm2022/lib/components/forms/components/checkbox/components/checkbox-field/index.mjs +0 -2
  107. package/esm2022/lib/components/forms/components/checkbox/components/checkbox-group/checkbox-group.component.mjs +0 -17
  108. package/esm2022/lib/components/forms/components/checkbox/components/checkbox-group/index.mjs +0 -2
  109. package/esm2022/lib/components/forms/components/checkbox/directives/checkbox/checkbox.directive.mjs +0 -40
  110. package/esm2022/lib/components/forms/components/checkbox/directives/checkbox/index.mjs +0 -2
  111. package/esm2022/lib/components/forms/components/checkbox/directives/checkbox-field/checkbox-field.directive.mjs +0 -39
  112. package/esm2022/lib/components/forms/components/checkbox/directives/checkbox-field/index.mjs +0 -2
  113. package/esm2022/lib/components/forms/components/checkbox/directives/checkbox-group/checkbox-group.directive.mjs +0 -83
  114. package/esm2022/lib/components/forms/components/checkbox/directives/checkbox-group/index.mjs +0 -2
  115. package/esm2022/lib/components/forms/components/checkbox/directives/checkbox-group-control/checkbox-group-control.directive.mjs +0 -31
  116. package/esm2022/lib/components/forms/components/checkbox/directives/checkbox-group-control/index.mjs +0 -2
  117. package/esm2022/lib/components/forms/components/error/components/error/error.component.mjs +0 -55
  118. package/esm2022/lib/components/forms/components/error/components/error/index.mjs +0 -2
  119. package/esm2022/lib/components/forms/components/input/components/color-input/color-input.component.mjs +0 -24
  120. package/esm2022/lib/components/forms/components/input/components/color-input/index.mjs +0 -2
  121. package/esm2022/lib/components/forms/components/input/components/date-input/date-input.component.mjs +0 -27
  122. package/esm2022/lib/components/forms/components/input/components/date-input/index.mjs +0 -2
  123. package/esm2022/lib/components/forms/components/input/components/date-time-input/date-time-input.component.mjs +0 -27
  124. package/esm2022/lib/components/forms/components/input/components/date-time-input/index.mjs +0 -2
  125. package/esm2022/lib/components/forms/components/input/components/email-input/email-input.component.mjs +0 -24
  126. package/esm2022/lib/components/forms/components/input/components/email-input/index.mjs +0 -2
  127. package/esm2022/lib/components/forms/components/input/components/input-field/index.mjs +0 -2
  128. package/esm2022/lib/components/forms/components/input/components/input-field/input-field.component.mjs +0 -55
  129. package/esm2022/lib/components/forms/components/input/components/number-input/index.mjs +0 -2
  130. package/esm2022/lib/components/forms/components/input/components/number-input/number-input.component.mjs +0 -27
  131. package/esm2022/lib/components/forms/components/input/components/password-input/index.mjs +0 -2
  132. package/esm2022/lib/components/forms/components/input/components/password-input/password-input.component.mjs +0 -24
  133. package/esm2022/lib/components/forms/components/input/components/search-input/index.mjs +0 -2
  134. package/esm2022/lib/components/forms/components/input/components/search-input/search-input.component.mjs +0 -24
  135. package/esm2022/lib/components/forms/components/input/components/tel-input/index.mjs +0 -2
  136. package/esm2022/lib/components/forms/components/input/components/tel-input/tel-input.component.mjs +0 -24
  137. package/esm2022/lib/components/forms/components/input/components/text-input/index.mjs +0 -2
  138. package/esm2022/lib/components/forms/components/input/components/text-input/text-input.component.mjs +0 -24
  139. package/esm2022/lib/components/forms/components/input/components/textarea-input/index.mjs +0 -2
  140. package/esm2022/lib/components/forms/components/input/components/textarea-input/textarea-input.component.mjs +0 -32
  141. package/esm2022/lib/components/forms/components/input/components/time-input/index.mjs +0 -2
  142. package/esm2022/lib/components/forms/components/input/components/time-input/time-input.component.mjs +0 -24
  143. package/esm2022/lib/components/forms/components/input/directives/autosize-textarea/autosize-textarea.directive.mjs +0 -51
  144. package/esm2022/lib/components/forms/components/input/directives/autosize-textarea/index.mjs +0 -2
  145. package/esm2022/lib/components/forms/components/input/directives/color-input/color-input.directive.mjs +0 -50
  146. package/esm2022/lib/components/forms/components/input/directives/color-input/index.mjs +0 -2
  147. package/esm2022/lib/components/forms/components/input/directives/date-input/date-input.directive.mjs +0 -61
  148. package/esm2022/lib/components/forms/components/input/directives/date-input/index.mjs +0 -2
  149. package/esm2022/lib/components/forms/components/input/directives/date-time-input/date-time-input.directive.mjs +0 -61
  150. package/esm2022/lib/components/forms/components/input/directives/date-time-input/index.mjs +0 -2
  151. package/esm2022/lib/components/forms/components/input/directives/email-input/email-input.directive.mjs +0 -50
  152. package/esm2022/lib/components/forms/components/input/directives/email-input/index.mjs +0 -2
  153. package/esm2022/lib/components/forms/components/input/directives/if-supports-show-picker/if-supports-show-picker.directive.mjs +0 -78
  154. package/esm2022/lib/components/forms/components/input/directives/if-supports-show-picker/index.mjs +0 -2
  155. package/esm2022/lib/components/forms/components/input/directives/number-input/index.mjs +0 -2
  156. package/esm2022/lib/components/forms/components/input/directives/number-input/number-input.directive.mjs +0 -51
  157. package/esm2022/lib/components/forms/components/input/directives/password-input/index.mjs +0 -2
  158. package/esm2022/lib/components/forms/components/input/directives/password-input/password-input.directive.mjs +0 -54
  159. package/esm2022/lib/components/forms/components/input/directives/search-input/index.mjs +0 -2
  160. package/esm2022/lib/components/forms/components/input/directives/search-input/search-input.directive.mjs +0 -58
  161. package/esm2022/lib/components/forms/components/input/directives/show-picker-trigger/index.mjs +0 -2
  162. package/esm2022/lib/components/forms/components/input/directives/show-picker-trigger/show-picker-trigger.directive.mjs +0 -42
  163. package/esm2022/lib/components/forms/components/input/directives/tel-input/index.mjs +0 -2
  164. package/esm2022/lib/components/forms/components/input/directives/tel-input/tel-input.directive.mjs +0 -50
  165. package/esm2022/lib/components/forms/components/input/directives/text-input/index.mjs +0 -2
  166. package/esm2022/lib/components/forms/components/input/directives/text-input/text-input.directive.mjs +0 -50
  167. package/esm2022/lib/components/forms/components/input/directives/textarea-input/index.mjs +0 -2
  168. package/esm2022/lib/components/forms/components/input/directives/textarea-input/textarea-input.directive.mjs +0 -50
  169. package/esm2022/lib/components/forms/components/input/directives/time-input/index.mjs +0 -2
  170. package/esm2022/lib/components/forms/components/input/directives/time-input/time-input.directive.mjs +0 -61
  171. package/esm2022/lib/components/forms/components/input/input.imports.mjs +0 -47
  172. package/esm2022/lib/components/forms/components/input/partials/password-input-toggle/index.mjs +0 -2
  173. package/esm2022/lib/components/forms/components/input/partials/password-input-toggle/password-input-toggle.component.mjs +0 -22
  174. package/esm2022/lib/components/forms/components/input/partials/search-input-clear/index.mjs +0 -2
  175. package/esm2022/lib/components/forms/components/input/partials/search-input-clear/search-input-clear.component.mjs +0 -22
  176. package/esm2022/lib/components/forms/components/label/components/label/index.mjs +0 -2
  177. package/esm2022/lib/components/forms/components/label/components/label/label.component.mjs +0 -51
  178. package/esm2022/lib/components/forms/components/label/directives/label-suffix/index.mjs +0 -2
  179. package/esm2022/lib/components/forms/components/label/directives/label-suffix/label-suffix.directive.mjs +0 -27
  180. package/esm2022/lib/components/forms/components/label/label.imports.mjs +0 -4
  181. package/esm2022/lib/components/forms/components/radio/components/radio/index.mjs +0 -2
  182. package/esm2022/lib/components/forms/components/radio/components/radio/radio.component.mjs +0 -29
  183. package/esm2022/lib/components/forms/components/radio/components/radio-field/index.mjs +0 -2
  184. package/esm2022/lib/components/forms/components/radio/components/radio-field/radio-field.component.mjs +0 -27
  185. package/esm2022/lib/components/forms/components/radio/components/radio-group/index.mjs +0 -2
  186. package/esm2022/lib/components/forms/components/radio/components/radio-group/radio-group.component.mjs +0 -45
  187. package/esm2022/lib/components/forms/components/radio/directives/radio/index.mjs +0 -2
  188. package/esm2022/lib/components/forms/components/radio/directives/radio/radio.directive.mjs +0 -60
  189. package/esm2022/lib/components/forms/components/radio/directives/radio-field/index.mjs +0 -2
  190. package/esm2022/lib/components/forms/components/radio/directives/radio-field/radio-field.directive.mjs +0 -36
  191. package/esm2022/lib/components/forms/components/radio/directives/radio-group/index.mjs +0 -2
  192. package/esm2022/lib/components/forms/components/radio/directives/radio-group/radio-group.directive.mjs +0 -30
  193. package/esm2022/lib/components/forms/components/radio/radio.imports.mjs +0 -6
  194. package/esm2022/lib/components/forms/components/radio/types/index.mjs +0 -2
  195. package/esm2022/lib/components/forms/components/radio/types/radio.types.mjs +0 -2
  196. package/esm2022/lib/components/forms/components/segmented-button/components/segmented-button/index.mjs +0 -2
  197. package/esm2022/lib/components/forms/components/segmented-button/components/segmented-button/segmented-button.component.mjs +0 -38
  198. package/esm2022/lib/components/forms/components/segmented-button/components/segmented-button-field/index.mjs +0 -2
  199. package/esm2022/lib/components/forms/components/segmented-button/components/segmented-button-field/segmented-button-field.component.mjs +0 -25
  200. package/esm2022/lib/components/forms/components/segmented-button/components/segmented-button-group/index.mjs +0 -2
  201. package/esm2022/lib/components/forms/components/segmented-button/components/segmented-button-group/segmented-button-group.component.mjs +0 -51
  202. package/esm2022/lib/components/forms/components/segmented-button/directives/segmented-button/index.mjs +0 -2
  203. package/esm2022/lib/components/forms/components/segmented-button/directives/segmented-button/segmented-button.directive.mjs +0 -70
  204. package/esm2022/lib/components/forms/components/segmented-button/directives/segmented-button-field/index.mjs +0 -2
  205. package/esm2022/lib/components/forms/components/segmented-button/directives/segmented-button-field/segmented-button-field.directive.mjs +0 -36
  206. package/esm2022/lib/components/forms/components/segmented-button/directives/segmented-button-group/index.mjs +0 -2
  207. package/esm2022/lib/components/forms/components/segmented-button/directives/segmented-button-group/segmented-button-group.directive.mjs +0 -63
  208. package/esm2022/lib/components/forms/components/segmented-button/segmented-button.imports.mjs +0 -9
  209. package/esm2022/lib/components/forms/components/select/components/combobox/combobox.imports.mjs +0 -23
  210. package/esm2022/lib/components/forms/components/select/components/combobox/components/combobox/combobox.component.mjs +0 -78
  211. package/esm2022/lib/components/forms/components/select/components/combobox/components/combobox/index.mjs +0 -2
  212. package/esm2022/lib/components/forms/components/select/components/combobox/constants/combobox.constants.mjs +0 -6
  213. package/esm2022/lib/components/forms/components/select/components/combobox/constants/index.mjs +0 -2
  214. package/esm2022/lib/components/forms/components/select/components/combobox/directives/combobox/combobox.directive.mjs +0 -658
  215. package/esm2022/lib/components/forms/components/select/components/combobox/directives/combobox/index.mjs +0 -2
  216. package/esm2022/lib/components/forms/components/select/components/combobox/directives/combobox-body-empty-template/combobox-body-empty-template.directive.mjs +0 -30
  217. package/esm2022/lib/components/forms/components/select/components/combobox/directives/combobox-body-empty-template/index.mjs +0 -2
  218. package/esm2022/lib/components/forms/components/select/components/combobox/directives/combobox-body-error-template/combobox-body-error-template.directive.mjs +0 -30
  219. package/esm2022/lib/components/forms/components/select/components/combobox/directives/combobox-body-error-template/index.mjs +0 -2
  220. package/esm2022/lib/components/forms/components/select/components/combobox/directives/combobox-body-loading-template/combobox-body-loading-template.directive.mjs +0 -30
  221. package/esm2022/lib/components/forms/components/select/components/combobox/directives/combobox-body-loading-template/index.mjs +0 -2
  222. package/esm2022/lib/components/forms/components/select/components/combobox/directives/combobox-body-more-items-hint-template/combobox-body-more-items-hint-template.directive.mjs +0 -30
  223. package/esm2022/lib/components/forms/components/select/components/combobox/directives/combobox-body-more-items-hint-template/index.mjs +0 -2
  224. package/esm2022/lib/components/forms/components/select/components/combobox/directives/combobox-option-template/combobox-option-template.directive.mjs +0 -30
  225. package/esm2022/lib/components/forms/components/select/components/combobox/directives/combobox-option-template/index.mjs +0 -2
  226. package/esm2022/lib/components/forms/components/select/components/combobox/directives/combobox-selected-option-template/combobox-selected-option-template.directive.mjs +0 -30
  227. package/esm2022/lib/components/forms/components/select/components/combobox/directives/combobox-selected-option-template/index.mjs +0 -2
  228. package/esm2022/lib/components/forms/components/select/components/combobox/partials/combobox-body/combobox-body.component.mjs +0 -78
  229. package/esm2022/lib/components/forms/components/select/components/combobox/partials/combobox-body/index.mjs +0 -2
  230. package/esm2022/lib/components/forms/components/select/components/combobox/partials/combobox-option/combobox-option.component.mjs +0 -71
  231. package/esm2022/lib/components/forms/components/select/components/combobox/partials/combobox-option/index.mjs +0 -2
  232. package/esm2022/lib/components/forms/components/select/components/combobox/private/combobox.private.errors.mjs +0 -22
  233. package/esm2022/lib/components/forms/components/select/components/combobox/private/combobox.private.types.mjs +0 -5
  234. package/esm2022/lib/components/forms/components/select/components/combobox/private/index.mjs +0 -3
  235. package/esm2022/lib/components/forms/components/select/components/combobox/types/combobox.types.mjs +0 -2
  236. package/esm2022/lib/components/forms/components/select/components/combobox/types/index.mjs +0 -2
  237. package/esm2022/lib/components/forms/components/select/components/combobox/utils/combobox-config.utils.mjs +0 -13
  238. package/esm2022/lib/components/forms/components/select/components/combobox/utils/index.mjs +0 -2
  239. package/esm2022/lib/components/forms/components/select/components/native-select/components/native-select/index.mjs +0 -2
  240. package/esm2022/lib/components/forms/components/select/components/native-select/components/native-select/native-select.component.mjs +0 -24
  241. package/esm2022/lib/components/forms/components/select/components/native-select/directives/native-select-input/index.mjs +0 -2
  242. package/esm2022/lib/components/forms/components/select/components/native-select/directives/native-select-input/native-select-input.directive.mjs +0 -58
  243. package/esm2022/lib/components/forms/components/select/components/native-select/directives/native-select-option/index.mjs +0 -2
  244. package/esm2022/lib/components/forms/components/select/components/native-select/directives/native-select-option/native-select-option.directive.mjs +0 -45
  245. package/esm2022/lib/components/forms/components/select/components/native-select/native-select.imports.mjs +0 -19
  246. package/esm2022/lib/components/forms/components/select/components/native-select/partials/native-select-option/index.mjs +0 -2
  247. package/esm2022/lib/components/forms/components/select/components/native-select/partials/native-select-option/native-select-option.component.mjs +0 -32
  248. package/esm2022/lib/components/forms/components/select/components/native-select/types/index.mjs +0 -2
  249. package/esm2022/lib/components/forms/components/select/components/native-select/types/select.types.mjs +0 -2
  250. package/esm2022/lib/components/forms/components/select/components/select/components/select/index.mjs +0 -2
  251. package/esm2022/lib/components/forms/components/select/components/select/components/select/select.component.mjs +0 -37
  252. package/esm2022/lib/components/forms/components/select/components/select/directives/select/index.mjs +0 -2
  253. package/esm2022/lib/components/forms/components/select/components/select/directives/select/select.directive.mjs +0 -303
  254. package/esm2022/lib/components/forms/components/select/components/select/directives/select-body/index.mjs +0 -2
  255. package/esm2022/lib/components/forms/components/select/components/select/directives/select-body/select-body.directive.mjs +0 -53
  256. package/esm2022/lib/components/forms/components/select/components/select/directives/select-option/index.mjs +0 -2
  257. package/esm2022/lib/components/forms/components/select/components/select/directives/select-option/select-option.directive.mjs +0 -106
  258. package/esm2022/lib/components/forms/components/select/components/select/partials/select-body/index.mjs +0 -2
  259. package/esm2022/lib/components/forms/components/select/components/select/partials/select-body/select-body.component.mjs +0 -41
  260. package/esm2022/lib/components/forms/components/select/components/select/partials/select-option/index.mjs +0 -2
  261. package/esm2022/lib/components/forms/components/select/components/select/partials/select-option/select-option.component.mjs +0 -28
  262. package/esm2022/lib/components/forms/components/select/components/select/private/index.mjs +0 -2
  263. package/esm2022/lib/components/forms/components/select/components/select/private/select.private.types.mjs +0 -2
  264. package/esm2022/lib/components/forms/components/select/components/select/select.imports.mjs +0 -15
  265. package/esm2022/lib/components/forms/components/select/components/select-field/index.mjs +0 -2
  266. package/esm2022/lib/components/forms/components/select/components/select-field/select-field.component.mjs +0 -58
  267. package/esm2022/lib/components/forms/components/select/directives/select-field/index.mjs +0 -2
  268. package/esm2022/lib/components/forms/components/select/directives/select-field/select-field.directive.mjs +0 -19
  269. package/esm2022/lib/components/forms/components/selection-list/components/selection-list-field/index.mjs +0 -2
  270. package/esm2022/lib/components/forms/components/selection-list/components/selection-list-field/selection-list-field.component.mjs +0 -40
  271. package/esm2022/lib/components/forms/components/selection-list/components/selection-list-option/index.mjs +0 -2
  272. package/esm2022/lib/components/forms/components/selection-list/components/selection-list-option/selection-list-option.component.mjs +0 -29
  273. package/esm2022/lib/components/forms/components/selection-list/directives/selection-list-field/index.mjs +0 -2
  274. package/esm2022/lib/components/forms/components/selection-list/directives/selection-list-field/selection-list-field.directive.mjs +0 -125
  275. package/esm2022/lib/components/forms/components/selection-list/directives/selection-list-option/index.mjs +0 -2
  276. package/esm2022/lib/components/forms/components/selection-list/directives/selection-list-option/selection-list-option.directive.mjs +0 -110
  277. package/esm2022/lib/components/forms/components/selection-list/selection-list.imports.mjs +0 -4
  278. package/esm2022/lib/components/forms/components/slide-toggle/components/slide-toggle/index.mjs +0 -2
  279. package/esm2022/lib/components/forms/components/slide-toggle/components/slide-toggle/slide-toggle.component.mjs +0 -24
  280. package/esm2022/lib/components/forms/components/slide-toggle/components/slide-toggle-field/index.mjs +0 -2
  281. package/esm2022/lib/components/forms/components/slide-toggle/components/slide-toggle-field/slide-toggle-field.component.mjs +0 -53
  282. package/esm2022/lib/components/forms/components/slide-toggle/directives/slide-toggle/index.mjs +0 -2
  283. package/esm2022/lib/components/forms/components/slide-toggle/directives/slide-toggle/slide-toggle.directive.mjs +0 -38
  284. package/esm2022/lib/components/forms/components/slide-toggle/slide-toggle.imports.mjs +0 -5
  285. package/esm2022/lib/components/forms/components/slider/components/slider/index.mjs +0 -2
  286. package/esm2022/lib/components/forms/components/slider/components/slider/slider.component.mjs +0 -331
  287. package/esm2022/lib/components/forms/components/slider/components/slider-field/index.mjs +0 -2
  288. package/esm2022/lib/components/forms/components/slider/components/slider-field/slider-field.component.mjs +0 -53
  289. package/esm2022/lib/components/forms/components/slider/slider.imports.mjs +0 -5
  290. package/esm2022/lib/components/forms/directives/dynamic-form-field/dynamic-form-field.directive.mjs +0 -41
  291. package/esm2022/lib/components/forms/directives/dynamic-form-field/index.mjs +0 -2
  292. package/esm2022/lib/components/forms/directives/dynamic-form-group/dynamic-form-group.directive.mjs +0 -41
  293. package/esm2022/lib/components/forms/directives/dynamic-form-group/index.mjs +0 -2
  294. package/esm2022/lib/components/forms/directives/expose-input-vars/expose-input-vars.directive.mjs +0 -83
  295. package/esm2022/lib/components/forms/directives/expose-input-vars/index.mjs +0 -2
  296. package/esm2022/lib/components/forms/directives/if-input-empty/if-input-empty.directive.mjs +0 -40
  297. package/esm2022/lib/components/forms/directives/if-input-empty/index.mjs +0 -2
  298. package/esm2022/lib/components/forms/directives/if-input-filled/if-input-filled.directive.mjs +0 -40
  299. package/esm2022/lib/components/forms/directives/if-input-filled/index.mjs +0 -2
  300. package/esm2022/lib/components/forms/directives/input/index.mjs +0 -2
  301. package/esm2022/lib/components/forms/directives/input/input.directive.mjs +0 -314
  302. package/esm2022/lib/components/forms/directives/input-prefix/index.mjs +0 -2
  303. package/esm2022/lib/components/forms/directives/input-prefix/input-prefix.directive.mjs +0 -30
  304. package/esm2022/lib/components/forms/directives/input-suffix/index.mjs +0 -2
  305. package/esm2022/lib/components/forms/directives/input-suffix/input-suffix.directive.mjs +0 -30
  306. package/esm2022/lib/components/forms/directives/native-input-ref/index.mjs +0 -2
  307. package/esm2022/lib/components/forms/directives/native-input-ref/native-input-ref.directive.mjs +0 -19
  308. package/esm2022/lib/components/forms/directives/static-form-field/index.mjs +0 -2
  309. package/esm2022/lib/components/forms/directives/static-form-field/static-form-field.directive.mjs +0 -76
  310. package/esm2022/lib/components/forms/directives/static-form-group/index.mjs +0 -2
  311. package/esm2022/lib/components/forms/directives/static-form-group/static-form-group.directive.mjs +0 -29
  312. package/esm2022/lib/components/forms/directives/writeable-input/index.mjs +0 -2
  313. package/esm2022/lib/components/forms/directives/writeable-input/writeable-input.directive.mjs +0 -57
  314. package/esm2022/lib/components/forms/public-api/index.mjs +0 -113
  315. package/esm2022/lib/components/forms/services/default-validator-errors.service.mjs +0 -54
  316. package/esm2022/lib/components/forms/services/form-field-state.service.mjs +0 -32
  317. package/esm2022/lib/components/forms/services/form-group-state.service.mjs +0 -21
  318. package/esm2022/lib/components/forms/services/index.mjs +0 -5
  319. package/esm2022/lib/components/forms/services/input-state.service.mjs +0 -72
  320. package/esm2022/lib/components/forms/types/index.mjs +0 -2
  321. package/esm2022/lib/components/forms/types/input.types.mjs +0 -2
  322. package/esm2022/lib/components/forms/utils/decorated-form-field.base.mjs +0 -19
  323. package/esm2022/lib/components/forms/utils/decorated-input.base.mjs +0 -48
  324. package/esm2022/lib/components/forms/utils/form-changes-tracker.util.mjs +0 -31
  325. package/esm2022/lib/components/forms/utils/index.mjs +0 -5
  326. package/esm2022/lib/components/forms/utils/input.base.mjs +0 -27
  327. package/esm2022/lib/components/icons/chevron-icon/chevron-icon.component.mjs +0 -37
  328. package/esm2022/lib/components/icons/chevron-icon/index.mjs +0 -2
  329. package/esm2022/lib/components/icons/icon.imports.mjs +0 -4
  330. package/esm2022/lib/components/icons/public-api/index.mjs +0 -4
  331. package/esm2022/lib/components/icons/times-icon/index.mjs +0 -2
  332. package/esm2022/lib/components/icons/times-icon/times-icon.component.mjs +0 -37
  333. package/esm2022/lib/components/masonry/components/masonry/index.mjs +0 -2
  334. package/esm2022/lib/components/masonry/components/masonry/masonry.component.mjs +0 -213
  335. package/esm2022/lib/components/masonry/masonry.imports.mjs +0 -4
  336. package/esm2022/lib/components/masonry/partials/masonry-item/index.mjs +0 -2
  337. package/esm2022/lib/components/masonry/partials/masonry-item/masonry-item.component.mjs +0 -74
  338. package/esm2022/lib/components/masonry/public-api/index.mjs +0 -5
  339. package/esm2022/lib/components/masonry/types/index.mjs +0 -2
  340. package/esm2022/lib/components/masonry/types/masonry.types.mjs +0 -2
  341. package/esm2022/lib/components/overlay/components/bottom-sheet/bottom-sheet.imports.mjs +0 -21
  342. package/esm2022/lib/components/overlay/components/bottom-sheet/components/bottom-sheet-container/bottom-sheet-container.component.mjs +0 -54
  343. package/esm2022/lib/components/overlay/components/bottom-sheet/components/bottom-sheet-container/index.mjs +0 -2
  344. package/esm2022/lib/components/overlay/components/bottom-sheet/constants/bottom-sheet.constants.mjs +0 -56
  345. package/esm2022/lib/components/overlay/components/bottom-sheet/constants/index.mjs +0 -2
  346. package/esm2022/lib/components/overlay/components/bottom-sheet/partials/bottom-sheet-container-base/bottom-sheet-container-base.component.mjs +0 -46
  347. package/esm2022/lib/components/overlay/components/bottom-sheet/partials/bottom-sheet-container-base/index.mjs +0 -2
  348. package/esm2022/lib/components/overlay/components/bottom-sheet/partials/bottom-sheet-drag-handle/bottom-sheet-drag-handle.component.mjs +0 -115
  349. package/esm2022/lib/components/overlay/components/bottom-sheet/partials/bottom-sheet-drag-handle/index.mjs +0 -2
  350. package/esm2022/lib/components/overlay/components/bottom-sheet/partials/bottom-sheet-title/bottom-sheet-title.directive.mjs +0 -42
  351. package/esm2022/lib/components/overlay/components/bottom-sheet/partials/bottom-sheet-title/index.mjs +0 -2
  352. package/esm2022/lib/components/overlay/components/bottom-sheet/services/bottom-sheet-base.service.mjs +0 -117
  353. package/esm2022/lib/components/overlay/components/bottom-sheet/services/bottom-sheet-swipe-handler.service.mjs +0 -57
  354. package/esm2022/lib/components/overlay/components/bottom-sheet/services/bottom-sheet.service.mjs +0 -34
  355. package/esm2022/lib/components/overlay/components/bottom-sheet/services/index.mjs +0 -4
  356. package/esm2022/lib/components/overlay/components/bottom-sheet/types/bottom-sheet.types.mjs +0 -2
  357. package/esm2022/lib/components/overlay/components/bottom-sheet/types/index.mjs +0 -2
  358. package/esm2022/lib/components/overlay/components/bottom-sheet/utils/bottom-sheet-config.mjs +0 -10
  359. package/esm2022/lib/components/overlay/components/bottom-sheet/utils/bottom-sheet-ref.mjs +0 -96
  360. package/esm2022/lib/components/overlay/components/bottom-sheet/utils/bottom-sheet.utils.mjs +0 -22
  361. package/esm2022/lib/components/overlay/components/bottom-sheet/utils/index.mjs +0 -4
  362. package/esm2022/lib/components/overlay/components/dialog/components/dialog-container/dialog-container.component.mjs +0 -54
  363. package/esm2022/lib/components/overlay/components/dialog/components/dialog-container/index.mjs +0 -2
  364. package/esm2022/lib/components/overlay/components/dialog/constants/dialog.constants.mjs +0 -52
  365. package/esm2022/lib/components/overlay/components/dialog/constants/index.mjs +0 -2
  366. package/esm2022/lib/components/overlay/components/dialog/dialog.imports.mjs +0 -17
  367. package/esm2022/lib/components/overlay/components/dialog/partials/dialog-close/dialog-close.directive.mjs +0 -67
  368. package/esm2022/lib/components/overlay/components/dialog/partials/dialog-close/index.mjs +0 -2
  369. package/esm2022/lib/components/overlay/components/dialog/partials/dialog-container-base/dialog-container-base.component.mjs +0 -46
  370. package/esm2022/lib/components/overlay/components/dialog/partials/dialog-container-base/index.mjs +0 -2
  371. package/esm2022/lib/components/overlay/components/dialog/partials/dialog-title/dialog-title.directive.mjs +0 -42
  372. package/esm2022/lib/components/overlay/components/dialog/partials/dialog-title/index.mjs +0 -2
  373. package/esm2022/lib/components/overlay/components/dialog/services/dialog-base.service.mjs +0 -112
  374. package/esm2022/lib/components/overlay/components/dialog/services/dialog.service.mjs +0 -34
  375. package/esm2022/lib/components/overlay/components/dialog/services/index.mjs +0 -3
  376. package/esm2022/lib/components/overlay/components/dialog/types/dialog.types.mjs +0 -2
  377. package/esm2022/lib/components/overlay/components/dialog/types/index.mjs +0 -2
  378. package/esm2022/lib/components/overlay/components/dialog/utils/dialog-config.mjs +0 -10
  379. package/esm2022/lib/components/overlay/components/dialog/utils/dialog-ref.mjs +0 -127
  380. package/esm2022/lib/components/overlay/components/dialog/utils/dialog.utils.mjs +0 -22
  381. package/esm2022/lib/components/overlay/components/dialog/utils/index.mjs +0 -4
  382. package/esm2022/lib/components/overlay/components/menu/components/menu/index.mjs +0 -2
  383. package/esm2022/lib/components/overlay/components/menu/components/menu/menu.component.mjs +0 -202
  384. package/esm2022/lib/components/overlay/components/menu/components/menu-checkbox-item/index.mjs +0 -2
  385. package/esm2022/lib/components/overlay/components/menu/components/menu-checkbox-item/menu-checkbox-item.component.mjs +0 -86
  386. package/esm2022/lib/components/overlay/components/menu/components/menu-container/index.mjs +0 -2
  387. package/esm2022/lib/components/overlay/components/menu/components/menu-container/menu-container.component.mjs +0 -47
  388. package/esm2022/lib/components/overlay/components/menu/components/menu-radio-item/index.mjs +0 -2
  389. package/esm2022/lib/components/overlay/components/menu/components/menu-radio-item/menu-radio-item.component.mjs +0 -77
  390. package/esm2022/lib/components/overlay/components/menu/directives/menu-checkbox-group/index.mjs +0 -2
  391. package/esm2022/lib/components/overlay/components/menu/directives/menu-checkbox-group/menu-checkbox-group.directive.mjs +0 -31
  392. package/esm2022/lib/components/overlay/components/menu/directives/menu-group/index.mjs +0 -2
  393. package/esm2022/lib/components/overlay/components/menu/directives/menu-group/menu-group.directive.mjs +0 -43
  394. package/esm2022/lib/components/overlay/components/menu/directives/menu-group-title/index.mjs +0 -2
  395. package/esm2022/lib/components/overlay/components/menu/directives/menu-group-title/menu-group-title.directive.mjs +0 -41
  396. package/esm2022/lib/components/overlay/components/menu/directives/menu-item/index.mjs +0 -2
  397. package/esm2022/lib/components/overlay/components/menu/directives/menu-item/menu-item.directive.mjs +0 -98
  398. package/esm2022/lib/components/overlay/components/menu/directives/menu-radio-group/index.mjs +0 -2
  399. package/esm2022/lib/components/overlay/components/menu/directives/menu-radio-group/menu-radio-group.directive.mjs +0 -45
  400. package/esm2022/lib/components/overlay/components/menu/directives/menu-search-template/index.mjs +0 -2
  401. package/esm2022/lib/components/overlay/components/menu/directives/menu-search-template/menu-search-template.directive.mjs +0 -29
  402. package/esm2022/lib/components/overlay/components/menu/directives/menu-trigger/index.mjs +0 -2
  403. package/esm2022/lib/components/overlay/components/menu/directives/menu-trigger/menu-trigger.directive.mjs +0 -183
  404. package/esm2022/lib/components/overlay/components/menu/menu.imports.mjs +0 -23
  405. package/esm2022/lib/components/overlay/components/menu-deprecated/context-menu-trigger.mjs +0 -165
  406. package/esm2022/lib/components/overlay/components/menu-deprecated/index.mjs +0 -17
  407. package/esm2022/lib/components/overlay/components/menu-deprecated/menu-aim.mjs +0 -136
  408. package/esm2022/lib/components/overlay/components/menu-deprecated/menu-bar.mjs +0 -112
  409. package/esm2022/lib/components/overlay/components/menu-deprecated/menu-base.mjs +0 -171
  410. package/esm2022/lib/components/overlay/components/menu-deprecated/menu-errors.mjs +0 -7
  411. package/esm2022/lib/components/overlay/components/menu-deprecated/menu-group.mjs +0 -25
  412. package/esm2022/lib/components/overlay/components/menu-deprecated/menu-interface.mjs +0 -3
  413. package/esm2022/lib/components/overlay/components/menu-deprecated/menu-item-checkbox.mjs +0 -38
  414. package/esm2022/lib/components/overlay/components/menu-deprecated/menu-item-radio.mjs +0 -55
  415. package/esm2022/lib/components/overlay/components/menu-deprecated/menu-item-selectable.mjs +0 -38
  416. package/esm2022/lib/components/overlay/components/menu-deprecated/menu-item.mjs +0 -212
  417. package/esm2022/lib/components/overlay/components/menu-deprecated/menu-module.mjs +0 -58
  418. package/esm2022/lib/components/overlay/components/menu-deprecated/menu-stack.mjs +0 -99
  419. package/esm2022/lib/components/overlay/components/menu-deprecated/menu-trigger-base.mjs +0 -80
  420. package/esm2022/lib/components/overlay/components/menu-deprecated/menu-trigger.mjs +0 -250
  421. package/esm2022/lib/components/overlay/components/menu-deprecated/menu.mjs +0 -115
  422. package/esm2022/lib/components/overlay/components/menu-deprecated/pointer-focus-tracker.mjs +0 -29
  423. package/esm2022/lib/components/overlay/components/overlay/components/overlay-container/index.mjs +0 -2
  424. package/esm2022/lib/components/overlay/components/overlay/components/overlay-container/overlay-container.component.mjs +0 -287
  425. package/esm2022/lib/components/overlay/components/overlay/constants/index.mjs +0 -2
  426. package/esm2022/lib/components/overlay/components/overlay/constants/overlay.constants.mjs +0 -26
  427. package/esm2022/lib/components/overlay/components/overlay/overlay.imports.mjs +0 -40
  428. package/esm2022/lib/components/overlay/components/overlay/partials/overlay-back-or-close/index.mjs +0 -2
  429. package/esm2022/lib/components/overlay/components/overlay/partials/overlay-back-or-close/overlay-back-or-close.directive.mjs +0 -43
  430. package/esm2022/lib/components/overlay/components/overlay/partials/overlay-body/index.mjs +0 -2
  431. package/esm2022/lib/components/overlay/components/overlay/partials/overlay-body/overlay-body.component.mjs +0 -134
  432. package/esm2022/lib/components/overlay/components/overlay/partials/overlay-close/index.mjs +0 -2
  433. package/esm2022/lib/components/overlay/components/overlay/partials/overlay-close/overlay-close.directive.mjs +0 -61
  434. package/esm2022/lib/components/overlay/components/overlay/partials/overlay-footer/index.mjs +0 -2
  435. package/esm2022/lib/components/overlay/components/overlay/partials/overlay-footer/overlay-footer.directive.mjs +0 -45
  436. package/esm2022/lib/components/overlay/components/overlay/partials/overlay-header/index.mjs +0 -2
  437. package/esm2022/lib/components/overlay/components/overlay/partials/overlay-header/overlay-header.directive.mjs +0 -45
  438. package/esm2022/lib/components/overlay/components/overlay/partials/overlay-header-template/index.mjs +0 -2
  439. package/esm2022/lib/components/overlay/components/overlay/partials/overlay-header-template/overlay-header-template.directive.mjs +0 -50
  440. package/esm2022/lib/components/overlay/components/overlay/partials/overlay-main/index.mjs +0 -2
  441. package/esm2022/lib/components/overlay/components/overlay/partials/overlay-main/overlay-main.directive.mjs +0 -53
  442. package/esm2022/lib/components/overlay/components/overlay/partials/overlay-route-header-template-outlet/index.mjs +0 -2
  443. package/esm2022/lib/components/overlay/components/overlay/partials/overlay-route-header-template-outlet/overlay-route-header-template-outlet.component.mjs +0 -41
  444. package/esm2022/lib/components/overlay/components/overlay/partials/overlay-router-link/index.mjs +0 -2
  445. package/esm2022/lib/components/overlay/components/overlay/partials/overlay-router-link/overlay-router-link.directive.mjs +0 -46
  446. package/esm2022/lib/components/overlay/components/overlay/partials/overlay-router-outlet/index.mjs +0 -2
  447. package/esm2022/lib/components/overlay/components/overlay/partials/overlay-router-outlet/overlay-router-outlet.component.mjs +0 -137
  448. package/esm2022/lib/components/overlay/components/overlay/partials/overlay-router-outlet-disabled-template/index.mjs +0 -2
  449. package/esm2022/lib/components/overlay/components/overlay/partials/overlay-router-outlet-disabled-template/overlay-router-outlet-disabled-template.directive.mjs +0 -26
  450. package/esm2022/lib/components/overlay/components/overlay/partials/overlay-shared-route-template/index.mjs +0 -2
  451. package/esm2022/lib/components/overlay/components/overlay/partials/overlay-shared-route-template/overlay-shared-route-template.directive.mjs +0 -26
  452. package/esm2022/lib/components/overlay/components/overlay/partials/overlay-shared-route-template-outlet/index.mjs +0 -2
  453. package/esm2022/lib/components/overlay/components/overlay/partials/overlay-shared-route-template-outlet/overlay-shared-route-template-outlet.component.mjs +0 -26
  454. package/esm2022/lib/components/overlay/components/overlay/partials/overlay-sidebar/index.mjs +0 -2
  455. package/esm2022/lib/components/overlay/components/overlay/partials/overlay-sidebar/overlay-sidebar.component.mjs +0 -54
  456. package/esm2022/lib/components/overlay/components/overlay/partials/overlay-sidebar-page/index.mjs +0 -2
  457. package/esm2022/lib/components/overlay/components/overlay/partials/overlay-sidebar-page/overlay-sidebar-page.component.mjs +0 -52
  458. package/esm2022/lib/components/overlay/components/overlay/partials/overlay-title/index.mjs +0 -2
  459. package/esm2022/lib/components/overlay/components/overlay/partials/overlay-title/overlay-title.directive.mjs +0 -39
  460. package/esm2022/lib/components/overlay/components/overlay/services/index.mjs +0 -2
  461. package/esm2022/lib/components/overlay/components/overlay/services/overlay.service.mjs +0 -313
  462. package/esm2022/lib/components/overlay/components/overlay/types/index.mjs +0 -2
  463. package/esm2022/lib/components/overlay/components/overlay/types/overlay.types.mjs +0 -6
  464. package/esm2022/lib/components/overlay/components/overlay/utils/filter-overlay.mjs +0 -124
  465. package/esm2022/lib/components/overlay/components/overlay/utils/index.mjs +0 -10
  466. package/esm2022/lib/components/overlay/components/overlay/utils/overlay-config.mjs +0 -7
  467. package/esm2022/lib/components/overlay/components/overlay/utils/overlay-handler-link.directive.mjs +0 -33
  468. package/esm2022/lib/components/overlay/components/overlay/utils/overlay-handler.mjs +0 -159
  469. package/esm2022/lib/components/overlay/components/overlay/utils/overlay-position-builder.mjs +0 -224
  470. package/esm2022/lib/components/overlay/components/overlay/utils/overlay-ref.mjs +0 -173
  471. package/esm2022/lib/components/overlay/components/overlay/utils/overlay-router.mjs +0 -190
  472. package/esm2022/lib/components/overlay/components/overlay/utils/overlay.utils.mjs +0 -13
  473. package/esm2022/lib/components/overlay/components/overlay/utils/sidebar-overlay.mjs +0 -54
  474. package/esm2022/lib/components/overlay/components/toggletip/components/toggletip/index.mjs +0 -2
  475. package/esm2022/lib/components/overlay/components/toggletip/components/toggletip/toggletip.component.mjs +0 -69
  476. package/esm2022/lib/components/overlay/components/toggletip/constants/index.mjs +0 -2
  477. package/esm2022/lib/components/overlay/components/toggletip/constants/toggletip.constants.mjs +0 -12
  478. package/esm2022/lib/components/overlay/components/toggletip/directives/toggletip/index.mjs +0 -2
  479. package/esm2022/lib/components/overlay/components/toggletip/directives/toggletip/toggletip.directive.mjs +0 -136
  480. package/esm2022/lib/components/overlay/components/toggletip/partials/toggletip-close/index.mjs +0 -2
  481. package/esm2022/lib/components/overlay/components/toggletip/partials/toggletip-close/toggletip-close.directive.mjs +0 -25
  482. package/esm2022/lib/components/overlay/components/toggletip/toggletip.imports.mjs +0 -3
  483. package/esm2022/lib/components/overlay/components/toggletip/types/index.mjs +0 -2
  484. package/esm2022/lib/components/overlay/components/toggletip/types/toggletip.types.mjs +0 -2
  485. package/esm2022/lib/components/overlay/components/toggletip/utils/index.mjs +0 -3
  486. package/esm2022/lib/components/overlay/components/toggletip/utils/toggletip-config.mjs +0 -6
  487. package/esm2022/lib/components/overlay/components/toggletip/utils/toggletip.util.mjs +0 -6
  488. package/esm2022/lib/components/overlay/components/tooltip/components/tooltip/index.mjs +0 -2
  489. package/esm2022/lib/components/overlay/components/tooltip/components/tooltip/tooltip.component.mjs +0 -67
  490. package/esm2022/lib/components/overlay/components/tooltip/constants/index.mjs +0 -2
  491. package/esm2022/lib/components/overlay/components/tooltip/constants/tooltip.constants.mjs +0 -12
  492. package/esm2022/lib/components/overlay/components/tooltip/directives/tooltip/index.mjs +0 -2
  493. package/esm2022/lib/components/overlay/components/tooltip/directives/tooltip/tooltip.directive.mjs +0 -171
  494. package/esm2022/lib/components/overlay/components/tooltip/tooltip.imports.mjs +0 -3
  495. package/esm2022/lib/components/overlay/components/tooltip/types/index.mjs +0 -2
  496. package/esm2022/lib/components/overlay/components/tooltip/types/tooltip.types.mjs +0 -2
  497. package/esm2022/lib/components/overlay/components/tooltip/utils/index.mjs +0 -3
  498. package/esm2022/lib/components/overlay/components/tooltip/utils/tooltip-config.mjs +0 -6
  499. package/esm2022/lib/components/overlay/components/tooltip/utils/tooltip.util.mjs +0 -6
  500. package/esm2022/lib/components/overlay/directives/dynamic-overlay-title/dynamic-overlay-title.directive.mjs +0 -49
  501. package/esm2022/lib/components/overlay/directives/dynamic-overlay-title/index.mjs +0 -2
  502. package/esm2022/lib/components/overlay/directives/overlay-close-auto-blocker/index.mjs +0 -2
  503. package/esm2022/lib/components/overlay/directives/overlay-close-auto-blocker/overlay-close-auto-blocker.directive.mjs +0 -51
  504. package/esm2022/lib/components/overlay/public-api/index.mjs +0 -72
  505. package/esm2022/lib/components/overlay/services/dynamic-overlay.service.mjs +0 -31
  506. package/esm2022/lib/components/overlay/services/index.mjs +0 -2
  507. package/esm2022/lib/components/overlay/types/dynamic-overlay.types.mjs +0 -2
  508. package/esm2022/lib/components/overlay/types/index.mjs +0 -2
  509. package/esm2022/lib/components/overlay/utils/index.mjs +0 -2
  510. package/esm2022/lib/components/overlay/utils/overlay-dismiss-checker.util.mjs +0 -105
  511. package/esm2022/lib/components/pagination/components/pagination/index.mjs +0 -2
  512. package/esm2022/lib/components/pagination/components/pagination/pagination.component.mjs +0 -110
  513. package/esm2022/lib/components/pagination/pagination.imports.mjs +0 -3
  514. package/esm2022/lib/components/pagination/partials/pagination-link/index.mjs +0 -2
  515. package/esm2022/lib/components/pagination/partials/pagination-link/pagination-link.directive.mjs +0 -32
  516. package/esm2022/lib/components/pagination/public-api/index.mjs +0 -7
  517. package/esm2022/lib/components/pagination/services/index.mjs +0 -2
  518. package/esm2022/lib/components/pagination/services/pagination-head.service.mjs +0 -74
  519. package/esm2022/lib/components/pagination/types/index.mjs +0 -2
  520. package/esm2022/lib/components/pagination/types/pagination.types.mjs +0 -2
  521. package/esm2022/lib/components/pagination/utils/index.mjs +0 -2
  522. package/esm2022/lib/components/pagination/utils/pagination.util.mjs +0 -98
  523. package/esm2022/lib/components/picture/components/picture/index.mjs +0 -2
  524. package/esm2022/lib/components/picture/components/picture/picture.component.mjs +0 -56
  525. package/esm2022/lib/components/picture/public-api/index.mjs +0 -4
  526. package/esm2022/lib/components/picture/types/picture.types.mjs +0 -2
  527. package/esm2022/lib/components/picture/utils/picture.utils.mjs +0 -31
  528. package/esm2022/lib/components/progress-spinner/index.mjs +0 -2
  529. package/esm2022/lib/components/progress-spinner/progress-spinner.component.mjs +0 -94
  530. package/esm2022/lib/components/query-error/components/query-error/index.mjs +0 -2
  531. package/esm2022/lib/components/query-error/components/query-error/query-error.component.mjs +0 -27
  532. package/esm2022/lib/components/query-error/directives/query-error/index.mjs +0 -2
  533. package/esm2022/lib/components/query-error/directives/query-error/query-error.directive.mjs +0 -432
  534. package/esm2022/lib/components/query-error/public-api/index.mjs +0 -4
  535. package/esm2022/lib/components/query-error/types/index.mjs +0 -2
  536. package/esm2022/lib/components/query-error/types/query-error.types.mjs +0 -2
  537. package/esm2022/lib/components/scrollable/components/scrollable/index.mjs +0 -2
  538. package/esm2022/lib/components/scrollable/components/scrollable/scrollable.component.mjs +0 -510
  539. package/esm2022/lib/components/scrollable/components/scrollable-placeholder/index.mjs +0 -2
  540. package/esm2022/lib/components/scrollable/components/scrollable-placeholder/scrollable-placeholder.component.mjs +0 -26
  541. package/esm2022/lib/components/scrollable/directives/scrollable-ignore-child/index.mjs +0 -2
  542. package/esm2022/lib/components/scrollable/directives/scrollable-ignore-child/scrollable-ignore-child.directive.mjs +0 -44
  543. package/esm2022/lib/components/scrollable/directives/scrollable-is-active-child/index.mjs +0 -2
  544. package/esm2022/lib/components/scrollable/directives/scrollable-is-active-child/scrollable-is-active-child.directive.mjs +0 -45
  545. package/esm2022/lib/components/scrollable/directives/scrollable-loading-template/index.mjs +0 -2
  546. package/esm2022/lib/components/scrollable/directives/scrollable-loading-template/scrollable-loading-template.directive.mjs +0 -31
  547. package/esm2022/lib/components/scrollable/directives/scrollable-placeholder-item-template/index.mjs +0 -2
  548. package/esm2022/lib/components/scrollable/directives/scrollable-placeholder-item-template/scrollable-placeholder-item-template.directive.mjs +0 -26
  549. package/esm2022/lib/components/scrollable/directives/scrollable-placeholder-overlay-template/index.mjs +0 -2
  550. package/esm2022/lib/components/scrollable/directives/scrollable-placeholder-overlay-template/scrollable-placeholder-overlay-template.directive.mjs +0 -26
  551. package/esm2022/lib/components/scrollable/public-api/index.mjs +0 -10
  552. package/esm2022/lib/components/scrollable/scrollable.imports.mjs +0 -17
  553. package/esm2022/lib/components/scrollable/types/index.mjs +0 -2
  554. package/esm2022/lib/components/scrollable/types/scrollable.types.mjs +0 -2
  555. package/esm2022/lib/components/skeleton/components/skeleton/index.mjs +0 -2
  556. package/esm2022/lib/components/skeleton/components/skeleton/skeleton.component.mjs +0 -25
  557. package/esm2022/lib/components/skeleton/partials/skeleton-item/index.mjs +0 -2
  558. package/esm2022/lib/components/skeleton/partials/skeleton-item/skeleton-item.component.mjs +0 -19
  559. package/esm2022/lib/components/skeleton/public-api/index.mjs +0 -4
  560. package/esm2022/lib/components/skeleton/skeleton.imports.mjs +0 -4
  561. package/esm2022/lib/components/sort/components/sort-header/index.mjs +0 -3
  562. package/esm2022/lib/components/sort/components/sort-header/sort-header.component.mjs +0 -198
  563. package/esm2022/lib/components/sort/components/sort-header/sort-header.types.mjs +0 -2
  564. package/esm2022/lib/components/sort/partials/sort/index.mjs +0 -3
  565. package/esm2022/lib/components/sort/partials/sort/sort.directive.mjs +0 -184
  566. package/esm2022/lib/components/sort/partials/sort/sort.types.mjs +0 -2
  567. package/esm2022/lib/components/sort/public-api/index.mjs +0 -6
  568. package/esm2022/lib/components/sort/services/index.mjs +0 -2
  569. package/esm2022/lib/components/sort/services/sort-header-intl.mjs +0 -23
  570. package/esm2022/lib/components/sort/sort.imports.mjs +0 -8
  571. package/esm2022/lib/components/sort/types/index.mjs +0 -2
  572. package/esm2022/lib/components/sort/types/sort-direction.mjs +0 -2
  573. package/esm2022/lib/components/table/components/table/index.mjs +0 -2
  574. package/esm2022/lib/components/table/components/table/table.component.mjs +0 -145
  575. package/esm2022/lib/components/table/constants/index.mjs +0 -2
  576. package/esm2022/lib/components/table/constants/table-data-source.constants.mjs +0 -2
  577. package/esm2022/lib/components/table/partials/cells/cell/cell.directive.mjs +0 -18
  578. package/esm2022/lib/components/table/partials/cells/cell/index.mjs +0 -2
  579. package/esm2022/lib/components/table/partials/cells/cell-def/cell-def.directive.mjs +0 -16
  580. package/esm2022/lib/components/table/partials/cells/cell-def/index.mjs +0 -2
  581. package/esm2022/lib/components/table/partials/cells/column-def/column-def.directive.mjs +0 -44
  582. package/esm2022/lib/components/table/partials/cells/column-def/index.mjs +0 -2
  583. package/esm2022/lib/components/table/partials/cells/footer-cell/footer-cell.directive.mjs +0 -18
  584. package/esm2022/lib/components/table/partials/cells/footer-cell/index.mjs +0 -2
  585. package/esm2022/lib/components/table/partials/cells/footer-cell-def/footer-cell-def.directive.mjs +0 -16
  586. package/esm2022/lib/components/table/partials/cells/footer-cell-def/index.mjs +0 -2
  587. package/esm2022/lib/components/table/partials/cells/header-cell/header-cell.directive.mjs +0 -19
  588. package/esm2022/lib/components/table/partials/cells/header-cell/index.mjs +0 -2
  589. package/esm2022/lib/components/table/partials/cells/header-cell-def/header-cell-def.directive.mjs +0 -16
  590. package/esm2022/lib/components/table/partials/cells/header-cell-def/index.mjs +0 -2
  591. package/esm2022/lib/components/table/partials/cells/text-column/index.mjs +0 -2
  592. package/esm2022/lib/components/table/partials/cells/text-column/text-column.component.mjs +0 -53
  593. package/esm2022/lib/components/table/partials/rows/footer-row/footer-row.component.mjs +0 -26
  594. package/esm2022/lib/components/table/partials/rows/footer-row/index.mjs +0 -2
  595. package/esm2022/lib/components/table/partials/rows/footer-row-def/footer-row-def.directive.mjs +0 -26
  596. package/esm2022/lib/components/table/partials/rows/footer-row-def/index.mjs +0 -2
  597. package/esm2022/lib/components/table/partials/rows/header-row/header-row.component.mjs +0 -26
  598. package/esm2022/lib/components/table/partials/rows/header-row/index.mjs +0 -2
  599. package/esm2022/lib/components/table/partials/rows/header-row-def/header-row-def.directive.mjs +0 -26
  600. package/esm2022/lib/components/table/partials/rows/header-row-def/index.mjs +0 -2
  601. package/esm2022/lib/components/table/partials/rows/no-data-row/index.mjs +0 -2
  602. package/esm2022/lib/components/table/partials/rows/no-data-row/no-data-row.directive.mjs +0 -20
  603. package/esm2022/lib/components/table/partials/rows/recycle-rows/index.mjs +0 -2
  604. package/esm2022/lib/components/table/partials/rows/recycle-rows/recycle-rows.directive.mjs +0 -16
  605. package/esm2022/lib/components/table/partials/rows/row/index.mjs +0 -2
  606. package/esm2022/lib/components/table/partials/rows/row/row.component.mjs +0 -26
  607. package/esm2022/lib/components/table/partials/rows/row-def/index.mjs +0 -2
  608. package/esm2022/lib/components/table/partials/rows/row-def/row-def.directive.mjs +0 -26
  609. package/esm2022/lib/components/table/partials/table-busy/index.mjs +0 -2
  610. package/esm2022/lib/components/table/partials/table-busy/table-busy.directive.mjs +0 -18
  611. package/esm2022/lib/components/table/partials/table-busy-outlet/index.mjs +0 -2
  612. package/esm2022/lib/components/table/partials/table-busy-outlet/table-busy-outlet.directive.mjs +0 -15
  613. package/esm2022/lib/components/table/public-api/index.mjs +0 -24
  614. package/esm2022/lib/components/table/table.imports.mjs +0 -39
  615. package/esm2022/lib/components/table/types/index.mjs +0 -2
  616. package/esm2022/lib/components/table/types/table-data-source.types.mjs +0 -2
  617. package/esm2022/lib/components/table/utils/index.mjs +0 -2
  618. package/esm2022/lib/components/table/utils/table-data-source.mjs +0 -168
  619. package/esm2022/lib/components/tabs/animations/index.mjs +0 -2
  620. package/esm2022/lib/components/tabs/animations/tabs.animations.mjs +0 -26
  621. package/esm2022/lib/components/tabs/components/inline-tabs/index.mjs +0 -2
  622. package/esm2022/lib/components/tabs/components/inline-tabs/inline-tabs.component.mjs +0 -257
  623. package/esm2022/lib/components/tabs/components/nav-tabs/index.mjs +0 -2
  624. package/esm2022/lib/components/tabs/components/nav-tabs/nav-tabs.component.mjs +0 -82
  625. package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab/index.mjs +0 -2
  626. package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab/inline-tab.component.mjs +0 -88
  627. package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-body/index.mjs +0 -2
  628. package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-body/inline-tab-body.component.mjs +0 -133
  629. package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-body-host/index.mjs +0 -2
  630. package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-body-host/inline-tab-body-host.directive.mjs +0 -25
  631. package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-content/index.mjs +0 -2
  632. package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-content/inline-tab-content.directive.mjs +0 -22
  633. package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-header/index.mjs +0 -2
  634. package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-header/inline-tab-header.component.mjs +0 -34
  635. package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-label/index.mjs +0 -2
  636. package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-label/inline-tab-label.directive.mjs +0 -30
  637. package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-label-wrapper/index.mjs +0 -2
  638. package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-label-wrapper/inline-tab-label-wrapper.directive.mjs +0 -42
  639. package/esm2022/lib/components/tabs/partials/nav-tabs/nav-tab-link/index.mjs +0 -2
  640. package/esm2022/lib/components/tabs/partials/nav-tabs/nav-tab-link/nav-tab-link.directive.mjs +0 -177
  641. package/esm2022/lib/components/tabs/partials/nav-tabs/nav-tabs-outlet/index.mjs +0 -2
  642. package/esm2022/lib/components/tabs/partials/nav-tabs/nav-tabs-outlet/nav-tabs-outlet.component.mjs +0 -37
  643. package/esm2022/lib/components/tabs/public-api/index.mjs +0 -16
  644. package/esm2022/lib/components/tabs/tab.imports.mjs +0 -25
  645. package/esm2022/lib/components/tabs/types/index.mjs +0 -2
  646. package/esm2022/lib/components/tabs/types/tab-config.types.mjs +0 -3
  647. package/esm2022/lib/components/tabs/utils/active-tab-underline.util.mjs +0 -112
  648. package/esm2022/lib/components/tabs/utils/index.mjs +0 -3
  649. package/esm2022/lib/components/tabs/utils/paginated-tab-header.directive.mjs +0 -272
  650. package/esm2022/lib/services/index.mjs +0 -2
  651. package/esm2022/lib/services/swipe-handler.service.mjs +0 -102
  652. package/esm2022/lib/types/index.mjs +0 -2
  653. package/esm2022/lib/types/swipe.types.mjs +0 -2
  654. package/esm2022/lib/utils/floating-ui.utils.mjs +0 -15
  655. package/esm2022/lib/utils/index.mjs +0 -2
@@ -1,39 +0,0 @@
1
- import { Directive, ElementRef, HostBinding, inject, Input } from '@angular/core';
2
- import { OverlayService } from '../../services';
3
- import { getClosestOverlay, OverlayRef } from '../../utils';
4
- import * as i0 from "@angular/core";
5
- let uniqueId = 0;
6
- export class OverlayTitleDirective {
7
- constructor() {
8
- this._overlayRef = inject(OverlayRef, { optional: true });
9
- this._elementRef = inject(ElementRef);
10
- this._overlayService = inject(OverlayService);
11
- this.id = `et-overlay-title-${uniqueId++}`;
12
- }
13
- ngOnInit() {
14
- if (!this._overlayRef) {
15
- const closestRef = getClosestOverlay(this._elementRef, this._overlayService.openOverlays());
16
- if (!closestRef) {
17
- throw Error('No closest ref found');
18
- }
19
- this._overlayRef = closestRef;
20
- }
21
- Promise.resolve().then(() => this._overlayRef?._containerInstance?._ariaLabelledByQueue?.push(this.id));
22
- }
23
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: OverlayTitleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
24
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: OverlayTitleDirective, isStandalone: true, selector: "[et-overlay-title], [etOverlayTitle]", inputs: { id: "id" }, host: { properties: { "attr.id": "this.id" } }, exportAs: ["etOverlayTitle"], ngImport: i0 }); }
25
- }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: OverlayTitleDirective, decorators: [{
27
- type: Directive,
28
- args: [{
29
- selector: '[et-overlay-title], [etOverlayTitle]',
30
- exportAs: 'etOverlayTitle',
31
- standalone: true,
32
- }]
33
- }], propDecorators: { id: [{
34
- type: Input
35
- }, {
36
- type: HostBinding,
37
- args: ['attr.id']
38
- }] } });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS10aXRsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvb3ZlcmxheS9jb21wb25lbnRzL292ZXJsYXkvcGFydGlhbHMvb3ZlcmxheS10aXRsZS9vdmVybGF5LXRpdGxlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFFNUQsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBT2pCLE1BQU0sT0FBTyxxQkFBcUI7SUFMbEM7UUFNVSxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM1QyxnQkFBVyxHQUFHLE1BQU0sQ0FBMEIsVUFBVSxDQUFDLENBQUM7UUFDMUQsb0JBQWUsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFJMUQsT0FBRSxHQUFHLG9CQUFvQixRQUFRLEVBQUUsRUFBRSxDQUFDO0tBZXZDO0lBYkMsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdEIsTUFBTSxVQUFVLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7WUFFNUYsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUNoQixNQUFNLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1lBQ3RDLENBQUM7WUFFRCxJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQztRQUNoQyxDQUFDO1FBRUQsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLGtCQUFrQixFQUFFLG9CQUFvQixFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMxRyxDQUFDOytHQXJCVSxxQkFBcUI7bUdBQXJCLHFCQUFxQjs7NEZBQXJCLHFCQUFxQjtrQkFMakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0NBQXNDO29CQUNoRCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixVQUFVLEVBQUUsSUFBSTtpQkFDakI7OEJBUUMsRUFBRTtzQkFGRCxLQUFLOztzQkFDTCxXQUFXO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBpbmplY3QsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE92ZXJsYXlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgZ2V0Q2xvc2VzdE92ZXJsYXksIE92ZXJsYXlSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XG5cbmxldCB1bmlxdWVJZCA9IDA7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tldC1vdmVybGF5LXRpdGxlXSwgW2V0T3ZlcmxheVRpdGxlXScsXG4gIGV4cG9ydEFzOiAnZXRPdmVybGF5VGl0bGUnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBPdmVybGF5VGl0bGVEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICBwcml2YXRlIF9vdmVybGF5UmVmID0gaW5qZWN0KE92ZXJsYXlSZWYsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2VsZW1lbnRSZWYgPSBpbmplY3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KEVsZW1lbnRSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9vdmVybGF5U2VydmljZSA9IGluamVjdChPdmVybGF5U2VydmljZSk7XG5cbiAgQElucHV0KClcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmlkJylcbiAgaWQgPSBgZXQtb3ZlcmxheS10aXRsZS0ke3VuaXF1ZUlkKyt9YDtcblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAoIXRoaXMuX292ZXJsYXlSZWYpIHtcbiAgICAgIGNvbnN0IGNsb3Nlc3RSZWYgPSBnZXRDbG9zZXN0T3ZlcmxheSh0aGlzLl9lbGVtZW50UmVmLCB0aGlzLl9vdmVybGF5U2VydmljZS5vcGVuT3ZlcmxheXMoKSk7XG5cbiAgICAgIGlmICghY2xvc2VzdFJlZikge1xuICAgICAgICB0aHJvdyBFcnJvcignTm8gY2xvc2VzdCByZWYgZm91bmQnKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5fb3ZlcmxheVJlZiA9IGNsb3Nlc3RSZWY7XG4gICAgfVxuXG4gICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiB0aGlzLl9vdmVybGF5UmVmPy5fY29udGFpbmVySW5zdGFuY2U/Ll9hcmlhTGFiZWxsZWRCeVF1ZXVlPy5wdXNoKHRoaXMuaWQpKTtcbiAgfVxufVxuIl19
@@ -1,2 +0,0 @@
1
- export * from './overlay.service';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvb3ZlcmxheS9jb21wb25lbnRzL292ZXJsYXkvc2VydmljZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vb3ZlcmxheS5zZXJ2aWNlJztcbiJdfQ==
@@ -1,313 +0,0 @@
1
- import { coerceCssPixelValue } from '@angular/cdk/coercion';
2
- import { Dialog as CdkDialog, DialogConfig as CdkDialogConfig } from '@angular/cdk/dialog';
3
- import { NoopScrollStrategy, ViewportRuler } from '@angular/cdk/overlay';
4
- import { Injectable, computed, inject, signal } from '@angular/core';
5
- import { toObservable } from '@angular/core/rxjs-interop';
6
- import { ROOT_BOUNDARY_TOKEN, RootBoundaryDirective, ViewportService, elementCanScroll, equal, injectRoute, } from '@ethlete/core';
7
- import { ProvideThemeDirective, THEME_PROVIDER } from '@ethlete/theming';
8
- import { combineLatest, fromEvent, map, of, pairwise, startWith, switchMap, takeUntil, tap } from 'rxjs';
9
- import { OverlayContainerComponent } from '../components/overlay-container';
10
- import { OVERLAY_CONFIG, OVERLAY_DATA, OVERLAY_DEFAULT_OPTIONS } from '../constants';
11
- import { ET_OVERLAY_BOTTOM_SHEET_CLASS, ET_OVERLAY_LEFT_SHEET_CLASS, ET_OVERLAY_RIGHT_SHEET_CLASS, ET_OVERLAY_TOP_SHEET_CLASS, OverlayPositionBuilder, OverlayRef, createOverlayConfig, } from '../utils';
12
- import * as i0 from "@angular/core";
13
- let uniqueId = 0;
14
- const ID_PREFIX = 'et-overlay-';
15
- const setStyle = (el, style, value) => {
16
- if (value === null || value === undefined) {
17
- el.style.removeProperty(style);
18
- }
19
- else {
20
- el.style.setProperty(style, coerceCssPixelValue(value));
21
- }
22
- };
23
- const setClass = (el, prevClass, currClass) => {
24
- if (!equal(prevClass, currClass)) {
25
- if (prevClass) {
26
- if (Array.isArray(prevClass)) {
27
- el.classList.remove(...prevClass);
28
- }
29
- else {
30
- el.classList.remove(prevClass);
31
- }
32
- }
33
- if (currClass) {
34
- if (Array.isArray(currClass)) {
35
- el.classList.add(...currClass);
36
- }
37
- else {
38
- el.classList.add(currClass);
39
- }
40
- }
41
- }
42
- };
43
- const isHtmlElement = (element) => {
44
- return element instanceof HTMLElement;
45
- };
46
- const isTouchEvent = (event) => {
47
- return event.type[0] === 't';
48
- };
49
- const isPointerEvent = (event) => {
50
- return event.type[0] === 'c';
51
- };
52
- const BLOCK_CLASS = 'cdk-global-scrollblock';
53
- const OVERSCROLL_CLASS = 'et-global-no-overscroll';
54
- export class OverlayService {
55
- #defaultOptions;
56
- #dialog;
57
- #viewportService;
58
- #viewportRuler;
59
- constructor() {
60
- this.#defaultOptions = inject(OVERLAY_DEFAULT_OPTIONS, { optional: true });
61
- this.#dialog = inject(CdkDialog);
62
- this.#viewportService = inject(ViewportService);
63
- this.#viewportRuler = inject(ViewportRuler);
64
- this.openOverlays = signal([]);
65
- this.hasOpenOverlays = computed(() => this.openOverlays().length > 0);
66
- this.positions = new OverlayPositionBuilder();
67
- this.route = injectRoute();
68
- this.#setupScrollBlocking();
69
- }
70
- open(componentOrTemplateRef, config) {
71
- let overlayRef;
72
- const composedConfig = createOverlayConfig(this.#defaultOptions, config);
73
- composedConfig.id = composedConfig.id || `${ID_PREFIX}${uniqueId++}`;
74
- const cdkRef = this.#dialog.open(componentOrTemplateRef, {
75
- ...composedConfig,
76
- scrollStrategy: new NoopScrollStrategy(),
77
- disableClose: true,
78
- closeOnDestroy: false,
79
- panelClass: 'et-overlay-pane',
80
- container: {
81
- type: OverlayContainerComponent,
82
- providers: () => [
83
- { provide: OVERLAY_CONFIG, useValue: composedConfig },
84
- { provide: CdkDialogConfig, useValue: composedConfig },
85
- ],
86
- },
87
- templateContext: () => ({ dialogRef: overlayRef }),
88
- providers: (ref, cdkConfig, overlayContainer) => {
89
- const container = overlayContainer;
90
- overlayRef = new OverlayRef(ref, composedConfig, container);
91
- return [
92
- { provide: OverlayContainerComponent, useValue: overlayContainer },
93
- { provide: THEME_PROVIDER, useValue: container._themeProvider },
94
- { provide: ProvideThemeDirective, useValue: container._themeProvider },
95
- { provide: ROOT_BOUNDARY_TOKEN, useValue: container._rootBoundary },
96
- { provide: RootBoundaryDirective, useValue: container._rootBoundary },
97
- { provide: OVERLAY_DATA, useValue: cdkConfig.data },
98
- { provide: OverlayRef, useValue: overlayRef },
99
- ...(composedConfig.providers ?? []),
100
- ];
101
- },
102
- });
103
- /* eslint-disable @typescript-eslint/no-non-null-assertion*/
104
- overlayRef.componentRef = cdkRef.componentRef;
105
- overlayRef.componentInstance = cdkRef.componentInstance;
106
- cdkRef.containerInstance.overlayRef = overlayRef;
107
- const containerEl = overlayRef._containerInstance.elementRef.nativeElement;
108
- const overlayPaneEl = cdkRef.overlayRef.overlayElement;
109
- const backdropEl = cdkRef.overlayRef.backdropElement;
110
- const overlayWrapper = cdkRef.overlayRef.hostElement;
111
- const useDefaultAnimation = composedConfig.customAnimated !== true;
112
- const origin = composedConfig.origin;
113
- combineLatest(composedConfig.positions.map((breakpoint) => (breakpoint.breakpoint ? this.#viewportService.observe({ min: breakpoint.breakpoint }) : of(true)).pipe(map((isActive) => ({
114
- isActive,
115
- config: breakpoint.config,
116
- size: typeof breakpoint.breakpoint === 'number'
117
- ? breakpoint.breakpoint
118
- : breakpoint.breakpoint === undefined
119
- ? 0
120
- : this.#viewportService.getBreakpointSize(breakpoint.breakpoint, 'min'),
121
- })))))
122
- .pipe(takeUntil(overlayRef.afterClosed()), map((entries) => {
123
- const activeBreakpoints = entries.filter((entry) => entry.isActive);
124
- const highestBreakpoint = activeBreakpoints.reduce((prev, curr) => (prev.size > curr.size ? prev : curr));
125
- return highestBreakpoint.config;
126
- }), startWith(null), pairwise(), tap(([prevConfig, currConfig]) => {
127
- if (!currConfig)
128
- return;
129
- const containerClass = currConfig.containerClass;
130
- const applyDefaultMaxWidths = () => {
131
- setStyle(overlayPaneEl, 'max-width', currConfig.maxWidth);
132
- setStyle(overlayPaneEl, 'max-height', currConfig.maxHeight);
133
- };
134
- if (origin) {
135
- if (!currConfig.applyTransformOrigin) {
136
- setStyle(containerEl, 'transform-origin', null);
137
- }
138
- else {
139
- // TODO: If getBoundingClientRect is used it should use the center of the element.
140
- const originX = isHtmlElement(origin)
141
- ? origin.getBoundingClientRect().left
142
- : isTouchEvent(origin)
143
- ? origin.targetTouches[0].clientX
144
- : isPointerEvent(origin)
145
- ? origin.clientX !== 0
146
- ? origin.clientX
147
- : origin.target.getBoundingClientRect().left
148
- : -1;
149
- const originY = isHtmlElement(origin)
150
- ? origin.getBoundingClientRect().top
151
- : isTouchEvent(origin)
152
- ? origin.targetTouches[0].clientY
153
- : isPointerEvent(origin)
154
- ? origin.clientY !== 0
155
- ? origin.clientY
156
- : origin.target.getBoundingClientRect().top
157
- : -1;
158
- if (originX !== -1 && originY !== -1) {
159
- setStyle(containerEl, 'transform-origin', `${originX}px ${originY}px`);
160
- }
161
- }
162
- }
163
- if (useDefaultAnimation && containerClass?.length) {
164
- if (containerClass?.includes(ET_OVERLAY_LEFT_SHEET_CLASS) ||
165
- containerClass?.includes(ET_OVERLAY_RIGHT_SHEET_CLASS)) {
166
- setStyle(overlayPaneEl, 'max-width', currConfig.maxWidth);
167
- setStyle(overlayPaneEl, 'max-height', currConfig.maxHeight);
168
- }
169
- else if (containerClass?.includes(ET_OVERLAY_TOP_SHEET_CLASS) ||
170
- containerClass?.includes(ET_OVERLAY_BOTTOM_SHEET_CLASS)) {
171
- setStyle(overlayPaneEl, 'max-height', currConfig.maxHeight);
172
- setStyle(overlayPaneEl, 'max-width', currConfig.maxWidth);
173
- }
174
- else {
175
- applyDefaultMaxWidths();
176
- }
177
- }
178
- else {
179
- applyDefaultMaxWidths();
180
- }
181
- setStyle(overlayPaneEl, 'min-width', currConfig.minWidth);
182
- setStyle(overlayPaneEl, 'min-height', currConfig.minHeight);
183
- setStyle(overlayPaneEl, 'width', currConfig.width);
184
- setStyle(overlayPaneEl, 'height', currConfig.height);
185
- setClass(containerEl, prevConfig?.containerClass, currConfig?.containerClass);
186
- setClass(overlayPaneEl, prevConfig?.paneClass, currConfig?.paneClass);
187
- setClass(overlayWrapper, prevConfig?.overlayClass, currConfig?.overlayClass);
188
- // FIXME: These classes should only be removed if no open overlays require them inside their config.
189
- setClass(document.documentElement, prevConfig?.documentClass, currConfig?.documentClass);
190
- setClass(document.body, prevConfig?.bodyClass, currConfig?.bodyClass);
191
- if (backdropEl) {
192
- setClass(backdropEl, prevConfig?.backdropClass, currConfig?.backdropClass);
193
- }
194
- if (!equal(prevConfig?.position, currConfig?.position)) {
195
- overlayRef.updatePosition(currConfig.position);
196
- }
197
- if (currConfig.positionStrategy) {
198
- cdkRef.overlayRef.updatePositionStrategy(currConfig.positionStrategy());
199
- }
200
- else {
201
- cdkRef.overlayRef.updatePosition();
202
- }
203
- if (currConfig.dragToDismiss) {
204
- overlayRef._containerInstance._enableDragToDismiss(currConfig.dragToDismiss);
205
- }
206
- else {
207
- overlayRef._containerInstance._disableDragToDismiss();
208
- }
209
- }))
210
- .subscribe();
211
- this.openOverlays.update((overlays) => [...overlays, overlayRef]);
212
- overlayRef.beforeClosed().subscribe(() => {
213
- // FIXME: These classes should only be removed if no open overlays require them inside their config.
214
- const documentClasses = composedConfig.positions.map((position) => position.config.documentClass);
215
- for (const klass of documentClasses) {
216
- if (!klass)
217
- continue;
218
- if (Array.isArray(klass)) {
219
- document.documentElement.classList.remove(...klass);
220
- }
221
- else {
222
- document.documentElement.classList.remove(klass);
223
- }
224
- }
225
- const bodyClasses = composedConfig.positions.map((position) => position.config.bodyClass);
226
- for (const klass of bodyClasses) {
227
- if (!klass)
228
- continue;
229
- if (Array.isArray(klass)) {
230
- document.body.classList.remove(...klass);
231
- }
232
- else {
233
- document.body.classList.remove(klass);
234
- }
235
- }
236
- });
237
- overlayRef.afterClosed().subscribe(() => {
238
- const index = this.openOverlays().indexOf(overlayRef);
239
- if (index === -1)
240
- return;
241
- this.openOverlays.update((overlays) => overlays.filter((_, i) => i !== index));
242
- });
243
- return overlayRef;
244
- /* eslint-enable @typescript-eslint/no-non-null-assertion*/
245
- }
246
- closeAll() {
247
- this.#closeOverlays(this.openOverlays());
248
- }
249
- getOverlayById(id) {
250
- return this.openOverlays().find((overlay) => overlay.id === id) ?? null;
251
- }
252
- #closeOverlays(overlays) {
253
- let i = overlays.length;
254
- while (i--) {
255
- overlays[i]?.close();
256
- }
257
- }
258
- #setupScrollBlocking() {
259
- const previousHTMLStyles = { top: '', left: '' };
260
- let previousScrollPosition = { top: 0, left: 0 };
261
- let isEnabled = false;
262
- let lastRoute = null;
263
- const root = document.documentElement;
264
- toObservable(this.hasOpenOverlays)
265
- .pipe(switchMap((hasOpenOverlays) => {
266
- if (!hasOpenOverlays)
267
- return of({ hasOpenOverlays, scrolled: false });
268
- return fromEvent(window, 'resize').pipe(startWith({ hasOpenOverlays, scrolled: true }), map(() => ({ hasOpenOverlays, scrolled: true })));
269
- }), tap(({ hasOpenOverlays }) => {
270
- const hasBlockClass = root.classList.contains(BLOCK_CLASS);
271
- if (hasOpenOverlays && (hasBlockClass || elementCanScroll(root))) {
272
- if (isEnabled)
273
- return;
274
- previousScrollPosition = this.#viewportRuler.getViewportScrollPosition();
275
- previousHTMLStyles.left = root.style.left || '';
276
- previousHTMLStyles.top = root.style.top || '';
277
- root.style.left = coerceCssPixelValue(-previousScrollPosition.left);
278
- root.style.top = coerceCssPixelValue(-previousScrollPosition.top);
279
- root.classList.add(BLOCK_CLASS, OVERSCROLL_CLASS);
280
- isEnabled = true;
281
- lastRoute = this.route();
282
- }
283
- else if (!hasOpenOverlays) {
284
- if (!isEnabled)
285
- return;
286
- const htmlStyle = root.style;
287
- const bodyStyle = document.body.style;
288
- const previousHtmlScrollBehavior = htmlStyle.scrollBehavior || '';
289
- const previousBodyScrollBehavior = bodyStyle.scrollBehavior || '';
290
- const didNavigate = lastRoute !== this.route();
291
- root.classList.remove(BLOCK_CLASS, OVERSCROLL_CLASS);
292
- root.style.left = previousHTMLStyles.left;
293
- root.style.top = previousHTMLStyles.top;
294
- if (!didNavigate) {
295
- htmlStyle.scrollBehavior = bodyStyle.scrollBehavior = 'auto';
296
- window.scroll(previousScrollPosition.left, previousScrollPosition.top);
297
- htmlStyle.scrollBehavior = previousHtmlScrollBehavior;
298
- bodyStyle.scrollBehavior = previousBodyScrollBehavior;
299
- }
300
- isEnabled = false;
301
- lastRoute = null;
302
- }
303
- }))
304
- .subscribe();
305
- }
306
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: OverlayService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
307
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: OverlayService, providedIn: 'root' }); }
308
- }
309
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: OverlayService, decorators: [{
310
- type: Injectable,
311
- args: [{ providedIn: 'root' }]
312
- }], ctorParameters: () => [] });
313
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL292ZXJsYXkvY29tcG9uZW50cy9vdmVybGF5L3NlcnZpY2VzL292ZXJsYXkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsTUFBTSxJQUFJLFNBQVMsRUFBRSxZQUFZLElBQUksZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDM0YsT0FBTyxFQUFpQixrQkFBa0IsRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RixPQUFPLEVBQWdCLFVBQVUsRUFBZSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixxQkFBcUIsRUFDckIsZUFBZSxFQUNmLGdCQUFnQixFQUNoQixLQUFLLEVBQ0wsV0FBVyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDekcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFckYsT0FBTyxFQUNMLDZCQUE2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RUFBRSxDQUFDO29CQUNqQixTQUFTLENBQUMsY0FBYyxHQUFHLFNBQVMsQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDO29CQUM3RCxNQUFNLENBQUMsTUFBTSxDQUFDLHNCQUFzQixDQUFDLElBQUksRUFBRSxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDdkUsU0FBUyxDQUFDLGNBQWMsR0FBRywwQkFBMEIsQ0FBQztvQkFDdEQsU0FBUyxDQUFDLGNBQWMsR0FBRywwQkFBMEIsQ0FBQztnQkFDeEQsQ0FBQztnQkFFRCxTQUFTLEdBQUcsS0FBSyxDQUFDO2dCQUNsQixTQUFTLEdBQUcsSUFBSSxDQUFDO1lBQ25CLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FDSDthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7K0dBOVRVLGNBQWM7bUhBQWQsY0FBYyxjQURELE1BQU07OzRGQUNuQixjQUFjO2tCQUQxQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvZXJjZUNzc1BpeGVsVmFsdWUgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgRGlhbG9nIGFzIENka0RpYWxvZywgRGlhbG9nQ29uZmlnIGFzIENka0RpYWxvZ0NvbmZpZyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kaWFsb2cnO1xuaW1wb3J0IHsgQ29tcG9uZW50VHlwZSwgTm9vcFNjcm9sbFN0cmF0ZWd5LCBWaWV3cG9ydFJ1bGVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tcG9uZW50UmVmLCBJbmplY3RhYmxlLCBUZW1wbGF0ZVJlZiwgY29tcHV0ZWQsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0b09ic2VydmFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge1xuICBST09UX0JPVU5EQVJZX1RPS0VOLFxuICBSb290Qm91bmRhcnlEaXJlY3RpdmUsXG4gIFZpZXdwb3J0U2VydmljZSxcbiAgZWxlbWVudENhblNjcm9sbCxcbiAgZXF1YWwsXG4gIGluamVjdFJvdXRlLFxufSBmcm9tICdAZXRobGV0ZS9jb3JlJztcbmltcG9ydCB7IFByb3ZpZGVUaGVtZURpcmVjdGl2ZSwgVEhFTUVfUFJPVklERVIgfSBmcm9tICdAZXRobGV0ZS90aGVtaW5nJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIGZyb21FdmVudCwgbWFwLCBvZiwgcGFpcndpc2UsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgT3ZlcmxheUNvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvb3ZlcmxheS1jb250YWluZXInO1xuaW1wb3J0IHsgT1ZFUkxBWV9DT05GSUcsIE9WRVJMQVlfREFUQSwgT1ZFUkxBWV9ERUZBVUxUX09QVElPTlMgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgT3ZlcmxheUNvbmZpZyB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7XG4gIEVUX09WRVJMQVlfQk9UVE9NX1NIRUVUX0NMQVNTLFxuICBFVF9PVkVSTEFZX0xFRlRfU0hFRVRfQ0xBU1MsXG4gIEVUX09WRVJMQVlfUklHSFRfU0hFRVRfQ0xBU1MsXG4gIEVUX09WRVJMQVlfVE9QX1NIRUVUX0NMQVNTLFxuICBPdmVybGF5UG9zaXRpb25CdWlsZGVyLFxuICBPdmVybGF5UmVmLFxuICBjcmVhdGVPdmVybGF5Q29uZmlnLFxufSBmcm9tICcuLi91dGlscyc7XG5cbmxldCB1bmlxdWVJZCA9IDA7XG5jb25zdCBJRF9QUkVGSVggPSAnZXQtb3ZlcmxheS0nO1xuXG5jb25zdCBzZXRTdHlsZSA9IChlbDogSFRNTEVsZW1lbnQsIHN0eWxlOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkKSA9PiB7XG4gIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgZWwuc3R5bGUucmVtb3ZlUHJvcGVydHkoc3R5bGUpO1xuICB9IGVsc2Uge1xuICAgIGVsLnN0eWxlLnNldFByb3BlcnR5KHN0eWxlLCBjb2VyY2VDc3NQaXhlbFZhbHVlKHZhbHVlKSk7XG4gIH1cbn07XG5cbmNvbnN0IHNldENsYXNzID0gKGVsOiBIVE1MRWxlbWVudCwgcHJldkNsYXNzPzogc3RyaW5nIHwgc3RyaW5nW10sIGN1cnJDbGFzcz86IHN0cmluZyB8IHN0cmluZ1tdKSA9PiB7XG4gIGlmICghZXF1YWwocHJldkNsYXNzLCBjdXJyQ2xhc3MpKSB7XG4gICAgaWYgKHByZXZDbGFzcykge1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkocHJldkNsYXNzKSkge1xuICAgICAgICBlbC5jbGFzc0xpc3QucmVtb3ZlKC4uLnByZXZDbGFzcyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBlbC5jbGFzc0xpc3QucmVtb3ZlKHByZXZDbGFzcyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGN1cnJDbGFzcykge1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoY3VyckNsYXNzKSkge1xuICAgICAgICBlbC5jbGFzc0xpc3QuYWRkKC4uLmN1cnJDbGFzcyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBlbC5jbGFzc0xpc3QuYWRkKGN1cnJDbGFzcyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59O1xuXG5jb25zdCBpc0h0bWxFbGVtZW50ID0gKGVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgdW5rbm93bik6IGVsZW1lbnQgaXMgSFRNTEVsZW1lbnQgPT4ge1xuICByZXR1cm4gZWxlbWVudCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50O1xufTtcblxuY29uc3QgaXNUb3VjaEV2ZW50ID0gKGV2ZW50OiBFdmVudCk6IGV2ZW50IGlzIFRvdWNoRXZlbnQgPT4ge1xuICByZXR1cm4gZXZlbnQudHlwZVswXSA9PT0gJ3QnO1xufTtcblxuY29uc3QgaXNQb2ludGVyRXZlbnQgPSAoZXZlbnQ6IEV2ZW50KTogZXZlbnQgaXMgUG9pbnRlckV2ZW50ID0+IHtcbiAgcmV0dXJuIGV2ZW50LnR5cGVbMF0gPT09ICdjJztcbn07XG5cbmNvbnN0IEJMT0NLX0NMQVNTID0gJ2Nkay1nbG9iYWwtc2Nyb2xsYmxvY2snO1xuY29uc3QgT1ZFUlNDUk9MTF9DTEFTUyA9ICdldC1nbG9iYWwtbm8tb3ZlcnNjcm9sbCc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgT3ZlcmxheVNlcnZpY2Uge1xuICAjZGVmYXVsdE9wdGlvbnMgPSBpbmplY3QoT1ZFUkxBWV9ERUZBVUxUX09QVElPTlMsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gICNkaWFsb2cgPSBpbmplY3QoQ2RrRGlhbG9nKTtcbiAgI3ZpZXdwb3J0U2VydmljZSA9IGluamVjdChWaWV3cG9ydFNlcnZpY2UpO1xuICAjdmlld3BvcnRSdWxlciA9IGluamVjdChWaWV3cG9ydFJ1bGVyKTtcblxuICBvcGVuT3ZlcmxheXMgPSBzaWduYWw8T3ZlcmxheVJlZltdPihbXSk7XG4gIGhhc09wZW5PdmVybGF5cyA9IGNvbXB1dGVkKCgpID0+IHRoaXMub3Blbk92ZXJsYXlzKCkubGVuZ3RoID4gMCk7XG4gIHBvc2l0aW9ucyA9IG5ldyBPdmVybGF5UG9zaXRpb25CdWlsZGVyKCk7XG4gIHJvdXRlID0gaW5qZWN0Um91dGUoKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLiNzZXR1cFNjcm9sbEJsb2NraW5nKCk7XG4gIH1cblxuICBvcGVuPFQsIEQgPSB1bmtub3duLCBSID0gdW5rbm93bj4oY29tcG9uZW50OiBDb21wb25lbnRUeXBlPFQ+LCBjb25maWc6IE92ZXJsYXlDb25maWc8RD4pOiBPdmVybGF5UmVmPFQsIFI+O1xuICBvcGVuPFQsIEQgPSB1bmtub3duLCBSID0gdW5rbm93bj4odGVtcGxhdGU6IFRlbXBsYXRlUmVmPFQ+LCBjb25maWc6IE92ZXJsYXlDb25maWc8RD4pOiBPdmVybGF5UmVmPFQsIFI+O1xuICBvcGVuPFQsIEQgPSB1bmtub3duLCBSID0gdW5rbm93bj4oXG4gICAgdGVtcGxhdGU6IENvbXBvbmVudFR5cGU8VD4gfCBUZW1wbGF0ZVJlZjxUPixcbiAgICBjb25maWc6IE92ZXJsYXlDb25maWc8RD4sXG4gICk6IE92ZXJsYXlSZWY8VCwgUj47XG4gIG9wZW48VCwgRCA9IHVua25vd24sIFIgPSB1bmtub3duPihcbiAgICBjb21wb25lbnRPclRlbXBsYXRlUmVmOiBDb21wb25lbnRUeXBlPFQ+IHwgVGVtcGxhdGVSZWY8VD4sXG4gICAgY29uZmlnOiBPdmVybGF5Q29uZmlnPEQ+LFxuICApOiBPdmVybGF5UmVmPFQsIFI+IHtcbiAgICBsZXQgb3ZlcmxheVJlZjogT3ZlcmxheVJlZjxULCBSPjtcblxuICAgIGNvbnN0IGNvbXBvc2VkQ29uZmlnID0gY3JlYXRlT3ZlcmxheUNvbmZpZzxEPih0aGlzLiNkZWZhdWx0T3B0aW9ucyBhcyBPdmVybGF5Q29uZmlnPEQ+LCBjb25maWcpO1xuICAgIGNvbXBvc2VkQ29uZmlnLmlkID0gY29tcG9zZWRDb25maWcuaWQgfHwgYCR7SURfUFJFRklYfSR7dW5pcXVlSWQrK31gO1xuXG4gICAgY29uc3QgY2RrUmVmID0gdGhpcy4jZGlhbG9nLm9wZW48UiwgRCwgVD4oY29tcG9uZW50T3JUZW1wbGF0ZVJlZiwge1xuICAgICAgLi4uY29tcG9zZWRDb25maWcsXG4gICAgICBzY3JvbGxTdHJhdGVneTogbmV3IE5vb3BTY3JvbGxTdHJhdGVneSgpLFxuICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLFxuICAgICAgY2xvc2VPbkRlc3Ryb3k6IGZhbHNlLFxuICAgICAgcGFuZWxDbGFzczogJ2V0LW92ZXJsYXktcGFuZScsXG4gICAgICBjb250YWluZXI6IHtcbiAgICAgICAgdHlwZTogT3ZlcmxheUNvbnRhaW5lckNvbXBvbmVudCxcbiAgICAgICAgcHJvdmlkZXJzOiAoKSA9PiBbXG4gICAgICAgICAgeyBwcm92aWRlOiBPVkVSTEFZX0NPTkZJRywgdXNlVmFsdWU6IGNvbXBvc2VkQ29uZmlnIH0sXG4gICAgICAgICAgeyBwcm92aWRlOiBDZGtEaWFsb2dDb25maWcsIHVzZVZhbHVlOiBjb21wb3NlZENvbmZpZyB9LFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICAgIHRlbXBsYXRlQ29udGV4dDogKCkgPT4gKHsgZGlhbG9nUmVmOiBvdmVybGF5UmVmIH0pLFxuICAgICAgcHJvdmlkZXJzOiAocmVmLCBjZGtDb25maWcsIG92ZXJsYXlDb250YWluZXIpID0+IHtcbiAgICAgICAgY29uc3QgY29udGFpbmVyID0gb3ZlcmxheUNvbnRhaW5lciBhcyBPdmVybGF5Q29udGFpbmVyQ29tcG9uZW50O1xuICAgICAgICBvdmVybGF5UmVmID0gbmV3IE92ZXJsYXlSZWYocmVmLCBjb21wb3NlZENvbmZpZywgY29udGFpbmVyKTtcblxuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgIHsgcHJvdmlkZTogT3ZlcmxheUNvbnRhaW5lckNvbXBvbmVudCwgdXNlVmFsdWU6IG92ZXJsYXlDb250YWluZXIgfSxcbiAgICAgICAgICB7IHByb3ZpZGU6IFRIRU1FX1BST1ZJREVSLCB1c2VWYWx1ZTogY29udGFpbmVyLl90aGVtZVByb3ZpZGVyIH0sXG4gICAgICAgICAgeyBwcm92aWRlOiBQcm92aWRlVGhlbWVEaXJlY3RpdmUsIHVzZVZhbHVlOiBjb250YWluZXIuX3RoZW1lUHJvdmlkZXIgfSxcbiAgICAgICAgICB7IHByb3ZpZGU6IFJPT1RfQk9VTkRBUllfVE9LRU4sIHVzZVZhbHVlOiBjb250YWluZXIuX3Jvb3RCb3VuZGFyeSB9LFxuICAgICAgICAgIHsgcHJvdmlkZTogUm9vdEJvdW5kYXJ5RGlyZWN0aXZlLCB1c2VWYWx1ZTogY29udGFpbmVyLl9yb290Qm91bmRhcnkgfSxcbiAgICAgICAgICB7IHByb3ZpZGU6IE9WRVJMQVlfREFUQSwgdXNlVmFsdWU6IGNka0NvbmZpZy5kYXRhIH0sXG4gICAgICAgICAgeyBwcm92aWRlOiBPdmVybGF5UmVmLCB1c2VWYWx1ZTogb3ZlcmxheVJlZiB9LFxuICAgICAgICAgIC4uLihjb21wb3NlZENvbmZpZy5wcm92aWRlcnMgPz8gW10pLFxuICAgICAgICBdO1xuICAgICAgfSxcbiAgICB9KTtcblxuICAgIC8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb24qL1xuICAgIChvdmVybGF5UmVmISBhcyB7IGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPFQ+IH0pLmNvbXBvbmVudFJlZiA9IGNka1JlZi5jb21wb25lbnRSZWYhO1xuICAgIG92ZXJsYXlSZWYhLmNvbXBvbmVudEluc3RhbmNlID0gY2RrUmVmLmNvbXBvbmVudEluc3RhbmNlITtcblxuICAgIChjZGtSZWYuY29udGFpbmVySW5zdGFuY2UgYXMgT3ZlcmxheUNvbnRhaW5lckNvbXBvbmVudCkub3ZlcmxheVJlZiA9IG92ZXJsYXlSZWYhO1xuXG4gICAgY29uc3QgY29udGFpbmVyRWwgPSBvdmVybGF5UmVmIS5fY29udGFpbmVySW5zdGFuY2UuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgIGNvbnN0IG92ZXJsYXlQYW5lRWwgPSBjZGtSZWYub3ZlcmxheVJlZi5vdmVybGF5RWxlbWVudDtcbiAgICBjb25zdCBiYWNrZHJvcEVsID0gY2RrUmVmLm92ZXJsYXlSZWYuYmFja2Ryb3BFbGVtZW50O1xuICAgIGNvbnN0IG92ZXJsYXlXcmFwcGVyID0gY2RrUmVmLm92ZXJsYXlSZWYuaG9zdEVsZW1lbnQ7XG4gICAgY29uc3QgdXNlRGVmYXVsdEFuaW1hdGlvbiA9IGNvbXBvc2VkQ29uZmlnLmN1c3RvbUFuaW1hdGVkICE9PSB0cnVlO1xuICAgIGNvbnN0IG9yaWdpbiA9IGNvbXBvc2VkQ29uZmlnLm9yaWdpbjtcblxuICAgIGNvbWJpbmVMYXRlc3QoXG4gICAgICBjb21wb3NlZENvbmZpZy5wb3NpdGlvbnMubWFwKChicmVha3BvaW50KSA9PlxuICAgICAgICAoYnJlYWtwb2ludC5icmVha3BvaW50ID8gdGhpcy4jdmlld3BvcnRTZXJ2aWNlLm9ic2VydmUoeyBtaW46IGJyZWFrcG9pbnQuYnJlYWtwb2ludCB9KSA6IG9mKHRydWUpKS5waXBlKFxuICAgICAgICAgIG1hcCgoaXNBY3RpdmUpID0+ICh7XG4gICAgICAgICAgICBpc0FjdGl2ZSxcbiAgICAgICAgICAgIGNvbmZpZzogYnJlYWtwb2ludC5jb25maWcsXG4gICAgICAgICAgICBzaXplOlxuICAgICAgICAgICAgICB0eXBlb2YgYnJlYWtwb2ludC5icmVha3BvaW50ID09PSAnbnVtYmVyJ1xuICAgICAgICAgICAgICAgID8gYnJlYWtwb2ludC5icmVha3BvaW50XG4gICAgICAgICAgICAgICAgOiBicmVha3BvaW50LmJyZWFrcG9pbnQgPT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgPyAwXG4gICAgICAgICAgICAgICAgICA6IHRoaXMuI3ZpZXdwb3J0U2VydmljZS5nZXRCcmVha3BvaW50U2l6ZShicmVha3BvaW50LmJyZWFrcG9pbnQsICdtaW4nKSxcbiAgICAgICAgICB9KSksXG4gICAgICAgICksXG4gICAgICApLFxuICAgIClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwob3ZlcmxheVJlZiEuYWZ0ZXJDbG9zZWQoKSksXG4gICAgICAgIG1hcCgoZW50cmllcykgPT4ge1xuICAgICAgICAgIGNvbnN0IGFjdGl2ZUJyZWFrcG9pbnRzID0gZW50cmllcy5maWx0ZXIoKGVudHJ5KSA9PiBlbnRyeS5pc0FjdGl2ZSk7XG4gICAgICAgICAgY29uc3QgaGlnaGVzdEJyZWFrcG9pbnQgPSBhY3RpdmVCcmVha3BvaW50cy5yZWR1Y2UoKHByZXYsIGN1cnIpID0+IChwcmV2LnNpemUgPiBjdXJyLnNpemUgPyBwcmV2IDogY3VycikpO1xuXG4gICAgICAgICAgcmV0dXJuIGhpZ2hlc3RCcmVha3BvaW50LmNvbmZpZztcbiAgICAgICAgfSksXG4gICAgICAgIHN0YXJ0V2l0aChudWxsKSxcbiAgICAgICAgcGFpcndpc2UoKSxcbiAgICAgICAgdGFwKChbcHJldkNvbmZpZywgY3VyckNvbmZpZ10pID0+IHtcbiAgICAgICAgICBpZiAoIWN1cnJDb25maWcpIHJldHVybjtcblxuICAgICAgICAgIGNvbnN0IGNvbnRhaW5lckNsYXNzID0gY3VyckNvbmZpZy5jb250YWluZXJDbGFzcztcblxuICAgICAgICAgIGNvbnN0IGFwcGx5RGVmYXVsdE1heFdpZHRocyA9ICgpID0+IHtcbiAgICAgICAgICAgIHNldFN0eWxlKG92ZXJsYXlQYW5lRWwsICdtYXgtd2lkdGgnLCBjdXJyQ29uZmlnLm1heFdpZHRoKTtcbiAgICAgICAgICAgIHNldFN0eWxlKG92ZXJsYXlQYW5lRWwsICdtYXgtaGVpZ2h0JywgY3VyckNvbmZpZy5tYXhIZWlnaHQpO1xuICAgICAgICAgIH07XG5cbiAgICAgICAgICBpZiAob3JpZ2luKSB7XG4gICAgICAgICAgICBpZiAoIWN1cnJDb25maWcuYXBwbHlUcmFuc2Zvcm1PcmlnaW4pIHtcbiAgICAgICAgICAgICAgc2V0U3R5bGUoY29udGFpbmVyRWwsICd0cmFuc2Zvcm0tb3JpZ2luJywgbnVsbCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAvLyBUT0RPOiBJZiBnZXRCb3VuZGluZ0NsaWVudFJlY3QgaXMgdXNlZCBpdCBzaG91bGQgdXNlIHRoZSBjZW50ZXIgb2YgdGhlIGVsZW1lbnQuXG4gICAgICAgICAgICAgIGNvbnN0IG9yaWdpblggPSBpc0h0bWxFbGVtZW50KG9yaWdpbilcbiAgICAgICAgICAgICAgICA/IG9yaWdpbi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0XG4gICAgICAgICAgICAgICAgOiBpc1RvdWNoRXZlbnQob3JpZ2luKVxuICAgICAgICAgICAgICAgICAgPyBvcmlnaW4udGFyZ2V0VG91Y2hlc1swXSEuY2xpZW50WFxuICAgICAgICAgICAgICAgICAgOiBpc1BvaW50ZXJFdmVudChvcmlnaW4pXG4gICAgICAgICAgICAgICAgICAgID8gb3JpZ2luLmNsaWVudFggIT09IDBcbiAgICAgICAgICAgICAgICAgICAgICA/IG9yaWdpbi5jbGllbnRYXG4gICAgICAgICAgICAgICAgICAgICAgOiAob3JpZ2luLnRhcmdldCBhcyBIVE1MRWxlbWVudCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdFxuICAgICAgICAgICAgICAgICAgICA6IC0xO1xuICAgICAgICAgICAgICBjb25zdCBvcmlnaW5ZID0gaXNIdG1sRWxlbWVudChvcmlnaW4pXG4gICAgICAgICAgICAgICAgPyBvcmlnaW4uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wXG4gICAgICAgICAgICAgICAgOiBpc1RvdWNoRXZlbnQob3JpZ2luKVxuICAgICAgICAgICAgICAgICAgPyBvcmlnaW4udGFyZ2V0VG91Y2hlc1swXSEuY2xpZW50WVxuICAgICAgICAgICAgICAgICAgOiBpc1BvaW50ZXJFdmVudChvcmlnaW4pXG4gICAgICAgICAgICAgICAgICAgID8gb3JpZ2luLmNsaWVudFkgIT09IDBcbiAgICAgICAgICAgICAgICAgICAgICA/IG9yaWdpbi5jbGllbnRZXG4gICAgICAgICAgICAgICAgICAgICAgOiAob3JpZ2luLnRhcmdldCBhcyBIVE1MRWxlbWVudCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wXG4gICAgICAgICAgICAgICAgICAgIDogLTE7XG5cbiAgICAgICAgICAgICAgaWYgKG9yaWdpblggIT09IC0xICYmIG9yaWdpblkgIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgc2V0U3R5bGUoY29udGFpbmVyRWwsICd0cmFuc2Zvcm0tb3JpZ2luJywgYCR7b3JpZ2luWH1weCAke29yaWdpbll9cHhgKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh1c2VEZWZhdWx0QW5pbWF0aW9uICYmIGNvbnRhaW5lckNsYXNzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgY29udGFpbmVyQ2xhc3M/LmluY2x1ZGVzKEVUX09WRVJMQVlfTEVGVF9TSEVFVF9DTEFTUykgfHxcbiAgICAgICAgICAgICAgY29udGFpbmVyQ2xhc3M/LmluY2x1ZGVzKEVUX09WRVJMQVlfUklHSFRfU0hFRVRfQ0xBU1MpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgc2V0U3R5bGUob3ZlcmxheVBhbmVFbCwgJ21heC13aWR0aCcsIGN1cnJDb25maWcubWF4V2lkdGgpO1xuICAgICAgICAgICAgICBzZXRTdHlsZShvdmVybGF5UGFuZUVsLCAnbWF4LWhlaWdodCcsIGN1cnJDb25maWcubWF4SGVpZ2h0KTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgICAgIGNvbnRhaW5lckNsYXNzPy5pbmNsdWRlcyhFVF9PVkVSTEFZX1RPUF9TSEVFVF9DTEFTUykgfHxcbiAgICAgICAgICAgICAgY29udGFpbmVyQ2xhc3M/LmluY2x1ZGVzKEVUX09WRVJMQVlfQk9UVE9NX1NIRUVUX0NMQVNTKVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgIHNldFN0eWxlKG92ZXJsYXlQYW5lRWwsICdtYXgtaGVpZ2h0JywgY3VyckNvbmZpZy5tYXhIZWlnaHQpO1xuXG4gICAgICAgICAgICAgIHNldFN0eWxlKG92ZXJsYXlQYW5lRWwsICdtYXgtd2lkdGgnLCBjdXJyQ29uZmlnLm1heFdpZHRoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGFwcGx5RGVmYXVsdE1heFdpZHRocygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBhcHBseURlZmF1bHRNYXhXaWR0aHMoKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzZXRTdHlsZShvdmVybGF5UGFuZUVsLCAnbWluLXdpZHRoJywgY3VyckNvbmZpZy5taW5XaWR0aCk7XG4gICAgICAgICAgc2V0U3R5bGUob3ZlcmxheVBhbmVFbCwgJ21pbi1oZWlnaHQnLCBjdXJyQ29uZmlnLm1pbkhlaWdodCk7XG5cbiAgICAgICAgICBzZXRTdHlsZShvdmVybGF5UGFuZUVsLCAnd2lkdGgnLCBjdXJyQ29uZmlnLndpZHRoKTtcbiAgICAgICAgICBzZXRTdHlsZShvdmVybGF5UGFuZUVsLCAnaGVpZ2h0JywgY3VyckNvbmZpZy5oZWlnaHQpO1xuXG4gICAgICAgICAgc2V0Q2xhc3MoY29udGFpbmVyRWwsIHByZXZDb25maWc/LmNvbnRhaW5lckNsYXNzLCBjdXJyQ29uZmlnPy5jb250YWluZXJDbGFzcyk7XG4gICAgICAgICAgc2V0Q2xhc3Mob3ZlcmxheVBhbmVFbCwgcHJldkNvbmZpZz8ucGFuZUNsYXNzLCBjdXJyQ29uZmlnPy5wYW5lQ2xhc3MpO1xuICAgICAgICAgIHNldENsYXNzKG92ZXJsYXlXcmFwcGVyLCBwcmV2Q29uZmlnPy5vdmVybGF5Q2xhc3MsIGN1cnJDb25maWc/Lm92ZXJsYXlDbGFzcyk7XG5cbiAgICAgICAgICAvLyBGSVhNRTogVGhlc2UgY2xhc3NlcyBzaG91bGQgb25seSBiZSByZW1vdmVkIGlmIG5vIG9wZW4gb3ZlcmxheXMgcmVxdWlyZSB0aGVtIGluc2lkZSB0aGVpciBjb25maWcuXG4gICAgICAgICAgc2V0Q2xhc3MoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LCBwcmV2Q29uZmlnPy5kb2N1bWVudENsYXNzLCBjdXJyQ29uZmlnPy5kb2N1bWVudENsYXNzKTtcbiAgICAgICAgICBzZXRDbGFzcyhkb2N1bWVudC5ib2R5LCBwcmV2Q29uZmlnPy5ib2R5Q2xhc3MsIGN1cnJDb25maWc/LmJvZHlDbGFzcyk7XG5cbiAgICAgICAgICBpZiAoYmFja2Ryb3BFbCkge1xuICAgICAgICAgICAgc2V0Q2xhc3MoYmFja2Ryb3BFbCwgcHJldkNvbmZpZz8uYmFja2Ryb3BDbGFzcywgY3VyckNvbmZpZz8uYmFja2Ryb3BDbGFzcyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKCFlcXVhbChwcmV2Q29uZmlnPy5wb3NpdGlvbiwgY3VyckNvbmZpZz8ucG9zaXRpb24pKSB7XG4gICAgICAgICAgICBvdmVybGF5UmVmLnVwZGF0ZVBvc2l0aW9uKGN1cnJDb25maWcucG9zaXRpb24pO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChjdXJyQ29uZmlnLnBvc2l0aW9uU3RyYXRlZ3kpIHtcbiAgICAgICAgICAgIGNka1JlZi5vdmVybGF5UmVmLnVwZGF0ZVBvc2l0aW9uU3RyYXRlZ3koY3VyckNvbmZpZy5wb3NpdGlvblN0cmF0ZWd5KCkpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjZGtSZWYub3ZlcmxheVJlZi51cGRhdGVQb3NpdGlvbigpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChjdXJyQ29uZmlnLmRyYWdUb0Rpc21pc3MpIHtcbiAgICAgICAgICAgIG92ZXJsYXlSZWYuX2NvbnRhaW5lckluc3RhbmNlLl9lbmFibGVEcmFnVG9EaXNtaXNzKGN1cnJDb25maWcuZHJhZ1RvRGlzbWlzcyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG92ZXJsYXlSZWYuX2NvbnRhaW5lckluc3RhbmNlLl9kaXNhYmxlRHJhZ1RvRGlzbWlzcygpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG5cbiAgICB0aGlzLm9wZW5PdmVybGF5cy51cGRhdGUoKG92ZXJsYXlzKSA9PiBbLi4ub3ZlcmxheXMsIG92ZXJsYXlSZWYhXSk7XG5cbiAgICBvdmVybGF5UmVmIS5iZWZvcmVDbG9zZWQoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgLy8gRklYTUU6IFRoZXNlIGNsYXNzZXMgc2hvdWxkIG9ubHkgYmUgcmVtb3ZlZCBpZiBubyBvcGVuIG92ZXJsYXlzIHJlcXVpcmUgdGhlbSBpbnNpZGUgdGhlaXIgY29uZmlnLlxuICAgICAgY29uc3QgZG9jdW1lbnRDbGFzc2VzID0gY29tcG9zZWRDb25maWcucG9zaXRpb25zLm1hcCgocG9zaXRpb24pID0+IHBvc2l0aW9uLmNvbmZpZy5kb2N1bWVudENsYXNzKTtcblxuICAgICAgZm9yIChjb25zdCBrbGFzcyBvZiBkb2N1bWVudENsYXNzZXMpIHtcbiAgICAgICAgaWYgKCFrbGFzcykgY29udGludWU7XG5cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoa2xhc3MpKSB7XG4gICAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoLi4ua2xhc3MpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKGtsYXNzKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBjb25zdCBib2R5Q2xhc3NlcyA9IGNvbXBvc2VkQ29uZmlnLnBvc2l0aW9ucy5tYXAoKHBvc2l0aW9uKSA9PiBwb3NpdGlvbi5jb25maWcuYm9keUNsYXNzKTtcblxuICAgICAgZm9yIChjb25zdCBrbGFzcyBvZiBib2R5Q2xhc3Nlcykge1xuICAgICAgICBpZiAoIWtsYXNzKSBjb250aW51ZTtcblxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShrbGFzcykpIHtcbiAgICAgICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoLi4ua2xhc3MpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZShrbGFzcyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIG92ZXJsYXlSZWYhLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5vcGVuT3ZlcmxheXMoKS5pbmRleE9mKG92ZXJsYXlSZWYpO1xuXG4gICAgICBpZiAoaW5kZXggPT09IC0xKSByZXR1cm47XG5cbiAgICAgIHRoaXMub3Blbk92ZXJsYXlzLnVwZGF0ZSgob3ZlcmxheXMpID0+IG92ZXJsYXlzLmZpbHRlcigoXywgaSkgPT4gaSAhPT0gaW5kZXgpKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBvdmVybGF5UmVmITtcblxuICAgIC8qIGVzbGludC1lbmFibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5vbi1udWxsLWFzc2VydGlvbiovXG4gIH1cblxuICBjbG9zZUFsbCgpOiB2b2lkIHtcbiAgICB0aGlzLiNjbG9zZU92ZXJsYXlzKHRoaXMub3Blbk92ZXJsYXlzKCkpO1xuICB9XG5cbiAgZ2V0T3ZlcmxheUJ5SWQoaWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLm9wZW5PdmVybGF5cygpLmZpbmQoKG92ZXJsYXkpID0+IG92ZXJsYXkuaWQgPT09IGlkKSA/PyBudWxsO1xuICB9XG5cbiAgI2Nsb3NlT3ZlcmxheXMob3ZlcmxheXM6IE92ZXJsYXlSZWZbXSkge1xuICAgIGxldCBpID0gb3ZlcmxheXMubGVuZ3RoO1xuXG4gICAgd2hpbGUgKGktLSkge1xuICAgICAgb3ZlcmxheXNbaV0/LmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgI3NldHVwU2Nyb2xsQmxvY2tpbmcoKSB7XG4gICAgY29uc3QgcHJldmlvdXNIVE1MU3R5bGVzID0geyB0b3A6ICcnLCBsZWZ0OiAnJyB9O1xuICAgIGxldCBwcmV2aW91c1Njcm9sbFBvc2l0aW9uOiB7IHRvcDogbnVtYmVyOyBsZWZ0OiBudW1iZXIgfSA9IHsgdG9wOiAwLCBsZWZ0OiAwIH07XG4gICAgbGV0IGlzRW5hYmxlZCA9IGZhbHNlO1xuICAgIGxldCBsYXN0Um91dGU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gICAgY29uc3Qgcm9vdCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtcblxuICAgIHRvT2JzZXJ2YWJsZSh0aGlzLmhhc09wZW5PdmVybGF5cylcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKGhhc09wZW5PdmVybGF5cykgPT4ge1xuICAgICAgICAgIGlmICghaGFzT3Blbk92ZXJsYXlzKSByZXR1cm4gb2YoeyBoYXNPcGVuT3ZlcmxheXMsIHNjcm9sbGVkOiBmYWxzZSB9KTtcblxuICAgICAgICAgIHJldHVybiBmcm9tRXZlbnQod2luZG93LCAncmVzaXplJykucGlwZShcbiAgICAgICAgICAgIHN0YXJ0V2l0aCh7IGhhc09wZW5PdmVybGF5cywgc2Nyb2xsZWQ6IHRydWUgfSksXG4gICAgICAgICAgICBtYXAoKCkgPT4gKHsgaGFzT3Blbk92ZXJsYXlzLCBzY3JvbGxlZDogdHJ1ZSB9KSksXG4gICAgICAgICAgKTtcbiAgICAgICAgfSksXG4gICAgICAgIHRhcCgoeyBoYXNPcGVuT3ZlcmxheXMgfSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGhhc0Jsb2NrQ2xhc3MgPSByb290LmNsYXNzTGlzdC5jb250YWlucyhCTE9DS19DTEFTUyk7XG5cbiAgICAgICAgICBpZiAoaGFzT3Blbk92ZXJsYXlzICYmIChoYXNCbG9ja0NsYXNzIHx8IGVsZW1lbnRDYW5TY3JvbGwocm9vdCkpKSB7XG4gICAgICAgICAgICBpZiAoaXNFbmFibGVkKSByZXR1cm47XG5cbiAgICAgICAgICAgIHByZXZpb3VzU2Nyb2xsUG9zaXRpb24gPSB0aGlzLiN2aWV3cG9ydFJ1bGVyLmdldFZpZXdwb3J0U2Nyb2xsUG9zaXRpb24oKTtcbiAgICAgICAgICAgIHByZXZpb3VzSFRNTFN0eWxlcy5sZWZ0ID0gcm9vdC5zdHlsZS5sZWZ0IHx8ICcnO1xuICAgICAgICAgICAgcHJldmlvdXNIVE1MU3R5bGVzLnRvcCA9IHJvb3Quc3R5bGUudG9wIHx8ICcnO1xuXG4gICAgICAgICAgICByb290LnN0eWxlLmxlZnQgPSBjb2VyY2VDc3NQaXhlbFZhbHVlKC1wcmV2aW91c1Njcm9sbFBvc2l0aW9uLmxlZnQpO1xuICAgICAgICAgICAgcm9vdC5zdHlsZS50b3AgPSBjb2VyY2VDc3NQaXhlbFZhbHVlKC1wcmV2aW91c1Njcm9sbFBvc2l0aW9uLnRvcCk7XG4gICAgICAgICAgICByb290LmNsYXNzTGlzdC5hZGQoQkxPQ0tfQ0xBU1MsIE9WRVJTQ1JPTExfQ0xBU1MpO1xuXG4gICAgICAgICAgICBpc0VuYWJsZWQgPSB0cnVlO1xuICAgICAgICAgICAgbGFzdFJvdXRlID0gdGhpcy5yb3V0ZSgpO1xuICAgICAgICAgIH0gZWxzZSBpZiAoIWhhc09wZW5PdmVybGF5cykge1xuICAgICAgICAgICAgaWYgKCFpc0VuYWJsZWQpIHJldHVybjtcblxuICAgICAgICAgICAgY29uc3QgaHRtbFN0eWxlID0gcm9vdC5zdHlsZTtcbiAgICAgICAgICAgIGNvbnN0IGJvZHlTdHlsZSA9IGRvY3VtZW50LmJvZHkuc3R5bGU7XG4gICAgICAgICAgICBjb25zdCBwcmV2aW91c0h0bWxTY3JvbGxCZWhhdmlvciA9IGh0bWxTdHlsZS5zY3JvbGxCZWhhdmlvciB8fCAnJztcbiAgICAgICAgICAgIGNvbnN0IHByZXZpb3VzQm9keVNjcm9sbEJlaGF2aW9yID0gYm9keVN0eWxlLnNjcm9sbEJlaGF2aW9yIHx8ICcnO1xuXG4gICAgICAgICAgICBjb25zdCBkaWROYXZpZ2F0ZSA9IGxhc3RSb3V0ZSAhPT0gdGhpcy5yb3V0ZSgpO1xuXG4gICAgICAgICAgICByb290LmNsYXNzTGlzdC5yZW1vdmUoQkxPQ0tfQ0xBU1MsIE9WRVJTQ1JPTExfQ0xBU1MpO1xuXG4gICAgICAgICAgICByb290LnN0eWxlLmxlZnQgPSBwcmV2aW91c0hUTUxTdHlsZXMubGVmdDtcbiAgICAgICAgICAgIHJvb3Quc3R5bGUudG9wID0gcHJldmlvdXNIVE1MU3R5bGVzLnRvcDtcblxuICAgICAgICAgICAgaWYgKCFkaWROYXZpZ2F0ZSkge1xuICAgICAgICAgICAgICBodG1sU3R5bGUuc2Nyb2xsQmVoYXZpb3IgPSBib2R5U3R5bGUuc2Nyb2xsQmVoYXZpb3IgPSAnYXV0byc7XG4gICAgICAgICAgICAgIHdpbmRvdy5zY3JvbGwocHJldmlvdXNTY3JvbGxQb3NpdGlvbi5sZWZ0LCBwcmV2aW91c1Njcm9sbFBvc2l0aW9uLnRvcCk7XG4gICAgICAgICAgICAgIGh0bWxTdHlsZS5zY3JvbGxCZWhhdmlvciA9IHByZXZpb3VzSHRtbFNjcm9sbEJlaGF2aW9yO1xuICAgICAgICAgICAgICBib2R5U3R5bGUuc2Nyb2xsQmVoYXZpb3IgPSBwcmV2aW91c0JvZHlTY3JvbGxCZWhhdmlvcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaXNFbmFibGVkID0gZmFsc2U7XG4gICAgICAgICAgICBsYXN0Um91dGUgPSBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export * from './overlay.types';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvb3ZlcmxheS9jb21wb25lbnRzL292ZXJsYXkvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vb3ZlcmxheS50eXBlcyc7XG4iXX0=
@@ -1,6 +0,0 @@
1
- export const OVERLAY_STATE = {
2
- OPEN: 'open',
3
- CLOSING: 'closing',
4
- CLOSED: 'closed',
5
- };
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9vdmVybGF5L2NvbXBvbmVudHMvb3ZlcmxheS90eXBlcy9vdmVybGF5LnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTJCQSxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUc7SUFDM0IsSUFBSSxFQUFFLE1BQU07SUFDWixPQUFPLEVBQUUsU0FBUztJQUNsQixNQUFNLEVBQUUsUUFBUTtDQUNSLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3Rpb24gfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XG5pbXBvcnQgeyBQb3NpdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgSW5qZWN0b3IsIFN0YXRpY1Byb3ZpZGVyLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCcmVha3BvaW50IH0gZnJvbSAnQGV0aGxldGUvY29yZSc7XG5pbXBvcnQgeyBFbXB0eU9iamVjdCB9IGZyb20gJ0BldGhsZXRlL3F1ZXJ5JztcblxuLyoqIE9wdGlvbnMgZm9yIHdoZXJlIHRvIHNldCBmb2N1cyB0byBhdXRvbWF0aWNhbGx5IG9uIG92ZXJsYXkgb3BlbiAqL1xuZXhwb3J0IHR5cGUgT3ZlcmxheUF1dG9Gb2N1c1RhcmdldCA9ICdkaWFsb2cnIHwgJ2ZpcnN0LXRhYmJhYmxlJyB8ICdmaXJzdC1oZWFkaW5nJztcblxuLyoqIFZhbGlkIEFSSUEgcm9sZXMgZm9yIGEgb3ZlcmxheSBlbGVtZW50LiAqL1xuZXhwb3J0IHR5cGUgT3ZlcmxheVJvbGUgPSAnZGlhbG9nJyB8ICdhbGVydGRpYWxvZyc7XG5cbi8qKiBQb3NzaWJsZSBvdmVycmlkZXMgZm9yIGEgb3ZlcmxheSdzIHBvc2l0aW9uLiAqL1xuZXhwb3J0IGludGVyZmFjZSBPdmVybGF5UG9zaXRpb24ge1xuICAvKiogT3ZlcnJpZGUgZm9yIHRoZSBvdmVybGF5J3MgdG9wIHBvc2l0aW9uLiAqL1xuICB0b3A/OiBzdHJpbmc7XG5cbiAgLyoqIE92ZXJyaWRlIGZvciB0aGUgb3ZlcmxheSdzIGJvdHRvbSBwb3NpdGlvbi4gKi9cbiAgYm90dG9tPzogc3RyaW5nO1xuXG4gIC8qKiBPdmVycmlkZSBmb3IgdGhlIG92ZXJsYXkncyBsZWZ0IHBvc2l0aW9uLiAqL1xuICBsZWZ0Pzogc3RyaW5nO1xuXG4gIC8qKiBPdmVycmlkZSBmb3IgdGhlIG92ZXJsYXkncyByaWdodCBwb3NpdGlvbi4gKi9cbiAgcmlnaHQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBPVkVSTEFZX1NUQVRFID0ge1xuICBPUEVOOiAnb3BlbicsXG4gIENMT1NJTkc6ICdjbG9zaW5nJyxcbiAgQ0xPU0VEOiAnY2xvc2VkJyxcbn0gYXMgY29uc3Q7XG5cbmV4cG9ydCB0eXBlIE92ZXJsYXlTdGF0ZSA9ICh0eXBlb2YgT1ZFUkxBWV9TVEFURSlba2V5b2YgdHlwZW9mIE9WRVJMQVlfU1RBVEVdO1xuXG5leHBvcnQgaW50ZXJmYWNlIE92ZXJsYXlEcmFnVG9EaXNtaXNzQ29uZmlnIHtcbiAgLyoqIERpcmVjdGlvbiBpbiB3aGljaCB0aGUgb3ZlcmxheSBjYW4gYmUgZHJhZ2dlZC4gKi9cbiAgZGlyZWN0aW9uOiAndG8tdG9wJyB8ICd0by1ib3R0b20nIHwgJ3RvLWxlZnQnIHwgJ3RvLXJpZ2h0JztcblxuICAvKipcbiAgICogVGhlIG1pbmltdW0gZGlzdGFuY2UgaW4gcGl4ZWxzIHRoYXQgdGhlIHVzZXIgbXVzdCBzd2lwZSB0byBkaXNtaXNzIHRoZSBvdmVybGF5LlxuICAgKlxuICAgKiBAZGVmYXVsdCAxNTAgLy8gMTUwcHhcbiAgICovXG4gIG1pbkRpc3RhbmNlVG9EaXNtaXNzPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgbWluaW11bSB2ZWxvY2l0eSBpbiBwaXhlbHMgcGVyIHNlY29uZCB0aGF0IHRoZSB1c2VyIG11c3Qgc3dpcGUgdG8gZGlzbWlzcyB0aGUgb3ZlcmxheS5cbiAgICpcbiAgICogQGRlZmF1bHQgMTUwIC8vIDE1MHB4L3NcbiAgICovXG4gIG1pblZlbG9jaXR5VG9EaXNtaXNzPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE92ZXJsYXlCcmVha3BvaW50Q29uZmlnIHtcbiAgLyoqIE1pbi13aWR0aCBvZiB0aGUgb3ZlcmxheS4gSWYgYSBudW1iZXIgaXMgcHJvdmlkZWQsIGFzc3VtZXMgcGl4ZWwgdW5pdHMuICovXG4gIG1pbldpZHRoPzogbnVtYmVyIHwgc3RyaW5nO1xuXG4gIC8qKiBNYXgtd2lkdGggb2YgdGhlIG92ZXJsYXkuIElmIGEgbnVtYmVyIGlzIHByb3ZpZGVkLCBhc3N1bWVzIHBpeGVsIHVuaXRzLiAqL1xuICBtYXhXaWR0aD86IG51bWJlciB8IHN0cmluZztcblxuICAvKiogTWluLWhlaWdodCBvZiB0aGUgb3ZlcmxheS4gSWYgYSBudW1iZXIgaXMgcHJvdmlkZWQsIGFzc3VtZXMgcGl4ZWwgdW5pdHMuICovXG4gIG1pbkhlaWdodD86IG51bWJlciB8IHN0cmluZztcblxuICAvKiogTWF4LWhlaWdodCBvZiB0aGUgb3ZlcmxheS4gSWYgYSBudW1iZXIgaXMgcHJvdmlkZWQsIGFzc3VtZXMgcGl4ZWwgdW5pdHMuICovXG4gIG1heEhlaWdodD86IG51bWJlciB8IHN0cmluZztcblxuICAvKiogV2lkdGggb2YgdGhlIG92ZXJsYXkuICovXG4gIHdpZHRoPzogbnVtYmVyIHwgc3RyaW5nO1xuXG4gIC8qKiBIZWlnaHQgb2YgdGhlIG92ZXJsYXkuICovXG4gIGhlaWdodD86IG51bWJlciB8IHN0cmluZztcblxuICAvKiogUG9zaXRpb24gc3RyYXRlZ3kgdG8gYmUgdXNlZCBmb3IgdGhlIG92ZXJsYXkuICovXG4gIHBvc2l0aW9uU3RyYXRlZ3k/OiAoKSA9PiBQb3NpdGlvblN0cmF0ZWd5O1xuXG4gIC8qKiBDdXN0b20gY2xhc3MgZm9yIHRoZSBvdmVybGF5IGNvbnRhaW5lci4gKi9cbiAgY29udGFpbmVyQ2xhc3M/OiBzdHJpbmcgfCBzdHJpbmdbXTtcblxuICAvKiogQ3VzdG9tIGNsYXNzIGZvciB0aGUgb3ZlcmxheSBwYW5lLiAqL1xuICBwYW5lQ2xhc3M/OiBzdHJpbmcgfCBzdHJpbmdbXTtcblxuICAvKiogRXh0cmEgQ1NTIGNsYXNzZXMgdG8gYmUgYWRkZWQgdG8gdGhlIG92ZXJsYXkgb3ZlcmxheSBjb250YWluZXIuICovXG4gIG92ZXJsYXlDbGFzcz86IHN0cmluZyB8IHN0cmluZ1tdO1xuXG4gIC8qKiBDdXN0b20gY2xhc3MgZm9yIHRoZSBiYWNrZHJvcC4gKi9cbiAgYmFja2Ryb3BDbGFzcz86IHN0cmluZyB8IHN0cmluZ1tdO1xuXG4gIC8qKiBDdXN0b20gY2xhc3MgZm9yIHRoZSBkb2N1bWVudCAoYDxodG1sPmAgZWxlbWVudCkuICovXG4gIGRvY3VtZW50Q2xhc3M/OiBzdHJpbmcgfCBzdHJpbmdbXTtcblxuICAvKiogQ3VzdG9tIGNsYXNzIGZvciB0aGUgYDxib2R5PmAgZWxlbWVudCAqL1xuICBib2R5Q2xhc3M/OiBzdHJpbmcgfCBzdHJpbmdbXTtcblxuICAvKiogUG9zaXRpb24gb3ZlcnJpZGVzLiAqL1xuICBwb3NpdGlvbj86IE92ZXJsYXlQb3NpdGlvbjtcblxuICAvKiogRGV0ZXJtaW5lIGlmIGFuZCBpbiB3aGF0IGRpcmVjdGlvbiB0aGUgb3ZlcmxheSBzaG91bGQgYmUgYWJsZSB0byBiZSBkcmFnZ2VkIHRvIGRpc21pc3MgaXQuICovXG4gIGRyYWdUb0Rpc21pc3M/OiBPdmVybGF5RHJhZ1RvRGlzbWlzc0NvbmZpZztcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgdHJhbnNmb3JtIG9yaWdpbiBzaG91bGQgYmUgc2V0IHVzaW5nIHRoZSBjb25maWcncyBgb3JpZ2luYCBwcm9wZXJ0eSB2YWx1ZS5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIGFwcGx5VHJhbnNmb3JtT3JpZ2luPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPdmVybGF5QnJlYWtwb2ludENvbmZpZ0VudHJ5IHtcbiAgLyoqXG4gICAqIEJyZWFrcG9pbnQgdG8gYXBwbHkgdGhlIGNvbmZpZyBmb3IuIElmIGEgbnVtYmVyIGlzIHByb3ZpZGVkLCBpdCB3aWxsIGJlIHVzZWQgYXMgYSBwaXhlbCB2YWx1ZS5cbiAgICogQWx3YXlzIHVzZXMgdGhlIG1pbi13aWR0aCBtZWRpYSBxdWVyeS5cbiAgICpcbiAgICogQGRlZmF1bHQgJ3hzJyAvLyAwcHhcbiAgICovXG4gIGJyZWFrcG9pbnQ/OiBCcmVha3BvaW50IHwgbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBPdmVybGF5IGNvbmZpZ3VyYXRpb24gdG8gYmUgYXBwbGllZCB3aGVuIHRoZSBicmVha3BvaW50IGlzIGFjdGl2ZS5cbiAgICovXG4gIGNvbmZpZzogT3ZlcmxheUJyZWFrcG9pbnRDb25maWc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3ZlcmxheUNvbmZpZzxEID0gdW5rbm93bj4ge1xuICAvKipcbiAgICogQ29uZGl0aW9uYWxseSBhcHBsaWVkIG92ZXJsYXkgY29uZmlndXJhdGlvbnMgYmFzZWQgb24gYnJlYWtwb2ludHMuXG4gICAqL1xuICBwb3NpdGlvbnM6IE92ZXJsYXlCcmVha3BvaW50Q29uZmlnRW50cnlbXTtcblxuICAvKipcbiAgICogV2hlcmUgdGhlIGF0dGFjaGVkIGNvbXBvbmVudCBzaG91bGQgbGl2ZSBpbiBBbmd1bGFyJ3MgKmxvZ2ljYWwqIGNvbXBvbmVudCB0cmVlLlxuICAgKiBUaGlzIGFmZmVjdHMgd2hhdCBpcyBhdmFpbGFibGUgZm9yIGluamVjdGlvbiBhbmQgdGhlIGNoYW5nZSBkZXRlY3Rpb24gb3JkZXIgZm9yIHRoZVxuICAgKiBjb21wb25lbnQgaW5zdGFudGlhdGVkIGluc2lkZSBvZiB0aGUgb3ZlcmxheS4gVGhpcyBkb2VzIG5vdCBhZmZlY3Qgd2hlcmUgdGhlIG92ZXJsYXlcbiAgICogY29udGVudCB3aWxsIGJlIHJlbmRlcmVkLlxuICAgKi9cbiAgdmlld0NvbnRhaW5lclJlZj86IFZpZXdDb250YWluZXJSZWY7XG5cbiAgLyoqXG4gICAqIEluamVjdG9yIHVzZWQgZm9yIHRoZSBpbnN0YW50aWF0aW9uIG9mIHRoZSBjb21wb25lbnQgdG8gYmUgYXR0YWNoZWQuIElmIHByb3ZpZGVkLFxuICAgKiB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgdGhlIGluamVjdG9yIGluZGlyZWN0bHkgcHJvdmlkZWQgYnkgYFZpZXdDb250YWluZXJSZWZgLlxuICAgKi9cbiAgaW5qZWN0b3I/OiBJbmplY3RvcjtcblxuICAvKiogSUQgZm9yIHRoZSBvdmVybGF5LiBJZiBvbWl0dGVkLCBhIHVuaXF1ZSBvbmUgd2lsbCBiZSBnZW5lcmF0ZWQuICovXG4gIGlkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQVJJQSByb2xlIG9mIHRoZSBvdmVybGF5IGVsZW1lbnQuXG4gICAqIEBkZWZhdWx0ICdkaWFsb2cnXG4gICAqL1xuICByb2xlPzogT3ZlcmxheVJvbGU7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIG92ZXJsYXkgaGFzIGEgYmFja2Ryb3AuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIGhhc0JhY2tkcm9wPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgdXNlciBjYW4gdXNlIGVzY2FwZSBvciBjbGlja2luZyBvbiB0aGUgYmFja2Ryb3AgdG8gY2xvc2UgdGhlIG1vZGFsLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgZGlzYWJsZUNsb3NlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRGF0YSBiZWluZyBpbmplY3RlZCBpbnRvIHRoZSBjaGlsZCBjb21wb25lbnQuXG4gICAqIEBkZWZhdWx0IG51bGxcbiAgICovXG4gIGRhdGE/OiBEIHwgbnVsbDtcblxuICAvKiogTGF5b3V0IGRpcmVjdGlvbiBmb3IgdGhlIG92ZXJsYXkncyBjb250ZW50LiAqL1xuICBkaXJlY3Rpb24/OiBEaXJlY3Rpb247XG5cbiAgLyoqXG4gICAqIElEIG9mIHRoZSBlbGVtZW50IHRoYXQgZGVzY3JpYmVzIHRoZSBvdmVybGF5LlxuICAgKiBAZGVmYXVsdCBudWxsXG4gICAqL1xuICBhcmlhRGVzY3JpYmVkQnk/OiBzdHJpbmcgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBJRCBvZiB0aGUgZWxlbWVudCB0aGF0IGxhYmVscyB0aGUgb3ZlcmxheS5cbiAgICogQGRlZmF1bHQgbnVsbFxuICAgKi9cbiAgYXJpYUxhYmVsbGVkQnk/OiBzdHJpbmcgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBBcmlhIGxhYmVsIHRvIGFzc2lnbiB0byB0aGUgb3ZlcmxheSBlbGVtZW50LlxuICAgKiBAZGVmYXVsdCBudWxsXG4gICAqL1xuICBhcmlhTGFiZWw/OiBzdHJpbmcgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoaXMgaXMgYSBtb2RhbCBvdmVybGF5LiBVc2VkIHRvIHNldCB0aGUgYGFyaWEtbW9kYWxgIGF0dHJpYnV0ZS5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgYXJpYU1vZGFsPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgb3ZlcmxheSB1c2VzIGEgY3VzdG9tIGFuaW1hdGlvbi5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIGN1c3RvbUFuaW1hdGVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hlcmUgdGhlIG92ZXJsYXkgc2hvdWxkIGZvY3VzIG9uIG9wZW4uXG4gICAqIENhbiBiZSBvbmUgb2YgQXV0b0ZvY3VzVGFyZ2V0LCBvciBhIGNzcyBzZWxlY3RvciBzdHJpbmcuXG4gICAqIEBkZWZhdWx0ICdmaXJzdC10YWJiYWJsZSdcbiAgICovXG4gIGF1dG9Gb2N1cz86IE92ZXJsYXlBdXRvRm9jdXNUYXJnZXQgfCBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIG92ZXJsYXkgc2hvdWxkIHJlc3RvcmUgZm9jdXMgdG8gdGhlXG4gICAqIHByZXZpb3VzbHktZm9jdXNlZCBlbGVtZW50LCBhZnRlciBpdCdzIGNsb3NlZC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVzdG9yZUZvY3VzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0byB3YWl0IGZvciB0aGUgb3BlbmluZyBhbmltYXRpb24gdG8gZmluaXNoIGJlZm9yZSB0cmFwcGluZyBmb2N1cy5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgZGVsYXlGb2N1c1RyYXA/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBvdmVybGF5IHNob3VsZCBjbG9zZSB3aGVuIHRoZSB1c2VyIGdvZXMgYmFja3dhcmRzL2ZvcndhcmRzIGluIGhpc3RvcnkuXG4gICAqIE5vdGUgdGhhdCB0aGlzIHVzdWFsbHkgZG9lc24ndCBpbmNsdWRlIGNsaWNraW5nIG9uIGxpbmtzICh1bmxlc3MgdGhlIHVzZXIgaXMgdXNpbmdcbiAgICogdGhlIGBIYXNoTG9jYXRpb25TdHJhdGVneWApLiBXaWxsIGJlIGF1dG9tYXRpY2FsbHkgc2V0IHRvIGZhbHNlIGlmIHRoZSBvdmVybGF5IGNvbnRhaW5zIGEgb3ZlcmxheSByb3V0ZXIuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIGNsb3NlT25OYXZpZ2F0aW9uPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRXh0cmEgcHJvdmlkZXJzIHRvIGJlIG1hZGUgYXZhaWxhYmxlIHRvIHRoZSBvdmVybGF5LlxuICAgKlxuICAgKiAqKldBUk5JTkcqKjogQXZvaWQgcHJvdmlkaW5nIGBASW5qZWN0YWJsZSgpYCBjbGFzc2VzIHN1Y2ggYXMgc2VydmljZXMgaGVyZSwgYXMgdGhleSB3aWxsIG5ldmVyIGJlIGRlc3Ryb3llZC5cbiAgICogVGhpcyBjb3VsZCBsZWFkIHRvIG1lbW9yeSBsZWFrcyBvdmVyIHRpbWUuXG4gICAqL1xuICBwcm92aWRlcnM/OiBTdGF0aWNQcm92aWRlcltdO1xuXG4gIC8qKlxuICAgKiBUaGUgb3JpZ2luIGVsZW1lbnQgdGhhdCB0cmlnZ2VyZWQgdGhlIG92ZXJsYXkncyBvcGVuaW5nLlxuICAgKi9cbiAgb3JpZ2luPzogSFRNTEVsZW1lbnQgfCBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCB8IEtleWJvYXJkRXZlbnQgfCBQb2ludGVyRXZlbnQ7XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiB1dGlsaXR5IHR5cGUgZm9yIG92ZXJsYXlzLlxuICogVG8gYmUgdXNlZCBpbnNpZGUgeW91ciBvdmVybGF5IG9wZW5lciBtZXRob2QgYXMgYSBwYXJhbSB0byBiZSBwYXNzZWQgdG8gdGhlIG92ZXJsYXkub3BlbiBtZXRob2QuXG4gKi9cbmV4cG9ydCB0eXBlIE92ZXJsYXlDb25zdW1lckNvbmZpZzxEID0gdm9pZD4gPSBPbWl0PE92ZXJsYXlDb25maWc8RD4sICdwb3NpdGlvbnMnIHwgJ2RhdGEnPiAmXG4gIE1heWJlT3ZlcmxheUNvbnN1bWVyQ29uZmlnV2l0aERhdGE8RD47XG5cbmV4cG9ydCB0eXBlIE1heWJlT3ZlcmxheUNvbnN1bWVyQ29uZmlnV2l0aERhdGE8RD4gPSBEIGV4dGVuZHMgdm9pZCA/IEVtcHR5T2JqZWN0IDogeyBkYXRhOiBEIH07XG4iXX0=
@@ -1,124 +0,0 @@
1
- import { Injectable, InjectionToken, computed, inject, isDevMode } from '@angular/core';
2
- import { toObservable, toSignal } from '@angular/core/rxjs-interop';
3
- import { cloneFormGroup, controlValueSignal, getFormGroupValue } from '@ethlete/core';
4
- import { isQueryStateFailure, isQueryStateLoading, isQueryStateSuccess, queryComputed, switchQueryState, } from '@ethlete/query';
5
- import { OverlayRef } from './overlay-ref';
6
- import * as i0 from "@angular/core";
7
- export const FILTER_OVERLAY_CONFIG = new InjectionToken('FILTER_OVERLAY_CONFIG');
8
- export const defaultSubmitButtonConfigFn = (config) => {
9
- const { queryState, totalHits, locale = 'en' } = config;
10
- const isInitializing = queryState === null && totalHits === null;
11
- if (isQueryStateLoading(queryState) || isInitializing) {
12
- return {
13
- disabled: true,
14
- label: locale === 'en' ? 'Loading results...' : 'Lade Ergebnisse...',
15
- };
16
- }
17
- else if (isQueryStateFailure(queryState)) {
18
- return {
19
- disabled: true,
20
- label: locale === 'en' ? 'An error occurred' : 'Ein Fehler ist aufgetreten',
21
- };
22
- }
23
- else if (totalHits !== null) {
24
- if (totalHits === 0) {
25
- return {
26
- disabled: true,
27
- label: locale === 'en' ? 'No results found' : 'Keine Ergebnisse gefunden',
28
- };
29
- }
30
- else if (totalHits === 1) {
31
- return {
32
- disabled: false,
33
- label: locale === 'en' ? 'Show one result' : 'Zeige ein Ergebnis',
34
- };
35
- }
36
- else if (totalHits > 250) {
37
- return {
38
- disabled: false,
39
- label: locale === 'en' ? 'Show more than 250 results' : 'Zeige mehr als 250 Ergebnisse',
40
- };
41
- }
42
- else {
43
- return {
44
- disabled: false,
45
- label: locale === 'en' ? `Show ${totalHits} results` : `Zeige ${totalHits} Ergebnisse`,
46
- };
47
- }
48
- }
49
- if (isDevMode()) {
50
- console.error('The default submit button config function resulted in an unknown state. The fallback state might be invalid and should be checked.', config);
51
- }
52
- // This should never happen
53
- return {
54
- disabled: true,
55
- label: locale === 'en' ? 'No results found' : 'Keine Ergebnisse gefunden',
56
- };
57
- };
58
- export class FilterOverlayService {
59
- constructor() {
60
- this.config = inject(FILTER_OVERLAY_CONFIG);
61
- this.overlayRef = inject(OverlayRef);
62
- this.form = cloneFormGroup(this.config.form);
63
- this.formValue = controlValueSignal(this.form);
64
- this.searchPreviewQuery = queryComputed(() => {
65
- const formVal = this.formValue();
66
- if (!this.config.searchPreviewQueryFn || !formVal) {
67
- return null;
68
- }
69
- return this.config.searchPreviewQueryFn(formVal);
70
- });
71
- this.searchPreviewQueryState = toSignal(toObservable(this.searchPreviewQuery).pipe(switchQueryState()), {
72
- initialValue: null,
73
- });
74
- this.searchPreviewTotalHits = computed(() => {
75
- const state = this.searchPreviewQueryState();
76
- if (isQueryStateSuccess(state)) {
77
- if (this.config.totalHitsExtractorFn) {
78
- return this.config.totalHitsExtractorFn(state.response);
79
- }
80
- if (!state.response || typeof state.response !== 'object' || !('totalHits' in state.response)) {
81
- console.error(`The response does not contain a totalHits property.`, state.response);
82
- return null;
83
- }
84
- return state.response.totalHits;
85
- }
86
- return null;
87
- });
88
- this.submitButtonConfig = computed(() => {
89
- const state = this.searchPreviewQueryState();
90
- const totalHits = this.searchPreviewTotalHits();
91
- return (this.config.submitButtonConfigFn?.({ queryState: state, totalHits }) ??
92
- defaultSubmitButtonConfigFn({ queryState: state, totalHits }));
93
- });
94
- }
95
- submit() {
96
- const value = getFormGroupValue(this.form);
97
- this.config.form.setValue(value);
98
- this.close({ didUpdate: true, formValue: value });
99
- }
100
- reset() {
101
- if (!this.config.defaults) {
102
- throw new Error(`The default form value is not defined.`);
103
- }
104
- this.form.patchValue(this.config.defaults);
105
- }
106
- close(data) {
107
- this.overlayRef?.close(data);
108
- }
109
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FilterOverlayService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
110
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FilterOverlayService }); }
111
- }
112
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FilterOverlayService, decorators: [{
113
- type: Injectable
114
- }] });
115
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
116
- export const provideFilterOverlayConfig = (config) => {
117
- return [
118
- {
119
- provide: FILTER_OVERLAY_CONFIG,
120
- useValue: config,
121
- },
122
- ];
123
- };
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLW92ZXJsYXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvb3ZlcmxheS9jb21wb25lbnRzL292ZXJsYXkvdXRpbHMvZmlsdGVyLW92ZXJsYXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQVksUUFBUSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEcsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFJTCxtQkFBbUIsRUFDbkIsbUJBQW1CLEVBQ25CLG1CQUFtQixFQUNuQixhQUFhLEVBQ2IsZ0JBQWdCLEdBQ2pCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFM0MsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxjQUFjLENBQXNCLHVCQUF1QixDQUFDLENBQUM7QUE4Q3RHLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLENBQ3pDLE1BQXlDLEVBQ1IsRUFBRTtJQUNuQyxNQUFNLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLEdBQUcsSUFBSSxFQUFFLEdBQUcsTUFBTSxDQUFDO0lBRXhELE1BQU0sY0FBYyxHQUFHLFVBQVUsS0FBSyxJQUFJLElBQUksU0FBUyxLQUFLLElBQUksQ0FBQztJQUVqRSxJQUFJLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxJQUFJLGNBQWMsRUFBRSxDQUFDO1FBQ3RELE9BQU87WUFDTCxRQUFRLEVBQUUsSUFBSTtZQUNkLEtBQUssRUFBRSxNQUFNLEtBQUss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SyxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFakMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUMxQixNQUFNLElBQUksS0FBSyxDQUFDLHdDQUF3QyxDQUFDLENBQUM7UUFDNUQsQ0FBQztRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUEwQjtRQUM5QixJQUFJLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDOytHQW5FVSxvQkFBb0I7bUhBQXBCLG9CQUFvQjs7NEZBQXBCLG9CQUFvQjtrQkFEaEMsVUFBVTs7QUF1RVgsOERBQThEO0FBQzlELE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLENBQ3hDLE1BQWlDLEVBQ3JCLEVBQUU7SUFDZCxPQUFPO1FBQ0w7WUFDRSxPQUFPLEVBQUUscUJBQXFCO1lBQzlCLFFBQVEsRUFBRSxNQUFNO1NBQ2pCO0tBQ0YsQ0FBQztBQUNKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFR5cGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBQcm92aWRlciwgY29tcHV0ZWQsIGluamVjdCwgaXNEZXZNb2RlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0b09ic2VydmFibGUsIHRvU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY2xvbmVGb3JtR3JvdXAsIGNvbnRyb2xWYWx1ZVNpZ25hbCwgZ2V0Rm9ybUdyb3VwVmFsdWUgfSBmcm9tICdAZXRobGV0ZS9jb3JlJztcbmltcG9ydCB7XG4gIEFueVF1ZXJ5LFxuICBRdWVyeVJlc3BvbnNlT2YsXG4gIFF1ZXJ5U3RhdGUsXG4gIGlzUXVlcnlTdGF0ZUZhaWx1cmUsXG4gIGlzUXVlcnlTdGF0ZUxvYWRpbmcsXG4gIGlzUXVlcnlTdGF0ZVN1Y2Nlc3MsXG4gIHF1ZXJ5Q29tcHV0ZWQsXG4gIHN3aXRjaFF1ZXJ5U3RhdGUsXG59IGZyb20gJ0BldGhsZXRlL3F1ZXJ5JztcbmltcG9ydCB7IE92ZXJsYXlSZWYgfSBmcm9tICcuL292ZXJsYXktcmVmJztcblxuZXhwb3J0IGNvbnN0IEZJTFRFUl9PVkVSTEFZX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxGaWx0ZXJPdmVybGF5Q29uZmlnPignRklMVEVSX09WRVJMQVlfQ09ORklHJyk7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG5leHBvcnQgdHlwZSBGaWx0ZXJPdmVybGF5Q29uZmlnPEYgZXh0ZW5kcyBGb3JtR3JvdXA8YW55PiA9IEZvcm1Hcm91cDxhbnk+LCBRIGV4dGVuZHMgQW55UXVlcnkgPSBBbnlRdWVyeT4gPSB7XG4gIC8qKlxuICAgKiBUaGUgZm9ybSB0byB1c2UuXG4gICAqL1xuICBmb3JtOiBGO1xuXG4gIC8qKlxuICAgKiBUaGUgZGVmYXVsdCBmb3JtIHZhbHVlLiBVc2VkIHdoZW4gdGhlIGZvcm0gaXMgcmVzZXQuXG4gICAqL1xuICBkZWZhdWx0cz86IFJldHVyblR5cGU8RlsnZ2V0UmF3VmFsdWUnXT47XG5cbiAgLyoqXG4gICAqIEEgZnVuY3Rpb24gdG8gY3JlYXRlIGEgcXVlcnkgYmFzZWQgb24gdGhlIGZvcm0gdmFsdWUuXG4gICAqL1xuICBzZWFyY2hQcmV2aWV3UXVlcnlGbj86IChmb3JtVmFsdWU6IFJldHVyblR5cGU8RlsnZ2V0UmF3VmFsdWUnXT4pID0+IFE7XG5cbiAgLyoqXG4gICAqIEEgZnVuY3Rpb24gdG8gZXh0cmFjdCB0aGUgdG90YWwgaGl0cyBmcm9tIHRoZSByZXNwb25zZS5cbiAgICogQGRlZmF1bHQgYHJlc3BvbnNlLnRvdGFsSGl0c2BcbiAgICovXG4gIHRvdGFsSGl0c0V4dHJhY3RvckZuPzogKHJlc3BvbnNlOiBRdWVyeVJlc3BvbnNlT2Y8UT4pID0+IG51bWJlcjtcblxuICAvKipcbiAgICogQSBmdW5jdGlvbiB0byBjcmVhdGUgdGhlIHN1Ym1pdCBidXR0b24gY29uZmlnIGJhc2VkIG9uIHRoZSBxdWVyeSBzdGF0ZSBhbmQgdGhlIHRvdGFsIGhpdHMuXG4gICAqIElmIGEgZ2VybWFuIHRyYW5zbGF0aW9uIGlzIG5lZWRlZCwgbWFudWFsbHkgcHJvdmlkZSB0aGUgYGRlZmF1bHRTdWJtaXRCdXR0b25Db25maWdGbmAgYW5kIHNldCB0aGUgbG9jYWxlIHRvIGBkZWAuXG4gICAqIEBkZWZhdWx0IGRlZmF1bHRTdWJtaXRCdXR0b25Db25maWdGbigpXG4gICAqL1xuICBzdWJtaXRCdXR0b25Db25maWdGbj86IChcbiAgICBjb25maWc6IERlZmF1bHRTdWJtaXRCdXR0b25Db25maWdGbkNvbmZpZzxRdWVyeVJlc3BvbnNlT2Y8UT4+LFxuICApID0+IEZpbHRlck92ZXJsYXlTdWJtaXRCdXR0b25Db25maWc7XG59O1xuXG5leHBvcnQgdHlwZSBGaWx0ZXJPdmVybGF5U3VibWl0QnV0dG9uQ29uZmlnID0ge1xuICBsYWJlbDogc3RyaW5nO1xuICBkaXNhYmxlZDogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIERlZmF1bHRTdWJtaXRCdXR0b25Db25maWdGbkNvbmZpZzxSZXNwb25zZVR5cGUgPSB1bmtub3duPiA9IHtcbiAgcXVlcnlTdGF0ZTogUXVlcnlTdGF0ZTxSZXNwb25zZVR5cGU+IHwgbnVsbDtcbiAgdG90YWxIaXRzOiBudW1iZXIgfCBudWxsO1xuICBsb2NhbGU/OiAnZW4nIHwgJ2RlJztcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0U3VibWl0QnV0dG9uQ29uZmlnRm4gPSAoXG4gIGNvbmZpZzogRGVmYXVsdFN1Ym1pdEJ1dHRvbkNvbmZpZ0ZuQ29uZmlnLFxuKTogRmlsdGVyT3ZlcmxheVN1Ym1pdEJ1dHRvbkNvbmZpZyA9PiB7XG4gIGNvbnN0IHsgcXVlcnlTdGF0ZSwgdG90YWxIaXRzLCBsb2NhbGUgPSAnZW4nIH0gPSBjb25maWc7XG5cbiAgY29uc3QgaXNJbml0aWFsaXppbmcgPSBxdWVyeVN0YXRlID09PSBudWxsICYmIHRvdGFsSGl0cyA9PT0gbnVsbDtcblxuICBpZiAoaXNRdWVyeVN0YXRlTG9hZGluZyhxdWVyeVN0YXRlKSB8fCBpc0luaXRpYWxpemluZykge1xuICAgIHJldHVybiB7XG4gICAgICBkaXNhYmxlZDogdHJ1ZSxcbiAgICAgIGxhYmVsOiBsb2NhbGUgPT09ICdlbicgPyAnTG9hZGluZyByZXN1bHRzLi4uJyA6ICdMYWRlIEVyZ2Vibmlzc2UuLi4nLFxuICAgIH07XG4gIH0gZWxzZSBpZiAoaXNRdWVyeVN0YXRlRmFpbHVyZShxdWVyeVN0YXRlKSkge1xuICAgIHJldHVybiB7XG4gICAgICBkaXNhYmxlZDogdHJ1ZSxcbiAgICAgIGxhYmVsOiBsb2NhbGUgPT09ICdlbicgPyAnQW4gZXJyb3Igb2NjdXJyZWQnIDogJ0VpbiBGZWhsZXIgaXN0IGF1ZmdldHJldGVuJyxcbiAgICB9O1xuICB9IGVsc2UgaWYgKHRvdGFsSGl0cyAhPT0gbnVsbCkge1xuICAgIGlmICh0b3RhbEhpdHMgPT09IDApIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGRpc2FibGVkOiB0cnVlLFxuICAgICAgICBsYWJlbDogbG9jYWxlID09PSAnZW4nID8gJ05vIHJlc3VsdHMgZm91bmQnIDogJ0tlaW5lIEVyZ2Vibmlzc2UgZ2VmdW5kZW4nLFxuICAgICAgfTtcbiAgICB9IGVsc2UgaWYgKHRvdGFsSGl0cyA9PT0gMSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZGlzYWJsZWQ6IGZhbHNlLFxuICAgICAgICBsYWJlbDogbG9jYWxlID09PSAnZW4nID8gJ1Nob3cgb25lIHJlc3VsdCcgOiAnWmVpZ2UgZWluIEVyZ2VibmlzJyxcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmICh0b3RhbEhpdHMgPiAyNTApIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGRpc2FibGVkOiBmYWxzZSxcbiAgICAgICAgbGFiZWw6IGxvY2FsZSA9PT0gJ2VuJyA/ICdTaG93IG1vcmUgdGhhbiAyNTAgcmVzdWx0cycgOiAnWmVpZ2UgbWVociBhbHMgMjUwIEVyZ2Vibmlzc2UnLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZGlzYWJsZWQ6IGZhbHNlLFxuICAgICAgICBsYWJlbDogbG9jYWxlID09PSAnZW4nID8gYFNob3cgJHt0b3RhbEhpdHN9IHJlc3VsdHNgIDogYFplaWdlICR7dG90YWxIaXRzfSBFcmdlYm5pc3NlYCxcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgaWYgKGlzRGV2TW9kZSgpKSB7XG4gICAgY29uc29sZS5lcnJvcihcbiAgICAgICdUaGUgZGVmYXVsdCBzdWJtaXQgYnV0dG9uIGNvbmZpZyBmdW5jdGlvbiByZXN1bHRlZCBpbiBhbiB1bmtub3duIHN0YXRlLiBUaGUgZmFsbGJhY2sgc3RhdGUgbWlnaHQgYmUgaW52YWxpZCBhbmQgc2hvdWxkIGJlIGNoZWNrZWQuJyxcbiAgICAgIGNvbmZpZyxcbiAgICApO1xuICB9XG5cbiAgLy8gVGhpcyBzaG91bGQgbmV2ZXIgaGFwcGVuXG4gIHJldHVybiB7XG4gICAgZGlzYWJsZWQ6IHRydWUsXG4gICAgbGFiZWw6IGxvY2FsZSA9PT0gJ2VuJyA/ICdObyByZXN1bHRzIGZvdW5kJyA6ICdLZWluZSBFcmdlYm5pc3NlIGdlZnVuZGVuJyxcbiAgfTtcbn07XG5cbmV4cG9ydCB0eXBlIEZpbHRlck92ZXJsYXlSZXN1bHQ8Rm9ybVZhbHVlID0gdW5rbm93bj4gPVxuICB8IHtcbiAgICAgIGRpZFVwZGF0ZTogZmFsc2U7XG4gICAgfVxuICB8IHtcbiAgICAgIGRpZFVwZGF0ZTogdHJ1ZTtcbiAgICAgIGZvcm1WYWx1ZTogRm9ybVZhbHVlO1xuICAgIH07XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGaWx0ZXJPdmVybGF5U2VydmljZTxGIGV4dGVuZHMgRm9ybUdyb3VwLCBDIGV4dGVuZHMgQ29tcG9uZW50VHlwZTx1bmtub3duPiB8IHVua25vd24gPSB1bmtub3duPiB7XG4gIGNvbmZpZyA9IGluamVjdDxGaWx0ZXJPdmVybGF5Q29uZmlnPEY+PihGSUxURVJfT1ZFUkxBWV9DT05GSUcpO1xuICBvdmVybGF5UmVmID0gaW5qZWN0PE92ZXJsYXlSZWY8QywgRmlsdGVyT3ZlcmxheVJlc3VsdD4+KE92ZXJsYXlSZWYpO1xuXG4gIGZvcm0gPSBjbG9uZUZvcm1Hcm91cCh0aGlzLmNvbmZpZy5mb3JtIGFzIEYpO1xuXG4gIGZvcm1WYWx1ZSA9IGNvbnRyb2xWYWx1ZVNpZ25hbCh0aGlzLmZvcm0pO1xuICBzZWFyY2hQcmV2aWV3UXVlcnkgPSBxdWVyeUNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBmb3JtVmFsID0gdGhpcy5mb3JtVmFsdWUoKTtcblxuICAgIGlmICghdGhpcy5jb25maWcuc2VhcmNoUHJldmlld1F1ZXJ5Rm4gfHwgIWZvcm1WYWwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmNvbmZpZy5zZWFyY2hQcmV2aWV3UXVlcnlGbihmb3JtVmFsKTtcbiAgfSk7XG5cbiAgc2VhcmNoUHJldmlld1F1ZXJ5U3RhdGUgPSB0b1NpZ25hbCh0b09ic2VydmFibGUodGhpcy5zZWFyY2hQcmV2aWV3UXVlcnkpLnBpcGUoc3dpdGNoUXVlcnlTdGF0ZSgpKSwge1xuICAgIGluaXRpYWxWYWx1ZTogbnVsbCxcbiAgfSk7XG5cbiAgc2VhcmNoUHJldmlld1RvdGFsSGl0cyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBzdGF0ZSA9IHRoaXMuc2VhcmNoUHJldmlld1F1ZXJ5U3RhdGUoKTtcblxuICAgIGlmIChpc1F1ZXJ5U3RhdGVTdWNjZXNzKHN0YXRlKSkge1xuICAgICAgaWYgKHRoaXMuY29uZmlnLnRvdGFsSGl0c0V4dHJhY3RvckZuKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZy50b3RhbEhpdHNFeHRyYWN0b3JGbihzdGF0ZS5yZXNwb25zZSk7XG4gICAgICB9XG5cbiAgICAgIGlmICghc3RhdGUucmVzcG9uc2UgfHwgdHlwZW9mIHN0YXRlLnJlc3BvbnNlICE9PSAnb2JqZWN0JyB8fCAhKCd0b3RhbEhpdHMnIGluIHN0YXRlLnJlc3BvbnNlKSkge1xuICAgICAgICBjb25zb2xlLmVycm9yKGBUaGUgcmVzcG9uc2UgZG9lcyBub3QgY29udGFpbiBhIHRvdGFsSGl0cyBwcm9wZXJ0eS5gLCBzdGF0ZS5yZXNwb25zZSk7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gc3RhdGUucmVzcG9uc2UudG90YWxIaXRzIGFzIG51bWJlcjtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfSk7XG5cbiAgc3VibWl0QnV0dG9uQ29uZmlnID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IHN0YXRlID0gdGhpcy5zZWFyY2hQcmV2aWV3UXVlcnlTdGF0ZSgpO1xuICAgIGNvbnN0IHRvdGFsSGl0cyA9IHRoaXMuc2VhcmNoUHJldmlld1RvdGFsSGl0cygpO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuY29uZmlnLnN1Ym1pdEJ1dHRvbkNvbmZpZ0ZuPy4oeyBxdWVyeVN0YXRlOiBzdGF0ZSwgdG90YWxIaXRzIH0pID8/XG4gICAgICBkZWZhdWx0U3VibWl0QnV0dG9uQ29uZmlnRm4oeyBxdWVyeVN0YXRlOiBzdGF0ZSwgdG90YWxIaXRzIH0pXG4gICAgKTtcbiAgfSk7XG5cbiAgc3VibWl0KCkge1xuICAgIGNvbnN0IHZhbHVlID0gZ2V0Rm9ybUdyb3VwVmFsdWUodGhpcy5mb3JtKTtcbiAgICB0aGlzLmNvbmZpZy5mb3JtLnNldFZhbHVlKHZhbHVlKTtcblxuICAgIHRoaXMuY2xvc2UoeyBkaWRVcGRhdGU6IHRydWUsIGZvcm1WYWx1ZTogdmFsdWUgfSk7XG4gIH1cblxuICByZXNldCgpIHtcbiAgICBpZiAoIXRoaXMuY29uZmlnLmRlZmF1bHRzKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFRoZSBkZWZhdWx0IGZvcm0gdmFsdWUgaXMgbm90IGRlZmluZWQuYCk7XG4gICAgfVxuXG4gICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUodGhpcy5jb25maWcuZGVmYXVsdHMpO1xuICB9XG5cbiAgY2xvc2UoZGF0YT86IEZpbHRlck92ZXJsYXlSZXN1bHQpIHtcbiAgICB0aGlzLm92ZXJsYXlSZWY/LmNsb3NlKGRhdGEpO1xuICB9XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG5leHBvcnQgY29uc3QgcHJvdmlkZUZpbHRlck92ZXJsYXlDb25maWcgPSA8RiBleHRlbmRzIEZvcm1Hcm91cDxhbnk+ID0gRm9ybUdyb3VwPGFueT4sIFEgZXh0ZW5kcyBBbnlRdWVyeSA9IEFueVF1ZXJ5PihcbiAgY29uZmlnOiBGaWx0ZXJPdmVybGF5Q29uZmlnPEYsIFE+LFxuKTogUHJvdmlkZXJbXSA9PiB7XG4gIHJldHVybiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogRklMVEVSX09WRVJMQVlfQ09ORklHLFxuICAgICAgdXNlVmFsdWU6IGNvbmZpZyxcbiAgICB9LFxuICBdO1xufTtcbiJdfQ==