@covalent/core 6.4.0 → 6.4.1

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 (271) hide show
  1. package/breadcrumbs/breadcrumbs.component.d.ts +1 -1
  2. package/common/styles/font/_font.scss +1 -35
  3. package/dialogs/src/README.md +223 -0
  4. package/dialogs/window-dialog/window-dialog.component.d.ts +1 -1
  5. package/dynamic-menu/dynamic-menu-item/dynamic-menu-item.component.d.ts +1 -1
  6. package/dynamic-menu/dynamic-menu-item/dynamic-menu-link/dynamic-menu-link.component.d.ts +1 -1
  7. package/dynamic-menu/dynamic-menu.component.d.ts +1 -1
  8. package/esm2020/breadcrumbs/breadcrumb/breadcrumb.component.mjs +92 -0
  9. package/esm2020/breadcrumbs/breadcrumbs.component.mjs +131 -0
  10. package/{esm2022 → esm2020}/breadcrumbs/breadcrumbs.module.mjs +5 -5
  11. package/esm2020/common/behaviors/control-value-accesor.mixin.mjs +41 -0
  12. package/esm2020/common/behaviors/disable-ripple.mixin.mjs +24 -0
  13. package/{esm2022 → esm2020}/common/behaviors/disabled.mixin.mjs +2 -2
  14. package/{esm2022 → esm2020}/common/common.module.mjs +17 -17
  15. package/esm2020/common/directives/fullscreen/fullscreen.directive.mjs +85 -0
  16. package/esm2020/common/forms/auto-trim/auto-trim.directive.mjs +36 -0
  17. package/esm2020/common/functions/convert.mjs +84 -0
  18. package/esm2020/common/functions/download.mjs +75 -0
  19. package/esm2020/common/pipes/bytes/bytes.pipe.mjs +42 -0
  20. package/esm2020/common/pipes/decimal-bytes/decimal-bytes.pipe.mjs +42 -0
  21. package/esm2020/common/pipes/digits/digits.pipe.mjs +39 -0
  22. package/{esm2022 → esm2020}/common/pipes/time-ago/time-ago.pipe.mjs +4 -4
  23. package/{esm2022 → esm2020}/common/pipes/time-difference/time-difference.pipe.mjs +4 -4
  24. package/{esm2022 → esm2020}/common/pipes/time-until/time-until.pipe.mjs +4 -4
  25. package/esm2020/common/pipes/truncate/truncate.pipe.mjs +27 -0
  26. package/esm2020/common/services/icon.service.mjs +1089 -0
  27. package/esm2020/common/services/router-path.service.mjs +29 -0
  28. package/esm2020/dialogs/alert-dialog/alert-dialog.component.mjs +23 -0
  29. package/esm2020/dialogs/confirm-dialog/confirm-dialog.component.mjs +28 -0
  30. package/esm2020/dialogs/dialog.component.mjs +57 -0
  31. package/{esm2022 → esm2020}/dialogs/dialogs.module.mjs +39 -39
  32. package/esm2020/dialogs/prompt-dialog/prompt-dialog.component.mjs +75 -0
  33. package/esm2020/dialogs/resizable-draggable-dialog/resizable-draggable-dialog.mjs +216 -0
  34. package/esm2020/dialogs/services/dialog.service.mjs +174 -0
  35. package/esm2020/dialogs/window-dialog/window-dialog.component.mjs +38 -0
  36. package/esm2020/dynamic-menu/dynamic-menu-item/dynamic-menu-item.component.mjs +30 -0
  37. package/esm2020/dynamic-menu/dynamic-menu-item/dynamic-menu-link/dynamic-menu-link.component.mjs +24 -0
  38. package/esm2020/dynamic-menu/dynamic-menu.component.mjs +28 -0
  39. package/{esm2022 → esm2020}/dynamic-menu/dynamic-menu.module.mjs +19 -19
  40. package/esm2020/file/directives/file-drop.directive.mjs +139 -0
  41. package/esm2020/file/directives/file-select.directive.mjs +77 -0
  42. package/esm2020/file/file-input/file-input.component.mjs +128 -0
  43. package/esm2020/file/file-upload/file-upload.component.mjs +174 -0
  44. package/{esm2022 → esm2020}/file/file.module.mjs +21 -21
  45. package/esm2020/file/services/file.service.mjs +64 -0
  46. package/esm2020/json-formatter/json-formatter.component.mjs +217 -0
  47. package/{esm2022 → esm2020}/json-formatter/json-formatter.module.mjs +5 -5
  48. package/esm2020/layout/layout-card-over/layout-card-over.component.mjs +40 -0
  49. package/esm2020/layout/layout-footer/layout-footer.component.mjs +33 -0
  50. package/esm2020/layout/layout-manage-list/layout-manage-list.component.mjs +93 -0
  51. package/{esm2022 → esm2020}/layout/layout-manage-list/layout-manage-list.directives.mjs +10 -10
  52. package/esm2020/layout/layout-nav/layout-nav.component.mjs +50 -0
  53. package/esm2020/layout/layout-nav-list/layout-nav-list.component.mjs +128 -0
  54. package/{esm2022 → esm2020}/layout/layout-nav-list/layout-nav-list.directives.mjs +10 -10
  55. package/esm2020/layout/layout-toggle.class.mjs +92 -0
  56. package/esm2020/layout/layout.component.mjs +92 -0
  57. package/{esm2022 → esm2020}/layout/layout.directives.mjs +10 -10
  58. package/{esm2022 → esm2020}/layout/layout.module.mjs +55 -55
  59. package/esm2020/layout/navigation-drawer/navigation-drawer.component.mjs +163 -0
  60. package/esm2020/loading/directives/loading.directive.mjs +126 -0
  61. package/esm2020/loading/loading.component.mjs +187 -0
  62. package/{esm2022 → esm2020}/loading/loading.module.mjs +13 -13
  63. package/esm2020/loading/services/loading.factory.mjs +207 -0
  64. package/esm2020/loading/services/loading.service.mjs +213 -0
  65. package/{esm2022 → esm2020}/menu/menu.component.mjs +4 -4
  66. package/{esm2022 → esm2020}/menu/menu.module.mjs +5 -5
  67. package/esm2020/message/message.component.mjs +203 -0
  68. package/{esm2022 → esm2020}/message/message.module.mjs +7 -7
  69. package/esm2020/search/search-box/search-box.component.mjs +194 -0
  70. package/esm2020/search/search-input/search-input.component.mjs +207 -0
  71. package/{esm2022 → esm2020}/search/search.module.mjs +13 -13
  72. package/esm2020/side-sheet/side-sheet-container.mjs +274 -0
  73. package/esm2020/side-sheet/side-sheet-ref.mjs +26 -0
  74. package/{esm2022 → esm2020}/side-sheet/side-sheet.config.mjs +5 -2
  75. package/esm2020/side-sheet/side-sheet.content-directives.mjs +201 -0
  76. package/esm2020/side-sheet/side-sheet.mjs +228 -0
  77. package/{esm2022 → esm2020}/side-sheet/side-sheet.module.mjs +14 -14
  78. package/esm2020/user-profile/user-profile-menu/user-profile-menu.component.mjs +23 -0
  79. package/esm2020/user-profile/user-profile.component.mjs +19 -0
  80. package/{esm2022 → esm2020}/user-profile/user-profile.module.mjs +15 -15
  81. package/{fesm2022 → fesm2015}/covalent-core-breadcrumbs.mjs +22 -28
  82. package/{fesm2022 → fesm2015}/covalent-core-breadcrumbs.mjs.map +1 -1
  83. package/fesm2015/covalent-core-common.mjs +2281 -0
  84. package/fesm2015/covalent-core-common.mjs.map +1 -0
  85. package/fesm2015/covalent-core-dialogs.mjs +668 -0
  86. package/fesm2015/covalent-core-dialogs.mjs.map +1 -0
  87. package/fesm2015/covalent-core-dynamic-menu.mjs +126 -0
  88. package/fesm2015/covalent-core-dynamic-menu.mjs.map +1 -0
  89. package/fesm2015/covalent-core-file.mjs +621 -0
  90. package/fesm2015/covalent-core-file.mjs.map +1 -0
  91. package/fesm2015/covalent-core-json-formatter.mjs +298 -0
  92. package/fesm2015/covalent-core-json-formatter.mjs.map +1 -0
  93. package/fesm2015/covalent-core-layout.mjs +1024 -0
  94. package/{fesm2022 → fesm2015}/covalent-core-layout.mjs.map +1 -1
  95. package/fesm2015/covalent-core-loading.mjs +766 -0
  96. package/fesm2015/covalent-core-loading.mjs.map +1 -0
  97. package/{fesm2022 → fesm2015}/covalent-core-menu.mjs +7 -7
  98. package/{fesm2022 → fesm2015}/covalent-core-menu.mjs.map +1 -1
  99. package/fesm2015/covalent-core-message.mjs +284 -0
  100. package/fesm2015/covalent-core-message.mjs.map +1 -0
  101. package/fesm2015/covalent-core-search.mjs +430 -0
  102. package/fesm2015/covalent-core-search.mjs.map +1 -0
  103. package/fesm2015/covalent-core-side-sheet.mjs +784 -0
  104. package/fesm2015/covalent-core-side-sheet.mjs.map +1 -0
  105. package/fesm2015/covalent-core-user-profile.mjs +83 -0
  106. package/fesm2015/covalent-core-user-profile.mjs.map +1 -0
  107. package/fesm2020/covalent-core-breadcrumbs.mjs +243 -0
  108. package/fesm2020/covalent-core-breadcrumbs.mjs.map +1 -0
  109. package/{fesm2022 → fesm2020}/covalent-core-common.mjs +1125 -1131
  110. package/fesm2020/covalent-core-common.mjs.map +1 -0
  111. package/{fesm2022 → fesm2020}/covalent-core-dialogs.mjs +82 -111
  112. package/fesm2020/covalent-core-dialogs.mjs.map +1 -0
  113. package/fesm2020/covalent-core-dynamic-menu.mjs +126 -0
  114. package/{fesm2022 → fesm2020}/covalent-core-dynamic-menu.mjs.map +1 -1
  115. package/{fesm2022 → fesm2020}/covalent-core-file.mjs +110 -148
  116. package/{fesm2022 → fesm2020}/covalent-core-file.mjs.map +1 -1
  117. package/{fesm2022 → fesm2020}/covalent-core-json-formatter.mjs +21 -26
  118. package/{fesm2022 → fesm2020}/covalent-core-json-formatter.mjs.map +1 -1
  119. package/{fesm2022 → fesm2020}/covalent-core-layout.mjs +271 -396
  120. package/fesm2020/covalent-core-layout.mjs.map +1 -0
  121. package/{fesm2022 → fesm2020}/covalent-core-loading.mjs +78 -100
  122. package/{fesm2022 → fesm2020}/covalent-core-loading.mjs.map +1 -1
  123. package/fesm2020/covalent-core-menu.mjs +37 -0
  124. package/fesm2020/covalent-core-menu.mjs.map +1 -0
  125. package/{fesm2022 → fesm2020}/covalent-core-message.mjs +23 -42
  126. package/{fesm2022 → fesm2020}/covalent-core-message.mjs.map +1 -1
  127. package/fesm2020/covalent-core-search.mjs +427 -0
  128. package/fesm2020/covalent-core-search.mjs.map +1 -0
  129. package/{fesm2022 → fesm2020}/covalent-core-side-sheet.mjs +99 -124
  130. package/{fesm2022 → fesm2020}/covalent-core-side-sheet.mjs.map +1 -1
  131. package/fesm2020/covalent-core-user-profile.mjs +83 -0
  132. package/fesm2020/covalent-core-user-profile.mjs.map +1 -0
  133. package/fesm2020/covalent-core.mjs +4 -0
  134. package/fesm2020/covalent-core.mjs.map +1 -0
  135. package/file/directives/file-drop.directive.d.ts +1 -1
  136. package/file/directives/file-select.directive.d.ts +1 -1
  137. package/file/file-input/file-input.component.d.ts +1 -1
  138. package/file/file-upload/file-upload.component.d.ts +1 -1
  139. package/file/src/file-input/README.md +147 -0
  140. package/file/src/file-upload/README.md +136 -0
  141. package/json-formatter/json-formatter.component.d.ts +1 -1
  142. package/layout/layout-card-over/layout-card-over.component.d.ts +1 -1
  143. package/layout/layout-footer/layout-footer.component.d.ts +1 -1
  144. package/layout/layout-manage-list/layout-manage-list.component.d.ts +1 -1
  145. package/layout/layout-manage-list/layout-manage-list.directives.d.ts +3 -3
  146. package/layout/layout-nav/layout-nav.component.d.ts +1 -1
  147. package/layout/layout-nav-list/layout-nav-list.component.d.ts +1 -1
  148. package/layout/layout-nav-list/layout-nav-list.directives.d.ts +3 -3
  149. package/layout/layout-toggle.class.d.ts +1 -1
  150. package/layout/layout.component.d.ts +1 -1
  151. package/layout/layout.directives.d.ts +3 -3
  152. package/layout/navigation-drawer/navigation-drawer.component.d.ts +1 -1
  153. package/layout/src/layout-card-over/README.md +43 -0
  154. package/layout/src/layout-manage-list/README.md +80 -0
  155. package/layout/src/layout-nav/README.md +50 -0
  156. package/layout/src/layout-nav-list/README.md +105 -0
  157. package/loading/directives/loading.directive.d.ts +1 -1
  158. package/message/message.component.d.ts +1 -1
  159. package/package.json +91 -55
  160. package/search/search-box/search-box.component.d.ts +1 -1
  161. package/search/search-input/search-input.component.d.ts +1 -1
  162. package/search/src/search-box/README.md +73 -0
  163. package/search/src/search-input/README.md +74 -0
  164. package/side-sheet/side-sheet.content-directives.d.ts +2 -2
  165. package/user-profile/user-profile-menu/user-profile-menu.component.d.ts +1 -1
  166. package/user-profile/user-profile.component.d.ts +1 -1
  167. package/common/styles/font/MaterialIcons-Regular-v48.woff2 +0 -0
  168. package/esm2022/breadcrumbs/breadcrumb/breadcrumb.component.mjs +0 -94
  169. package/esm2022/breadcrumbs/breadcrumbs.component.mjs +0 -135
  170. package/esm2022/common/behaviors/control-value-accesor.mixin.mjs +0 -43
  171. package/esm2022/common/behaviors/disable-ripple.mixin.mjs +0 -24
  172. package/esm2022/common/directives/fullscreen/fullscreen.directive.mjs +0 -87
  173. package/esm2022/common/forms/auto-trim/auto-trim.directive.mjs +0 -37
  174. package/esm2022/common/functions/convert.mjs +0 -84
  175. package/esm2022/common/functions/download.mjs +0 -75
  176. package/esm2022/common/pipes/bytes/bytes.pipe.mjs +0 -42
  177. package/esm2022/common/pipes/decimal-bytes/decimal-bytes.pipe.mjs +0 -42
  178. package/esm2022/common/pipes/digits/digits.pipe.mjs +0 -41
  179. package/esm2022/common/pipes/truncate/truncate.pipe.mjs +0 -27
  180. package/esm2022/common/services/icon.service.mjs +0 -1087
  181. package/esm2022/common/services/router-path.service.mjs +0 -30
  182. package/esm2022/dialogs/alert-dialog/alert-dialog.component.mjs +0 -26
  183. package/esm2022/dialogs/confirm-dialog/confirm-dialog.component.mjs +0 -31
  184. package/esm2022/dialogs/dialog.component.mjs +0 -60
  185. package/esm2022/dialogs/prompt-dialog/prompt-dialog.component.mjs +0 -84
  186. package/esm2022/dialogs/resizable-draggable-dialog/resizable-draggable-dialog.mjs +0 -220
  187. package/esm2022/dialogs/services/dialog.service.mjs +0 -179
  188. package/esm2022/dialogs/window-dialog/window-dialog.component.mjs +0 -40
  189. package/esm2022/dynamic-menu/dynamic-menu-item/dynamic-menu-item.component.mjs +0 -30
  190. package/esm2022/dynamic-menu/dynamic-menu-item/dynamic-menu-link/dynamic-menu-link.component.mjs +0 -23
  191. package/esm2022/dynamic-menu/dynamic-menu.component.mjs +0 -28
  192. package/esm2022/file/directives/file-drop.directive.mjs +0 -145
  193. package/esm2022/file/directives/file-select.directive.mjs +0 -78
  194. package/esm2022/file/file-input/file-input.component.mjs +0 -146
  195. package/esm2022/file/file-upload/file-upload.component.mjs +0 -185
  196. package/esm2022/file/services/file.service.mjs +0 -66
  197. package/esm2022/json-formatter/json-formatter.component.mjs +0 -222
  198. package/esm2022/layout/layout-card-over/layout-card-over.component.mjs +0 -50
  199. package/esm2022/layout/layout-footer/layout-footer.component.mjs +0 -36
  200. package/esm2022/layout/layout-manage-list/layout-manage-list.component.mjs +0 -92
  201. package/esm2022/layout/layout-nav/layout-nav.component.mjs +0 -76
  202. package/esm2022/layout/layout-nav-list/layout-nav-list.component.mjs +0 -154
  203. package/esm2022/layout/layout-toggle.class.mjs +0 -96
  204. package/esm2022/layout/layout.component.mjs +0 -91
  205. package/esm2022/layout/navigation-drawer/navigation-drawer.component.mjs +0 -221
  206. package/esm2022/loading/directives/loading.directive.mjs +0 -133
  207. package/esm2022/loading/loading.component.mjs +0 -193
  208. package/esm2022/loading/services/loading.factory.mjs +0 -210
  209. package/esm2022/loading/services/loading.service.mjs +0 -219
  210. package/esm2022/message/message.component.mjs +0 -222
  211. package/esm2022/search/search-box/search-box.component.mjs +0 -198
  212. package/esm2022/search/search-input/search-input.component.mjs +0 -214
  213. package/esm2022/side-sheet/side-sheet-container.mjs +0 -285
  214. package/esm2022/side-sheet/side-sheet-ref.mjs +0 -30
  215. package/esm2022/side-sheet/side-sheet.content-directives.mjs +0 -206
  216. package/esm2022/side-sheet/side-sheet.mjs +0 -236
  217. package/esm2022/user-profile/user-profile-menu/user-profile-menu.component.mjs +0 -25
  218. package/esm2022/user-profile/user-profile.component.mjs +0 -21
  219. package/fesm2022/covalent-core-common.mjs.map +0 -1
  220. package/fesm2022/covalent-core-dialogs.mjs.map +0 -1
  221. package/fesm2022/covalent-core-dynamic-menu.mjs +0 -125
  222. package/fesm2022/covalent-core-search.mjs +0 -438
  223. package/fesm2022/covalent-core-search.mjs.map +0 -1
  224. package/fesm2022/covalent-core-user-profile.mjs +0 -87
  225. package/fesm2022/covalent-core-user-profile.mjs.map +0 -1
  226. /package/{esm2022 → esm2020}/breadcrumbs/covalent-core-breadcrumbs.mjs +0 -0
  227. /package/{esm2022 → esm2020}/breadcrumbs/public_api.mjs +0 -0
  228. /package/{esm2022 → esm2020}/common/animations/bounce/bounce.animation.mjs +0 -0
  229. /package/{esm2022 → esm2020}/common/animations/collapse/collapse.animation.mjs +0 -0
  230. /package/{esm2022 → esm2020}/common/animations/common/interfaces.mjs +0 -0
  231. /package/{esm2022 → esm2020}/common/animations/fade/fadeInOut.animation.mjs +0 -0
  232. /package/{esm2022 → esm2020}/common/animations/flash/flash.animation.mjs +0 -0
  233. /package/{esm2022 → esm2020}/common/animations/headshake/headshake.animation.mjs +0 -0
  234. /package/{esm2022 → esm2020}/common/animations/jello/jello.animation.mjs +0 -0
  235. /package/{esm2022 → esm2020}/common/animations/pulse/pulse.animation.mjs +0 -0
  236. /package/{esm2022 → esm2020}/common/animations/rotate/rotate.animation.mjs +0 -0
  237. /package/{esm2022 → esm2020}/common/covalent-core-common.mjs +0 -0
  238. /package/{esm2022 → esm2020}/common/forms/validators/validators.mjs +0 -0
  239. /package/{esm2022 → esm2020}/common/functions/clipboard.mjs +0 -0
  240. /package/{esm2022 → esm2020}/common/functions/file.mjs +0 -0
  241. /package/{esm2022 → esm2020}/common/public_api.mjs +0 -0
  242. /package/{esm2022 → esm2020}/covalent-core.mjs +0 -0
  243. /package/{esm2022 → esm2020}/dialogs/covalent-core-dialogs.mjs +0 -0
  244. /package/{esm2022 → esm2020}/dialogs/public_api.mjs +0 -0
  245. /package/{esm2022 → esm2020}/dynamic-menu/covalent-core-dynamic-menu.mjs +0 -0
  246. /package/{esm2022 → esm2020}/dynamic-menu/dynamic-menu.menu.mjs +0 -0
  247. /package/{esm2022 → esm2020}/dynamic-menu/public_api.mjs +0 -0
  248. /package/{esm2022 → esm2020}/file/covalent-core-file.mjs +0 -0
  249. /package/{esm2022 → esm2020}/file/public_api.mjs +0 -0
  250. /package/{esm2022 → esm2020}/json-formatter/collapse.animation.mjs +0 -0
  251. /package/{esm2022 → esm2020}/json-formatter/covalent-core-json-formatter.mjs +0 -0
  252. /package/{esm2022 → esm2020}/json-formatter/public_api.mjs +0 -0
  253. /package/{esm2022 → esm2020}/layout/covalent-core-layout.mjs +0 -0
  254. /package/{esm2022 → esm2020}/layout/public_api.mjs +0 -0
  255. /package/{esm2022 → esm2020}/loading/covalent-core-loading.mjs +0 -0
  256. /package/{esm2022 → esm2020}/loading/public_api.mjs +0 -0
  257. /package/{esm2022 → esm2020}/menu/covalent-core-menu.mjs +0 -0
  258. /package/{esm2022 → esm2020}/menu/public_api.mjs +0 -0
  259. /package/{esm2022 → esm2020}/message/collapse.animation.mjs +0 -0
  260. /package/{esm2022 → esm2020}/message/covalent-core-message.mjs +0 -0
  261. /package/{esm2022 → esm2020}/message/public_api.mjs +0 -0
  262. /package/{esm2022 → esm2020}/public_api.mjs +0 -0
  263. /package/{esm2022 → esm2020}/search/covalent-core-search.mjs +0 -0
  264. /package/{esm2022 → esm2020}/search/public_api.mjs +0 -0
  265. /package/{esm2022 → esm2020}/side-sheet/covalent-core-side-sheet.mjs +0 -0
  266. /package/{esm2022 → esm2020}/side-sheet/public_api.mjs +0 -0
  267. /package/{esm2022 → esm2020}/side-sheet/side-sheet.animation.mjs +0 -0
  268. /package/{esm2022 → esm2020}/user-profile/covalent-core-user-profile.mjs +0 -0
  269. /package/{esm2022 → esm2020}/user-profile/public_api.mjs +0 -0
  270. /package/{fesm2022 → fesm2015}/covalent-core.mjs +0 -0
  271. /package/{fesm2022 → fesm2015}/covalent-core.mjs.map +0 -0
@@ -1,222 +0,0 @@
1
- import { Component, Input, ChangeDetectionStrategy, ChangeDetectorRef, Optional, } from '@angular/core';
2
- import { Dir } from '@angular/cdk/bidi';
3
- import { tdCollapseAnimation } from './collapse.animation';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/cdk/bidi";
6
- import * as i2 from "@angular/common";
7
- import * as i3 from "@angular/material/tooltip";
8
- import * as i4 from "@angular/material/icon";
9
- export class TdJsonFormatterComponent {
10
- _changeDetectorRef;
11
- _dir;
12
- /**
13
- * Max length for property names. Any names bigger than this get trunctated.
14
- */
15
- static KEY_MAX_LENGTH = 30;
16
- /**
17
- * Max length for preview string. Any names bigger than this get trunctated.
18
- */
19
- static PREVIEW_STRING_MAX_LENGTH = 80;
20
- /**
21
- * Max tooltip preview elements.
22
- */
23
- static PREVIEW_LIMIT = 5;
24
- _key;
25
- _data;
26
- _children;
27
- _open = false;
28
- _levelsOpen = 0;
29
- /**
30
- * levelsOpen?: number
31
- * Levels opened by default when JS object is formatted and rendered.
32
- */
33
- set levelsOpen(levelsOpen) {
34
- if (!Number.isInteger(levelsOpen)) {
35
- throw new Error('[levelsOpen] needs to be an integer.');
36
- }
37
- this._levelsOpen = levelsOpen;
38
- this._open = levelsOpen > 0;
39
- }
40
- get levelsOpen() {
41
- return this._levelsOpen;
42
- }
43
- get open() {
44
- return this._open;
45
- }
46
- /**
47
- * key?: string
48
- * Tag to be displayed next to formatted object.
49
- */
50
- set key(key) {
51
- this._key = key;
52
- }
53
- get key() {
54
- const elipsis = this._key && this._key.length > TdJsonFormatterComponent.KEY_MAX_LENGTH
55
- ? '…'
56
- : '';
57
- return this._key
58
- ? this._key.substring(0, TdJsonFormatterComponent.KEY_MAX_LENGTH) +
59
- elipsis
60
- : this._key ?? '';
61
- }
62
- /**
63
- * data: any
64
- * JS object to be formatted.
65
- */
66
- set data(data) {
67
- this._data = data;
68
- this.parseChildren();
69
- }
70
- get data() {
71
- return this._data;
72
- }
73
- get children() {
74
- return this._children ?? [];
75
- }
76
- get isRTL() {
77
- if (this._dir) {
78
- return this._dir.dir === 'rtl';
79
- }
80
- return false;
81
- }
82
- constructor(_changeDetectorRef, _dir) {
83
- this._changeDetectorRef = _changeDetectorRef;
84
- this._dir = _dir;
85
- }
86
- /**
87
- * Refreshes json-formatter and rerenders [data]
88
- */
89
- refresh() {
90
- this._changeDetectorRef.markForCheck();
91
- }
92
- /**
93
- * Toggles collapse/expanded state of component.
94
- */
95
- toggle() {
96
- this._open = !this._open;
97
- }
98
- isObject() {
99
- return this.getType(this._data) === 'object';
100
- }
101
- isArray() {
102
- return Array.isArray(this._data);
103
- }
104
- hasChildren() {
105
- return (this._children && this._children.length > 0) ?? false;
106
- }
107
- /**
108
- * Gets parsed value depending on value type.
109
- */
110
- getValue(value) {
111
- const type = this.getType(value);
112
- if (type === 'undefined' || type === 'null') {
113
- return type;
114
- }
115
- else if (type === 'date') {
116
- value = new Date(value).toString();
117
- }
118
- else if (type === 'string') {
119
- value = '"' + value + '"';
120
- }
121
- else if (type === 'function') {
122
- // Remove content of the function
123
- return (value
124
- .toString()
125
- .replace(/[\r\n]/g, '')
126
- .replace(/\{.*\}/, '') + '{…}');
127
- }
128
- else if (Array.isArray(value)) {
129
- return this.getObjectName() + ' [' + value.length + ']';
130
- }
131
- return value;
132
- }
133
- /**
134
- * Gets type of object.
135
- * returns 'null' if object is null and 'date' if value is object and can be parsed to a date.
136
- */
137
- getType(object) {
138
- if (typeof object === 'object') {
139
- if (!object) {
140
- return 'null';
141
- }
142
- if (Array.isArray(object)) {
143
- return 'object';
144
- }
145
- const date = new Date(object);
146
- if (Object.prototype.toString.call(date) === '[object Date]' &&
147
- !Number.isNaN(date.getTime())) {
148
- return 'date';
149
- }
150
- }
151
- return typeof object;
152
- }
153
- /**
154
- * Generates string representation depending if its an object or function.
155
- * see: http://stackoverflow.com/a/332429
156
- */
157
- getObjectName() {
158
- const object = this._data;
159
- if (this.isObject() && !object.constructor) {
160
- return 'Object';
161
- }
162
- const funcNameRegex = /function (.{1,})\(/;
163
- const results = funcNameRegex.exec(object.constructor.toString());
164
- if (results && results.length > 1) {
165
- return results[1];
166
- }
167
- else {
168
- return '';
169
- }
170
- }
171
- /**
172
- * Creates preview of nodes children to render in tooltip depending if its an array or an object.
173
- */
174
- getPreview() {
175
- let previewData;
176
- let startChar = '{ ';
177
- let endChar = ' }';
178
- if (this.isArray()) {
179
- const previewArray = Object.entries(this._data).slice(0, TdJsonFormatterComponent.PREVIEW_LIMIT) ?? [];
180
- previewData = previewArray.map((obj) => {
181
- return this.getValue(obj);
182
- });
183
- startChar = '[';
184
- endChar = ']';
185
- }
186
- else {
187
- const previewKeys = this._children?.slice(0, TdJsonFormatterComponent.PREVIEW_LIMIT) ?? [];
188
- previewData = previewKeys.map((key) => {
189
- return key + ': ' + this.getValue(this._data[key] ?? undefined);
190
- });
191
- }
192
- const previewString = previewData.join(', ');
193
- const ellipsis = previewData.length >= TdJsonFormatterComponent.PREVIEW_LIMIT ||
194
- previewString.length > TdJsonFormatterComponent.PREVIEW_STRING_MAX_LENGTH
195
- ? '…'
196
- : '';
197
- return (startChar +
198
- previewString.substring(0, TdJsonFormatterComponent.PREVIEW_STRING_MAX_LENGTH) +
199
- ellipsis +
200
- endChar);
201
- }
202
- parseChildren() {
203
- if (this.isObject()) {
204
- this._children = Object.keys(this._data ?? {});
205
- }
206
- }
207
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TdJsonFormatterComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.Dir, optional: true }], target: i0.ɵɵFactoryTarget.Component });
208
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: TdJsonFormatterComponent, selector: "td-json-formatter", inputs: { levelsOpen: "levelsOpen", key: "key", data: "data" }, ngImport: i0, template: "<div class=\"td-json-formatter-wrapper\">\n <a\n class=\"td-key\"\n [class.td-key-node]=\"hasChildren()\"\n [class.td-key-leaf]=\"!hasChildren()\"\n [tabIndex]=\"isObject() ? 0 : -1\"\n (keydown.enter)=\"toggle()\"\n (click)=\"toggle()\"\n >\n <mat-icon class=\"td-node-icon\" *ngIf=\"hasChildren()\">\n {{\n open\n ? 'keyboard_arrow_down'\n : isRTL\n ? 'keyboard_arrow_left'\n : 'keyboard_arrow_right'\n }}\n </mat-icon>\n <span *ngIf=\"key\" class=\"key\">{{ key }}:</span>\n <span class=\"value\">\n <span\n [class.td-empty]=\"!hasChildren()\"\n *ngIf=\"isObject()\"\n [matTooltip]=\"getPreview()\"\n matTooltipPosition=\"after\"\n >\n <span class=\"td-object-name\">{{ getObjectName() }}</span>\n <span class=\"td-array-length\" *ngIf=\"isArray()\"\n >[{{ data['length'] }}]</span\n >\n </span>\n <span *ngIf=\"!isObject()\" [class]=\"getType(data)\">{{\n getValue(data)\n }}</span>\n </span>\n </a>\n <div class=\"td-object-children\" [@tdCollapse]=\"!(hasChildren() && open)\">\n <ng-template let-key ngFor [ngForOf]=\"children\">\n <td-json-formatter\n [key]=\"key\"\n [data]=\"data[key]\"\n [levelsOpen]=\"levelsOpen - 1\"\n ></td-json-formatter>\n </ng-template>\n </div>\n</div>\n", styles: [":host{display:block}.td-json-formatter-wrapper{padding-top:2px;padding-bottom:2px}.td-json-formatter-wrapper .td-key{box-sizing:border-box;display:flex;flex-direction:row;align-items:flex-start;align-content:center;max-width:100%;justify-content:flex-start}.td-json-formatter-wrapper .td-key.td-key-node:hover{cursor:pointer}.td-json-formatter-wrapper .td-object-children.ng-animating{overflow:hidden}.td-json-formatter-wrapper .td-object-children .td-key,.td-json-formatter-wrapper .td-object-children .td-object-children{padding-left:24px}::ng-deep [dir=rtl] .td-json-formatter-wrapper .td-object-children .td-key,::ng-deep [dir=rtl] .td-json-formatter-wrapper .td-object-children .td-object-children{padding-right:24px;padding-left:0}.td-json-formatter-wrapper .td-object-children .td-key.td-key-leaf,.td-json-formatter-wrapper .td-object-children .td-object-children.td-key-leaf{padding-left:48px}::ng-deep [dir=rtl] .td-json-formatter-wrapper .td-object-children .td-key.td-key-leaf,::ng-deep [dir=rtl] .td-json-formatter-wrapper .td-object-children .td-object-children.td-key-leaf{padding-right:48px;padding-left:0}.td-json-formatter-wrapper .value{margin-left:5px}::ng-deep [dir=rtl] .td-json-formatter-wrapper .value{padding-right:5px;padding-left:0}.td-json-formatter-wrapper .value .td-empty{opacity:.5;text-decoration:line-through}.td-json-formatter-wrapper .value .string,.td-json-formatter-wrapper .value .date{word-break:break-word}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: TdJsonFormatterComponent, selector: "td-json-formatter", inputs: ["levelsOpen", "key", "data"] }], animations: [tdCollapseAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush });
209
- }
210
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TdJsonFormatterComponent, decorators: [{
211
- type: Component,
212
- args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'td-json-formatter', animations: [tdCollapseAnimation], template: "<div class=\"td-json-formatter-wrapper\">\n <a\n class=\"td-key\"\n [class.td-key-node]=\"hasChildren()\"\n [class.td-key-leaf]=\"!hasChildren()\"\n [tabIndex]=\"isObject() ? 0 : -1\"\n (keydown.enter)=\"toggle()\"\n (click)=\"toggle()\"\n >\n <mat-icon class=\"td-node-icon\" *ngIf=\"hasChildren()\">\n {{\n open\n ? 'keyboard_arrow_down'\n : isRTL\n ? 'keyboard_arrow_left'\n : 'keyboard_arrow_right'\n }}\n </mat-icon>\n <span *ngIf=\"key\" class=\"key\">{{ key }}:</span>\n <span class=\"value\">\n <span\n [class.td-empty]=\"!hasChildren()\"\n *ngIf=\"isObject()\"\n [matTooltip]=\"getPreview()\"\n matTooltipPosition=\"after\"\n >\n <span class=\"td-object-name\">{{ getObjectName() }}</span>\n <span class=\"td-array-length\" *ngIf=\"isArray()\"\n >[{{ data['length'] }}]</span\n >\n </span>\n <span *ngIf=\"!isObject()\" [class]=\"getType(data)\">{{\n getValue(data)\n }}</span>\n </span>\n </a>\n <div class=\"td-object-children\" [@tdCollapse]=\"!(hasChildren() && open)\">\n <ng-template let-key ngFor [ngForOf]=\"children\">\n <td-json-formatter\n [key]=\"key\"\n [data]=\"data[key]\"\n [levelsOpen]=\"levelsOpen - 1\"\n ></td-json-formatter>\n </ng-template>\n </div>\n</div>\n", styles: [":host{display:block}.td-json-formatter-wrapper{padding-top:2px;padding-bottom:2px}.td-json-formatter-wrapper .td-key{box-sizing:border-box;display:flex;flex-direction:row;align-items:flex-start;align-content:center;max-width:100%;justify-content:flex-start}.td-json-formatter-wrapper .td-key.td-key-node:hover{cursor:pointer}.td-json-formatter-wrapper .td-object-children.ng-animating{overflow:hidden}.td-json-formatter-wrapper .td-object-children .td-key,.td-json-formatter-wrapper .td-object-children .td-object-children{padding-left:24px}::ng-deep [dir=rtl] .td-json-formatter-wrapper .td-object-children .td-key,::ng-deep [dir=rtl] .td-json-formatter-wrapper .td-object-children .td-object-children{padding-right:24px;padding-left:0}.td-json-formatter-wrapper .td-object-children .td-key.td-key-leaf,.td-json-formatter-wrapper .td-object-children .td-object-children.td-key-leaf{padding-left:48px}::ng-deep [dir=rtl] .td-json-formatter-wrapper .td-object-children .td-key.td-key-leaf,::ng-deep [dir=rtl] .td-json-formatter-wrapper .td-object-children .td-object-children.td-key-leaf{padding-right:48px;padding-left:0}.td-json-formatter-wrapper .value{margin-left:5px}::ng-deep [dir=rtl] .td-json-formatter-wrapper .value{padding-right:5px;padding-left:0}.td-json-formatter-wrapper .value .td-empty{opacity:.5;text-decoration:line-through}.td-json-formatter-wrapper .value .string,.td-json-formatter-wrapper .value .date{word-break:break-word}\n"] }]
213
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.Dir, decorators: [{
214
- type: Optional
215
- }] }]; }, propDecorators: { levelsOpen: [{
216
- type: Input
217
- }], key: [{
218
- type: Input
219
- }], data: [{
220
- type: Input
221
- }] } });
222
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi1mb3JtYXR0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2pzb24tZm9ybWF0dGVyL3NyYy9qc29uLWZvcm1hdHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvanNvbi1mb3JtYXR0ZXIvc3JjL2pzb24tZm9ybWF0dGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsUUFBUSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN4QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7O0FBUzNELE1BQU0sT0FBTyx3QkFBd0I7SUFzRnpCO0lBQ1k7SUF0RnRCOztPQUVHO0lBQ0ssTUFBTSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUM7SUFFbkM7O09BRUc7SUFDSyxNQUFNLENBQUMseUJBQXlCLEdBQUcsRUFBRSxDQUFDO0lBRTlDOztPQUVHO0lBQ0ssTUFBTSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUM7SUFFekIsSUFBSSxDQUFVO0lBQ2QsS0FBSyxDQUF1QjtJQUM1QixTQUFTLENBQVk7SUFDckIsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNkLFdBQVcsR0FBRyxDQUFDLENBQUM7SUFFeEI7OztPQUdHO0lBQ0gsSUFDSSxVQUFVLENBQUMsVUFBa0I7UUFDL0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDakMsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO1NBQ3pEO1FBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7UUFDOUIsSUFBSSxD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QUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksU0FBUyxDQUFDLENBQUM7WUFDbEUsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUNELE1BQU0sYUFBYSxHQUFXLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckQsTUFBTSxRQUFRLEdBQ1osV0FBVyxDQUFDLE1BQU0sSUFBSSx3QkFBd0IsQ0FBQyxhQUFhO1lBQzVELGFBQWEsQ0FBQyxNQUFNLEdBQUcsd0JBQXdCLENBQUMseUJBQXlCO1lBQ3ZFLENBQUMsQ0FBQyxHQUFHO1lBQ0wsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNULE9BQU8sQ0FDTCxTQUFTO1lBQ1QsYUFBYSxDQUFDLFNBQVMsQ0FDckIsQ0FBQyxFQUNELHdCQUF3QixDQUFDLHlCQUF5QixDQUNuRDtZQUNELFFBQVE7WUFDUixPQUFPLENBQ1IsQ0FBQztJQUNKLENBQUM7SUFFTyxhQUFhO1FBQ25CLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ25CLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQ2hEO0lBQ0gsQ0FBQzt1R0FwT1Usd0JBQXdCOzJGQUF4Qix3QkFBd0IseUhDakJyQyxrNENBOENBLHc3REQ3QmEsd0JBQXdCLHVGQUZ2QixDQUFDLG1CQUFtQixDQUFDOzsyRkFFdEIsd0JBQXdCO2tCQVBwQyxTQUFTO3NDQUNTLHVCQUF1QixDQUFDLE1BQU0sWUFDckMsbUJBQW1CLGNBR2pCLENBQUMsbUJBQW1CLENBQUM7OzBCQXlGOUIsUUFBUTs0Q0E1RFAsVUFBVTtzQkFEYixLQUFLO2dCQXFCRixHQUFHO3NCQUROLEtBQUs7Z0JBb0JGLElBQUk7c0JBRFAsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgT3B0aW9uYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGlyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xuaW1wb3J0IHsgdGRDb2xsYXBzZUFuaW1hdGlvbiB9IGZyb20gJy4vY29sbGFwc2UuYW5pbWF0aW9uJztcblxuQENvbXBvbmVudCh7XG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzZWxlY3RvcjogJ3RkLWpzb24tZm9ybWF0dGVyJyxcbiAgc3R5bGVVcmxzOiBbJy4vanNvbi1mb3JtYXR0ZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2pzb24tZm9ybWF0dGVyLmNvbXBvbmVudC5odG1sJyxcbiAgYW5pbWF0aW9uczogW3RkQ29sbGFwc2VBbmltYXRpb25dLFxufSlcbmV4cG9ydCBjbGFzcyBUZEpzb25Gb3JtYXR0ZXJDb21wb25lbnQge1xuICAvKipcbiAgICogTWF4IGxlbmd0aCBmb3IgcHJvcGVydHkgbmFtZXMuIEFueSBuYW1lcyBiaWdnZXIgdGhhbiB0aGlzIGdldCB0cnVuY3RhdGVkLlxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgS0VZX01BWF9MRU5HVEggPSAzMDtcblxuICAvKipcbiAgICogTWF4IGxlbmd0aCBmb3IgcHJldmlldyBzdHJpbmcuIEFueSBuYW1lcyBiaWdnZXIgdGhhbiB0aGlzIGdldCB0cnVuY3RhdGVkLlxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgUFJFVklFV19TVFJJTkdfTUFYX0xFTkdUSCA9IDgwO1xuXG4gIC8qKlxuICAgKiBNYXggdG9vbHRpcCBwcmV2aWV3IGVsZW1lbnRzLlxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgUFJFVklFV19MSU1JVCA9IDU7XG5cbiAgcHJpdmF0ZSBfa2V5Pzogc3RyaW5nO1xuICBwcml2YXRlIF9kYXRhITogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgcHJpdmF0ZSBfY2hpbGRyZW4/OiBzdHJpbmdbXTtcbiAgcHJpdmF0ZSBfb3BlbiA9IGZhbHNlO1xuICBwcml2YXRlIF9sZXZlbHNPcGVuID0gMDtcblxuICAvKipcbiAgICogbGV2ZWxzT3Blbj86IG51bWJlclxuICAgKiBMZXZlbHMgb3BlbmVkIGJ5IGRlZmF1bHQgd2hlbiBKUyBvYmplY3QgaXMgZm9ybWF0dGVkIGFuZCByZW5kZXJlZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBsZXZlbHNPcGVuKGxldmVsc09wZW46IG51bWJlcikge1xuICAgIGlmICghTnVtYmVyLmlzSW50ZWdlcihsZXZlbHNPcGVuKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdbbGV2ZWxzT3Blbl0gbmVlZHMgdG8gYmUgYW4gaW50ZWdlci4nKTtcbiAgICB9XG4gICAgdGhpcy5fbGV2ZWxzT3BlbiA9IGxldmVsc09wZW47XG4gICAgdGhpcy5fb3BlbiA9IGxldmVsc09wZW4gPiAwO1xuICB9XG4gIGdldCBsZXZlbHNPcGVuKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2xldmVsc09wZW47XG4gIH1cblxuICBnZXQgb3BlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fb3BlbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBrZXk/OiBzdHJpbmdcbiAgICogVGFnIHRvIGJlIGRpc3BsYXllZCBuZXh0IHRvIGZvcm1hdHRlZCBvYmplY3QuXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQga2V5KGtleTogc3RyaW5nKSB7XG4gICAgdGhpcy5fa2V5ID0ga2V5O1xuICB9XG4gIGdldCBrZXkoKTogc3RyaW5nIHtcbiAgICBjb25zdCBlbGlwc2lzOiBzdHJpbmcgPVxuICAgICAgdGhpcy5fa2V5ICYmIHRoaXMuX2tleS5sZW5ndGggPiBUZEpzb25Gb3JtYXR0ZXJDb21wb25lbnQuS0VZX01BWF9MRU5HVEhcbiAgICAgICAgPyAn4oCmJ1xuICAgICAgICA6ICcnO1xuICAgIHJldHVybiB0aGlzLl9rZXlcbiAgICAgID8gdGhpcy5fa2V5LnN1YnN0cmluZygwLCBUZEpzb25Gb3JtYXR0ZXJDb21wb25lbnQuS0VZX01BWF9MRU5HVEgpICtcbiAgICAgICAgICBlbGlwc2lzXG4gICAgICA6IHRoaXMuX2tleSA/PyAnJztcbiAgfVxuXG4gIC8qKlxuICAgKiBkYXRhOiBhbnlcbiAgICogSlMgb2JqZWN0IHRvIGJlIGZvcm1hdHRlZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBkYXRhKGRhdGE6IFJlY29yZDxzdHJpbmcsIGFueT4pIHtcbiAgICB0aGlzLl9kYXRhID0gZGF0YTtcbiAgICB0aGlzLnBhcnNlQ2hpbGRyZW4oKTtcbiAgfVxuICBnZXQgZGF0YSgpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5fZGF0YTtcbiAgfVxuXG4gIGdldCBjaGlsZHJlbigpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2NoaWxkcmVuID8/IFtdO1xuICB9XG5cbiAgZ2V0IGlzUlRMKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLl9kaXIpIHtcbiAgICAgIHJldHVybiB0aGlzLl9kaXIuZGlyID09PSAncnRsJztcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX2RpcjogRGlyXG4gICkge31cblxuICAvKipcbiAgICogUmVmcmVzaGVzIGpzb24tZm9ybWF0dGVyIGFuZCByZXJlbmRlcnMgW2RhdGFdXG4gICAqL1xuICByZWZyZXNoKCk6IHZvaWQge1xuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRvZ2dsZXMgY29sbGFwc2UvZXhwYW5kZWQgc3RhdGUgb2YgY29tcG9uZW50LlxuICAgKi9cbiAgdG9nZ2xlKCk6IHZvaWQge1xuICAgIHRoaXMuX29wZW4gPSAhdGhpcy5fb3BlbjtcbiAgfVxuXG4gIGlzT2JqZWN0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmdldFR5cGUodGhpcy5fZGF0YSkgPT09ICdvYmplY3QnO1xuICB9XG5cbiAgaXNBcnJheSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh0aGlzLl9kYXRhKTtcbiAgfVxuXG4gIGhhc0NoaWxkcmVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAodGhpcy5fY2hpbGRyZW4gJiYgdGhpcy5fY2hpbGRyZW4ubGVuZ3RoID4gMCkgPz8gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBwYXJzZWQgdmFsdWUgZGVwZW5kaW5nIG9uIHZhbHVlIHR5cGUuXG4gICAqL1xuICBnZXRWYWx1ZSh2YWx1ZTogYW55KTogc3RyaW5nIHtcbiAgICBjb25zdCB0eXBlOiBzdHJpbmcgPSB0aGlzLmdldFR5cGUodmFsdWUpO1xuICAgIGlmICh0eXBlID09PSAndW5kZWZpbmVkJyB8fCB0eXBlID09PSAnbnVsbCcpIHtcbiAgICAgIHJldHVybiB0eXBlO1xuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2RhdGUnKSB7XG4gICAgICB2YWx1ZSA9IG5ldyBEYXRlKHZhbHVlKS50b1N0cmluZygpO1xuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHZhbHVlID0gJ1wiJyArIHZhbHVlICsgJ1wiJztcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIC8vIFJlbW92ZSBjb250ZW50IG9mIHRoZSBmdW5jdGlvblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgdmFsdWVcbiAgICAgICAgICAudG9TdHJpbmcoKVxuICAgICAgICAgIC5yZXBsYWNlKC9bXFxyXFxuXS9nLCAnJylcbiAgICAgICAgICAucmVwbGFjZSgvXFx7LipcXH0vLCAnJykgKyAne+KApn0nXG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgIHJldHVybiB0aGlzLmdldE9iamVjdE5hbWUoKSArICcgWycgKyB2YWx1ZS5sZW5ndGggKyAnXSc7XG4gICAgfVxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHR5cGUgb2Ygb2JqZWN0LlxuICAgKiByZXR1cm5zICdudWxsJyBpZiBvYmplY3QgaXMgbnVsbCBhbmQgJ2RhdGUnIGlmIHZhbHVlIGlzIG9iamVjdCBhbmQgY2FuIGJlIHBhcnNlZCB0byBhIGRhdGUuXG4gICAqL1xuICBnZXRUeXBlKG9iamVjdDogYW55KTogc3RyaW5nIHtcbiAgICBpZiAodHlwZW9mIG9iamVjdCA9PT0gJ29iamVjdCcpIHtcbiAgICAgIGlmICghb2JqZWN0KSB7XG4gICAgICAgIHJldHVybiAnbnVsbCc7XG4gICAgICB9XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShvYmplY3QpKSB7XG4gICAgICAgIHJldHVybiAnb2JqZWN0JztcbiAgICAgIH1cbiAgICAgIGNvbnN0IGRhdGU6IERhdGUgPSBuZXcgRGF0ZShvYmplY3QpO1xuICAgICAgaWYgKFxuICAgICAgICBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZGF0ZSkgPT09ICdbb2JqZWN0IERhdGVdJyAmJlxuICAgICAgICAhTnVtYmVyLmlzTmFOKGRhdGUuZ2V0VGltZSgpKVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiAnZGF0ZSc7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0eXBlb2Ygb2JqZWN0O1xuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlcyBzdHJpbmcgcmVwcmVzZW50YXRpb24gZGVwZW5kaW5nIGlmIGl0cyBhbiBvYmplY3Qgb3IgZnVuY3Rpb24uXG4gICAqIHNlZTogaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMzMyNDI5XG4gICAqL1xuICBnZXRPYmplY3ROYW1lKCk6IHN0cmluZyB7XG4gICAgY29uc3Qgb2JqZWN0OiBhbnkgPSB0aGlzLl9kYXRhO1xuICAgIGlmICh0aGlzLmlzT2JqZWN0KCkgJiYgIW9iamVjdC5jb25zdHJ1Y3Rvcikge1xuICAgICAgcmV0dXJuICdPYmplY3QnO1xuICAgIH1cbiAgICBjb25zdCBmdW5jTmFtZVJlZ2V4ID0gL2Z1bmN0aW9uICguezEsfSlcXCgvO1xuICAgIGNvbnN0IHJlc3VsdHMgPSBmdW5jTmFtZVJlZ2V4LmV4ZWMob2JqZWN0LmNvbnN0cnVjdG9yLnRvU3RyaW5nKCkpO1xuICAgIGlmIChyZXN1bHRzICYmIHJlc3VsdHMubGVuZ3RoID4gMSkge1xuICAgICAgcmV0dXJuIHJlc3VsdHNbMV07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBwcmV2aWV3IG9mIG5vZGVzIGNoaWxkcmVuIHRvIHJlbmRlciBpbiB0b29sdGlwIGRlcGVuZGluZyBpZiBpdHMgYW4gYXJyYXkgb3IgYW4gb2JqZWN0LlxuICAgKi9cbiAgZ2V0UHJldmlldygpOiBzdHJpbmcge1xuICAgIGxldCBwcmV2aWV3RGF0YTogc3RyaW5nW107XG4gICAgbGV0IHN0YXJ0Q2hhciA9ICd7ICc7XG4gICAgbGV0IGVuZENoYXIgPSAnIH0nO1xuICAgIGlmICh0aGlzLmlzQXJyYXkoKSkge1xuICAgICAgY29uc3QgcHJldmlld0FycmF5OiBhbnlbXSA9XG4gICAgICAgIE9iamVjdC5lbnRyaWVzKHRoaXMuX2RhdGEpLnNsaWNlKFxuICAgICAgICAgIDAsXG4gICAgICAgICAgVGRKc29uRm9ybWF0dGVyQ29tcG9uZW50LlBSRVZJRVdfTElNSVRcbiAgICAgICAgKSA/PyBbXTtcbiAgICAgIHByZXZpZXdEYXRhID0gcHJldmlld0FycmF5Lm1hcCgob2JqOiBhbnkpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VmFsdWUob2JqKTtcbiAgICAgIH0pO1xuICAgICAgc3RhcnRDaGFyID0gJ1snO1xuICAgICAgZW5kQ2hhciA9ICddJztcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgcHJldmlld0tleXM6IHN0cmluZ1tdID1cbiAgICAgICAgdGhpcy5fY2hpbGRyZW4/LnNsaWNlKDAsIFRkSnNvbkZvcm1hdHRlckNvbXBvbmVudC5QUkVWSUVXX0xJTUlUKSA/PyBbXTtcbiAgICAgIHByZXZpZXdEYXRhID0gcHJldmlld0tleXMubWFwKChrZXk6IHN0cmluZykgPT4ge1xuICAgICAgICByZXR1cm4ga2V5ICsgJzogJyArIHRoaXMuZ2V0VmFsdWUodGhpcy5fZGF0YVtrZXldID8/IHVuZGVmaW5lZCk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgcHJldmlld1N0cmluZzogc3RyaW5nID0gcHJldmlld0RhdGEuam9pbignLCAnKTtcbiAgICBjb25zdCBlbGxpcHNpczogc3RyaW5nID1cbiAgICAgIHByZXZpZXdEYXRhLmxlbmd0aCA+PSBUZEpzb25Gb3JtYXR0ZXJDb21wb25lbnQuUFJFVklFV19MSU1JVCB8fFxuICAgICAgcHJldmlld1N0cmluZy5sZW5ndGggPiBUZEpzb25Gb3JtYXR0ZXJDb21wb25lbnQuUFJFVklFV19TVFJJTkdfTUFYX0xFTkdUSFxuICAgICAgICA/ICfigKYnXG4gICAgICAgIDogJyc7XG4gICAgcmV0dXJuIChcbiAgICAgIHN0YXJ0Q2hhciArXG4gICAgICBwcmV2aWV3U3RyaW5nLnN1YnN0cmluZyhcbiAgICAgICAgMCxcbiAgICAgICAgVGRKc29uRm9ybWF0dGVyQ29tcG9uZW50LlBSRVZJRVdfU1RSSU5HX01BWF9MRU5HVEhcbiAgICAgICkgK1xuICAgICAgZWxsaXBzaXMgK1xuICAgICAgZW5kQ2hhclxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHBhcnNlQ2hpbGRyZW4oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNPYmplY3QoKSkge1xuICAgICAgdGhpcy5fY2hpbGRyZW4gPSBPYmplY3Qua2V5cyh0aGlzLl9kYXRhID8/IHt9KTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ0ZC1qc29uLWZvcm1hdHRlci13cmFwcGVyXCI+XG4gIDxhXG4gICAgY2xhc3M9XCJ0ZC1rZXlcIlxuICAgIFtjbGFzcy50ZC1rZXktbm9kZV09XCJoYXNDaGlsZHJlbigpXCJcbiAgICBbY2xhc3MudGQta2V5LWxlYWZdPVwiIWhhc0NoaWxkcmVuKClcIlxuICAgIFt0YWJJbmRleF09XCJpc09iamVjdCgpID8gMCA6IC0xXCJcbiAgICAoa2V5ZG93bi5lbnRlcik9XCJ0b2dnbGUoKVwiXG4gICAgKGNsaWNrKT1cInRvZ2dsZSgpXCJcbiAgPlxuICAgIDxtYXQtaWNvbiBjbGFzcz1cInRkLW5vZGUtaWNvblwiICpuZ0lmPVwiaGFzQ2hpbGRyZW4oKVwiPlxuICAgICAge3tcbiAgICAgICAgb3BlblxuICAgICAgICAgID8gJ2tleWJvYXJkX2Fycm93X2Rvd24nXG4gICAgICAgICAgOiBpc1JUTFxuICAgICAgICAgID8gJ2tleWJvYXJkX2Fycm93X2xlZnQnXG4gICAgICAgICAgOiAna2V5Ym9hcmRfYXJyb3dfcmlnaHQnXG4gICAgICB9fVxuICAgIDwvbWF0LWljb24+XG4gICAgPHNwYW4gKm5nSWY9XCJrZXlcIiBjbGFzcz1cImtleVwiPnt7IGtleSB9fTo8L3NwYW4+XG4gICAgPHNwYW4gY2xhc3M9XCJ2YWx1ZVwiPlxuICAgICAgPHNwYW5cbiAgICAgICAgW2NsYXNzLnRkLWVtcHR5XT1cIiFoYXNDaGlsZHJlbigpXCJcbiAgICAgICAgKm5nSWY9XCJpc09iamVjdCgpXCJcbiAgICAgICAgW21hdFRvb2x0aXBdPVwiZ2V0UHJldmlldygpXCJcbiAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWZ0ZXJcIlxuICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInRkLW9iamVjdC1uYW1lXCI+e3sgZ2V0T2JqZWN0TmFtZSgpIH19PC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInRkLWFycmF5LWxlbmd0aFwiICpuZ0lmPVwiaXNBcnJheSgpXCJcbiAgICAgICAgICA+W3t7IGRhdGFbJ2xlbmd0aCddIH19XTwvc3BhblxuICAgICAgICA+XG4gICAgICA8L3NwYW4+XG4gICAgICA8c3BhbiAqbmdJZj1cIiFpc09iamVjdCgpXCIgW2NsYXNzXT1cImdldFR5cGUoZGF0YSlcIj57e1xuICAgICAgICBnZXRWYWx1ZShkYXRhKVxuICAgICAgfX08L3NwYW4+XG4gICAgPC9zcGFuPlxuICA8L2E+XG4gIDxkaXYgY2xhc3M9XCJ0ZC1vYmplY3QtY2hpbGRyZW5cIiBbQHRkQ29sbGFwc2VdPVwiIShoYXNDaGlsZHJlbigpICYmIG9wZW4pXCI+XG4gICAgPG5nLXRlbXBsYXRlIGxldC1rZXkgbmdGb3IgW25nRm9yT2ZdPVwiY2hpbGRyZW5cIj5cbiAgICAgIDx0ZC1qc29uLWZvcm1hdHRlclxuICAgICAgICBba2V5XT1cImtleVwiXG4gICAgICAgIFtkYXRhXT1cImRhdGFba2V5XVwiXG4gICAgICAgIFtsZXZlbHNPcGVuXT1cImxldmVsc09wZW4gLSAxXCJcbiAgICAgID48L3RkLWpzb24tZm9ybWF0dGVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -1,50 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import { Input } from '@angular/core';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- import * as i2 from "@angular/material/toolbar";
6
- import * as i3 from "@angular/material/card";
7
- import * as i4 from "@angular/material/divider";
8
- export class TdLayoutCardOverComponent {
9
- /**
10
- * cardTitle?: string
11
- *
12
- * Title set in card.
13
- */
14
- cardTitle;
15
- /**
16
- * cardSubtitle?: string
17
- *
18
- * Subtitle set in card.
19
- */
20
- cardSubtitle;
21
- /**
22
- * cardWidth?: string
23
- *
24
- * Card flex width in %.
25
- * Defaults to 70%.
26
- */
27
- cardWidth = 70;
28
- /**
29
- * color?: 'accent' | 'primary' | 'warn'
30
- *
31
- * toolbar color option: primary | accent | warn.
32
- * If [color] is not set, primary is used.
33
- */
34
- color = 'primary';
35
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TdLayoutCardOverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
36
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: TdLayoutCardOverComponent, selector: "td-layout-card-over", inputs: { cardTitle: "cardTitle", cardSubtitle: "cardSubtitle", cardWidth: "cardWidth", color: "color" }, ngImport: i0, template: "<mat-toolbar class=\"td-layout-toolbar\" [color]=\"color\"></mat-toolbar>\n<div class=\"td-layout-card-over-wrapper\">\n <div\n class=\"td-layout-card-over\"\n [style.max-width.%]=\"cardWidth\"\n [style.flex]=\"'1 1 ' + cardWidth + '%'\"\n [style.-ms-flex]=\"'1 1 ' + cardWidth + '%'\"\n [style.-webkit-box-flex]=\"1\"\n >\n <mat-card>\n <mat-card-header>\n <mat-card-title *ngIf=\"cardTitle\">{{ cardTitle }}</mat-card-title>\n <mat-card-subtitle *ngIf=\"cardSubtitle\">{{\n cardSubtitle\n }}</mat-card-subtitle>\n </mat-card-header>\n <mat-divider *ngIf=\"cardTitle || cardSubtitle\"></mat-divider>\n <mat-card-content>\n <ng-content></ng-content>\n </mat-card-content>\n </mat-card>\n <ng-content select=\"[td-after-card]\"></ng-content>\n </div>\n</div>\n", styles: [":host{position:relative;display:block;z-index:2;width:100%;min-height:100%;height:100%}:host [td-after-card]{display:block}.td-layout-card-over-wrapper{margin:-64px 0;width:100%;min-height:100%;height:100%}@media (min-width: 600px){.td-layout-card-over-wrapper{flex-direction:row;box-sizing:border-box;display:flex;align-items:flex-start;align-content:flex-start;justify-content:center}.td-layout-card-over-wrapper .td-layout-card-over{max-height:100%;box-sizing:border-box}}@media (max-width: 599px){.td-layout-card-over-wrapper .td-layout-card-over{max-width:100%!important}}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i3.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i3.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i3.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i3.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }, { kind: "directive", type: i3.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "component", type: i4.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }] });
37
- }
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TdLayoutCardOverComponent, decorators: [{
39
- type: Component,
40
- args: [{ selector: 'td-layout-card-over', template: "<mat-toolbar class=\"td-layout-toolbar\" [color]=\"color\"></mat-toolbar>\n<div class=\"td-layout-card-over-wrapper\">\n <div\n class=\"td-layout-card-over\"\n [style.max-width.%]=\"cardWidth\"\n [style.flex]=\"'1 1 ' + cardWidth + '%'\"\n [style.-ms-flex]=\"'1 1 ' + cardWidth + '%'\"\n [style.-webkit-box-flex]=\"1\"\n >\n <mat-card>\n <mat-card-header>\n <mat-card-title *ngIf=\"cardTitle\">{{ cardTitle }}</mat-card-title>\n <mat-card-subtitle *ngIf=\"cardSubtitle\">{{\n cardSubtitle\n }}</mat-card-subtitle>\n </mat-card-header>\n <mat-divider *ngIf=\"cardTitle || cardSubtitle\"></mat-divider>\n <mat-card-content>\n <ng-content></ng-content>\n </mat-card-content>\n </mat-card>\n <ng-content select=\"[td-after-card]\"></ng-content>\n </div>\n</div>\n", styles: [":host{position:relative;display:block;z-index:2;width:100%;min-height:100%;height:100%}:host [td-after-card]{display:block}.td-layout-card-over-wrapper{margin:-64px 0;width:100%;min-height:100%;height:100%}@media (min-width: 600px){.td-layout-card-over-wrapper{flex-direction:row;box-sizing:border-box;display:flex;align-items:flex-start;align-content:flex-start;justify-content:center}.td-layout-card-over-wrapper .td-layout-card-over{max-height:100%;box-sizing:border-box}}@media (max-width: 599px){.td-layout-card-over-wrapper .td-layout-card-over{max-width:100%!important}}\n"] }]
41
- }], propDecorators: { cardTitle: [{
42
- type: Input
43
- }], cardSubtitle: [{
44
- type: Input
45
- }], cardWidth: [{
46
- type: Input
47
- }], color: [{
48
- type: Input
49
- }] } });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWNhcmQtb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvbGF5b3V0L3NyYy9sYXlvdXQtY2FyZC1vdmVyL2xheW91dC1jYXJkLW92ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2xheW91dC9zcmMvbGF5b3V0LWNhcmQtb3Zlci9sYXlvdXQtY2FyZC1vdmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBT3RDLE1BQU0sT0FBTyx5QkFBeUI7SUFDcEM7Ozs7T0FJRztJQUNNLFNBQVMsQ0FBVTtJQUU1Qjs7OztPQUlHO0lBQ00sWUFBWSxDQUFVO0lBRS9COzs7OztPQUtHO0lBQ00sU0FBUyxHQUFJLEVBQUUsQ0FBQztJQUV6Qjs7Ozs7T0FLRztJQUNNLEtBQUssR0FBa0MsU0FBUyxDQUFDO3VHQTdCL0MseUJBQXlCOzJGQUF6Qix5QkFBeUIscUtDUnRDLGsxQkF3QkE7OzJGRGhCYSx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0UscUJBQXFCOzhCQVV0QixTQUFTO3NCQUFqQixLQUFLO2dCQU9HLFlBQVk7c0JBQXBCLEtBQUs7Z0JBUUcsU0FBUztzQkFBakIsS0FBSztnQkFRRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RkLWxheW91dC1jYXJkLW92ZXInLFxuICBzdHlsZVVybHM6IFsnLi9sYXlvdXQtY2FyZC1vdmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi9sYXlvdXQtY2FyZC1vdmVyLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgVGRMYXlvdXRDYXJkT3ZlckNvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBjYXJkVGl0bGU/OiBzdHJpbmdcbiAgICpcbiAgICogVGl0bGUgc2V0IGluIGNhcmQuXG4gICAqL1xuICBASW5wdXQoKSBjYXJkVGl0bGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIGNhcmRTdWJ0aXRsZT86IHN0cmluZ1xuICAgKlxuICAgKiBTdWJ0aXRsZSBzZXQgaW4gY2FyZC5cbiAgICovXG4gIEBJbnB1dCgpIGNhcmRTdWJ0aXRsZT86IHN0cmluZztcblxuICAvKipcbiAgICogY2FyZFdpZHRoPzogc3RyaW5nXG4gICAqXG4gICAqIENhcmQgZmxleCB3aWR0aCBpbiAlLlxuICAgKiBEZWZhdWx0cyB0byA3MCUuXG4gICAqL1xuICBASW5wdXQoKSBjYXJkV2lkdGg/ID0gNzA7XG5cbiAgLyoqXG4gICAqIGNvbG9yPzogJ2FjY2VudCcgfCAncHJpbWFyeScgfCAnd2FybidcbiAgICpcbiAgICogdG9vbGJhciBjb2xvciBvcHRpb246IHByaW1hcnkgfCBhY2NlbnQgfCB3YXJuLlxuICAgKiBJZiBbY29sb3JdIGlzIG5vdCBzZXQsIHByaW1hcnkgaXMgdXNlZC5cbiAgICovXG4gIEBJbnB1dCgpIGNvbG9yOiAnYWNjZW50JyB8ICdwcmltYXJ5JyB8ICd3YXJuJyA9ICdwcmltYXJ5Jztcbn1cbiIsIjxtYXQtdG9vbGJhciBjbGFzcz1cInRkLWxheW91dC10b29sYmFyXCIgW2NvbG9yXT1cImNvbG9yXCI+PC9tYXQtdG9vbGJhcj5cbjxkaXYgY2xhc3M9XCJ0ZC1sYXlvdXQtY2FyZC1vdmVyLXdyYXBwZXJcIj5cbiAgPGRpdlxuICAgIGNsYXNzPVwidGQtbGF5b3V0LWNhcmQtb3ZlclwiXG4gICAgW3N0eWxlLm1heC13aWR0aC4lXT1cImNhcmRXaWR0aFwiXG4gICAgW3N0eWxlLmZsZXhdPVwiJzEgMSAnICsgY2FyZFdpZHRoICsgJyUnXCJcbiAgICBbc3R5bGUuLW1zLWZsZXhdPVwiJzEgMSAnICsgY2FyZFdpZHRoICsgJyUnXCJcbiAgICBbc3R5bGUuLXdlYmtpdC1ib3gtZmxleF09XCIxXCJcbiAgPlxuICAgIDxtYXQtY2FyZD5cbiAgICAgIDxtYXQtY2FyZC1oZWFkZXI+XG4gICAgICAgIDxtYXQtY2FyZC10aXRsZSAqbmdJZj1cImNhcmRUaXRsZVwiPnt7IGNhcmRUaXRsZSB9fTwvbWF0LWNhcmQtdGl0bGU+XG4gICAgICAgIDxtYXQtY2FyZC1zdWJ0aXRsZSAqbmdJZj1cImNhcmRTdWJ0aXRsZVwiPnt7XG4gICAgICAgICAgY2FyZFN1YnRpdGxlXG4gICAgICAgIH19PC9tYXQtY2FyZC1zdWJ0aXRsZT5cbiAgICAgIDwvbWF0LWNhcmQtaGVhZGVyPlxuICAgICAgPG1hdC1kaXZpZGVyICpuZ0lmPVwiY2FyZFRpdGxlIHx8IGNhcmRTdWJ0aXRsZVwiPjwvbWF0LWRpdmlkZXI+XG4gICAgICA8bWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxuICAgIDwvbWF0LWNhcmQ+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3RkLWFmdGVyLWNhcmRdXCI+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,36 +0,0 @@
1
- import { Component, Input, Renderer2, ElementRef } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class TdLayoutFooterComponent {
4
- _renderer;
5
- _elementRef;
6
- _color;
7
- /**
8
- * color?: 'accent' | 'primary' | 'warn'
9
- *
10
- * Optional color option: primary | accent | warn.
11
- */
12
- set color(color) {
13
- if (color) {
14
- this._renderer.removeClass(this._elementRef.nativeElement, 'mat-' + this._color);
15
- this._color = color;
16
- this._renderer.addClass(this._elementRef.nativeElement, 'mat-' + this._color);
17
- }
18
- }
19
- get color() {
20
- return this._color;
21
- }
22
- constructor(_renderer, _elementRef) {
23
- this._renderer = _renderer;
24
- this._elementRef = _elementRef;
25
- this._renderer.addClass(this._elementRef.nativeElement, 'td-layout-footer');
26
- }
27
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TdLayoutFooterComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
28
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: TdLayoutFooterComponent, selector: "td-layout-footer,td-layout-footer-inner", inputs: { color: "color" }, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [":host{display:block;padding:10px 16px}\n"] });
29
- }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TdLayoutFooterComponent, decorators: [{
31
- type: Component,
32
- args: [{ selector: 'td-layout-footer,td-layout-footer-inner', template: "<ng-content></ng-content>\n", styles: [":host{display:block;padding:10px 16px}\n"] }]
33
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; }, propDecorators: { color: [{
34
- type: Input
35
- }] } });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWZvb3Rlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvbGF5b3V0L3NyYy9sYXlvdXQtZm9vdGVyL2xheW91dC1mb290ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2xheW91dC9zcmMvbGF5b3V0LWZvb3Rlci9sYXlvdXQtZm9vdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUXhFLE1BQU0sT0FBTyx1QkFBdUI7SUEwQmQ7SUFBOEI7SUF6QjFDLE1BQU0sQ0FBaUM7SUFFL0M7Ozs7T0FJRztJQUNILElBQ0ksS0FBSyxDQUFDLEtBQWdEO1FBQ3hELElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQ3hCLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUM5QixNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FDckIsQ0FBQztZQUNGLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1lBQ3BCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUNyQixJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFDOUIsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQ3JCLENBQUM7U0FDSDtJQUNILENBQUM7SUFDRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVELFlBQW9CLFNBQW9CLEVBQVUsV0FBdUI7UUFBckQsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQ3ZFLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFDOUUsQ0FBQzt1R0E1QlUsdUJBQXVCOzJGQUF2Qix1QkFBdUIsMkdDUnBDLDZCQUNBOzsyRkRPYSx1QkFBdUI7a0JBTm5DLFNBQVM7K0JBRUUseUNBQXlDO3lIQWEvQyxLQUFLO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBSZW5kZXJlcjIsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIC8qIHRzbGludDpkaXNhYmxlLW5leHQtbGluZSAqL1xuICBzZWxlY3RvcjogJ3RkLWxheW91dC1mb290ZXIsdGQtbGF5b3V0LWZvb3Rlci1pbm5lcicsXG4gIHN0eWxlVXJsczogWycuL2xheW91dC1mb290ZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2xheW91dC1mb290ZXIuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBUZExheW91dEZvb3RlckNvbXBvbmVudCB7XG4gIHByaXZhdGUgX2NvbG9yPzogJ3ByaW1hcnknIHwgJ2FjY2VudCcgfCAnd2Fybic7XG5cbiAgLyoqXG4gICAqIGNvbG9yPzogJ2FjY2VudCcgfCAncHJpbWFyeScgfCAnd2FybidcbiAgICpcbiAgICogT3B0aW9uYWwgY29sb3Igb3B0aW9uOiBwcmltYXJ5IHwgYWNjZW50IHwgd2Fybi5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBjb2xvcihjb2xvcjogJ3ByaW1hcnknIHwgJ2FjY2VudCcgfCAnd2FybicgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAoY29sb3IpIHtcbiAgICAgIHRoaXMuX3JlbmRlcmVyLnJlbW92ZUNsYXNzKFxuICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdtYXQtJyArIHRoaXMuX2NvbG9yXG4gICAgICApO1xuICAgICAgdGhpcy5fY29sb3IgPSBjb2xvcjtcbiAgICAgIHRoaXMuX3JlbmRlcmVyLmFkZENsYXNzKFxuICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdtYXQtJyArIHRoaXMuX2NvbG9yXG4gICAgICApO1xuICAgIH1cbiAgfVxuICBnZXQgY29sb3IoKTogJ3ByaW1hcnknIHwgJ2FjY2VudCcgfCAnd2FybicgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9jb2xvcjtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3JlbmRlcmVyOiBSZW5kZXJlcjIsIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcbiAgICB0aGlzLl9yZW5kZXJlci5hZGRDbGFzcyh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICd0ZC1sYXlvdXQtZm9vdGVyJyk7XG4gIH1cbn1cbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiJdfQ==
@@ -1,92 +0,0 @@
1
- import { Component, Input, ViewChild } from '@angular/core';
2
- import { MatSidenav } from '@angular/material/sidenav';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/cdk/scrolling";
5
- import * as i2 from "@angular/material/sidenav";
6
- export class TdLayoutManageListComponent {
7
- sidenav;
8
- /**
9
- * mode?: 'side', 'push' or 'over'
10
- *
11
- * The mode or styling of the sidenav.
12
- * Defaults to "side".
13
- * See "MatSidenav" documentation for more info.
14
- *
15
- * https://github.com/angular/material2/tree/main/src/lib/sidenav
16
- */
17
- mode = 'side';
18
- /**
19
- * opened?: boolean
20
- *
21
- * Whether or not the sidenav is opened. Use this binding to open/close the sidenav.
22
- * Defaults to "true".
23
- *
24
- * See "MatSidenav" documentation for more info.
25
- *
26
- * https://github.com/angular/material2/tree/main/src/lib/sidenav
27
- */
28
- opened = true;
29
- /**
30
- * sidenavWidth?: string
31
- *
32
- * Sets the "width" of the sidenav in either "px" or "%"
33
- * Defaults to "257px".
34
- *
35
- * https://github.com/angular/material2/tree/main/src/lib/sidenav
36
- */
37
- sidenavWidth = '257px';
38
- /**
39
- * containerAutosize?: boolean
40
- *
41
- * Sets "autosize" of the sidenav-container.
42
- * Defaults to "false".
43
- *
44
- * See documentation for more info and potential performance risks.
45
- *
46
- * https://github.com/angular/material2/blob/main/src/lib/sidenav/sidenav.md#resizing-an-open-sidenav
47
- */
48
- containerAutosize = false;
49
- /**
50
- * Checks if `ESC` should close the sidenav
51
- * Should only close it for `push` and `over` modes
52
- */
53
- get disableClose() {
54
- return this.mode === 'side';
55
- }
56
- /**
57
- * Proxy toggle method to access sidenav from outside (from td-layout template).
58
- */
59
- toggle() {
60
- return this.sidenav.toggle(!this.sidenav.opened);
61
- }
62
- /**
63
- * Proxy open method to access sidenav from outside (from td-layout template).
64
- */
65
- open() {
66
- return this.sidenav.open();
67
- }
68
- /**
69
- * Proxy close method to access sidenav from outside (from td-layout template).
70
- */
71
- close() {
72
- return this.sidenav.close();
73
- }
74
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TdLayoutManageListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
75
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: TdLayoutManageListComponent, selector: "td-layout-manage-list", inputs: { mode: "mode", opened: "opened", sidenavWidth: "sidenavWidth", containerAutosize: "containerAutosize" }, viewQueries: [{ propertyName: "sidenav", first: true, predicate: MatSidenav, descendants: true, static: true }], ngImport: i0, template: "<mat-sidenav-container\n fullscreen\n [autosize]=\"containerAutosize\"\n class=\"td-layout-manage-list\"\n>\n <mat-sidenav\n #sidenav\n position=\"start\"\n [mode]=\"mode\"\n [opened]=\"opened\"\n [disableClose]=\"disableClose\"\n [style.max-width]=\"sidenavWidth\"\n [style.min-width]=\"sidenavWidth\"\n >\n <ng-content select=\"mat-toolbar[td-sidenav-content]\"></ng-content>\n <div class=\"td-layout-manage-list-sidenav\" cdkScrollable>\n <ng-content select=\"[td-sidenav-content]\"></ng-content>\n </div>\n </mat-sidenav>\n <div class=\"td-layout-manage-list-main\">\n <ng-content select=\"mat-toolbar\"></ng-content>\n <div class=\"td-layout-manage-list-content\" cdkScrollable>\n <ng-content></ng-content>\n </div>\n <ng-content select=\"td-layout-footer-inner\"></ng-content>\n </div>\n</mat-sidenav-container>\n", styles: [":host{display:flex;margin:0;width:100%;min-height:100%;height:100%;overflow:hidden}:host mat-sidenav-container.td-layout-manage-list{flex:1}:host mat-sidenav-container.td-layout-manage-list>.mat-drawer>.mat-drawer-inner-container.mat-drawer-opened,:host mat-sidenav-container.td-layout-manage-list>.mat-drawer>.mat-drawer-inner-container.mat-drawer-opening,:host mat-sidenav-container.td-layout-manage-list>.mat-drawer>.mat-drawer-inner-container.mat-drawer-closed,:host mat-sidenav-container.td-layout-manage-list>.mat-drawer>.mat-drawer-inner-container.mat-drawer-closing{box-shadow:0 1px 3px #0003}:host .td-layout-manage-list-sidenav{text-align:start;flex:1;display:block;position:relative;overflow:auto;-webkit-overflow-scrolling:touch}:host .td-layout-manage-list-main{margin:0;width:100%;min-height:100%;height:100%;position:relative;overflow:auto;flex-direction:column;box-sizing:border-box;display:flex}:host .td-layout-manage-list-main .td-layout-manage-list-content{display:block;position:relative;overflow:auto;-webkit-overflow-scrolling:touch;flex:1}:host ::ng-deep mat-sidenav-container.td-layout-manage-list>.mat-drawer-content{flex-grow:1}:host ::ng-deep mat-sidenav-container.td-layout-manage-list>.mat-drawer>.mat-drawer-inner-container{box-shadow:0 1px 3px #0003,0 1px 1px #00000024,0 2px 1px -1px #0000001f;box-sizing:border-box;display:flex;flex-direction:column}:host ::ng-deep mat-nav-list a[mat-list-item] .mat-list-item-content{font-size:14px}:host ::ng-deep .mat-toolbar{font-weight:400}\n"], dependencies: [{ kind: "directive", type: i1.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "component", type: i2.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { kind: "component", type: i2.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }] });
76
- }
77
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TdLayoutManageListComponent, decorators: [{
78
- type: Component,
79
- args: [{ selector: 'td-layout-manage-list', template: "<mat-sidenav-container\n fullscreen\n [autosize]=\"containerAutosize\"\n class=\"td-layout-manage-list\"\n>\n <mat-sidenav\n #sidenav\n position=\"start\"\n [mode]=\"mode\"\n [opened]=\"opened\"\n [disableClose]=\"disableClose\"\n [style.max-width]=\"sidenavWidth\"\n [style.min-width]=\"sidenavWidth\"\n >\n <ng-content select=\"mat-toolbar[td-sidenav-content]\"></ng-content>\n <div class=\"td-layout-manage-list-sidenav\" cdkScrollable>\n <ng-content select=\"[td-sidenav-content]\"></ng-content>\n </div>\n </mat-sidenav>\n <div class=\"td-layout-manage-list-main\">\n <ng-content select=\"mat-toolbar\"></ng-content>\n <div class=\"td-layout-manage-list-content\" cdkScrollable>\n <ng-content></ng-content>\n </div>\n <ng-content select=\"td-layout-footer-inner\"></ng-content>\n </div>\n</mat-sidenav-container>\n", styles: [":host{display:flex;margin:0;width:100%;min-height:100%;height:100%;overflow:hidden}:host mat-sidenav-container.td-layout-manage-list{flex:1}:host mat-sidenav-container.td-layout-manage-list>.mat-drawer>.mat-drawer-inner-container.mat-drawer-opened,:host mat-sidenav-container.td-layout-manage-list>.mat-drawer>.mat-drawer-inner-container.mat-drawer-opening,:host mat-sidenav-container.td-layout-manage-list>.mat-drawer>.mat-drawer-inner-container.mat-drawer-closed,:host mat-sidenav-container.td-layout-manage-list>.mat-drawer>.mat-drawer-inner-container.mat-drawer-closing{box-shadow:0 1px 3px #0003}:host .td-layout-manage-list-sidenav{text-align:start;flex:1;display:block;position:relative;overflow:auto;-webkit-overflow-scrolling:touch}:host .td-layout-manage-list-main{margin:0;width:100%;min-height:100%;height:100%;position:relative;overflow:auto;flex-direction:column;box-sizing:border-box;display:flex}:host .td-layout-manage-list-main .td-layout-manage-list-content{display:block;position:relative;overflow:auto;-webkit-overflow-scrolling:touch;flex:1}:host ::ng-deep mat-sidenav-container.td-layout-manage-list>.mat-drawer-content{flex-grow:1}:host ::ng-deep mat-sidenav-container.td-layout-manage-list>.mat-drawer>.mat-drawer-inner-container{box-shadow:0 1px 3px #0003,0 1px 1px #00000024,0 2px 1px -1px #0000001f;box-sizing:border-box;display:flex;flex-direction:column}:host ::ng-deep mat-nav-list a[mat-list-item] .mat-list-item-content{font-size:14px}:host ::ng-deep .mat-toolbar{font-weight:400}\n"] }]
80
- }], propDecorators: { sidenav: [{
81
- type: ViewChild,
82
- args: [MatSidenav, { static: true }]
83
- }], mode: [{
84
- type: Input
85
- }], opened: [{
86
- type: Input
87
- }], sidenavWidth: [{
88
- type: Input
89
- }], containerAutosize: [{
90
- type: Input
91
- }] } });
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LW1hbmFnZS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9sYXlvdXQvc3JjL2xheW91dC1tYW5hZ2UtbGlzdC9sYXlvdXQtbWFuYWdlLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2xheW91dC9zcmMvbGF5b3V0LW1hbmFnZS1saXN0L2xheW91dC1tYW5hZ2UtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUQsT0FBTyxFQUFFLFVBQVUsRUFBeUIsTUFBTSwyQkFBMkIsQ0FBQzs7OztBQVM5RSxNQUFNLE9BQU8sMkJBQTJCO0lBQ0csT0FBTyxDQUFjO0lBRTlEOzs7Ozs7OztPQVFHO0lBQ00sSUFBSSxHQUE2QixNQUFNLENBQUM7SUFFakQ7Ozs7Ozs7OztPQVNHO0lBQ00sTUFBTSxHQUFHLElBQUksQ0FBQztJQUV2Qjs7Ozs7OztPQU9HO0lBQ00sWUFBWSxHQUFHLE9BQU8sQ0FBQztJQUVoQzs7Ozs7Ozs7O09BU0c7SUFDTSxpQkFBaUIsR0FBRyxLQUFLLENBQUM7SUFFbkM7OztPQUdHO0lBQ0gsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQztJQUM5QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNO1FBQ1gsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksSUFBSTtRQUNULE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLO1FBQ1YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzlCLENBQUM7dUdBM0VVLDJCQUEyQjsyRkFBM0IsMkJBQTJCLHdOQUMzQixVQUFVLDhEQ1p2QixpM0JBMkJBOzsyRkRoQmEsMkJBQTJCO2tCQUx2QyxTQUFTOytCQUNFLHVCQUF1Qjs4QkFLUSxPQUFPO3NCQUEvQyxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBVzlCLElBQUk7c0JBQVosS0FBSztnQkFZRyxNQUFNO3NCQUFkLEtBQUs7Z0JBVUcsWUFBWTtzQkFBcEIsS0FBSztnQkFZRyxpQkFBaUI7c0JBQXpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTWF0U2lkZW5hdiwgTWF0RHJhd2VyVG9nZ2xlUmVzdWx0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2lkZW5hdic7XG5cbmltcG9ydCB7IElMYXlvdXRUb2dnbGFibGUgfSBmcm9tICcuLi9sYXlvdXQtdG9nZ2xlLmNsYXNzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGQtbGF5b3V0LW1hbmFnZS1saXN0JyxcbiAgc3R5bGVVcmxzOiBbJy4vbGF5b3V0LW1hbmFnZS1saXN0LmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi9sYXlvdXQtbWFuYWdlLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBUZExheW91dE1hbmFnZUxpc3RDb21wb25lbnQgaW1wbGVtZW50cyBJTGF5b3V0VG9nZ2xhYmxlIHtcbiAgQFZpZXdDaGlsZChNYXRTaWRlbmF2LCB7IHN0YXRpYzogdHJ1ZSB9KSBzaWRlbmF2ITogTWF0U2lkZW5hdjtcblxuICAvKipcbiAgICogbW9kZT86ICdzaWRlJywgJ3B1c2gnIG9yICdvdmVyJ1xuICAgKlxuICAgKiBUaGUgbW9kZSBvciBzdHlsaW5nIG9mIHRoZSBzaWRlbmF2LlxuICAgKiBEZWZhdWx0cyB0byBcInNpZGVcIi5cbiAgICogU2VlIFwiTWF0U2lkZW5hdlwiIGRvY3VtZW50YXRpb24gZm9yIG1vcmUgaW5mby5cbiAgICpcbiAgICogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvbWF0ZXJpYWwyL3RyZWUvbWFpbi9zcmMvbGliL3NpZGVuYXZcbiAgICovXG4gIEBJbnB1dCgpIG1vZGU6ICdzaWRlJyB8ICdwdXNoJyB8ICdvdmVyJyA9ICdzaWRlJztcblxuICAvKipcbiAgICogb3BlbmVkPzogYm9vbGVhblxuICAgKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0aGUgc2lkZW5hdiBpcyBvcGVuZWQuIFVzZSB0aGlzIGJpbmRpbmcgdG8gb3Blbi9jbG9zZSB0aGUgc2lkZW5hdi5cbiAgICogRGVmYXVsdHMgdG8gXCJ0cnVlXCIuXG4gICAqXG4gICAqIFNlZSBcIk1hdFNpZGVuYXZcIiBkb2N1bWVudGF0aW9uIGZvciBtb3JlIGluZm8uXG4gICAqXG4gICAqIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL21hdGVyaWFsMi90cmVlL21haW4vc3JjL2xpYi9zaWRlbmF2XG4gICAqL1xuICBASW5wdXQoKSBvcGVuZWQgPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBzaWRlbmF2V2lkdGg/OiBzdHJpbmdcbiAgICpcbiAgICogU2V0cyB0aGUgXCJ3aWR0aFwiIG9mIHRoZSBzaWRlbmF2IGluIGVpdGhlciBcInB4XCIgb3IgXCIlXCJcbiAgICogRGVmYXVsdHMgdG8gXCIyNTdweFwiLlxuICAgKlxuICAgKiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9tYXRlcmlhbDIvdHJlZS9tYWluL3NyYy9saWIvc2lkZW5hdlxuICAgKi9cbiAgQElucHV0KCkgc2lkZW5hdldpZHRoID0gJzI1N3B4JztcblxuICAvKipcbiAgICogY29udGFpbmVyQXV0b3NpemU/OiBib29sZWFuXG4gICAqXG4gICAqIFNldHMgXCJhdXRvc2l6ZVwiIG9mIHRoZSBzaWRlbmF2LWNvbnRhaW5lci5cbiAgICogRGVmYXVsdHMgdG8gXCJmYWxzZVwiLlxuICAgKlxuICAgKiBTZWUgZG9jdW1lbnRhdGlvbiBmb3IgbW9yZSBpbmZvIGFuZCBwb3RlbnRpYWwgcGVyZm9ybWFuY2Ugcmlza3MuXG4gICAqXG4gICAqIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL21hdGVyaWFsMi9ibG9iL21haW4vc3JjL2xpYi9zaWRlbmF2L3NpZGVuYXYubWQjcmVzaXppbmctYW4tb3Blbi1zaWRlbmF2XG4gICAqL1xuICBASW5wdXQoKSBjb250YWluZXJBdXRvc2l6ZSA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgYEVTQ2Agc2hvdWxkIGNsb3NlIHRoZSBzaWRlbmF2XG4gICAqIFNob3VsZCBvbmx5IGNsb3NlIGl0IGZvciBgcHVzaGAgYW5kIGBvdmVyYCBtb2Rlc1xuICAgKi9cbiAgZ2V0IGRpc2FibGVDbG9zZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlID09PSAnc2lkZSc7XG4gIH1cblxuICAvKipcbiAgICogUHJveHkgdG9nZ2xlIG1ldGhvZCB0byBhY2Nlc3Mgc2lkZW5hdiBmcm9tIG91dHNpZGUgKGZyb20gdGQtbGF5b3V0IHRlbXBsYXRlKS5cbiAgICovXG4gIHB1YmxpYyB0b2dnbGUoKTogUHJvbWlzZTxNYXREcmF3ZXJUb2dnbGVSZXN1bHQ+IHtcbiAgICByZXR1cm4gdGhpcy5zaWRlbmF2LnRvZ2dsZSghdGhpcy5zaWRlbmF2Lm9wZW5lZCk7XG4gIH1cblxuICAvKipcbiAgICogUHJveHkgb3BlbiBtZXRob2QgdG8gYWNjZXNzIHNpZGVuYXYgZnJvbSBvdXRzaWRlIChmcm9tIHRkLWxheW91dCB0ZW1wbGF0ZSkuXG4gICAqL1xuICBwdWJsaWMgb3BlbigpOiBQcm9taXNlPE1hdERyYXdlclRvZ2dsZVJlc3VsdD4ge1xuICAgIHJldHVybiB0aGlzLnNpZGVuYXYub3BlbigpO1xuICB9XG5cbiAgLyoqXG4gICAqIFByb3h5IGNsb3NlIG1ldGhvZCB0byBhY2Nlc3Mgc2lkZW5hdiBmcm9tIG91dHNpZGUgKGZyb20gdGQtbGF5b3V0IHRlbXBsYXRlKS5cbiAgICovXG4gIHB1YmxpYyBjbG9zZSgpOiBQcm9taXNlPE1hdERyYXdlclRvZ2dsZVJlc3VsdD4ge1xuICAgIHJldHVybiB0aGlzLnNpZGVuYXYuY2xvc2UoKTtcbiAgfVxufVxuIiwiPG1hdC1zaWRlbmF2LWNvbnRhaW5lclxuICBmdWxsc2NyZWVuXG4gIFthdXRvc2l6ZV09XCJjb250YWluZXJBdXRvc2l6ZVwiXG4gIGNsYXNzPVwidGQtbGF5b3V0LW1hbmFnZS1saXN0XCJcbj5cbiAgPG1hdC1zaWRlbmF2XG4gICAgI3NpZGVuYXZcbiAgICBwb3NpdGlvbj1cInN0YXJ0XCJcbiAgICBbbW9kZV09XCJtb2RlXCJcbiAgICBbb3BlbmVkXT1cIm9wZW5lZFwiXG4gICAgW2Rpc2FibGVDbG9zZV09XCJkaXNhYmxlQ2xvc2VcIlxuICAgIFtzdHlsZS5tYXgtd2lkdGhdPVwic2lkZW5hdldpZHRoXCJcbiAgICBbc3R5bGUubWluLXdpZHRoXT1cInNpZGVuYXZXaWR0aFwiXG4gID5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJtYXQtdG9vbGJhclt0ZC1zaWRlbmF2LWNvbnRlbnRdXCI+PC9uZy1jb250ZW50PlxuICAgIDxkaXYgY2xhc3M9XCJ0ZC1sYXlvdXQtbWFuYWdlLWxpc3Qtc2lkZW5hdlwiIGNka1Njcm9sbGFibGU+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbdGQtc2lkZW5hdi1jb250ZW50XVwiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgPC9tYXQtc2lkZW5hdj5cbiAgPGRpdiBjbGFzcz1cInRkLWxheW91dC1tYW5hZ2UtbGlzdC1tYWluXCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwibWF0LXRvb2xiYXJcIj48L25nLWNvbnRlbnQ+XG4gICAgPGRpdiBjbGFzcz1cInRkLWxheW91dC1tYW5hZ2UtbGlzdC1jb250ZW50XCIgY2RrU2Nyb2xsYWJsZT5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJ0ZC1sYXlvdXQtZm9vdGVyLWlubmVyXCI+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbjwvbWF0LXNpZGVuYXYtY29udGFpbmVyPlxuIl19
@@ -1,76 +0,0 @@
1
- import { Component, Input, Optional } from '@angular/core';
2
- import { Router } from '@angular/router';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/router";
5
- import * as i2 from "@angular/common";
6
- import * as i3 from "@angular/cdk/scrolling";
7
- import * as i4 from "@angular/material/toolbar";
8
- import * as i5 from "@angular/material/icon";
9
- export class TdLayoutNavComponent {
10
- _router;
11
- /**
12
- * toolbarTitle?: string
13
- *
14
- * Title set in toolbar.
15
- */
16
- toolbarTitle;
17
- /**
18
- * icon?: string
19
- *
20
- * icon name to be displayed before the title
21
- */
22
- icon;
23
- /**
24
- * logo?: string
25
- *
26
- * logo icon name to be displayed before the title.
27
- * If [icon] is set, then this will not be shown.
28
- */
29
- logo;
30
- /**
31
- * color?: 'accent' | 'primary' | 'warn'
32
- *
33
- * toolbar color option: primary | accent | warn.
34
- * If [color] is not set, primary is used.
35
- */
36
- color = 'primary';
37
- /**
38
- * navigationRoute?: string
39
- *
40
- * option to set the combined route for the icon, logo, and toolbarTitle.
41
- */
42
- navigationRoute;
43
- /**
44
- * Checks if router was injected.
45
- */
46
- get routerEnabled() {
47
- return !!this._router && !!this.navigationRoute;
48
- }
49
- constructor(_router) {
50
- this._router = _router;
51
- }
52
- handleNavigationClick() {
53
- if (this.routerEnabled && this.navigationRoute) {
54
- this._router.navigateByUrl(this.navigationRoute);
55
- }
56
- }
57
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TdLayoutNavComponent, deps: [{ token: i1.Router, optional: true }], target: i0.ɵɵFactoryTarget.Component });
58
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: TdLayoutNavComponent, selector: "td-layout-nav", inputs: { toolbarTitle: "toolbarTitle", icon: "icon", logo: "logo", color: "color", navigationRoute: "navigationRoute" }, ngImport: i0, template: "<div class=\"td-layout-nav-wrapper\">\n <mat-toolbar class=\"td-layout-toolbar\" [color]=\"color\">\n <ng-content select=\"[td-menu-button]\"></ng-content>\n <span\n *ngIf=\"icon || logo || toolbarTitle\"\n [class.cursor-pointer]=\"routerEnabled\"\n (click)=\"handleNavigationClick()\"\n class=\"td-layout-nav-toolbar-content\"\n >\n <mat-icon *ngIf=\"icon\">{{ icon }}</mat-icon>\n <mat-icon\n *ngIf=\"logo && !icon\"\n class=\"mat-icon-logo\"\n [svgIcon]=\"logo\"\n ></mat-icon>\n <span *ngIf=\"toolbarTitle\">{{ toolbarTitle }}</span>\n </span>\n <ng-content select=\"[td-toolbar-content]\"></ng-content>\n </mat-toolbar>\n <div class=\"td-layout-nav-content\" cdkScrollable>\n <ng-content></ng-content>\n </div>\n <ng-content select=\"td-layout-footer\"></ng-content>\n</div>\n", styles: [".td-menu-button{margin-left:0}::ng-deep [dir=rtl] .td-menu-button{margin-right:0;margin-left:6px}:host{display:flex;margin:0;width:100%;min-height:100%;height:100%;overflow:hidden}:host .td-layout-nav-wrapper{flex-direction:column;box-sizing:border-box;display:flex;margin:0;width:100%;min-height:100%;height:100%}:host .td-layout-nav-wrapper .td-layout-nav-toolbar-content{flex-direction:row;box-sizing:border-box;display:flex;align-items:center;align-content:center;max-width:100%;justify-content:flex-start}:host .td-layout-nav-wrapper .td-layout-nav-content{flex-direction:column;box-sizing:border-box;display:flex;flex:1;position:relative;overflow:auto;-webkit-overflow-scrolling:touch}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "component", type: i4.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
59
- }
60
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TdLayoutNavComponent, decorators: [{
61
- type: Component,
62
- args: [{ selector: 'td-layout-nav', template: "<div class=\"td-layout-nav-wrapper\">\n <mat-toolbar class=\"td-layout-toolbar\" [color]=\"color\">\n <ng-content select=\"[td-menu-button]\"></ng-content>\n <span\n *ngIf=\"icon || logo || toolbarTitle\"\n [class.cursor-pointer]=\"routerEnabled\"\n (click)=\"handleNavigationClick()\"\n class=\"td-layout-nav-toolbar-content\"\n >\n <mat-icon *ngIf=\"icon\">{{ icon }}</mat-icon>\n <mat-icon\n *ngIf=\"logo && !icon\"\n class=\"mat-icon-logo\"\n [svgIcon]=\"logo\"\n ></mat-icon>\n <span *ngIf=\"toolbarTitle\">{{ toolbarTitle }}</span>\n </span>\n <ng-content select=\"[td-toolbar-content]\"></ng-content>\n </mat-toolbar>\n <div class=\"td-layout-nav-content\" cdkScrollable>\n <ng-content></ng-content>\n </div>\n <ng-content select=\"td-layout-footer\"></ng-content>\n</div>\n", styles: [".td-menu-button{margin-left:0}::ng-deep [dir=rtl] .td-menu-button{margin-right:0;margin-left:6px}:host{display:flex;margin:0;width:100%;min-height:100%;height:100%;overflow:hidden}:host .td-layout-nav-wrapper{flex-direction:column;box-sizing:border-box;display:flex;margin:0;width:100%;min-height:100%;height:100%}:host .td-layout-nav-wrapper .td-layout-nav-toolbar-content{flex-direction:row;box-sizing:border-box;display:flex;align-items:center;align-content:center;max-width:100%;justify-content:flex-start}:host .td-layout-nav-wrapper .td-layout-nav-content{flex-direction:column;box-sizing:border-box;display:flex;flex:1;position:relative;overflow:auto;-webkit-overflow-scrolling:touch}\n"] }]
63
- }], ctorParameters: function () { return [{ type: i1.Router, decorators: [{
64
- type: Optional
65
- }] }]; }, propDecorators: { toolbarTitle: [{
66
- type: Input
67
- }], icon: [{
68
- type: Input
69
- }], logo: [{
70
- type: Input
71
- }], color: [{
72
- type: Input
73
- }], navigationRoute: [{
74
- type: Input
75
- }] } });
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LW5hdi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvbGF5b3V0L3NyYy9sYXlvdXQtbmF2L2xheW91dC1uYXYuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2xheW91dC9zcmMvbGF5b3V0LW5hdi9sYXlvdXQtbmF2LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7QUFPekMsTUFBTSxPQUFPLG9CQUFvQjtJQTZDQztJQTVDaEM7Ozs7T0FJRztJQUNNLFlBQVksQ0FBVTtJQUUvQjs7OztPQUlHO0lBQ00sSUFBSSxDQUFVO0lBRXZCOzs7OztPQUtHO0lBQ00sSUFBSSxDQUFVO0lBRXZCOzs7OztPQUtHO0lBQ00sS0FBSyxHQUFtQyxTQUFTLENBQUM7SUFFM0Q7Ozs7T0FJRztJQUNNLGVBQWUsQ0FBVTtJQUVsQzs7T0FFRztJQUNILElBQUksYUFBYTtRQUNmLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDbEQsQ0FBQztJQUVELFlBQWdDLE9BQWU7UUFBZixZQUFPLEdBQVAsT0FBTyxDQUFRO0lBQUcsQ0FBQztJQUVuRCxxQkFBcUI7UUFDbkIsSUFBSSxJQUFJLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDOUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1NBQ2xEO0lBQ0gsQ0FBQzt1R0FuRFUsb0JBQW9COzJGQUFwQixvQkFBb0IsK0tDUmpDLG0yQkF3QkE7OzJGRGhCYSxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0UsZUFBZTs7MEJBaURaLFFBQVE7NENBdkNaLFlBQVk7c0JBQXBCLEtBQUs7Z0JBT0csSUFBSTtzQkFBWixLQUFLO2dCQVFHLElBQUk7c0JBQVosS0FBSztnQkFRRyxLQUFLO3NCQUFiLEtBQUs7Z0JBT0csZUFBZTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZC1sYXlvdXQtbmF2JyxcbiAgc3R5bGVVcmxzOiBbJy4vbGF5b3V0LW5hdi5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJy4vbGF5b3V0LW5hdi5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFRkTGF5b3V0TmF2Q29tcG9uZW50IHtcbiAgLyoqXG4gICAqIHRvb2xiYXJUaXRsZT86IHN0cmluZ1xuICAgKlxuICAgKiBUaXRsZSBzZXQgaW4gdG9vbGJhci5cbiAgICovXG4gIEBJbnB1dCgpIHRvb2xiYXJUaXRsZT86IHN0cmluZztcblxuICAvKipcbiAgICogaWNvbj86IHN0cmluZ1xuICAgKlxuICAgKiBpY29uIG5hbWUgdG8gYmUgZGlzcGxheWVkIGJlZm9yZSB0aGUgdGl0bGVcbiAgICovXG4gIEBJbnB1dCgpIGljb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIGxvZ28/OiBzdHJpbmdcbiAgICpcbiAgICogbG9nbyBpY29uIG5hbWUgdG8gYmUgZGlzcGxheWVkIGJlZm9yZSB0aGUgdGl0bGUuXG4gICAqIElmIFtpY29uXSBpcyBzZXQsIHRoZW4gdGhpcyB3aWxsIG5vdCBiZSBzaG93bi5cbiAgICovXG4gIEBJbnB1dCgpIGxvZ28/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIGNvbG9yPzogJ2FjY2VudCcgfCAncHJpbWFyeScgfCAnd2FybidcbiAgICpcbiAgICogdG9vbGJhciBjb2xvciBvcHRpb246IHByaW1hcnkgfCBhY2NlbnQgfCB3YXJuLlxuICAgKiBJZiBbY29sb3JdIGlzIG5vdCBzZXQsIHByaW1hcnkgaXMgdXNlZC5cbiAgICovXG4gIEBJbnB1dCgpIGNvbG9yPzogJ2FjY2VudCcgfCAncHJpbWFyeScgfCAnd2FybicgPSAncHJpbWFyeSc7XG5cbiAgLyoqXG4gICAqIG5hdmlnYXRpb25Sb3V0ZT86IHN0cmluZ1xuICAgKlxuICAgKiBvcHRpb24gdG8gc2V0IHRoZSBjb21iaW5lZCByb3V0ZSBmb3IgdGhlIGljb24sIGxvZ28sIGFuZCB0b29sYmFyVGl0bGUuXG4gICAqL1xuICBASW5wdXQoKSBuYXZpZ2F0aW9uUm91dGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiByb3V0ZXIgd2FzIGluamVjdGVkLlxuICAgKi9cbiAgZ2V0IHJvdXRlckVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5fcm91dGVyICYmICEhdGhpcy5uYXZpZ2F0aW9uUm91dGU7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBwcml2YXRlIF9yb3V0ZXI6IFJvdXRlcikge31cblxuICBoYW5kbGVOYXZpZ2F0aW9uQ2xpY2soKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucm91dGVyRW5hYmxlZCAmJiB0aGlzLm5hdmlnYXRpb25Sb3V0ZSkge1xuICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwodGhpcy5uYXZpZ2F0aW9uUm91dGUpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInRkLWxheW91dC1uYXYtd3JhcHBlclwiPlxuICA8bWF0LXRvb2xiYXIgY2xhc3M9XCJ0ZC1sYXlvdXQtdG9vbGJhclwiIFtjb2xvcl09XCJjb2xvclwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlt0ZC1tZW51LWJ1dHRvbl1cIj48L25nLWNvbnRlbnQ+XG4gICAgPHNwYW5cbiAgICAgICpuZ0lmPVwiaWNvbiB8fCBsb2dvIHx8IHRvb2xiYXJUaXRsZVwiXG4gICAgICBbY2xhc3MuY3Vyc29yLXBvaW50ZXJdPVwicm91dGVyRW5hYmxlZFwiXG4gICAgICAoY2xpY2spPVwiaGFuZGxlTmF2aWdhdGlvbkNsaWNrKClcIlxuICAgICAgY2xhc3M9XCJ0ZC1sYXlvdXQtbmF2LXRvb2xiYXItY29udGVudFwiXG4gICAgPlxuICAgICAgPG1hdC1pY29uICpuZ0lmPVwiaWNvblwiPnt7IGljb24gfX08L21hdC1pY29uPlxuICAgICAgPG1hdC1pY29uXG4gICAgICAgICpuZ0lmPVwibG9nbyAmJiAhaWNvblwiXG4gICAgICAgIGNsYXNzPVwibWF0LWljb24tbG9nb1wiXG4gICAgICAgIFtzdmdJY29uXT1cImxvZ29cIlxuICAgICAgPjwvbWF0LWljb24+XG4gICAgICA8c3BhbiAqbmdJZj1cInRvb2xiYXJUaXRsZVwiPnt7IHRvb2xiYXJUaXRsZSB9fTwvc3Bhbj5cbiAgICA8L3NwYW4+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3RkLXRvb2xiYXItY29udGVudF1cIj48L25nLWNvbnRlbnQ+XG4gIDwvbWF0LXRvb2xiYXI+XG4gIDxkaXYgY2xhc3M9XCJ0ZC1sYXlvdXQtbmF2LWNvbnRlbnRcIiBjZGtTY3JvbGxhYmxlPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9kaXY+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cInRkLWxheW91dC1mb290ZXJcIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==