@dereekb/dbx-web 11.1.7 → 12.0.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 (742) hide show
  1. package/calendar/lib/calendar.base.component.d.ts +10 -1
  2. package/calendar/lib/calendar.component.d.ts +8 -5
  3. package/calendar/lib/calendar.module.d.ts +4 -16
  4. package/calendar/lib/calendar.provider.d.ts +5 -0
  5. package/calendar/lib/calendar.store.d.ts +13 -9
  6. package/calendar/lib/index.d.ts +1 -0
  7. package/esm2022/calendar/lib/calendar.base.component.mjs +26 -12
  8. package/esm2022/calendar/lib/calendar.component.mjs +19 -17
  9. package/esm2022/calendar/lib/calendar.mjs +1 -1
  10. package/esm2022/calendar/lib/calendar.module.mjs +10 -76
  11. package/esm2022/calendar/lib/calendar.provider.mjs +11 -0
  12. package/esm2022/calendar/lib/calendar.store.mjs +19 -19
  13. package/esm2022/calendar/lib/index.mjs +2 -1
  14. package/esm2022/lib/action/action.confirm.directive.mjs +10 -12
  15. package/esm2022/lib/action/action.module.mjs +12 -16
  16. package/esm2022/lib/action/key.trigger.directive.mjs +6 -5
  17. package/esm2022/lib/action/snackbar/action.snackbar.component.mjs +29 -36
  18. package/esm2022/lib/action/snackbar/action.snackbar.directive.mjs +14 -27
  19. package/esm2022/lib/action/snackbar/action.snackbar.generator.mjs +1 -1
  20. package/esm2022/lib/action/snackbar/action.snackbar.module.mjs +8 -14
  21. package/esm2022/lib/action/snackbar/action.snackbar.service.mjs +4 -4
  22. package/esm2022/lib/action/transition/action.transition.module.mjs +14 -13
  23. package/esm2022/lib/action/transition/transition.safety.dialog.component.mjs +18 -24
  24. package/esm2022/lib/action/transition/transition.safety.directive.mjs +30 -33
  25. package/esm2022/lib/button/button.component.mjs +71 -104
  26. package/esm2022/lib/button/button.module.mjs +44 -12
  27. package/esm2022/lib/button/button.spacer.directive.mjs +20 -0
  28. package/esm2022/lib/button/icon/icon.button.component.mjs +48 -32
  29. package/esm2022/lib/button/icon/icon.button.module.mjs +10 -24
  30. package/esm2022/lib/button/index.mjs +2 -2
  31. package/esm2022/lib/button/progress/abstract.progress.button.directive.mjs +103 -0
  32. package/esm2022/lib/button/progress/bar.button.component.mjs +15 -11
  33. package/esm2022/lib/button/progress/button.progress.config.mjs +2 -2
  34. package/esm2022/lib/button/progress/button.progress.module.mjs +13 -28
  35. package/esm2022/lib/button/progress/button.progress.providers.mjs +18 -0
  36. package/esm2022/lib/button/progress/index.mjs +2 -1
  37. package/esm2022/lib/button/progress/spinner.button.component.mjs +66 -38
  38. package/esm2022/lib/dbx-web.module.mjs +4 -4
  39. package/esm2022/lib/error/default.error.widget.component.mjs +22 -15
  40. package/esm2022/lib/error/error.action.directive.mjs +9 -8
  41. package/esm2022/lib/error/error.api.mjs +1 -1
  42. package/esm2022/lib/error/error.component.mjs +56 -94
  43. package/esm2022/lib/error/error.details.component.mjs +15 -14
  44. package/esm2022/lib/error/error.loading.directive.mjs +20 -20
  45. package/esm2022/lib/error/error.module.mjs +21 -18
  46. package/esm2022/lib/error/error.popover.component.mjs +14 -17
  47. package/esm2022/lib/error/error.snackbar.action.directive.mjs +6 -5
  48. package/esm2022/lib/error/error.snackbar.component.mjs +57 -39
  49. package/esm2022/lib/error/error.snackbar.service.mjs +11 -10
  50. package/esm2022/lib/error/error.view.component.mjs +40 -33
  51. package/esm2022/lib/error/error.widget.component.mjs +19 -25
  52. package/esm2022/lib/error/error.widget.directive.mjs +3 -3
  53. package/esm2022/lib/error/error.widget.service.mjs +7 -7
  54. package/esm2022/lib/error/state.mjs +1 -1
  55. package/esm2022/lib/extension/download/text/download.text.component.mjs +46 -56
  56. package/esm2022/lib/extension/download/text/download.text.module.mjs +11 -33
  57. package/esm2022/lib/extension/model/index.mjs +2 -2
  58. package/esm2022/lib/extension/model/model.providers.mjs +42 -0
  59. package/esm2022/lib/extension/model/model.state.service.mjs +5 -8
  60. package/esm2022/lib/extension/model/model.tracker.mjs +1 -1
  61. package/esm2022/lib/extension/model/model.tracker.service.mjs +5 -8
  62. package/esm2022/lib/extension/model/model.tracker.view.storage.mjs +8 -8
  63. package/esm2022/lib/extension/model/model.types.mjs +1 -1
  64. package/esm2022/lib/extension/model/model.types.service.mjs +5 -5
  65. package/esm2022/lib/extension/model/state/actions/model.actions.mjs +1 -1
  66. package/esm2022/lib/extension/model/state/effects/tracker.effects.mjs +3 -3
  67. package/esm2022/lib/extension/structure/structure.body.directive.mjs +6 -5
  68. package/esm2022/lib/extension/structure/structure.module.mjs +11 -17
  69. package/esm2022/lib/extension/structure/structure.structure.directive.mjs +10 -6
  70. package/esm2022/lib/extension/widget/widget.component.mjs +32 -37
  71. package/esm2022/lib/extension/widget/widget.directive.mjs +3 -3
  72. package/esm2022/lib/extension/widget/widget.list.component.mjs +31 -20
  73. package/esm2022/lib/extension/widget/widget.module.mjs +15 -24
  74. package/esm2022/lib/extension/widget/widget.service.mjs +4 -4
  75. package/esm2022/lib/index.mjs +2 -2
  76. package/esm2022/lib/interaction/dialog/abstract.dialog.directive.mjs +3 -3
  77. package/esm2022/lib/interaction/dialog/dialog.action.directive.mjs +19 -23
  78. package/esm2022/lib/interaction/dialog/dialog.content.close.component.mjs +23 -22
  79. package/esm2022/lib/interaction/dialog/dialog.content.directive.mjs +23 -0
  80. package/esm2022/lib/interaction/dialog/dialog.content.footer.component.mjs +21 -29
  81. package/esm2022/lib/interaction/dialog/dialog.module.mjs +9 -16
  82. package/esm2022/lib/interaction/dialog/index.mjs +2 -2
  83. package/esm2022/lib/interaction/filter/filter.config.mjs +2 -0
  84. package/esm2022/lib/interaction/filter/filter.menu.mjs +1 -1
  85. package/esm2022/lib/interaction/filter/filter.module.mjs +9 -54
  86. package/esm2022/lib/interaction/filter/filter.partial.list.component.mjs +13 -11
  87. package/esm2022/lib/interaction/filter/filter.partial.menu.component.mjs +22 -29
  88. package/esm2022/lib/interaction/filter/filter.partial.mjs +13 -24
  89. package/esm2022/lib/interaction/filter/filter.popover.button.component.mjs +17 -31
  90. package/esm2022/lib/interaction/filter/filter.popover.button.directive.mjs +10 -12
  91. package/esm2022/lib/interaction/filter/filter.popover.component.mjs +25 -30
  92. package/esm2022/lib/interaction/filter/filter.preset.directive.mjs +17 -29
  93. package/esm2022/lib/interaction/filter/filter.preset.list.component.mjs +13 -11
  94. package/esm2022/lib/interaction/filter/filter.preset.menu.component.mjs +22 -29
  95. package/esm2022/lib/interaction/filter/filter.wrapper.component.mjs +23 -29
  96. package/esm2022/lib/interaction/filter/index.mjs +2 -1
  97. package/esm2022/lib/interaction/interaction.module.mjs +17 -6
  98. package/esm2022/lib/interaction/popover/abstract.popover.directive.mjs +3 -3
  99. package/esm2022/lib/interaction/popover/abstract.popover.ref.directive.mjs +13 -22
  100. package/esm2022/lib/interaction/popover/index.mjs +2 -2
  101. package/esm2022/lib/interaction/popover/popover.action.directive.mjs +20 -23
  102. package/esm2022/lib/interaction/popover/popover.close.component.mjs +12 -8
  103. package/esm2022/lib/interaction/popover/popover.component.mjs +15 -13
  104. package/esm2022/lib/interaction/popover/popover.content.component.mjs +20 -13
  105. package/esm2022/lib/interaction/popover/popover.content.module.mjs +9 -19
  106. package/esm2022/lib/interaction/popover/popover.controls.directive.mjs +7 -6
  107. package/esm2022/lib/interaction/popover/popover.coordinator.component.mjs +17 -15
  108. package/esm2022/lib/interaction/popover/popover.coordinator.service.mjs +4 -4
  109. package/esm2022/lib/interaction/popover/popover.header.component.mjs +25 -22
  110. package/esm2022/lib/interaction/popover/popover.module.mjs +8 -18
  111. package/esm2022/lib/interaction/popover/popover.scroll.content.directive.mjs +41 -0
  112. package/esm2022/lib/interaction/popover/popover.service.mjs +4 -4
  113. package/esm2022/lib/interaction/popup/abstract.popup.directive.mjs +3 -3
  114. package/esm2022/lib/interaction/popup/popup.component.mjs +20 -23
  115. package/esm2022/lib/interaction/popup/popup.content.component.mjs +21 -14
  116. package/esm2022/lib/interaction/popup/popup.controls.buttons.component.mjs +49 -26
  117. package/esm2022/lib/interaction/popup/popup.controls.component.mjs +15 -14
  118. package/esm2022/lib/interaction/popup/popup.coordinator.component.mjs +15 -12
  119. package/esm2022/lib/interaction/popup/popup.coordinator.service.mjs +4 -4
  120. package/esm2022/lib/interaction/popup/popup.mjs +6 -7
  121. package/esm2022/lib/interaction/popup/popup.module.mjs +8 -19
  122. package/esm2022/lib/interaction/popup/popup.position.strategy.mjs +1 -1
  123. package/esm2022/lib/interaction/popup/popup.service.mjs +8 -5
  124. package/esm2022/lib/interaction/prompt/index.mjs +2 -2
  125. package/esm2022/lib/interaction/prompt/prompt.box.directive.mjs +19 -0
  126. package/esm2022/lib/interaction/prompt/prompt.button.confirm.directive.mjs +6 -5
  127. package/esm2022/lib/interaction/prompt/prompt.component.mjs +16 -17
  128. package/esm2022/lib/interaction/prompt/prompt.confirm.component.mjs +35 -35
  129. package/esm2022/lib/interaction/prompt/prompt.confirm.dialog.component.mjs +14 -13
  130. package/esm2022/lib/interaction/prompt/prompt.confirm.directive.mjs +28 -23
  131. package/esm2022/lib/interaction/prompt/prompt.module.mjs +9 -18
  132. package/esm2022/lib/interaction/prompt/prompt.page.component.mjs +11 -8
  133. package/esm2022/lib/keypress/keydown.listener.directive.mjs +6 -5
  134. package/esm2022/lib/keypress/keypress.module.mjs +9 -8
  135. package/esm2022/lib/layout/bar/bar.directive.mjs +14 -11
  136. package/esm2022/lib/layout/bar/bar.header.component.mjs +31 -26
  137. package/esm2022/lib/layout/bar/bar.layout.module.mjs +9 -12
  138. package/esm2022/lib/layout/bar/pagebar.component.mjs +33 -12
  139. package/esm2022/lib/layout/block/block.layout.module.mjs +10 -12
  140. package/esm2022/lib/layout/block/two.block.component.mjs +25 -32
  141. package/esm2022/lib/layout/card/card.box.component.mjs +27 -20
  142. package/esm2022/lib/layout/card/card.box.container.directive.mjs +20 -0
  143. package/esm2022/lib/layout/card/card.box.layout.module.mjs +10 -12
  144. package/esm2022/lib/layout/card/index.mjs +2 -2
  145. package/esm2022/lib/layout/column/column.layout.module.mjs +9 -7
  146. package/esm2022/lib/layout/column/one/one.column.component.mjs +16 -15
  147. package/esm2022/lib/layout/column/one/one.column.module.mjs +9 -9
  148. package/esm2022/lib/layout/column/two/index.mjs +2 -2
  149. package/esm2022/lib/layout/column/two/two.column.back.directive.mjs +10 -12
  150. package/esm2022/lib/layout/column/two/two.column.component.mjs +77 -51
  151. package/esm2022/lib/layout/column/two/two.column.context.directive.mjs +14 -21
  152. package/esm2022/lib/layout/column/two/two.column.full.left.directive.mjs +13 -28
  153. package/esm2022/lib/layout/column/two/two.column.head.directive.mjs +24 -0
  154. package/esm2022/lib/layout/column/two/two.column.module.mjs +9 -15
  155. package/esm2022/lib/layout/column/two/two.column.right.component.mjs +90 -49
  156. package/esm2022/lib/layout/column/two/two.column.sref.directive.mjs +13 -13
  157. package/esm2022/lib/layout/column/two/two.column.sref.showright.directive.mjs +9 -7
  158. package/esm2022/lib/layout/column/two/two.column.store.mjs +15 -11
  159. package/esm2022/lib/layout/compact/compact.directive.mjs +3 -3
  160. package/esm2022/lib/layout/compact/compact.layout.module.mjs +4 -4
  161. package/esm2022/lib/layout/compact/compact.mjs +1 -1
  162. package/esm2022/lib/layout/compact/compact.store.mjs +4 -4
  163. package/esm2022/lib/layout/content/content.border.directive.mjs +11 -11
  164. package/esm2022/lib/layout/content/content.box.directive.mjs +12 -15
  165. package/esm2022/lib/layout/content/content.container.directive.mjs +16 -17
  166. package/esm2022/lib/layout/content/content.directive.mjs +6 -5
  167. package/esm2022/lib/layout/content/content.elevate.directive.mjs +10 -11
  168. package/esm2022/lib/layout/content/content.layout.module.mjs +9 -11
  169. package/esm2022/lib/layout/content/content.page.directive.mjs +6 -5
  170. package/esm2022/lib/layout/content/content.pit.directive.mjs +10 -11
  171. package/esm2022/lib/layout/flag/flag.component.mjs +15 -14
  172. package/esm2022/lib/layout/flag/flag.layout.module.mjs +8 -13
  173. package/esm2022/lib/layout/flag/flag.prompt.component.mjs +18 -20
  174. package/esm2022/lib/layout/flex/flex.group.directive.mjs +21 -47
  175. package/esm2022/lib/layout/flex/flex.layout.module.mjs +11 -9
  176. package/esm2022/lib/layout/flex/flex.size.directive.mjs +11 -12
  177. package/esm2022/lib/layout/item/index.mjs +1 -2
  178. package/esm2022/lib/layout/item/item.icon.component.mjs +31 -24
  179. package/esm2022/lib/layout/layout.module.mjs +6 -8
  180. package/esm2022/lib/layout/list/grid/index.mjs +3 -0
  181. package/esm2022/lib/layout/list/grid/list.grid.view.component.mjs +98 -0
  182. package/esm2022/lib/layout/list/grid/list.grid.view.directive.mjs +34 -0
  183. package/esm2022/lib/layout/list/group/index.mjs +4 -0
  184. package/esm2022/lib/layout/list/group/list.view.value.group.mjs +32 -0
  185. package/esm2022/lib/layout/list/group/list.view.value.group.title.directive.mjs +70 -0
  186. package/esm2022/lib/layout/list/group/list.view.value.group.title.header.component.mjs +60 -0
  187. package/esm2022/lib/layout/list/group/list.view.value.group.title.mjs +2 -0
  188. package/esm2022/lib/layout/list/index.mjs +6 -10
  189. package/esm2022/lib/layout/list/list.component.mjs +109 -135
  190. package/esm2022/lib/layout/list/list.content.empty.component.mjs +9 -7
  191. package/esm2022/lib/layout/list/list.directive.mjs +70 -56
  192. package/esm2022/lib/layout/list/list.layout.module.mjs +59 -49
  193. package/esm2022/lib/layout/list/list.module.mjs +40 -0
  194. package/esm2022/lib/layout/list/list.view.directive.mjs +35 -28
  195. package/esm2022/lib/layout/list/list.view.mjs +1 -1
  196. package/esm2022/lib/layout/list/list.view.selection.directive.mjs +26 -10
  197. package/esm2022/lib/layout/list/list.view.value.component.mjs +135 -143
  198. package/esm2022/lib/layout/list/list.view.value.directive.mjs +12 -18
  199. package/esm2022/lib/layout/list/list.view.value.item.directive.mjs +3 -3
  200. package/esm2022/lib/layout/list/list.view.value.mjs +1 -1
  201. package/esm2022/lib/layout/list/list.view.value.modifier.mjs +1 -1
  202. package/esm2022/lib/layout/list/list.view.value.selection.component.mjs +80 -68
  203. package/esm2022/lib/layout/list/list.wrapper.mjs +1 -3
  204. package/esm2022/lib/layout/list/meta/index.mjs +2 -0
  205. package/esm2022/lib/layout/list/meta/list.view.meta.icon.component.mjs +39 -0
  206. package/esm2022/lib/layout/list/modifier/index.mjs +5 -0
  207. package/esm2022/lib/layout/list/modifier/list.modifier.module.mjs +22 -0
  208. package/esm2022/lib/layout/list/modifier/list.view.value.modifier.directive.mjs +75 -0
  209. package/esm2022/lib/layout/list/modifier/list.view.value.modifier.ripple.directive.mjs +37 -0
  210. package/esm2022/lib/layout/list/modifier/list.view.value.modifier.selection.directive.mjs +35 -0
  211. package/esm2022/lib/layout/section/section.component.mjs +18 -15
  212. package/esm2022/lib/layout/section/section.header.component.mjs +123 -106
  213. package/esm2022/lib/layout/section/section.intro.component.mjs +53 -51
  214. package/esm2022/lib/layout/section/section.layout.module.mjs +9 -15
  215. package/esm2022/lib/layout/section/section.mjs +1 -1
  216. package/esm2022/lib/layout/section/section.page.component.mjs +22 -18
  217. package/esm2022/lib/layout/section/subsection.component.mjs +13 -10
  218. package/esm2022/lib/layout/step/step.component.mjs +56 -21
  219. package/esm2022/lib/layout/step/step.layout.module.mjs +11 -10
  220. package/esm2022/lib/layout/style/index.mjs +2 -1
  221. package/esm2022/lib/layout/style/spacer.directive.mjs +6 -5
  222. package/esm2022/lib/layout/style/style.body.directive.mjs +22 -17
  223. package/esm2022/lib/layout/style/style.color.directive.mjs +11 -14
  224. package/esm2022/lib/layout/style/style.directive.mjs +13 -17
  225. package/esm2022/lib/layout/style/style.layout.module.mjs +8 -10
  226. package/esm2022/lib/layout/style/style.mjs +4 -1
  227. package/esm2022/lib/layout/style/style.providers.mjs +21 -0
  228. package/esm2022/lib/layout/style/style.service.mjs +54 -32
  229. package/esm2022/lib/layout/style/style.set.directive.mjs +31 -47
  230. package/esm2022/lib/layout/text/address.component.mjs +43 -22
  231. package/esm2022/lib/layout/text/compat/form.description.component.mjs +3 -3
  232. package/esm2022/lib/layout/text/compat/hint.component.mjs +3 -3
  233. package/esm2022/lib/layout/text/compat/label.component.mjs +3 -3
  234. package/esm2022/lib/layout/text/compat/note.component.mjs +3 -3
  235. package/esm2022/lib/layout/text/compat/notice.component.mjs +3 -3
  236. package/esm2022/lib/layout/text/compat/ok.component.mjs +3 -3
  237. package/esm2022/lib/layout/text/compat/success.component.mjs +3 -3
  238. package/esm2022/lib/layout/text/compat/text.compat.module.mjs +4 -4
  239. package/esm2022/lib/layout/text/compat/warn.component.mjs +3 -3
  240. package/esm2022/lib/layout/text/detail.block.component.mjs +11 -8
  241. package/esm2022/lib/layout/text/detail.block.header.component.mjs +24 -13
  242. package/esm2022/lib/layout/text/icon.spacer.component.mjs +6 -5
  243. package/esm2022/lib/layout/text/label.block.component.mjs +9 -7
  244. package/esm2022/lib/layout/text/linkify.component.mjs +13 -10
  245. package/esm2022/lib/layout/text/text.chip.directive.mjs +6 -5
  246. package/esm2022/lib/layout/text/text.chips.component.mjs +34 -29
  247. package/esm2022/lib/layout/text/text.module.mjs +8 -13
  248. package/esm2022/lib/loading/basic-loading.component.mjs +31 -97
  249. package/esm2022/lib/loading/loading-progress.component.mjs +47 -54
  250. package/esm2022/lib/loading/loading.action.directive.mjs +9 -11
  251. package/esm2022/lib/loading/loading.component.mjs +60 -81
  252. package/esm2022/lib/loading/loading.module.mjs +8 -13
  253. package/esm2022/lib/router/layout/anchor/anchor.component.mjs +86 -36
  254. package/esm2022/lib/router/layout/anchor/anchor.content.component.mjs +26 -14
  255. package/esm2022/lib/router/layout/anchor/anchor.icon.component.mjs +10 -6
  256. package/esm2022/lib/router/layout/anchor/anchor.link.component.mjs +9 -7
  257. package/esm2022/lib/router/layout/anchor/anchor.module.mjs +17 -13
  258. package/esm2022/lib/router/layout/anchor/anchor.segue.directive.mjs +11 -13
  259. package/esm2022/lib/router/layout/anchorlist/anchorlist.component.mjs +22 -28
  260. package/esm2022/lib/router/layout/anchorlist/anchorlist.module.mjs +9 -15
  261. package/esm2022/lib/router/layout/layout.module.mjs +4 -4
  262. package/esm2022/lib/router/layout/list/list.module.mjs +9 -7
  263. package/esm2022/lib/router/layout/list/router.list.directive.mjs +16 -20
  264. package/esm2022/lib/router/layout/navbar/navbar.component.mjs +41 -87
  265. package/esm2022/lib/router/layout/navbar/navbar.module.mjs +9 -43
  266. package/esm2022/lib/router/layout/sidenav/sidenav.button.component.mjs +28 -24
  267. package/esm2022/lib/router/layout/sidenav/sidenav.component.mjs +91 -71
  268. package/esm2022/lib/router/layout/sidenav/sidenav.ifdisplaymode.directive.mjs +18 -23
  269. package/esm2022/lib/router/layout/sidenav/sidenav.module.mjs +8 -22
  270. package/esm2022/lib/router/layout/sidenav/sidenav.page.component.mjs +37 -46
  271. package/esm2022/lib/router/layout/sidenav/sidenav.pagebar.component.mjs +18 -18
  272. package/esm2022/lib/router/provider/ngrouter/anchor.component.mjs +6 -7
  273. package/esm2022/lib/router/provider/ngrouter/angular.router.providers.mjs +23 -0
  274. package/esm2022/lib/router/provider/ngrouter/index.mjs +2 -2
  275. package/esm2022/lib/router/provider/router.provider.config.mjs +8 -1
  276. package/esm2022/lib/router/provider/uirouter/anchor.component.mjs +14 -12
  277. package/esm2022/lib/router/provider/uirouter/index.mjs +2 -2
  278. package/esm2022/lib/router/provider/uirouter/uirouter.router.providers.mjs +23 -0
  279. package/esm2022/lib/screen/index.mjs +2 -2
  280. package/esm2022/lib/screen/screen.providers.mjs +22 -0
  281. package/esm2022/lib/screen/screen.service.mjs +6 -6
  282. package/esm2022/lib/util/cdk.mjs +1 -1
  283. package/esm2022/mapbox/lib/index.mjs +3 -2
  284. package/esm2022/mapbox/lib/mapbox.change.service.mjs +4 -4
  285. package/esm2022/mapbox/lib/mapbox.injection.component.mjs +13 -12
  286. package/esm2022/mapbox/lib/mapbox.injection.store.mjs +5 -5
  287. package/esm2022/mapbox/lib/mapbox.injection.store.provide.mjs +9 -8
  288. package/esm2022/mapbox/lib/mapbox.layout.component.mjs +93 -117
  289. package/esm2022/mapbox/lib/mapbox.layout.drawer.component.mjs +8 -8
  290. package/esm2022/mapbox/lib/mapbox.layout.resize.sync.directive.mjs +9 -8
  291. package/esm2022/mapbox/lib/mapbox.marker.component.mjs +69 -72
  292. package/esm2022/mapbox/lib/mapbox.marker.mjs +2 -2
  293. package/esm2022/mapbox/lib/mapbox.markers.component.mjs +22 -36
  294. package/esm2022/mapbox/lib/mapbox.menu.component.mjs +33 -31
  295. package/esm2022/mapbox/lib/mapbox.mjs +1 -1
  296. package/esm2022/mapbox/lib/mapbox.module.mjs +24 -61
  297. package/esm2022/mapbox/lib/mapbox.options.mjs +2 -0
  298. package/esm2022/mapbox/lib/mapbox.providers.mjs +25 -0
  299. package/esm2022/mapbox/lib/mapbox.rxjs.mjs +1 -1
  300. package/esm2022/mapbox/lib/mapbox.service.mjs +5 -8
  301. package/esm2022/mapbox/lib/mapbox.store.map.directive.mjs +7 -6
  302. package/esm2022/mapbox/lib/mapbox.store.mjs +39 -15
  303. package/esm2022/mapbox/lib/mapbox.store.provide.mjs +9 -8
  304. package/esm2022/table/lib/date/date.table.column.header.component.mjs +27 -21
  305. package/esm2022/table/lib/date/daterange.table.cell.input.component.mjs +39 -46
  306. package/esm2022/table/lib/date/table.date.module.mjs +8 -58
  307. package/esm2022/table/lib/table.cell.action.component.mjs +13 -10
  308. package/esm2022/table/lib/table.cell.input.component.mjs +13 -10
  309. package/esm2022/table/lib/table.cell.summaryend.component.mjs +13 -10
  310. package/esm2022/table/lib/table.cell.summarystart.component.mjs +13 -10
  311. package/esm2022/table/lib/table.column.directive.mjs +10 -17
  312. package/esm2022/table/lib/table.column.footer.component.mjs +13 -10
  313. package/esm2022/table/lib/table.column.header.component.mjs +13 -10
  314. package/esm2022/table/lib/table.component.mjs +31 -24
  315. package/esm2022/table/lib/table.directive.mjs +16 -22
  316. package/esm2022/table/lib/table.item.action.component.mjs +20 -17
  317. package/esm2022/table/lib/table.item.cell.component.mjs +19 -26
  318. package/esm2022/table/lib/table.item.directive.mjs +10 -17
  319. package/esm2022/table/lib/table.item.header.component.mjs +15 -11
  320. package/esm2022/table/lib/table.module.mjs +11 -55
  321. package/esm2022/table/lib/table.store.mjs +8 -8
  322. package/fesm2022/dereekb-dbx-web-calendar.mjs +69 -110
  323. package/fesm2022/dereekb-dbx-web-calendar.mjs.map +1 -1
  324. package/fesm2022/dereekb-dbx-web-mapbox.mjs +340 -365
  325. package/fesm2022/dereekb-dbx-web-mapbox.mjs.map +1 -1
  326. package/fesm2022/dereekb-dbx-web-table.mjs +230 -317
  327. package/fesm2022/dereekb-dbx-web-table.mjs.map +1 -1
  328. package/fesm2022/dereekb-dbx-web.mjs +8063 -8083
  329. package/fesm2022/dereekb-dbx-web.mjs.map +1 -1
  330. package/lib/action/action.confirm.directive.d.ts +4 -5
  331. package/lib/action/action.module.d.ts +7 -10
  332. package/lib/action/key.trigger.directive.d.ts +1 -1
  333. package/lib/action/snackbar/_snackbar.scss +3 -3
  334. package/lib/action/snackbar/action.snackbar.component.d.ts +15 -14
  335. package/lib/action/snackbar/action.snackbar.directive.d.ts +5 -7
  336. package/lib/action/snackbar/action.snackbar.generator.d.ts +9 -9
  337. package/lib/action/snackbar/action.snackbar.module.d.ts +1 -6
  338. package/lib/action/transition/action.transition.module.d.ts +7 -6
  339. package/lib/action/transition/transition.safety.dialog.component.d.ts +5 -9
  340. package/lib/action/transition/transition.safety.directive.d.ts +10 -7
  341. package/lib/button/_button.scss +3 -3
  342. package/lib/button/button.component.d.ts +16 -21
  343. package/lib/button/button.module.d.ts +10 -7
  344. package/lib/button/{button.spacer.component.d.ts → button.spacer.directive.d.ts} +1 -1
  345. package/lib/button/icon/icon.button.component.d.ts +1 -1
  346. package/lib/button/icon/icon.button.module.d.ts +4 -4
  347. package/lib/button/index.d.ts +1 -1
  348. package/lib/button/progress/abstract.progress.button.directive.d.ts +25 -0
  349. package/lib/button/progress/bar.button.component.d.ts +5 -4
  350. package/lib/button/progress/bar.button.component.scss +1 -1
  351. package/lib/button/progress/button.progress.config.d.ts +62 -34
  352. package/lib/button/progress/button.progress.module.d.ts +4 -10
  353. package/lib/button/progress/button.progress.providers.d.ts +9 -0
  354. package/lib/button/progress/index.d.ts +1 -0
  355. package/lib/button/progress/spinner.button.component.d.ts +18 -7
  356. package/lib/button/progress/spinner.button.component.scss +34 -7
  357. package/lib/error/_error.scss +3 -3
  358. package/lib/error/default.error.widget.component.d.ts +3 -3
  359. package/lib/error/error.action.directive.d.ts +3 -3
  360. package/lib/error/error.component.d.ts +21 -28
  361. package/lib/error/error.details.component.d.ts +2 -2
  362. package/lib/error/error.loading.directive.d.ts +8 -8
  363. package/lib/error/error.module.d.ts +4 -7
  364. package/lib/error/error.popover.component.d.ts +6 -6
  365. package/lib/error/error.snackbar.action.directive.d.ts +1 -1
  366. package/lib/error/error.snackbar.component.d.ts +12 -23
  367. package/lib/error/error.snackbar.service.d.ts +1 -0
  368. package/lib/error/error.view.component.d.ts +10 -12
  369. package/lib/error/error.widget.component.d.ts +4 -8
  370. package/lib/error/error.widget.service.d.ts +1 -1
  371. package/lib/error/state.d.ts +3 -2
  372. package/lib/extension/calendar/_calendar.scss +20 -20
  373. package/lib/extension/download/text/download.text.component.d.ts +16 -14
  374. package/lib/extension/download/text/download.text.module.d.ts +4 -6
  375. package/lib/extension/model/index.d.ts +1 -1
  376. package/lib/extension/model/model.providers.d.ts +13 -0
  377. package/lib/extension/model/model.tracker.d.ts +7 -7
  378. package/lib/extension/model/model.tracker.service.d.ts +2 -2
  379. package/lib/extension/model/model.tracker.view.storage.d.ts +4 -1
  380. package/lib/extension/model/model.types.d.ts +6 -6
  381. package/lib/extension/model/model.types.service.d.ts +1 -1
  382. package/lib/extension/model/state/actions/actions.d.ts +1 -1
  383. package/lib/extension/model/state/actions/model.actions.d.ts +5 -5
  384. package/lib/extension/model/state/effects/tracker.effects.d.ts +1 -1
  385. package/lib/extension/model/state/reducers/model.module.config.d.ts +1 -1
  386. package/lib/extension/structure/structure.body.directive.d.ts +1 -1
  387. package/lib/extension/structure/structure.module.d.ts +4 -2
  388. package/lib/extension/structure/structure.structure.directive.d.ts +5 -2
  389. package/lib/extension/table/_table.scss +3 -3
  390. package/lib/extension/widget/widget.component.d.ts +5 -9
  391. package/lib/extension/widget/widget.list.component.d.ts +8 -4
  392. package/lib/extension/widget/widget.module.d.ts +8 -4
  393. package/lib/index.d.ts +1 -1
  394. package/lib/interaction/dialog/_dialog.scss +3 -3
  395. package/lib/interaction/dialog/dialog.action.directive.d.ts +7 -6
  396. package/lib/interaction/dialog/dialog.content.close.component.d.ts +4 -6
  397. package/lib/interaction/dialog/{dialog.content.component.d.ts → dialog.content.directive.d.ts} +3 -2
  398. package/lib/interaction/dialog/dialog.content.footer.component.d.ts +10 -10
  399. package/lib/interaction/dialog/dialog.module.d.ts +2 -9
  400. package/lib/interaction/dialog/index.d.ts +1 -1
  401. package/lib/interaction/filter/_filter.scss +3 -3
  402. package/lib/interaction/filter/filter.config.d.ts +62 -0
  403. package/lib/interaction/filter/filter.menu.d.ts +3 -3
  404. package/lib/interaction/filter/filter.module.d.ts +2 -11
  405. package/lib/interaction/filter/filter.partial.d.ts +5 -7
  406. package/lib/interaction/filter/filter.partial.list.component.d.ts +1 -1
  407. package/lib/interaction/filter/filter.partial.menu.component.d.ts +5 -5
  408. package/lib/interaction/filter/filter.popover.button.component.d.ts +5 -7
  409. package/lib/interaction/filter/filter.popover.button.directive.d.ts +7 -6
  410. package/lib/interaction/filter/filter.popover.component.d.ts +15 -71
  411. package/lib/interaction/filter/filter.preset.directive.d.ts +7 -11
  412. package/lib/interaction/filter/filter.preset.list.component.d.ts +1 -1
  413. package/lib/interaction/filter/filter.preset.menu.component.d.ts +5 -5
  414. package/lib/interaction/filter/filter.wrapper.component.d.ts +5 -5
  415. package/lib/interaction/filter/index.d.ts +1 -0
  416. package/lib/interaction/interaction.module.d.ts +13 -4
  417. package/lib/interaction/popover/_popover.scss +3 -3
  418. package/lib/interaction/popover/abstract.popover.ref.directive.d.ts +3 -4
  419. package/lib/interaction/popover/index.d.ts +1 -1
  420. package/lib/interaction/popover/popover.action.directive.d.ts +7 -6
  421. package/lib/interaction/popover/popover.close.component.d.ts +1 -1
  422. package/lib/interaction/popover/popover.component.d.ts +15 -9
  423. package/lib/interaction/popover/popover.content.component.d.ts +6 -4
  424. package/lib/interaction/popover/popover.content.module.d.ts +2 -11
  425. package/lib/interaction/popover/popover.controls.directive.d.ts +3 -2
  426. package/lib/interaction/popover/popover.coordinator.component.d.ts +2 -2
  427. package/lib/interaction/popover/popover.header.component.d.ts +4 -3
  428. package/lib/interaction/popover/popover.module.d.ts +2 -11
  429. package/lib/interaction/popover/popover.scroll.content.directive.d.ts +13 -0
  430. package/lib/interaction/popover/popover.service.d.ts +4 -4
  431. package/lib/interaction/popup/_popup.scss +6 -6
  432. package/lib/interaction/popup/popup.component.d.ts +19 -19
  433. package/lib/interaction/popup/popup.content.component.d.ts +2 -1
  434. package/lib/interaction/popup/popup.controls.buttons.component.d.ts +3 -1
  435. package/lib/interaction/popup/popup.controls.component.d.ts +2 -2
  436. package/lib/interaction/popup/popup.coordinator.component.d.ts +3 -2
  437. package/lib/interaction/popup/popup.coordinator.service.d.ts +1 -1
  438. package/lib/interaction/popup/popup.d.ts +7 -6
  439. package/lib/interaction/popup/popup.module.d.ts +1 -10
  440. package/lib/interaction/popup/popup.position.strategy.d.ts +2 -2
  441. package/lib/interaction/popup/popup.service.d.ts +4 -4
  442. package/lib/interaction/prompt/_prompt.scss +4 -4
  443. package/lib/interaction/prompt/index.d.ts +1 -1
  444. package/lib/interaction/prompt/prompt.box.directive.d.ts +6 -0
  445. package/lib/interaction/prompt/prompt.button.confirm.directive.d.ts +1 -1
  446. package/lib/interaction/prompt/prompt.component.d.ts +3 -3
  447. package/lib/interaction/prompt/prompt.confirm.component.d.ts +11 -23
  448. package/lib/interaction/prompt/prompt.confirm.dialog.component.d.ts +2 -3
  449. package/lib/interaction/prompt/prompt.confirm.directive.d.ts +9 -5
  450. package/lib/interaction/prompt/prompt.module.d.ts +2 -11
  451. package/lib/interaction/prompt/prompt.page.component.d.ts +1 -1
  452. package/lib/interaction/style/_style.scss +6 -6
  453. package/lib/keypress/keydown.listener.directive.d.ts +1 -1
  454. package/lib/keypress/keypress.module.d.ts +4 -2
  455. package/lib/layout/bar/_bar.scss +8 -12
  456. package/lib/layout/bar/bar.directive.d.ts +3 -3
  457. package/lib/layout/bar/bar.header.component.d.ts +4 -5
  458. package/lib/layout/bar/bar.layout.module.d.ts +2 -5
  459. package/lib/layout/bar/pagebar.component.d.ts +3 -3
  460. package/lib/layout/block/_block.scss +3 -3
  461. package/lib/layout/block/block.layout.module.d.ts +3 -4
  462. package/lib/layout/block/two.block.component.d.ts +8 -8
  463. package/lib/layout/card/_card.scss +3 -3
  464. package/lib/layout/card/card.box.component.d.ts +3 -3
  465. package/lib/layout/card/card.box.container.directive.d.ts +8 -0
  466. package/lib/layout/card/card.box.layout.module.d.ts +2 -4
  467. package/lib/layout/card/index.d.ts +1 -1
  468. package/lib/layout/column/_column.scss +3 -3
  469. package/lib/layout/column/column.layout.module.d.ts +2 -2
  470. package/lib/layout/column/one/one.column.component.d.ts +3 -3
  471. package/lib/layout/column/one/one.column.module.d.ts +4 -3
  472. package/lib/layout/column/two/index.d.ts +1 -1
  473. package/lib/layout/column/two/two.column.back.directive.d.ts +3 -3
  474. package/lib/layout/column/two/two.column.component.d.ts +37 -20
  475. package/lib/layout/column/two/two.column.context.directive.d.ts +4 -7
  476. package/lib/layout/column/two/two.column.full.left.directive.d.ts +4 -8
  477. package/lib/layout/column/two/two.column.head.directive.d.ts +11 -0
  478. package/lib/layout/column/two/two.column.module.d.ts +2 -8
  479. package/lib/layout/column/two/two.column.right.component.d.ts +12 -14
  480. package/lib/layout/column/two/two.column.sref.directive.d.ts +3 -2
  481. package/lib/layout/column/two/two.column.sref.showright.directive.d.ts +3 -4
  482. package/lib/layout/column/two/two.column.store.d.ts +17 -9
  483. package/lib/layout/content/_content.scss +10 -10
  484. package/lib/layout/content/content.border.directive.d.ts +3 -2
  485. package/lib/layout/content/content.box.directive.d.ts +3 -3
  486. package/lib/layout/content/content.container.directive.d.ts +5 -4
  487. package/lib/layout/content/content.directive.d.ts +1 -1
  488. package/lib/layout/content/content.elevate.directive.d.ts +2 -2
  489. package/lib/layout/content/content.layout.module.d.ts +1 -2
  490. package/lib/layout/content/content.page.directive.d.ts +1 -1
  491. package/lib/layout/content/content.pit.directive.d.ts +2 -2
  492. package/lib/layout/flag/_flag.scss +3 -3
  493. package/lib/layout/flag/flag.component.d.ts +2 -2
  494. package/lib/layout/flag/flag.layout.module.d.ts +1 -6
  495. package/lib/layout/flag/flag.prompt.component.d.ts +4 -3
  496. package/lib/layout/flex/_flex.scss +3 -3
  497. package/lib/layout/flex/flex.group.directive.d.ts +7 -14
  498. package/lib/layout/flex/flex.layout.module.d.ts +4 -2
  499. package/lib/layout/flex/flex.size.directive.d.ts +3 -2
  500. package/lib/layout/item/_item.scss +3 -3
  501. package/lib/layout/item/index.d.ts +0 -1
  502. package/lib/layout/item/item.icon.component.d.ts +3 -3
  503. package/lib/layout/layout.module.d.ts +5 -7
  504. package/lib/layout/list/_list.scss +19 -6
  505. package/lib/layout/list/grid/index.d.ts +2 -0
  506. package/lib/layout/list/{list.grid.view.component.d.ts → grid/list.grid.view.component.d.ts} +23 -31
  507. package/lib/layout/list/grid/list.grid.view.directive.d.ts +24 -0
  508. package/lib/layout/list/group/index.d.ts +3 -0
  509. package/lib/layout/list/{list.view.value.group.d.ts → group/list.view.value.group.d.ts} +2 -2
  510. package/lib/layout/list/{list.view.value.group.title.d.ts → group/list.view.value.group.title.d.ts} +1 -1
  511. package/lib/layout/list/group/list.view.value.group.title.directive.d.ts +15 -0
  512. package/lib/layout/list/group/list.view.value.group.title.header.component.d.ts +21 -0
  513. package/lib/layout/list/index.d.ts +5 -9
  514. package/lib/layout/list/list.component.d.ts +54 -50
  515. package/lib/layout/list/list.content.empty.component.d.ts +1 -1
  516. package/lib/layout/list/list.directive.d.ts +35 -15
  517. package/lib/layout/list/list.layout.module.d.ts +27 -18
  518. package/lib/layout/list/list.module.d.ts +13 -0
  519. package/lib/layout/list/list.view.d.ts +8 -8
  520. package/lib/layout/list/list.view.directive.d.ts +14 -9
  521. package/lib/layout/list/list.view.selection.directive.d.ts +12 -3
  522. package/lib/layout/list/list.view.value.component.d.ts +32 -39
  523. package/lib/layout/list/list.view.value.d.ts +4 -1
  524. package/lib/layout/list/list.view.value.directive.d.ts +5 -7
  525. package/lib/layout/list/list.view.value.selection.component.d.ts +14 -13
  526. package/lib/layout/list/list.wrapper.d.ts +13 -4
  527. package/lib/layout/list/meta/index.d.ts +1 -0
  528. package/lib/layout/list/{list.view.meta.icon.component.d.ts → meta/list.view.meta.icon.component.d.ts} +2 -2
  529. package/lib/layout/list/modifier/index.d.ts +4 -0
  530. package/lib/layout/list/modifier/list.modifier.module.d.ts +12 -0
  531. package/lib/layout/list/{list.view.value.modifier.directive.d.ts → modifier/list.view.value.modifier.directive.d.ts} +13 -12
  532. package/lib/layout/list/{list.view.value.modifier.ripple.directive.d.ts → modifier/list.view.value.modifier.ripple.directive.d.ts} +5 -6
  533. package/lib/layout/list/{list.view.value.modifier.selection.directive.d.ts → modifier/list.view.value.modifier.selection.directive.d.ts} +5 -6
  534. package/lib/layout/section/_section.scss +3 -3
  535. package/lib/layout/section/section.component.d.ts +3 -2
  536. package/lib/layout/section/section.d.ts +28 -6
  537. package/lib/layout/section/section.header.component.d.ts +12 -11
  538. package/lib/layout/section/section.intro.component.d.ts +7 -8
  539. package/lib/layout/section/section.layout.module.d.ts +2 -7
  540. package/lib/layout/section/section.page.component.d.ts +4 -3
  541. package/lib/layout/section/subsection.component.d.ts +1 -1
  542. package/lib/layout/step/_step.scss +3 -3
  543. package/lib/layout/step/step.component.d.ts +6 -5
  544. package/lib/layout/step/step.layout.module.d.ts +4 -3
  545. package/lib/layout/style/_style.scss +20 -3
  546. package/lib/layout/style/index.d.ts +1 -0
  547. package/lib/layout/style/spacer.directive.d.ts +1 -1
  548. package/lib/layout/style/style.body.directive.d.ts +8 -8
  549. package/lib/layout/style/style.color.directive.d.ts +3 -3
  550. package/lib/layout/style/style.d.ts +48 -1
  551. package/lib/layout/style/style.directive.d.ts +5 -5
  552. package/lib/layout/style/style.layout.module.d.ts +1 -2
  553. package/lib/layout/style/style.providers.d.ts +19 -0
  554. package/lib/layout/style/style.service.d.ts +28 -18
  555. package/lib/layout/style/style.set.directive.d.ts +18 -16
  556. package/lib/layout/text/_text.scss +8 -8
  557. package/lib/layout/text/address.component.d.ts +2 -2
  558. package/lib/layout/text/detail.block.component.d.ts +1 -1
  559. package/lib/layout/text/detail.block.header.component.d.ts +1 -1
  560. package/lib/layout/text/icon.spacer.component.d.ts +1 -1
  561. package/lib/layout/text/label.block.component.d.ts +1 -1
  562. package/lib/layout/text/linkify.component.d.ts +3 -2
  563. package/lib/layout/text/text.chip.directive.d.ts +1 -1
  564. package/lib/layout/text/text.chips.component.d.ts +3 -4
  565. package/lib/layout/text/text.module.d.ts +1 -5
  566. package/lib/loading/_loading.scss +3 -3
  567. package/lib/loading/basic-loading.component.d.ts +17 -36
  568. package/lib/loading/loading-progress.component.d.ts +12 -14
  569. package/lib/loading/loading.action.directive.d.ts +2 -4
  570. package/lib/loading/loading.component.d.ts +31 -29
  571. package/lib/loading/loading.module.d.ts +1 -5
  572. package/lib/router/layout/anchor/_anchor.scss +3 -3
  573. package/lib/router/layout/anchor/anchor.component.d.ts +7 -12
  574. package/lib/router/layout/anchor/anchor.content.component.d.ts +4 -3
  575. package/lib/router/layout/anchor/anchor.icon.component.d.ts +1 -1
  576. package/lib/router/layout/anchor/anchor.link.component.d.ts +3 -3
  577. package/lib/router/layout/anchor/anchor.module.d.ts +14 -5
  578. package/lib/router/layout/anchor/anchor.segue.directive.d.ts +5 -6
  579. package/lib/router/layout/anchorlist/_anchorlist.scss +6 -6
  580. package/lib/router/layout/anchorlist/anchorlist.component.d.ts +6 -9
  581. package/lib/router/layout/anchorlist/anchorlist.module.d.ts +4 -9
  582. package/lib/router/layout/list/list.module.d.ts +4 -1
  583. package/lib/router/layout/list/router.list.directive.d.ts +6 -8
  584. package/lib/router/layout/navbar/_navbar.scss +3 -3
  585. package/lib/router/layout/navbar/navbar.component.d.ts +22 -29
  586. package/lib/router/layout/navbar/navbar.module.d.ts +4 -9
  587. package/lib/router/layout/sidenav/_sidenav.scss +8 -8
  588. package/lib/router/layout/sidenav/sidenav.button.component.d.ts +3 -4
  589. package/lib/router/layout/sidenav/sidenav.component.d.ts +19 -18
  590. package/lib/router/layout/sidenav/sidenav.ifdisplaymode.directive.d.ts +7 -7
  591. package/lib/router/layout/sidenav/sidenav.module.d.ts +1 -14
  592. package/lib/router/layout/sidenav/sidenav.page.component.d.ts +7 -10
  593. package/lib/router/layout/sidenav/sidenav.pagebar.component.d.ts +2 -2
  594. package/lib/router/provider/ngrouter/anchor.component.d.ts +1 -1
  595. package/lib/router/provider/ngrouter/angular.router.providers.d.ts +7 -0
  596. package/lib/router/provider/ngrouter/index.d.ts +1 -1
  597. package/lib/router/provider/router.provider.config.d.ts +7 -0
  598. package/lib/router/provider/uirouter/anchor.component.d.ts +6 -5
  599. package/lib/router/provider/uirouter/index.d.ts +1 -1
  600. package/lib/router/provider/uirouter/uirouter.router.providers.d.ts +7 -0
  601. package/lib/screen/index.d.ts +1 -1
  602. package/lib/screen/screen.providers.d.ts +15 -0
  603. package/lib/screen/screen.service.d.ts +7 -7
  604. package/lib/style/_all-typography.scss +1 -1
  605. package/lib/style/_root-variables.scss +13 -13
  606. package/lib/style/_theming.scss +4 -2
  607. package/mapbox/lib/index.d.ts +2 -1
  608. package/mapbox/lib/mapbox.change.service.d.ts +3 -3
  609. package/mapbox/lib/mapbox.d.ts +33 -19
  610. package/mapbox/lib/mapbox.injection.component.d.ts +2 -4
  611. package/mapbox/lib/mapbox.injection.store.provide.d.ts +1 -1
  612. package/mapbox/lib/mapbox.layout.component.d.ts +36 -34
  613. package/mapbox/lib/mapbox.layout.drawer.component.d.ts +2 -2
  614. package/mapbox/lib/mapbox.layout.resize.sync.directive.d.ts +1 -1
  615. package/mapbox/lib/mapbox.marker.component.d.ts +6 -11
  616. package/mapbox/lib/mapbox.marker.d.ts +13 -13
  617. package/mapbox/lib/mapbox.markers.component.d.ts +5 -11
  618. package/mapbox/lib/mapbox.menu.component.d.ts +9 -11
  619. package/mapbox/lib/mapbox.module.d.ts +2 -12
  620. package/mapbox/lib/mapbox.options.d.ts +11 -0
  621. package/mapbox/lib/mapbox.providers.d.ts +17 -0
  622. package/mapbox/lib/mapbox.rxjs.d.ts +6 -6
  623. package/mapbox/lib/mapbox.service.d.ts +1 -1
  624. package/mapbox/lib/mapbox.store.d.ts +28 -6
  625. package/mapbox/lib/mapbox.store.map.directive.d.ts +1 -1
  626. package/mapbox/lib/mapbox.store.provide.d.ts +1 -1
  627. package/package.json +14 -16
  628. package/table/lib/date/date.table.column.header.component.d.ts +3 -3
  629. package/table/lib/date/daterange.table.cell.input.component.d.ts +14 -12
  630. package/table/lib/date/table.date.module.d.ts +1 -9
  631. package/table/lib/table.cell.action.component.d.ts +2 -1
  632. package/table/lib/table.cell.input.component.d.ts +2 -1
  633. package/table/lib/table.cell.summaryend.component.d.ts +2 -1
  634. package/table/lib/table.cell.summarystart.component.d.ts +2 -1
  635. package/table/lib/table.column.directive.d.ts +3 -6
  636. package/table/lib/table.column.footer.component.d.ts +3 -3
  637. package/table/lib/table.column.header.component.d.ts +3 -3
  638. package/table/lib/table.component.d.ts +13 -8
  639. package/table/lib/table.directive.d.ts +5 -4
  640. package/table/lib/table.item.action.component.d.ts +4 -2
  641. package/table/lib/table.item.cell.component.d.ts +3 -5
  642. package/table/lib/table.item.directive.d.ts +3 -6
  643. package/table/lib/table.item.header.component.d.ts +2 -1
  644. package/table/lib/table.module.d.ts +4 -6
  645. package/calendar/esm2022/dereekb-dbx-web-calendar.mjs +0 -5
  646. package/calendar/esm2022/index.mjs +0 -2
  647. package/calendar/esm2022/lib/calendar.base.component.mjs +0 -54
  648. package/calendar/esm2022/lib/calendar.component.mjs +0 -54
  649. package/calendar/esm2022/lib/calendar.mjs +0 -30
  650. package/calendar/esm2022/lib/calendar.module.mjs +0 -87
  651. package/calendar/esm2022/lib/calendar.store.mjs +0 -174
  652. package/calendar/esm2022/lib/index.mjs +0 -6
  653. package/calendar/fesm2022/dereekb-dbx-web-calendar.mjs +0 -385
  654. package/calendar/fesm2022/dereekb-dbx-web-calendar.mjs.map +0 -1
  655. package/calendar/package.json +0 -21
  656. package/esm2022/lib/button/button.spacer.component.mjs +0 -19
  657. package/esm2022/lib/button/progress/base.progress.button.directive.mjs +0 -107
  658. package/esm2022/lib/extension/model/model.module.mjs +0 -66
  659. package/esm2022/lib/interaction/dialog/dialog.content.component.mjs +0 -23
  660. package/esm2022/lib/interaction/popover/popover.scroll.content.component.mjs +0 -48
  661. package/esm2022/lib/interaction/prompt/prompt.box.component.mjs +0 -25
  662. package/esm2022/lib/layout/card/card.box.container.component.mjs +0 -25
  663. package/esm2022/lib/layout/column/two/two.column.head.component.mjs +0 -32
  664. package/esm2022/lib/layout/item/item.layout.module.mjs +0 -19
  665. package/esm2022/lib/layout/list/list.grid.view.component.mjs +0 -112
  666. package/esm2022/lib/layout/list/list.grid.view.directive.mjs +0 -15
  667. package/esm2022/lib/layout/list/list.view.meta.icon.component.mjs +0 -35
  668. package/esm2022/lib/layout/list/list.view.value.group.mjs +0 -32
  669. package/esm2022/lib/layout/list/list.view.value.group.title.directive.mjs +0 -131
  670. package/esm2022/lib/layout/list/list.view.value.group.title.mjs +0 -2
  671. package/esm2022/lib/layout/list/list.view.value.modifier.directive.mjs +0 -77
  672. package/esm2022/lib/layout/list/list.view.value.modifier.ripple.directive.mjs +0 -41
  673. package/esm2022/lib/layout/list/list.view.value.modifier.selection.directive.mjs +0 -39
  674. package/esm2022/lib/router/provider/ngrouter/angular.router.module.mjs +0 -36
  675. package/esm2022/lib/router/provider/uirouter/uirouter.router.module.mjs +0 -36
  676. package/esm2022/lib/screen/screen.module.mjs +0 -24
  677. package/esm2022/mapbox/lib/options.mjs +0 -2
  678. package/lib/button/progress/base.progress.button.directive.d.ts +0 -32
  679. package/lib/extension/model/model.module.d.ts +0 -19
  680. package/lib/interaction/popover/popover.scroll.content.component.d.ts +0 -13
  681. package/lib/interaction/prompt/prompt.box.component.d.ts +0 -6
  682. package/lib/layout/card/card.box.container.component.d.ts +0 -8
  683. package/lib/layout/column/two/two.column.head.component.d.ts +0 -10
  684. package/lib/layout/item/item.layout.module.d.ts +0 -9
  685. package/lib/layout/list/list.grid.view.directive.d.ts +0 -10
  686. package/lib/layout/list/list.view.value.group.title.directive.d.ts +0 -35
  687. package/lib/router/provider/ngrouter/angular.router.module.d.ts +0 -12
  688. package/lib/router/provider/uirouter/uirouter.router.module.d.ts +0 -12
  689. package/lib/screen/screen.module.d.ts +0 -9
  690. package/mapbox/esm2022/dereekb-dbx-web-mapbox.mjs +0 -5
  691. package/mapbox/esm2022/index.mjs +0 -2
  692. package/mapbox/esm2022/lib/index.mjs +0 -21
  693. package/mapbox/esm2022/lib/mapbox.change.service.mjs +0 -40
  694. package/mapbox/esm2022/lib/mapbox.injection.component.mjs +0 -28
  695. package/mapbox/esm2022/lib/mapbox.injection.store.mjs +0 -39
  696. package/mapbox/esm2022/lib/mapbox.injection.store.provide.mjs +0 -47
  697. package/mapbox/esm2022/lib/mapbox.layout.component.mjs +0 -185
  698. package/mapbox/esm2022/lib/mapbox.layout.drawer.component.mjs +0 -21
  699. package/mapbox/esm2022/lib/mapbox.layout.resize.sync.directive.mjs +0 -32
  700. package/mapbox/esm2022/lib/mapbox.marker.component.mjs +0 -135
  701. package/mapbox/esm2022/lib/mapbox.marker.mjs +0 -16
  702. package/mapbox/esm2022/lib/mapbox.markers.component.mjs +0 -58
  703. package/mapbox/esm2022/lib/mapbox.menu.component.mjs +0 -91
  704. package/mapbox/esm2022/lib/mapbox.mjs +0 -19
  705. package/mapbox/esm2022/lib/mapbox.module.mjs +0 -108
  706. package/mapbox/esm2022/lib/mapbox.rxjs.mjs +0 -53
  707. package/mapbox/esm2022/lib/mapbox.service.mjs +0 -36
  708. package/mapbox/esm2022/lib/mapbox.store.map.directive.mjs +0 -33
  709. package/mapbox/esm2022/lib/mapbox.store.mjs +0 -525
  710. package/mapbox/esm2022/lib/mapbox.store.provide.mjs +0 -47
  711. package/mapbox/esm2022/lib/mapbox.util.mjs +0 -15
  712. package/mapbox/esm2022/lib/options.mjs +0 -2
  713. package/mapbox/fesm2022/dereekb-dbx-web-mapbox.mjs +0 -1449
  714. package/mapbox/fesm2022/dereekb-dbx-web-mapbox.mjs.map +0 -1
  715. package/mapbox/lib/options.d.ts +0 -7
  716. package/mapbox/package.json +0 -21
  717. package/table/esm2022/dereekb-dbx-web-table.mjs +0 -5
  718. package/table/esm2022/index.mjs +0 -2
  719. package/table/esm2022/lib/date/date.table.column.header.component.mjs +0 -49
  720. package/table/esm2022/lib/date/daterange.table.cell.input.component.mjs +0 -161
  721. package/table/esm2022/lib/date/index.mjs +0 -4
  722. package/table/esm2022/lib/date/table.date.module.mjs +0 -68
  723. package/table/esm2022/lib/index.mjs +0 -18
  724. package/table/esm2022/lib/table.cell.action.component.mjs +0 -25
  725. package/table/esm2022/lib/table.cell.input.component.mjs +0 -28
  726. package/table/esm2022/lib/table.cell.summaryend.component.mjs +0 -25
  727. package/table/esm2022/lib/table.cell.summarystart.component.mjs +0 -28
  728. package/table/esm2022/lib/table.column.directive.mjs +0 -27
  729. package/table/esm2022/lib/table.column.footer.component.mjs +0 -32
  730. package/table/esm2022/lib/table.column.header.component.mjs +0 -32
  731. package/table/esm2022/lib/table.component.mjs +0 -55
  732. package/table/esm2022/lib/table.directive.mjs +0 -34
  733. package/table/esm2022/lib/table.item.action.component.mjs +0 -32
  734. package/table/esm2022/lib/table.item.cell.component.mjs +0 -36
  735. package/table/esm2022/lib/table.item.directive.mjs +0 -27
  736. package/table/esm2022/lib/table.item.header.component.mjs +0 -24
  737. package/table/esm2022/lib/table.mjs +0 -2
  738. package/table/esm2022/lib/table.module.mjs +0 -74
  739. package/table/esm2022/lib/table.store.mjs +0 -53
  740. package/table/fesm2022/dereekb-dbx-web-table.mjs +0 -704
  741. package/table/fesm2022/dereekb-dbx-web-table.mjs.map +0 -1
  742. package/table/package.json +0 -21
@@ -1,38 +1,31 @@
1
- import { BehaviorSubject } from 'rxjs';
2
- import { Component, Input } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, input } from '@angular/core';
3
2
  import { AbstractDbxPartialPresetFilterMenuDirective } from './filter.partial';
4
3
  import { dbxPresetFilterMenuButtonIconObservable, dbxPresetFilterMenuButtonTextObservable } from './filter.menu';
4
+ import { toObservable, toSignal } from '@angular/core/rxjs-interop';
5
+ import { MatButtonModule } from '@angular/material/button';
6
+ import { MatIconModule } from '@angular/material/icon';
7
+ import { DbxAnchorComponent } from '../../router/layout/anchor/anchor.component';
8
+ import { MatMenuModule } from '@angular/material/menu';
9
+ import { NgClass } from '@angular/common';
5
10
  import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common";
7
- import * as i2 from "../../router/layout/anchor/anchor.component";
8
- import * as i3 from "@ngbracket/ngx-layout/extended";
9
- import * as i4 from "@angular/material/menu";
10
- import * as i5 from "@angular/material/icon";
11
- import * as i6 from "@angular/material/button";
11
+ import * as i1 from "@angular/material/menu";
12
+ import * as i2 from "@angular/material/button";
13
+ import * as i3 from "@angular/material/icon";
12
14
  /**
13
15
  * Displays a button and menu for filtering partial preset values.
14
16
  */
15
17
  export class DbxPartialPresetFilterMenuComponent extends AbstractDbxPartialPresetFilterMenuDirective {
16
- _config = new BehaviorSubject({});
17
- buttonText$ = dbxPresetFilterMenuButtonTextObservable(this._config, this.firstSelectedPartialPreset$);
18
- buttonIcon$ = dbxPresetFilterMenuButtonIconObservable(this._config, this.firstSelectedPartialPreset$);
19
- get config() {
20
- return this._config.value;
21
- }
22
- set config(config) {
23
- this._config.next(config);
24
- }
25
- ngOnDestroy() {
26
- super.ngOnDestroy();
27
- this._config.complete();
28
- }
29
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxPartialPresetFilterMenuComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
30
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DbxPartialPresetFilterMenuComponent, selector: "dbx-partial-preset-filter-menu", inputs: { config: "config" }, usesInheritance: true, ngImport: i0, template: "<button mat-button [matMenuTriggerFor]=\"menu\" class=\"dbx-preset-filter-menu-button\" aria-label=\"open filter\">\n <mat-icon class=\"dbx-icon-spacer\" *ngIf=\"buttonIcon$ | async\">{{ buttonIcon$ | async }}</mat-icon>\n <span>{{ buttonText$ | async }}</span>\n</button>\n<mat-menu #menu class=\"dbx-preset-filter-menu\">\n <dbx-anchor *ngFor=\"let anchor of presetAnchors$ | async\" [anchor]=\"anchor\">\n <button mat-menu-item [ngClass]=\"anchor.selected ? 'active' : ''\">\n <mat-icon *ngIf=\"anchor.icon\">{{ anchor.icon }}</mat-icon>\n {{ anchor.title }}\n </button>\n </dbx-anchor>\n</mat-menu>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.DbxAnchorComponent, selector: "dbx-anchor, [dbx-anchor]", inputs: ["block"] }, { kind: "directive", type: i3.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
18
+ config = input({});
19
+ config$ = toObservable(this.config);
20
+ buttonText$ = dbxPresetFilterMenuButtonTextObservable(this.config$, this.firstSelectedPartialPreset$);
21
+ buttonIcon$ = dbxPresetFilterMenuButtonIconObservable(this.config$, this.firstSelectedPartialPreset$);
22
+ buttonTextSignal = toSignal(this.buttonText$);
23
+ buttonIconSignal = toSignal(this.buttonIcon$);
24
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxPartialPresetFilterMenuComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
25
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxPartialPresetFilterMenuComponent, isStandalone: true, selector: "dbx-partial-preset-filter-menu", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "<button mat-button [matMenuTriggerFor]=\"menu\" class=\"dbx-preset-filter-menu-button\" aria-label=\"open filter\">\n @if (buttonIconSignal()) {\n <mat-icon class=\"dbx-icon-spacer\">{{ buttonIconSignal() }}</mat-icon>\n }\n <span>{{ buttonTextSignal() }}</span>\n</button>\n<mat-menu #menu class=\"dbx-preset-filter-menu\">\n @for (anchor of presetAnchorsSignal(); track anchor.title) {\n <dbx-anchor [anchor]=\"anchor\">\n <button mat-menu-item [ngClass]=\"anchor.selected ? 'active' : ''\">{{ anchor.title }}</button>\n </dbx-anchor>\n }\n</mat-menu>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: DbxAnchorComponent, selector: "dbx-anchor, [dbx-anchor]", inputs: ["block"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
31
26
  }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxPartialPresetFilterMenuComponent, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxPartialPresetFilterMenuComponent, decorators: [{
33
28
  type: Component,
34
- args: [{ selector: 'dbx-partial-preset-filter-menu', template: "<button mat-button [matMenuTriggerFor]=\"menu\" class=\"dbx-preset-filter-menu-button\" aria-label=\"open filter\">\n <mat-icon class=\"dbx-icon-spacer\" *ngIf=\"buttonIcon$ | async\">{{ buttonIcon$ | async }}</mat-icon>\n <span>{{ buttonText$ | async }}</span>\n</button>\n<mat-menu #menu class=\"dbx-preset-filter-menu\">\n <dbx-anchor *ngFor=\"let anchor of presetAnchors$ | async\" [anchor]=\"anchor\">\n <button mat-menu-item [ngClass]=\"anchor.selected ? 'active' : ''\">\n <mat-icon *ngIf=\"anchor.icon\">{{ anchor.icon }}</mat-icon>\n {{ anchor.title }}\n </button>\n </dbx-anchor>\n</mat-menu>\n" }]
35
- }], propDecorators: { config: [{
36
- type: Input
37
- }] } });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLnBhcnRpYWwubWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvaW50ZXJhY3Rpb24vZmlsdGVyL2ZpbHRlci5wYXJ0aWFsLm1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9zcmMvbGliL2ludGVyYWN0aW9uL2ZpbHRlci9maWx0ZXIucHJlc2V0Lm1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsMkNBQTJDLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvRSxPQUFPLEVBQUUsdUNBQXVDLEVBQUUsdUNBQXVDLEVBQTZCLE1BQU0sZUFBZSxDQUFDOzs7Ozs7OztBQUU1STs7R0FFRztBQUtILE1BQU0sT0FBTyxtQ0FBdUMsU0FBUSwyQ0FBOEM7SUFDaEcsT0FBTyxHQUFHLElBQUksZUFBZSxDQUE0QixFQUFFLENBQUMsQ0FBQztJQUU1RCxXQUFXLEdBQUcsdUNBQXVDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUN0RyxXQUFXLEdBQUcsdUNBQXVDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUUvRyxJQUNJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJLE1BQU0sQ0FBQyxNQUFpQztRQUMxQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRVEsV0FBVztRQUNsQixLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMxQixDQUFDO3dHQWxCVSxtQ0FBbUM7NEZBQW5DLG1DQUFtQywySENaaEQsa25CQVlBOzs0RkRBYSxtQ0FBbUM7a0JBSi9DLFNBQVM7K0JBQ0UsZ0NBQWdDOzhCQVV0QyxNQUFNO3NCQURULEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0RGJ4UGFydGlhbFByZXNldEZpbHRlck1lbnVEaXJlY3RpdmUgfSBmcm9tICcuL2ZpbHRlci5wYXJ0aWFsJztcbmltcG9ydCB7IGRieFByZXNldEZpbHRlck1lbnVCdXR0b25JY29uT2JzZXJ2YWJsZSwgZGJ4UHJlc2V0RmlsdGVyTWVudUJ1dHRvblRleHRPYnNlcnZhYmxlLCBEYnhQcmVzZXRGaWx0ZXJNZW51Q29uZmlnIH0gZnJvbSAnLi9maWx0ZXIubWVudSc7XG5cbi8qKlxuICogRGlzcGxheXMgYSBidXR0b24gYW5kIG1lbnUgZm9yIGZpbHRlcmluZyBwYXJ0aWFsIHByZXNldCB2YWx1ZXMuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RieC1wYXJ0aWFsLXByZXNldC1maWx0ZXItbWVudScsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWx0ZXIucHJlc2V0Lm1lbnUuY29tcG9uZW50Lmh0bWwnIC8vIHNoYXJlIHRoZSBzYW1lIHRlbXBsYXRlIGFzIHRoZSBwcmVzZXQgbWVudVxufSlcbmV4cG9ydCBjbGFzcyBEYnhQYXJ0aWFsUHJlc2V0RmlsdGVyTWVudUNvbXBvbmVudDxGPiBleHRlbmRzIEFic3RyYWN0RGJ4UGFydGlhbFByZXNldEZpbHRlck1lbnVEaXJlY3RpdmU8Rj4ge1xuICBwcml2YXRlIF9jb25maWcgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PERieFByZXNldEZpbHRlck1lbnVDb25maWc+KHt9KTtcblxuICByZWFkb25seSBidXR0b25UZXh0JCA9IGRieFByZXNldEZpbHRlck1lbnVCdXR0b25UZXh0T2JzZXJ2YWJsZSh0aGlzLl9jb25maWcsIHRoaXMuZmlyc3RTZWxlY3RlZFBhcnRpYWxQcmVzZXQkKTtcbiAgcmVhZG9ubHkgYnV0dG9uSWNvbiQgPSBkYnhQcmVzZXRGaWx0ZXJNZW51QnV0dG9uSWNvbk9ic2VydmFibGUodGhpcy5fY29uZmlnLCB0aGlzLmZpcnN0U2VsZWN0ZWRQYXJ0aWFsUHJlc2V0JCk7XG5cbiAgQElucHV0KClcbiAgZ2V0IGNvbmZpZygpOiBEYnhQcmVzZXRGaWx0ZXJNZW51Q29uZmlnIHtcbiAgICByZXR1cm4gdGhpcy5fY29uZmlnLnZhbHVlO1xuICB9XG5cbiAgc2V0IGNvbmZpZyhjb25maWc6IERieFByZXNldEZpbHRlck1lbnVDb25maWcpIHtcbiAgICB0aGlzLl9jb25maWcubmV4dChjb25maWcpO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB0aGlzLl9jb25maWcuY29tcGxldGUoKTtcbiAgfVxufVxuIiwiPGJ1dHRvbiBtYXQtYnV0dG9uIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51XCIgY2xhc3M9XCJkYngtcHJlc2V0LWZpbHRlci1tZW51LWJ1dHRvblwiIGFyaWEtbGFiZWw9XCJvcGVuIGZpbHRlclwiPlxuICA8bWF0LWljb24gY2xhc3M9XCJkYngtaWNvbi1zcGFjZXJcIiAqbmdJZj1cImJ1dHRvbkljb24kIHwgYXN5bmNcIj57eyBidXR0b25JY29uJCB8IGFzeW5jIH19PC9tYXQtaWNvbj5cbiAgPHNwYW4+e3sgYnV0dG9uVGV4dCQgfCBhc3luYyB9fTwvc3Bhbj5cbjwvYnV0dG9uPlxuPG1hdC1tZW51ICNtZW51IGNsYXNzPVwiZGJ4LXByZXNldC1maWx0ZXItbWVudVwiPlxuICA8ZGJ4LWFuY2hvciAqbmdGb3I9XCJsZXQgYW5jaG9yIG9mIHByZXNldEFuY2hvcnMkIHwgYXN5bmNcIiBbYW5jaG9yXT1cImFuY2hvclwiPlxuICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSBbbmdDbGFzc109XCJhbmNob3Iuc2VsZWN0ZWQgPyAnYWN0aXZlJyA6ICcnXCI+XG4gICAgICA8bWF0LWljb24gKm5nSWY9XCJhbmNob3IuaWNvblwiPnt7IGFuY2hvci5pY29uIH19PC9tYXQtaWNvbj5cbiAgICAgIHt7IGFuY2hvci50aXRsZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2RieC1hbmNob3I+XG48L21hdC1tZW51PlxuIl19
29
+ args: [{ selector: 'dbx-partial-preset-filter-menu', imports: [NgClass, MatMenuModule, MatButtonModule, MatIconModule, DbxAnchorComponent], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<button mat-button [matMenuTriggerFor]=\"menu\" class=\"dbx-preset-filter-menu-button\" aria-label=\"open filter\">\n @if (buttonIconSignal()) {\n <mat-icon class=\"dbx-icon-spacer\">{{ buttonIconSignal() }}</mat-icon>\n }\n <span>{{ buttonTextSignal() }}</span>\n</button>\n<mat-menu #menu class=\"dbx-preset-filter-menu\">\n @for (anchor of presetAnchorsSignal(); track anchor.title) {\n <dbx-anchor [anchor]=\"anchor\">\n <button mat-menu-item [ngClass]=\"anchor.selected ? 'active' : ''\">{{ anchor.title }}</button>\n </dbx-anchor>\n }\n</mat-menu>\n" }]
30
+ }] });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLnBhcnRpYWwubWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvaW50ZXJhY3Rpb24vZmlsdGVyL2ZpbHRlci5wYXJ0aWFsLm1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9zcmMvbGliL2ludGVyYWN0aW9uL2ZpbHRlci9maWx0ZXIucGFydGlhbC5tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBRSwyQ0FBMkMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQy9FLE9BQU8sRUFBRSx1Q0FBdUMsRUFBRSx1Q0FBdUMsRUFBNkIsTUFBTSxlQUFlLENBQUM7QUFDNUksT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7O0FBRTFDOztHQUVHO0FBUUgsTUFBTSxPQUFPLG1DQUF1QyxTQUFRLDJDQUE4QztJQUMvRixNQUFNLEdBQUcsS0FBSyxDQUE0QixFQUFFLENBQUMsQ0FBQztJQUM5QyxPQUFPLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUVwQyxXQUFXLEdBQUcsdUNBQXVDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUN0RyxXQUFXLEdBQUcsdUNBQXVDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUV0RyxnQkFBZ0IsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzlDLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7d0dBUjVDLG1DQUFtQzs0RkFBbkMsbUNBQW1DLHdQQ3BCaEQsZ2tCQWFBLDRDREdZLE9BQU8sbUZBQUUsYUFBYSw2dkJBQUUsZUFBZSwyTkFBRSxhQUFhLG9MQUFFLGtCQUFrQjs7NEZBSXpFLG1DQUFtQztrQkFQL0MsU0FBUzsrQkFDRSxnQ0FBZ0MsV0FFakMsQ0FBQyxPQUFPLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsa0JBQWtCLENBQUMsbUJBQ3BFLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdERieFBhcnRpYWxQcmVzZXRGaWx0ZXJNZW51RGlyZWN0aXZlIH0gZnJvbSAnLi9maWx0ZXIucGFydGlhbCc7XG5pbXBvcnQgeyBkYnhQcmVzZXRGaWx0ZXJNZW51QnV0dG9uSWNvbk9ic2VydmFibGUsIGRieFByZXNldEZpbHRlck1lbnVCdXR0b25UZXh0T2JzZXJ2YWJsZSwgRGJ4UHJlc2V0RmlsdGVyTWVudUNvbmZpZyB9IGZyb20gJy4vZmlsdGVyLm1lbnUnO1xuaW1wb3J0IHsgdG9PYnNlcnZhYmxlLCB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBEYnhBbmNob3JDb21wb25lbnQgfSBmcm9tICcuLi8uLi9yb3V0ZXIvbGF5b3V0L2FuY2hvci9hbmNob3IuY29tcG9uZW50JztcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbmltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG4vKipcbiAqIERpc3BsYXlzIGEgYnV0dG9uIGFuZCBtZW51IGZvciBmaWx0ZXJpbmcgcGFydGlhbCBwcmVzZXQgdmFsdWVzLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYngtcGFydGlhbC1wcmVzZXQtZmlsdGVyLW1lbnUnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsdGVyLnBhcnRpYWwubWVudS5jb21wb25lbnQuaHRtbCcsIC8vIHNoYXJlIHRoZSBzYW1lIHRlbXBsYXRlIGFzIHRoZSBwcmVzZXQgbWVudVxuICBpbXBvcnRzOiBbTmdDbGFzcywgTWF0TWVudU1vZHVsZSwgTWF0QnV0dG9uTW9kdWxlLCBNYXRJY29uTW9kdWxlLCBEYnhBbmNob3JDb21wb25lbnRdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBEYnhQYXJ0aWFsUHJlc2V0RmlsdGVyTWVudUNvbXBvbmVudDxGPiBleHRlbmRzIEFic3RyYWN0RGJ4UGFydGlhbFByZXNldEZpbHRlck1lbnVEaXJlY3RpdmU8Rj4ge1xuICByZWFkb25seSBjb25maWcgPSBpbnB1dDxEYnhQcmVzZXRGaWx0ZXJNZW51Q29uZmlnPih7fSk7XG4gIHJlYWRvbmx5IGNvbmZpZyQgPSB0b09ic2VydmFibGUodGhpcy5jb25maWcpO1xuXG4gIHJlYWRvbmx5IGJ1dHRvblRleHQkID0gZGJ4UHJlc2V0RmlsdGVyTWVudUJ1dHRvblRleHRPYnNlcnZhYmxlKHRoaXMuY29uZmlnJCwgdGhpcy5maXJzdFNlbGVjdGVkUGFydGlhbFByZXNldCQpO1xuICByZWFkb25seSBidXR0b25JY29uJCA9IGRieFByZXNldEZpbHRlck1lbnVCdXR0b25JY29uT2JzZXJ2YWJsZSh0aGlzLmNvbmZpZyQsIHRoaXMuZmlyc3RTZWxlY3RlZFBhcnRpYWxQcmVzZXQkKTtcblxuICByZWFkb25seSBidXR0b25UZXh0U2lnbmFsID0gdG9TaWduYWwodGhpcy5idXR0b25UZXh0JCk7XG4gIHJlYWRvbmx5IGJ1dHRvbkljb25TaWduYWwgPSB0b1NpZ25hbCh0aGlzLmJ1dHRvbkljb24kKTtcbn1cbiIsIjxidXR0b24gbWF0LWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiIGNsYXNzPVwiZGJ4LXByZXNldC1maWx0ZXItbWVudS1idXR0b25cIiBhcmlhLWxhYmVsPVwib3BlbiBmaWx0ZXJcIj5cbiAgQGlmIChidXR0b25JY29uU2lnbmFsKCkpIHtcbiAgICA8bWF0LWljb24gY2xhc3M9XCJkYngtaWNvbi1zcGFjZXJcIj57eyBidXR0b25JY29uU2lnbmFsKCkgfX08L21hdC1pY29uPlxuICB9XG4gIDxzcGFuPnt7IGJ1dHRvblRleHRTaWduYWwoKSB9fTwvc3Bhbj5cbjwvYnV0dG9uPlxuPG1hdC1tZW51ICNtZW51IGNsYXNzPVwiZGJ4LXByZXNldC1maWx0ZXItbWVudVwiPlxuICBAZm9yIChhbmNob3Igb2YgcHJlc2V0QW5jaG9yc1NpZ25hbCgpOyB0cmFjayBhbmNob3IudGl0bGUpIHtcbiAgICA8ZGJ4LWFuY2hvciBbYW5jaG9yXT1cImFuY2hvclwiPlxuICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIFtuZ0NsYXNzXT1cImFuY2hvci5zZWxlY3RlZCA/ICdhY3RpdmUnIDogJydcIj57eyBhbmNob3IudGl0bGUgfX08L2J1dHRvbj5cbiAgICA8L2RieC1hbmNob3I+XG4gIH1cbjwvbWF0LW1lbnU+XG4iXX0=
@@ -1,21 +1,20 @@
1
- import { shareReplay, BehaviorSubject, map, combineLatest, distinctUntilChanged, startWith, first } from 'rxjs';
2
- import { Directive, Input, inject } from '@angular/core';
1
+ import { shareReplay, map, combineLatest, distinctUntilChanged, startWith, first } from 'rxjs';
2
+ import { Directive, inject, input } from '@angular/core';
3
3
  import { FilterSourceDirective } from '@dereekb/dbx-core';
4
4
  import { filterUndefinedValues, firstValue, getValueFromGetter, objectHasNoKeys } from '@dereekb/util';
5
+ import { toObservable, toSignal } from '@angular/core/rxjs-interop';
5
6
  import * as i0 from "@angular/core";
6
7
  /**
7
8
  * Displays a button and menu for filtering partialPresets.
8
9
  */
9
10
  export class AbstractDbxPartialPresetFilterMenuDirective {
10
11
  filterSourceDirective = inject((FilterSourceDirective));
11
- _partialPresets = new BehaviorSubject([]);
12
+ partialPresets = input([], { transform: (x) => x ?? [] });
13
+ partialPresets$ = toObservable(this.partialPresets);
12
14
  filter$ = this.filterSourceDirective.filter$.pipe(startWith(undefined), distinctUntilChanged(), shareReplay(1));
13
- selectedPartialPresets$ = combineLatest([this._partialPresets, this.filter$]).pipe(map(([partialPresets, selectedFilter]) => {
14
- const selectedPresets = partialPresets.filter((x) => x.isActive(selectedFilter));
15
- return selectedPresets;
16
- }), distinctUntilChanged());
15
+ selectedPartialPresets$ = combineLatest([this.partialPresets$, this.filter$]).pipe(map(([partialPresets, selectedFilter]) => partialPresets.filter((x) => x.isActive(selectedFilter))), distinctUntilChanged());
17
16
  firstSelectedPartialPreset$ = this.selectedPartialPresets$.pipe(map((selectedPartialPresets) => firstValue(selectedPartialPresets)), distinctUntilChanged());
18
- presetAnchors$ = combineLatest([this._partialPresets, this.firstSelectedPartialPreset$]).pipe(map(([partialPresets, firstSelectedPartialPreset]) => {
17
+ presetAnchors$ = combineLatest([this.partialPresets$, this.firstSelectedPartialPreset$]).pipe(map(([partialPresets, firstSelectedPartialPreset]) => {
19
18
  return partialPresets.map((x) => {
20
19
  return {
21
20
  ...x,
@@ -26,12 +25,7 @@ export class AbstractDbxPartialPresetFilterMenuDirective {
26
25
  };
27
26
  });
28
27
  }), shareReplay(1));
29
- get partialPresets() {
30
- return this._partialPresets.value;
31
- }
32
- set partialPresets(partialPresets) {
33
- this._partialPresets.next(partialPresets);
34
- }
28
+ presetAnchorsSignal = toSignal(this.presetAnchors$);
35
29
  selectPartialPreset(preset) {
36
30
  const presetValue = preset.partialPresetValue;
37
31
  if (presetValue == null || (typeof presetValue !== 'function' && objectHasNoKeys(presetValue))) {
@@ -47,15 +41,10 @@ export class AbstractDbxPartialPresetFilterMenuDirective {
47
41
  });
48
42
  }
49
43
  }
50
- ngOnDestroy() {
51
- this._partialPresets.complete();
52
- }
53
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AbstractDbxPartialPresetFilterMenuDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
54
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: AbstractDbxPartialPresetFilterMenuDirective, inputs: { partialPresets: "partialPresets" }, ngImport: i0 });
44
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractDbxPartialPresetFilterMenuDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
45
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: AbstractDbxPartialPresetFilterMenuDirective, inputs: { partialPresets: { classPropertyName: "partialPresets", publicName: "partialPresets", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
55
46
  }
56
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AbstractDbxPartialPresetFilterMenuDirective, decorators: [{
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractDbxPartialPresetFilterMenuDirective, decorators: [{
57
48
  type: Directive
58
- }], propDecorators: { partialPresets: [{
59
- type: Input
60
- }] } });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLnBhcnRpYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvaW50ZXJhY3Rpb24vZmlsdGVyL2ZpbHRlci5wYXJ0aWFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLEdBQUcsRUFBYyxhQUFhLEVBQUUsb0JBQW9CLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1SCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUF1QixxQkFBcUIsRUFBZ0MsTUFBTSxtQkFBbUIsQ0FBQztBQUM3RyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsVUFBVSxFQUFFLGtCQUFrQixFQUFTLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFOUc7O0dBRUc7QUFFSCxNQUFNLE9BQWdCLDJDQUEyQztJQUN0RCxxQkFBcUIsR0FBRyxNQUFNLENBQUMsQ0FBQSxxQkFBd0IsQ0FBQSxDQUFDLENBQUM7SUFFMUQsZUFBZSxHQUFHLElBQUksZUFBZSxDQUFvQyxFQUFFLENBQUMsQ0FBQztJQUU1RSxPQUFPLEdBQXlCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFBRSxvQkFBb0IsRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXRJLHVCQUF1QixHQUFrRCxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDeEksR0FBRyxDQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUUsY0FBYyxDQUFDLEVBQUUsRUFBRTtRQUN2QyxNQUFNLGVBQWUsR0FBc0MsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO1FBQ3BILE9BQU8sZUFBZSxDQUFDO0lBQ3pCLENBQUMsQ0FBQyxFQUNGLG9CQUFvQixFQUFFLENBQ3ZCLENBQUM7SUFFTywyQkFBMkIsR0FBdUQsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FDMUgsR0FBRyxDQUFDLENBQUMsc0JBQXNCLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLEVBQ25FLG9CQUFvQixFQUFFLENBQ3ZCLENBQUM7SUFFTyxjQUFjLEdBQXNDLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ3ZJLEdBQUcsQ0FBQyxDQUFDLENBQUMsY0FBYyxFQUFFLDBCQUEwQixDQUFDLEVBQUUsRUFBRTtRQUNuRCxPQUFPLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUM5QixPQUFPO2dCQUNMLEdBQUcsQ0FBQztnQkFDSixRQUFRLEVBQUUsQ0FBQyxLQUFLLDBCQUEwQjtnQkFDMUMsT0FBTyxFQUFFLEdBQUcsRUFBRTtvQkFDWixJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzlCLENBQUM7YUFDRixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsRUFDRixXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztJQUVGLElBQ0ksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFJLGNBQWMsQ0FBQyxjQUFpRDtRQUNsRSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsbUJBQW1CLENBQUMsTUFBdUM7UUFDekQsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDO1FBRTlDLElBQUksV0FBVyxJQUFJLElBQUksSUFBSSxDQUFDLE9BQU8sV0FBVyxLQUFLLFVBQVUsSUFBSSxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRTtZQUM5RixtREFBbUQ7WUFDbkQsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQU0sQ0FBQyxDQUFDO1lBQy9ELElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUMxQzthQUFNO1lBQ0wsTUFBTSxNQUFNLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFlLENBQUM7WUFFM0UsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxhQUFhLEVBQUUsRUFBRTtnQkFDckQsTUFBTSxVQUFVLEdBQUcsRUFBRSxHQUFHLGFBQWEsRUFBRSxHQUFHLHFCQUFxQixDQUFDLEVBQUUsR0FBRyxhQUFhLEVBQUUsR0FBRyxNQUFNLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBTyxDQUFDO2dCQUM5RyxJQUFJLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ25ELENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEMsQ0FBQzt3R0EvRG1CLDJDQUEyQzs0RkFBM0MsMkNBQTJDOzs0RkFBM0MsMkNBQTJDO2tCQURoRSxTQUFTOzhCQXFDSixjQUFjO3NCQURqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc2hhcmVSZXBsYXksIEJlaGF2aW9yU3ViamVjdCwgbWFwLCBPYnNlcnZhYmxlLCBjb21iaW5lTGF0ZXN0LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgc3RhcnRXaXRoLCBmaXJzdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgT25EZXN0cm95LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENsaWNrYWJsZUFuY2hvckxpbmssIEZpbHRlclNvdXJjZURpcmVjdGl2ZSwgQ2xpY2thYmxlUGFydGlhbEZpbHRlclByZXNldCB9IGZyb20gJ0BkZXJlZWtiL2RieC1jb3JlJztcbmltcG9ydCB7IGZpbHRlclVuZGVmaW5lZFZhbHVlcywgZmlyc3RWYWx1ZSwgZ2V0VmFsdWVGcm9tR2V0dGVyLCBNYXliZSwgb2JqZWN0SGFzTm9LZXlzIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5cbi8qKlxuICogRGlzcGxheXMgYSBidXR0b24gYW5kIG1lbnUgZm9yIGZpbHRlcmluZyBwYXJ0aWFsUHJlc2V0cy5cbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3REYnhQYXJ0aWFsUHJlc2V0RmlsdGVyTWVudURpcmVjdGl2ZTxGPiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHJlYWRvbmx5IGZpbHRlclNvdXJjZURpcmVjdGl2ZSA9IGluamVjdChGaWx0ZXJTb3VyY2VEaXJlY3RpdmU8Rj4pO1xuXG4gIHByaXZhdGUgX3BhcnRpYWxQcmVzZXRzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxDbGlja2FibGVQYXJ0aWFsRmlsdGVyUHJlc2V0PEY+W10+KFtdKTtcblxuICByZWFkb25seSBmaWx0ZXIkOiBPYnNlcnZhYmxlPE1heWJlPEY+PiA9IHRoaXMuZmlsdGVyU291cmNlRGlyZWN0aXZlLmZpbHRlciQucGlwZShzdGFydFdpdGgodW5kZWZpbmVkKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgc2hhcmVSZXBsYXkoMSkpO1xuXG4gIHJlYWRvbmx5IHNlbGVjdGVkUGFydGlhbFByZXNldHMkOiBPYnNlcnZhYmxlPENsaWNrYWJsZVBhcnRpYWxGaWx0ZXJQcmVzZXQ8Rj5bXT4gPSBjb21iaW5lTGF0ZXN0KFt0aGlzLl9wYXJ0aWFsUHJlc2V0cywgdGhpcy5maWx0ZXIkXSkucGlwZShcbiAgICBtYXAoKFtwYXJ0aWFsUHJlc2V0cywgc2VsZWN0ZWRGaWx0ZXJdKSA9PiB7XG4gICAgICBjb25zdCBzZWxlY3RlZFByZXNldHM6IENsaWNrYWJsZVBhcnRpYWxGaWx0ZXJQcmVzZXQ8Rj5bXSA9IHBhcnRpYWxQcmVzZXRzLmZpbHRlcigoeCkgPT4geC5pc0FjdGl2ZShzZWxlY3RlZEZpbHRlcikpO1xuICAgICAgcmV0dXJuIHNlbGVjdGVkUHJlc2V0cztcbiAgICB9KSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICk7XG5cbiAgcmVhZG9ubHkgZmlyc3RTZWxlY3RlZFBhcnRpYWxQcmVzZXQkOiBPYnNlcnZhYmxlPE1heWJlPENsaWNrYWJsZVBhcnRpYWxGaWx0ZXJQcmVzZXQ8Rj4+PiA9IHRoaXMuc2VsZWN0ZWRQYXJ0aWFsUHJlc2V0cyQucGlwZShcbiAgICBtYXAoKHNlbGVjdGVkUGFydGlhbFByZXNldHMpID0+IGZpcnN0VmFsdWUoc2VsZWN0ZWRQYXJ0aWFsUHJlc2V0cykpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgKTtcblxuICByZWFkb25seSBwcmVzZXRBbmNob3JzJDogT2JzZXJ2YWJsZTxDbGlja2FibGVBbmNob3JMaW5rW10+ID0gY29tYmluZUxhdGVzdChbdGhpcy5fcGFydGlhbFByZXNldHMsIHRoaXMuZmlyc3RTZWxlY3RlZFBhcnRpYWxQcmVzZXQkXSkucGlwZShcbiAgICBtYXAoKFtwYXJ0aWFsUHJlc2V0cywgZmlyc3RTZWxlY3RlZFBhcnRpYWxQcmVzZXRdKSA9PiB7XG4gICAgICByZXR1cm4gcGFydGlhbFByZXNldHMubWFwKCh4KSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4ueCxcbiAgICAgICAgICBzZWxlY3RlZDogeCA9PT0gZmlyc3RTZWxlY3RlZFBhcnRpYWxQcmVzZXQsXG4gICAgICAgICAgb25DbGljazogKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RQYXJ0aWFsUHJlc2V0KHgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICAgIH0pLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgQElucHV0KClcbiAgZ2V0IHBhcnRpYWxQcmVzZXRzKCk6IENsaWNrYWJsZVBhcnRpYWxGaWx0ZXJQcmVzZXQ8Rj5bXSB7XG4gICAgcmV0dXJuIHRoaXMuX3BhcnRpYWxQcmVzZXRzLnZhbHVlO1xuICB9XG5cbiAgc2V0IHBhcnRpYWxQcmVzZXRzKHBhcnRpYWxQcmVzZXRzOiBDbGlja2FibGVQYXJ0aWFsRmlsdGVyUHJlc2V0PEY+W10pIHtcbiAgICB0aGlzLl9wYXJ0aWFsUHJlc2V0cy5uZXh0KHBhcnRpYWxQcmVzZXRzKTtcbiAgfVxuXG4gIHNlbGVjdFBhcnRpYWxQcmVzZXQocHJlc2V0OiBDbGlja2FibGVQYXJ0aWFsRmlsdGVyUHJlc2V0PEY+KSB7XG4gICAgY29uc3QgcHJlc2V0VmFsdWUgPSBwcmVzZXQucGFydGlhbFByZXNldFZhbHVlO1xuXG4gICAgaWYgKHByZXNldFZhbHVlID09IG51bGwgfHwgKHR5cGVvZiBwcmVzZXRWYWx1ZSAhPT0gJ2Z1bmN0aW9uJyAmJiBvYmplY3RIYXNOb0tleXMocHJlc2V0VmFsdWUpKSkge1xuICAgICAgLy8gc2V0IGFuZCB0aGVuIHJlc2V0IGlmIHRoZSB2YWx1ZSBpcyBudWxsIG9yIGVtcHR5XG4gICAgICB0aGlzLmZpbHRlclNvdXJjZURpcmVjdGl2ZS5zZXRGaWx0ZXIoKHByZXNldFZhbHVlID8/IHt9KSBhcyBGKTtcbiAgICAgIHRoaXMuZmlsdGVyU291cmNlRGlyZWN0aXZlLnJlc2V0RmlsdGVyKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGZpbHRlciA9IGdldFZhbHVlRnJvbUdldHRlcihwcmVzZXQucGFydGlhbFByZXNldFZhbHVlKSBhcyBQYXJ0aWFsPEY+O1xuXG4gICAgICB0aGlzLmZpbHRlciQucGlwZShmaXJzdCgpKS5zdWJzY3JpYmUoKGN1cnJlbnRGaWx0ZXIpID0+IHtcbiAgICAgICAgY29uc3QgbmV4dEZpbHRlciA9IHsgLi4uY3VycmVudEZpbHRlciwgLi4uZmlsdGVyVW5kZWZpbmVkVmFsdWVzKHsgLi4uY3VycmVudEZpbHRlciwgLi4uZmlsdGVyIH0sIHRydWUpIH0gYXMgRjtcbiAgICAgICAgdGhpcy5maWx0ZXJTb3VyY2VEaXJlY3RpdmUuc2V0RmlsdGVyKG5leHRGaWx0ZXIpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fcGFydGlhbFByZXNldHMuY29tcGxldGUoKTtcbiAgfVxufVxuIl19
49
+ }] });
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLnBhcnRpYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvaW50ZXJhY3Rpb24vZmlsdGVyL2ZpbHRlci5wYXJ0aWFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFjLGFBQWEsRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQXVCLHFCQUFxQixFQUFnQyxNQUFNLG1CQUFtQixDQUFDO0FBQzdHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxVQUFVLEVBQUUsa0JBQWtCLEVBQVMsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlHLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBRXBFOztHQUVHO0FBRUgsTUFBTSxPQUFnQiwyQ0FBMkM7SUFDdEQscUJBQXFCLEdBQUcsTUFBTSxDQUFDLENBQUEscUJBQXdCLENBQUEsQ0FBQyxDQUFDO0lBRXpELGNBQWMsR0FBRyxLQUFLLENBQThFLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdkksZUFBZSxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFcEQsT0FBTyxHQUF5QixJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUV0SSx1QkFBdUIsR0FBa0QsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ3hJLEdBQUcsQ0FBQyxDQUFDLENBQUMsY0FBYyxFQUFFLGNBQWMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFDbkcsb0JBQW9CLEVBQUUsQ0FDdkIsQ0FBQztJQUVPLDJCQUEyQixHQUF1RCxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUMxSCxHQUFHLENBQUMsQ0FBQyxzQkFBc0IsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLENBQUMsRUFDbkUsb0JBQW9CLEVBQUUsQ0FDdkIsQ0FBQztJQUVPLGNBQWMsR0FBc0MsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDdkksR0FBRyxDQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUUsMEJBQTBCLENBQUMsRUFBRSxFQUFFO1FBQ25ELE9BQU8sY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQzlCLE9BQU87Z0JBQ0wsR0FBRyxDQUFDO2dCQUNKLFFBQVEsRUFBRSxDQUFDLEtBQUssMEJBQTBCO2dCQUMxQyxPQUFPLEVBQUUsR0FBRyxFQUFFO29CQUNaLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDOUIsQ0FBQzthQUNGLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxFQUNGLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO0lBRU8sbUJBQW1CLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUU3RCxtQkFBbUIsQ0FBQyxNQUF1QztRQUN6RCxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUM7UUFFOUMsSUFBSSxXQUFXLElBQUksSUFBSSxJQUFJLENBQUMsT0FBTyxXQUFXLEtBQUssVUFBVSxJQUFJLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDL0YsbURBQW1EO1lBQ25ELElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFNLENBQUMsQ0FBQztZQUMvRCxJQUFJLENBQUMscUJBQXFCLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDM0MsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLE1BQU0sR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQWUsQ0FBQztZQUUzRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxFQUFFO2dCQUNyRCxNQUFNLFVBQVUsR0FBRyxFQUFFLEdBQUcsYUFBYSxFQUFFLEdBQUcscUJBQXFCLENBQUMsRUFBRSxHQUFHLGFBQWEsRUFBRSxHQUFHLE1BQU0sRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFPLENBQUM7Z0JBQzlHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDbkQsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQzt3R0FsRG1CLDJDQUEyQzs0RkFBM0MsMkNBQTJDOzs0RkFBM0MsMkNBQTJDO2tCQURoRSxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc2hhcmVSZXBsYXksIG1hcCwgT2JzZXJ2YWJsZSwgY29tYmluZUxhdGVzdCwgZGlzdGluY3RVbnRpbENoYW5nZWQsIHN0YXJ0V2l0aCwgZmlyc3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgaW5qZWN0LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2xpY2thYmxlQW5jaG9yTGluaywgRmlsdGVyU291cmNlRGlyZWN0aXZlLCBDbGlja2FibGVQYXJ0aWFsRmlsdGVyUHJlc2V0IH0gZnJvbSAnQGRlcmVla2IvZGJ4LWNvcmUnO1xuaW1wb3J0IHsgZmlsdGVyVW5kZWZpbmVkVmFsdWVzLCBmaXJzdFZhbHVlLCBnZXRWYWx1ZUZyb21HZXR0ZXIsIE1heWJlLCBvYmplY3RIYXNOb0tleXMgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IHRvT2JzZXJ2YWJsZSwgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5cbi8qKlxuICogRGlzcGxheXMgYSBidXR0b24gYW5kIG1lbnUgZm9yIGZpbHRlcmluZyBwYXJ0aWFsUHJlc2V0cy5cbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3REYnhQYXJ0aWFsUHJlc2V0RmlsdGVyTWVudURpcmVjdGl2ZTxGPiB7XG4gIHJlYWRvbmx5IGZpbHRlclNvdXJjZURpcmVjdGl2ZSA9IGluamVjdChGaWx0ZXJTb3VyY2VEaXJlY3RpdmU8Rj4pO1xuXG4gIHJlYWRvbmx5IHBhcnRpYWxQcmVzZXRzID0gaW5wdXQ8Q2xpY2thYmxlUGFydGlhbEZpbHRlclByZXNldDxGPltdLCBNYXliZTxDbGlja2FibGVQYXJ0aWFsRmlsdGVyUHJlc2V0PEY+W10+PihbXSwgeyB0cmFuc2Zvcm06ICh4KSA9PiB4ID8/IFtdIH0pO1xuICByZWFkb25seSBwYXJ0aWFsUHJlc2V0cyQgPSB0b09ic2VydmFibGUodGhpcy5wYXJ0aWFsUHJlc2V0cyk7XG5cbiAgcmVhZG9ubHkgZmlsdGVyJDogT2JzZXJ2YWJsZTxNYXliZTxGPj4gPSB0aGlzLmZpbHRlclNvdXJjZURpcmVjdGl2ZS5maWx0ZXIkLnBpcGUoc3RhcnRXaXRoKHVuZGVmaW5lZCksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHNoYXJlUmVwbGF5KDEpKTtcblxuICByZWFkb25seSBzZWxlY3RlZFBhcnRpYWxQcmVzZXRzJDogT2JzZXJ2YWJsZTxDbGlja2FibGVQYXJ0aWFsRmlsdGVyUHJlc2V0PEY+W10+ID0gY29tYmluZUxhdGVzdChbdGhpcy5wYXJ0aWFsUHJlc2V0cyQsIHRoaXMuZmlsdGVyJF0pLnBpcGUoXG4gICAgbWFwKChbcGFydGlhbFByZXNldHMsIHNlbGVjdGVkRmlsdGVyXSkgPT4gcGFydGlhbFByZXNldHMuZmlsdGVyKCh4KSA9PiB4LmlzQWN0aXZlKHNlbGVjdGVkRmlsdGVyKSkpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgKTtcblxuICByZWFkb25seSBmaXJzdFNlbGVjdGVkUGFydGlhbFByZXNldCQ6IE9ic2VydmFibGU8TWF5YmU8Q2xpY2thYmxlUGFydGlhbEZpbHRlclByZXNldDxGPj4+ID0gdGhpcy5zZWxlY3RlZFBhcnRpYWxQcmVzZXRzJC5waXBlKFxuICAgIG1hcCgoc2VsZWN0ZWRQYXJ0aWFsUHJlc2V0cykgPT4gZmlyc3RWYWx1ZShzZWxlY3RlZFBhcnRpYWxQcmVzZXRzKSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICApO1xuXG4gIHJlYWRvbmx5IHByZXNldEFuY2hvcnMkOiBPYnNlcnZhYmxlPENsaWNrYWJsZUFuY2hvckxpbmtbXT4gPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnBhcnRpYWxQcmVzZXRzJCwgdGhpcy5maXJzdFNlbGVjdGVkUGFydGlhbFByZXNldCRdKS5waXBlKFxuICAgIG1hcCgoW3BhcnRpYWxQcmVzZXRzLCBmaXJzdFNlbGVjdGVkUGFydGlhbFByZXNldF0pID0+IHtcbiAgICAgIHJldHVybiBwYXJ0aWFsUHJlc2V0cy5tYXAoKHgpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi54LFxuICAgICAgICAgIHNlbGVjdGVkOiB4ID09PSBmaXJzdFNlbGVjdGVkUGFydGlhbFByZXNldCxcbiAgICAgICAgICBvbkNsaWNrOiAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdFBhcnRpYWxQcmVzZXQoeCk7XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgfSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBwcmVzZXRBbmNob3JzU2lnbmFsID0gdG9TaWduYWwodGhpcy5wcmVzZXRBbmNob3JzJCk7XG5cbiAgc2VsZWN0UGFydGlhbFByZXNldChwcmVzZXQ6IENsaWNrYWJsZVBhcnRpYWxGaWx0ZXJQcmVzZXQ8Rj4pIHtcbiAgICBjb25zdCBwcmVzZXRWYWx1ZSA9IHByZXNldC5wYXJ0aWFsUHJlc2V0VmFsdWU7XG5cbiAgICBpZiAocHJlc2V0VmFsdWUgPT0gbnVsbCB8fCAodHlwZW9mIHByZXNldFZhbHVlICE9PSAnZnVuY3Rpb24nICYmIG9iamVjdEhhc05vS2V5cyhwcmVzZXRWYWx1ZSkpKSB7XG4gICAgICAvLyBzZXQgYW5kIHRoZW4gcmVzZXQgaWYgdGhlIHZhbHVlIGlzIG51bGwgb3IgZW1wdHlcbiAgICAgIHRoaXMuZmlsdGVyU291cmNlRGlyZWN0aXZlLnNldEZpbHRlcigocHJlc2V0VmFsdWUgPz8ge30pIGFzIEYpO1xuICAgICAgdGhpcy5maWx0ZXJTb3VyY2VEaXJlY3RpdmUucmVzZXRGaWx0ZXIoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZmlsdGVyID0gZ2V0VmFsdWVGcm9tR2V0dGVyKHByZXNldC5wYXJ0aWFsUHJlc2V0VmFsdWUpIGFzIFBhcnRpYWw8Rj47XG5cbiAgICAgIHRoaXMuZmlsdGVyJC5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgoY3VycmVudEZpbHRlcikgPT4ge1xuICAgICAgICBjb25zdCBuZXh0RmlsdGVyID0geyAuLi5jdXJyZW50RmlsdGVyLCAuLi5maWx0ZXJVbmRlZmluZWRWYWx1ZXMoeyAuLi5jdXJyZW50RmlsdGVyLCAuLi5maWx0ZXIgfSwgdHJ1ZSkgfSBhcyBGO1xuICAgICAgICB0aGlzLmZpbHRlclNvdXJjZURpcmVjdGl2ZS5zZXRGaWx0ZXIobmV4dEZpbHRlcik7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,47 +1,33 @@
1
- import { ChangeDetectionStrategy, Component, ElementRef, Input, ViewChild } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, ElementRef, input, viewChild } from '@angular/core';
2
2
  import { AbstractFilterPopoverButtonDirective } from './filter.popover.button.directive';
3
+ import { DbxIconButtonComponent } from '../../button/icon/icon.button.component';
3
4
  import * as i0 from "@angular/core";
4
- import * as i1 from "../../button/icon/icon.button.component";
5
5
  const DEFAULT_FILTER_POPOVER_BUTTON_DISPLAY_CONTENT = {
6
6
  icon: 'filter_list'
7
7
  };
8
8
  export class DbxFilterPopoverButtonComponent extends AbstractFilterPopoverButtonDirective {
9
- _buttonDisplay = DEFAULT_FILTER_POPOVER_BUTTON_DISPLAY_CONTENT;
10
- disabled;
11
- get buttonDisplay() {
12
- return this._buttonDisplay;
13
- }
14
- set buttonDisplay(buttonDisplay) {
15
- if (!buttonDisplay) {
16
- buttonDisplay = DEFAULT_FILTER_POPOVER_BUTTON_DISPLAY_CONTENT;
17
- }
18
- this._buttonDisplay = buttonDisplay;
19
- }
20
- buttonElement;
9
+ buttonElement = viewChild('button', { read: ElementRef });
10
+ disabled = input();
11
+ buttonDisplay = input(DEFAULT_FILTER_POPOVER_BUTTON_DISPLAY_CONTENT, { transform: (x) => x ?? DEFAULT_FILTER_POPOVER_BUTTON_DISPLAY_CONTENT });
21
12
  showFilterPopover() {
22
- const origin = this.buttonElement.nativeElement;
13
+ const origin = this.buttonElement()?.nativeElement;
23
14
  this.showPopover(origin);
24
15
  }
25
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFilterPopoverButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
26
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DbxFilterPopoverButtonComponent, selector: "dbx-filter-popover-button", inputs: { disabled: "disabled", buttonDisplay: "buttonDisplay" }, viewQueries: [{ propertyName: "buttonElement", first: true, predicate: ["button"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: `
27
- <dbx-icon-button #button (buttonClick)="showFilterPopover()" [buttonDisplay]="buttonDisplay" [disabled]="disabled"></dbx-icon-button>
28
- `, isInline: true, dependencies: [{ kind: "component", type: i1.DbxIconButtonComponent, selector: "dbx-icon-button" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
16
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFilterPopoverButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
17
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.13", type: DbxFilterPopoverButtonComponent, isStandalone: true, selector: "dbx-filter-popover-button", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, buttonDisplay: { classPropertyName: "buttonDisplay", publicName: "buttonDisplay", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "buttonElement", first: true, predicate: ["button"], descendants: true, read: ElementRef, isSignal: true }], usesInheritance: true, ngImport: i0, template: `
18
+ <dbx-icon-button #button (buttonClick)="showFilterPopover()" [buttonDisplay]="buttonDisplay()" [disabled]="disabled()"></dbx-icon-button>
19
+ `, isInline: true, dependencies: [{ kind: "component", type: DbxIconButtonComponent, selector: "dbx-icon-button" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
29
20
  }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFilterPopoverButtonComponent, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFilterPopoverButtonComponent, decorators: [{
31
22
  type: Component,
32
23
  args: [{
33
24
  selector: 'dbx-filter-popover-button',
34
25
  template: `
35
- <dbx-icon-button #button (buttonClick)="showFilterPopover()" [buttonDisplay]="buttonDisplay" [disabled]="disabled"></dbx-icon-button>
26
+ <dbx-icon-button #button (buttonClick)="showFilterPopover()" [buttonDisplay]="buttonDisplay()" [disabled]="disabled()"></dbx-icon-button>
36
27
  `,
37
- changeDetection: ChangeDetectionStrategy.OnPush
28
+ imports: [DbxIconButtonComponent],
29
+ changeDetection: ChangeDetectionStrategy.OnPush,
30
+ standalone: true
38
31
  }]
39
- }], propDecorators: { disabled: [{
40
- type: Input
41
- }], buttonDisplay: [{
42
- type: Input
43
- }], buttonElement: [{
44
- type: ViewChild,
45
- args: ['button', { read: ElementRef, static: false }]
46
- }] } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLnBvcG92ZXIuYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9pbnRlcmFjdGlvbi9maWx0ZXIvZmlsdGVyLnBvcG92ZXIuYnV0dG9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7QUFJekYsTUFBTSw2Q0FBNkMsR0FBNEI7SUFDN0UsSUFBSSxFQUFFLGFBQWE7Q0FDcEIsQ0FBQztBQVNGLE1BQU0sT0FBTywrQkFBMkQsU0FBUSxvQ0FBdUM7SUFDN0csY0FBYyxHQUE0Qiw2Q0FBNkMsQ0FBQztJQUdoRyxRQUFRLENBQWtCO0lBRTFCLElBQ0ksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBSSxhQUFhLENBQUMsYUFBNkM7UUFDN0QsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNsQixhQUFhLEdBQUcsNkNBQTZDLENBQUM7U0FDL0Q7UUFFRCxJQUFJLENBQUMsY0FBYyxHQUFHLGFBQWEsQ0FBQztJQUN0QyxDQUFDO0lBR0QsYUFBYSxDQUFjO0lBRTNCLGlCQUFpQjtRQUNmLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDO1FBQ2hELElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0IsQ0FBQzt3R0F6QlUsK0JBQStCOzRGQUEvQiwrQkFBK0IsdU5BbUJiLFVBQVUsb0RBeEI3Qjs7R0FFVDs7NEZBR1UsK0JBQStCO2tCQVAzQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLFFBQVEsRUFBRTs7R0FFVDtvQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQ7OEJBS0MsUUFBUTtzQkFEUCxLQUFLO2dCQUlGLGFBQWE7c0JBRGhCLEtBQUs7Z0JBY04sYUFBYTtzQkFEWixTQUFTO3VCQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0RmlsdGVyUG9wb3ZlckJ1dHRvbkRpcmVjdGl2ZSB9IGZyb20gJy4vZmlsdGVyLnBvcG92ZXIuYnV0dG9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBEYnhCdXR0b25EaXNwbGF5Q29udGVudCB9IGZyb20gJ0BkZXJlZWtiL2RieC1jb3JlJztcbmltcG9ydCB7IHR5cGUgTWF5YmUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcblxuY29uc3QgREVGQVVMVF9GSUxURVJfUE9QT1ZFUl9CVVRUT05fRElTUExBWV9DT05URU5UOiBEYnhCdXR0b25EaXNwbGF5Q29udGVudCA9IHtcbiAgaWNvbjogJ2ZpbHRlcl9saXN0J1xufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGJ4LWZpbHRlci1wb3BvdmVyLWJ1dHRvbicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRieC1pY29uLWJ1dHRvbiAjYnV0dG9uIChidXR0b25DbGljayk9XCJzaG93RmlsdGVyUG9wb3ZlcigpXCIgW2J1dHRvbkRpc3BsYXldPVwiYnV0dG9uRGlzcGxheVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPjwvZGJ4LWljb24tYnV0dG9uPlxuICBgLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBEYnhGaWx0ZXJQb3BvdmVyQnV0dG9uQ29tcG9uZW50PEYgZXh0ZW5kcyBvYmplY3QgPSBvYmplY3Q+IGV4dGVuZHMgQWJzdHJhY3RGaWx0ZXJQb3BvdmVyQnV0dG9uRGlyZWN0aXZlPEY+IHtcbiAgcHJpdmF0ZSBfYnV0dG9uRGlzcGxheTogRGJ4QnV0dG9uRGlzcGxheUNvbnRlbnQgPSBERUZBVUxUX0ZJTFRFUl9QT1BPVkVSX0JVVFRPTl9ESVNQTEFZX0NPTlRFTlQ7XG5cbiAgQElucHV0KClcbiAgZGlzYWJsZWQ/OiBNYXliZTxib29sZWFuPjtcblxuICBASW5wdXQoKVxuICBnZXQgYnV0dG9uRGlzcGxheSgpOiBEYnhCdXR0b25EaXNwbGF5Q29udGVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2J1dHRvbkRpc3BsYXk7XG4gIH1cblxuICBzZXQgYnV0dG9uRGlzcGxheShidXR0b25EaXNwbGF5OiBNYXliZTxEYnhCdXR0b25EaXNwbGF5Q29udGVudD4pIHtcbiAgICBpZiAoIWJ1dHRvbkRpc3BsYXkpIHtcbiAgICAgIGJ1dHRvbkRpc3BsYXkgPSBERUZBVUxUX0ZJTFRFUl9QT1BPVkVSX0JVVFRPTl9ESVNQTEFZX0NPTlRFTlQ7XG4gICAgfVxuXG4gICAgdGhpcy5fYnV0dG9uRGlzcGxheSA9IGJ1dHRvbkRpc3BsYXk7XG4gIH1cblxuICBAVmlld0NoaWxkKCdidXR0b24nLCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogZmFsc2UgfSlcbiAgYnV0dG9uRWxlbWVudCE6IEVsZW1lbnRSZWY7XG5cbiAgc2hvd0ZpbHRlclBvcG92ZXIoKTogdm9pZCB7XG4gICAgY29uc3Qgb3JpZ2luID0gdGhpcy5idXR0b25FbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgdGhpcy5zaG93UG9wb3ZlcihvcmlnaW4pO1xuICB9XG59XG4iXX0=
32
+ }] });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLnBvcG92ZXIuYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9pbnRlcmFjdGlvbi9maWx0ZXIvZmlsdGVyLnBvcG92ZXIuYnV0dG9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBR3pGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOztBQUVqRixNQUFNLDZDQUE2QyxHQUFxQjtJQUN0RSxJQUFJLEVBQUUsYUFBYTtDQUNwQixDQUFDO0FBV0YsTUFBTSxPQUFPLCtCQUEyRCxTQUFRLG9DQUF1QztJQUM1RyxhQUFhLEdBQUcsU0FBUyxDQUE0QixRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUNyRixRQUFRLEdBQUcsS0FBSyxFQUFrQixDQUFDO0lBQ25DLGFBQWEsR0FBRyxLQUFLLENBQTRDLDZDQUE2QyxFQUFFLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksNkNBQTZDLEVBQUUsQ0FBQyxDQUFDO0lBRW5NLGlCQUFpQjtRQUNmLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxhQUFhLENBQUM7UUFDbkQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzQixDQUFDO3dHQVJVLCtCQUErQjs0RkFBL0IsK0JBQStCLHNjQUNzQyxVQUFVLG9FQVJoRjs7R0FFVCw0REFDUyxzQkFBc0I7OzRGQUlyQiwrQkFBK0I7a0JBVDNDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsUUFBUSxFQUFFOztHQUVUO29CQUNELE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO29CQUNqQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgaW5wdXQsIHZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RGaWx0ZXJQb3BvdmVyQnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnLi9maWx0ZXIucG9wb3Zlci5idXR0b24uZGlyZWN0aXZlJztcbmltcG9ydCB7IERieEJ1dHRvbkRpc3BsYXkgfSBmcm9tICdAZGVyZWVrYi9kYngtY29yZSc7XG5pbXBvcnQgeyB0eXBlIE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBEYnhJY29uQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYnV0dG9uL2ljb24vaWNvbi5idXR0b24uY29tcG9uZW50JztcblxuY29uc3QgREVGQVVMVF9GSUxURVJfUE9QT1ZFUl9CVVRUT05fRElTUExBWV9DT05URU5UOiBEYnhCdXR0b25EaXNwbGF5ID0ge1xuICBpY29uOiAnZmlsdGVyX2xpc3QnXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYngtZmlsdGVyLXBvcG92ZXItYnV0dG9uJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGJ4LWljb24tYnV0dG9uICNidXR0b24gKGJ1dHRvbkNsaWNrKT1cInNob3dGaWx0ZXJQb3BvdmVyKClcIiBbYnV0dG9uRGlzcGxheV09XCJidXR0b25EaXNwbGF5KClcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiPjwvZGJ4LWljb24tYnV0dG9uPlxuICBgLFxuICBpbXBvcnRzOiBbRGJ4SWNvbkJ1dHRvbkNvbXBvbmVudF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIERieEZpbHRlclBvcG92ZXJCdXR0b25Db21wb25lbnQ8RiBleHRlbmRzIG9iamVjdCA9IG9iamVjdD4gZXh0ZW5kcyBBYnN0cmFjdEZpbHRlclBvcG92ZXJCdXR0b25EaXJlY3RpdmU8Rj4ge1xuICByZWFkb25seSBidXR0b25FbGVtZW50ID0gdmlld0NoaWxkPHN0cmluZywgTWF5YmU8RWxlbWVudFJlZj4+KCdidXR0b24nLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSk7XG4gIHJlYWRvbmx5IGRpc2FibGVkID0gaW5wdXQ8TWF5YmU8Ym9vbGVhbj4+KCk7XG4gIHJlYWRvbmx5IGJ1dHRvbkRpc3BsYXkgPSBpbnB1dDxEYnhCdXR0b25EaXNwbGF5LCBNYXliZTxEYnhCdXR0b25EaXNwbGF5Pj4oREVGQVVMVF9GSUxURVJfUE9QT1ZFUl9CVVRUT05fRElTUExBWV9DT05URU5ULCB7IHRyYW5zZm9ybTogKHgpID0+IHggPz8gREVGQVVMVF9GSUxURVJfUE9QT1ZFUl9CVVRUT05fRElTUExBWV9DT05URU5UIH0pO1xuXG4gIHNob3dGaWx0ZXJQb3BvdmVyKCk6IHZvaWQge1xuICAgIGNvbnN0IG9yaWdpbiA9IHRoaXMuYnV0dG9uRWxlbWVudCgpPy5uYXRpdmVFbGVtZW50O1xuICAgIHRoaXMuc2hvd1BvcG92ZXIob3JpZ2luKTtcbiAgfVxufVxuIl19
@@ -1,30 +1,28 @@
1
- import { Directive, Input, inject } from '@angular/core';
1
+ import { Directive, input, inject } from '@angular/core';
2
2
  import { DbxPopoverService } from '../popover/popover.service';
3
3
  import { DbxFilterPopoverComponent } from './filter.popover.component';
4
4
  import { AbstractPopoverRefDirective } from '../popover/abstract.popover.ref.directive';
5
5
  import * as i0 from "@angular/core";
6
6
  export class AbstractFilterPopoverButtonDirective extends AbstractPopoverRefDirective {
7
7
  popupService = inject(DbxPopoverService);
8
- config;
8
+ config = input(undefined);
9
9
  _makePopoverRef(origin) {
10
- const config = this.config;
10
+ const config = this.config();
11
11
  if (!config) {
12
- throw new Error('Missing filterButtonConfig.');
12
+ throw new Error('AbstractFilterPopoverButtonDirective(): Missing config.');
13
13
  }
14
14
  else if (!origin) {
15
- throw new Error('Missing origin.');
15
+ throw new Error('AbstractFilterPopoverButtonDirective(): Missing origin.');
16
16
  }
17
17
  return DbxFilterPopoverComponent.openPopover(this.popupService, {
18
18
  origin,
19
19
  ...config
20
20
  });
21
21
  }
22
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AbstractFilterPopoverButtonDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
23
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: AbstractFilterPopoverButtonDirective, inputs: { config: "config" }, usesInheritance: true, ngImport: i0 });
22
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractFilterPopoverButtonDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
23
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: AbstractFilterPopoverButtonDirective, inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 });
24
24
  }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AbstractFilterPopoverButtonDirective, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractFilterPopoverButtonDirective, decorators: [{
26
26
  type: Directive
27
- }], propDecorators: { config: [{
28
- type: Input
29
- }] } });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLnBvcG92ZXIuYnV0dG9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9pbnRlcmFjdGlvbi9maWx0ZXIvZmlsdGVyLnBvcG92ZXIuYnV0dG9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFckUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHlCQUF5QixFQUE0QixNQUFNLDRCQUE0QixDQUFDO0FBQ2pHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOztBQVF4RixNQUFNLE9BQWdCLG9DQUF1RCxTQUFRLDJCQUE2QztJQUMvRyxZQUFZLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFHMUQsTUFBTSxDQUE4QztJQUVqQyxlQUFlLENBQUMsTUFBbUI7UUFDcEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUUzQixJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1gsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1NBQ2hEO2FBQU0sSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNsQixNQUFNLElBQUksS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7U0FDcEM7UUFFRCxPQUFPLHlCQUF5QixDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQzlELE1BQU07WUFDTixHQUFHLE1BQU07U0FDVixDQUFDLENBQUM7SUFDTCxDQUFDO3dHQW5CbUIsb0NBQW9DOzRGQUFwQyxvQ0FBb0M7OzRGQUFwQyxvQ0FBb0M7a0JBRHpELFNBQVM7OEJBS1IsTUFBTTtzQkFETCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ1BvcG92ZXJSZWYgfSBmcm9tICduZy1vdmVybGF5LWNvbnRhaW5lcic7XG5pbXBvcnQgeyBEYnhQb3BvdmVyU2VydmljZSB9IGZyb20gJy4uL3BvcG92ZXIvcG9wb3Zlci5zZXJ2aWNlJztcbmltcG9ydCB7IERieEZpbHRlclBvcG92ZXJDb21wb25lbnQsIERieEZpbHRlckNvbXBvbmVudFBhcmFtcyB9IGZyb20gJy4vZmlsdGVyLnBvcG92ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEFic3RyYWN0UG9wb3ZlclJlZkRpcmVjdGl2ZSB9IGZyb20gJy4uL3BvcG92ZXIvYWJzdHJhY3QucG9wb3Zlci5yZWYuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZpbHRlclNvdXJjZSwgUHJlc2V0RmlsdGVyU291cmNlIH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5cbmV4cG9ydCB0eXBlIERieEZpbHRlckJ1dHRvbkNvbmZpZzxGIGV4dGVuZHMgb2JqZWN0PiA9IERieEZpbHRlckNvbXBvbmVudFBhcmFtczxGPjtcbmV4cG9ydCB0eXBlIERieEZpbHRlckJ1dHRvbkNvbmZpZ1dpdGhDdXN0b21GaWx0ZXI8RiBleHRlbmRzIG9iamVjdCwgQ0YgZXh0ZW5kcyBGaWx0ZXJTb3VyY2U8Rj4gPSBGaWx0ZXJTb3VyY2U8Rj4+ID0gT21pdDxEYnhGaWx0ZXJDb21wb25lbnRQYXJhbXM8RiwgYW55LCBDRiwgYW55PiwgJ3ByZXNldEZpbHRlcicgfCAncHJlc2V0RmlsdGVyQ29tcG9uZW50Q29uZmlnJz47XG5leHBvcnQgdHlwZSBEYnhGaWx0ZXJCdXR0b25Db25maWdXaXRoUHJlc2V0RmlsdGVyPEYgZXh0ZW5kcyBvYmplY3QsIFBGIGV4dGVuZHMgUHJlc2V0RmlsdGVyU291cmNlPEYsIGFueT4gPSBQcmVzZXRGaWx0ZXJTb3VyY2U8RiwgYW55Pj4gPSBPbWl0PERieEZpbHRlckNvbXBvbmVudFBhcmFtczxGLCBhbnksIGFueSwgUEY+LCAnY3VzdG9tRmlsdGVyJyB8ICdjdXN0b21GaWx0ZXJDb21wb25lbnRDb25maWcnPjtcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RGaWx0ZXJQb3BvdmVyQnV0dG9uRGlyZWN0aXZlPEYgZXh0ZW5kcyBvYmplY3Q+IGV4dGVuZHMgQWJzdHJhY3RQb3BvdmVyUmVmRGlyZWN0aXZlPHVua25vd24sIHVua25vd24+IHtcbiAgcHJpdmF0ZSByZWFkb25seSBwb3B1cFNlcnZpY2UgPSBpbmplY3QoRGJ4UG9wb3ZlclNlcnZpY2UpO1xuXG4gIEBJbnB1dCgpXG4gIGNvbmZpZz86IERieEZpbHRlckNvbXBvbmVudFBhcmFtczxGLCBhbnksIGFueSwgYW55PjtcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgX21ha2VQb3BvdmVyUmVmKG9yaWdpbj86IEVsZW1lbnRSZWYpOiBOZ1BvcG92ZXJSZWY8dW5rbm93biwgdW5rbm93bj4ge1xuICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuY29uZmlnO1xuXG4gICAgaWYgKCFjb25maWcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTWlzc2luZyBmaWx0ZXJCdXR0b25Db25maWcuJyk7XG4gICAgfSBlbHNlIGlmICghb3JpZ2luKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3Npbmcgb3JpZ2luLicpO1xuICAgIH1cblxuICAgIHJldHVybiBEYnhGaWx0ZXJQb3BvdmVyQ29tcG9uZW50Lm9wZW5Qb3BvdmVyKHRoaXMucG9wdXBTZXJ2aWNlLCB7XG4gICAgICBvcmlnaW4sXG4gICAgICAuLi5jb25maWdcbiAgICB9KTtcbiAgfVxufVxuIl19
27
+ }] });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLnBvcG92ZXIuYnV0dG9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9pbnRlcmFjdGlvbi9maWx0ZXIvZmlsdGVyLnBvcG92ZXIuYnV0dG9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFckUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdkUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7O0FBVXhGLE1BQU0sT0FBZ0Isb0NBQXVELFNBQVEsMkJBQTZDO0lBQy9HLFlBQVksR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNqRCxNQUFNLEdBQUcsS0FBSyxDQUFvRCxTQUFTLENBQUMsQ0FBQztJQUVuRSxlQUFlLENBQUMsTUFBbUI7UUFDcEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBRTdCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNaLE1BQU0sSUFBSSxLQUFLLENBQUMseURBQXlELENBQUMsQ0FBQztRQUM3RSxDQUFDO2FBQU0sSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ25CLE1BQU0sSUFBSSxLQUFLLENBQUMseURBQXlELENBQUMsQ0FBQztRQUM3RSxDQUFDO1FBRUQsT0FBTyx5QkFBeUIsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUM5RCxNQUFNO1lBQ04sR0FBRyxNQUFNO1NBQ1YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt3R0FqQm1CLG9DQUFvQzs0RkFBcEMsb0NBQW9DOzs0RkFBcEMsb0NBQW9DO2tCQUR6RCxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBpbnB1dCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ1BvcG92ZXJSZWYgfSBmcm9tICduZy1vdmVybGF5LWNvbnRhaW5lcic7XG5pbXBvcnQgeyBEYnhQb3BvdmVyU2VydmljZSB9IGZyb20gJy4uL3BvcG92ZXIvcG9wb3Zlci5zZXJ2aWNlJztcbmltcG9ydCB7IERieEZpbHRlclBvcG92ZXJDb21wb25lbnQgfSBmcm9tICcuL2ZpbHRlci5wb3BvdmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBYnN0cmFjdFBvcG92ZXJSZWZEaXJlY3RpdmUgfSBmcm9tICcuLi9wb3BvdmVyL2Fic3RyYWN0LnBvcG92ZXIucmVmLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGaWx0ZXJTb3VyY2UsIFByZXNldEZpbHRlclNvdXJjZSB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuaW1wb3J0IHsgTWF5YmUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IERieEZpbHRlckNvbXBvbmVudENvbmZpZyB9IGZyb20gJy4vZmlsdGVyLmNvbmZpZyc7XG5cbmV4cG9ydCB0eXBlIERieEZpbHRlckJ1dHRvbkNvbmZpZzxGIGV4dGVuZHMgb2JqZWN0PiA9IERieEZpbHRlckNvbXBvbmVudENvbmZpZzxGPjtcbmV4cG9ydCB0eXBlIERieEZpbHRlckJ1dHRvbkNvbmZpZ1dpdGhDdXN0b21GaWx0ZXI8RiBleHRlbmRzIG9iamVjdCwgQ0YgZXh0ZW5kcyBGaWx0ZXJTb3VyY2U8Rj4gPSBGaWx0ZXJTb3VyY2U8Rj4+ID0gT21pdDxEYnhGaWx0ZXJDb21wb25lbnRDb25maWc8RiwgYW55LCBDRiwgYW55PiwgJ3ByZXNldEZpbHRlcicgfCAncHJlc2V0RmlsdGVyQ29tcG9uZW50Q29uZmlnJz47XG5leHBvcnQgdHlwZSBEYnhGaWx0ZXJCdXR0b25Db25maWdXaXRoUHJlc2V0RmlsdGVyPEYgZXh0ZW5kcyBvYmplY3QsIFBGIGV4dGVuZHMgUHJlc2V0RmlsdGVyU291cmNlPEYsIGFueT4gPSBQcmVzZXRGaWx0ZXJTb3VyY2U8RiwgYW55Pj4gPSBPbWl0PERieEZpbHRlckNvbXBvbmVudENvbmZpZzxGLCBhbnksIGFueSwgUEY+LCAnY3VzdG9tRmlsdGVyJyB8ICdjdXN0b21GaWx0ZXJDb21wb25lbnRDb25maWcnPjtcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RGaWx0ZXJQb3BvdmVyQnV0dG9uRGlyZWN0aXZlPEYgZXh0ZW5kcyBvYmplY3Q+IGV4dGVuZHMgQWJzdHJhY3RQb3BvdmVyUmVmRGlyZWN0aXZlPHVua25vd24sIHVua25vd24+IHtcbiAgcHJpdmF0ZSByZWFkb25seSBwb3B1cFNlcnZpY2UgPSBpbmplY3QoRGJ4UG9wb3ZlclNlcnZpY2UpO1xuICByZWFkb25seSBjb25maWcgPSBpbnB1dDxNYXliZTxEYnhGaWx0ZXJDb21wb25lbnRDb25maWc8RiwgYW55LCBhbnksIGFueT4+Pih1bmRlZmluZWQpO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBfbWFrZVBvcG92ZXJSZWYob3JpZ2luPzogRWxlbWVudFJlZik6IE5nUG9wb3ZlclJlZjx1bmtub3duLCB1bmtub3duPiB7XG4gICAgY29uc3QgY29uZmlnID0gdGhpcy5jb25maWcoKTtcblxuICAgIGlmICghY29uZmlnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Fic3RyYWN0RmlsdGVyUG9wb3ZlckJ1dHRvbkRpcmVjdGl2ZSgpOiBNaXNzaW5nIGNvbmZpZy4nKTtcbiAgICB9IGVsc2UgaWYgKCFvcmlnaW4pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQWJzdHJhY3RGaWx0ZXJQb3BvdmVyQnV0dG9uRGlyZWN0aXZlKCk6IE1pc3Npbmcgb3JpZ2luLicpO1xuICAgIH1cblxuICAgIHJldHVybiBEYnhGaWx0ZXJQb3BvdmVyQ29tcG9uZW50Lm9wZW5Qb3BvdmVyKHRoaXMucG9wdXBTZXJ2aWNlLCB7XG4gICAgICBvcmlnaW4sXG4gICAgICAuLi5jb25maWdcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -1,18 +1,23 @@
1
- import { Component } from '@angular/core';
2
- import { BehaviorSubject, map, skip, first, defaultIfEmpty } from 'rxjs';
1
+ import { DbxInjectionComponent } from '@dereekb/dbx-core';
2
+ import { Component, signal, ChangeDetectionStrategy } from '@angular/core';
3
+ import { map, skip, first, defaultIfEmpty } from 'rxjs';
3
4
  import { AbstractPopoverDirective } from '../popover/abstract.popover.directive';
4
5
  import { filterMaybe, SubscriptionObject } from '@dereekb/rxjs';
6
+ import { toObservable, toSignal } from '@angular/core/rxjs-interop';
7
+ import { DbxPopoverInteractionModule } from '../popover';
8
+ import { MatButtonModule } from '@angular/material/button';
9
+ import { DbxButtonSpacerDirective } from '../../button/button.spacer.directive';
5
10
  import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common";
7
- import * as i2 from "../popover/popover.content.component";
8
- import * as i3 from "../popover/popover.header.component";
9
- import * as i4 from "../popover/popover.scroll.content.component";
10
- import * as i5 from "../../button/button.spacer.component";
11
- import * as i6 from "@dereekb/dbx-core";
12
- import * as i7 from "@angular/material/button";
11
+ import * as i1 from "../popover/popover.content.component";
12
+ import * as i2 from "../popover/popover.header.component";
13
+ import * as i3 from "../popover/popover.scroll.content.directive";
14
+ import * as i4 from "@angular/material/button";
13
15
  export const DEFAULT_FILTER_POPOVER_KEY = 'filter';
14
16
  export class DbxFilterPopoverComponent extends AbstractPopoverDirective {
15
17
  _closeOnChangeSub = new SubscriptionObject();
18
+ config = this.popover.data;
19
+ icon = this.config.icon ?? 'filter_list';
20
+ header = this.config.header ?? 'Filter';
16
21
  showCloseButton = this.config.showCloseButton ?? !(this.config.closeOnFilterChange ?? true);
17
22
  closeButtonText = this.config.closeButtonText ?? 'Close';
18
23
  customizeButtonText = this.config.customizeButtonText ?? 'Customize';
@@ -20,9 +25,8 @@ export class DbxFilterPopoverComponent extends AbstractPopoverDirective {
20
25
  * Whether or not to display buttons to toggle between custom and preset filters.
21
26
  */
22
27
  showSwitchButtons = Boolean(this.config.customFilterComponentClass && this.config.presetFilterComponentClass);
23
- _showPreset = new BehaviorSubject(false);
24
- showPreset$ = this._showPreset.asObservable();
25
- config$ = this._showPreset.pipe(map((showPreset) => {
28
+ showPresetSignal = signal(false);
29
+ config$ = toObservable(this.showPresetSignal).pipe(map((showPreset) => {
26
30
  const { closeOnFilterChange = true, connector, initialFilterObs, customFilterComponentClass, presetFilterComponentClass, customFilterComponentConfig, presetFilterComponentConfig } = this.config;
27
31
  let componentClass;
28
32
  let baseConfig;
@@ -53,6 +57,7 @@ export class DbxFilterPopoverComponent extends AbstractPopoverDirective {
53
57
  };
54
58
  return config;
55
59
  }));
60
+ configSignal = toSignal(this.config$);
56
61
  static openPopover(popupService, { width, height, isResizable, origin, header, icon, customFilterComponentClass, presetFilterComponentClass, customFilterComponentConfig, presetFilterComponentConfig, connector, initialFilterObs, closeOnFilterChange, customizeButtonText, showCloseButton, closeButtonText }, popoverKey) {
57
62
  return popupService.open({
58
63
  key: popoverKey ?? DEFAULT_FILTER_POPOVER_KEY,
@@ -77,15 +82,6 @@ export class DbxFilterPopoverComponent extends AbstractPopoverDirective {
77
82
  }
78
83
  });
79
84
  }
80
- get config() {
81
- return this.popover.data;
82
- }
83
- get icon() {
84
- return this.config.icon ?? 'filter_list';
85
- }
86
- get header() {
87
- return this.config.header ?? 'Filter';
88
- }
89
85
  ngOnInit() {
90
86
  let showPreset = false;
91
87
  const { customFilterComponentClass, presetFilterComponentClass, customFilterComponentConfig, presetFilterComponentConfig } = this.config;
@@ -98,23 +94,22 @@ export class DbxFilterPopoverComponent extends AbstractPopoverDirective {
98
94
  if (!(customFilterComponentClass || customFilterComponentConfig) && !(presetFilterComponentClass || presetFilterComponentConfig)) {
99
95
  throw new Error('Requires a preset or custom class provided for DbxFilterPopover.');
100
96
  }
101
- this._showPreset.next(showPreset);
97
+ this.showPresetSignal.set(showPreset);
102
98
  }
103
99
  ngOnDestroy() {
104
100
  this._closeOnChangeSub.destroy();
105
- this._showPreset.complete();
106
101
  }
107
102
  showPresets() {
108
- this._showPreset.next(true);
103
+ this.showPresetSignal.set(true);
109
104
  }
110
105
  showCustom() {
111
- this._showPreset.next(false);
106
+ this.showPresetSignal.set(false);
112
107
  }
113
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFilterPopoverComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
114
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DbxFilterPopoverComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<dbx-popover-content>\n <!-- Header -->\n <dbx-popover-header [icon]=\"icon\" [header]=\"header\">\n <ng-container *ngIf=\"showSwitchButtons\" [ngSwitch]=\"showPreset$ | async\">\n <button *ngSwitchCase=\"true\" mat-flat-button color=\"accent\" (click)=\"showCustom()\">{{ customizeButtonText }}</button>\n <button *ngSwitchCase=\"false\" mat-flat-button color=\"accent\" (click)=\"showPresets()\">Presets</button>\n </ng-container>\n <ng-container *ngIf=\"showCloseButton\">\n <dbx-button-spacer *ngIf=\"showSwitchButtons\"></dbx-button-spacer>\n <button mat-stroked-button color=\"accent\" (click)=\"close()\">{{ closeButtonText }}</button>\n </ng-container>\n </dbx-popover-header>\n <!-- Content -->\n <dbx-popover-scroll-content>\n <dbx-injection [config]=\"config$ | async\"></dbx-injection>\n </dbx-popover-scroll-content>\n</dbx-popover-content>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i2.DbxPopoverContentComponent, selector: "dbx-popover-content" }, { kind: "component", type: i3.DbxPopoverHeaderComponent, selector: "dbx-popover-header", inputs: ["header", "icon"] }, { kind: "component", type: i4.DbxPopoverScrollContentComponent, selector: "dbx-popover-scroll-content" }, { kind: "directive", type: i5.DbxButtonSpacerDirective, selector: "dbx-button-spacer,[dbxButtonSpacer]" }, { kind: "component", type: i6.DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
108
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFilterPopoverComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
109
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxFilterPopoverComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<dbx-popover-content>\n <!-- Header -->\n <dbx-popover-header [icon]=\"icon\" [header]=\"header\">\n @if (showSwitchButtons) {\n @switch (showPresetSignal()) {\n @case (true) {\n <button mat-flat-button color=\"accent\" (click)=\"showCustom()\">{{ customizeButtonText }}</button>\n }\n @case (false) {\n <button mat-flat-button color=\"accent\" (click)=\"showPresets()\">Presets</button>\n }\n }\n }\n @if (showCloseButton) {\n @if (showSwitchButtons) {\n <dbx-button-spacer></dbx-button-spacer>\n }\n <button mat-stroked-button color=\"accent\" (click)=\"close()\">{{ closeButtonText }}</button>\n }\n </dbx-popover-header>\n <!-- Content -->\n <dbx-popover-scroll-content>\n <dbx-injection [config]=\"configSignal()\"></dbx-injection>\n </dbx-popover-scroll-content>\n</dbx-popover-content>\n", dependencies: [{ kind: "ngmodule", type: DbxPopoverInteractionModule }, { kind: "component", type: i1.DbxPopoverContentComponent, selector: "dbx-popover-content" }, { kind: "component", type: i2.DbxPopoverHeaderComponent, selector: "dbx-popover-header", inputs: ["header", "icon"] }, { kind: "directive", type: i3.DbxPopoverScrollContentDirective, selector: "dbx-popover-scroll-content,[dbxPopoverScrollContent],.dbx-popover-scroll-content" }, { kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: DbxButtonSpacerDirective, selector: "dbx-button-spacer,[dbxButtonSpacer]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
115
110
  }
116
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFilterPopoverComponent, decorators: [{
111
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFilterPopoverComponent, decorators: [{
117
112
  type: Component,
118
- args: [{ template: "<dbx-popover-content>\n <!-- Header -->\n <dbx-popover-header [icon]=\"icon\" [header]=\"header\">\n <ng-container *ngIf=\"showSwitchButtons\" [ngSwitch]=\"showPreset$ | async\">\n <button *ngSwitchCase=\"true\" mat-flat-button color=\"accent\" (click)=\"showCustom()\">{{ customizeButtonText }}</button>\n <button *ngSwitchCase=\"false\" mat-flat-button color=\"accent\" (click)=\"showPresets()\">Presets</button>\n </ng-container>\n <ng-container *ngIf=\"showCloseButton\">\n <dbx-button-spacer *ngIf=\"showSwitchButtons\"></dbx-button-spacer>\n <button mat-stroked-button color=\"accent\" (click)=\"close()\">{{ closeButtonText }}</button>\n </ng-container>\n </dbx-popover-header>\n <!-- Content -->\n <dbx-popover-scroll-content>\n <dbx-injection [config]=\"config$ | async\"></dbx-injection>\n </dbx-popover-scroll-content>\n</dbx-popover-content>\n" }]
113
+ args: [{ imports: [DbxPopoverInteractionModule, DbxInjectionComponent, MatButtonModule, DbxButtonSpacerDirective], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<dbx-popover-content>\n <!-- Header -->\n <dbx-popover-header [icon]=\"icon\" [header]=\"header\">\n @if (showSwitchButtons) {\n @switch (showPresetSignal()) {\n @case (true) {\n <button mat-flat-button color=\"accent\" (click)=\"showCustom()\">{{ customizeButtonText }}</button>\n }\n @case (false) {\n <button mat-flat-button color=\"accent\" (click)=\"showPresets()\">Presets</button>\n }\n }\n }\n @if (showCloseButton) {\n @if (showSwitchButtons) {\n <dbx-button-spacer></dbx-button-spacer>\n }\n <button mat-stroked-button color=\"accent\" (click)=\"close()\">{{ closeButtonText }}</button>\n }\n </dbx-popover-header>\n <!-- Content -->\n <dbx-popover-scroll-content>\n <dbx-injection [config]=\"configSignal()\"></dbx-injection>\n </dbx-popover-scroll-content>\n</dbx-popover-content>\n" }]
119
114
  }] });
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLnBvcG92ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9zcmMvbGliL2ludGVyYWN0aW9uL2ZpbHRlci9maWx0ZXIucG9wb3Zlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvaW50ZXJhY3Rpb24vZmlsdGVyL2ZpbHRlci5wb3BvdmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQXVDLE1BQU0sZUFBZSxDQUFDO0FBRS9FLE9BQU8sRUFBYyxlQUFlLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRWpGLE9BQU8sRUFBMkQsV0FBVyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7QUFvRXpILE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLFFBQVEsQ0FBQztBQUtuRCxNQUFNLE9BQU8seUJBQTRDLFNBQVEsd0JBQThEO0lBQ3JILGlCQUFpQixHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQztJQUU1QyxlQUFlLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsbUJBQW1CLElBQUksSUFBSSxDQUFDLENBQUM7SUFDNUYsZUFBZSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxJQUFJLE9BQU8sQ0FBQztJQUN6RCxtQkFBbUIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixJQUFJLFdBQVcsQ0FBQztJQUU5RTs7T0FFRztJQUNNLGlCQUFpQixHQUFHLE9BQU8sQ0FBQyxJ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LEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7d0dBekhVLHlCQUF5Qjs0RkFBekIseUJBQXlCLDJFQy9FdEMsazRCQWlCQTs7NEZEOERhLHlCQUF5QjtrQkFIckMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERieEluamVjdGlvbkNvbXBvbmVudENvbmZpZyB9IGZyb20gJ0BkZXJlZWtiL2RieC1jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgVHlwZSwgT25Jbml0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nUG9wb3ZlclJlZiB9IGZyb20gJ25nLW92ZXJsYXktY29udGFpbmVyJztcbmltcG9ydCB7IE9ic2VydmFibGUsIEJlaGF2aW9yU3ViamVjdCwgbWFwLCBza2lwLCBmaXJzdCwgZGVmYXVsdElmRW1wdHkgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFic3RyYWN0UG9wb3ZlckRpcmVjdGl2ZSB9IGZyb20gJy4uL3BvcG92ZXIvYWJzdHJhY3QucG9wb3Zlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRGJ4UG9wb3ZlckNvbmZpZ1NpemluZywgRGJ4UG9wb3ZlclNlcnZpY2UgfSBmcm9tICcuLi9wb3BvdmVyL3BvcG92ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBGaWx0ZXJTb3VyY2UsIEZpbHRlclNvdXJjZUNvbm5lY3RvciwgUHJlc2V0RmlsdGVyU291cmNlLCBmaWx0ZXJNYXliZSwgU3Vic2NyaXB0aW9uT2JqZWN0IH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBEYnhQb3BvdmVyS2V5IH0gZnJvbSAnLi4vcG9wb3Zlci9wb3BvdmVyJztcbmltcG9ydCB7IHR5cGUgTWF5YmUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcblxuZXhwb3J0IGludGVyZmFjZSBEYnhGaWx0ZXJDb21wb25lbnRQYXJhbXM8RiBleHRlbmRzIG9iamVjdCA9IG9iamVjdCwgUCBleHRlbmRzIHN0cmluZyA9IHN0cmluZywgQ0YgZXh0ZW5kcyBGaWx0ZXJTb3VyY2U8Rj4gPSBGaWx0ZXJTb3VyY2U8Rj4sIFBGIGV4dGVuZHMgUHJlc2V0RmlsdGVyU291cmNlPEYsIFA+ID0gUHJlc2V0RmlsdGVyU291cmNlPEYsIFA+PiBleHRlbmRzIERieFBvcG92ZXJDb25maWdTaXppbmcge1xuICAvKipcbiAgICogQ3VzdG9tIGljb25cbiAgICpcbiAgICogRGVmYXVsdHMgdG8gXCJmaWx0ZXJfbGlzdFwiXG4gICAqL1xuICBpY29uPzogc3RyaW5nO1xuICAvKipcbiAgICogQ3VzdG9tIGhlYWRlciB0ZXh0XG4gICAqXG4gICAqIERlZmF1bHRzIHRvIFwiRmlsdGVyXCJcbiAgICovXG4gIGhlYWRlcj86IHN0cmluZztcbiAgLyoqXG4gICAqIEN1c3RvbSBjdXN0b21pemUgYnV0dG9uIHRleHQuIElmIG5vdCBkZWZpbmVkLCBkZWZhdWx0cyB0byBcIkN1c3RvbWl6ZVwiXG4gICAqL1xuICBjdXN0b21pemVCdXR0b25UZXh0Pzogc3RyaW5nO1xuICAvKipcbiAgICogQ3VzdG9tIGNsb3NlIGJ1dHRvbiB0ZXh0LiBJZiBub3QgZGVmaW5lZCwgZGVmYXVsdHMgdG8gXCJDbG9zZVwiXG4gICAqL1xuICBjbG9zZUJ1dHRvblRleHQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBzaG93IHRoZSBjbG9zZSBidXR0b24uIERlZmF1bHRzIHRvIHRoZSB2YWx1ZSBvZiAhY2xvc2VPbkZpbHRlckNoYW5nZVxuICAgKi9cbiAgc2hvd0Nsb3NlQnV0dG9uPzogTWF5YmU8Ym9vbGVhbj47XG4gIC8qKlxuICAgKiBDdXN0b20gZmlsdGVyIGNvbXBvbmVudCB0byBpbml0aWFsaXplLlxuICAgKi9cbiAgY3VzdG9tRmlsdGVyQ29tcG9uZW50Q2xhc3M/OiBUeXBlPENGPjtcbiAgLyoqXG4gICAqIFByZXNldCBmaWx0ZXIgY29tcG9uZW50IHRvIGluaXRpYWxpemUuXG4gICAqL1xuICBwcmVzZXRGaWx0ZXJDb21wb25lbnRDbGFzcz86IFR5cGU8UEY+O1xuICAvKipcbiAgICogRGJ4SW5qZWN0aW9uQ29tcG9uZW50Q29uZmlnIGZvciB0aGUgY3VzdG9tIGZpbHRlciBjb21wb25lbnQgdG8gaW5pdGlhbGl6ZS5cbiAgICovXG4gIGN1c3RvbUZpbHRlckNvbXBvbmVudENvbmZpZz86IERieEluamVjdGlvbkNvbXBvbmVudENvbmZpZzxDRj47XG4gIC8qKlxuICAgKiBEYnhJbmplY3Rpb25Db21wb25lbnRDb25maWcgZm9yIHRoZSBwcmVzZXQgZmlsdGVyIGNvbXBvbmVudCB0byBpbml0aWFsaXplLlxuICAgKi9cbiAgcHJlc2V0RmlsdGVyQ29tcG9uZW50Q29uZmlnPzogRGJ4SW5qZWN0aW9uQ29tcG9uZW50Q29uZmlnPFBGPjtcbiAgLyoqXG4gICAqIFRoZSBjb25uZWN0b3IgdG8gdXNlLlxuICAgKi9cbiAgY29ubmVjdG9yOiBGaWx0ZXJTb3VyY2VDb25uZWN0b3I8Rj47XG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIEluaXRhbCBmaWx0ZXIgdG8gcGFzcyB0byB0aGUgZmlsdGVyIHNvdXJjZS5cbiAgICovXG4gIGluaXRpYWxGaWx0ZXJPYnM/OiBPYnNlcnZhYmxlPEY+O1xuICAvKipcbiAgICogKE9wdGlvbmFsKSBXaGV0aGVyIG9yIG5vdCB0byBjbG9zZSB0aGUgY29tcG9uZW50IGlmIHRoZSBmaWx0ZXIgY2hhbmdlcy5cbiAgICpcbiAgICogVHJ1ZSBieSBkZWZhdWx0LlxuICAgKi9cbiAgY2xvc2VPbkZpbHRlckNoYW5nZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4RmlsdGVyUG9wb3ZlckNvbXBvbmVudFBhcmFtczxGIGV4dGVuZHMgb2JqZWN0ID0gb2JqZWN0PiBleHRlbmRzIERieEZpbHRlckNvbXBvbmVudFBhcmFtczxGPiB7XG4gIC8qKlxuICAgKiBPcmlnaW4gdG8gYWRkIHRoZSBwb3BvdmVyIHRvLlxuICAgKi9cbiAgb3JpZ2luOiBFbGVtZW50UmVmO1xufVxuXG5leHBvcnQgY29uc3QgREVGQVVMVF9GSUxURVJfUE9QT1ZFUl9LRVkgPSAnZmlsdGVyJztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnLi9maWx0ZXIucG9wb3Zlci5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgRGJ4RmlsdGVyUG9wb3ZlckNvbXBvbmVudDxGIGV4dGVuZHMgb2JqZWN0PiBleHRlbmRzIEFic3RyYWN0UG9wb3ZlckRpcmVjdGl2ZTx1bmtub3duLCBEYnhGaWx0ZXJDb21wb25lbnRQYXJhbXM8Rj4+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIF9jbG9zZU9uQ2hhbmdlU3ViID0gbmV3IFN1YnNjcmlwdGlvbk9iamVjdCgpO1xuXG4gIHJlYWRvbmx5IHNob3dDbG9zZUJ1dHRvbiA9IHRoaXMuY29uZmlnLnNob3dDbG9zZUJ1dHRvbiA/PyAhKHRoaXMuY29uZmlnLmNsb3NlT25GaWx0ZXJDaGFuZ2UgPz8gdHJ1ZSk7XG4gIHJlYWRvbmx5IGNsb3NlQnV0dG9uVGV4dCA9IHRoaXMuY29uZmlnLmNsb3NlQnV0dG9uVGV4dCA/PyAnQ2xvc2UnO1xuICByZWFkb25seSBjdXN0b21pemVCdXR0b25UZXh0ID0gdGhpcy5jb25maWcuY3VzdG9taXplQnV0dG9uVGV4dCA/PyAnQ3VzdG9taXplJztcblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gZGlzcGxheSBidXR0b25zIHRvIHRvZ2dsZSBiZXR3ZWVuIGN1c3RvbSBhbmQgcHJlc2V0IGZpbHRlcnMuXG4gICAqL1xuICByZWFkb25seSBzaG93U3dpdGNoQnV0dG9ucyA9IEJvb2xlYW4odGhpcy5jb25maWcuY3VzdG9tRmlsdGVyQ29tcG9uZW50Q2xhc3MgJiYgdGhpcy5jb25maWcucHJlc2V0RmlsdGVyQ29tcG9uZW50Q2xhc3MpO1xuXG4gIHByaXZhdGUgX3Nob3dQcmVzZXQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgc2hvd1ByZXNldCQgPSB0aGlzLl9zaG93UHJlc2V0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gIHJlYWRvbmx5IGNvbmZpZyQ6IE9ic2VydmFibGU8RGJ4SW5qZWN0aW9uQ29tcG9uZW50Q29uZmlnPEZpbHRlclNvdXJjZTxGPj4+ID0gdGhpcy5fc2hvd1ByZXNldC5waXBlKFxuICAgIG1hcCgoc2hvd1ByZXNldCkgPT4ge1xuICAgICAgY29uc3QgeyBjbG9zZU9uRmlsdGVyQ2hhbmdlID0gdHJ1ZSwgY29ubmVjdG9yLCBpbml0aWFsRmlsdGVyT2JzLCBjdXN0b21GaWx0ZXJDb21wb25lbnRDbGFzcywgcHJlc2V0RmlsdGVyQ29tcG9uZW50Q2xhc3MsIGN1c3RvbUZpbHRlckNvbXBvbmVudENvbmZpZywgcHJlc2V0RmlsdGVyQ29tcG9uZW50Q29uZmlnIH0gPSB0aGlzLmNvbmZpZztcbiAgICAgIGxldCBjb21wb25lbnRDbGFzczogVHlwZTxGaWx0ZXJTb3VyY2U8Rj4+O1xuICAgICAgbGV0IGJhc2VDb25maWc6IE1heWJlPERieEluamVjdGlvbkNvbXBvbmVudENvbmZpZzxGaWx0ZXJTb3VyY2U8Rj4+PjtcblxuICAgICAgaWYgKHNob3dQcmVzZXQpIHtcbiAgICAgICAgY29tcG9uZW50Q2xhc3MgPSAocHJlc2V0RmlsdGVyQ29tcG9uZW50Q29uZmlnPy5jb21wb25lbnRDbGFzcyA/PyBwcmVzZXRGaWx0ZXJDb21wb25lbnRDbGFzcykgYXMgVHlwZTxGaWx0ZXJTb3VyY2U8Rj4+O1xuICAgICAgICBiYXNlQ29uZmlnID0gcHJlc2V0RmlsdGVyQ29tcG9uZW50Q29uZmlnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29tcG9uZW50Q2xhc3MgPSAoY3VzdG9tRmlsdGVyQ29tcG9uZW50Q29uZmlnPy5jb21wb25lbnRDbGFzcyA/PyBjdXN0b21GaWx0ZXJDb21wb25lbnRDbGFzcykgYXMgVHlwZTxGaWx0ZXJTb3VyY2U8Rj4+O1xuICAgICAgICBiYXNlQ29uZmlnID0gY3VzdG9tRmlsdGVyQ29tcG9uZW50Q29uZmlnO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBjb25maWc6IERieEluamVjdGlvbkNvbXBvbmVudENvbmZpZzxGaWx0ZXJTb3VyY2U8Rj4+ID0ge1xuICAgICAgICAuLi5iYXNlQ29uZmlnLFxuICAgICAgICBjb21wb25lbnRDbGFzcyxcbiAgICAgICAgaW5pdDogKGZpbHRlclNvdXJjZSkgPT4ge1xuICAgICAgICAgIGNvbm5lY3Rvci5jb25uZWN0V2l0aFNvdXJjZShmaWx0ZXJTb3VyY2UpO1xuXG4gICAgICAgICAgaWYgKGluaXRpYWxGaWx0ZXJPYnMgJiYgZmlsdGVyU291cmNlLmluaXRXaXRoRmlsdGVyKSB7XG4gICAgICAgICAgICBmaWx0ZXJTb3VyY2UuaW5pdFdpdGhGaWx0ZXIoaW5pdGlhbEZpbHRlck9icyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGNsb3NlT25GaWx0ZXJDaGFuZ2UgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICB0aGlzLl9jbG9zZU9uQ2hhbmdlU3ViLnN1YnNjcmlwdGlvbiA9IGZpbHRlclNvdXJjZS5maWx0ZXIkLnBpcGUoc2tpcCgxKSwgZmlsdGVyTWF5YmUoKSwgZmlyc3QoKSwgZGVmYXVsdElmRW1wdHkodW5kZWZpbmVkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gcnVuIHRoZSBuZXh0IGluaXQgaWYgcHJvdmlkZWRcbiAgICAgICAgICBiYXNlQ29uZmlnPy5pbml0Py4oZmlsdGVyU291cmNlKTtcbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgICAgcmV0dXJuIGNvbmZpZztcbiAgICB9KVxuICApO1xuXG4gIHN0YXRpYyBvcGVuUG9wb3ZlcjxGIGV4dGVuZHMgb2JqZWN0Pihwb3B1cFNlcnZpY2U6IERieFBvcG92ZXJTZXJ2aWNlLCB7IHdpZHRoLCBoZWlnaHQsIGlzUmVzaXphYmxlLCBvcmlnaW4sIGhlYWRlciwgaWNvbiwgY3VzdG9tRmlsdGVyQ29tcG9uZW50Q2xhc3MsIHByZXNldEZpbHRlckNvbXBvbmVudENsYXNzLCBjdXN0b21GaWx0ZXJDb21wb25lbnRDb25maWcsIHByZXNldEZpbHRlckNvbXBvbmVudENvbmZpZywgY29ubmVjdG9yLCBpbml0aWFsRmlsdGVyT2JzLCBjbG9zZU9uRmlsdGVyQ2hhbmdlLCBjdXN0b21pemVCdXR0b25UZXh0LCBzaG93Q2xvc2VCdXR0b24sIGNsb3NlQnV0dG9uVGV4dCB9OiBEYnhGaWx0ZXJQb3BvdmVyQ29tcG9uZW50UGFyYW1zPEY+LCBwb3BvdmVyS2V5PzogRGJ4UG9wb3ZlcktleSk6IE5nUG9wb3ZlclJlZiB7XG4gICAgcmV0dXJuIHBvcHVwU2VydmljZS5vcGVuKHtcbiAgICAgIGtleTogcG9wb3ZlcktleSA/PyBERUZBVUxUX0ZJTFRFUl9QT1BPVkVSX0tFWSxcbiAgICAgIG9yaWdpbixcbiAgICAgIGNvbXBvbmVudENsYXNzOiBEYnhGaWx0ZXJQb3BvdmVyQ29tcG9uZW50LFxuICAgICAgd2lkdGgsXG4gICAgICBoZWlnaHQsXG4gICAgICBpc1Jlc2l6YWJsZSxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgaGVhZGVyLFxuICAgICAgICBpY29uLFxuICAgICAgICBjdXN0b21pemVCdXR0b25UZXh0LFxuICAgICAgICBzaG93Q2xvc2VCdXR0b24sXG4gICAgICAgIGNsb3NlQnV0dG9uVGV4dCxcbiAgICAgICAgY3VzdG9tRmlsdGVyQ29tcG9uZW50Q2xhc3MsXG4gICAgICAgIHByZXNldEZpbHRlckNvbXBvbmVudENsYXNzLFxuICAgICAgICBjdXN0b21GaWx0ZXJDb21wb25lbnRDb25maWcsXG4gICAgICAgIHByZXNldEZpbHRlckNvbXBvbmVudENvbmZpZyxcbiAgICAgICAgY29ubmVjdG9yLFxuICAgICAgICBpbml0aWFsRmlsdGVyT2JzLFxuICAgICAgICBjbG9zZU9uRmlsdGVyQ2hhbmdlXG4gICAgICB9IGFzIERieEZpbHRlckNvbXBvbmVudFBhcmFtczxGPlxuICAgIH0pO1xuICB9XG5cbiAgZ2V0IGNvbmZpZygpOiBEYnhGaWx0ZXJDb21wb25lbnRQYXJhbXM8Rj4ge1xuICAgIHJldHVybiB0aGlzLnBvcG92ZXIuZGF0YSBhcyBEYnhGaWx0ZXJDb21wb25lbnRQYXJhbXM8Rj47XG4gIH1cblxuICBnZXQgaWNvbigpIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcuaWNvbiA/PyAnZmlsdGVyX2xpc3QnO1xuICB9XG5cbiAgZ2V0IGhlYWRlcigpIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcuaGVhZGVyID8/ICdGaWx0ZXInO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgbGV0IHNob3dQcmVzZXQgPSBmYWxzZTtcbiAgICBjb25zdCB7IGN1c3RvbUZpbHRlckNvbXBvbmVudENsYXNzLCBwcmVzZXRGaWx0ZXJDb21wb25lbnRDbGFzcywgY3VzdG9tRmlsdGVyQ29tcG9uZW50Q29uZmlnLCBwcmVzZXRGaWx0ZXJDb21wb25lbnRDb25maWcgfSA9IHRoaXMuY29uZmlnO1xuXG4gICAgaWYgKGN1c3RvbUZpbHRlckNvbXBvbmVudENsYXNzIHx8IGN1c3RvbUZpbHRlckNvbXBvbmVudENvbmZpZykge1xuICAgICAgc2hvd1ByZXNldCA9IGZhbHNlO1xuICAgIH1cblxuICAgIGlmIChwcmVzZXRGaWx0ZXJDb21wb25lbnRDbGFzcyB8fCBwcmVzZXRGaWx0ZXJDb21wb25lbnRDb25maWcpIHtcbiAgICAgIHNob3dQcmVzZXQgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmICghKGN1c3RvbUZpbHRlckNvbXBvbmVudENsYXNzIHx8IGN1c3RvbUZpbHRlckNvbXBvbmVudENvbmZpZykgJiYgIShwcmVzZXRGaWx0ZXJDb21wb25lbnRDbGFzcyB8fCBwcmVzZXRGaWx0ZXJDb21wb25lbnRDb25maWcpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlcXVpcmVzIGEgcHJlc2V0IG9yIGN1c3RvbSBjbGFzcyBwcm92aWRlZCBmb3IgRGJ4RmlsdGVyUG9wb3Zlci4nKTtcbiAgICB9XG5cbiAgICB0aGlzLl9zaG93UHJlc2V0Lm5leHQoc2hvd1ByZXNldCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9jbG9zZU9uQ2hhbmdlU3ViLmRlc3Ryb3koKTtcbiAgICB0aGlzLl9zaG93UHJlc2V0LmNvbXBsZXRlKCk7XG4gIH1cblxuICBzaG93UHJlc2V0cygpIHtcbiAgICB0aGlzLl9zaG93UHJlc2V0Lm5leHQodHJ1ZSk7XG4gIH1cblxuICBzaG93Q3VzdG9tKCkge1xuICAgIHRoaXMuX3Nob3dQcmVzZXQubmV4dChmYWxzZSk7XG4gIH1cbn1cbiIsIjxkYngtcG9wb3Zlci1jb250ZW50PlxuICA8IS0tIEhlYWRlciAtLT5cbiAgPGRieC1wb3BvdmVyLWhlYWRlciBbaWNvbl09XCJpY29uXCIgW2hlYWRlcl09XCJoZWFkZXJcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd1N3aXRjaEJ1dHRvbnNcIiBbbmdTd2l0Y2hdPVwic2hvd1ByZXNldCQgfCBhc3luY1wiPlxuICAgICAgPGJ1dHRvbiAqbmdTd2l0Y2hDYXNlPVwidHJ1ZVwiIG1hdC1mbGF0LWJ1dHRvbiBjb2xvcj1cImFjY2VudFwiIChjbGljayk9XCJzaG93Q3VzdG9tKClcIj57eyBjdXN0b21pemVCdXR0b25UZXh0IH19PC9idXR0b24+XG4gICAgICA8YnV0dG9uICpuZ1N3aXRjaENhc2U9XCJmYWxzZVwiIG1hdC1mbGF0LWJ1dHRvbiBjb2xvcj1cImFjY2VudFwiIChjbGljayk9XCJzaG93UHJlc2V0cygpXCI+UHJlc2V0czwvYnV0dG9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93Q2xvc2VCdXR0b25cIj5cbiAgICAgIDxkYngtYnV0dG9uLXNwYWNlciAqbmdJZj1cInNob3dTd2l0Y2hCdXR0b25zXCI+PC9kYngtYnV0dG9uLXNwYWNlcj5cbiAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPVwiYWNjZW50XCIgKGNsaWNrKT1cImNsb3NlKClcIj57eyBjbG9zZUJ1dHRvblRleHQgfX08L2J1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kYngtcG9wb3Zlci1oZWFkZXI+XG4gIDwhLS0gQ29udGVudCAtLT5cbiAgPGRieC1wb3BvdmVyLXNjcm9sbC1jb250ZW50PlxuICAgIDxkYngtaW5qZWN0aW9uIFtjb25maWddPVwiY29uZmlnJCB8IGFzeW5jXCI+PC9kYngtaW5qZWN0aW9uPlxuICA8L2RieC1wb3BvdmVyLXNjcm9sbC1jb250ZW50PlxuPC9kYngtcG9wb3Zlci1jb250ZW50PlxuIl19
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLnBvcG92ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9zcmMvbGliL2ludGVyYWN0aW9uL2ZpbHRlci9maWx0ZXIucG9wb3Zlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvaW50ZXJhY3Rpb24vZmlsdGVyL2ZpbHRlci5wb3BvdmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBK0IsTUFBTSxtQkFBbUIsQ0FBQztBQUN2RixPQUFPLEVBQUUsU0FBUyxFQUF1QyxNQUFNLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFaEgsT0FBTyxFQUFjLEdBQUcsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUVqRixPQUFPLEVBQWdCLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc5RSxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXBFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7OztBQVNoRixNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxRQUFRLENBQUM7QUFRbkQsTUFBTSxPQUFPLHlCQUE0QyxTQUFRLHdCQUE4RDtJQUM1RyxpQkFBaUIsR0FBRyxJQUFJLGtCQUFrQixFQUFFLENBQUM7SUFFckQsTUFBTSxHQUFnQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQW1DLENBQUM7SUFFdkYsSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLGFBQWEsQ0FBQztJQUN6QyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksUUFBUSxDQUFDO0lBRXhDLGVBQWUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsSUFBSSxJQUFJLENBQUMsQ0FBQztJQUM1RixlQUFlLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLElBQUksT0FBTyxDQUFDO0lBQ3pELG1CQUFtQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsbUJBQW1CLElBQUksV0FBVyxDQUFDO0lBRTlFOztPQUVHO0lBQ00saUJBQWlCLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsMEJBQTBCLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBRTlHLGdCQUFnQixHQUFHLE1BQU0sQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUUxQyxPQUFPLEdBQTZELFlBQVksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxJQUFJLENBQ25ILEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1FBQ2pCLE1BQU0sRUFBRSxtQkFBbUIsR0FBRyxJQUFJLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLDBCQUEwQixFQUFFLDBCQUEwQixFQUFFLDJCQUEyQixFQUFFLDJCQUEyQixFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNsTSxJQUFJLGNBQXFDLENBQUM7UUFDMUMsSUFBSSxVQUErRCxDQUFDO1FBRXBFLElBQUksVUFBVSxFQUFFLENBQUM7WUFDZixjQUFjLEdBQUcsQ0FBQywyQkFBMkIsRUFBRSxjQUFjLElBQUksMEJBQTBCLENBQTBCLENBQUM7WUFDdEgsVUFBVSxHQUFHLDJCQUEyQixDQUFDO1FBQzNDLENBQUM7YUFBTSxDQUFDO1lBQ04sY0FBYyxHQUFHLENBQUMsMkJBQTJCLEVBQUUsY0FBYyxJQUFJLDBCQUEwQixDQUEwQixDQUFDO1lBQ3RILFVBQVUsR0FBRywyQkFBMkIsQ0FBQztRQUMzQyxDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQWlEO1lBQzNELEdBQUcsVUFBVTtZQUNiLGNBQWM7WUFDZCxJQUFJLEVBQUUsQ0FBQyxZQUFZLEVBQUUsRUFBRTtnQkFDckIsU0FBUyxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUUxQyxJQUFJLGdCQUFnQixJQUFJLFlBQVksQ0FBQyxjQUFjLEVBQUUsQ0FBQztvQkFDcEQsWUFBWSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2dCQUNoRCxDQUFDO2dCQUVELElBQUksbUJBQW1CLEtBQUssS0FBSyxFQUFFLENBQUM7b0JBQ2xDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7d0JBQ3pJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztvQkFDZixDQUFDLENBQUMsQ0FBQztnQkFDTCxDQUFDO2dCQUVELGdDQUFnQztnQkFDaEMsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ25DLENBQUM7U0FDRixDQUFDO1FBRUYsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUVPLFlBQVksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRS9DLE1BQU0sQ0FBQyxXQUFXLENBQW1CLFlBQStCLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSwwQkFBMEIsRUFBRSwwQkFBMEIsRUFBRSwyQkFBMkIsRUFBRSwyQkFBMkIsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBc0MsRUFBRSxVQUEwQjtRQUNuWixPQUFPLFlBQVksQ0FBQyxJQUFJLENBQUM7WUFDdkIsR0FBRyxFQUFFLFVBQVUsSUFBSSwwQkFBMEI7WUFDN0MsTUFBTTtZQUNOLGNBQWMsRUFBRSx5QkFBeUI7WUFDekMsS0FBSztZQUNMLE1BQU07WUFDTixXQUFXO1lBQ1gsSUFBSSxFQUFFO2dCQUNKLE1BQU07Z0JBQ04sSUFBSTtnQkFDSixtQkFBbUI7Z0JBQ25CLGVBQWU7Z0JBQ2YsZUFBZTtnQkFDZiwwQkFBMEI7Z0JBQzFCLDBCQUEwQjtnQkFDMUIsMkJBQTJCO2dCQUMzQiwyQkFBMkI7Z0JBQzNCLFNBQVM7Z0JBQ1QsZ0JBQWdCO2dCQUNoQixtQkFBbUI7YUFDVztTQUNqQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksVUFBVSxHQUFZLEtBQUssQ0FBQztRQUVoQyxNQUFNLEVBQUUsMEJBQTBCLEVBQUUsMEJBQTBCLEVBQUUsMkJBQTJCLEVBQUUsMkJBQTJCLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBRXpJLElBQUksMEJBQTBCLElBQUksMkJBQTJCLEVBQUUsQ0FBQztZQUM5RCxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLENBQUM7UUFFRCxJQUFJLDBCQUEwQixJQUFJLDJCQUEyQixFQUFFLENBQUM7WUFDOUQsVUFBVSxHQUFHLElBQUksQ0FBQztRQUNwQixDQUFDO1FBRUQsSUFBSSxDQUFDLENBQUMsMEJBQTBCLElBQUksMkJBQTJCLENBQUMsSUFBSSxDQUFDLENBQUMsMEJBQTBCLElBQUksMkJBQTJCLENBQUMsRUFBRSxDQUFDO1lBQ2pJLE1BQU0sSUFBSSxLQUFLLENBQUMsa0VBQWtFLENBQUMsQ0FBQztRQUN0RixDQUFDO1FBRUQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7d0dBbkhVLHlCQUF5Qjs0RkFBekIseUJBQXlCLCtGQzlCdEMsKzNCQXlCQSwyQ0RDWSwyQkFBMkIsbVpBQUUscUJBQXFCLDBIQUFFLGVBQWUsNE5BQUUsd0JBQXdCOzs0RkFJNUYseUJBQXlCO2tCQU5yQyxTQUFTOzhCQUVDLENBQUMsMkJBQTJCLEVBQUUscUJBQXFCLEVBQUUsZUFBZSxFQUFFLHdCQUF3QixDQUFDLG1CQUN2Rix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYnhJbmplY3Rpb25Db21wb25lbnQsIERieEluamVjdGlvbkNvbXBvbmVudENvbmZpZyB9IGZyb20gJ0BkZXJlZWtiL2RieC1jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgVHlwZSwgT25Jbml0LCBPbkRlc3Ryb3ksIHNpZ25hbCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nUG9wb3ZlclJlZiB9IGZyb20gJ25nLW92ZXJsYXktY29udGFpbmVyJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG1hcCwgc2tpcCwgZmlyc3QsIGRlZmF1bHRJZkVtcHR5IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBYnN0cmFjdFBvcG92ZXJEaXJlY3RpdmUgfSBmcm9tICcuLi9wb3BvdmVyL2Fic3RyYWN0LnBvcG92ZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IERieFBvcG92ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vcG9wb3Zlci9wb3BvdmVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmlsdGVyU291cmNlLCBmaWx0ZXJNYXliZSwgU3Vic2NyaXB0aW9uT2JqZWN0IH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBEYnhQb3BvdmVyS2V5IH0gZnJvbSAnLi4vcG9wb3Zlci9wb3BvdmVyJztcbmltcG9ydCB7IHR5cGUgTWF5YmUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IHRvT2JzZXJ2YWJsZSwgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBEYnhGaWx0ZXJDb21wb25lbnRDb25maWcgfSBmcm9tICcuL2ZpbHRlci5jb25maWcnO1xuaW1wb3J0IHsgRGJ4UG9wb3ZlckludGVyYWN0aW9uTW9kdWxlIH0gZnJvbSAnLi4vcG9wb3Zlcic7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgRGJ4QnV0dG9uU3BhY2VyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vYnV0dG9uL2J1dHRvbi5zcGFjZXIuZGlyZWN0aXZlJztcblxuZXhwb3J0IGludGVyZmFjZSBEYnhGaWx0ZXJQb3BvdmVyQ29tcG9uZW50Q29uZmlnPEYgZXh0ZW5kcyBvYmplY3QgPSBvYmplY3Q+IGV4dGVuZHMgRGJ4RmlsdGVyQ29tcG9uZW50Q29uZmlnPEY+IHtcbiAgLyoqXG4gICAqIE9yaWdpbiB0byBhZGQgdGhlIHBvcG92ZXIgdG8uXG4gICAqL1xuICByZWFkb25seSBvcmlnaW46IEVsZW1lbnRSZWY7XG59XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0ZJTFRFUl9QT1BPVkVSX0tFWSA9ICdmaWx0ZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbHRlci5wb3BvdmVyLmNvbXBvbmVudC5odG1sJyxcbiAgaW1wb3J0czogW0RieFBvcG92ZXJJbnRlcmFjdGlvbk1vZHVsZSwgRGJ4SW5qZWN0aW9uQ29tcG9uZW50LCBNYXRCdXR0b25Nb2R1bGUsIERieEJ1dHRvblNwYWNlckRpcmVjdGl2ZV0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIERieEZpbHRlclBvcG92ZXJDb21wb25lbnQ8RiBleHRlbmRzIG9iamVjdD4gZXh0ZW5kcyBBYnN0cmFjdFBvcG92ZXJEaXJlY3RpdmU8dW5rbm93biwgRGJ4RmlsdGVyQ29tcG9uZW50Q29uZmlnPEY+PiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfY2xvc2VPbkNoYW5nZVN1YiA9IG5ldyBTdWJzY3JpcHRpb25PYmplY3QoKTtcblxuICByZWFkb25seSBjb25maWc6IERieEZpbHRlckNvbXBvbmVudENvbmZpZzxGPiA9IHRoaXMucG9wb3Zlci5kYXRhIGFzIERieEZpbHRlckNvbXBvbmVudENvbmZpZzxGPjtcblxuICByZWFkb25seSBpY29uID0gdGhpcy5jb25maWcuaWNvbiA/PyAnZmlsdGVyX2xpc3QnO1xuICByZWFkb25seSBoZWFkZXIgPSB0aGlzLmNvbmZpZy5oZWFkZXIgPz8gJ0ZpbHRlcic7XG5cbiAgcmVhZG9ubHkgc2hvd0Nsb3NlQnV0dG9uID0gdGhpcy5jb25maWcuc2hvd0Nsb3NlQnV0dG9uID8/ICEodGhpcy5jb25maWcuY2xvc2VPbkZpbHRlckNoYW5nZSA/PyB0cnVlKTtcbiAgcmVhZG9ubHkgY2xvc2VCdXR0b25UZXh0ID0gdGhpcy5jb25maWcuY2xvc2VCdXR0b25UZXh0ID8/ICdDbG9zZSc7XG4gIHJlYWRvbmx5IGN1c3RvbWl6ZUJ1dHRvblRleHQgPSB0aGlzLmNvbmZpZy5jdXN0b21pemVCdXR0b25UZXh0ID8/ICdDdXN0b21pemUnO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBkaXNwbGF5IGJ1dHRvbnMgdG8gdG9nZ2xlIGJldHdlZW4gY3VzdG9tIGFuZCBwcmVzZXQgZmlsdGVycy5cbiAgICovXG4gIHJlYWRvbmx5IHNob3dTd2l0Y2hCdXR0b25zID0gQm9vbGVhbih0aGlzLmNvbmZpZy5jdXN0b21GaWx0ZXJDb21wb25lbnRDbGFzcyAmJiB0aGlzLmNvbmZpZy5wcmVzZXRGaWx0ZXJDb21wb25lbnRDbGFzcyk7XG5cbiAgcmVhZG9ubHkgc2hvd1ByZXNldFNpZ25hbCA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG5cbiAgcmVhZG9ubHkgY29uZmlnJDogT2JzZXJ2YWJsZTxEYnhJbmplY3Rpb25Db21wb25lbnRDb25maWc8RmlsdGVyU291cmNlPEY+Pj4gPSB0b09ic2VydmFibGUodGhpcy5zaG93UHJlc2V0U2lnbmFsKS5waXBlKFxuICAgIG1hcCgoc2hvd1ByZXNldCkgPT4ge1xuICAgICAgY29uc3QgeyBjbG9zZU9uRmlsdGVyQ2hhbmdlID0gdHJ1ZSwgY29ubmVjdG9yLCBpbml0aWFsRmlsdGVyT2JzLCBjdXN0b21GaWx0ZXJDb21wb25lbnRDbGFzcywgcHJlc2V0RmlsdGVyQ29tcG9uZW50Q2xhc3MsIGN1c3RvbUZpbHRlckNvbXBvbmVudENvbmZpZywgcHJlc2V0RmlsdGVyQ29tcG9uZW50Q29uZmlnIH0gPSB0aGlzLmNvbmZpZztcbiAgICAgIGxldCBjb21wb25lbnRDbGFzczogVHlwZTxGaWx0ZXJTb3VyY2U8Rj4+O1xuICAgICAgbGV0IGJhc2VDb25maWc6IE1heWJlPERieEluamVjdGlvbkNvbXBvbmVudENvbmZpZzxGaWx0ZXJTb3VyY2U8Rj4+PjtcblxuICAgICAgaWYgKHNob3dQcmVzZXQpIHtcbiAgICAgICAgY29tcG9uZW50Q2xhc3MgPSAocHJlc2V0RmlsdGVyQ29tcG9uZW50Q29uZmlnPy5jb21wb25lbnRDbGFzcyA/PyBwcmVzZXRGaWx0ZXJDb21wb25lbnRDbGFzcykgYXMgVHlwZTxGaWx0ZXJTb3VyY2U8Rj4+O1xuICAgICAgICBiYXNlQ29uZmlnID0gcHJlc2V0RmlsdGVyQ29tcG9uZW50Q29uZmlnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29tcG9uZW50Q2xhc3MgPSAoY3VzdG9tRmlsdGVyQ29tcG9uZW50Q29uZmlnPy5jb21wb25lbnRDbGFzcyA/PyBjdXN0b21GaWx0ZXJDb21wb25lbnRDbGFzcykgYXMgVHlwZTxGaWx0ZXJTb3VyY2U8Rj4+O1xuICAgICAgICBiYXNlQ29uZmlnID0gY3VzdG9tRmlsdGVyQ29tcG9uZW50Q29uZmlnO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBjb25maWc6IERieEluamVjdGlvbkNvbXBvbmVudENvbmZpZzxGaWx0ZXJTb3VyY2U8Rj4+ID0ge1xuICAgICAgICAuLi5iYXNlQ29uZmlnLFxuICAgICAgICBjb21wb25lbnRDbGFzcyxcbiAgICAgICAgaW5pdDogKGZpbHRlclNvdXJjZSkgPT4ge1xuICAgICAgICAgIGNvbm5lY3Rvci5jb25uZWN0V2l0aFNvdXJjZShmaWx0ZXJTb3VyY2UpO1xuXG4gICAgICAgICAgaWYgKGluaXRpYWxGaWx0ZXJPYnMgJiYgZmlsdGVyU291cmNlLmluaXRXaXRoRmlsdGVyKSB7XG4gICAgICAgICAgICBmaWx0ZXJTb3VyY2UuaW5pdFdpdGhGaWx0ZXIoaW5pdGlhbEZpbHRlck9icyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGNsb3NlT25GaWx0ZXJDaGFuZ2UgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICB0aGlzLl9jbG9zZU9uQ2hhbmdlU3ViLnN1YnNjcmlwdGlvbiA9IGZpbHRlclNvdXJjZS5maWx0ZXIkLnBpcGUoc2tpcCgxKSwgZmlsdGVyTWF5YmUoKSwgZmlyc3QoKSwgZGVmYXVsdElmRW1wdHkodW5kZWZpbmVkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gcnVuIHRoZSBuZXh0IGluaXQgaWYgcHJvdmlkZWRcbiAgICAgICAgICBiYXNlQ29uZmlnPy5pbml0Py4oZmlsdGVyU291cmNlKTtcbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgICAgcmV0dXJuIGNvbmZpZztcbiAgICB9KVxuICApO1xuXG4gIHJlYWRvbmx5IGNvbmZpZ1NpZ25hbCA9IHRvU2lnbmFsKHRoaXMuY29uZmlnJCk7XG5cbiAgc3RhdGljIG9wZW5Qb3BvdmVyPEYgZXh0ZW5kcyBvYmplY3Q+KHBvcHVwU2VydmljZTogRGJ4UG9wb3ZlclNlcnZpY2UsIHsgd2lkdGgsIGhlaWdodCwgaXNSZXNpemFibGUsIG9yaWdpbiwgaGVhZGVyLCBpY29uLCBjdXN0b21GaWx0ZXJDb21wb25lbnRDbGFzcywgcHJlc2V0RmlsdGVyQ29tcG9uZW50Q2xhc3MsIGN1c3RvbUZpbHRlckNvbXBvbmVudENvbmZpZywgcHJlc2V0RmlsdGVyQ29tcG9uZW50Q29uZmlnLCBjb25uZWN0b3IsIGluaXRpYWxGaWx0ZXJPYnMsIGNsb3NlT25GaWx0ZXJDaGFuZ2UsIGN1c3RvbWl6ZUJ1dHRvblRleHQsIHNob3dDbG9zZUJ1dHRvbiwgY2xvc2VCdXR0b25UZXh0IH06IERieEZpbHRlclBvcG92ZXJDb21wb25lbnRDb25maWc8Rj4sIHBvcG92ZXJLZXk/OiBEYnhQb3BvdmVyS2V5KTogTmdQb3BvdmVyUmVmIHtcbiAgICByZXR1cm4gcG9wdXBTZXJ2aWNlLm9wZW4oe1xuICAgICAga2V5OiBwb3BvdmVyS2V5ID8/IERFRkFVTFRfRklMVEVSX1BPUE9WRVJfS0VZLFxuICAgICAgb3JpZ2luLFxuICAgICAgY29tcG9uZW50Q2xhc3M6IERieEZpbHRlclBvcG92ZXJDb21wb25lbnQsXG4gICAgICB3aWR0aCxcbiAgICAgIGhlaWdodCxcbiAgICAgIGlzUmVzaXphYmxlLFxuICAgICAgZGF0YToge1xuICAgICAgICBoZWFkZXIsXG4gICAgICAgIGljb24sXG4gICAgICAgIGN1c3RvbWl6ZUJ1dHRvblRleHQsXG4gICAgICAgIHNob3dDbG9zZUJ1dHRvbixcbiAgICAgICAgY2xvc2VCdXR0b25UZXh0LFxuICAgICAgICBjdXN0b21GaWx0ZXJDb21wb25lbnRDbGFzcyxcbiAgICAgICAgcHJlc2V0RmlsdGVyQ29tcG9uZW50Q2xhc3MsXG4gICAgICAgIGN1c3RvbUZpbHRlckNvbXBvbmVudENvbmZpZyxcbiAgICAgICAgcHJlc2V0RmlsdGVyQ29tcG9uZW50Q29uZmlnLFxuICAgICAgICBjb25uZWN0b3IsXG4gICAgICAgIGluaXRpYWxGaWx0ZXJPYnMsXG4gICAgICAgIGNsb3NlT25GaWx0ZXJDaGFuZ2VcbiAgICAgIH0gYXMgRGJ4RmlsdGVyQ29tcG9uZW50Q29uZmlnPEY+XG4gICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBsZXQgc2hvd1ByZXNldDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgY29uc3QgeyBjdXN0b21GaWx0ZXJDb21wb25lbnRDbGFzcywgcHJlc2V0RmlsdGVyQ29tcG9uZW50Q2xhc3MsIGN1c3RvbUZpbHRlckNvbXBvbmVudENvbmZpZywgcHJlc2V0RmlsdGVyQ29tcG9uZW50Q29uZmlnIH0gPSB0aGlzLmNvbmZpZztcblxuICAgIGlmIChjdXN0b21GaWx0ZXJDb21wb25lbnRDbGFzcyB8fCBjdXN0b21GaWx0ZXJDb21wb25lbnRDb25maWcpIHtcbiAgICAgIHNob3dQcmVzZXQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAocHJlc2V0RmlsdGVyQ29tcG9uZW50Q2xhc3MgfHwgcHJlc2V0RmlsdGVyQ29tcG9uZW50Q29uZmlnKSB7XG4gICAgICBzaG93UHJlc2V0ID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAoIShjdXN0b21GaWx0ZXJDb21wb25lbnRDbGFzcyB8fCBjdXN0b21GaWx0ZXJDb21wb25lbnRDb25maWcpICYmICEocHJlc2V0RmlsdGVyQ29tcG9uZW50Q2xhc3MgfHwgcHJlc2V0RmlsdGVyQ29tcG9uZW50Q29uZmlnKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZXF1aXJlcyBhIHByZXNldCBvciBjdXN0b20gY2xhc3MgcHJvdmlkZWQgZm9yIERieEZpbHRlclBvcG92ZXIuJyk7XG4gICAgfVxuXG4gICAgdGhpcy5zaG93UHJlc2V0U2lnbmFsLnNldChzaG93UHJlc2V0KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2Nsb3NlT25DaGFuZ2VTdWIuZGVzdHJveSgpO1xuICB9XG5cbiAgc2hvd1ByZXNldHMoKSB7XG4gICAgdGhpcy5zaG93UHJlc2V0U2lnbmFsLnNldCh0cnVlKTtcbiAgfVxuXG4gIHNob3dDdXN0b20oKSB7XG4gICAgdGhpcy5zaG93UHJlc2V0U2lnbmFsLnNldChmYWxzZSk7XG4gIH1cbn1cbiIsIjxkYngtcG9wb3Zlci1jb250ZW50PlxuICA8IS0tIEhlYWRlciAtLT5cbiAgPGRieC1wb3BvdmVyLWhlYWRlciBbaWNvbl09XCJpY29uXCIgW2hlYWRlcl09XCJoZWFkZXJcIj5cbiAgICBAaWYgKHNob3dTd2l0Y2hCdXR0b25zKSB7XG4gICAgICBAc3dpdGNoIChzaG93UHJlc2V0U2lnbmFsKCkpIHtcbiAgICAgICAgQGNhc2UgKHRydWUpIHtcbiAgICAgICAgICA8YnV0dG9uIG1hdC1mbGF0LWJ1dHRvbiBjb2xvcj1cImFjY2VudFwiIChjbGljayk9XCJzaG93Q3VzdG9tKClcIj57eyBjdXN0b21pemVCdXR0b25UZXh0IH19PC9idXR0b24+XG4gICAgICAgIH1cbiAgICAgICAgQGNhc2UgKGZhbHNlKSB7XG4gICAgICAgICAgPGJ1dHRvbiBtYXQtZmxhdC1idXR0b24gY29sb3I9XCJhY2NlbnRcIiAoY2xpY2spPVwic2hvd1ByZXNldHMoKVwiPlByZXNldHM8L2J1dHRvbj5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAaWYgKHNob3dDbG9zZUJ1dHRvbikge1xuICAgICAgQGlmIChzaG93U3dpdGNoQnV0dG9ucykge1xuICAgICAgICA8ZGJ4LWJ1dHRvbi1zcGFjZXI+PC9kYngtYnV0dG9uLXNwYWNlcj5cbiAgICAgIH1cbiAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPVwiYWNjZW50XCIgKGNsaWNrKT1cImNsb3NlKClcIj57eyBjbG9zZUJ1dHRvblRleHQgfX08L2J1dHRvbj5cbiAgICB9XG4gIDwvZGJ4LXBvcG92ZXItaGVhZGVyPlxuICA8IS0tIENvbnRlbnQgLS0+XG4gIDxkYngtcG9wb3Zlci1zY3JvbGwtY29udGVudD5cbiAgICA8ZGJ4LWluamVjdGlvbiBbY29uZmlnXT1cImNvbmZpZ1NpZ25hbCgpXCI+PC9kYngtaW5qZWN0aW9uPlxuICA8L2RieC1wb3BvdmVyLXNjcm9sbC1jb250ZW50PlxuPC9kYngtcG9wb3Zlci1jb250ZW50PlxuIl19