@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,25 +1,21 @@
1
+ export * from './grid';
2
+ export * from './meta';
3
+ export * from './group';
4
+ export * from './modifier';
1
5
  export * from './list.content.empty.component';
2
6
  export * from './list.component';
3
7
  export * from './list.directive';
8
+ export * from './list.module';
4
9
  export * from './list.layout.module';
5
10
  export * from './list.track';
6
- export * from './list.grid.view.directive';
7
- export * from './list.grid.view.component';
8
11
  export * from './list.view.directive';
9
- export * from './list.view.meta.icon.component';
10
- export * from './list.view.value.group';
11
- export * from './list.view.value.group.title';
12
- export * from './list.view.value.group.title.directive';
13
12
  export * from './list.view.selection.directive';
14
13
  export * from './list.view.value.component';
15
14
  export * from './list.view.value.directive';
16
15
  export * from './list.view.value.item.directive';
17
16
  export * from './list.view.value.modifier';
18
- export * from './list.view.value.modifier.directive';
19
- export * from './list.view.value.modifier.ripple.directive';
20
- export * from './list.view.value.modifier.selection.directive';
21
17
  export * from './list.view.value.selection.component';
22
18
  export * from './list.view.value';
23
19
  export * from './list.view';
24
20
  export * from './list.wrapper';
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvbGF5b3V0L2xpc3QvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGlzdC5jb250ZW50LmVtcHR5LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpc3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGlzdC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saXN0LmxheW91dC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saXN0LnRyYWNrJztcbmV4cG9ydCAqIGZyb20gJy4vbGlzdC5ncmlkLnZpZXcuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGlzdC5ncmlkLnZpZXcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGlzdC52aWV3LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpc3Qudmlldy5tZXRhLmljb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGlzdC52aWV3LnZhbHVlLmdyb3VwJztcbmV4cG9ydCAqIGZyb20gJy4vbGlzdC52aWV3LnZhbHVlLmdyb3VwLnRpdGxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGlzdC52aWV3LnZhbHVlLmdyb3VwLnRpdGxlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpc3Qudmlldy5zZWxlY3Rpb24uZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGlzdC52aWV3LnZhbHVlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpc3Qudmlldy52YWx1ZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saXN0LnZpZXcudmFsdWUuaXRlbS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saXN0LnZpZXcudmFsdWUubW9kaWZpZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saXN0LnZpZXcudmFsdWUubW9kaWZpZXIuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGlzdC52aWV3LnZhbHVlLm1vZGlmaWVyLnJpcHBsZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saXN0LnZpZXcudmFsdWUubW9kaWZpZXIuc2VsZWN0aW9uLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpc3Qudmlldy52YWx1ZS5zZWxlY3Rpb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGlzdC52aWV3LnZhbHVlJztcbmV4cG9ydCAqIGZyb20gJy4vbGlzdC52aWV3JztcbmV4cG9ydCAqIGZyb20gJy4vbGlzdC53cmFwcGVyJztcbiJdfQ==
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvbGF5b3V0L2xpc3QvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZ3JpZCc7XG5leHBvcnQgKiBmcm9tICcuL21ldGEnO1xuZXhwb3J0ICogZnJvbSAnLi9ncm91cCc7XG5leHBvcnQgKiBmcm9tICcuL21vZGlmaWVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGlzdC5jb250ZW50LmVtcHR5LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpc3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGlzdC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saXN0Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpc3QubGF5b3V0Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpc3QudHJhY2snO1xuZXhwb3J0ICogZnJvbSAnLi9saXN0LnZpZXcuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGlzdC52aWV3LnNlbGVjdGlvbi5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saXN0LnZpZXcudmFsdWUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGlzdC52aWV3LnZhbHVlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpc3Qudmlldy52YWx1ZS5pdGVtLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpc3Qudmlldy52YWx1ZS5tb2RpZmllcic7XG5leHBvcnQgKiBmcm9tICcuL2xpc3Qudmlldy52YWx1ZS5zZWxlY3Rpb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGlzdC52aWV3LnZhbHVlJztcbmV4cG9ydCAqIGZyb20gJy4vbGlzdC52aWV3JztcbmV4cG9ydCAqIGZyb20gJy4vbGlzdC53cmFwcGVyJztcbiJdfQ==
@@ -1,53 +1,90 @@
1
- import { catchError, filter, exhaustMap, merge, map, Subject, switchMap, shareReplay, distinctUntilChanged, of, Observable, BehaviorSubject, first } from 'rxjs';
2
- import { Component, Input, EventEmitter, Output, ElementRef, HostListener, ChangeDetectorRef, Directive, inject } from '@angular/core';
3
- import { tapDetectChanges } from '@dereekb/dbx-core';
4
- import { SubscriptionObject, ListLoadingStateContextInstance, filterMaybe, isLoadingStateFinishedLoading, startWithBeginLoading } from '@dereekb/rxjs';
1
+ import { InfiniteScrollDirective } from 'ngx-infinite-scroll';
2
+ import { catchError, filter, exhaustMap, merge, map, Subject, switchMap, shareReplay, of, first, distinctUntilChanged } from 'rxjs';
3
+ import { Component, ElementRef, HostListener, Directive, inject, ChangeDetectionStrategy, input, output, signal, computed } from '@angular/core';
4
+ import { DbxInjectionComponent } from '@dereekb/dbx-core';
5
+ import { SubscriptionObject, filterMaybe, isLoadingStateFinishedLoading, startWithBeginLoading, listLoadingStateContext, switchMapMaybe } from '@dereekb/rxjs';
6
+ import { toObservable, toSignal } from '@angular/core/rxjs-interop';
7
+ import { DbxLoadingComponent } from '../../loading/loading.component';
5
8
  import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common";
7
- import * as i2 from "../../loading/loading.component";
8
- import * as i3 from "ngx-infinite-scroll";
9
- import * as i4 from "@dereekb/dbx-core";
9
+ // MARK: DbxListInternalContentDirective
10
+ /**
11
+ * Used internally by DbxListComponent
12
+ */
13
+ export class DbxListInternalContentDirective {
14
+ parent = inject(DbxListComponent);
15
+ elementRef = inject(ElementRef);
16
+ hide = input(false);
17
+ constructor() {
18
+ this.parent.setInternalContent(this);
19
+ }
20
+ onScrollEvent($event) {
21
+ const position = $event.target.scrollTop;
22
+ this.parent.contentScrolled.emit(position);
23
+ }
24
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxListInternalContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
25
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: DbxListInternalContentDirective, isStandalone: true, selector: "[dbxListInternalContent]", inputs: { hide: { classPropertyName: "hide", publicName: "hide", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "scroll": "onScrollEvent($event)" }, properties: { "class.dbx-list-content-hidden": "hide()" }, classAttribute: "d-block dbx-list-content" }, ngImport: i0 });
26
+ }
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxListInternalContentDirective, decorators: [{
28
+ type: Directive,
29
+ args: [{
30
+ selector: '[dbxListInternalContent]',
31
+ host: {
32
+ class: 'd-block dbx-list-content',
33
+ '[class.dbx-list-content-hidden]': 'hide()'
34
+ },
35
+ standalone: true
36
+ }]
37
+ }], ctorParameters: () => [], propDecorators: { onScrollEvent: [{
38
+ type: HostListener,
39
+ args: ['scroll', ['$event']]
40
+ }] } });
41
+ export const DBX_LIST_DEFAULT_SCROLL_DISTANCE = 1.5;
42
+ export const DBX_LIST_DEFAULT_THROTTLE_SCROLL = 50;
10
43
  /**
11
44
  * Used to display a potentially infinitely scrollable list of content.
12
45
  *
13
46
  * This component is generally wrapped by another component that provides this one configuration.
14
47
  */
15
48
  export class DbxListComponent {
16
- cdRef = inject(ChangeDetectorRef);
17
- DEFAULT_SCROLL_DISTANCE = 1.5;
18
- DEFAULT_THROTTLE_SCROLL = 50;
49
+ /**
50
+ * Emitted when content is scrolled.
51
+ */
52
+ contentScrolled = output();
19
53
  /**
20
54
  * Whether or not to add bottom padding to the list content.
21
55
  */
22
- padded = true;
23
- contentScrolled = new EventEmitter();
24
- _content;
25
- _disabled = new BehaviorSubject(false);
26
- _selectionMode = new BehaviorSubject(undefined);
56
+ padded = input(true);
57
+ state = input(undefined);
58
+ config = input(undefined);
59
+ disabled = input(false);
60
+ selectionMode = input(undefined);
61
+ _internalContentSignal = signal(undefined);
62
+ nativeElementSignal = computed(() => this._internalContentSignal()?.elementRef?.nativeElement);
27
63
  _loadMoreTrigger = new Subject();
28
64
  _scrollTrigger = new Subject();
29
- _config = new BehaviorSubject(undefined);
30
65
  _loadMoreSub = new SubscriptionObject();
31
66
  _onClickSub = new SubscriptionObject();
32
67
  _disabledSub = new SubscriptionObject();
33
68
  _selectionModeSub = new SubscriptionObject();
34
69
  _onSelectionChangeSub = new SubscriptionObject();
35
- context = new ListLoadingStateContextInstance({ showLoadingOnNoValue: false });
70
+ currentState$ = toObservable(this.state).pipe(switchMapMaybe());
71
+ context = listLoadingStateContext({ obs: this.currentState$, showLoadingOnNoValue: false });
36
72
  isEmpty$ = this.context.isEmpty$;
37
73
  isEmptyLoading$ = this.context.isEmptyLoading$;
38
74
  isEmptyAndNotLoading$ = this.context.isEmptyAndNotLoading$;
39
- disabled$ = this._disabled.asObservable();
40
- selectionMode$ = this._selectionMode.asObservable();
41
- hideOnEmpty$ = this._config.pipe(filterMaybe(), map((x) => Boolean(x.hideOnEmpty)), distinctUntilChanged(), shareReplay(1));
42
- invertedList$ = this._config.pipe(filterMaybe(), map((x) => Boolean(x?.throttle)), distinctUntilChanged(), shareReplay(1));
43
- throttleScroll$ = this._config.pipe(map((x) => x?.throttle ?? this.DEFAULT_THROTTLE_SCROLL), distinctUntilChanged(), shareReplay(1));
44
- scrollDistance$ = this._config.pipe(map((x) => x?.scrollDistance ?? this.DEFAULT_SCROLL_DISTANCE), distinctUntilChanged(), shareReplay(1));
45
- scrollLoadMoreTrigger$ = this._config.pipe(switchMap((config) => {
75
+ config$ = toObservable(this.config);
76
+ disabled$ = toObservable(this.disabled).pipe(map((x) => Boolean(x)), distinctUntilChanged(), shareReplay(1));
77
+ selectionMode$ = toObservable(this.selectionMode).pipe(distinctUntilChanged(), shareReplay(1));
78
+ hideOnEmpty$ = this.config$.pipe(filterMaybe(), map((x) => Boolean(x.hideOnEmpty)), distinctUntilChanged(), shareReplay(1));
79
+ invertedList$ = this.config$.pipe(filterMaybe(), map((x) => Boolean(x?.throttle)), distinctUntilChanged(), shareReplay(1));
80
+ throttleScroll$ = this.config$.pipe(map((x) => x?.throttle ?? DBX_LIST_DEFAULT_THROTTLE_SCROLL), distinctUntilChanged(), shareReplay(1));
81
+ scrollDistance$ = this.config$.pipe(map((x) => x?.scrollDistance ?? DBX_LIST_DEFAULT_SCROLL_DISTANCE), distinctUntilChanged(), shareReplay(1));
82
+ scrollLoadMoreTrigger$ = this.config$.pipe(switchMap((config) => {
46
83
  const loadNextDirection = config?.invertedList ? 'up' : 'down';
47
84
  return this._scrollTrigger.pipe(filter((x) => x === loadNextDirection));
48
85
  }));
49
86
  loadMore$ = merge(this.scrollLoadMoreTrigger$, this._loadMoreTrigger);
50
- injectedComponentConfig$ = this._config.pipe(distinctUntilChanged(), map((config) => {
87
+ injectedComponentConfig$ = this.config$.pipe(distinctUntilChanged(), map((config) => {
51
88
  let injectedComponentConfig;
52
89
  if (config) {
53
90
  const { componentClass, init, onClick, onSelectionChange, loadMore, defaultSelectionMode = 'view' } = config;
@@ -100,75 +137,62 @@ export class DbxListComponent {
100
137
  }
101
138
  return injectedComponentConfig;
102
139
  }), distinctUntilChanged(), shareReplay(1));
103
- hideContent$ = this.context.stateChange$.pipe(switchMap(() => this.context.state$.pipe(filter((x) => isLoadingStateFinishedLoading(x)), first(), startWithBeginLoading())), switchMap((state) => {
140
+ hideContent$ = this.context.currentStateStream$.pipe(switchMap(() => this.context.state$.pipe(filter((x) => isLoadingStateFinishedLoading(x)), first(), startWithBeginLoading())), switchMap((state) => {
104
141
  if (state?.loading) {
105
142
  return of(true);
106
143
  }
107
144
  else {
108
- return this.hideOnEmpty$.pipe(switchMap((hide) => (hide === false ? of(false) : this.isEmpty$)), distinctUntilChanged(), tapDetectChanges(this.cdRef), shareReplay(1));
145
+ return this.hideOnEmpty$.pipe(switchMap((hide) => (hide === false ? of(false) : this.isEmpty$)), distinctUntilChanged(), shareReplay(1));
109
146
  }
110
- }));
147
+ }), distinctUntilChanged(), shareReplay(1));
148
+ infiniteScrollDistanceSignal = toSignal(this.scrollDistance$, { initialValue: DBX_LIST_DEFAULT_SCROLL_DISTANCE });
149
+ infiniteScrollThrottleSignal = toSignal(this.throttleScroll$, { initialValue: DBX_LIST_DEFAULT_THROTTLE_SCROLL });
150
+ hideContentSignal = toSignal(this.hideContent$);
151
+ injectedComponentConfigSignal = toSignal(this.injectedComponentConfig$);
152
+ isEmptyAndNotLoadingSignal = toSignal(this.isEmptyAndNotLoading$);
153
+ isEmptyLoadingSignal = toSignal(this.isEmptyLoading$);
111
154
  ngOnDestroy() {
112
- delete this._content; // remove parent-child relation.
113
155
  this._scrollTrigger.complete();
114
156
  this._loadMoreTrigger.complete();
115
- this._config.complete();
116
- this._disabled.complete();
117
- this._selectionMode.complete();
118
157
  this._onClickSub.destroy();
119
158
  this._loadMoreSub.destroy();
120
159
  this._onSelectionChangeSub.destroy();
121
160
  this._disabledSub.destroy();
122
161
  this.context.destroy();
123
162
  }
124
- get state$() {
125
- return this.context.state$;
126
- }
127
- set state$(state$) {
128
- this.context.setStateObs(state$);
129
- }
130
- set config(config) {
131
- this._config.next(config);
132
- }
133
- get disabled() {
134
- return this._disabled.value;
135
- }
136
- set disabled(disabled) {
137
- this._disabled.next(disabled ?? false);
138
- }
139
- get selectionMode() {
140
- return this._selectionMode.value;
141
- }
142
- set selectionMode(selectionMode) {
143
- this._selectionMode.next(selectionMode);
144
- }
145
163
  getScrollPositionRelativeToBottom() {
146
- try {
147
- const element = this.nativeElement;
148
- // At max scroll, scrollHeight = scrollTop + clientHeight;
149
- const { scrollTop, scrollHeight, clientHeight } = element;
150
- return scrollHeight - (scrollTop + clientHeight);
151
- }
152
- catch (e) {
153
- return 0;
164
+ const element = this.nativeElementSignal();
165
+ if (element) {
166
+ try {
167
+ // At max scroll, scrollHeight = scrollTop + clientHeight;
168
+ const { scrollTop, scrollHeight, clientHeight } = element;
169
+ return scrollHeight - (scrollTop + clientHeight);
170
+ }
171
+ catch (e) { }
154
172
  }
173
+ return 0;
155
174
  }
156
175
  jumpToBottom() {
157
- try {
158
- this.nativeElement.scrollTop = this.nativeElement.scrollHeight;
159
- }
160
- catch (err) {
161
- // do nothing.
176
+ const element = this.nativeElementSignal();
177
+ if (element) {
178
+ try {
179
+ element.scrollTop = element.scrollHeight;
180
+ }
181
+ catch (err) {
182
+ // do nothing.
183
+ }
162
184
  }
163
185
  }
164
186
  jumpToPositionRelativeToBottom(pos) {
165
- try {
166
- const element = this.nativeElement;
167
- const { scrollHeight, clientHeight } = element;
168
- element.scrollTop = scrollHeight - (clientHeight + pos);
169
- }
170
- catch (err) {
171
- // do nothing.
187
+ const element = this.nativeElementSignal();
188
+ if (element) {
189
+ try {
190
+ const { scrollHeight, clientHeight } = element;
191
+ element.scrollTop = scrollHeight - (clientHeight + pos);
192
+ }
193
+ catch (err) {
194
+ // do nothing.
195
+ }
172
196
  }
173
197
  }
174
198
  onScrollDown() {
@@ -181,72 +205,22 @@ export class DbxListComponent {
181
205
  this._loadMoreTrigger.next();
182
206
  }
183
207
  // MARK: Internal
184
- get nativeElement() {
185
- return this.__content.elementRef.nativeElement;
186
- }
187
- get __content() {
188
- return this._content;
189
- }
190
- set __content(content) {
191
- if (this._content == null) {
192
- this._content = content;
208
+ setInternalContent(content) {
209
+ if (this._internalContentSignal() == null) {
210
+ this._internalContentSignal.set(content);
193
211
  }
194
212
  else {
195
- throw new Error('Attempted to set __content in list outside of initialization.');
213
+ throw new Error('Attempted to set internal content in DbxListComponent when it was already set.');
196
214
  }
197
215
  }
198
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
199
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DbxListComponent, selector: "dbx-list", inputs: { padded: "padded", state$: "state$", config: "config", disabled: "disabled", selectionMode: "selectionMode" }, outputs: { contentScrolled: "contentScrolled" }, host: { properties: { "class.dbx-list-padded": "padded" }, classAttribute: "d-block dbx-list" }, ngImport: i0, template: "<dbx-loading [context]=\"context\" [linear]=\"true\"></dbx-loading>\n<div dbxListInternalContent [hide]=\"hideContent$ | async\" infinite-scroll [infiniteScrollDistance]=\"(scrollDistance$ | async) ?? DEFAULT_SCROLL_DISTANCE\" [infiniteScrollUpDistance]=\"(scrollDistance$ | async) ?? DEFAULT_SCROLL_DISTANCE\" [infiniteScrollThrottle]=\"(throttleScroll$ | async) ?? DEFAULT_THROTTLE_SCROLL\" [scrollWindow]=\"false\" (scrolled)=\"onScrollDown()\" (scrolledUp)=\"onScrollUp()\">\n <ng-content select=\"[top]\"></ng-content>\n <dbx-injection [config]=\"injectedComponentConfig$ | async\"></dbx-injection>\n <ng-content select=\"[bottom]\"></ng-content>\n</div>\n<ng-content *ngIf=\"isEmptyAndNotLoading$ | async\" select=\"[empty]\"></ng-content>\n<ng-content *ngIf=\"isEmptyLoading$ | async\" select=\"[emptyLoading]\"></ng-content>\n", dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i1.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i0.forwardRef(function () { return i2.DbxLoadingComponent; }), selector: "dbx-loading", inputs: ["show", "text", "mode", "color", "diameter", "linear", "padding", "context", "loading", "error"] }, { kind: "directive", type: i0.forwardRef(function () { return i3.InfiniteScrollDirective; }), selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { kind: "component", type: i0.forwardRef(function () { return i4.DbxInjectionComponent; }), selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }, { kind: "directive", type: i0.forwardRef(function () { return DbxListInternalContentDirective; }), selector: "[dbxListInternalContent]", inputs: ["hide"] }, { kind: "pipe", type: i0.forwardRef(function () { return i1.AsyncPipe; }), name: "async" }] });
216
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
217
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxListComponent, isStandalone: true, selector: "dbx-list", inputs: { padded: { classPropertyName: "padded", publicName: "padded", isSignal: true, isRequired: false, transformFunction: null }, state: { classPropertyName: "state", publicName: "state", isSignal: true, isRequired: false, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, selectionMode: { classPropertyName: "selectionMode", publicName: "selectionMode", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { contentScrolled: "contentScrolled" }, host: { properties: { "class.dbx-list-padded": "padded()" }, classAttribute: "d-block dbx-list" }, ngImport: i0, template: "<dbx-loading [context]=\"context\" [linear]=\"true\"></dbx-loading>\n<div dbxListInternalContent [hide]=\"hideContentSignal()\" infinite-scroll [infiniteScrollDistance]=\"infiniteScrollDistanceSignal()\" [infiniteScrollUpDistance]=\"infiniteScrollDistanceSignal()\" [infiniteScrollThrottle]=\"infiniteScrollThrottleSignal()\" [scrollWindow]=\"false\" (scrolled)=\"onScrollDown()\" (scrolledUp)=\"onScrollUp()\">\n <ng-content select=\"[top]\"></ng-content>\n <dbx-injection [config]=\"injectedComponentConfigSignal()\"></dbx-injection>\n <ng-content select=\"[bottom]\"></ng-content>\n</div>\n@if (isEmptyAndNotLoadingSignal()) {\n <ng-content select=\"[empty]\"></ng-content>\n}\n@if (isEmptyLoadingSignal()) {\n <ng-content select=\"[emptyLoading]\"></ng-content>\n}\n", dependencies: [{ kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }, { kind: "directive", type: InfiniteScrollDirective, selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { kind: "directive", type: DbxListInternalContentDirective, selector: "[dbxListInternalContent]", inputs: ["hide"] }, { kind: "component", type: DbxLoadingComponent, selector: "dbx-loading", inputs: ["padding", "show", "text", "mode", "color", "diameter", "linear", "loading", "error", "context"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
200
218
  }
201
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxListComponent, decorators: [{
219
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxListComponent, decorators: [{
202
220
  type: Component,
203
221
  args: [{ selector: 'dbx-list', host: {
204
222
  class: 'd-block dbx-list',
205
- '[class.dbx-list-padded]': 'padded'
206
- }, template: "<dbx-loading [context]=\"context\" [linear]=\"true\"></dbx-loading>\n<div dbxListInternalContent [hide]=\"hideContent$ | async\" infinite-scroll [infiniteScrollDistance]=\"(scrollDistance$ | async) ?? DEFAULT_SCROLL_DISTANCE\" [infiniteScrollUpDistance]=\"(scrollDistance$ | async) ?? DEFAULT_SCROLL_DISTANCE\" [infiniteScrollThrottle]=\"(throttleScroll$ | async) ?? DEFAULT_THROTTLE_SCROLL\" [scrollWindow]=\"false\" (scrolled)=\"onScrollDown()\" (scrolledUp)=\"onScrollUp()\">\n <ng-content select=\"[top]\"></ng-content>\n <dbx-injection [config]=\"injectedComponentConfig$ | async\"></dbx-injection>\n <ng-content select=\"[bottom]\"></ng-content>\n</div>\n<ng-content *ngIf=\"isEmptyAndNotLoading$ | async\" select=\"[empty]\"></ng-content>\n<ng-content *ngIf=\"isEmptyLoading$ | async\" select=\"[emptyLoading]\"></ng-content>\n" }]
207
- }], propDecorators: { padded: [{
208
- type: Input
209
- }], contentScrolled: [{
210
- type: Output
211
- }], state$: [{
212
- type: Input
213
- }], config: [{
214
- type: Input
215
- }], disabled: [{
216
- type: Input
217
- }], selectionMode: [{
218
- type: Input
219
- }] } });
220
- /**
221
- * Used internally by DbxListComponent
222
- */
223
- export class DbxListInternalContentDirective {
224
- parent = inject(DbxListComponent);
225
- elementRef = inject(ElementRef);
226
- hide = false;
227
- constructor() {
228
- this.parent.__content = this;
229
- }
230
- onScrollEvent($event) {
231
- const position = $event.target.scrollTop;
232
- this.parent.contentScrolled.emit(position);
233
- }
234
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxListInternalContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
235
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DbxListInternalContentDirective, selector: "[dbxListInternalContent]", inputs: { hide: "hide" }, host: { listeners: { "scroll": "onScrollEvent($event)" }, properties: { "class.dbx-list-content-hidden": "hide" }, classAttribute: "d-block dbx-list-content" }, ngImport: i0 });
236
- }
237
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxListInternalContentDirective, decorators: [{
238
- type: Directive,
239
- args: [{
240
- selector: '[dbxListInternalContent]',
241
- host: {
242
- class: 'd-block dbx-list-content',
243
- '[class.dbx-list-content-hidden]': 'hide'
244
- }
245
- }]
246
- }], ctorParameters: function () { return []; }, propDecorators: { hide: [{
247
- type: Input
248
- }], onScrollEvent: [{
249
- type: HostListener,
250
- args: ['scroll', ['$event']]
251
- }] } });
252
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvbGF5b3V0L2xpc3QvbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvbGF5b3V0L2xpc3QvbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakssT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBYSxVQUFVLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEosT0FBTyxFQUErQixnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSwrQkFBK0IsRUFBb0IsV0FBVyxFQUFFLDZCQUE2QixFQUFFLHFCQUFxQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUE2RHpLOzs7O0dBSUc7QUFTSCxNQUFNLE9BQU8sZ0JBQWdCO0lBQ2xCLEtBQUssR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUVsQyx1QkFBdUIsR0FBRyxHQUFHLENBQUM7SUFDOUIsdUJBQXVCLEdBQUcsRUFBRSxDQUFDO0lBRXRDOztPQUVHO0lBRUgsTUFBTSxHQUFHLElBQUksQ0FBQztJQUdMLGVBQWUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBRTlDLFFBQVEsQ0FBeUM7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SztnQkFRTixhQUFhO3NCQURaLFlBQVk7dUJBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmlsdGVyLCBleGhhdXN0TWFwLCBtZXJnZSwgbWFwLCBTdWJqZWN0LCBzd2l0Y2hNYXAsIHNoYXJlUmVwbGF5LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgb2YsIE9ic2VydmFibGUsIEJlaGF2aW9yU3ViamVjdCwgZmlyc3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIEV2ZW50RW1pdHRlciwgT3V0cHV0LCBPbkRlc3Ryb3ksIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgQ2hhbmdlRGV0ZWN0b3JSZWYsIERpcmVjdGl2ZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYnhJbmplY3Rpb25Db21wb25lbnRDb25maWcsIHRhcERldGVjdENoYW5nZXMgfSBmcm9tICdAZGVyZWVrYi9kYngtY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb25PYmplY3QsIExpc3RMb2FkaW5nU3RhdGVDb250ZXh0SW5zdGFuY2UsIExpc3RMb2FkaW5nU3RhdGUsIGZpbHRlck1heWJlLCBpc0xvYWRpbmdTdGF0ZUZpbmlzaGVkTG9hZGluZywgc3RhcnRXaXRoQmVnaW5Mb2FkaW5nIH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBNYXliZSwgTWlsbGlzZWNvbmRzIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBEYnhMaXN0U2VsZWN0aW9uTW9kZSwgRGJ4TGlzdFZpZXcsIExpc3RTZWxlY3Rpb25TdGF0ZSB9IGZyb20gJy4vbGlzdC52aWV3JztcblxuLyoqXG4gKiBEaXJlY3Rpb24gdGhlIHNjcm9sbCB3YXMgdHJpZ2dlcmVkIG1vdmluZy5cbiAqL1xuZXhwb3J0IHR5cGUgRGJ4TGlzdFNjcm9sbERpcmVjdGlvblRyaWdnZXIgPSAndXAnIHwgJ2Rvd24nO1xuXG4vKipcbiAqIFVzZWQgdG8gdHJpZ2dlciB0aGUgbG9hZGluZyBvZiBhZGRpdGlvbmFsIGl0ZW1zLlxuICpcbiAqIElmIGFuIG9ic2VydmFibGUgaXMgcmV0dXJuZWQgaXQgaXMgdXNlZCB0byB0aHJvdHRsZSB0aGUgbG9hZGluZyBvZiBtb3JlIGl0ZW1zIHVudGlsIGl0IHJldHVybnMuXG4gKi9cbmV4cG9ydCB0eXBlIERieExpc3RMb2FkTW9yZUhhbmRsZXIgPSAoKSA9PiBPYnNlcnZhYmxlPHZvaWQ+IHwgdm9pZDtcblxuLyoqXG4gKiBEYnhMaXN0Q29tcG9uZW50IGNvbmZpZ3VyYXRpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4TGlzdENvbmZpZzxUID0gdW5rbm93biwgViBleHRlbmRzIERieExpc3RWaWV3PFQ+ID0gRGJ4TGlzdFZpZXc8VD4+IGV4dGVuZHMgRGJ4SW5qZWN0aW9uQ29tcG9uZW50Q29uZmlnPFY+IHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRvIGhpZGUgdGhlIGxpc3QgY29udGVudCB3aGVuIGl0IGlzIGFuIGVtcHR5IGxpc3QuXG4gICAqL1xuICBoaWRlT25FbXB0eT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRoaXMgbGlzdCBzaG91bGQgc2Nyb2xsIHVwd2FyZCBmcm9tIHRoZSBib3R0b20sIGxpa2UgYSBtZXNzYWdlIGxpc3QuXG4gICAqL1xuICBpbnZlcnRlZExpc3Q/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBEaXN0YW5jZSB0byBzY3JvbGwuXG4gICAqL1xuICBzY3JvbGxEaXN0YW5jZT86IG51bWJlcjtcblxuICAvKipcbiAgICogTnVtYmVyIG9mIG1zIHRvIHRocm90dGxlIHNjcm9sbGluZyBldmVudHMuXG4gICAqL1xuICB0aHJvdHRsZT86IE1pbGxpc2Vjb25kcztcblxuICAvKipcbiAgICogKE9wdGlvbmFsKSBvbkNsaWNrIGhhbmRsZXJcbiAgICovXG4gIG9uQ2xpY2s/OiAodmFsdWU6IFQpID0+IHZvaWQ7XG5cbiAgLyoqXG4gICAqIChPcHRpb25hbCkgb25TZWxlY3Rpb24gaGFuZGxlclxuICAgKi9cbiAgb25TZWxlY3Rpb25DaGFuZ2U/OiAoc2VsZWN0aW9uOiBMaXN0U2VsZWN0aW9uU3RhdGU8VD4pID0+IHZvaWQ7XG5cbiAgLyoqXG4gICAqIChPcHRpb25hbCkgaGFuZGxlciBmdW5jdGlvbiB0byBsb2FkIG1vcmUgaXRlbXMuXG4gICAqL1xuICBsb2FkTW9yZT86IERieExpc3RMb2FkTW9yZUhhbmRsZXI7XG5cbiAgLyoqXG4gICAqIERlZmF1bHQgc2VsZWN0aW9uIGxpc3QgdmFsdWUuIElmIG5vdCBkZWZpbmVkLCB3aWxsIGRlZmF1bHQgdG8gJ3ZpZXcnLlxuICAgKi9cbiAgZGVmYXVsdFNlbGVjdGlvbk1vZGU/OiBNYXliZTxEYnhMaXN0U2VsZWN0aW9uTW9kZT47XG59XG5cbi8qKlxuICogVXNlZCB0byBkaXNwbGF5IGEgcG90ZW50aWFsbHkgaW5maW5pdGVseSBzY3JvbGxhYmxlIGxpc3Qgb2YgY29udGVudC5cbiAqXG4gKiBUaGlzIGNvbXBvbmVudCBpcyBnZW5lcmFsbHkgd3JhcHBlZCBieSBhbm90aGVyIGNvbXBvbmVudCB0aGF0IHByb3ZpZGVzIHRoaXMgb25lIGNvbmZpZ3VyYXRpb24uXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RieC1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdkLWJsb2NrIGRieC1saXN0JyxcbiAgICAnW2NsYXNzLmRieC1saXN0LXBhZGRlZF0nOiAncGFkZGVkJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIERieExpc3RDb21wb25lbnQ8VCA9IHVua25vd24sIFYgZXh0ZW5kcyBEYnhMaXN0VmlldzxUPiA9IERieExpc3RWaWV3PFQ+LCBTIGV4dGVuZHMgTGlzdExvYWRpbmdTdGF0ZTxUPiA9IExpc3RMb2FkaW5nU3RhdGU8VD4+IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcmVhZG9ubHkgY2RSZWYgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gIHJlYWRvbmx5IERFRkFVTFRfU0NST0xMX0RJU1RBTkNFID0gMS41O1xuICByZWFkb25seSBERUZBVUxUX1RIUk9UVExFX1NDUk9MTCA9IDUwO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBhZGQgYm90dG9tIHBhZGRpbmcgdG8gdGhlIGxpc3QgY29udGVudC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHBhZGRlZCA9IHRydWU7XG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IGNvbnRlbnRTY3JvbGxlZCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIHByaXZhdGUgX2NvbnRlbnQ6IE1heWJlPERieExpc3RJbnRlcm5hbENvbnRlbnREaXJlY3RpdmU+O1xuICBwcml2YXRlIF9kaXNhYmxlZCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcml2YXRlIF9zZWxlY3Rpb25Nb2RlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXliZTxEYnhMaXN0U2VsZWN0aW9uTW9kZT4+KHVuZGVmaW5lZCk7XG5cbiAgcHJpdmF0ZSBfbG9hZE1vcmVUcmlnZ2VyID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBfc2Nyb2xsVHJpZ2dlciA9IG5ldyBTdWJqZWN0PERieExpc3RTY3JvbGxEaXJlY3Rpb25UcmlnZ2VyPigpO1xuICBwcml2YXRlIF9jb25maWcgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1heWJlPERieExpc3RDb25maWc8VCwgVj4+Pih1bmRlZmluZWQpO1xuXG4gIHByaXZhdGUgX2xvYWRNb3JlU3ViID0gbmV3IFN1YnNjcmlwdGlvbk9iamVjdCgpO1xuICBwcml2YXRlIF9vbkNsaWNrU3ViID0gbmV3IFN1YnNjcmlwdGlvbk9iamVjdCgpO1xuICBwcml2YXRlIF9kaXNhYmxlZFN1YiA9IG5ldyBTdWJzY3JpcHRpb25PYmplY3QoKTtcbiAgcHJpdmF0ZSBfc2VsZWN0aW9uTW9kZVN1YiA9IG5ldyBTdWJzY3JpcHRpb25PYmplY3QoKTtcbiAgcHJpdmF0ZSBfb25TZWxlY3Rpb25DaGFuZ2VTdWIgPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG5cbiAgcmVhZG9ubHkgY29udGV4dCA9IG5ldyBMaXN0TG9hZGluZ1N0YXRlQ29udGV4dEluc3RhbmNlPFQsIFM+KHsgc2hvd0xvYWRpbmdPbk5vVmFsdWU6IGZhbHNlIH0pO1xuICByZWFkb25seSBpc0VtcHR5JCA9IHRoaXMuY29udGV4dC5pc0VtcHR5JDtcbiAgcmVhZG9ubHkgaXNFbXB0eUxvYWRpbmckID0gdGhpcy5jb250ZXh0LmlzRW1wdHlMb2FkaW5nJDtcbiAgcmVhZG9ubHkgaXNFbXB0eUFuZE5vdExvYWRpbmckID0gdGhpcy5jb250ZXh0LmlzRW1wdHlBbmROb3RMb2FkaW5nJDtcbiAgcmVhZG9ubHkgZGlzYWJsZWQkID0gdGhpcy5fZGlzYWJsZWQuYXNPYnNlcnZhYmxlKCk7XG4gIHJlYWRvbmx5IHNlbGVjdGlvbk1vZGUkID0gdGhpcy5fc2VsZWN0aW9uTW9kZS5hc09ic2VydmFibGUoKTtcblxuICByZWFkb25seSBoaWRlT25FbXB0eSQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLl9jb25maWcucGlwZShcbiAgICBmaWx0ZXJNYXliZSgpLFxuICAgIG1hcCgoeCkgPT4gQm9vbGVhbih4LmhpZGVPbkVtcHR5KSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuICByZWFkb25seSBpbnZlcnRlZExpc3QkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5fY29uZmlnLnBpcGUoXG4gICAgZmlsdGVyTWF5YmUoKSxcbiAgICBtYXAoKHgpID0+IEJvb2xlYW4oeD8udGhyb3R0bGUpKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG4gIHJlYWRvbmx5IHRocm90dGxlU2Nyb2xsJDogT2JzZXJ2YWJsZTxudW1iZXI+ID0gdGhpcy5fY29uZmlnLnBpcGUoXG4gICAgbWFwKCh4KSA9PiB4Py50aHJvdHRsZSA/PyB0aGlzLkRFRkFVTFRfVEhST1RUTEVfU0NST0xMKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG4gIHJlYWRvbmx5IHNjcm9sbERpc3RhbmNlJDogT2JzZXJ2YWJsZTxudW1iZXI+ID0gdGhpcy5fY29uZmlnLnBpcGUoXG4gICAgbWFwKCh4KSA9PiB4Py5zY3JvbGxEaXN0YW5jZSA/PyB0aGlzLkRFRkFVTFRfU0NST0xMX0RJU1RBTkNFKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgc2Nyb2xsTG9hZE1vcmVUcmlnZ2VyJCA9IHRoaXMuX2NvbmZpZy5waXBlKFxuICAgIHN3aXRjaE1hcCgoY29uZmlnKSA9PiB7XG4gICAgICBjb25zdCBsb2FkTmV4dERpcmVjdGlvbiA9IGNvbmZpZz8uaW52ZXJ0ZWRMaXN0ID8gJ3VwJyA6ICdkb3duJztcbiAgICAgIHJldHVybiB0aGlzLl9zY3JvbGxUcmlnZ2VyLnBpcGUoZmlsdGVyKCh4KSA9PiB4ID09PSBsb2FkTmV4dERpcmVjdGlvbikpO1xuICAgIH0pXG4gICk7XG5cbiAgcmVhZG9ubHkgbG9hZE1vcmUkID0gbWVyZ2UodGhpcy5zY3JvbGxMb2FkTW9yZVRyaWdnZXIkLCB0aGlzLl9sb2FkTW9yZVRyaWdnZXIpO1xuXG4gIHJlYWRvbmx5IGluamVjdGVkQ29tcG9uZW50Q29uZmlnJDogT2JzZXJ2YWJsZTxNYXliZTxEYnhJbmplY3Rpb25Db21wb25lbnRDb25maWc8Vj4+PiA9IHRoaXMuX2NvbmZpZy5waXBlKFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgbWFwKChjb25maWcpID0+IHtcbiAgICAgIGxldCBpbmplY3RlZENvbXBvbmVudENvbmZpZzogTWF5YmU8RGJ4SW5qZWN0aW9uQ29tcG9uZW50Q29uZmlnPFY+PjtcblxuICAgICAgaWYgKGNvbmZpZykge1xuICAgICAgICBjb25zdCB7IGNvbXBvbmVudENsYXNzLCBpbml0LCBvbkNsaWNrLCBvblNlbGVjdGlvbkNoYW5nZSwgbG9hZE1vcmUsIGRlZmF1bHRTZWxlY3Rpb25Nb2RlID0gJ3ZpZXcnIH0gPSBjb25maWc7XG5cbiAgICAgICAgaW5qZWN0ZWRDb21wb25lbnRDb25maWcgPSB7XG4gICAgICAgICAgY29tcG9uZW50Q2xhc3M6IGNvbmZpZy5jb21wb25lbnRDbGFzcyxcbiAgICAgICAgICBpbmplY3RvcjogY29uZmlnLmluamVjdG9yLFxuICAgICAgICAgIGluaXQ6IChpbnN0YW5jZTogVikgPT4ge1xuICAgICAgICAgICAgLy8gU3luY2hyb25pemUgZGlzYWJsZWRcbiAgICAgICAgICAgIHRoaXMuX2Rpc2FibGVkU3ViLnN1YnNjcmlwdGlvbiA9IHRoaXMuZGlzYWJsZWQkLnN1YnNjcmliZSgoZGlzYWJsZWQpID0+IGluc3RhbmNlLnNldERpc2FibGVkKGRpc2FibGVkKSk7XG4gICAgICAgICAgICB0aGlzLl9zZWxlY3Rpb25Nb2RlU3ViLnN1YnNjcmlwdGlvbiA9IHRoaXMuc2VsZWN0aW9uTW9kZSQuc3Vic2NyaWJlKChzZWxlY3Rpb25Nb2RlKSA9PiBpbnN0YW5jZS5zZXRTZWxlY3Rpb25Nb2RlKHNlbGVjdGlvbk1vZGUgPz8gZGVmYXVsdFNlbGVjdGlvbk1vZGUpKTtcblxuICAgICAgICAgICAgaWYgKGluaXQpIHtcbiAgICAgICAgICAgICAgaW5pdChpbnN0YW5jZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGluc3RhbmNlLnNldExpc3RDb250ZXh0KHRoaXMuY29udGV4dCk7XG5cbiAgICAgICAgICAgIGlmIChsb2FkTW9yZSkge1xuICAgICAgICAgICAgICB0aGlzLl9sb2FkTW9yZVN1Yi5zdWJzY3JpcHRpb24gPSB0aGlzLmxvYWRNb3JlJFxuICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgLy8gVGhyb3R0bGUgYWRkaXRpb25hbCBsb2FkaW5nIGNhbGxzIHVzaW5nIGV4aGF1c3RNYXAgdW50aWwgb2JzZXJ2YWJsZSByZXR1cm5zLCBpZiBvbmUgaXMgcmV0dXJuZWQuXG4gICAgICAgICAgICAgICAgICBleGhhdXN0TWFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gbG9hZE1vcmUoKTtcbiAgICAgICAgICAgICAgICAgICAgbGV0IG9iczogT2JzZXJ2YWJsZTx2b2lkPjtcblxuICAgICAgICAgICAgICAgICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgb2JzID0gcmVzdWx0LnBpcGUoY2F0Y2hFcnJvcigoKSA9PiBvZigpKSk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgb2JzID0gb2YoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvYnM7XG4gICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChvbkNsaWNrKSB7XG4gICAgICAgICAgICAgIGlmIChpbnN0YW5jZS5jbGlja1ZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fb25DbGlja1N1Yi5zdWJzY3JpcHRpb24gPSBpbnN0YW5jZS5jbGlja1ZhbHVlLnN1YnNjcmliZShvbkNsaWNrKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGBvbkNsaWNrKCkgd2FzIHBhc3NlZCB0byBsaXN0Q29uZmlnLCBidXQgdGFyZ2V0IGNsYXNzICR7Y29tcG9uZW50Q2xhc3N9IGhhcyBubyBjbGlja2VkIGV2ZW50IGVtaXR0ZXIuYCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKG9uU2VsZWN0aW9uQ2hhbmdlKSB7XG4gICAgICAgICAgICAgIGlmIChpbnN0YW5jZS5zZWxlY3Rpb25DaGFuZ2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9vblNlbGVjdGlvbkNoYW5nZVN1Yi5zdWJzY3JpcHRpb24gPSBpbnN0YW5jZS5zZWxlY3Rpb25DaGFuZ2Uuc3Vic2NyaWJlKG9uU2VsZWN0aW9uQ2hhbmdlKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGBvblNlbGVjdGlvbkNoYW5nZSgpIHdhcyBwYXNzZWQgdG8gbGlzdENvbmZpZywgYnV0IHRhcmdldCBjbGFzcyAke2NvbXBvbmVudENsYXNzfSBoYXMgbm8gc2VsZWN0aW9uQ2hhbmdlIGV2ZW50IGVtaXR0ZXIuYCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBpbmplY3RlZENvbXBvbmVudENvbmZpZztcbiAgICB9KSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgaGlkZUNvbnRlbnQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5jb250ZXh0LnN0YXRlQ2hhbmdlJC5waXBlKFxuICAgIHN3aXRjaE1hcCgoKSA9PlxuICAgICAgdGhpcy5jb250ZXh0LnN0YXRlJC5waXBlKFxuICAgICAgICBmaWx0ZXIoKHgpID0+IGlzTG9hZGluZ1N0YXRlRmluaXNoZWRMb2FkaW5nKHgpKSxcbiAgICAgICAgZmlyc3QoKSxcbiAgICAgICAgc3RhcnRXaXRoQmVnaW5Mb2FkaW5nKClcbiAgICAgIClcbiAgICApLFxuICAgIHN3aXRjaE1hcCgoc3RhdGUpID0+IHtcbiAgICAgIGlmIChzdGF0ZT8ubG9hZGluZykge1xuICAgICAgICByZXR1cm4gb2YodHJ1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdGhpcy5oaWRlT25FbXB0eSQucGlwZShcbiAgICAgICAgICBzd2l0Y2hNYXAoKGhpZGUpID0+IChoaWRlID09PSBmYWxzZSA/IG9mKGZhbHNlKSA6IHRoaXMuaXNFbXB0eSQpKSxcbiAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICAgIHRhcERldGVjdENoYW5nZXModGhpcy5jZFJlZiksXG4gICAgICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9KVxuICApO1xuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGRlbGV0ZSB0aGlzLl9jb250ZW50OyAvLyByZW1vdmUgcGFyZW50LWNoaWxkIHJlbGF0aW9uLlxuICAgIHRoaXMuX3Njcm9sbFRyaWdnZXIuY29tcGxldGUoKTtcbiAgICB0aGlzLl9sb2FkTW9yZVRyaWdnZXIuY29tcGxldGUoKTtcbiAgICB0aGlzLl9jb25maWcuY29tcGxldGUoKTtcbiAgICB0aGlzLl9kaXNhYmxlZC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX3NlbGVjdGlvbk1vZGUuY29tcGxldGUoKTtcblxuICAgIHRoaXMuX29uQ2xpY2tTdWIuZGVzdHJveSgpO1xuICAgIHRoaXMuX2xvYWRNb3JlU3ViLmRlc3Ryb3koKTtcbiAgICB0aGlzLl9vblNlbGVjdGlvbkNoYW5nZVN1Yi5kZXN0cm95KCk7XG4gICAgdGhpcy5fZGlzYWJsZWRTdWIuZGVzdHJveSgpO1xuXG4gICAgdGhpcy5jb250ZXh0LmRlc3Ryb3koKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCBzdGF0ZSQoKTogT2JzZXJ2YWJsZTxTPiB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dC5zdGF0ZSQ7XG4gIH1cblxuICBzZXQgc3RhdGUkKHN0YXRlJDogTWF5YmU8T2JzZXJ2YWJsZTxTPj4pIHtcbiAgICB0aGlzLmNvbnRleHQuc2V0U3RhdGVPYnMoc3RhdGUkKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBjb25maWcoY29uZmlnOiBNYXliZTxEYnhMaXN0Q29uZmlnPFQsIFY+Pikge1xuICAgIHRoaXMuX2NvbmZpZy5uZXh0KGNvbmZpZyk7XG4gIH1cblxuICBASW5wdXQoKVxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkLnZhbHVlO1xuICB9XG5cbiAgc2V0IGRpc2FibGVkKGRpc2FibGVkOiBNYXliZTxib29sZWFuPikge1xuICAgIHRoaXMuX2Rpc2FibGVkLm5leHQoZGlzYWJsZWQgPz8gZmFsc2UpO1xuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IHNlbGVjdGlvbk1vZGUoKTogTWF5YmU8RGJ4TGlzdFNlbGVjdGlvbk1vZGU+IHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uTW9kZS52YWx1ZTtcbiAgfVxuXG4gIHNldCBzZWxlY3Rpb25Nb2RlKHNlbGVjdGlvbk1vZGU6IE1heWJlPERieExpc3RTZWxlY3Rpb25Nb2RlPikge1xuICAgIHRoaXMuX3NlbGVjdGlvbk1vZGUubmV4dChzZWxlY3Rpb25Nb2RlKTtcbiAgfVxuXG4gIGdldFNjcm9sbFBvc2l0aW9uUmVsYXRpdmVUb0JvdHRvbSgpOiBudW1iZXIge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAvLyBBdCBtYXggc2Nyb2xsLCBzY3JvbGxIZWlnaHQgPSBzY3JvbGxUb3AgKyBjbGllbnRIZWlnaHQ7XG4gICAgICBjb25zdCB7IHNjcm9sbFRvcCwgc2Nyb2xsSGVpZ2h0LCBjbGllbnRIZWlnaHQgfSA9IGVsZW1lbnQ7XG4gICAgICByZXR1cm4gc2Nyb2xsSGVpZ2h0IC0gKHNjcm9sbFRvcCArIGNsaWVudEhlaWdodCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICB9XG5cbiAganVtcFRvQm90dG9tKCk6IHZvaWQge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG9wID0gdGhpcy5uYXRpdmVFbGVtZW50LnNjcm9sbEhlaWdodDtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIC8vIGRvIG5vdGhpbmcuXG4gICAgfVxuICB9XG5cbiAganVtcFRvUG9zaXRpb25SZWxhdGl2ZVRvQm90dG9tKHBvczogbnVtYmVyKTogdm9pZCB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICBjb25zdCB7IHNjcm9sbEhlaWdodCwgY2xpZW50SGVpZ2h0IH0gPSBlbGVtZW50O1xuICAgICAgZWxlbWVudC5zY3JvbGxUb3AgPSBzY3JvbGxIZWlnaHQgLSAoY2xpZW50SGVpZ2h0ICsgcG9zKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIC8vIGRvIG5vdGhpbmcuXG4gICAgfVxuICB9XG5cbiAgb25TY3JvbGxEb3duKCk6IHZvaWQge1xuICAgIHRoaXMuX3Njcm9sbFRyaWdnZXIubmV4dCgnZG93bicpO1xuICB9XG5cbiAgb25TY3JvbGxVcCgpOiB2b2lkIHtcbiAgICB0aGlzLl9zY3JvbGxUcmlnZ2VyLm5leHQoJ3VwJyk7XG4gIH1cblxuICBsb2FkTW9yZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9sb2FkTW9yZVRyaWdnZXIubmV4dCgpO1xuICB9XG5cbiAgLy8gTUFSSzogSW50ZXJuYWxcbiAgZ2V0IG5hdGl2ZUVsZW1lbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX19jb250ZW50LmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIGdldCBfX2NvbnRlbnQoKTogRGJ4TGlzdEludGVybmFsQ29udGVudERpcmVjdGl2ZSB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbnRlbnQgYXMgRGJ4TGlzdEludGVybmFsQ29udGVudERpcmVjdGl2ZTtcbiAgfVxuXG4gIHNldCBfX2NvbnRlbnQoY29udGVudDogRGJ4TGlzdEludGVybmFsQ29udGVudERpcmVjdGl2ZSkge1xuICAgIGlmICh0aGlzLl9jb250ZW50ID09IG51bGwpIHtcbiAgICAgIHRoaXMuX2NvbnRlbnQgPSBjb250ZW50O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0F0dGVtcHRlZCB0byBzZXQgX19jb250ZW50IGluIGxpc3Qgb3V0c2lkZSBvZiBpbml0aWFsaXphdGlvbi4nKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBVc2VkIGludGVybmFsbHkgYnkgRGJ4TGlzdENvbXBvbmVudFxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZGJ4TGlzdEludGVybmFsQ29udGVudF0nLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdkLWJsb2NrIGRieC1saXN0LWNvbnRlbnQnLFxuICAgICdbY2xhc3MuZGJ4LWxpc3QtY29udGVudC1oaWRkZW5dJzogJ2hpZGUnXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgRGJ4TGlzdEludGVybmFsQ29udGVudERpcmVjdGl2ZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGFyZW50ID0gaW5qZWN0KERieExpc3RDb21wb25lbnQpO1xuICByZWFkb25seSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG4gIEBJbnB1dCgpXG4gIGhpZGU6IE1heWJlPGJvb2xlYW4+ID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5wYXJlbnQuX19jb250ZW50ID0gdGhpcztcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3Njcm9sbCcsIFsnJGV2ZW50J10pXG4gIG9uU2Nyb2xsRXZlbnQoJGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHBvc2l0aW9uID0gKCRldmVudC50YXJnZXQgYXMgRWxlbWVudCkuc2Nyb2xsVG9wO1xuICAgIHRoaXMucGFyZW50LmNvbnRlbnRTY3JvbGxlZC5lbWl0KHBvc2l0aW9uKTtcbiAgfVxufVxuIiwiPGRieC1sb2FkaW5nIFtjb250ZXh0XT1cImNvbnRleHRcIiBbbGluZWFyXT1cInRydWVcIj48L2RieC1sb2FkaW5nPlxuPGRpdiBkYnhMaXN0SW50ZXJuYWxDb250ZW50IFtoaWRlXT1cImhpZGVDb250ZW50JCB8IGFzeW5jXCIgaW5maW5pdGUtc2Nyb2xsIFtpbmZpbml0ZVNjcm9sbERpc3RhbmNlXT1cIihzY3JvbGxEaXN0YW5jZSQgfCBhc3luYykgPz8gREVGQVVMVF9TQ1JPTExfRElTVEFOQ0VcIiBbaW5maW5pdGVTY3JvbGxVcERpc3RhbmNlXT1cIihzY3JvbGxEaXN0YW5jZSQgfCBhc3luYykgPz8gREVGQVVMVF9TQ1JPTExfRElTVEFOQ0VcIiBbaW5maW5pdGVTY3JvbGxUaHJvdHRsZV09XCIodGhyb3R0bGVTY3JvbGwkIHwgYXN5bmMpID8/IERFRkFVTFRfVEhST1RUTEVfU0NST0xMXCIgW3Njcm9sbFdpbmRvd109XCJmYWxzZVwiIChzY3JvbGxlZCk9XCJvblNjcm9sbERvd24oKVwiIChzY3JvbGxlZFVwKT1cIm9uU2Nyb2xsVXAoKVwiPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJbdG9wXVwiPjwvbmctY29udGVudD5cbiAgPGRieC1pbmplY3Rpb24gW2NvbmZpZ109XCJpbmplY3RlZENvbXBvbmVudENvbmZpZyQgfCBhc3luY1wiPjwvZGJ4LWluamVjdGlvbj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2JvdHRvbV1cIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbjxuZy1jb250ZW50ICpuZ0lmPVwiaXNFbXB0eUFuZE5vdExvYWRpbmckIHwgYXN5bmNcIiBzZWxlY3Q9XCJbZW1wdHldXCI+PC9uZy1jb250ZW50PlxuPG5nLWNvbnRlbnQgKm5nSWY9XCJpc0VtcHR5TG9hZGluZyQgfCBhc3luY1wiIHNlbGVjdD1cIltlbXB0eUxvYWRpbmddXCI+PC9uZy1jb250ZW50PlxuIl19
223
+ '[class.dbx-list-padded]': 'padded()'
224
+ }, imports: [DbxInjectionComponent, InfiniteScrollDirective, DbxListInternalContentDirective, DbxLoadingComponent], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<dbx-loading [context]=\"context\" [linear]=\"true\"></dbx-loading>\n<div dbxListInternalContent [hide]=\"hideContentSignal()\" infinite-scroll [infiniteScrollDistance]=\"infiniteScrollDistanceSignal()\" [infiniteScrollUpDistance]=\"infiniteScrollDistanceSignal()\" [infiniteScrollThrottle]=\"infiniteScrollThrottleSignal()\" [scrollWindow]=\"false\" (scrolled)=\"onScrollDown()\" (scrolledUp)=\"onScrollUp()\">\n <ng-content select=\"[top]\"></ng-content>\n <dbx-injection [config]=\"injectedComponentConfigSignal()\"></dbx-injection>\n <ng-content select=\"[bottom]\"></ng-content>\n</div>\n@if (isEmptyAndNotLoadingSignal()) {\n <ng-content select=\"[empty]\"></ng-content>\n}\n@if (isEmptyLoadingSignal()) {\n <ng-content select=\"[emptyLoading]\"></ng-content>\n}\n" }]
225
+ }] });
226
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvbGF5b3V0L2xpc3QvbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvbGF5b3V0L2xpc3QvbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQWMsS0FBSyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hKLE9BQU8sRUFBRSxTQUFTLEVBQWEsVUFBVSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLHVCQUF1QixFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1SixPQUFPLEVBQUUscUJBQXFCLEVBQStCLE1BQU0sbUJBQW1CLENBQUM7QUFDdkYsT0FBTyxFQUFFLGtCQUFrQixFQUFvQixXQUFXLEVBQUUsNkJBQTZCLEVBQUUscUJBQXFCLEVBQUUsdUJBQXVCLEVBQVUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3pMLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDcEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7O0FBRXRFLHdDQUF3QztBQUN4Qzs7R0FFRztBQVNILE1BQU0sT0FBTywrQkFBK0I7SUFDekIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBRTFDLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFaEMsSUFBSSxHQUFHLEtBQUssQ0FBaUIsS0FBSyxDQUFDLENBQUM7SUFFN0M7UUFDRSxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFHRCxhQUFhLENBQUMsTUFBYTtRQUN6QixNQUFNLFFBQVEsR0FBSSxNQUFNLENBQUMsTUFBa0IsQ0FBQyxTQUFTLENBQUM7UUFDdEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdDLENBQUM7d0dBZlUsK0JBQStCOzRGQUEvQiwrQkFBK0I7OzRGQUEvQiwrQkFBK0I7a0JBUjNDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDBCQUEwQjtvQkFDcEMsSUFBSSxFQUFFO3dCQUNKLEtBQUssRUFBRSwwQkFBMEI7d0JBQ2pDLGlDQUFpQyxFQUFFLFFBQVE7cUJBQzVDO29CQUNELFVBQVUsRUFBRSxJQUFJO2lCQUNqQjt3REFhQyxhQUFhO3NCQURaLFlBQVk7dUJBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDOztBQW1FcEMsTUFBTSxDQUFDLE1BQU0sZ0NBQWdDLEdBQUcsR0FBRyxDQUFDO0FBQ3BELE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUFHLEVBQUUsQ0FBQztBQUVuRDs7OztHQUlHO0FBWUgsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQjs7T0FFRztJQUNNLGVBQWUsR0FBRyxNQUFNLEVBQXlDLENBQUM7SUFFM0U7O09BRUc7SUFDTSxNQUFNLEdBQUcsS0FBSyxDQUFVLElBQUksQ0FBQyxDQUFDO0lBRTlCLEtBQUssR0FBRyxLQUFLLENBQThCLFNBQVMsQ0FBQyxDQUFDO0lBQ3RELE1BQU0sR0FBRyxLQUFLLENBQTZCLFNBQVMsQ0FBQyxDQUFDO0lBRXRELFFBQVEsR0FBRyxLQUFLLENBQWlCLEtBQUssQ0FBQyxDQUFDO0lBQ3hDLGFBQWEsR0FBRyxLQUFLLENBQThCLFNBQVMsQ0FBQyxDQUFDO0lBRXRELHNCQUFzQixHQUFHLE1BQU0sQ0FBeUMsU0FBUyxDQUFDLENBQUM7SUFDM0YsbUJBQW1CLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFFLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxFQUFFLFVBQTZDLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFFM0gsZ0JBQWdCLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUN2QyxjQUFjLEdBQUcsSUFBSSxPQUFPLEVBQWlDLENBQUM7SUFFOUQsWUFBWSxHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQztJQUN4QyxXQUFXLEdBQUcsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO0lBQ3ZDLFlBQVksR0FBRyxJQUFJLGtCQUFrQixFQUFFLENBQUM7SUFDeEMsaUJBQWlCLEdBQUcsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO0lBQzdDLHFCQUFxQixHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQztJQUV6RCxhQUFhLEdBQXlCLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7SUFDdEYsT0FBTyxHQUFHLHVCQUF1QixDQUFPLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsb0JBQW9CLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUVsRyxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7SUFDakMsZUFBZSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDO0lBQy9DLHFCQUFxQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMscUJBQXFCLENBQUM7SUFFM0QsT0FBTyxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEMsU0FBUyxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUNuRCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUN0QixvQkFBb0IsRUFBRSxFQUN0QixXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztJQUVPLGNBQWMsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRS9GLFlBQVksR0FBd0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQzVELFdBQVcsRUFBRSxFQUNiLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUNsQyxvQkFBb0IsRUFBRSxFQUN0QixXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztJQUVPLGFBQWEsR0FBd0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQzdELFdBQVcsRUFBRSxFQUNiLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQyxFQUNoQyxvQkFBb0IsRUFBRSxFQUN0QixXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztJQUVPLGVBQWUsR0FBdUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQzlELEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLFFBQVEsSUFBSSxnQ0FBZ0MsQ0FBQyxFQUMzRCxvQkFBb0IsRUFBRSxFQUN0QixXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztJQUVPLGVBQWUsR0FBdUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQzlELEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLGNBQWMsSUFBSSxnQ0FBZ0MsQ0FBQyxFQUNqRSxvQkFBb0IsRUFBRSxFQUN0QixXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztJQUVPLHNCQUFzQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUNqRCxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtRQUNuQixNQUFNLGlCQUFpQixHQUFHLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQy9ELE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssaUJBQWlCLENBQUMsQ0FBQyxDQUFDO0lBQzFFLENBQUMsQ0FBQyxDQUNILENBQUM7SUFFTyxTQUFTLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUV0RSx3QkFBd0IsR0FBc0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ3RHLG9CQUFvQixFQUFFLEVBQ3RCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1FBQ2IsSUFBSSx1QkFBOEQsQ0FBQztRQUVuRSxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1gsTUFBTSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxvQkFBb0IsR0FBRyxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUM7WUFFN0csdUJBQXVCLEdBQUc7Z0JBQ3hCLGNBQWMsRUFBRSxNQUFNLENBQUMsY0FBYztnQkFDckMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRO2dCQUN6QixJQUFJLEVBQUUsQ0FBQyxRQUFXLEVBQUUsRUFBRTtvQkFDcEIsdUJBQXVCO29CQUN2QixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO29CQUN4RyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxJQUFJLG9CQUFvQixDQUFDLENBQUMsQ0FBQztvQkFFekosSUFBSSxJQUFJLEVBQUUsQ0FBQzt3QkFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7b0JBQ2pCLENBQUM7b0JBRUQsUUFBUSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBRXRDLElBQUksUUFBUSxFQUFFLENBQUM7d0JBQ2IsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVM7NkJBQzVDLElBQUk7d0JBQ0gsbUdBQW1HO3dCQUNuRyxVQUFVLENBQUMsR0FBRyxFQUFFOzRCQUNkLE1BQU0sTUFBTSxHQUFHLFFBQVEsRUFBRSxDQUFDOzRCQUMxQixJQUFJLEdBQXFCLENBQUM7NEJBRTFCLElBQUksTUFBTSxFQUFFLENBQUM7Z0NBQ1gsR0FBRyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQzs0QkFDNUMsQ0FBQztpQ0FBTSxDQUFDO2dDQUNOLEdBQUcsR0FBRyxFQUFFLEVBQUUsQ0FBQzs0QkFDYixDQUFDOzRCQUVELE9BQU8sR0FBRyxDQUFDO3dCQUNiLENBQUMsQ0FBQyxDQUNIOzZCQUNBLFNBQVMsRUFBRSxDQUFDO29CQUNqQixDQUFDO29CQUVELElBQUksT0FBTyxFQUFFLENBQUM7d0JBQ1osSUFBSSxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUM7NEJBQ3hCLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO3dCQUN6RSxDQUFDOzZCQUFNLENBQUM7NEJBQ04sT0FBTyxDQUFDLEtBQUssQ0FBQyx3REFBd0QsY0FBYyxnQ0FBZ0MsQ0FBQyxDQUFDO3dCQUN4SCxDQUFDO29CQUNILENBQUM7b0JBRUQsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO3dCQUN0QixJQUFJLFFBQVEsQ0FBQyxlQUFlLEVBQUUsQ0FBQzs0QkFDN0IsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFlBQVksR0FBRyxRQUFRLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO3dCQUNsRyxDQUFDOzZCQUFNLENBQUM7NEJBQ04sT0FBTyxDQUFDLEtBQUssQ0FBQyxrRUFBa0UsY0FBYyx3Q0FBd0MsQ0FBQyxDQUFDO3dCQUMxSSxDQUFDO29CQUNILENBQUM7Z0JBQ0gsQ0FBQzthQUNGLENBQUM7UUFDSixDQUFDO1FBRUQsT0FBTyx1QkFBdUIsQ0FBQztJQUNqQyxDQUFDLENBQUMsRUFDRixvQkFBb0IsRUFBRSxFQUN0QixXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztJQUVPLFlBQVksR0FBd0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQ2hGLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FDYixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ3RCLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDL0MsS0FBSyxFQUFFLEVBQ1AscUJBQXFCLEVBQUUsQ0FDeEIsQ0FDRixFQUNELFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQ2xCLElBQUksS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDO1lBQ25CLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xCLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDM0IsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQ2pFLG9CQUFvQixFQUFFLEVBQ3RCLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO1FBQ0osQ0FBQztJQUNILENBQUMsQ0FBQyxFQUNGLG9CQUFvQixFQUFFLEVBQ3RCLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO0lBRU8sNEJBQTRCLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsRUFBRSxZQUFZLEVBQUUsZ0NBQWdDLEVBQUUsQ0FBQyxDQUFDO0lBQ2xILDRCQUE0QixHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLEVBQUUsWUFBWSxFQUFFLGdDQUFnQyxFQUFFLENBQUMsQ0FBQztJQUNsSCxpQkFBaUIsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2hELDZCQUE2QixHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUN4RSwwQkFBMEIsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDbEUsb0JBQW9CLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUUvRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFakMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRTVCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELGlDQUFpQztRQUMvQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUUzQyxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1osSUFBSSxDQUFDO2dCQUNILDBEQUEwRDtnQkFDMUQsTUFBTSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEdBQUcsT0FBTyxDQUFDO2dCQUMxRCxPQUFPLFlBQVksR0FBRyxDQUFDLFNBQVMsR0FBRyxZQUFZLENBQUMsQ0FBQztZQUNuRCxDQUFDO1lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFBLENBQUM7UUFDaEIsQ0FBQztRQUVELE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELFlBQVk7UUFDVixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUUzQyxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1osSUFBSSxDQUFDO2dCQUNILE9BQU8sQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQztZQUMzQyxDQUFDO1lBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztnQkFDYixjQUFjO1lBQ2hCLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELDhCQUE4QixDQUFDLEdBQVc7UUFDeEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFFM0MsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLElBQUksQ0FBQztnQkFDSCxNQUFNLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxHQUFHLE9BQU8sQ0FBQztnQkFDL0MsT0FBTyxDQUFDLFNBQVMsR0FBRyxZQUFZLEdBQUcsQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFDLENBQUM7WUFDMUQsQ0FBQztZQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7Z0JBQ2IsY0FBYztZQUNoQixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsaUJBQWlCO0lBQ2pCLGtCQUFrQixDQUFDLE9BQXdDO1FBQ3pELElBQUksSUFBSSxDQUFDLHNCQUFzQixFQUFFLElBQUksSUFBSSxFQUFFLENBQUM7WUFDMUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQyxDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0ZBQWdGLENBQUMsQ0FBQztRQUNwRyxDQUFDO0lBQ0gsQ0FBQzt3R0F2UFUsZ0JBQWdCOzRGQUFoQixnQkFBZ0IsbTJCQ3ZIN0IseXdCQVlBLDRDRHVHWSxxQkFBcUIsMkhBQUUsdUJBQXVCLDBXQTdGN0MsK0JBQStCLHVGQTZGaUQsbUJBQW1COzs0RkFJbkcsZ0JBQWdCO2tCQVg1QixTQUFTOytCQUNFLFVBQVUsUUFFZDt3QkFDSixLQUFLLEVBQUUsa0JBQWtCO3dCQUN6Qix5QkFBeUIsRUFBRSxVQUFVO3FCQUN0QyxXQUNRLENBQUMscUJBQXFCLEVBQUUsdUJBQXVCLEVBQUUsK0JBQStCLEVBQUUsbUJBQW1CLENBQUMsbUJBQzlGLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluZmluaXRlU2Nyb2xsRGlyZWN0aXZlIH0gZnJvbSAnbmd4LWluZmluaXRlLXNjcm9sbCc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmaWx0ZXIsIGV4aGF1c3RNYXAsIG1lcmdlLCBtYXAsIFN1YmplY3QsIHN3aXRjaE1hcCwgc2hhcmVSZXBsYXksIG9mLCBPYnNlcnZhYmxlLCBmaXJzdCwgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIERpcmVjdGl2ZSwgaW5qZWN0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgaW5wdXQsIG91dHB1dCwgc2lnbmFsLCBjb21wdXRlZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGJ4SW5qZWN0aW9uQ29tcG9uZW50LCBEYnhJbmplY3Rpb25Db21wb25lbnRDb25maWcgfSBmcm9tICdAZGVyZWVrYi9kYngtY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb25PYmplY3QsIExpc3RMb2FkaW5nU3RhdGUsIGZpbHRlck1heWJlLCBpc0xvYWRpbmdTdGF0ZUZpbmlzaGVkTG9hZGluZywgc3RhcnRXaXRoQmVnaW5Mb2FkaW5nLCBsaXN0TG9hZGluZ1N0YXRlQ29udGV4dCwgdGFwTG9nLCBzd2l0Y2hNYXBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuaW1wb3J0IHsgTWF5YmUsIE1pbGxpc2Vjb25kcyB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgRGJ4TGlzdFNlbGVjdGlvbk1vZGUsIERieExpc3RWaWV3LCBMaXN0U2VsZWN0aW9uU3RhdGUgfSBmcm9tICcuL2xpc3Qudmlldyc7XG5pbXBvcnQgeyB0b09ic2VydmFibGUsIHRvU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgRGJ4TG9hZGluZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL2xvYWRpbmcvbG9hZGluZy5jb21wb25lbnQnO1xuXG4vLyBNQVJLOiBEYnhMaXN0SW50ZXJuYWxDb250ZW50RGlyZWN0aXZlXG4vKipcbiAqIFVzZWQgaW50ZXJuYWxseSBieSBEYnhMaXN0Q29tcG9uZW50XG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tkYnhMaXN0SW50ZXJuYWxDb250ZW50XScsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2QtYmxvY2sgZGJ4LWxpc3QtY29udGVudCcsXG4gICAgJ1tjbGFzcy5kYngtbGlzdC1jb250ZW50LWhpZGRlbl0nOiAnaGlkZSgpJ1xuICB9LFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIERieExpc3RJbnRlcm5hbENvbnRlbnREaXJlY3RpdmUge1xuICBwcml2YXRlIHJlYWRvbmx5IHBhcmVudCA9IGluamVjdChEYnhMaXN0Q29tcG9uZW50KTtcblxuICByZWFkb25seSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG4gIHJlYWRvbmx5IGhpZGUgPSBpbnB1dDxNYXliZTxib29sZWFuPj4oZmFsc2UpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMucGFyZW50LnNldEludGVybmFsQ29udGVudCh0aGlzKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3Njcm9sbCcsIFsnJGV2ZW50J10pXG4gIG9uU2Nyb2xsRXZlbnQoJGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHBvc2l0aW9uID0gKCRldmVudC50YXJnZXQgYXMgRWxlbWVudCkuc2Nyb2xsVG9wO1xuICAgIHRoaXMucGFyZW50LmNvbnRlbnRTY3JvbGxlZC5lbWl0KHBvc2l0aW9uKTtcbiAgfVxufVxuXG4vLyBNQVJLOiBEYnhMaXN0XG4vKipcbiAqIERpcmVjdGlvbiB0aGUgc2Nyb2xsIHdhcyB0cmlnZ2VyZWQgbW92aW5nLlxuICovXG5leHBvcnQgdHlwZSBEYnhMaXN0U2Nyb2xsRGlyZWN0aW9uVHJpZ2dlciA9ICd1cCcgfCAnZG93bic7XG5cbi8qKlxuICogVXNlZCB0byB0cmlnZ2VyIHRoZSBsb2FkaW5nIG9mIGFkZGl0aW9uYWwgaXRlbXMuXG4gKlxuICogSWYgYW4gb2JzZXJ2YWJsZSBpcyByZXR1cm5lZCBpdCBpcyB1c2VkIHRvIHRocm90dGxlIHRoZSBsb2FkaW5nIG9mIG1vcmUgaXRlbXMgdW50aWwgaXQgcmV0dXJucy5cbiAqL1xuZXhwb3J0IHR5cGUgRGJ4TGlzdExvYWRNb3JlSGFuZGxlciA9ICgpID0+IE9ic2VydmFibGU8dm9pZD4gfCB2b2lkO1xuXG4vKipcbiAqIERieExpc3RDb21wb25lbnQgY29uZmlndXJhdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYnhMaXN0Q29uZmlnPFQgPSB1bmtub3duLCBWIGV4dGVuZHMgRGJ4TGlzdFZpZXc8VD4gPSBEYnhMaXN0VmlldzxUPj4gZXh0ZW5kcyBEYnhJbmplY3Rpb25Db21wb25lbnRDb25maWc8Vj4ge1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gaGlkZSB0aGUgbGlzdCBjb250ZW50IHdoZW4gaXQgaXMgYW4gZW1wdHkgbGlzdC5cbiAgICovXG4gIHJlYWRvbmx5IGhpZGVPbkVtcHR5PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdGhpcyBsaXN0IHNob3VsZCBzY3JvbGwgdXB3YXJkIGZyb20gdGhlIGJvdHRvbSwgbGlrZSBhIG1lc3NhZ2UgbGlzdC5cbiAgICovXG4gIHJlYWRvbmx5IGludmVydGVkTGlzdD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIERpc3RhbmNlIHRvIHNjcm9sbC5cbiAgICovXG4gIHJlYWRvbmx5IHNjcm9sbERpc3RhbmNlPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBOdW1iZXIgb2YgbXMgdG8gdGhyb3R0bGUgc2Nyb2xsaW5nIGV2ZW50cy5cbiAgICovXG4gIHJlYWRvbmx5IHRocm90dGxlPzogTWlsbGlzZWNvbmRzO1xuXG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIG9uQ2xpY2sgaGFuZGxlclxuICAgKi9cbiAgcmVhZG9ubHkgb25DbGljaz86ICh2YWx1ZTogVCkgPT4gdm9pZDtcblxuICAvKipcbiAgICogKE9wdGlvbmFsKSBvblNlbGVjdGlvbiBoYW5kbGVyXG4gICAqL1xuICByZWFkb25seSBvblNlbGVjdGlvbkNoYW5nZT86IChzZWxlY3Rpb246IExpc3RTZWxlY3Rpb25TdGF0ZTxUPikgPT4gdm9pZDtcblxuICAvKipcbiAgICogKE9wdGlvbmFsKSBoYW5kbGVyIGZ1bmN0aW9uIHRvIGxvYWQgbW9yZSBpdGVtcy5cbiAgICovXG4gIHJlYWRvbmx5IGxvYWRNb3JlPzogRGJ4TGlzdExvYWRNb3JlSGFuZGxlcjtcblxuICAvKipcbiAgICogRGVmYXVsdCBzZWxlY3Rpb24gbGlzdCB2YWx1ZS4gSWYgbm90IGRlZmluZWQsIHdpbGwgZGVmYXVsdCB0byAndmlldycuXG4gICAqL1xuICByZWFkb25seSBkZWZhdWx0U2VsZWN0aW9uTW9kZT86IE1heWJlPERieExpc3RTZWxlY3Rpb25Nb2RlPjtcbn1cblxuZXhwb3J0IHR5cGUgRGJ4TGlzdENvbXBvbmVudFNjcm9sbGVkRXZlbnRQb3NpdGlvbiA9IG51bWJlcjtcblxuZXhwb3J0IGNvbnN0IERCWF9MSVNUX0RFRkFVTFRfU0NST0xMX0RJU1RBTkNFID0gMS41O1xuZXhwb3J0IGNvbnN0IERCWF9MSVNUX0RFRkFVTFRfVEhST1RUTEVfU0NST0xMID0gNTA7XG5cbi8qKlxuICogVXNlZCB0byBkaXNwbGF5IGEgcG90ZW50aWFsbHkgaW5maW5pdGVseSBzY3JvbGxhYmxlIGxpc3Qgb2YgY29udGVudC5cbiAqXG4gKiBUaGlzIGNvbXBvbmVudCBpcyBnZW5lcmFsbHkgd3JhcHBlZCBieSBhbm90aGVyIGNvbXBvbmVudCB0aGF0IHByb3ZpZGVzIHRoaXMgb25lIGNvbmZpZ3VyYXRpb24uXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RieC1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdkLWJsb2NrIGRieC1saXN0JyxcbiAgICAnW2NsYXNzLmRieC1saXN0LXBhZGRlZF0nOiAncGFkZGVkKCknXG4gIH0sXG4gIGltcG9ydHM6IFtEYnhJbmplY3Rpb25Db21wb25lbnQsIEluZmluaXRlU2Nyb2xsRGlyZWN0aXZlLCBEYnhMaXN0SW50ZXJuYWxDb250ZW50RGlyZWN0aXZlLCBEYnhMb2FkaW5nQ29tcG9uZW50XSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRGJ4TGlzdENvbXBvbmVudDxUID0gdW5rbm93biwgViBleHRlbmRzIERieExpc3RWaWV3PFQ+ID0gRGJ4TGlzdFZpZXc8VD4sIFMgZXh0ZW5kcyBMaXN0TG9hZGluZ1N0YXRlPFQ+ID0gTGlzdExvYWRpbmdTdGF0ZTxUPj4gaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIGNvbnRlbnQgaXMgc2Nyb2xsZWQuXG4gICAqL1xuICByZWFkb25seSBjb250ZW50U2Nyb2xsZWQgPSBvdXRwdXQ8RGJ4TGlzdENvbXBvbmVudFNjcm9sbGVkRXZlbnRQb3NpdGlvbj4oKTtcblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gYWRkIGJvdHRvbSBwYWRkaW5nIHRvIHRoZSBsaXN0IGNvbnRlbnQuXG4gICAqL1xuICByZWFkb25seSBwYWRkZWQgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcblxuICByZWFkb25seSBzdGF0ZSA9IGlucHV0PE1heWJlPE9ic2VydmFibGU8TWF5YmU8Uz4+Pj4odW5kZWZpbmVkKTtcbiAgcmVhZG9ubHkgY29uZmlnID0gaW5wdXQ8TWF5YmU8RGJ4TGlzdENvbmZpZzxULCBWPj4+KHVuZGVmaW5lZCk7XG5cbiAgcmVhZG9ubHkgZGlzYWJsZWQgPSBpbnB1dDxNYXliZTxib29sZWFuPj4oZmFsc2UpO1xuICByZWFkb25seSBzZWxlY3Rpb25Nb2RlID0gaW5wdXQ8TWF5YmU8RGJ4TGlzdFNlbGVjdGlvbk1vZGU+Pih1bmRlZmluZWQpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2ludGVybmFsQ29udGVudFNpZ25hbCA9IHNpZ25hbDxNYXliZTxEYnhMaXN0SW50ZXJuYWxDb250ZW50RGlyZWN0aXZlPj4odW5kZWZpbmVkKTtcbiAgcmVhZG9ubHkgbmF0aXZlRWxlbWVudFNpZ25hbCA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLl9pbnRlcm5hbENvbnRlbnRTaWduYWwoKT8uZWxlbWVudFJlZiBhcyBNYXliZTxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4pPy5uYXRpdmVFbGVtZW50KTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9sb2FkTW9yZVRyaWdnZXIgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9zY3JvbGxUcmlnZ2VyID0gbmV3IFN1YmplY3Q8RGJ4TGlzdFNjcm9sbERpcmVjdGlvblRyaWdnZXI+KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfbG9hZE1vcmVTdWIgPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX29uQ2xpY2tTdWIgPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rpc2FibGVkU3ViID0gbmV3IFN1YnNjcmlwdGlvbk9iamVjdCgpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9zZWxlY3Rpb25Nb2RlU3ViID0gbmV3IFN1YnNjcmlwdGlvbk9iamVjdCgpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9vblNlbGVjdGlvbkNoYW5nZVN1YiA9IG5ldyBTdWJzY3JpcHRpb25PYmplY3QoKTtcblxuICByZWFkb25seSBjdXJyZW50U3RhdGUkOiBPYnNlcnZhYmxlPE1heWJlPFM+PiA9IHRvT2JzZXJ2YWJsZSh0aGlzLnN0YXRlKS5waXBlKHN3aXRjaE1hcE1heWJlKCkpO1xuICByZWFkb25seSBjb250ZXh0ID0gbGlzdExvYWRpbmdTdGF0ZUNvbnRleHQ8VCwgUz4oeyBvYnM6IHRoaXMuY3VycmVudFN0YXRlJCwgc2hvd0xvYWRpbmdPbk5vVmFsdWU6IGZhbHNlIH0pO1xuXG4gIHJlYWRvbmx5IGlzRW1wdHkkID0gdGhpcy5jb250ZXh0LmlzRW1wdHkkO1xuICByZWFkb25seSBpc0VtcHR5TG9hZGluZyQgPSB0aGlzLmNvbnRleHQuaXNFbXB0eUxvYWRpbmckO1xuICByZWFkb25seSBpc0VtcHR5QW5kTm90TG9hZGluZyQgPSB0aGlzLmNvbnRleHQuaXNFbXB0eUFuZE5vdExvYWRpbmckO1xuXG4gIHJlYWRvbmx5IGNvbmZpZyQgPSB0b09ic2VydmFibGUodGhpcy5jb25maWcpO1xuICByZWFkb25seSBkaXNhYmxlZCQgPSB0b09ic2VydmFibGUodGhpcy5kaXNhYmxlZCkucGlwZShcbiAgICBtYXAoKHgpID0+IEJvb2xlYW4oeCkpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBzZWxlY3Rpb25Nb2RlJCA9IHRvT2JzZXJ2YWJsZSh0aGlzLnNlbGVjdGlvbk1vZGUpLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgc2hhcmVSZXBsYXkoMSkpO1xuXG4gIHJlYWRvbmx5IGhpZGVPbkVtcHR5JDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuY29uZmlnJC5waXBlKFxuICAgIGZpbHRlck1heWJlKCksXG4gICAgbWFwKCh4KSA9PiBCb29sZWFuKHguaGlkZU9uRW1wdHkpKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgaW52ZXJ0ZWRMaXN0JDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuY29uZmlnJC5waXBlKFxuICAgIGZpbHRlck1heWJlKCksXG4gICAgbWFwKCh4KSA9PiBCb29sZWFuKHg/LnRocm90dGxlKSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IHRocm90dGxlU2Nyb2xsJDogT2JzZXJ2YWJsZTxudW1iZXI+ID0gdGhpcy5jb25maWckLnBpcGUoXG4gICAgbWFwKCh4KSA9PiB4Py50aHJvdHRsZSA/PyBEQlhfTElTVF9ERUZBVUxUX1RIUk9UVExFX1NDUk9MTCksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IHNjcm9sbERpc3RhbmNlJDogT2JzZXJ2YWJsZTxudW1iZXI+ID0gdGhpcy5jb25maWckLnBpcGUoXG4gICAgbWFwKCh4KSA9PiB4Py5zY3JvbGxEaXN0YW5jZSA/PyBEQlhfTElTVF9ERUZBVUxUX1NDUk9MTF9ESVNUQU5DRSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IHNjcm9sbExvYWRNb3JlVHJpZ2dlciQgPSB0aGlzLmNvbmZpZyQucGlwZShcbiAgICBzd2l0Y2hNYXAoKGNvbmZpZykgPT4ge1xuICAgICAgY29uc3QgbG9hZE5leHREaXJlY3Rpb24gPSBjb25maWc/LmludmVydGVkTGlzdCA/ICd1cCcgOiAnZG93bic7XG4gICAgICByZXR1cm4gdGhpcy5fc2Nyb2xsVHJpZ2dlci5waXBlKGZpbHRlcigoeCkgPT4geCA9PT0gbG9hZE5leHREaXJlY3Rpb24pKTtcbiAgICB9KVxuICApO1xuXG4gIHJlYWRvbmx5IGxvYWRNb3JlJCA9IG1lcmdlKHRoaXMuc2Nyb2xsTG9hZE1vcmVUcmlnZ2VyJCwgdGhpcy5fbG9hZE1vcmVUcmlnZ2VyKTtcblxuICByZWFkb25seSBpbmplY3RlZENvbXBvbmVudENvbmZpZyQ6IE9ic2VydmFibGU8TWF5YmU8RGJ4SW5qZWN0aW9uQ29tcG9uZW50Q29uZmlnPFY+Pj4gPSB0aGlzLmNvbmZpZyQucGlwZShcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIG1hcCgoY29uZmlnKSA9PiB7XG4gICAgICBsZXQgaW5qZWN0ZWRDb21wb25lbnRDb25maWc6IE1heWJlPERieEluamVjdGlvbkNvbXBvbmVudENvbmZpZzxWPj47XG5cbiAgICAgIGlmIChjb25maWcpIHtcbiAgICAgICAgY29uc3QgeyBjb21wb25lbnRDbGFzcywgaW5pdCwgb25DbGljaywgb25TZWxlY3Rpb25DaGFuZ2UsIGxvYWRNb3JlLCBkZWZhdWx0U2VsZWN0aW9uTW9kZSA9ICd2aWV3JyB9ID0gY29uZmlnO1xuXG4gICAgICAgIGluamVjdGVkQ29tcG9uZW50Q29uZmlnID0ge1xuICAgICAgICAgIGNvbXBvbmVudENsYXNzOiBjb25maWcuY29tcG9uZW50Q2xhc3MsXG4gICAgICAgICAgaW5qZWN0b3I6IGNvbmZpZy5pbmplY3RvcixcbiAgICAgICAgICBpbml0OiAoaW5zdGFuY2U6IFYpID0+IHtcbiAgICAgICAgICAgIC8vIFN5bmNocm9uaXplIGRpc2FibGVkXG4gICAgICAgICAgICB0aGlzLl9kaXNhYmxlZFN1Yi5zdWJzY3JpcHRpb24gPSB0aGlzLmRpc2FibGVkJC5zdWJzY3JpYmUoKGRpc2FibGVkKSA9PiBpbnN0YW5jZS5zZXREaXNhYmxlZChkaXNhYmxlZCkpO1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0aW9uTW9kZVN1Yi5zdWJzY3JpcHRpb24gPSB0aGlzLnNlbGVjdGlvbk1vZGUkLnN1YnNjcmliZSgoc2VsZWN0aW9uTW9kZSkgPT4gaW5zdGFuY2Uuc2V0U2VsZWN0aW9uTW9kZShzZWxlY3Rpb25Nb2RlID8/IGRlZmF1bHRTZWxlY3Rpb25Nb2RlKSk7XG5cbiAgICAgICAgICAgIGlmIChpbml0KSB7XG4gICAgICAgICAgICAgIGluaXQoaW5zdGFuY2UpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbnN0YW5jZS5zZXRMaXN0Q29udGV4dCh0aGlzLmNvbnRleHQpO1xuXG4gICAgICAgICAgICBpZiAobG9hZE1vcmUpIHtcbiAgICAgICAgICAgICAgdGhpcy5fbG9hZE1vcmVTdWIuc3Vic2NyaXB0aW9uID0gdGhpcy5sb2FkTW9yZSRcbiAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgIC8vIFRocm90dGxlIGFkZGl0aW9uYWwgbG9hZGluZyBjYWxscyB1c2luZyBleGhhdXN0TWFwIHVudGlsIG9ic2VydmFibGUgcmV0dXJucywgaWYgb25lIGlzIHJldHVybmVkLlxuICAgICAgICAgICAgICAgICAgZXhoYXVzdE1hcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGxvYWRNb3JlKCk7XG4gICAgICAgICAgICAgICAgICAgIGxldCBvYnM6IE9ic2VydmFibGU8dm9pZD47XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAgICAgICAgICAgICAgIG9icyA9IHJlc3VsdC5waXBlKGNhdGNoRXJyb3IoKCkgPT4gb2YoKSkpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgIG9icyA9IG9mKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2JzO1xuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAob25DbGljaykge1xuICAgICAgICAgICAgICBpZiAoaW5zdGFuY2UuY2xpY2tWYWx1ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX29uQ2xpY2tTdWIuc3Vic2NyaXB0aW9uID0gaW5zdGFuY2UuY2xpY2tWYWx1ZS5zdWJzY3JpYmUob25DbGljayk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihgb25DbGljaygpIHdhcyBwYXNzZWQgdG8gbGlzdENvbmZpZywgYnV0IHRhcmdldCBjbGFzcyAke2NvbXBvbmVudENsYXNzfSBoYXMgbm8gY2xpY2tlZCBldmVudCBlbWl0dGVyLmApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChvblNlbGVjdGlvbkNoYW5nZSkge1xuICAgICAgICAgICAgICBpZiAoaW5zdGFuY2Uuc2VsZWN0aW9uQ2hhbmdlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fb25TZWxlY3Rpb25DaGFuZ2VTdWIuc3Vic2NyaXB0aW9uID0gaW5zdGFuY2Uuc2VsZWN0aW9uQ2hhbmdlLnN1YnNjcmliZShvblNlbGVjdGlvbkNoYW5nZSk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihgb25TZWxlY3Rpb25DaGFuZ2UoKSB3YXMgcGFzc2VkIHRvIGxpc3RDb25maWcsIGJ1dCB0YXJnZXQgY2xhc3MgJHtjb21wb25lbnRDbGFzc30gaGFzIG5vIHNlbGVjdGlvbkNoYW5nZSBldmVudCBlbWl0dGVyLmApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gaW5qZWN0ZWRDb21wb25lbnRDb25maWc7XG4gICAgfSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IGhpZGVDb250ZW50JDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuY29udGV4dC5jdXJyZW50U3RhdGVTdHJlYW0kLnBpcGUoXG4gICAgc3dpdGNoTWFwKCgpID0+XG4gICAgICB0aGlzLmNvbnRleHQuc3RhdGUkLnBpcGUoXG4gICAgICAgIGZpbHRlcigoeCkgPT4gaXNMb2FkaW5nU3RhdGVGaW5pc2hlZExvYWRpbmcoeCkpLFxuICAgICAgICBmaXJzdCgpLFxuICAgICAgICBzdGFydFdpdGhCZWdpbkxvYWRpbmcoKVxuICAgICAgKVxuICAgICksXG4gICAgc3dpdGNoTWFwKChzdGF0ZSkgPT4ge1xuICAgICAgaWYgKHN0YXRlPy5sb2FkaW5nKSB7XG4gICAgICAgIHJldHVybiBvZih0cnVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmhpZGVPbkVtcHR5JC5waXBlKFxuICAgICAgICAgIHN3aXRjaE1hcCgoaGlkZSkgPT4gKGhpZGUgPT09IGZhbHNlID8gb2YoZmFsc2UpIDogdGhpcy5pc0VtcHR5JCkpLFxuICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9KSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgaW5maW5pdGVTY3JvbGxEaXN0YW5jZVNpZ25hbCA9IHRvU2lnbmFsKHRoaXMuc2Nyb2xsRGlzdGFuY2UkLCB7IGluaXRpYWxWYWx1ZTogREJYX0xJU1RfREVGQVVMVF9TQ1JPTExfRElTVEFOQ0UgfSk7XG4gIHJlYWRvbmx5IGluZmluaXRlU2Nyb2xsVGhyb3R0bGVTaWduYWwgPSB0b1NpZ25hbCh0aGlzLnRocm90dGxlU2Nyb2xsJCwgeyBpbml0aWFsVmFsdWU6IERCWF9MSVNUX0RFRkFVTFRfVEhST1RUTEVfU0NST0xMIH0pO1xuICByZWFkb25seSBoaWRlQ29udGVudFNpZ25hbCA9IHRvU2lnbmFsKHRoaXMuaGlkZUNvbnRlbnQkKTtcbiAgcmVhZG9ubHkgaW5qZWN0ZWRDb21wb25lbnRDb25maWdTaWduYWwgPSB0b1NpZ25hbCh0aGlzLmluamVjdGVkQ29tcG9uZW50Q29uZmlnJCk7XG4gIHJlYWRvbmx5IGlzRW1wdHlBbmROb3RMb2FkaW5nU2lnbmFsID0gdG9TaWduYWwodGhpcy5pc0VtcHR5QW5kTm90TG9hZGluZyQpO1xuICByZWFkb25seSBpc0VtcHR5TG9hZGluZ1NpZ25hbCA9IHRvU2lnbmFsKHRoaXMuaXNFbXB0eUxvYWRpbmckKTtcblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zY3JvbGxUcmlnZ2VyLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fbG9hZE1vcmVUcmlnZ2VyLmNvbXBsZXRlKCk7XG5cbiAgICB0aGlzLl9vbkNsaWNrU3ViLmRlc3Ryb3koKTtcbiAgICB0aGlzLl9sb2FkTW9yZVN1Yi5kZXN0cm95KCk7XG4gICAgdGhpcy5fb25TZWxlY3Rpb25DaGFuZ2VTdWIuZGVzdHJveSgpO1xuICAgIHRoaXMuX2Rpc2FibGVkU3ViLmRlc3Ryb3koKTtcblxuICAgIHRoaXMuY29udGV4dC5kZXN0cm95KCk7XG4gIH1cblxuICBnZXRTY3JvbGxQb3NpdGlvblJlbGF0aXZlVG9Cb3R0b20oKTogbnVtYmVyIHtcbiAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5uYXRpdmVFbGVtZW50U2lnbmFsKCk7XG5cbiAgICBpZiAoZWxlbWVudCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gQXQgbWF4IHNjcm9sbCwgc2Nyb2xsSGVpZ2h0ID0gc2Nyb2xsVG9wICsgY2xpZW50SGVpZ2h0O1xuICAgICAgICBjb25zdCB7IHNjcm9sbFRvcCwgc2Nyb2xsSGVpZ2h0LCBjbGllbnRIZWlnaHQgfSA9IGVsZW1lbnQ7XG4gICAgICAgIHJldHVybiBzY3JvbGxIZWlnaHQgLSAoc2Nyb2xsVG9wICsgY2xpZW50SGVpZ2h0KTtcbiAgICAgIH0gY2F0Y2ggKGUpIHt9XG4gICAgfVxuXG4gICAgcmV0dXJuIDA7XG4gIH1cblxuICBqdW1wVG9Cb3R0b20oKTogdm9pZCB7XG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXMubmF0aXZlRWxlbWVudFNpZ25hbCgpO1xuXG4gICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGVsZW1lbnQuc2Nyb2xsVG9wID0gZWxlbWVudC5zY3JvbGxIZWlnaHQ7XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgLy8gZG8gbm90aGluZy5cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBqdW1wVG9Qb3NpdGlvblJlbGF0aXZlVG9Cb3R0b20ocG9zOiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5uYXRpdmVFbGVtZW50U2lnbmFsKCk7XG5cbiAgICBpZiAoZWxlbWVudCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyBzY3JvbGxIZWlnaHQsIGNsaWVudEhlaWdodCB9ID0gZWxlbWVudDtcbiAgICAgICAgZWxlbWVudC5zY3JvbGxUb3AgPSBzY3JvbGxIZWlnaHQgLSAoY2xpZW50SGVpZ2h0ICsgcG9zKTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAvLyBkbyBub3RoaW5nLlxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG9uU2Nyb2xsRG93bigpOiB2b2lkIHtcbiAgICB0aGlzLl9zY3JvbGxUcmlnZ2VyLm5leHQoJ2Rvd24nKTtcbiAgfVxuXG4gIG9uU2Nyb2xsVXAoKTogdm9pZCB7XG4gICAgdGhpcy5fc2Nyb2xsVHJpZ2dlci5uZXh0KCd1cCcpO1xuICB9XG5cbiAgbG9hZE1vcmUoKTogdm9pZCB7XG4gICAgdGhpcy5fbG9hZE1vcmVUcmlnZ2VyLm5leHQoKTtcbiAgfVxuXG4gIC8vIE1BUks6IEludGVybmFsXG4gIHNldEludGVybmFsQ29udGVudChjb250ZW50OiBEYnhMaXN0SW50ZXJuYWxDb250ZW50RGlyZWN0aXZlKSB7XG4gICAgaWYgKHRoaXMuX2ludGVybmFsQ29udGVudFNpZ25hbCgpID09IG51bGwpIHtcbiAgICAgIHRoaXMuX2ludGVybmFsQ29udGVudFNpZ25hbC5zZXQoY29udGVudCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQXR0ZW1wdGVkIHRvIHNldCBpbnRlcm5hbCBjb250ZW50IGluIERieExpc3RDb21wb25lbnQgd2hlbiBpdCB3YXMgYWxyZWFkeSBzZXQuJyk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGJ4LWxvYWRpbmcgW2NvbnRleHRdPVwiY29udGV4dFwiIFtsaW5lYXJdPVwidHJ1ZVwiPjwvZGJ4LWxvYWRpbmc+XG48ZGl2IGRieExpc3RJbnRlcm5hbENvbnRlbnQgW2hpZGVdPVwiaGlkZUNvbnRlbnRTaWduYWwoKVwiIGluZmluaXRlLXNjcm9sbCBbaW5maW5pdGVTY3JvbGxEaXN0YW5jZV09XCJpbmZpbml0ZVNjcm9sbERpc3RhbmNlU2lnbmFsKClcIiBbaW5maW5pdGVTY3JvbGxVcERpc3RhbmNlXT1cImluZmluaXRlU2Nyb2xsRGlzdGFuY2VTaWduYWwoKVwiIFtpbmZpbml0ZVNjcm9sbFRocm90dGxlXT1cImluZmluaXRlU2Nyb2xsVGhyb3R0bGVTaWduYWwoKVwiIFtzY3JvbGxXaW5kb3ddPVwiZmFsc2VcIiAoc2Nyb2xsZWQpPVwib25TY3JvbGxEb3duKClcIiAoc2Nyb2xsZWRVcCk9XCJvblNjcm9sbFVwKClcIj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3RvcF1cIj48L25nLWNvbnRlbnQ+XG4gIDxkYngtaW5qZWN0aW9uIFtjb25maWddPVwiaW5qZWN0ZWRDb21wb25lbnRDb25maWdTaWduYWwoKVwiPjwvZGJ4LWluamVjdGlvbj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2JvdHRvbV1cIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbkBpZiAoaXNFbXB0eUFuZE5vdExvYWRpbmdTaWduYWwoKSkge1xuICA8bmctY29udGVudCBzZWxlY3Q9XCJbZW1wdHldXCI+PC9uZy1jb250ZW50PlxufVxuQGlmIChpc0VtcHR5TG9hZGluZ1NpZ25hbCgpKSB7XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIltlbXB0eUxvYWRpbmddXCI+PC9uZy1jb250ZW50PlxufVxuIl19
@@ -1,17 +1,17 @@
1
- import { Component } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  /**
4
4
  * Component that is centered for use within an empty list.
5
5
  */
6
6
  export class DbxListEmptyContentComponent {
7
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxListEmptyContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DbxListEmptyContentComponent, selector: "dbx-list-empty-content", ngImport: i0, template: `
7
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxListEmptyContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DbxListEmptyContentComponent, isStandalone: true, selector: "dbx-list-empty-content", ngImport: i0, template: `
9
9
  <div class="dbx-list-empty-content">
10
10
  <ng-content></ng-content>
11
11
  </div>
12
- `, isInline: true });
12
+ `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
13
13
  }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxListEmptyContentComponent, decorators: [{
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxListEmptyContentComponent, decorators: [{
15
15
  type: Component,
16
16
  args: [{
17
17
  selector: 'dbx-list-empty-content',
@@ -19,7 +19,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
19
19
  <div class="dbx-list-empty-content">
20
20
  <ng-content></ng-content>
21
21
  </div>
22
- `
22
+ `,
23
+ standalone: true,
24
+ changeDetection: ChangeDetectionStrategy.OnPush
23
25
  }]
24
26
  }] });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb250ZW50LmVtcHR5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9sYXlvdXQvbGlzdC9saXN0LmNvbnRlbnQuZW1wdHkuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTFDOztHQUVHO0FBU0gsTUFBTSxPQUFPLDRCQUE0Qjt3R0FBNUIsNEJBQTRCOzRGQUE1Qiw0QkFBNEIsOERBTjdCOzs7O0dBSVQ7OzRGQUVVLDRCQUE0QjtrQkFSeEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxRQUFRLEVBQUU7Ozs7R0FJVDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIENvbXBvbmVudCB0aGF0IGlzIGNlbnRlcmVkIGZvciB1c2Ugd2l0aGluIGFuIGVtcHR5IGxpc3QuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RieC1saXN0LWVtcHR5LWNvbnRlbnQnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJkYngtbGlzdC1lbXB0eS1jb250ZW50XCI+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIGBcbn0pXG5leHBvcnQgY2xhc3MgRGJ4TGlzdEVtcHR5Q29udGVudENvbXBvbmVudCB7fVxuIl19
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb250ZW50LmVtcHR5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9sYXlvdXQvbGlzdC9saXN0LmNvbnRlbnQuZW1wdHkuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRW5FOztHQUVHO0FBV0gsTUFBTSxPQUFPLDRCQUE0Qjt3R0FBNUIsNEJBQTRCOzRGQUE1Qiw0QkFBNEIsa0ZBUjdCOzs7O0dBSVQ7OzRGQUlVLDRCQUE0QjtrQkFWeEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxRQUFRLEVBQUU7Ozs7R0FJVDtvQkFDRCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIENvbXBvbmVudCB0aGF0IGlzIGNlbnRlcmVkIGZvciB1c2Ugd2l0aGluIGFuIGVtcHR5IGxpc3QuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RieC1saXN0LWVtcHR5LWNvbnRlbnQnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJkYngtbGlzdC1lbXB0eS1jb250ZW50XCI+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIERieExpc3RFbXB0eUNvbnRlbnRDb21wb25lbnQge31cbiJdfQ==