@dereekb/dbx-web 0.0.1 → 1.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 (470) hide show
  1. package/README.md +4 -5
  2. package/_index.scss +27 -0
  3. package/esm2020/index.mjs +1 -2
  4. package/esm2020/lib/action/action.confirm.directive.mjs +5 -5
  5. package/esm2020/lib/action/action.module.mjs +35 -35
  6. package/esm2020/lib/action/action.snackbar.component.mjs +10 -11
  7. package/esm2020/lib/action/key.trigger.directive.mjs +5 -5
  8. package/esm2020/lib/action/transition/action.transition.module.mjs +29 -29
  9. package/esm2020/lib/action/transition/transition.safety.dialog.component.mjs +18 -18
  10. package/esm2020/lib/action/transition/transition.safety.directive.mjs +20 -38
  11. package/esm2020/lib/button/button.component.mjs +19 -19
  12. package/esm2020/lib/button/button.module.mjs +21 -27
  13. package/esm2020/lib/button/button.spacer.component.mjs +6 -7
  14. package/esm2020/lib/dbx-web.module.mjs +28 -30
  15. package/esm2020/lib/error/error.action.directive.mjs +7 -7
  16. package/esm2020/lib/error/error.component.mjs +5 -5
  17. package/esm2020/lib/error/error.loading.directive.mjs +7 -7
  18. package/esm2020/lib/error/error.module.mjs +19 -19
  19. package/esm2020/lib/index.mjs +3 -2
  20. package/esm2020/lib/interaction/dialog/abstract.dialog.directive.mjs +18 -9
  21. package/esm2020/lib/interaction/dialog/dialog.content.component.mjs +25 -0
  22. package/esm2020/lib/interaction/dialog/dialog.module.mjs +33 -0
  23. package/esm2020/lib/interaction/dialog/index.mjs +3 -1
  24. package/esm2020/lib/interaction/filter/filter.module.mjs +62 -0
  25. package/esm2020/lib/interaction/filter/filter.popover.button.component.mjs +32 -0
  26. package/esm2020/lib/interaction/filter/filter.popover.button.directive.mjs +38 -0
  27. package/esm2020/lib/interaction/filter/filter.popover.component.mjs +90 -0
  28. package/esm2020/lib/interaction/filter/filter.wrapper.component.mjs +33 -0
  29. package/esm2020/lib/interaction/filter/index.mjs +6 -0
  30. package/esm2020/lib/interaction/index.mjs +3 -1
  31. package/esm2020/lib/interaction/interaction.module.mjs +33 -0
  32. package/esm2020/lib/interaction/popover/abstract.popover.directive.mjs +6 -6
  33. package/esm2020/lib/interaction/popover/index.mjs +3 -2
  34. package/esm2020/lib/interaction/popover/popover.action.button.directive.mjs +10 -10
  35. package/esm2020/lib/interaction/popover/popover.action.directive.mjs +5 -5
  36. package/esm2020/lib/interaction/popover/popover.component.mjs +24 -35
  37. package/esm2020/lib/interaction/popover/popover.content.component.mjs +13 -21
  38. package/esm2020/lib/interaction/popover/popover.controls.directive.mjs +28 -0
  39. package/esm2020/lib/interaction/popover/popover.coordinator.component.mjs +8 -8
  40. package/esm2020/lib/interaction/popover/popover.coordinator.service.mjs +5 -5
  41. package/esm2020/lib/interaction/popover/popover.header.component.mjs +10 -11
  42. package/esm2020/lib/interaction/popover/popover.mjs +2 -2
  43. package/esm2020/lib/interaction/popover/popover.module.mjs +71 -63
  44. package/esm2020/lib/interaction/popover/popover.scroll.content.component.mjs +12 -18
  45. package/esm2020/lib/interaction/popover/popover.service.mjs +7 -7
  46. package/esm2020/lib/interaction/popup/abstract.popup.directive.mjs +4 -4
  47. package/esm2020/lib/interaction/popup/index.mjs +2 -1
  48. package/esm2020/lib/interaction/popup/popup.component.mjs +27 -42
  49. package/esm2020/lib/interaction/popup/popup.content.component.mjs +13 -15
  50. package/esm2020/lib/interaction/popup/popup.controls.buttons.component.mjs +13 -15
  51. package/esm2020/lib/interaction/popup/popup.controls.component.mjs +9 -11
  52. package/esm2020/lib/interaction/popup/popup.coordinator.component.mjs +9 -10
  53. package/esm2020/lib/interaction/popup/popup.coordinator.service.mjs +5 -5
  54. package/esm2020/lib/interaction/popup/popup.mjs +8 -8
  55. package/esm2020/lib/interaction/popup/popup.module.mjs +54 -46
  56. package/esm2020/lib/interaction/popup/popup.position.strategy.mjs +8 -12
  57. package/esm2020/lib/interaction/popup/popup.service.mjs +9 -8
  58. package/esm2020/lib/interaction/prompt/prompt.box.component.mjs +10 -22
  59. package/esm2020/lib/interaction/prompt/prompt.button.confirm.directive.mjs +9 -9
  60. package/esm2020/lib/interaction/prompt/prompt.component.mjs +24 -9
  61. package/esm2020/lib/interaction/prompt/prompt.confirm.component.mjs +11 -11
  62. package/esm2020/lib/interaction/prompt/prompt.confirm.dialog.component.mjs +40 -15
  63. package/esm2020/lib/interaction/prompt/prompt.confirm.directive.mjs +11 -21
  64. package/esm2020/lib/interaction/prompt/prompt.confirm.mjs +6 -5
  65. package/esm2020/lib/interaction/prompt/prompt.module.mjs +61 -52
  66. package/esm2020/lib/interaction/prompt/prompt.page.component.mjs +20 -22
  67. package/esm2020/lib/keypress/keydown.listener.directive.mjs +5 -5
  68. package/esm2020/lib/keypress/keypress.module.mjs +9 -9
  69. package/esm2020/lib/layout/bar/bar.directive.mjs +24 -0
  70. package/esm2020/lib/layout/bar/bar.header.component.mjs +39 -0
  71. package/esm2020/lib/layout/bar/bar.layout.module.mjs +47 -0
  72. package/esm2020/lib/layout/bar/bar.mjs +2 -0
  73. package/esm2020/lib/layout/bar/index.mjs +5 -0
  74. package/esm2020/lib/layout/bar/pagebar.component.mjs +15 -0
  75. package/esm2020/lib/layout/block/block.layout.module.mjs +14 -14
  76. package/esm2020/lib/layout/block/two.block.component.mjs +5 -5
  77. package/esm2020/lib/layout/card/card.box.component.mjs +5 -5
  78. package/esm2020/lib/layout/card/card.box.container.component.mjs +5 -5
  79. package/esm2020/lib/layout/card/card.box.layout.module.mjs +15 -15
  80. package/esm2020/lib/layout/column/column.layout.module.mjs +12 -12
  81. package/esm2020/lib/layout/column/one/one.column.component.mjs +6 -6
  82. package/esm2020/lib/layout/column/one/one.column.module.mjs +13 -13
  83. package/esm2020/lib/layout/column/two/two.column.back.directive.mjs +6 -6
  84. package/esm2020/lib/layout/column/two/two.column.component.mjs +5 -5
  85. package/esm2020/lib/layout/column/two/two.column.full.left.directive.mjs +6 -6
  86. package/esm2020/lib/layout/column/two/two.column.head.component.mjs +5 -5
  87. package/esm2020/lib/layout/column/two/two.column.module.mjs +42 -42
  88. package/esm2020/lib/layout/column/two/two.column.right.component.mjs +6 -6
  89. package/esm2020/lib/layout/column/two/two.column.sref.directive.mjs +6 -6
  90. package/esm2020/lib/layout/compact/compact.directive.mjs +5 -5
  91. package/esm2020/lib/layout/compact/compact.layout.module.mjs +9 -9
  92. package/esm2020/lib/layout/content/content.border.directive.mjs +19 -0
  93. package/esm2020/lib/layout/content/content.box.directive.mjs +25 -0
  94. package/esm2020/lib/layout/content/content.container.directive.mjs +28 -0
  95. package/esm2020/lib/layout/content/content.directive.mjs +19 -0
  96. package/esm2020/lib/layout/content/content.elevate.directive.mjs +19 -0
  97. package/esm2020/lib/layout/content/content.layout.module.mjs +34 -24
  98. package/esm2020/lib/layout/content/content.page.directive.mjs +19 -0
  99. package/esm2020/lib/layout/content/index.mjs +7 -5
  100. package/esm2020/lib/layout/flag/flag.component.mjs +5 -5
  101. package/esm2020/lib/layout/flag/flag.layout.module.mjs +15 -15
  102. package/esm2020/lib/layout/flag/flag.prompt.component.mjs +6 -6
  103. package/esm2020/lib/layout/flex/flex.group.directive.mjs +53 -0
  104. package/esm2020/lib/layout/flex/flex.layout.module.mjs +31 -0
  105. package/esm2020/lib/layout/flex/flex.mjs +2 -0
  106. package/esm2020/lib/layout/flex/flex.size.directive.mjs +25 -0
  107. package/esm2020/lib/layout/flex/index.mjs +5 -0
  108. package/esm2020/lib/layout/index.mjs +5 -2
  109. package/esm2020/lib/layout/item/item.icon.component.mjs +5 -5
  110. package/esm2020/lib/layout/item/item.layout.module.mjs +10 -10
  111. package/esm2020/lib/layout/layout.module.mjs +60 -48
  112. package/esm2020/lib/layout/list/index.mjs +12 -2
  113. package/esm2020/lib/layout/list/list.component.mjs +232 -0
  114. package/esm2020/lib/layout/list/list.content.empty.component.mjs +26 -0
  115. package/esm2020/lib/layout/list/list.directive.mjs +78 -0
  116. package/esm2020/lib/layout/list/list.layout.module.mjs +56 -11
  117. package/esm2020/lib/layout/list/list.view.directive.mjs +50 -0
  118. package/esm2020/lib/layout/list/list.view.mjs +13 -0
  119. package/esm2020/lib/layout/list/list.view.selection.directive.mjs +32 -0
  120. package/esm2020/lib/layout/list/list.view.value.component.mjs +61 -0
  121. package/esm2020/lib/layout/list/list.view.value.directive.mjs +35 -0
  122. package/esm2020/lib/layout/list/list.view.value.item.directive.mjs +20 -0
  123. package/esm2020/lib/layout/list/list.view.value.mjs +30 -0
  124. package/esm2020/lib/layout/list/list.view.value.selection.component.mjs +88 -0
  125. package/esm2020/lib/layout/section/index.mjs +3 -4
  126. package/esm2020/lib/layout/section/section.component.mjs +21 -32
  127. package/esm2020/lib/layout/section/section.header.component.mjs +79 -0
  128. package/esm2020/lib/layout/section/section.intro.component.mjs +7 -8
  129. package/esm2020/lib/layout/section/section.layout.module.mjs +34 -44
  130. package/esm2020/lib/layout/section/section.mjs +2 -0
  131. package/esm2020/lib/layout/section/section.page.component.mjs +17 -30
  132. package/esm2020/lib/layout/section/subsection.component.mjs +16 -14
  133. package/esm2020/lib/layout/step/step.component.mjs +5 -5
  134. package/esm2020/lib/layout/step/step.layout.module.mjs +10 -10
  135. package/esm2020/lib/layout/style/index.mjs +7 -0
  136. package/esm2020/lib/layout/style/spacer.directive.mjs +16 -0
  137. package/esm2020/lib/layout/style/style.body.directive.mjs +35 -0
  138. package/esm2020/lib/layout/style/style.directive.mjs +32 -0
  139. package/esm2020/lib/layout/style/style.layout.module.mjs +41 -0
  140. package/esm2020/lib/layout/style/style.service.mjs +76 -0
  141. package/esm2020/lib/layout/style/style.set.directive.mjs +69 -0
  142. package/esm2020/lib/layout/text/hint.component.mjs +17 -0
  143. package/esm2020/lib/layout/text/index.mjs +11 -0
  144. package/esm2020/lib/layout/text/label.component.mjs +17 -0
  145. package/esm2020/lib/layout/text/linkify.component.mjs +47 -0
  146. package/esm2020/lib/layout/text/note.component.mjs +17 -0
  147. package/esm2020/lib/layout/text/notice.component.mjs +17 -0
  148. package/esm2020/lib/layout/text/ok.component.mjs +17 -0
  149. package/esm2020/lib/layout/text/success.component.mjs +17 -0
  150. package/esm2020/lib/layout/text/text.chips.component.mjs +31 -0
  151. package/esm2020/lib/layout/text/text.module.mjs +78 -0
  152. package/esm2020/lib/layout/text/warn.component.mjs +17 -0
  153. package/esm2020/lib/loading/basic-loading.component.mjs +6 -6
  154. package/esm2020/lib/loading/loading-progress.component.mjs +5 -5
  155. package/esm2020/lib/loading/loading.component.mjs +6 -6
  156. package/esm2020/lib/loading/loading.module.mjs +27 -27
  157. package/esm2020/lib/router/index.mjs +2 -2
  158. package/esm2020/lib/router/layout/anchor/anchor.component.mjs +50 -0
  159. package/esm2020/lib/router/layout/anchor/anchor.icon.component.mjs +30 -0
  160. package/esm2020/lib/router/layout/anchor/anchor.link.component.mjs +49 -0
  161. package/esm2020/lib/router/layout/anchor/anchor.module.mjs +48 -0
  162. package/esm2020/lib/router/layout/anchor/anchor.segue.directive.mjs +29 -0
  163. package/esm2020/lib/router/layout/anchor/index.mjs +6 -0
  164. package/esm2020/lib/router/layout/anchorlist/anchorlist.component.mjs +34 -0
  165. package/esm2020/lib/router/layout/anchorlist/anchorlist.module.mjs +50 -0
  166. package/esm2020/lib/router/layout/anchorlist/index.mjs +3 -0
  167. package/esm2020/lib/router/layout/index.mjs +6 -0
  168. package/esm2020/lib/router/layout/layout.module.mjs +29 -0
  169. package/esm2020/lib/router/layout/navbar/index.mjs +3 -0
  170. package/esm2020/lib/router/layout/navbar/navbar.component.mjs +75 -0
  171. package/esm2020/lib/router/layout/navbar/navbar.module.mjs +46 -0
  172. package/esm2020/lib/router/layout/sidenav/index.mjs +9 -0
  173. package/esm2020/lib/router/layout/sidenav/sidenav.button.component.mjs +39 -0
  174. package/esm2020/lib/router/layout/sidenav/sidenav.component.mjs +133 -0
  175. package/esm2020/lib/router/layout/sidenav/sidenav.module.mjs +89 -0
  176. package/esm2020/lib/router/layout/sidenav/sidenav.page.component.mjs +59 -0
  177. package/esm2020/lib/router/layout/sidenav/sidenav.pagebar.component.mjs +39 -0
  178. package/esm2020/lib/router/provider/ngrouter/anchor.component.mjs +7 -7
  179. package/esm2020/lib/router/provider/ngrouter/angular.router.module.mjs +17 -17
  180. package/esm2020/lib/router/provider/router.provider.config.mjs +2 -2
  181. package/esm2020/lib/router/provider/uirouter/anchor.component.mjs +7 -7
  182. package/esm2020/lib/router/provider/uirouter/uirouter.router.module.mjs +17 -17
  183. package/esm2020/lib/screen/index.mjs +4 -0
  184. package/esm2020/lib/screen/screen.mjs +22 -0
  185. package/esm2020/lib/screen/screen.module.mjs +24 -0
  186. package/esm2020/lib/screen/screen.service.mjs +94 -0
  187. package/fesm2015/dereekb-dbx-web.mjs +5513 -3687
  188. package/fesm2015/dereekb-dbx-web.mjs.map +1 -1
  189. package/fesm2020/dereekb-dbx-web.mjs +5491 -3666
  190. package/fesm2020/dereekb-dbx-web.mjs.map +1 -1
  191. package/index.d.ts +0 -1
  192. package/lib/action/_action.scss +40 -0
  193. package/lib/action/action.confirm.directive.d.ts +5 -5
  194. package/lib/action/action.module.d.ts +4 -4
  195. package/lib/action/action.snackbar.component.d.ts +7 -7
  196. package/lib/action/key.trigger.directive.d.ts +3 -3
  197. package/lib/action/transition/action.transition.module.d.ts +5 -5
  198. package/lib/action/transition/transition.safety.dialog.component.d.ts +7 -7
  199. package/lib/action/transition/transition.safety.directive.d.ts +14 -23
  200. package/lib/button/_button.scss +32 -0
  201. package/lib/button/button.component.d.ts +6 -6
  202. package/lib/button/button.module.d.ts +6 -8
  203. package/lib/button/button.spacer.component.d.ts +3 -3
  204. package/lib/dbx-web.module.d.ts +15 -10
  205. package/lib/error/_error.scss +26 -0
  206. package/lib/error/error.action.directive.d.ts +6 -6
  207. package/lib/error/error.component.d.ts +3 -3
  208. package/lib/error/error.loading.directive.d.ts +6 -6
  209. package/lib/error/error.module.d.ts +4 -4
  210. package/lib/index.d.ts +2 -1
  211. package/lib/interaction/_interaction.scss +33 -0
  212. package/lib/interaction/dialog/_dialog.scss +26 -0
  213. package/lib/interaction/dialog/abstract.dialog.directive.d.ts +7 -5
  214. package/lib/interaction/dialog/dialog.content.component.d.ts +10 -0
  215. package/lib/interaction/dialog/dialog.module.d.ts +12 -0
  216. package/lib/interaction/dialog/index.d.ts +2 -0
  217. package/lib/interaction/filter/_filter.scss +25 -0
  218. package/lib/interaction/filter/filter.module.d.ts +15 -0
  219. package/lib/interaction/filter/filter.popover.button.component.d.ts +9 -0
  220. package/lib/interaction/filter/filter.popover.button.directive.d.ts +17 -0
  221. package/lib/interaction/filter/filter.popover.component.d.ts +53 -0
  222. package/lib/interaction/filter/filter.wrapper.component.d.ts +14 -0
  223. package/lib/interaction/filter/index.d.ts +5 -0
  224. package/lib/interaction/index.d.ts +2 -0
  225. package/lib/interaction/interaction.module.d.ts +11 -0
  226. package/lib/interaction/popover/_popover.scss +110 -0
  227. package/lib/interaction/popover/abstract.popover.directive.d.ts +6 -6
  228. package/lib/interaction/popover/index.d.ts +2 -1
  229. package/lib/interaction/popover/popover.action.button.directive.d.ts +8 -8
  230. package/lib/interaction/popover/popover.action.directive.d.ts +8 -8
  231. package/lib/interaction/popover/popover.component.d.ts +15 -17
  232. package/lib/interaction/popover/popover.content.component.d.ts +3 -4
  233. package/lib/interaction/popover/popover.controls.directive.d.ts +10 -0
  234. package/lib/interaction/popover/popover.coordinator.component.d.ts +6 -6
  235. package/lib/interaction/popover/popover.coordinator.service.d.ts +8 -8
  236. package/lib/interaction/popover/popover.d.ts +3 -3
  237. package/lib/interaction/popover/popover.header.component.d.ts +5 -5
  238. package/lib/interaction/popover/popover.module.d.ts +11 -9
  239. package/lib/interaction/popover/popover.scroll.content.component.d.ts +6 -6
  240. package/lib/interaction/popover/popover.service.d.ts +6 -6
  241. package/lib/interaction/popup/_popup.scss +82 -0
  242. package/lib/interaction/popup/abstract.popup.directive.d.ts +4 -4
  243. package/lib/interaction/popup/index.d.ts +1 -0
  244. package/lib/interaction/popup/popup.component.d.ts +15 -18
  245. package/lib/interaction/popup/popup.content.component.d.ts +5 -5
  246. package/lib/interaction/popup/popup.controls.buttons.component.d.ts +5 -5
  247. package/lib/interaction/popup/popup.controls.component.d.ts +3 -3
  248. package/lib/interaction/popup/popup.coordinator.component.d.ts +6 -6
  249. package/lib/interaction/popup/popup.coordinator.service.d.ts +8 -8
  250. package/lib/interaction/popup/popup.d.ts +5 -5
  251. package/lib/interaction/popup/popup.module.d.ts +9 -7
  252. package/lib/interaction/popup/popup.position.strategy.d.ts +1 -5
  253. package/lib/interaction/popup/popup.service.d.ts +6 -6
  254. package/lib/interaction/prompt/_prompt.scss +46 -0
  255. package/lib/interaction/prompt/prompt.box.component.d.ts +3 -5
  256. package/lib/interaction/prompt/prompt.button.confirm.directive.d.ts +8 -8
  257. package/lib/interaction/prompt/prompt.component.d.ts +3 -4
  258. package/lib/interaction/prompt/prompt.confirm.component.d.ts +8 -8
  259. package/lib/interaction/prompt/prompt.confirm.d.ts +2 -2
  260. package/lib/interaction/prompt/prompt.confirm.dialog.component.d.ts +17 -6
  261. package/lib/interaction/prompt/prompt.confirm.directive.d.ts +11 -14
  262. package/lib/interaction/prompt/prompt.module.d.ts +9 -7
  263. package/lib/interaction/prompt/prompt.page.component.d.ts +3 -3
  264. package/lib/interaction/style/_style.scss +47 -0
  265. package/lib/keypress/keydown.listener.directive.d.ts +3 -3
  266. package/lib/keypress/keypress.module.d.ts +4 -4
  267. package/lib/layout/_layout.scss +61 -0
  268. package/lib/layout/bar/_bar.scss +81 -0
  269. package/lib/layout/bar/bar.d.ts +1 -0
  270. package/lib/layout/bar/bar.directive.d.ts +11 -0
  271. package/lib/layout/bar/bar.header.component.d.ts +13 -0
  272. package/lib/layout/bar/bar.layout.module.d.ts +15 -0
  273. package/lib/layout/bar/index.d.ts +4 -0
  274. package/lib/layout/bar/pagebar.component.d.ts +8 -0
  275. package/lib/layout/block/_block.scss +39 -0
  276. package/lib/layout/block/block.layout.module.d.ts +5 -5
  277. package/lib/layout/block/two.block.component.d.ts +3 -3
  278. package/lib/layout/card/_card.scss +26 -0
  279. package/lib/layout/card/card.box.component.d.ts +3 -3
  280. package/lib/layout/card/card.box.container.component.d.ts +3 -3
  281. package/lib/layout/card/card.box.layout.module.d.ts +4 -4
  282. package/lib/layout/column/_column.scss +26 -0
  283. package/lib/layout/column/column.layout.module.d.ts +4 -4
  284. package/lib/layout/column/one/one.column.component.d.ts +3 -3
  285. package/lib/layout/column/one/one.column.module.d.ts +4 -4
  286. package/lib/layout/column/two/two.column.back.directive.d.ts +4 -4
  287. package/lib/layout/column/two/two.column.component.d.ts +3 -3
  288. package/lib/layout/column/two/two.column.full.left.directive.d.ts +4 -4
  289. package/lib/layout/column/two/two.column.head.component.d.ts +3 -3
  290. package/lib/layout/column/two/two.column.module.d.ts +5 -5
  291. package/lib/layout/column/two/two.column.right.component.d.ts +3 -3
  292. package/lib/layout/column/two/two.column.sref.directive.d.ts +4 -4
  293. package/lib/layout/column/two.scss +114 -0
  294. package/lib/layout/compact/compact.directive.d.ts +3 -3
  295. package/lib/layout/compact/compact.layout.module.d.ts +4 -4
  296. package/lib/layout/content/_content.scss +136 -0
  297. package/lib/layout/content/content.border.directive.d.ts +8 -0
  298. package/lib/layout/content/content.box.directive.d.ts +9 -0
  299. package/lib/layout/content/content.container.directive.d.ts +12 -0
  300. package/lib/layout/content/content.directive.d.ts +8 -0
  301. package/lib/layout/content/content.elevate.directive.d.ts +8 -0
  302. package/lib/layout/content/content.layout.module.d.ts +11 -9
  303. package/lib/layout/content/content.page.directive.d.ts +8 -0
  304. package/lib/layout/content/index.d.ts +6 -4
  305. package/lib/layout/flag/_flag.scss +26 -0
  306. package/lib/layout/flag/flag.component.d.ts +3 -3
  307. package/lib/layout/flag/flag.layout.module.d.ts +4 -4
  308. package/lib/layout/flag/flag.prompt.component.d.ts +3 -3
  309. package/lib/layout/flex/_flex.scss +76 -0
  310. package/lib/layout/flex/flex.d.ts +4 -0
  311. package/lib/layout/flex/flex.group.directive.d.ts +24 -0
  312. package/lib/layout/flex/flex.layout.module.d.ts +9 -0
  313. package/lib/layout/flex/flex.size.directive.d.ts +10 -0
  314. package/lib/layout/flex/index.d.ts +4 -0
  315. package/lib/layout/index.d.ts +4 -1
  316. package/lib/layout/item/_item.scss +26 -0
  317. package/lib/layout/item/item.icon.component.d.ts +3 -3
  318. package/lib/layout/item/item.layout.module.d.ts +4 -4
  319. package/lib/layout/layout.module.d.ts +17 -14
  320. package/lib/layout/list/_list.scss +72 -0
  321. package/lib/layout/list/index.d.ts +11 -1
  322. package/lib/layout/list/list.component.d.ts +115 -0
  323. package/lib/layout/list/list.content.empty.component.d.ts +8 -0
  324. package/lib/layout/list/list.directive.d.ts +35 -0
  325. package/lib/layout/list/list.layout.module.d.ts +15 -6
  326. package/lib/layout/list/list.view.d.ts +45 -0
  327. package/lib/layout/list/list.view.directive.d.ts +26 -0
  328. package/lib/layout/list/list.view.selection.directive.d.ts +15 -0
  329. package/lib/layout/list/list.view.value.component.d.ts +15 -0
  330. package/lib/layout/list/list.view.value.d.ts +21 -0
  331. package/lib/layout/list/list.view.value.directive.d.ts +21 -0
  332. package/lib/layout/list/list.view.value.item.directive.d.ts +9 -0
  333. package/lib/layout/list/list.view.value.selection.component.d.ts +32 -0
  334. package/lib/layout/section/_section.scss +116 -0
  335. package/lib/layout/section/index.d.ts +2 -3
  336. package/lib/layout/section/section.component.d.ts +5 -7
  337. package/lib/layout/section/section.d.ts +1 -0
  338. package/lib/layout/section/section.header.component.d.ts +14 -0
  339. package/lib/layout/section/section.intro.component.d.ts +4 -4
  340. package/lib/layout/section/section.layout.module.d.ts +14 -16
  341. package/lib/layout/section/section.page.component.d.ts +4 -5
  342. package/lib/layout/section/subsection.component.d.ts +5 -5
  343. package/lib/layout/step/_step.scss +59 -0
  344. package/lib/layout/step/step.component.d.ts +3 -3
  345. package/lib/layout/step/step.layout.module.d.ts +4 -4
  346. package/lib/layout/style/_style.scss +101 -0
  347. package/lib/layout/style/index.d.ts +6 -0
  348. package/lib/layout/style/spacer.directive.d.ts +5 -0
  349. package/lib/layout/style/style.body.directive.d.ts +16 -0
  350. package/lib/layout/style/style.directive.d.ts +15 -0
  351. package/lib/layout/style/style.layout.module.d.ts +11 -0
  352. package/lib/layout/style/style.service.d.ts +37 -0
  353. package/lib/layout/style/style.set.directive.d.ts +31 -0
  354. package/lib/layout/text/_text.scss +97 -0
  355. package/lib/layout/text/hint.component.d.ts +5 -0
  356. package/lib/{text → layout/text}/index.d.ts +0 -2
  357. package/lib/layout/text/label.component.d.ts +5 -0
  358. package/lib/{text → layout/text}/linkify.component.d.ts +3 -3
  359. package/lib/layout/text/note.component.d.ts +5 -0
  360. package/lib/layout/text/notice.component.d.ts +5 -0
  361. package/lib/layout/text/ok.component.d.ts +5 -0
  362. package/lib/layout/text/success.component.d.ts +5 -0
  363. package/lib/layout/text/text.chips.component.d.ts +13 -0
  364. package/lib/layout/text/text.module.d.ts +19 -0
  365. package/lib/layout/text/warn.component.d.ts +5 -0
  366. package/lib/loading/basic-loading.component.d.ts +4 -4
  367. package/lib/loading/loading-progress.component.d.ts +3 -3
  368. package/lib/loading/loading.component.d.ts +5 -5
  369. package/lib/loading/loading.module.d.ts +5 -5
  370. package/lib/router/_router.scss +25 -0
  371. package/lib/router/index.d.ts +1 -1
  372. package/lib/router/layout/anchor/_anchor.scss +37 -0
  373. package/lib/router/{anchor → layout/anchor}/anchor.component.d.ts +7 -8
  374. package/lib/router/layout/anchor/anchor.icon.component.d.ts +11 -0
  375. package/lib/router/layout/anchor/anchor.link.component.d.ts +13 -0
  376. package/lib/router/layout/anchor/anchor.module.d.ts +13 -0
  377. package/lib/router/layout/anchor/anchor.segue.directive.d.ts +19 -0
  378. package/lib/router/{anchor → layout/anchor}/index.d.ts +1 -0
  379. package/lib/router/layout/anchorlist/_anchorlist.scss +95 -0
  380. package/lib/router/layout/anchorlist/anchorlist.component.d.ts +15 -0
  381. package/lib/router/layout/anchorlist/anchorlist.module.d.ts +14 -0
  382. package/lib/router/layout/anchorlist/index.d.ts +2 -0
  383. package/lib/router/layout/index.d.ts +5 -0
  384. package/lib/router/layout/layout.module.d.ts +10 -0
  385. package/lib/router/layout/navbar/_navbar.scss +27 -0
  386. package/lib/router/layout/navbar/index.d.ts +2 -0
  387. package/lib/router/layout/navbar/navbar.component.d.ts +37 -0
  388. package/lib/router/layout/navbar/navbar.module.d.ts +13 -0
  389. package/lib/router/layout/sidenav/_sidenav.scss +189 -0
  390. package/lib/router/layout/sidenav/index.d.ts +5 -0
  391. package/lib/router/layout/sidenav/sidenav.button.component.d.ts +14 -0
  392. package/lib/router/layout/sidenav/sidenav.component.d.ts +42 -0
  393. package/lib/router/layout/sidenav/sidenav.module.d.ts +23 -0
  394. package/lib/router/layout/sidenav/sidenav.page.component.d.ts +20 -0
  395. package/lib/router/layout/sidenav/sidenav.pagebar.component.d.ts +9 -0
  396. package/lib/router/provider/ngrouter/anchor.component.d.ts +4 -4
  397. package/lib/router/provider/ngrouter/angular.router.module.d.ts +5 -5
  398. package/lib/router/provider/router.provider.config.d.ts +3 -3
  399. package/lib/router/provider/uirouter/anchor.component.d.ts +4 -4
  400. package/lib/router/provider/uirouter/uirouter.router.module.d.ts +5 -5
  401. package/lib/screen/index.d.ts +3 -0
  402. package/lib/screen/screen.d.ts +36 -0
  403. package/lib/screen/screen.module.d.ts +9 -0
  404. package/lib/screen/screen.service.d.ts +60 -0
  405. package/lib/style/_all-core.scss +14 -0
  406. package/lib/style/_all-theme.scss +15 -0
  407. package/lib/style/_all-typography.scss +15 -0
  408. package/lib/style/_config.scss +122 -0
  409. package/lib/style/_core.scss +17 -0
  410. package/lib/style/_mixin.scss +99 -0
  411. package/lib/style/_root-variables.scss +35 -0
  412. package/lib/style/_theming.scss +19 -0
  413. package/lib/style/_variables.scss +45 -0
  414. package/package.json +35 -34
  415. package/esm2020/lib/interaction/popover/popover.controls.component.mjs +0 -35
  416. package/esm2020/lib/layout/content/content.bordered.component.mjs +0 -26
  417. package/esm2020/lib/layout/content/content.component.mjs +0 -32
  418. package/esm2020/lib/layout/content/content.container.component.mjs +0 -66
  419. package/esm2020/lib/layout/content/content.container.fullwidth.component.mjs +0 -26
  420. package/esm2020/lib/layout/dialog/dialog.content.component.mjs +0 -37
  421. package/esm2020/lib/layout/dialog/dialog.layout.module.mjs +0 -29
  422. package/esm2020/lib/layout/dialog/index.mjs +0 -3
  423. package/esm2020/lib/layout/list/list.empty.component.mjs +0 -26
  424. package/esm2020/lib/layout/section/section.box.anchor.component.mjs +0 -39
  425. package/esm2020/lib/layout/section/section.box.component.mjs +0 -32
  426. package/esm2020/lib/layout/section/section.elevated.component.mjs +0 -26
  427. package/esm2020/lib/router/anchor/anchor.component.mjs +0 -50
  428. package/esm2020/lib/router/anchor/anchor.icon.component.mjs +0 -30
  429. package/esm2020/lib/router/anchor/anchor.module.mjs +0 -43
  430. package/esm2020/lib/router/anchor/anchor.segue.directive.mjs +0 -32
  431. package/esm2020/lib/router/anchor/index.mjs +0 -5
  432. package/esm2020/lib/text/hint.component.mjs +0 -15
  433. package/esm2020/lib/text/index.mjs +0 -13
  434. package/esm2020/lib/text/label.bar.component.mjs +0 -32
  435. package/esm2020/lib/text/label.component.mjs +0 -18
  436. package/esm2020/lib/text/link.component.mjs +0 -36
  437. package/esm2020/lib/text/linkify.component.mjs +0 -48
  438. package/esm2020/lib/text/note.component.mjs +0 -15
  439. package/esm2020/lib/text/notice.component.mjs +0 -15
  440. package/esm2020/lib/text/ok.component.mjs +0 -15
  441. package/esm2020/lib/text/success.component.mjs +0 -15
  442. package/esm2020/lib/text/text.chips.component.mjs +0 -32
  443. package/esm2020/lib/text/text.module.mjs +0 -92
  444. package/esm2020/lib/text/warn.component.mjs +0 -15
  445. package/lib/interaction/popover/popover.controls.component.d.ts +0 -10
  446. package/lib/layout/content/content.bordered.component.d.ts +0 -8
  447. package/lib/layout/content/content.component.d.ts +0 -9
  448. package/lib/layout/content/content.container.component.d.ts +0 -34
  449. package/lib/layout/content/content.container.fullwidth.component.d.ts +0 -8
  450. package/lib/layout/dialog/dialog.content.component.d.ts +0 -13
  451. package/lib/layout/dialog/dialog.layout.module.d.ts +0 -11
  452. package/lib/layout/dialog/index.d.ts +0 -2
  453. package/lib/layout/list/list.empty.component.d.ts +0 -8
  454. package/lib/layout/section/section.box.anchor.component.d.ts +0 -11
  455. package/lib/layout/section/section.box.component.d.ts +0 -9
  456. package/lib/layout/section/section.elevated.component.d.ts +0 -8
  457. package/lib/router/anchor/anchor.icon.component.d.ts +0 -11
  458. package/lib/router/anchor/anchor.module.d.ts +0 -12
  459. package/lib/router/anchor/anchor.segue.directive.d.ts +0 -20
  460. package/lib/text/hint.component.d.ts +0 -5
  461. package/lib/text/label.bar.component.d.ts +0 -10
  462. package/lib/text/label.component.d.ts +0 -8
  463. package/lib/text/link.component.d.ts +0 -9
  464. package/lib/text/note.component.d.ts +0 -5
  465. package/lib/text/notice.component.d.ts +0 -5
  466. package/lib/text/ok.component.d.ts +0 -5
  467. package/lib/text/success.component.d.ts +0 -5
  468. package/lib/text/text.chips.component.d.ts +0 -13
  469. package/lib/text/text.module.d.ts +0 -22
  470. package/lib/text/warn.component.d.ts +0 -5
@@ -0,0 +1,232 @@
1
+ import { catchError, filter, exhaustMap, merge, map, Subject, switchMap, shareReplay, distinctUntilChanged, of, Observable, BehaviorSubject, first, startWith } from 'rxjs';
2
+ import { Component, Input, EventEmitter, Output, ElementRef, HostListener, ChangeDetectorRef, Directive } from '@angular/core';
3
+ import { tapDetectChanges } from '@dereekb/dbx-core';
4
+ import { SubscriptionObject, ListLoadingStateContextInstance, filterMaybe, loadingStateHasFinishedLoading, beginLoading } from '@dereekb/rxjs';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../../loading/loading.component";
7
+ import * as i2 from "@dereekb/dbx-core";
8
+ import * as i3 from "ngx-infinite-scroll";
9
+ import * as i4 from "@angular/common";
10
+ /**
11
+ * Used to display a potentially infinitely scrollable list of content.
12
+ *
13
+ * This component is generally wrapped by another component that provides this one configuration.
14
+ */
15
+ export class DbxListComponent {
16
+ constructor(cdRef) {
17
+ this.cdRef = cdRef;
18
+ this.DEFAULT_SCROLL_DISTANCE = 1.5;
19
+ this.DEFAULT_THROTTLE_SCROLL = 50;
20
+ /**
21
+ * Whether or not to add bottom padding to the list content.
22
+ */
23
+ this.padded = true;
24
+ this.contentScrolled = new EventEmitter();
25
+ this._disabled = new BehaviorSubject(false);
26
+ this._loadMoreTrigger = new Subject();
27
+ this._scrollTrigger = new Subject();
28
+ this._config = new BehaviorSubject(undefined);
29
+ this._loadMoreSub = new SubscriptionObject();
30
+ this._onClickSub = new SubscriptionObject();
31
+ this._disabledSub = new SubscriptionObject();
32
+ this._onSelectionChangeSub = new SubscriptionObject();
33
+ this.context = new ListLoadingStateContextInstance({ showLoadingOnNoValue: false });
34
+ this.isEmpty$ = this.context.isEmpty$;
35
+ this.disabled$ = this._disabled.asObservable();
36
+ this.hideOnEmpty$ = this._config.pipe(filterMaybe(), map(x => Boolean(x.hideOnEmpty)), distinctUntilChanged(), shareReplay(1));
37
+ this.invertedList$ = this._config.pipe(filterMaybe(), map(x => Boolean(x?.throttle)), distinctUntilChanged(), shareReplay(1));
38
+ this.throttleScroll$ = this._config.pipe(map(x => (x?.throttle) ?? this.DEFAULT_THROTTLE_SCROLL), distinctUntilChanged(), shareReplay(1));
39
+ this.scrollDistance$ = this._config.pipe(map(x => (x?.scrollDistance) ?? this.DEFAULT_SCROLL_DISTANCE), distinctUntilChanged(), shareReplay(1));
40
+ this.scrollLoadMoreTrigger$ = this._config.pipe(switchMap((config) => {
41
+ const loadNextDirection = config?.invertedList ? 'up' : 'down';
42
+ return this._scrollTrigger.pipe(filter(x => x === loadNextDirection));
43
+ }));
44
+ this.loadMore$ = merge(this.scrollLoadMoreTrigger$, this._loadMoreTrigger);
45
+ this.injectedComponentConfig$ = this._config.pipe(distinctUntilChanged(), map((config) => {
46
+ let injectedComponentConfig;
47
+ if (config) {
48
+ const { componentClass, init, onClick, onSelectionChange, loadMore } = config;
49
+ injectedComponentConfig = {
50
+ componentClass: config.componentClass,
51
+ injector: config.injector,
52
+ init: (instance) => {
53
+ // Synchronize disabled
54
+ this._disabledSub.subscription = this.disabled$.subscribe((disabled) => instance.setDisabled(disabled));
55
+ if (init) {
56
+ init(instance);
57
+ }
58
+ instance.setListContext(this.context);
59
+ if (loadMore) {
60
+ this._loadMoreSub.subscription = this.loadMore$.pipe(
61
+ // Throttle additional loading calls using exhaustMap until observable returns, if one is returned.
62
+ exhaustMap(() => {
63
+ const result = loadMore();
64
+ let obs;
65
+ if (result) {
66
+ obs = result.pipe(catchError(() => of()));
67
+ }
68
+ else {
69
+ obs = of();
70
+ }
71
+ return obs;
72
+ })).subscribe();
73
+ }
74
+ if (onClick) {
75
+ if (instance.clickValue) {
76
+ this._onClickSub.subscription = instance.clickValue.subscribe(onClick);
77
+ }
78
+ else {
79
+ console.error(`onClick() was passed to listConfig, but target class ${componentClass} has no clicked event emitter.`);
80
+ }
81
+ }
82
+ if (onSelectionChange) {
83
+ if (instance.selectionChange) {
84
+ this._onSelectionChangeSub.subscription = instance.selectionChange.subscribe(onSelectionChange);
85
+ }
86
+ else {
87
+ console.error(`onSelectionChange() was passed to listConfig, but target class ${componentClass} has no selectionChange event emitter.`);
88
+ }
89
+ }
90
+ }
91
+ };
92
+ }
93
+ return injectedComponentConfig;
94
+ }), distinctUntilChanged(), shareReplay(1));
95
+ this.hideContent$ = this.context.stateChange$.pipe(switchMap(() => this.context.state$.pipe(filter((x) => loadingStateHasFinishedLoading(x)), first(), startWith(beginLoading()))), switchMap((state) => {
96
+ if (state?.loading) {
97
+ return of(true);
98
+ }
99
+ else {
100
+ return this.hideOnEmpty$.pipe(switchMap((hide) => (hide === false) ? of(false) : this.isEmpty$), distinctUntilChanged(), tapDetectChanges(this.cdRef), shareReplay(1));
101
+ }
102
+ }));
103
+ }
104
+ ngOnDestroy() {
105
+ delete this._content; // remove parent-child relation.
106
+ this._scrollTrigger.complete();
107
+ this._loadMoreTrigger.complete();
108
+ this._config.complete();
109
+ this._disabled.complete();
110
+ this._onClickSub.destroy();
111
+ this._loadMoreSub.destroy();
112
+ this._onSelectionChangeSub.destroy();
113
+ this._disabledSub.destroy();
114
+ this.context.destroy();
115
+ }
116
+ get state$() {
117
+ return this.context.state$;
118
+ }
119
+ set state$(state$) {
120
+ this.context.setStateObs(state$);
121
+ }
122
+ set config(config) {
123
+ this._config.next(config);
124
+ }
125
+ get disabled() {
126
+ return this._disabled.value;
127
+ }
128
+ set disabled(disabled) {
129
+ this._disabled.next(disabled ?? false);
130
+ }
131
+ getScrollPositionRelativeToBottom() {
132
+ try {
133
+ const element = this.nativeElement;
134
+ // At max scroll, scrollHeight = scrollTop + clientHeight;
135
+ const { scrollTop, scrollHeight, clientHeight } = element;
136
+ return scrollHeight - (scrollTop + clientHeight);
137
+ }
138
+ catch (e) {
139
+ return 0;
140
+ }
141
+ }
142
+ jumpToBottom() {
143
+ try {
144
+ this.nativeElement.scrollTop = this.nativeElement.scrollHeight;
145
+ }
146
+ catch (err) { }
147
+ }
148
+ jumpToPositionRelativeToBottom(pos) {
149
+ try {
150
+ const element = this.nativeElement;
151
+ const { scrollHeight, clientHeight } = element;
152
+ element.scrollTop = scrollHeight - (clientHeight + pos);
153
+ }
154
+ catch (err) { }
155
+ }
156
+ onScrollDown() {
157
+ this._scrollTrigger.next('down');
158
+ }
159
+ onScrollUp() {
160
+ this._scrollTrigger.next('up');
161
+ }
162
+ loadMore() {
163
+ this._loadMoreTrigger.next();
164
+ }
165
+ // MARK: Internal
166
+ get nativeElement() {
167
+ return this._content.elementRef.nativeElement;
168
+ }
169
+ get __content() {
170
+ return this._content;
171
+ }
172
+ set __content(content) {
173
+ if (this._content == null) {
174
+ this._content = content;
175
+ }
176
+ else {
177
+ throw new Error('Attempted to set __content in list outside of initialization.');
178
+ }
179
+ }
180
+ }
181
+ DbxListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxListComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
182
+ DbxListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: DbxListComponent, selector: "dbx-list", inputs: { padded: "padded", state$: "state$", config: "config", disabled: "disabled" }, 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 dbx-list-internal-content infinite-scroll [infiniteScrollDistance]=\"(scrollDistance$ | async) ?? DEFAULT_SCROLL_DISTANCE\"\n [infiniteScrollUpDistance]=\"(scrollDistance$ | async) ?? DEFAULT_SCROLL_DISTANCE\" [hide]=\"hideContent$ | async\"\n [infiniteScrollThrottle]=\"(throttleScroll$ | async) ?? DEFAULT_THROTTLE_SCROLL\" [scrollWindow]=\"false\"\n (scrolled)=\"onScrollDown()\" (scrolledUp)=\"onScrollUp()\">\n <ng-content select=\"[top]\"></ng-content>\n <dbx-injected-content [config]=\"injectedComponentConfig$ | async\"></dbx-injected-content>\n <ng-content select=\"[bottom]\"></ng-content>\n</div>\n<ng-content *ngIf=\"isEmpty$ | async\" select=\"[empty]\"></ng-content>\n", components: [{ type: i0.forwardRef(function () { return i1.DbxLoadingComponent; }), selector: "dbx-loading", inputs: ["show", "text", "mode", "color", "diameter", "linear", "context", "loading", "error"] }, { type: i0.forwardRef(function () { return i2.DbxInjectedComponent; }), selector: "dbx-injected-content, [dbx-injected-content]", inputs: ["config", "template"] }], directives: [{ type: i0.forwardRef(function () { return DbxListInternalContentDirective; }), selector: "[dbx-list-internal-content]", inputs: ["hide"] }, { 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"] }, { type: i0.forwardRef(function () { return i4.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i0.forwardRef(function () { return i4.AsyncPipe; }) } });
183
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxListComponent, decorators: [{
184
+ type: Component,
185
+ args: [{ selector: 'dbx-list', host: {
186
+ 'class': 'd-block dbx-list',
187
+ '[class.dbx-list-padded]': 'padded'
188
+ }, template: "<dbx-loading [context]=\"context\" [linear]=\"true\"></dbx-loading>\n<div dbx-list-internal-content infinite-scroll [infiniteScrollDistance]=\"(scrollDistance$ | async) ?? DEFAULT_SCROLL_DISTANCE\"\n [infiniteScrollUpDistance]=\"(scrollDistance$ | async) ?? DEFAULT_SCROLL_DISTANCE\" [hide]=\"hideContent$ | async\"\n [infiniteScrollThrottle]=\"(throttleScroll$ | async) ?? DEFAULT_THROTTLE_SCROLL\" [scrollWindow]=\"false\"\n (scrolled)=\"onScrollDown()\" (scrolledUp)=\"onScrollUp()\">\n <ng-content select=\"[top]\"></ng-content>\n <dbx-injected-content [config]=\"injectedComponentConfig$ | async\"></dbx-injected-content>\n <ng-content select=\"[bottom]\"></ng-content>\n</div>\n<ng-content *ngIf=\"isEmpty$ | async\" select=\"[empty]\"></ng-content>\n" }]
189
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { padded: [{
190
+ type: Input
191
+ }], contentScrolled: [{
192
+ type: Output
193
+ }], state$: [{
194
+ type: Input
195
+ }], config: [{
196
+ type: Input
197
+ }], disabled: [{
198
+ type: Input
199
+ }] } });
200
+ /**
201
+ * Used internally by DbxListComponent
202
+ */
203
+ export class DbxListInternalContentDirective {
204
+ constructor(parent, elementRef) {
205
+ this.parent = parent;
206
+ this.elementRef = elementRef;
207
+ this.hide = false;
208
+ this.parent.__content = this;
209
+ }
210
+ onScrollEvent($event) {
211
+ const position = $event.target.scrollTop;
212
+ this.parent.contentScrolled.emit(position);
213
+ }
214
+ }
215
+ DbxListInternalContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxListInternalContentDirective, deps: [{ token: DbxListComponent }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
216
+ DbxListInternalContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: DbxListInternalContentDirective, selector: "[dbx-list-internal-content]", inputs: { hide: "hide" }, host: { listeners: { "scroll": "onScrollEvent($event)" }, properties: { "class.dbx-list-content-hidden": "hide" }, classAttribute: "d-block dbx-list-content" }, ngImport: i0 });
217
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxListInternalContentDirective, decorators: [{
218
+ type: Directive,
219
+ args: [{
220
+ selector: '[dbx-list-internal-content]',
221
+ host: {
222
+ 'class': 'd-block dbx-list-content',
223
+ '[class.dbx-list-content-hidden]': 'hide'
224
+ }
225
+ }]
226
+ }], ctorParameters: function () { return [{ type: DbxListComponent }, { type: i0.ElementRef }]; }, propDecorators: { hide: [{
227
+ type: Input
228
+ }], onScrollEvent: [{
229
+ type: HostListener,
230
+ args: ['scroll', ['$event']]
231
+ }] } });
232
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvbGF5b3V0L2xpc3QvbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvbGF5b3V0L2xpc3QvbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVLLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQWEsVUFBVSxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUksT0FBTyxFQUE4QixnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSwrQkFBK0IsRUFBb0IsV0FBVyxFQUFVLDhCQUE4QixFQUFpQixZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7OztBQTBEeEw7Ozs7R0FJRztBQVNILE1BQU0sT0FBTyxnQkFBZ0I7SUFpSTNCLFlBQXFCLEtBQXdCO1FBQXhCLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBL0hwQyw0QkFBdUIsR0FBRyxHQUFHLENBQUM7UUFDOUIsNEJBQXVCLEdBQUcsRUFBRSxDQUFDO1FBRXRDOztXQUVHO1FBRUgsV0FBTSxHQUFZLElBQUksQ0FBQztRQUd2QixvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFHckMsY0FBUyxH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QVMsQ0FBQztRQUN6QyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0MsQ0FBQzs7NEhBYlUsK0JBQStCLGtCQUtMLGdCQUFnQjtnSEFMMUMsK0JBQStCOzJGQUEvQiwrQkFBK0I7a0JBUDNDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDZCQUE2QjtvQkFDdkMsSUFBSSxFQUFFO3dCQUNKLE9BQU8sRUFBRSwwQkFBMEI7d0JBQ25DLGlDQUFpQyxFQUFFLE1BQU07cUJBQzFDO2lCQUNGOzBEQU1zQyxnQkFBZ0IsbURBRnJELElBQUk7c0JBREgsS0FBSztnQkFRTixhQUFhO3NCQURaLFlBQVk7dUJBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmlsdGVyLCBleGhhdXN0TWFwLCBtZXJnZSwgbWFwLCBTdWJqZWN0LCBzd2l0Y2hNYXAsIHNoYXJlUmVwbGF5LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgb2YsIE9ic2VydmFibGUsIEJlaGF2aW9yU3ViamVjdCwgZmlyc3QsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgRXZlbnRFbWl0dGVyLCBPdXRwdXQsIE9uRGVzdHJveSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBDaGFuZ2VEZXRlY3RvclJlZiwgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYnhJbmplY3RlZENvbXBvbmVudENvbmZpZywgdGFwRGV0ZWN0Q2hhbmdlcyB9IGZyb20gJ0BkZXJlZWtiL2RieC1jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbk9iamVjdCwgTGlzdExvYWRpbmdTdGF0ZUNvbnRleHRJbnN0YW5jZSwgTGlzdExvYWRpbmdTdGF0ZSwgZmlsdGVyTWF5YmUsIHRhcExvZywgbG9hZGluZ1N0YXRlSGFzRmluaXNoZWRMb2FkaW5nLCBzdWNjZXNzUmVzdWx0LCBiZWdpbkxvYWRpbmcgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcbmltcG9ydCB7IE1heWJlLCBNaWxsaXNlY29uZHMgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IERieExpc3RWaWV3LCBMaXN0U2VsZWN0aW9uU3RhdGUgfSBmcm9tICcuL2xpc3Qudmlldyc7XG5cbi8qKlxuICogRGlyZWN0aW9uIHRoZSBzY3JvbGwgd2FzIHRyaWdnZXJlZCBtb3ZpbmcuXG4gKi9cbmV4cG9ydCB0eXBlIERieExpc3RTY3JvbGxEaXJlY3Rpb25UcmlnZ2VyID0gJ3VwJyB8ICdkb3duJztcblxuLyoqXG4gKiBVc2VkIHRvIHRyaWdnZXIgdGhlIGxvYWRpbmcgb2YgYWRkaXRpb25hbCBpdGVtcy5cbiAqIFxuICogSWYgYW4gb2JzZXJ2YWJsZSBpcyByZXR1cm5lZCBpdCBpcyB1c2VkIHRvIHRocm90dGxlIHRoZSBsb2FkaW5nIG9mIG1vcmUgaXRlbXMgdW50aWwgaXQgcmV0dXJucy5cbiAqL1xuZXhwb3J0IHR5cGUgRGJ4TGlzdExvYWRNb3JlSGFuZGxlciA9ICgpID0+IE9ic2VydmFibGU8dm9pZD4gfCB2b2lkO1xuXG4vKipcbiAqIERieExpc3RDb21wb25lbnQgY29uZmlndXJhdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYnhMaXN0Q29uZmlnPFQgPSBhbnksIFYgZXh0ZW5kcyBEYnhMaXN0VmlldzxUPiA9IERieExpc3RWaWV3PFQ+PiBleHRlbmRzIERieEluamVjdGVkQ29tcG9uZW50Q29uZmlnPFY+IHtcblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gaGlkZSB0aGUgbGlzdCBjb250ZW50IHdoZW4gaXQgaXMgYW4gZW1wdHkgbGlzdC5cbiAgICovXG4gIGhpZGVPbkVtcHR5PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdGhpcyBsaXN0IHNob3VsZCBzY3JvbGwgdXB3YXJkIGZyb20gdGhlIGJvdHRvbSwgbGlrZSBhIG1lc3NhZ2UgbGlzdC5cbiAgICovXG4gIGludmVydGVkTGlzdD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIERpc3RhbmNlIHRvIHNjcm9sbC5cbiAgICovXG4gIHNjcm9sbERpc3RhbmNlPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBOdW1iZXIgb2YgbXMgdG8gdGhyb3R0bGUgc2Nyb2xsaW5nIGV2ZW50cy5cbiAgICovXG4gIHRocm90dGxlPzogTWlsbGlzZWNvbmRzO1xuXG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIG9uQ2xpY2sgaGFuZGxlclxuICAgKi9cbiAgb25DbGljaz86ICh2YWx1ZTogVCkgPT4gdm9pZDtcblxuICAvKipcbiAgICogKE9wdGlvbmFsKSBvblNlbGVjdGlvbiBoYW5kbGVyXG4gICAqL1xuICBvblNlbGVjdGlvbkNoYW5nZT86IChzZWxlY3Rpb246IExpc3RTZWxlY3Rpb25TdGF0ZTxUPikgPT4gdm9pZDtcblxuICAvKipcbiAgICogKE9wdGlvbmFsKSBoYW5kbGVyIGZ1bmN0aW9uIHRvIGxvYWQgbW9yZSBpdGVtcy5cbiAgICovXG4gIGxvYWRNb3JlPzogRGJ4TGlzdExvYWRNb3JlSGFuZGxlcjtcblxufVxuXG4vKipcbiAqIFVzZWQgdG8gZGlzcGxheSBhIHBvdGVudGlhbGx5IGluZmluaXRlbHkgc2Nyb2xsYWJsZSBsaXN0IG9mIGNvbnRlbnQuXG4gKiBcbiAqIFRoaXMgY29tcG9uZW50IGlzIGdlbmVyYWxseSB3cmFwcGVkIGJ5IGFub3RoZXIgY29tcG9uZW50IHRoYXQgcHJvdmlkZXMgdGhpcyBvbmUgY29uZmlndXJhdGlvbi5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGJ4LWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIGhvc3Q6IHtcbiAgICAnY2xhc3MnOiAnZC1ibG9jayBkYngtbGlzdCcsXG4gICAgJ1tjbGFzcy5kYngtbGlzdC1wYWRkZWRdJzogJ3BhZGRlZCdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBEYnhMaXN0Q29tcG9uZW50PFQgPSBhbnksIFYgZXh0ZW5kcyBEYnhMaXN0VmlldzxUPiA9IERieExpc3RWaWV3PFQ+LCBTIGV4dGVuZHMgTGlzdExvYWRpbmdTdGF0ZTxUPiA9IExpc3RMb2FkaW5nU3RhdGU8VD4+IGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICByZWFkb25seSBERUZBVUxUX1NDUk9MTF9ESVNUQU5DRSA9IDEuNTtcbiAgcmVhZG9ubHkgREVGQVVMVF9USFJPVFRMRV9TQ1JPTEwgPSA1MDtcblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gYWRkIGJvdHRvbSBwYWRkaW5nIHRvIHRoZSBsaXN0IGNvbnRlbnQuXG4gICAqL1xuICBASW5wdXQoKVxuICBwYWRkZWQ6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBPdXRwdXQoKVxuICBjb250ZW50U2Nyb2xsZWQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBwcml2YXRlIF9jb250ZW50ITogRGJ4TGlzdEludGVybmFsQ29udGVudERpcmVjdGl2ZTtcbiAgcHJpdmF0ZSBfZGlzYWJsZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBwcml2YXRlIF9sb2FkTW9yZVRyaWdnZXIgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIF9zY3JvbGxUcmlnZ2VyID0gbmV3IFN1YmplY3Q8RGJ4TGlzdFNjcm9sbERpcmVjdGlvblRyaWdnZXI+KCk7XG4gIHByaXZhdGUgX2NvbmZpZyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWF5YmU8RGJ4TGlzdENvbmZpZzxULCBWPj4+KHVuZGVmaW5lZCk7XG5cbiAgcHJpdmF0ZSBfbG9hZE1vcmVTdWIgPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG4gIHByaXZhdGUgX29uQ2xpY2tTdWIgPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG4gIHByaXZhdGUgX2Rpc2FibGVkU3ViID0gbmV3IFN1YnNjcmlwdGlvbk9iamVjdCgpO1xuICBwcml2YXRlIF9vblNlbGVjdGlvbkNoYW5nZVN1YiA9IG5ldyBTdWJzY3JpcHRpb25PYmplY3QoKTtcblxuICByZWFkb25seSBjb250ZXh0ID0gbmV3IExpc3RMb2FkaW5nU3RhdGVDb250ZXh0SW5zdGFuY2U8VCwgUz4oeyBzaG93TG9hZGluZ09uTm9WYWx1ZTogZmFsc2UgfSk7XG4gIHJlYWRvbmx5IGlzRW1wdHkkID0gdGhpcy5jb250ZXh0LmlzRW1wdHkkO1xuICByZWFkb25seSBkaXNhYmxlZCQgPSB0aGlzLl9kaXNhYmxlZC5hc09ic2VydmFibGUoKTtcblxuICByZWFkb25seSBoaWRlT25FbXB0eSQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLl9jb25maWcucGlwZShmaWx0ZXJNYXliZSgpLCBtYXAoeCA9PiBCb29sZWFuKHguaGlkZU9uRW1wdHkpKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgc2hhcmVSZXBsYXkoMSkpO1xuICByZWFkb25seSBpbnZlcnRlZExpc3QkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5fY29uZmlnLnBpcGUoZmlsdGVyTWF5YmUoKSwgbWFwKHggPT4gQm9vbGVhbih4Py50aHJvdHRsZSkpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCBzaGFyZVJlcGxheSgxKSk7XG4gIHJlYWRvbmx5IHRocm90dGxlU2Nyb2xsJDogT2JzZXJ2YWJsZTxudW1iZXI+ID0gdGhpcy5fY29uZmlnLnBpcGUobWFwKHggPT4gKHg/LnRocm90dGxlKSA/PyB0aGlzLkRFRkFVTFRfVEhST1RUTEVfU0NST0xMKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgc2hhcmVSZXBsYXkoMSkpO1xuICByZWFkb25seSBzY3JvbGxEaXN0YW5jZSQ6IE9ic2VydmFibGU8bnVtYmVyPiA9IHRoaXMuX2NvbmZpZy5waXBlKG1hcCh4ID0+ICh4Py5zY3JvbGxEaXN0YW5jZSkgPz8gdGhpcy5ERUZBVUxUX1NDUk9MTF9ESVNUQU5DRSksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHNoYXJlUmVwbGF5KDEpKTtcblxuICByZWFkb25seSBzY3JvbGxMb2FkTW9yZVRyaWdnZXIkID0gdGhpcy5fY29uZmlnLnBpcGUoXG4gICAgc3dpdGNoTWFwKChjb25maWcpID0+IHtcbiAgICAgIGNvbnN0IGxvYWROZXh0RGlyZWN0aW9uID0gY29uZmlnPy5pbnZlcnRlZExpc3QgPyAndXAnIDogJ2Rvd24nO1xuICAgICAgcmV0dXJuIHRoaXMuX3Njcm9sbFRyaWdnZXIucGlwZShmaWx0ZXIoeCA9PiB4ID09PSBsb2FkTmV4dERpcmVjdGlvbikpO1xuICAgIH0pXG4gICk7XG5cbiAgcmVhZG9ubHkgbG9hZE1vcmUkID0gbWVyZ2UodGhpcy5zY3JvbGxMb2FkTW9yZVRyaWdnZXIkLCB0aGlzLl9sb2FkTW9yZVRyaWdnZXIpO1xuXG4gIHJlYWRvbmx5IGluamVjdGVkQ29tcG9uZW50Q29uZmlnJDogT2JzZXJ2YWJsZTxNYXliZTxEYnhJbmplY3RlZENvbXBvbmVudENvbmZpZzxWPj4+ID0gdGhpcy5fY29uZmlnLnBpcGUoXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBtYXAoKGNvbmZpZykgPT4ge1xuICAgICAgbGV0IGluamVjdGVkQ29tcG9uZW50Q29uZmlnOiBNYXliZTxEYnhJbmplY3RlZENvbXBvbmVudENvbmZpZzxWPj47XG5cbiAgICAgIGlmIChjb25maWcpIHtcbiAgICAgICAgY29uc3QgeyBjb21wb25lbnRDbGFzcywgaW5pdCwgb25DbGljaywgb25TZWxlY3Rpb25DaGFuZ2UsIGxvYWRNb3JlIH0gPSBjb25maWc7XG5cbiAgICAgICAgaW5qZWN0ZWRDb21wb25lbnRDb25maWcgPSB7XG4gICAgICAgICAgY29tcG9uZW50Q2xhc3M6IGNvbmZpZy5jb21wb25lbnRDbGFzcyxcbiAgICAgICAgICBpbmplY3RvcjogY29uZmlnLmluamVjdG9yLFxuICAgICAgICAgIGluaXQ6IChpbnN0YW5jZTogVikgPT4ge1xuXG4gICAgICAgICAgICAvLyBTeW5jaHJvbml6ZSBkaXNhYmxlZFxuICAgICAgICAgICAgdGhpcy5fZGlzYWJsZWRTdWIuc3Vic2NyaXB0aW9uID0gdGhpcy5kaXNhYmxlZCQuc3Vic2NyaWJlKChkaXNhYmxlZCkgPT4gaW5zdGFuY2Uuc2V0RGlzYWJsZWQoZGlzYWJsZWQpKTtcblxuICAgICAgICAgICAgaWYgKGluaXQpIHtcbiAgICAgICAgICAgICAgaW5pdChpbnN0YW5jZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGluc3RhbmNlLnNldExpc3RDb250ZXh0KHRoaXMuY29udGV4dCk7XG5cbiAgICAgICAgICAgIGlmIChsb2FkTW9yZSkge1xuICAgICAgICAgICAgICB0aGlzLl9sb2FkTW9yZVN1Yi5zdWJzY3JpcHRpb24gPSB0aGlzLmxvYWRNb3JlJC5waXBlKFxuICAgICAgICAgICAgICAgIC8vIFRocm90dGxlIGFkZGl0aW9uYWwgbG9hZGluZyBjYWxscyB1c2luZyBleGhhdXN0TWFwIHVudGlsIG9ic2VydmFibGUgcmV0dXJucywgaWYgb25lIGlzIHJldHVybmVkLlxuICAgICAgICAgICAgICAgIGV4aGF1c3RNYXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gbG9hZE1vcmUoKTtcbiAgICAgICAgICAgICAgICAgIGxldCBvYnM6IE9ic2VydmFibGU8dm9pZD47XG5cbiAgICAgICAgICAgICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICAgICAgICAgICAgb2JzID0gcmVzdWx0LnBpcGUoY2F0Y2hFcnJvcigoKSA9PiBvZigpKSk7XG4gICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBvYnMgPSBvZigpO1xuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICByZXR1cm4gb2JzO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICkuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChvbkNsaWNrKSB7XG4gICAgICAgICAgICAgIGlmIChpbnN0YW5jZS5jbGlja1ZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fb25DbGlja1N1Yi5zdWJzY3JpcHRpb24gPSBpbnN0YW5jZS5jbGlja1ZhbHVlLnN1YnNjcmliZShvbkNsaWNrKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGBvbkNsaWNrKCkgd2FzIHBhc3NlZCB0byBsaXN0Q29uZmlnLCBidXQgdGFyZ2V0IGNsYXNzICR7Y29tcG9uZW50Q2xhc3N9IGhhcyBubyBjbGlja2VkIGV2ZW50IGVtaXR0ZXIuYCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKG9uU2VsZWN0aW9uQ2hhbmdlKSB7XG4gICAgICAgICAgICAgIGlmIChpbnN0YW5jZS5zZWxlY3Rpb25DaGFuZ2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9vblNlbGVjdGlvbkNoYW5nZVN1Yi5zdWJzY3JpcHRpb24gPSBpbnN0YW5jZS5zZWxlY3Rpb25DaGFuZ2Uuc3Vic2NyaWJlKG9uU2VsZWN0aW9uQ2hhbmdlKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGBvblNlbGVjdGlvbkNoYW5nZSgpIHdhcyBwYXNzZWQgdG8gbGlzdENvbmZpZywgYnV0IHRhcmdldCBjbGFzcyAke2NvbXBvbmVudENsYXNzfSBoYXMgbm8gc2VsZWN0aW9uQ2hhbmdlIGV2ZW50IGVtaXR0ZXIuYCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBpbmplY3RlZENvbXBvbmVudENvbmZpZztcbiAgICB9KSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgaGlkZUNvbnRlbnQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5jb250ZXh0LnN0YXRlQ2hhbmdlJC5waXBlKFxuICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmNvbnRleHQuc3RhdGUkLnBpcGUoXG4gICAgICBmaWx0ZXIoKHgpID0+IGxvYWRpbmdTdGF0ZUhhc0ZpbmlzaGVkTG9hZGluZyh4KSksXG4gICAgICBmaXJzdCgpLFxuICAgICAgc3RhcnRXaXRoKGJlZ2luTG9hZGluZygpKVxuICAgICkpLFxuICAgIHN3aXRjaE1hcCgoc3RhdGUpID0+IHtcbiAgICAgIGlmIChzdGF0ZT8ubG9hZGluZykge1xuICAgICAgICByZXR1cm4gb2YodHJ1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdGhpcy5oaWRlT25FbXB0eSQucGlwZShcbiAgICAgICAgICBzd2l0Y2hNYXAoKGhpZGUpID0+IChoaWRlID09PSBmYWxzZSkgPyBvZihmYWxzZSkgOiB0aGlzLmlzRW1wdHkkKSxcbiAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICAgIHRhcERldGVjdENoYW5nZXModGhpcy5jZFJlZiksXG4gICAgICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9KVxuICApO1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikgeyB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgZGVsZXRlICh0aGlzIGFzIGFueSkuX2NvbnRlbnQ7ICAvLyByZW1vdmUgcGFyZW50LWNoaWxkIHJlbGF0aW9uLlxuICAgIHRoaXMuX3Njcm9sbFRyaWdnZXIuY29tcGxldGUoKTtcbiAgICB0aGlzLl9sb2FkTW9yZVRyaWdnZXIuY29tcGxldGUoKTtcbiAgICB0aGlzLl9jb25maWcuY29tcGxldGUoKTtcbiAgICB0aGlzLl9kaXNhYmxlZC5jb21wbGV0ZSgpO1xuXG4gICAgdGhpcy5fb25DbGlja1N1Yi5kZXN0cm95KCk7XG4gICAgdGhpcy5fbG9hZE1vcmVTdWIuZGVzdHJveSgpO1xuICAgIHRoaXMuX29uU2VsZWN0aW9uQ2hhbmdlU3ViLmRlc3Ryb3koKTtcbiAgICB0aGlzLl9kaXNhYmxlZFN1Yi5kZXN0cm95KCk7XG5cbiAgICB0aGlzLmNvbnRleHQuZGVzdHJveSgpO1xuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IHN0YXRlJCgpOiBPYnNlcnZhYmxlPFM+IHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0LnN0YXRlJDtcbiAgfVxuXG4gIHNldCBzdGF0ZSQoc3RhdGUkOiBNYXliZTxPYnNlcnZhYmxlPFM+Pikge1xuICAgIHRoaXMuY29udGV4dC5zZXRTdGF0ZU9icyhzdGF0ZSQpO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IGNvbmZpZyhjb25maWc6IE1heWJlPERieExpc3RDb25maWc8VCwgVj4+KSB7XG4gICAgdGhpcy5fY29uZmlnLm5leHQoY29uZmlnKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQudmFsdWU7XG4gIH1cblxuICBzZXQgZGlzYWJsZWQoZGlzYWJsZWQ6IE1heWJlPGJvb2xlYW4+KSB7XG4gICAgdGhpcy5fZGlzYWJsZWQubmV4dChkaXNhYmxlZCA/PyBmYWxzZSk7XG4gIH1cblxuICBnZXRTY3JvbGxQb3NpdGlvblJlbGF0aXZlVG9Cb3R0b20oKTogbnVtYmVyIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMubmF0aXZlRWxlbWVudDtcblxuICAgICAgLy8gQXQgbWF4IHNjcm9sbCwgc2Nyb2xsSGVpZ2h0ID0gc2Nyb2xsVG9wICsgY2xpZW50SGVpZ2h0O1xuICAgICAgY29uc3QgeyBzY3JvbGxUb3AsIHNjcm9sbEhlaWdodCwgY2xpZW50SGVpZ2h0IH0gPSBlbGVtZW50O1xuICAgICAgcmV0dXJuIHNjcm9sbEhlaWdodCAtIChzY3JvbGxUb3AgKyBjbGllbnRIZWlnaHQpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgfVxuXG4gIGp1bXBUb0JvdHRvbSgpOiB2b2lkIHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LnNjcm9sbFRvcCA9IHRoaXMubmF0aXZlRWxlbWVudC5zY3JvbGxIZWlnaHQ7XG4gICAgfSBjYXRjaCAoZXJyKSB7IH1cbiAgfVxuXG4gIGp1bXBUb1Bvc2l0aW9uUmVsYXRpdmVUb0JvdHRvbShwb3M6IG51bWJlcik6IHZvaWQge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5uYXRpdmVFbGVtZW50O1xuICAgICAgY29uc3QgeyBzY3JvbGxIZWlnaHQsIGNsaWVudEhlaWdodCB9ID0gZWxlbWVudDtcbiAgICAgIGVsZW1lbnQuc2Nyb2xsVG9wID0gc2Nyb2xsSGVpZ2h0IC0gKGNsaWVudEhlaWdodCArIHBvcyk7XG4gICAgfSBjYXRjaCAoZXJyKSB7IH1cbiAgfVxuXG4gIG9uU2Nyb2xsRG93bigpOiB2b2lkIHtcbiAgICB0aGlzLl9zY3JvbGxUcmlnZ2VyLm5leHQoJ2Rvd24nKTtcbiAgfVxuXG4gIG9uU2Nyb2xsVXAoKTogdm9pZCB7XG4gICAgdGhpcy5fc2Nyb2xsVHJpZ2dlci5uZXh0KCd1cCcpO1xuICB9XG5cbiAgbG9hZE1vcmUoKTogdm9pZCB7XG4gICAgdGhpcy5fbG9hZE1vcmVUcmlnZ2VyLm5leHQoKTtcbiAgfVxuXG4gIC8vIE1BUks6IEludGVybmFsXG4gIGdldCBuYXRpdmVFbGVtZW50KCkge1xuICAgIHJldHVybiB0aGlzLl9jb250ZW50LmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIGdldCBfX2NvbnRlbnQoKTogRGJ4TGlzdEludGVybmFsQ29udGVudERpcmVjdGl2ZSB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbnRlbnQ7XG4gIH1cblxuICBzZXQgX19jb250ZW50KGNvbnRlbnQ6IERieExpc3RJbnRlcm5hbENvbnRlbnREaXJlY3RpdmUpIHtcbiAgICBpZiAodGhpcy5fY29udGVudCA9PSBudWxsKSB7XG4gICAgICB0aGlzLl9jb250ZW50ID0gY29udGVudDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdBdHRlbXB0ZWQgdG8gc2V0IF9fY29udGVudCBpbiBsaXN0IG91dHNpZGUgb2YgaW5pdGlhbGl6YXRpb24uJyk7XG4gICAgfVxuICB9XG5cbn1cblxuLyoqXG4gKiBVc2VkIGludGVybmFsbHkgYnkgRGJ4TGlzdENvbXBvbmVudFxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZGJ4LWxpc3QtaW50ZXJuYWwtY29udGVudF0nLFxuICBob3N0OiB7XG4gICAgJ2NsYXNzJzogJ2QtYmxvY2sgZGJ4LWxpc3QtY29udGVudCcsXG4gICAgJ1tjbGFzcy5kYngtbGlzdC1jb250ZW50LWhpZGRlbl0nOiAnaGlkZSdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBEYnhMaXN0SW50ZXJuYWxDb250ZW50RGlyZWN0aXZlIHtcblxuICBASW5wdXQoKVxuICBoaWRlOiBNYXliZTxCb29sZWFuPiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcGFyZW50OiBEYnhMaXN0Q29tcG9uZW50LCByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XG4gICAgdGhpcy5wYXJlbnQuX19jb250ZW50ID0gdGhpcztcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3Njcm9sbCcsIFsnJGV2ZW50J10pXG4gIG9uU2Nyb2xsRXZlbnQoJGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCBwb3NpdGlvbiA9ICRldmVudC50YXJnZXQuc2Nyb2xsVG9wO1xuICAgIHRoaXMucGFyZW50LmNvbnRlbnRTY3JvbGxlZC5lbWl0KHBvc2l0aW9uKTtcbiAgfVxuXG59XG4iLCI8ZGJ4LWxvYWRpbmcgW2NvbnRleHRdPVwiY29udGV4dFwiIFtsaW5lYXJdPVwidHJ1ZVwiPjwvZGJ4LWxvYWRpbmc+XG48ZGl2IGRieC1saXN0LWludGVybmFsLWNvbnRlbnQgaW5maW5pdGUtc2Nyb2xsIFtpbmZpbml0ZVNjcm9sbERpc3RhbmNlXT1cIihzY3JvbGxEaXN0YW5jZSQgfCBhc3luYykgPz8gREVGQVVMVF9TQ1JPTExfRElTVEFOQ0VcIlxuICBbaW5maW5pdGVTY3JvbGxVcERpc3RhbmNlXT1cIihzY3JvbGxEaXN0YW5jZSQgfCBhc3luYykgPz8gREVGQVVMVF9TQ1JPTExfRElTVEFOQ0VcIiBbaGlkZV09XCJoaWRlQ29udGVudCQgfCBhc3luY1wiXG4gIFtpbmZpbml0ZVNjcm9sbFRocm90dGxlXT1cIih0aHJvdHRsZVNjcm9sbCQgfCBhc3luYykgPz8gREVGQVVMVF9USFJPVFRMRV9TQ1JPTExcIiBbc2Nyb2xsV2luZG93XT1cImZhbHNlXCJcbiAgKHNjcm9sbGVkKT1cIm9uU2Nyb2xsRG93bigpXCIgKHNjcm9sbGVkVXApPVwib25TY3JvbGxVcCgpXCI+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIlt0b3BdXCI+PC9uZy1jb250ZW50PlxuICA8ZGJ4LWluamVjdGVkLWNvbnRlbnQgW2NvbmZpZ109XCJpbmplY3RlZENvbXBvbmVudENvbmZpZyQgfCBhc3luY1wiPjwvZGJ4LWluamVjdGVkLWNvbnRlbnQ+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIltib3R0b21dXCI+PC9uZy1jb250ZW50PlxuPC9kaXY+XG48bmctY29udGVudCAqbmdJZj1cImlzRW1wdHkkIHwgYXN5bmNcIiBzZWxlY3Q9XCJbZW1wdHldXCI+PC9uZy1jb250ZW50PlxuIl19
@@ -0,0 +1,26 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * Component that is centered for use within an empty list.
5
+ */
6
+ export class DbxListEmptyContentComponent {
7
+ }
8
+ DbxListEmptyContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxListEmptyContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
+ DbxListEmptyContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: DbxListEmptyContentComponent, selector: "dbx-list-empty-content", ngImport: i0, template: `
10
+ <div class="dbx-list-empty-content">
11
+ <ng-content></ng-content>
12
+ </div>
13
+ `, isInline: true });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxListEmptyContentComponent, decorators: [{
15
+ type: Component,
16
+ args: [{
17
+ selector: 'dbx-list-empty-content',
18
+ template: `
19
+ <div class="dbx-list-empty-content">
20
+ <ng-content></ng-content>
21
+ </div>
22
+ `,
23
+ // TODO: styleUrls: ['./container.scss']
24
+ }]
25
+ }] });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb250ZW50LmVtcHR5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9sYXlvdXQvbGlzdC9saXN0LmNvbnRlbnQuZW1wdHkuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVMsTUFBTSxlQUFlLENBQUM7O0FBRWpEOztHQUVHO0FBVUgsTUFBTSxPQUFPLDRCQUE0Qjs7eUhBQTVCLDRCQUE0Qjs2R0FBNUIsNEJBQTRCLDhEQVA3Qjs7OztHQUlUOzJGQUdVLDRCQUE0QjtrQkFUeEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxRQUFRLEVBQUU7Ozs7R0FJVDtvQkFDRCx3Q0FBd0M7aUJBQ3pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIENvbXBvbmVudCB0aGF0IGlzIGNlbnRlcmVkIGZvciB1c2Ugd2l0aGluIGFuIGVtcHR5IGxpc3QuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RieC1saXN0LWVtcHR5LWNvbnRlbnQnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJkYngtbGlzdC1lbXB0eS1jb250ZW50XCI+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIGAsXG4gIC8vIFRPRE86IHN0eWxlVXJsczogWycuL2NvbnRhaW5lci5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRGJ4TGlzdEVtcHR5Q29udGVudENvbXBvbmVudCB7IH1cbiJdfQ==
@@ -0,0 +1,78 @@
1
+ import { filterMaybe, getter } from '@dereekb/rxjs';
2
+ import { BehaviorSubject, map, shareReplay } from 'rxjs';
3
+ import { Output, EventEmitter, Directive, Input } from "@angular/core";
4
+ import * as i0 from "@angular/core";
5
+ export const DEFAULT_STATIC_LIST_DIRECTIVE_TEMPLATE = `
6
+ <dbx-list [config]="config">
7
+ <ng-content top select="[top]"></ng-content>
8
+ <ng-content bottom select="[bottom]"></ng-content>
9
+ <ng-content empty select="[empty]"></ng-content>
10
+ </dbx-list>
11
+ `;
12
+ // MARK: Wrapper
13
+ export const DEFAULT_LIST_WRAPPER_DIRECTIVE_TEMPLATE = `
14
+ <dbx-list [state$]="state$" [config]="config$ | async" [disabled]="disabled">
15
+ <ng-content top select="[top]"></ng-content>
16
+ <ng-content bottom select="[bottom]"></ng-content>
17
+ <ng-content empty select="[empty]"></ng-content>
18
+ </dbx-list>
19
+ `;
20
+ export class AbstractDbxListWrapperDirective {
21
+ constructor(initConfig) {
22
+ this.initConfig = initConfig;
23
+ this._init = new BehaviorSubject(undefined);
24
+ this.config$ = this._init.pipe(filterMaybe(), getter(), map((x) => this._buildListConfig(x)), shareReplay(1));
25
+ this.clickItem = new EventEmitter();
26
+ this.loadMore = new EventEmitter();
27
+ }
28
+ ngOnInit() {
29
+ this._init.next(this.initConfig);
30
+ }
31
+ ngOnDestroy() {
32
+ this._init.complete();
33
+ this.clickItem.complete();
34
+ this.loadMore.complete();
35
+ }
36
+ _buildListConfig(config) {
37
+ return {
38
+ ...config,
39
+ onClick: (x) => this.clickItem.emit(x),
40
+ loadMore: () => this.loadMore.emit()
41
+ };
42
+ }
43
+ }
44
+ AbstractDbxListWrapperDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: AbstractDbxListWrapperDirective, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
45
+ AbstractDbxListWrapperDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: AbstractDbxListWrapperDirective, inputs: { disabled: "disabled", state$: "state$" }, outputs: { clickItem: "clickItem", loadMore: "loadMore" }, ngImport: i0 });
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: AbstractDbxListWrapperDirective, decorators: [{
47
+ type: Directive
48
+ }], ctorParameters: function () { return [{ type: undefined }]; }, propDecorators: { disabled: [{
49
+ type: Input
50
+ }], state$: [{
51
+ type: Input
52
+ }], clickItem: [{
53
+ type: Output
54
+ }], loadMore: [{
55
+ type: Output
56
+ }] } });
57
+ export class AbstractDbxSelectionListWrapperDirective extends AbstractDbxListWrapperDirective {
58
+ constructor() {
59
+ super(...arguments);
60
+ this.selectionChange = new EventEmitter();
61
+ }
62
+ ngOnDestroy() {
63
+ this.selectionChange.complete();
64
+ }
65
+ _buildListConfig(config) {
66
+ const result = super._buildListConfig(config);
67
+ result.onSelectionChange = (x) => this.selectionChange.next(x);
68
+ return result;
69
+ }
70
+ }
71
+ AbstractDbxSelectionListWrapperDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: AbstractDbxSelectionListWrapperDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
72
+ AbstractDbxSelectionListWrapperDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: AbstractDbxSelectionListWrapperDirective, outputs: { selectionChange: "selectionChange" }, usesInheritance: true, ngImport: i0 });
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: AbstractDbxSelectionListWrapperDirective, decorators: [{
74
+ type: Directive
75
+ }], propDecorators: { selectionChange: [{
76
+ type: Output
77
+ }] } });
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvbGF5b3V0L2xpc3QvbGlzdC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixXQUFXLEVBQW9CLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQWMsZUFBZSxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckUsT0FBTyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQXFCLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzFGLE1BQU0sQ0FBQyxNQUFNLHNDQUFzQyxHQUFHOzs7Ozs7Q0FNckQsQ0FBQztBQUVGLGdCQUFnQjtBQUNoQixNQUFNLENBQUMsTUFBTSx1Q0FBdUMsR0FBRzs7Ozs7O0NBTXRELENBQUM7QUFLRixNQUFNLE9BQWdCLCtCQUErQjtJQXFCbkQsWUFBcUIsVUFBK0I7UUFBL0IsZUFBVSxHQUFWLFVBQVUsQ0FBcUI7UUFuQm5DLFVBQUssR0FBRyxJQUFJLGVBQWUsQ0FBNkIsU0FBUyxDQUFDLENBQUM7UUFDM0UsWUFBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUNoQyxXQUFXLEVBQUUsRUFDYixNQUFNLEVBQUUsRUFDUixHQUFHLENBQUMsQ0FBQyxDQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUN2QyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQVNsQixjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQUssQ0FBQztRQUdsQyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUVvQixDQUFDO0lBRXpELFFBQVE7UUFDTixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRVMsZ0JBQWdCLENBQUMsTUFBUztRQUNsQyxPQUFPO1lBQ0wsR0FBRyxNQUFNO1lBQ1QsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDdEMsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFO1NBQ3JDLENBQUM7SUFDSixDQUFDOzs0SEF2Q21CLCtCQUErQjtnSEFBL0IsK0JBQStCOzJGQUEvQiwrQkFBK0I7a0JBRHBELFNBQVM7NkZBV1IsUUFBUTtzQkFEUCxLQUFLO2dCQUlOLE1BQU07c0JBREwsS0FBSztnQkFJTixTQUFTO3NCQURSLE1BQU07Z0JBSVAsUUFBUTtzQkFEUCxNQUFNOztBQTZCVCxNQUFNLE9BQWdCLHdDQUFpTyxTQUFRLCtCQUEyQztJQUQxUzs7UUFJRSxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUF5QixDQUFDO0tBWTdEO0lBVlUsV0FBVztRQUNsQixJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFa0IsZ0JBQWdCLENBQUMsTUFBUztRQUMzQyxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUMsTUFBTSxDQUFDLGlCQUFpQixHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOztxSUFibUIsd0NBQXdDO3lIQUF4Qyx3Q0FBd0M7MkZBQXhDLHdDQUF3QztrQkFEN0QsU0FBUzs4QkFJUixlQUFlO3NCQURkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMaXN0TG9hZGluZ1N0YXRlLCBmaWx0ZXJNYXliZSwgT2JzZXJ2YWJsZUdldHRlciwgZ2V0dGVyIH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBCZWhhdmlvclN1YmplY3QsIG1hcCwgc2hhcmVSZXBsYXkgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIE9uRGVzdHJveSwgRGlyZWN0aXZlLCBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBEYnhMaXN0Q29uZmlnIH0gZnJvbSBcIi4vbGlzdC5jb21wb25lbnRcIjtcbmltcG9ydCB7IERieExpc3RWaWV3LCBMaXN0U2VsZWN0aW9uU3RhdGUgfSBmcm9tIFwiLi9saXN0LnZpZXdcIjtcbmltcG9ydCB7IE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1NUQVRJQ19MSVNUX0RJUkVDVElWRV9URU1QTEFURSA9IGBcbjxkYngtbGlzdCBbY29uZmlnXT1cImNvbmZpZ1wiPlxuICA8bmctY29udGVudCB0b3Agc2VsZWN0PVwiW3RvcF1cIj48L25nLWNvbnRlbnQ+XG4gIDxuZy1jb250ZW50IGJvdHRvbSBzZWxlY3Q9XCJbYm90dG9tXVwiPjwvbmctY29udGVudD5cbiAgPG5nLWNvbnRlbnQgZW1wdHkgc2VsZWN0PVwiW2VtcHR5XVwiPjwvbmctY29udGVudD5cbjwvZGJ4LWxpc3Q+XG5gO1xuXG4vLyBNQVJLOiBXcmFwcGVyXG5leHBvcnQgY29uc3QgREVGQVVMVF9MSVNUX1dSQVBQRVJfRElSRUNUSVZFX1RFTVBMQVRFID0gYFxuPGRieC1saXN0IFtzdGF0ZSRdPVwic3RhdGUkXCIgW2NvbmZpZ109XCJjb25maWckIHwgYXN5bmNcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cbiAgPG5nLWNvbnRlbnQgdG9wIHNlbGVjdD1cIlt0b3BdXCI+PC9uZy1jb250ZW50PlxuICA8bmctY29udGVudCBib3R0b20gc2VsZWN0PVwiW2JvdHRvbV1cIj48L25nLWNvbnRlbnQ+XG4gIDxuZy1jb250ZW50IGVtcHR5IHNlbGVjdD1cIltlbXB0eV1cIj48L25nLWNvbnRlbnQ+XG48L2RieC1saXN0PlxuYDtcblxuZXhwb3J0IGludGVyZmFjZSBEYnhMaXN0V3JhcHBlckNvbmZpZzxULCBWIGV4dGVuZHMgRGJ4TGlzdFZpZXc8VD4gPSBEYnhMaXN0VmlldzxUPj4gZXh0ZW5kcyBPbWl0PERieExpc3RDb25maWc8VCwgVj4sICdvbkNsaWNrJyB8ICdsb2FkTW9yZSc+IHsgfVxuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdERieExpc3RXcmFwcGVyRGlyZWN0aXZlPFQsIFYgZXh0ZW5kcyBEYnhMaXN0VmlldzxUPiA9IERieExpc3RWaWV3PFQ+LCBDIGV4dGVuZHMgRGJ4TGlzdFdyYXBwZXJDb25maWc8VCwgVj4gPSBEYnhMaXN0V3JhcHBlckNvbmZpZzxULCBWPiwgUyBleHRlbmRzIExpc3RMb2FkaW5nU3RhdGU8VD4gPSBMaXN0TG9hZGluZ1N0YXRlPFQ+PiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9pbml0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXliZTxPYnNlcnZhYmxlR2V0dGVyPEM+Pj4odW5kZWZpbmVkKTtcbiAgcmVhZG9ubHkgY29uZmlnJCA9IHRoaXMuX2luaXQucGlwZShcbiAgICBmaWx0ZXJNYXliZSgpLFxuICAgIGdldHRlcigpLFxuICAgIG1hcCgoeDogQykgPT4gdGhpcy5fYnVpbGRMaXN0Q29uZmlnKHgpKSxcbiAgICBzaGFyZVJlcGxheSgxKSk7XG5cbiAgQElucHV0KClcbiAgZGlzYWJsZWQ/OiBNYXliZTxib29sZWFuPjtcblxuICBASW5wdXQoKVxuICBzdGF0ZSQ/OiBNYXliZTxPYnNlcnZhYmxlPFM+PjtcblxuICBAT3V0cHV0KClcbiAgY2xpY2tJdGVtID0gbmV3IEV2ZW50RW1pdHRlcjxUPigpO1xuXG4gIEBPdXRwdXQoKVxuICBsb2FkTW9yZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBpbml0Q29uZmlnOiBPYnNlcnZhYmxlR2V0dGVyPEM+KSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9pbml0Lm5leHQodGhpcy5pbml0Q29uZmlnKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2luaXQuY29tcGxldGUoKTtcbiAgICB0aGlzLmNsaWNrSXRlbS5jb21wbGV0ZSgpO1xuICAgIHRoaXMubG9hZE1vcmUuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfYnVpbGRMaXN0Q29uZmlnKGNvbmZpZzogQyk6IERieExpc3RDb25maWc8VCwgVj4ge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5jb25maWcsXG4gICAgICBvbkNsaWNrOiAoeCkgPT4gdGhpcy5jbGlja0l0ZW0uZW1pdCh4KSxcbiAgICAgIGxvYWRNb3JlOiAoKSA9PiB0aGlzLmxvYWRNb3JlLmVtaXQoKVxuICAgIH07XG4gIH1cblxufVxuXG4vLyBNQVJLOiBTZWxlY3Rpb24gV3JhcHBlclxuZXhwb3J0IGludGVyZmFjZSBEYnhTZWxlY3Rpb25MaXN0V3JhcHBlckNvbmZpZzxULCBWIGV4dGVuZHMgRGJ4TGlzdFZpZXc8VD4gPSBEYnhMaXN0VmlldzxUPj4gZXh0ZW5kcyBPbWl0PERieExpc3RXcmFwcGVyQ29uZmlnPFQsIFY+LCAnb25TZWxlY3Rpb25DaGFuZ2UnPiB7IH1cblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3REYnhTZWxlY3Rpb25MaXN0V3JhcHBlckRpcmVjdGl2ZTxULCBWIGV4dGVuZHMgRGJ4TGlzdFZpZXc8VD4gPSBEYnhMaXN0VmlldzxUPiwgQyBleHRlbmRzIERieFNlbGVjdGlvbkxpc3RXcmFwcGVyQ29uZmlnPFQsIFY+ID0gRGJ4U2VsZWN0aW9uTGlzdFdyYXBwZXJDb25maWc8VCwgVj4sIFMgZXh0ZW5kcyBMaXN0TG9hZGluZ1N0YXRlPFQ+ID0gTGlzdExvYWRpbmdTdGF0ZTxUPj4gZXh0ZW5kcyBBYnN0cmFjdERieExpc3RXcmFwcGVyRGlyZWN0aXZlPFQsIFYsIEMsIFM+IHtcblxuICBAT3V0cHV0KClcbiAgc2VsZWN0aW9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxMaXN0U2VsZWN0aW9uU3RhdGU8VD4+KCk7XG5cbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2UuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBfYnVpbGRMaXN0Q29uZmlnKGNvbmZpZzogQyk6IERieExpc3RDb25maWc8VCwgVj4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IHN1cGVyLl9idWlsZExpc3RDb25maWcoY29uZmlnKTtcbiAgICByZXN1bHQub25TZWxlY3Rpb25DaGFuZ2UgPSAoeCkgPT4gdGhpcy5zZWxlY3Rpb25DaGFuZ2UubmV4dCh4KTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbn1cbiJdfQ==
@@ -1,26 +1,71 @@
1
+ import { DbxAnchorModule } from '../../router/layout/anchor/anchor.module';
2
+ import { DbxLoadingModule } from '../../loading/loading.module';
3
+ import { MatIconModule } from '@angular/material/icon';
4
+ import { MatListModule } from '@angular/material/list';
1
5
  import { CommonModule } from '@angular/common';
2
6
  import { NgModule } from '@angular/core';
3
- import { DbNgxListEmptyContentComponent } from './list.empty.component';
7
+ import { DbxInjectedComponentModule } from '@dereekb/dbx-core';
8
+ import { DbxListComponent, DbxListInternalContentDirective } from './list.component';
9
+ import { DbxListEmptyContentComponent } from './list.content.empty.component';
10
+ import { InfiniteScrollModule } from 'ngx-infinite-scroll';
11
+ import { DbxSelectionValueListItemViewComponent, DbxSelectionValueListViewComponent } from './list.view.value.selection.component';
12
+ import { DbxValueListViewComponent } from './list.view.value.component';
4
13
  import * as i0 from "@angular/core";
5
- export class DbNgxListLayoutModule {
14
+ export class DbxListLayoutModule {
6
15
  }
7
- DbNgxListLayoutModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbNgxListLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
- DbNgxListLayoutModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbNgxListLayoutModule, declarations: [DbNgxListEmptyContentComponent], imports: [CommonModule], exports: [DbNgxListEmptyContentComponent] });
9
- DbNgxListLayoutModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbNgxListLayoutModule, imports: [[
10
- CommonModule
16
+ DbxListLayoutModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxListLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
17
+ DbxListLayoutModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxListLayoutModule, declarations: [DbxListComponent,
18
+ DbxListInternalContentDirective,
19
+ DbxListEmptyContentComponent,
20
+ DbxValueListViewComponent,
21
+ DbxSelectionValueListViewComponent,
22
+ DbxSelectionValueListItemViewComponent], imports: [CommonModule,
23
+ DbxLoadingModule,
24
+ DbxAnchorModule,
25
+ InfiniteScrollModule,
26
+ DbxInjectedComponentModule,
27
+ MatListModule,
28
+ MatIconModule], exports: [DbxListComponent,
29
+ DbxListEmptyContentComponent,
30
+ DbxValueListViewComponent,
31
+ DbxSelectionValueListViewComponent,
32
+ DbxSelectionValueListItemViewComponent] });
33
+ DbxListLayoutModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxListLayoutModule, imports: [[
34
+ CommonModule,
35
+ DbxLoadingModule,
36
+ DbxAnchorModule,
37
+ InfiniteScrollModule,
38
+ DbxInjectedComponentModule,
39
+ MatListModule,
40
+ MatIconModule
11
41
  ]] });
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbNgxListLayoutModule, decorators: [{
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxListLayoutModule, decorators: [{
13
43
  type: NgModule,
14
44
  args: [{
15
45
  imports: [
16
- CommonModule
46
+ CommonModule,
47
+ DbxLoadingModule,
48
+ DbxAnchorModule,
49
+ InfiniteScrollModule,
50
+ DbxInjectedComponentModule,
51
+ MatListModule,
52
+ MatIconModule
17
53
  ],
18
54
  declarations: [
19
- DbNgxListEmptyContentComponent
55
+ DbxListComponent,
56
+ DbxListInternalContentDirective,
57
+ DbxListEmptyContentComponent,
58
+ DbxValueListViewComponent,
59
+ DbxSelectionValueListViewComponent,
60
+ DbxSelectionValueListItemViewComponent
20
61
  ],
21
62
  exports: [
22
- DbNgxListEmptyContentComponent
63
+ DbxListComponent,
64
+ DbxListEmptyContentComponent,
65
+ DbxValueListViewComponent,
66
+ DbxSelectionValueListViewComponent,
67
+ DbxSelectionValueListItemViewComponent
23
68
  ]
24
69
  }]
25
70
  }] });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5sYXlvdXQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9zcmMvbGliL2xheW91dC9saXN0L2xpc3QubGF5b3V0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFheEUsTUFBTSxPQUFPLHFCQUFxQjs7a0hBQXJCLHFCQUFxQjttSEFBckIscUJBQXFCLGlCQU45Qiw4QkFBOEIsYUFIOUIsWUFBWSxhQU1aLDhCQUE4QjttSEFHckIscUJBQXFCLFlBVnZCO1lBQ1AsWUFBWTtTQUNiOzJGQVFVLHFCQUFxQjtrQkFYakMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTtxQkFDYjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osOEJBQThCO3FCQUMvQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsOEJBQThCO3FCQUMvQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGJOZ3hMaXN0RW1wdHlDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9saXN0LmVtcHR5LmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGVcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRGJOZ3hMaXN0RW1wdHlDb250ZW50Q29tcG9uZW50XG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBEYk5neExpc3RFbXB0eUNvbnRlbnRDb21wb25lbnRcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEYk5neExpc3RMYXlvdXRNb2R1bGUgeyB9XG4iXX0=
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5sYXlvdXQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9zcmMvbGliL2xheW91dC9saXN0L2xpc3QubGF5b3V0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNyRixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsc0NBQXNDLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNuSSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUE0QnhFLE1BQU0sT0FBTyxtQkFBbUI7O2dIQUFuQixtQkFBbUI7aUhBQW5CLG1CQUFtQixpQkFmNUIsZ0JBQWdCO1FBQ2hCLCtCQUErQjtRQUMvQiw0QkFBNEI7UUFDNUIseUJBQXlCO1FBQ3pCLGtDQUFrQztRQUNsQyxzQ0FBc0MsYUFkdEMsWUFBWTtRQUNaLGdCQUFnQjtRQUNoQixlQUFlO1FBQ2Ysb0JBQW9CO1FBQ3BCLDBCQUEwQjtRQUMxQixhQUFhO1FBQ2IsYUFBYSxhQVdiLGdCQUFnQjtRQUNoQiw0QkFBNEI7UUFDNUIseUJBQXlCO1FBQ3pCLGtDQUFrQztRQUNsQyxzQ0FBc0M7aUhBRzdCLG1CQUFtQixZQXpCckI7WUFDUCxZQUFZO1lBQ1osZ0JBQWdCO1lBQ2hCLGVBQWU7WUFDZixvQkFBb0I7WUFDcEIsMEJBQTBCO1lBQzFCLGFBQWE7WUFDYixhQUFhO1NBQ2Q7MkZBaUJVLG1CQUFtQjtrQkExQi9CLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLG9CQUFvQjt3QkFDcEIsMEJBQTBCO3dCQUMxQixhQUFhO3dCQUNiLGFBQWE7cUJBQ2Q7b0JBQ0QsWUFBWSxFQUFFO3dCQUNaLGdCQUFnQjt3QkFDaEIsK0JBQStCO3dCQUMvQiw0QkFBNEI7d0JBQzVCLHlCQUF5Qjt3QkFDekIsa0NBQWtDO3dCQUNsQyxzQ0FBc0M7cUJBQ3ZDO29CQUNELE9BQU8sRUFBRTt3QkFDUCxnQkFBZ0I7d0JBQ2hCLDRCQUE0Qjt3QkFDNUIseUJBQXlCO3dCQUN6QixrQ0FBa0M7d0JBQ2xDLHNDQUFzQztxQkFDdkM7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYnhBbmNob3JNb2R1bGUgfSBmcm9tICcuLi8uLi9yb3V0ZXIvbGF5b3V0L2FuY2hvci9hbmNob3IubW9kdWxlJztcbmltcG9ydCB7IERieExvYWRpbmdNb2R1bGUgfSBmcm9tICcuLi8uLi9sb2FkaW5nL2xvYWRpbmcubW9kdWxlJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGJ4SW5qZWN0ZWRDb21wb25lbnRNb2R1bGUgfSBmcm9tICdAZGVyZWVrYi9kYngtY29yZSc7XG5pbXBvcnQgeyBEYnhMaXN0Q29tcG9uZW50LCBEYnhMaXN0SW50ZXJuYWxDb250ZW50RGlyZWN0aXZlIH0gZnJvbSAnLi9saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYnhMaXN0RW1wdHlDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9saXN0LmNvbnRlbnQuZW1wdHkuY29tcG9uZW50JztcbmltcG9ydCB7IEluZmluaXRlU2Nyb2xsTW9kdWxlIH0gZnJvbSAnbmd4LWluZmluaXRlLXNjcm9sbCc7XG5pbXBvcnQgeyBEYnhTZWxlY3Rpb25WYWx1ZUxpc3RJdGVtVmlld0NvbXBvbmVudCwgRGJ4U2VsZWN0aW9uVmFsdWVMaXN0Vmlld0NvbXBvbmVudCB9IGZyb20gJy4vbGlzdC52aWV3LnZhbHVlLnNlbGVjdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGJ4VmFsdWVMaXN0Vmlld0NvbXBvbmVudCB9IGZyb20gJy4vbGlzdC52aWV3LnZhbHVlLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRGJ4TG9hZGluZ01vZHVsZSxcbiAgICBEYnhBbmNob3JNb2R1bGUsXG4gICAgSW5maW5pdGVTY3JvbGxNb2R1bGUsXG4gICAgRGJ4SW5qZWN0ZWRDb21wb25lbnRNb2R1bGUsXG4gICAgTWF0TGlzdE1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIERieExpc3RDb21wb25lbnQsXG4gICAgRGJ4TGlzdEludGVybmFsQ29udGVudERpcmVjdGl2ZSxcbiAgICBEYnhMaXN0RW1wdHlDb250ZW50Q29tcG9uZW50LFxuICAgIERieFZhbHVlTGlzdFZpZXdDb21wb25lbnQsXG4gICAgRGJ4U2VsZWN0aW9uVmFsdWVMaXN0Vmlld0NvbXBvbmVudCxcbiAgICBEYnhTZWxlY3Rpb25WYWx1ZUxpc3RJdGVtVmlld0NvbXBvbmVudFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgRGJ4TGlzdENvbXBvbmVudCxcbiAgICBEYnhMaXN0RW1wdHlDb250ZW50Q29tcG9uZW50LFxuICAgIERieFZhbHVlTGlzdFZpZXdDb21wb25lbnQsXG4gICAgRGJ4U2VsZWN0aW9uVmFsdWVMaXN0Vmlld0NvbXBvbmVudCxcbiAgICBEYnhTZWxlY3Rpb25WYWx1ZUxpc3RJdGVtVmlld0NvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIERieExpc3RMYXlvdXRNb2R1bGUgeyB9XG4iXX0=
@@ -0,0 +1,50 @@
1
+ import { switchMapMaybeObs } from '@dereekb/rxjs';
2
+ import { BehaviorSubject, of } from 'rxjs';
3
+ import { Directive, EventEmitter, Input, Output } from '@angular/core';
4
+ import { shareReplay } from 'rxjs/operators';
5
+ import * as i0 from "@angular/core";
6
+ /**
7
+ * Abstract DbxListView implementation.
8
+ */
9
+ export class AbstractDbxListViewDirective {
10
+ constructor() {
11
+ this._disabled = new BehaviorSubject(false);
12
+ this._values$ = new BehaviorSubject(undefined);
13
+ this.values$ = this._values$.pipe(switchMapMaybeObs(), shareReplay(1));
14
+ this.disabled$ = this._disabled.asObservable();
15
+ this.clickValue = new EventEmitter();
16
+ }
17
+ set valueArray(values) {
18
+ this.setValues(values ? of(values) : undefined);
19
+ }
20
+ set values(values) {
21
+ this.setValues(values);
22
+ }
23
+ ngOnDestroy() {
24
+ this._values$.complete();
25
+ }
26
+ onClickValue(value) {
27
+ this.clickValue.emit(value);
28
+ }
29
+ setListContext(state) {
30
+ this.setValues(state.list$);
31
+ }
32
+ setValues(valuesObs) {
33
+ this._values$.next(valuesObs);
34
+ }
35
+ setDisabled(disabled) {
36
+ this._disabled.next(disabled);
37
+ }
38
+ }
39
+ AbstractDbxListViewDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: AbstractDbxListViewDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
40
+ AbstractDbxListViewDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: AbstractDbxListViewDirective, inputs: { valueArray: "valueArray", values: "values" }, outputs: { clickValue: "clickValue" }, ngImport: i0 });
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: AbstractDbxListViewDirective, decorators: [{
42
+ type: Directive
43
+ }], ctorParameters: function () { return []; }, propDecorators: { clickValue: [{
44
+ type: Output
45
+ }], valueArray: [{
46
+ type: Input
47
+ }], values: [{
48
+ type: Input
49
+ }] } });
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC52aWV3LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9sYXlvdXQvbGlzdC9saXN0LnZpZXcuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBMkIsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLGVBQWUsRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBSTdDOztHQUVHO0FBRUgsTUFBTSxPQUFnQiw0QkFBNEI7SUFXaEQ7UUFUaUIsY0FBUyxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ2hELGFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBeUIsU0FBUyxDQUFDLENBQUM7UUFFMUUsWUFBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEUsY0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUM7UUFHbkQsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFLLENBQUM7SUFFbkIsQ0FBQztJQUVqQixJQUNJLFVBQVUsQ0FBQyxNQUFrQjtRQUMvQixJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsSUFDSSxNQUFNLENBQUMsTUFBOEI7UUFDdkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFRO1FBQ25CLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxjQUFjLENBQUMsS0FBaUM7UUFDOUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELFNBQVMsQ0FBQyxTQUFpQztRQUN6QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsV0FBVyxDQUFDLFFBQWlCO1FBQzNCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7O3lIQXpDbUIsNEJBQTRCOzZHQUE1Qiw0QkFBNEI7MkZBQTVCLDRCQUE0QjtrQkFEakQsU0FBUzswRUFVUixVQUFVO3NCQURULE1BQU07Z0JBTUgsVUFBVTtzQkFEYixLQUFLO2dCQU1GLE1BQU07c0JBRFQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExpc3RMb2FkaW5nU3RhdGVDb250ZXh0LCBzd2l0Y2hNYXBNYXliZU9icyB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgc2hhcmVSZXBsYXkgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBEYnhMaXN0VmlldyB9IGZyb20gJy4vbGlzdC52aWV3JztcbmltcG9ydCB7IE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5cbi8qKlxuICogQWJzdHJhY3QgRGJ4TGlzdFZpZXcgaW1wbGVtZW50YXRpb24uXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0RGJ4TGlzdFZpZXdEaXJlY3RpdmU8VD4gaW1wbGVtZW50cyBEYnhMaXN0VmlldzxUPiwgT25EZXN0cm95IHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9kaXNhYmxlZCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IF92YWx1ZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXliZTxPYnNlcnZhYmxlPFRbXT4+Pih1bmRlZmluZWQpO1xuXG4gIHJlYWRvbmx5IHZhbHVlcyQgPSB0aGlzLl92YWx1ZXMkLnBpcGUoc3dpdGNoTWFwTWF5YmVPYnMoKSwgc2hhcmVSZXBsYXkoMSkpO1xuICByZWFkb25seSBkaXNhYmxlZCQgPSB0aGlzLl9kaXNhYmxlZC5hc09ic2VydmFibGUoKTtcblxuICBAT3V0cHV0KClcbiAgY2xpY2tWYWx1ZSA9IG5ldyBFdmVudEVtaXR0ZXI8VD4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCB2YWx1ZUFycmF5KHZhbHVlczogTWF5YmU8VFtdPikge1xuICAgIHRoaXMuc2V0VmFsdWVzKHZhbHVlcyA/IG9mKHZhbHVlcykgOiB1bmRlZmluZWQpO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IHZhbHVlcyh2YWx1ZXM6IE1heWJlPE9ic2VydmFibGU8VFtdPj4pIHtcbiAgICB0aGlzLnNldFZhbHVlcyh2YWx1ZXMpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fdmFsdWVzJC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgb25DbGlja1ZhbHVlKHZhbHVlOiBUKSB7XG4gICAgdGhpcy5jbGlja1ZhbHVlLmVtaXQodmFsdWUpO1xuICB9XG5cbiAgc2V0TGlzdENvbnRleHQoc3RhdGU6IExpc3RMb2FkaW5nU3RhdGVDb250ZXh0PFQ+KTogdm9pZCB7XG4gICAgdGhpcy5zZXRWYWx1ZXMoc3RhdGUubGlzdCQpO1xuICB9XG5cbiAgc2V0VmFsdWVzKHZhbHVlc09iczogTWF5YmU8T2JzZXJ2YWJsZTxUW10+Pik6IHZvaWQge1xuICAgIHRoaXMuX3ZhbHVlcyQubmV4dCh2YWx1ZXNPYnMpO1xuICB9XG5cbiAgc2V0RGlzYWJsZWQoZGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLl9kaXNhYmxlZC5uZXh0KGRpc2FibGVkKTtcbiAgfVxuXG59XG4iXX0=
@@ -0,0 +1,13 @@
1
+ import { forwardRef } from "@angular/core";
2
+ /**
3
+ * Interface for a view that renders the items of a DbxList.
4
+ */
5
+ export class DbxListView {
6
+ }
7
+ export function ProvideDbxListView(sourceType) {
8
+ return [{
9
+ provide: DbxListView,
10
+ useExisting: forwardRef(() => sourceType)
11
+ }];
12
+ }
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC52aWV3LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9zcmMvbGliL2xheW91dC9saXN0L2xpc3Qudmlldy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQWdCLFVBQVUsRUFBa0IsTUFBTSxlQUFlLENBQUM7QUFZekU7O0dBRUc7QUFDSCxNQUFNLE9BQWdCLFdBQVc7Q0E2QmhDO0FBRUQsTUFBTSxVQUFVLGtCQUFrQixDQUE2QixVQUFtQjtJQUNoRixPQUFPLENBQUM7WUFDTixPQUFPLEVBQUUsV0FBVztZQUNwQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQztTQUMxQyxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTGlzdExvYWRpbmdTdGF0ZSwgTGlzdExvYWRpbmdTdGF0ZUNvbnRleHQgfSBmcm9tIFwiQGRlcmVla2Ivcnhqc1wiO1xuaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBQcm92aWRlciwgVHlwZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdFNlbGVjdGlvblN0YXRlSXRlbTxUPiB7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgc2VsZWN0ZWQ/OiBib29sZWFuO1xuICB2YWx1ZTogVDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXN0U2VsZWN0aW9uU3RhdGU8VD4ge1xuICBpdGVtczogTGlzdFNlbGVjdGlvblN0YXRlSXRlbTxUPltdO1xufVxuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgYSB2aWV3IHRoYXQgcmVuZGVycyB0aGUgaXRlbXMgb2YgYSBEYnhMaXN0LlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGJ4TGlzdFZpZXc8VCwgUyBleHRlbmRzIExpc3RMb2FkaW5nU3RhdGU8VD4gPSBMaXN0TG9hZGluZ1N0YXRlPFQ+PiB7XG4gIC8qKlxuICAgKiBDdXJyZW50IGRpc2FibGVkIHN0YXRlLlxuICAgKi9cbiAgYWJzdHJhY3QgcmVhZG9ubHkgZGlzYWJsZWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAvKipcbiAgICogVmFsdWVzIG9mIHRoZSBsaXN0IHZpZXcuXG4gICAqL1xuICBhYnN0cmFjdCByZWFkb25seSB2YWx1ZXMkOiBPYnNlcnZhYmxlPFRbXT47XG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIGNsaWNrZWQgZXZlbnQgZW1pdHRlci5cbiAgICogXG4gICAqIElmIGF2YWlsYWJsZSwgdGhlIERieExpc3Qgd2lsbCBzdWJzY3JpYmUgdG8gaXQgYXV0b21hdGljYWxseS5cbiAgICovXG4gIGFic3RyYWN0IGNsaWNrVmFsdWU/OiBFdmVudEVtaXR0ZXI8VD47XG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIHNlbGVjdGlvbiBjaGFuZ2VkIGV2ZW50IGVtaXR0ZXIuXG4gICAqIFxuICAgKiBJZiBhdmFpbGFibGUsIHRoZSBEYnhMaXN0IHdpbGwgc3Vic2NyaWJlIHRvIGl0IGF1dG9tYXRpY2FsbHkuXG4gICAqL1xuICBhYnN0cmFjdCBzZWxlY3Rpb25DaGFuZ2U/OiBFdmVudEVtaXR0ZXI8TGlzdFNlbGVjdGlvblN0YXRlPFQ+PjtcbiAgLyoqXG4gICAqIFNldHMgdGhlIG1vZGVscyBpbnB1dCBsb2FkaW5nIHN0YXRlIGNvbnRleHQgZm9yIHRoZSB2aWV3IHRvIHJlbmRlciBmcm9tLlxuICAgKi9cbiAgYWJzdHJhY3Qgc2V0TGlzdENvbnRleHQoc3RhdGU6IExpc3RMb2FkaW5nU3RhdGVDb250ZXh0PFQsIFM+KTogdm9pZDtcbiAgLyoqXG4gICAqIFNldHMgdGhlIGRpc2FibGVkIHN0YXRlIG9mIHRoZSBsaXN0IHZpZXcuXG4gICAqL1xuICBhYnN0cmFjdCBzZXREaXNhYmxlZChkaXNhYmxlZDogYm9vbGVhbik6IHZvaWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm92aWRlRGJ4TGlzdFZpZXc8ViBleHRlbmRzIERieExpc3RWaWV3PGFueT4+KHNvdXJjZVR5cGU6IFR5cGU8Vj4pOiBQcm92aWRlcltdIHtcbiAgcmV0dXJuIFt7XG4gICAgcHJvdmlkZTogRGJ4TGlzdFZpZXcsXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gc291cmNlVHlwZSlcbiAgfV07XG59XG4iXX0=
@@ -0,0 +1,32 @@
1
+ import { Directive, EventEmitter, Output } from '@angular/core';
2
+ import { AbstractDbxListViewDirective } from './list.view.directive';
3
+ import * as i0 from "@angular/core";
4
+ // MARK: List View
5
+ /**
6
+ * Abstract list view that has a pre-built-in selection change event for an Angular Material MatSelectionListChange.
7
+ */
8
+ export class AbstractSelectionValueListViewDirective extends AbstractDbxListViewDirective {
9
+ constructor() {
10
+ super(...arguments);
11
+ this.selectionChange = new EventEmitter();
12
+ }
13
+ selectionChanged(selection) {
14
+ this.selectionChange.emit(selection);
15
+ }
16
+ matSelectionChanged(selection) {
17
+ const options = selection.source.selectedOptions.selected;
18
+ const items = options.map(x => {
19
+ const { value, selected, disabled } = x;
20
+ return ({ value, selected, disabled });
21
+ });
22
+ this.selectionChanged({ items });
23
+ }
24
+ }
25
+ AbstractSelectionValueListViewDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: AbstractSelectionValueListViewDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
26
+ AbstractSelectionValueListViewDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: AbstractSelectionValueListViewDirective, outputs: { selectionChange: "selectionChange" }, usesInheritance: true, ngImport: i0 });
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: AbstractSelectionValueListViewDirective, decorators: [{
28
+ type: Directive
29
+ }], propDecorators: { selectionChange: [{
30
+ type: Output
31
+ }] } });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC52aWV3LnNlbGVjdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvbGF5b3V0L2xpc3QvbGlzdC52aWV3LnNlbGVjdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR2hFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQUVyRSxrQkFBa0I7QUFDbEI7O0dBRUc7QUFFSCxNQUFNLE9BQWdCLHVDQUEyQyxTQUFRLDRCQUErQjtJQUR4Rzs7UUFJRSxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUF5QixDQUFDO0tBZ0I3RDtJQWRDLGdCQUFnQixDQUFDLFNBQWdDO1FBQy9DLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxTQUFpQztRQUNuRCxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUM7UUFDMUQsTUFBTSxLQUFLLEdBQWdDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDekQsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ3hDLE9BQU8sQ0FBQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUN6QyxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDbkMsQ0FBQzs7b0lBakJtQix1Q0FBdUM7d0hBQXZDLHVDQUF1QzsyRkFBdkMsdUNBQXVDO2tCQUQ1RCxTQUFTOzhCQUlSLGVBQWU7c0JBRGQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdFNlbGVjdGlvbkxpc3RDaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcbmltcG9ydCB7IExpc3RTZWxlY3Rpb25TdGF0ZSwgTGlzdFNlbGVjdGlvblN0YXRlSXRlbSB9IGZyb20gJy4vbGlzdC52aWV3JztcbmltcG9ydCB7IEFic3RyYWN0RGJ4TGlzdFZpZXdEaXJlY3RpdmUgfSBmcm9tICcuL2xpc3Qudmlldy5kaXJlY3RpdmUnO1xuXG4vLyBNQVJLOiBMaXN0IFZpZXdcbi8qKlxuICogQWJzdHJhY3QgbGlzdCB2aWV3IHRoYXQgaGFzIGEgcHJlLWJ1aWx0LWluIHNlbGVjdGlvbiBjaGFuZ2UgZXZlbnQgZm9yIGFuIEFuZ3VsYXIgTWF0ZXJpYWwgTWF0U2VsZWN0aW9uTGlzdENoYW5nZS5cbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RTZWxlY3Rpb25WYWx1ZUxpc3RWaWV3RGlyZWN0aXZlPFQ+IGV4dGVuZHMgQWJzdHJhY3REYnhMaXN0Vmlld0RpcmVjdGl2ZTxUPiB7XG5cbiAgQE91dHB1dCgpXG4gIHNlbGVjdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8TGlzdFNlbGVjdGlvblN0YXRlPFQ+PigpO1xuXG4gIHNlbGVjdGlvbkNoYW5nZWQoc2VsZWN0aW9uOiBMaXN0U2VsZWN0aW9uU3RhdGU8VD4pOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZS5lbWl0KHNlbGVjdGlvbik7XG4gIH1cblxuICBtYXRTZWxlY3Rpb25DaGFuZ2VkKHNlbGVjdGlvbjogTWF0U2VsZWN0aW9uTGlzdENoYW5nZSk6IHZvaWQge1xuICAgIGNvbnN0IG9wdGlvbnMgPSBzZWxlY3Rpb24uc291cmNlLnNlbGVjdGVkT3B0aW9ucy5zZWxlY3RlZDtcbiAgICBjb25zdCBpdGVtczogTGlzdFNlbGVjdGlvblN0YXRlSXRlbTxUPltdID0gb3B0aW9ucy5tYXAoeCA9PiB7XG4gICAgICBjb25zdCB7IHZhbHVlLCBzZWxlY3RlZCwgZGlzYWJsZWQgfSA9IHg7XG4gICAgICByZXR1cm4gKHsgdmFsdWUsIHNlbGVjdGVkLCBkaXNhYmxlZCB9KTtcbiAgICB9KTtcblxuICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlZCh7IGl0ZW1zIH0pO1xuICB9XG5cbn1cbiJdfQ==