@ng-matero/extensions 14.6.3 → 15.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 (336) hide show
  1. package/README.md +0 -1
  2. package/_index.scss +3 -4
  3. package/_theming.scss +3 -4
  4. package/alert/_alert-theme.import.scss +1 -1
  5. package/alert/_alert-theme.scss +2 -2
  6. package/alert/{alert.module.d.ts → alert-module.d.ts} +2 -2
  7. package/alert/{alert.component.d.ts → alert.d.ts} +4 -4
  8. package/alert/{alert.component.scss → alert.scss} +0 -0
  9. package/alert/public-api.d.ts +2 -2
  10. package/button/button-loading.d.ts +25 -0
  11. package/button/button-loading.scss +5 -4
  12. package/button/{button.module.d.ts → button-module.d.ts} +2 -2
  13. package/button/public-api.d.ts +2 -2
  14. package/checkbox-group/{checkbox-group.module.d.ts → checkbox-group-module.d.ts} +2 -2
  15. package/checkbox-group/{checkbox-group.component.d.ts → checkbox-group.d.ts} +4 -4
  16. package/checkbox-group/checkbox-group.scss +0 -0
  17. package/checkbox-group/{checkbox-group.interface.d.ts → interfaces.d.ts} +0 -0
  18. package/checkbox-group/public-api.d.ts +3 -3
  19. package/colorpicker/_colorpicker-theme.import.scss +1 -1
  20. package/colorpicker/_colorpicker-theme.scss +2 -2
  21. package/colorpicker/colorpicker-input.d.ts +1 -1
  22. package/colorpicker/colorpicker-toggle.d.ts +2 -2
  23. package/colorpicker/colorpicker.d.ts +2 -2
  24. package/column-resize/column-resize-directives/column-resize-flex.d.ts +1 -1
  25. package/column-resize/column-resize-directives/column-resize.d.ts +1 -1
  26. package/column-resize/column-resize.d.ts +1 -1
  27. package/column-resize/overlay-handle.d.ts +1 -1
  28. package/column-resize/resizable.d.ts +1 -1
  29. package/core/color/_all-color.scss +28 -0
  30. package/core/density/_all-density.scss +24 -0
  31. package/core/style/_elevation.scss +20 -126
  32. package/core/style/_private.scss +9 -18
  33. package/core/style/_variables.scss +1 -1
  34. package/core/style/_vendor-prefixes.scss +8 -21
  35. package/core/theming/_all-theme.scss +38 -0
  36. package/core/theming/_palette.scss +1 -1
  37. package/core/theming/_theming.scss +55 -22
  38. package/core/typography/_typography.scss +195 -17
  39. package/datetimepicker/_datetimepicker-theme.import.scss +1 -1
  40. package/datetimepicker/_datetimepicker-theme.scss +3 -4
  41. package/datetimepicker/calendar-body.d.ts +1 -1
  42. package/datetimepicker/calendar.d.ts +1 -1
  43. package/datetimepicker/calendar.scss +3 -0
  44. package/datetimepicker/clock.d.ts +1 -1
  45. package/datetimepicker/datetimepicker-input.d.ts +1 -1
  46. package/datetimepicker/datetimepicker-toggle.d.ts +2 -2
  47. package/datetimepicker/datetimepicker.d.ts +2 -2
  48. package/datetimepicker/month-view.d.ts +1 -1
  49. package/datetimepicker/multi-year-view.d.ts +1 -1
  50. package/datetimepicker/time.d.ts +2 -2
  51. package/datetimepicker/time.scss +1 -1
  52. package/datetimepicker/year-view.d.ts +1 -1
  53. package/dialog/dialog-container.d.ts +12 -0
  54. package/dialog/dialog-container.scss +48 -0
  55. package/dialog/{dialog.module.d.ts → dialog-module.d.ts} +2 -2
  56. package/dialog/public-api.d.ts +2 -2
  57. package/drawer/_drawer-theme.import.scss +1 -1
  58. package/drawer/_drawer-theme.scss +2 -2
  59. package/drawer/drawer-container.d.ts +1 -1
  60. package/esm2020/alert/alert-module.mjs +18 -0
  61. package/esm2020/alert/alert.mjs +52 -0
  62. package/esm2020/alert/public-api.mjs +3 -3
  63. package/esm2020/button/button-loading.mjs +76 -0
  64. package/esm2020/button/button-module.mjs +20 -0
  65. package/esm2020/button/public-api.mjs +3 -3
  66. package/esm2020/checkbox-group/{checkbox-group.module.mjs → checkbox-group-module.mjs} +8 -8
  67. package/esm2020/checkbox-group/checkbox-group.mjs +234 -0
  68. package/esm2020/checkbox-group/interfaces.mjs +2 -0
  69. package/esm2020/checkbox-group/public-api.mjs +4 -4
  70. package/esm2020/colorpicker/colorpicker-input.mjs +3 -3
  71. package/esm2020/colorpicker/colorpicker-module.mjs +4 -4
  72. package/esm2020/colorpicker/colorpicker-toggle.mjs +6 -6
  73. package/esm2020/colorpicker/colorpicker.mjs +6 -6
  74. package/esm2020/column-resize/column-resize-directives/column-resize-flex.mjs +3 -3
  75. package/esm2020/column-resize/column-resize-directives/column-resize.mjs +3 -3
  76. package/esm2020/column-resize/column-resize-module.mjs +4 -4
  77. package/esm2020/column-resize/column-resize-notifier.mjs +7 -7
  78. package/esm2020/column-resize/column-resize.mjs +3 -3
  79. package/esm2020/column-resize/column-size-store.mjs +3 -3
  80. package/esm2020/column-resize/event-dispatcher.mjs +3 -3
  81. package/esm2020/column-resize/overlay-handle.mjs +3 -3
  82. package/esm2020/column-resize/resizable.mjs +3 -3
  83. package/esm2020/column-resize/resize-strategy.mjs +9 -9
  84. package/esm2020/core/datetime/datetime.module.mjs +8 -8
  85. package/esm2020/core/datetime/native-datetime-adapter.mjs +3 -3
  86. package/esm2020/core/pipes/pipes.module.mjs +4 -4
  87. package/esm2020/core/pipes/to-observable.pipe.mjs +3 -3
  88. package/esm2020/datetimepicker/calendar-body.mjs +3 -3
  89. package/esm2020/datetimepicker/calendar.mjs +5 -5
  90. package/esm2020/datetimepicker/clock.mjs +4 -4
  91. package/esm2020/datetimepicker/datetimepicker-input.mjs +3 -3
  92. package/esm2020/datetimepicker/datetimepicker-intl.mjs +3 -3
  93. package/esm2020/datetimepicker/datetimepicker-module.mjs +4 -4
  94. package/esm2020/datetimepicker/datetimepicker-toggle.mjs +6 -6
  95. package/esm2020/datetimepicker/datetimepicker.mjs +6 -6
  96. package/esm2020/datetimepicker/month-view.mjs +3 -3
  97. package/esm2020/datetimepicker/multi-year-view.mjs +3 -3
  98. package/esm2020/datetimepicker/time.mjs +8 -8
  99. package/esm2020/datetimepicker/year-view.mjs +3 -3
  100. package/esm2020/dialog/dialog-container.mjs +35 -0
  101. package/esm2020/dialog/{dialog.module.mjs → dialog-module.mjs} +8 -8
  102. package/esm2020/dialog/dialog.mjs +7 -7
  103. package/esm2020/dialog/public-api.mjs +3 -3
  104. package/esm2020/drawer/drawer-container.mjs +3 -3
  105. package/esm2020/drawer/drawer-module.mjs +4 -4
  106. package/esm2020/drawer/drawer.mjs +4 -4
  107. package/esm2020/grid/cell.mjs +130 -0
  108. package/esm2020/grid/column-menu.mjs +112 -0
  109. package/esm2020/grid/column-resize/column-resize-directives/column-resize-flex.mjs +3 -3
  110. package/esm2020/grid/column-resize/column-resize-directives/column-resize.mjs +3 -3
  111. package/esm2020/grid/column-resize/column-resize-module.mjs +8 -8
  112. package/esm2020/grid/column-resize/overlay-handle.mjs +3 -3
  113. package/esm2020/grid/column-resize/resizable-directives/resizable.mjs +3 -3
  114. package/esm2020/grid/column-resize/resize-strategy.mjs +3 -3
  115. package/esm2020/grid/expansion-toggle.mjs +64 -0
  116. package/esm2020/grid/grid-module.mjs +115 -0
  117. package/esm2020/grid/grid-utils.mjs +44 -0
  118. package/esm2020/grid/grid.mjs +619 -0
  119. package/esm2020/grid/interfaces.mjs +2 -0
  120. package/esm2020/grid/public-api.mjs +8 -8
  121. package/esm2020/loader/loader-module.mjs +20 -0
  122. package/esm2020/loader/loader.mjs +69 -0
  123. package/esm2020/loader/public-api.mjs +3 -3
  124. package/esm2020/popover/popover-content.mjs +6 -6
  125. package/esm2020/popover/popover-module.mjs +4 -4
  126. package/esm2020/popover/popover-target.mjs +3 -3
  127. package/esm2020/popover/popover-trigger.mjs +3 -3
  128. package/esm2020/popover/popover.mjs +3 -3
  129. package/esm2020/progress/progress-module.mjs +18 -0
  130. package/esm2020/progress/progress.mjs +55 -0
  131. package/esm2020/progress/public-api.mjs +3 -3
  132. package/esm2020/select/option.mjs +57 -0
  133. package/esm2020/select/public-api.mjs +5 -5
  134. package/esm2020/select/select-module.mjs +74 -0
  135. package/esm2020/select/select.mjs +550 -0
  136. package/esm2020/select/templates.mjs +124 -0
  137. package/esm2020/slider/slider-module.mjs +4 -4
  138. package/esm2020/slider/slider.mjs +4 -4
  139. package/esm2020/split/interfaces.mjs +2 -0
  140. package/esm2020/split/public-api.mjs +5 -5
  141. package/esm2020/split/split-module.mjs +19 -0
  142. package/esm2020/split/split-pane.mjs +149 -0
  143. package/esm2020/split/split.mjs +619 -0
  144. package/esm2020/split/utils.mjs +4 -4
  145. package/esm2020/tooltip/tooltip-module.mjs +4 -4
  146. package/esm2020/tooltip/tooltip.mjs +6 -6
  147. package/fesm2015/mtxAlert.mjs +12 -11
  148. package/fesm2015/mtxAlert.mjs.map +1 -1
  149. package/fesm2015/mtxButton.mjs +31 -31
  150. package/fesm2015/mtxButton.mjs.map +1 -1
  151. package/fesm2015/mtxCheckboxGroup.mjs +16 -15
  152. package/fesm2015/mtxCheckboxGroup.mjs.map +1 -1
  153. package/fesm2015/mtxColorpicker.mjs +20 -19
  154. package/fesm2015/mtxColorpicker.mjs.map +1 -1
  155. package/fesm2015/mtxColumnResize.mjs +41 -40
  156. package/fesm2015/mtxColumnResize.mjs.map +1 -1
  157. package/fesm2015/mtxCore.mjs +19 -18
  158. package/fesm2015/mtxDatetimepicker.mjs +50 -49
  159. package/fesm2015/mtxDatetimepicker.mjs.map +1 -1
  160. package/fesm2015/mtxDialog.mjs +20 -17
  161. package/fesm2015/mtxDialog.mjs.map +1 -1
  162. package/fesm2015/mtxDrawer.mjs +11 -10
  163. package/fesm2015/mtxDrawer.mjs.map +1 -1
  164. package/fesm2015/mtxGrid.mjs +90 -90
  165. package/fesm2015/mtxGrid.mjs.map +1 -1
  166. package/fesm2015/mtxLoader.mjs +13 -12
  167. package/fesm2015/mtxLoader.mjs.map +1 -1
  168. package/fesm2015/mtxPopover.mjs +20 -19
  169. package/fesm2015/mtxProgress.mjs +12 -11
  170. package/fesm2015/mtxProgress.mjs.map +1 -1
  171. package/fesm2015/mtxSelect.mjs +122 -121
  172. package/fesm2015/mtxSelect.mjs.map +1 -1
  173. package/fesm2015/mtxSlider.mjs +9 -8
  174. package/fesm2015/mtxSlider.mjs.map +1 -1
  175. package/fesm2015/mtxSplit.mjs +19 -18
  176. package/fesm2015/mtxSplit.mjs.map +1 -1
  177. package/fesm2015/mtxTooltip.mjs +11 -10
  178. package/fesm2015/ng-matero-extensions.mjs +1 -0
  179. package/fesm2020/mtxAlert.mjs +12 -11
  180. package/fesm2020/mtxAlert.mjs.map +1 -1
  181. package/fesm2020/mtxButton.mjs +31 -31
  182. package/fesm2020/mtxButton.mjs.map +1 -1
  183. package/fesm2020/mtxCheckboxGroup.mjs +16 -15
  184. package/fesm2020/mtxCheckboxGroup.mjs.map +1 -1
  185. package/fesm2020/mtxColorpicker.mjs +20 -19
  186. package/fesm2020/mtxColorpicker.mjs.map +1 -1
  187. package/fesm2020/mtxColumnResize.mjs +41 -40
  188. package/fesm2020/mtxColumnResize.mjs.map +1 -1
  189. package/fesm2020/mtxCore.mjs +19 -18
  190. package/fesm2020/mtxDatetimepicker.mjs +50 -49
  191. package/fesm2020/mtxDatetimepicker.mjs.map +1 -1
  192. package/fesm2020/mtxDialog.mjs +20 -17
  193. package/fesm2020/mtxDialog.mjs.map +1 -1
  194. package/fesm2020/mtxDrawer.mjs +11 -10
  195. package/fesm2020/mtxDrawer.mjs.map +1 -1
  196. package/fesm2020/mtxGrid.mjs +90 -90
  197. package/fesm2020/mtxGrid.mjs.map +1 -1
  198. package/fesm2020/mtxLoader.mjs +13 -12
  199. package/fesm2020/mtxLoader.mjs.map +1 -1
  200. package/fesm2020/mtxPopover.mjs +20 -19
  201. package/fesm2020/mtxProgress.mjs +12 -11
  202. package/fesm2020/mtxProgress.mjs.map +1 -1
  203. package/fesm2020/mtxSelect.mjs +122 -121
  204. package/fesm2020/mtxSelect.mjs.map +1 -1
  205. package/fesm2020/mtxSlider.mjs +9 -8
  206. package/fesm2020/mtxSlider.mjs.map +1 -1
  207. package/fesm2020/mtxSplit.mjs +19 -18
  208. package/fesm2020/mtxSplit.mjs.map +1 -1
  209. package/fesm2020/mtxTooltip.mjs +11 -10
  210. package/fesm2020/ng-matero-extensions.mjs +1 -0
  211. package/grid/_grid-theme.import.scss +1 -1
  212. package/grid/_grid-theme.scss +16 -16
  213. package/grid/{cell.component.d.ts → cell.d.ts} +8 -8
  214. package/grid/{cell.component.scss → cell.scss} +0 -0
  215. package/grid/{column-menu.component.d.ts → column-menu.d.ts} +4 -4
  216. package/grid/{column-menu.component.scss → column-menu.scss} +6 -10
  217. package/grid/column-resize/_column-resize.scss +9 -9
  218. package/grid/column-resize/column-resize-directives/column-resize-flex.d.ts +1 -1
  219. package/grid/column-resize/column-resize-directives/column-resize.d.ts +1 -1
  220. package/grid/column-resize/overlay-handle.d.ts +1 -1
  221. package/grid/column-resize/resizable-directives/resizable.d.ts +1 -1
  222. package/grid/{expansion-toggle.directive.d.ts → expansion-toggle.d.ts} +4 -4
  223. package/grid/{grid.module.d.ts → grid-module.d.ts} +5 -5
  224. package/grid/{grid.service.d.ts → grid-utils.d.ts} +4 -4
  225. package/grid/{grid.component.d.ts → grid.d.ts} +18 -17
  226. package/grid/{grid.component.scss → grid.scss} +17 -29
  227. package/grid/{grid.interface.d.ts → interfaces.d.ts} +0 -6
  228. package/grid/public-api.d.ts +7 -7
  229. package/loader/_loader-theme.import.scss +1 -1
  230. package/loader/_loader-theme.scss +2 -2
  231. package/loader/{loader.module.d.ts → loader-module.d.ts} +2 -2
  232. package/loader/{loader.component.d.ts → loader.d.ts} +3 -3
  233. package/loader/{loader.component.scss → loader.scss} +2 -2
  234. package/loader/public-api.d.ts +2 -2
  235. package/package.json +8 -24
  236. package/popover/_popover-theme.import.scss +1 -1
  237. package/popover/_popover-theme.scss +2 -2
  238. package/popover/popover-content.d.ts +2 -2
  239. package/popover/popover-target.d.ts +1 -1
  240. package/popover/popover-trigger.d.ts +1 -1
  241. package/popover/popover.d.ts +1 -1
  242. package/progress/_progress-theme.import.scss +1 -1
  243. package/progress/_progress-theme.scss +2 -2
  244. package/progress/{progress.module.d.ts → progress-module.d.ts} +2 -2
  245. package/progress/{progress.component.d.ts → progress.d.ts} +3 -3
  246. package/progress/{progress.component.scss → progress.scss} +0 -0
  247. package/progress/public-api.d.ts +2 -2
  248. package/select/_select-density.scss +68 -0
  249. package/select/_select-theme.import.scss +2 -1
  250. package/select/_select-theme.scss +6 -2
  251. package/select/{option.component.d.ts → option.d.ts} +3 -3
  252. package/select/public-api.d.ts +4 -4
  253. package/select/select-module.d.ts +12 -0
  254. package/select/{select.component.d.ts → select.d.ts} +5 -5
  255. package/select/{select.component.scss → select.scss} +14 -22
  256. package/select/{templates.directive.d.ts → templates.d.ts} +33 -33
  257. package/slider/_slider-theme.import.scss +1 -1
  258. package/slider/_slider-theme.scss +3 -4
  259. package/slider/slider.d.ts +1 -1
  260. package/slider/slider.scss +3 -3
  261. package/split/_split-theme.import.scss +1 -1
  262. package/split/_split-theme.scss +2 -2
  263. package/split/{interface.d.ts → interfaces.d.ts} +2 -2
  264. package/split/public-api.d.ts +4 -4
  265. package/split/{split.module.d.ts → split-module.d.ts} +3 -3
  266. package/split/{split-pane.directive.d.ts → split-pane.d.ts} +5 -5
  267. package/split/{split.component.d.ts → split.d.ts} +11 -11
  268. package/split/{split.component.scss → split.scss} +0 -0
  269. package/split/utils.d.ts +4 -1
  270. package/tooltip/_tooltip-theme.import.scss +1 -1
  271. package/tooltip/_tooltip-theme.scss +3 -4
  272. package/tooltip/tooltip.d.ts +2 -2
  273. package/_all-color.scss +0 -47
  274. package/_all-theme.scss +0 -47
  275. package/button/button-loading.directive.d.ts +0 -26
  276. package/checkbox-group/checkbox-group.component.scss +0 -12
  277. package/core/density/private/_compatibility.scss +0 -74
  278. package/dialog/dialog.component.d.ts +0 -12
  279. package/dialog/dialog.component.scss +0 -27
  280. package/esm2020/alert/alert.component.mjs +0 -52
  281. package/esm2020/alert/alert.module.mjs +0 -18
  282. package/esm2020/button/button-loading.directive.mjs +0 -77
  283. package/esm2020/button/button.module.mjs +0 -20
  284. package/esm2020/checkbox-group/checkbox-group.component.mjs +0 -234
  285. package/esm2020/checkbox-group/checkbox-group.interface.mjs +0 -2
  286. package/esm2020/dialog/dialog.component.mjs +0 -33
  287. package/esm2020/form-group/form-group.component.mjs +0 -37
  288. package/esm2020/form-group/form-group.module.mjs +0 -18
  289. package/esm2020/form-group/mtxFormGroup.mjs +0 -5
  290. package/esm2020/form-group/public-api.mjs +0 -3
  291. package/esm2020/grid/cell.component.mjs +0 -130
  292. package/esm2020/grid/column-menu.component.mjs +0 -112
  293. package/esm2020/grid/expansion-toggle.directive.mjs +0 -64
  294. package/esm2020/grid/grid.component.mjs +0 -619
  295. package/esm2020/grid/grid.interface.mjs +0 -2
  296. package/esm2020/grid/grid.module.mjs +0 -115
  297. package/esm2020/grid/grid.service.mjs +0 -44
  298. package/esm2020/loader/loader.component.mjs +0 -69
  299. package/esm2020/loader/loader.module.mjs +0 -20
  300. package/esm2020/progress/progress.component.mjs +0 -55
  301. package/esm2020/progress/progress.module.mjs +0 -18
  302. package/esm2020/select/option.component.mjs +0 -57
  303. package/esm2020/select/select.component.mjs +0 -549
  304. package/esm2020/select/select.module.mjs +0 -74
  305. package/esm2020/select/templates.directive.mjs +0 -124
  306. package/esm2020/split/interface.mjs +0 -2
  307. package/esm2020/split/split-pane.directive.mjs +0 -149
  308. package/esm2020/split/split.component.mjs +0 -619
  309. package/esm2020/split/split.module.mjs +0 -19
  310. package/esm2020/text3d/mtxText3d.mjs +0 -5
  311. package/esm2020/text3d/public-api.mjs +0 -3
  312. package/esm2020/text3d/text3d.component.mjs +0 -45
  313. package/esm2020/text3d/text3d.module.mjs +0 -18
  314. package/fesm2015/mtxFormGroup.mjs +0 -59
  315. package/fesm2015/mtxFormGroup.mjs.map +0 -1
  316. package/fesm2015/mtxText3d.mjs +0 -67
  317. package/fesm2015/mtxText3d.mjs.map +0 -1
  318. package/fesm2020/mtxFormGroup.mjs +0 -59
  319. package/fesm2020/mtxFormGroup.mjs.map +0 -1
  320. package/fesm2020/mtxText3d.mjs +0 -67
  321. package/fesm2020/mtxText3d.mjs.map +0 -1
  322. package/form-group/_form-group-theme.import.scss +0 -2
  323. package/form-group/_form-group-theme.scss +0 -95
  324. package/form-group/form-group.component.d.ts +0 -15
  325. package/form-group/form-group.component.scss +0 -103
  326. package/form-group/form-group.module.d.ts +0 -8
  327. package/form-group/index.d.ts +0 -5
  328. package/form-group/public-api.d.ts +0 -2
  329. package/select/select.module.d.ts +0 -12
  330. package/text3d/_text3d-theme.import.scss +0 -2
  331. package/text3d/_text3d-theme.scss +0 -48
  332. package/text3d/index.d.ts +0 -5
  333. package/text3d/public-api.d.ts +0 -2
  334. package/text3d/text3d.component.d.ts +0 -14
  335. package/text3d/text3d.component.scss +0 -21
  336. package/text3d/text3d.module.d.ts +0 -8
@@ -0,0 +1,112 @@
1
+ import { Component, Input, ViewEncapsulation, ChangeDetectionStrategy, Output, EventEmitter, ViewChild, } from '@angular/core';
2
+ import { moveItemInArray } from '@angular/cdk/drag-drop';
3
+ import { MatMenuTrigger } from '@angular/material/menu';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ import * as i2 from "@angular/forms";
7
+ import * as i3 from "@angular/material/checkbox";
8
+ import * as i4 from "@angular/material/button";
9
+ import * as i5 from "@angular/material/icon";
10
+ import * as i6 from "@angular/material/menu";
11
+ import * as i7 from "@angular/cdk/drag-drop";
12
+ import * as i8 from "@ng-matero/extensions/core";
13
+ export class MtxGridColumnMenu {
14
+ constructor() {
15
+ this.columns = [];
16
+ this.selectable = true;
17
+ this.selectableChecked = 'show';
18
+ this.sortable = true;
19
+ this.pinnable = true;
20
+ this._buttonText = '';
21
+ this.buttonType = 'stroked';
22
+ this.buttonClass = '';
23
+ this.buttonIcon = '';
24
+ this.showHeader = false;
25
+ this.headerText = 'Columns Header';
26
+ this.showFooter = false;
27
+ this.footerText = 'Columns Footer';
28
+ this.columnChange = new EventEmitter();
29
+ this._pinOptions = [
30
+ { label: 'Pin Left', value: 'left' },
31
+ { label: 'Pin Right', value: 'right' },
32
+ { label: 'No Pin', value: null },
33
+ ];
34
+ }
35
+ get buttonText() {
36
+ const defaultText = `Columns ${this.selectableChecked === 'show' ? 'Shown' : 'Hidden'}`;
37
+ return this._buttonText ? this._buttonText : defaultText;
38
+ }
39
+ set buttonText(value) {
40
+ this._buttonText = value;
41
+ }
42
+ get pinOptions() {
43
+ return this._pinOptions;
44
+ }
45
+ set pinOptions(value) {
46
+ if (value.length > 0) {
47
+ this._pinOptions = value;
48
+ }
49
+ }
50
+ _handleDroped(e) {
51
+ moveItemInArray(this.columns, e.previousIndex, e.currentIndex);
52
+ this.columnChange.emit(this.columns);
53
+ }
54
+ _handleChecked(e) {
55
+ this.columnChange.emit(this.columns);
56
+ }
57
+ _handlePinSelect(col, val) {
58
+ if (col.pinned != val) {
59
+ col.pinned = val;
60
+ this.columnChange.emit(this.columns);
61
+ }
62
+ }
63
+ }
64
+ /** @nocollapse */ MtxGridColumnMenu.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: MtxGridColumnMenu, deps: [], target: i0.ɵɵFactoryTarget.Component });
65
+ /** @nocollapse */ MtxGridColumnMenu.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.2", type: MtxGridColumnMenu, selector: "mtx-grid-column-menu", inputs: { columns: "columns", selectable: "selectable", selectableChecked: "selectableChecked", sortable: "sortable", pinnable: "pinnable", buttonText: "buttonText", buttonType: "buttonType", buttonColor: "buttonColor", buttonClass: "buttonClass", buttonIcon: "buttonIcon", showHeader: "showHeader", headerText: "headerText", headerTemplate: "headerTemplate", showFooter: "showFooter", footerText: "footerText", footerTemplate: "footerTemplate", pinOptions: "pinOptions" }, outputs: { columnChange: "columnChange" }, viewQueries: [{ propertyName: "menuPanel", first: true, predicate: ["menu"], descendants: true, static: true }, { propertyName: "menuTrigger", first: true, predicate: MatMenuTrigger, descendants: true }], exportAs: ["mtxGridColumnMenu"], ngImport: i0, template: "<ng-container [ngSwitch]=\"buttonType\">\r\n <ng-container *ngSwitchCase=\"'raised'\">\r\n <button [ngClass]=\"buttonClass\" mat-raised-button [color]=\"buttonColor\"\r\n [matMenuTriggerFor]=\"menu\">\r\n <mat-icon *ngIf=\"buttonIcon\">{{buttonIcon}}</mat-icon> {{buttonText}}\r\n </button>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'stroked'\">\r\n <button [ngClass]=\"buttonClass\" mat-stroked-button [color]=\"buttonColor\"\r\n [matMenuTriggerFor]=\"menu\">\r\n <mat-icon *ngIf=\"buttonIcon\">{{buttonIcon}}</mat-icon> {{buttonText}}\r\n </button>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'flat'\">\r\n <button [ngClass]=\"buttonClass\" mat-flat-button [color]=\"buttonColor\"\r\n [matMenuTriggerFor]=\"menu\">\r\n <mat-icon *ngIf=\"buttonIcon\">{{buttonIcon}}</mat-icon> {{buttonText}}\r\n </button>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'icon'\">\r\n <button [ngClass]=\"buttonClass\" mat-icon-button [color]=\"buttonColor\"\r\n [matMenuTriggerFor]=\"menu\">\r\n <mat-icon *ngIf=\"buttonIcon\">{{buttonIcon}}</mat-icon>\r\n </button>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'fab'\">\r\n <button [ngClass]=\"buttonClass\" mat-fab [color]=\"buttonColor\" [matMenuTriggerFor]=\"menu\">\r\n <mat-icon *ngIf=\"buttonIcon\">{{buttonIcon}}</mat-icon> {{buttonText}}\r\n </button>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'mini-fab'\">\r\n <button [ngClass]=\"buttonClass\" mat-mini-fab [color]=\"buttonColor\"\r\n [matMenuTriggerFor]=\"menu\">\r\n <mat-icon *ngIf=\"buttonIcon\">{{buttonIcon}}</mat-icon> {{buttonText}}\r\n </button>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <button [ngClass]=\"buttonClass\" mat-button [color]=\"buttonColor\" [matMenuTriggerFor]=\"menu\">\r\n <mat-icon *ngIf=\"buttonIcon\">{{buttonIcon}}</mat-icon> {{buttonText}}\r\n </button>\r\n </ng-container>\r\n</ng-container>\r\n\r\n<mat-menu #menu=\"matMenu\" class=\"mtx-grid-column-menu\">\r\n <div class=\"mtx-grid-column-menu-content\"\r\n (click)=\"$event.stopPropagation()\" (keydown)=\"$event.stopPropagation()\">\r\n <div class=\"mtx-grid-column-menu-header\" *ngIf=\"showHeader\">\r\n <ng-template [ngIf]=\"headerTemplate\" [ngIfElse]=\"defaultHeaderTpl\">\r\n <ng-template [ngTemplateOutlet]=\"headerTemplate\"></ng-template>\r\n </ng-template>\r\n <ng-template #defaultHeaderTpl>{{headerText}}</ng-template>\r\n </div>\r\n\r\n <div class=\"mtx-grid-column-menu-body\">\r\n <div class=\"mtx-grid-column-menu-list\" *ngIf=\"sortable\"\r\n cdkDropList (cdkDropListDropped)=\"_handleDroped($event)\">\r\n <div class=\"mtx-grid-column-menu-item\" *ngFor=\"let col of columns\"\r\n cdkDrag [cdkDragDisabled]=\"selectableChecked === 'show'? !col.show : col.hide\">\r\n <svg class=\"mtx-grid-icon mtx-grid-column-drag-handle-icon\" viewBox=\"0 0 24 24\"\r\n width=\"24px\" height=\"24px\" fill=\"currentColor\" focusable=\"false\">\r\n <path\r\n d=\"M7,19V17H9V19H7M11,19V17H13V19H11M15,19V17H17V19H15M7,15V13H9V15H7M11,15V13H13V15H11M15,15V13H17V15H15M7,11V9H9V11H7M11,11V9H13V11H11M15,11V9H17V11H15M7,7V5H9V7H7M11,7V5H13V7H11M15,7V5H17V7H15Z\">\r\n </path>\r\n </svg>\r\n <ng-template [ngTemplateOutlet]=\"checkboxList\"\r\n [ngTemplateOutletContext]=\"{ $implicit: col }\">\r\n </ng-template>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mtx-grid-column-menu-list\" *ngIf=\"!sortable\">\r\n <div class=\"mtx-grid-column-menu-item\" *ngFor=\"let col of columns\">\r\n <ng-template [ngTemplateOutlet]=\"checkboxList\"\r\n [ngTemplateOutletContext]=\"{ $implicit: col }\">\r\n </ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mtx-grid-column-menu-footer\" *ngIf=\"showFooter\">\r\n <ng-template [ngIf]=\"footerTemplate\" [ngIfElse]=\"defaultFooterTpl\">\r\n <ng-template [ngTemplateOutlet]=\"footerTemplate\"></ng-template>\r\n </ng-template>\r\n <ng-template #defaultFooterTpl>{{footerText}}</ng-template>\r\n </div>\r\n </div>\r\n</mat-menu>\r\n\r\n<ng-template #checkboxList let-col>\r\n <ng-container *ngIf=\"pinnable\">\r\n <button class=\"mtx-grid-column-pin-button\" mat-icon-button [matMenuTriggerFor]=\"pinList\">\r\n <svg class=\"mtx-grid-icon mtx-grid-column-pin-icon\" *ngIf=\"col.pinned\"\r\n viewBox=\"0 0 24 24\" width=\"24px\" height=\"24px\" fill=\"currentColor\" focusable=\"false\">\r\n <path d=\"M16,12V4H17V2H7V4H8V12L6,14V16H11.2V22H12.8V16H18V14L16,12Z\" />\r\n </svg>\r\n <svg class=\"mtx-grid-icon mtx-grid-column-pin-off-icon\" *ngIf=\"!col.pinned\"\r\n viewBox=\"0 0 24 24\" width=\"24px\" height=\"24px\" fill=\"currentColor\" focusable=\"false\">\r\n <path\r\n d=\"M2,5.27L3.28,4L20,20.72L18.73,22L12.8,16.07V22H11.2V16H6V14L8,12V11.27L2,5.27M16,12L18,14V16H17.82L8,6.18V4H7V2H17V4H16V12Z\" />\r\n </svg>\r\n </button>\r\n <mat-menu #pinList=\"matMenu\" class=\"mtx-grid-column-pin-list\">\r\n <button class=\"mtx-grid-column-pin-option\" *ngFor=\"let item of pinOptions\" mat-menu-item\r\n (click)=\"_handlePinSelect(col, item.value)\">\r\n <span class=\"mtx-grid-column-pin-option-placeholder\">\r\n <!-- eslint-disable-next-line @angular-eslint/template/eqeqeq -->\r\n <svg class=\"mtx-grid-icon mtx-grid-column-pin-check-icon\" *ngIf=\"col.pinned==item.value\"\r\n viewBox=\"0 0 24 24\" width=\"24px\" height=\"24px\" fill=\"currentColor\" focusable=\"false\">\r\n <path d=\"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z\" />\r\n </svg>\r\n </span>\r\n <span class=\"mtx-grid-column-pin-option-text\">{{item.label | toObservable | async}}</span>\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n\r\n <mat-checkbox class=\"mtx-grid-column-menu-item-label\" *ngIf=\"selectable\"\r\n [(ngModel)]=\"col[selectableChecked]\" [disabled]=\"col.disabled\"\r\n (change)=\"_handleChecked($event)\">\r\n {{col.header | toObservable | async}}\r\n </mat-checkbox>\r\n <span class=\"mtx-grid-column-menu-item-label\" *ngIf=\"!selectable\">\r\n {{col.header | toObservable | async}}\r\n </span>\r\n</ng-template>\r\n", styles: [".mtx-grid-column-menu .mat-menu-content{padding:0}.mtx-grid-column-menu-body{padding:8px 16px}.mtx-grid-column-menu-header,.mtx-grid-column-menu-footer{position:sticky;z-index:1;padding:8px 16px}.mtx-grid-column-menu-header{top:0}.mtx-grid-column-menu-footer{bottom:0}.mtx-grid-column-menu-list{display:block;max-width:100%}.mtx-grid-column-menu-list.cdk-drop-list-dragging .mtx-grid-column-menu-item:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.mtx-grid-column-menu-item{display:flex;flex-direction:row;align-items:center}.mtx-grid-column-menu-item.cdk-drag-disabled .cdk-drag-handle{opacity:.35;cursor:no-drop}.mtx-grid-column-menu-item .cdk-drag-handle{cursor:move}.mtx-grid-column-menu-item.cdk-drag-preview{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.mtx-grid-column-menu-item.cdk-drag-placeholder{opacity:0}.mtx-grid-column-menu-item.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.mtx-grid-column-pin-button.mat-mdc-icon-button{width:40px;height:40px;padding:8px}.mtx-grid-column-pin-option.mat-menu-item{display:flex;align-items:center;height:32px}.mtx-grid-column-pin-option-placeholder{display:inline-block;width:20px;height:20px;line-height:20px;vertical-align:middle}.mtx-grid-column-pin-option-text{padding:0 8px;vertical-align:middle}.mtx-grid-column-drag-handle-icon:hover{cursor:move}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatMiniFabButton, selector: "button[mat-mini-fab]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatFabButton, selector: "button[mat-fab]", inputs: ["disabled", "disableRipple", "color", "tabIndex", "extended"], exportAs: ["matButton"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i6.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i6.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i7.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i7.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.MtxToObservablePipe, name: "toObservable" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: MtxGridColumnMenu, decorators: [{
67
+ type: Component,
68
+ args: [{ selector: 'mtx-grid-column-menu', exportAs: 'mtxGridColumnMenu', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container [ngSwitch]=\"buttonType\">\r\n <ng-container *ngSwitchCase=\"'raised'\">\r\n <button [ngClass]=\"buttonClass\" mat-raised-button [color]=\"buttonColor\"\r\n [matMenuTriggerFor]=\"menu\">\r\n <mat-icon *ngIf=\"buttonIcon\">{{buttonIcon}}</mat-icon> {{buttonText}}\r\n </button>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'stroked'\">\r\n <button [ngClass]=\"buttonClass\" mat-stroked-button [color]=\"buttonColor\"\r\n [matMenuTriggerFor]=\"menu\">\r\n <mat-icon *ngIf=\"buttonIcon\">{{buttonIcon}}</mat-icon> {{buttonText}}\r\n </button>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'flat'\">\r\n <button [ngClass]=\"buttonClass\" mat-flat-button [color]=\"buttonColor\"\r\n [matMenuTriggerFor]=\"menu\">\r\n <mat-icon *ngIf=\"buttonIcon\">{{buttonIcon}}</mat-icon> {{buttonText}}\r\n </button>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'icon'\">\r\n <button [ngClass]=\"buttonClass\" mat-icon-button [color]=\"buttonColor\"\r\n [matMenuTriggerFor]=\"menu\">\r\n <mat-icon *ngIf=\"buttonIcon\">{{buttonIcon}}</mat-icon>\r\n </button>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'fab'\">\r\n <button [ngClass]=\"buttonClass\" mat-fab [color]=\"buttonColor\" [matMenuTriggerFor]=\"menu\">\r\n <mat-icon *ngIf=\"buttonIcon\">{{buttonIcon}}</mat-icon> {{buttonText}}\r\n </button>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'mini-fab'\">\r\n <button [ngClass]=\"buttonClass\" mat-mini-fab [color]=\"buttonColor\"\r\n [matMenuTriggerFor]=\"menu\">\r\n <mat-icon *ngIf=\"buttonIcon\">{{buttonIcon}}</mat-icon> {{buttonText}}\r\n </button>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <button [ngClass]=\"buttonClass\" mat-button [color]=\"buttonColor\" [matMenuTriggerFor]=\"menu\">\r\n <mat-icon *ngIf=\"buttonIcon\">{{buttonIcon}}</mat-icon> {{buttonText}}\r\n </button>\r\n </ng-container>\r\n</ng-container>\r\n\r\n<mat-menu #menu=\"matMenu\" class=\"mtx-grid-column-menu\">\r\n <div class=\"mtx-grid-column-menu-content\"\r\n (click)=\"$event.stopPropagation()\" (keydown)=\"$event.stopPropagation()\">\r\n <div class=\"mtx-grid-column-menu-header\" *ngIf=\"showHeader\">\r\n <ng-template [ngIf]=\"headerTemplate\" [ngIfElse]=\"defaultHeaderTpl\">\r\n <ng-template [ngTemplateOutlet]=\"headerTemplate\"></ng-template>\r\n </ng-template>\r\n <ng-template #defaultHeaderTpl>{{headerText}}</ng-template>\r\n </div>\r\n\r\n <div class=\"mtx-grid-column-menu-body\">\r\n <div class=\"mtx-grid-column-menu-list\" *ngIf=\"sortable\"\r\n cdkDropList (cdkDropListDropped)=\"_handleDroped($event)\">\r\n <div class=\"mtx-grid-column-menu-item\" *ngFor=\"let col of columns\"\r\n cdkDrag [cdkDragDisabled]=\"selectableChecked === 'show'? !col.show : col.hide\">\r\n <svg class=\"mtx-grid-icon mtx-grid-column-drag-handle-icon\" viewBox=\"0 0 24 24\"\r\n width=\"24px\" height=\"24px\" fill=\"currentColor\" focusable=\"false\">\r\n <path\r\n d=\"M7,19V17H9V19H7M11,19V17H13V19H11M15,19V17H17V19H15M7,15V13H9V15H7M11,15V13H13V15H11M15,15V13H17V15H15M7,11V9H9V11H7M11,11V9H13V11H11M15,11V9H17V11H15M7,7V5H9V7H7M11,7V5H13V7H11M15,7V5H17V7H15Z\">\r\n </path>\r\n </svg>\r\n <ng-template [ngTemplateOutlet]=\"checkboxList\"\r\n [ngTemplateOutletContext]=\"{ $implicit: col }\">\r\n </ng-template>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mtx-grid-column-menu-list\" *ngIf=\"!sortable\">\r\n <div class=\"mtx-grid-column-menu-item\" *ngFor=\"let col of columns\">\r\n <ng-template [ngTemplateOutlet]=\"checkboxList\"\r\n [ngTemplateOutletContext]=\"{ $implicit: col }\">\r\n </ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mtx-grid-column-menu-footer\" *ngIf=\"showFooter\">\r\n <ng-template [ngIf]=\"footerTemplate\" [ngIfElse]=\"defaultFooterTpl\">\r\n <ng-template [ngTemplateOutlet]=\"footerTemplate\"></ng-template>\r\n </ng-template>\r\n <ng-template #defaultFooterTpl>{{footerText}}</ng-template>\r\n </div>\r\n </div>\r\n</mat-menu>\r\n\r\n<ng-template #checkboxList let-col>\r\n <ng-container *ngIf=\"pinnable\">\r\n <button class=\"mtx-grid-column-pin-button\" mat-icon-button [matMenuTriggerFor]=\"pinList\">\r\n <svg class=\"mtx-grid-icon mtx-grid-column-pin-icon\" *ngIf=\"col.pinned\"\r\n viewBox=\"0 0 24 24\" width=\"24px\" height=\"24px\" fill=\"currentColor\" focusable=\"false\">\r\n <path d=\"M16,12V4H17V2H7V4H8V12L6,14V16H11.2V22H12.8V16H18V14L16,12Z\" />\r\n </svg>\r\n <svg class=\"mtx-grid-icon mtx-grid-column-pin-off-icon\" *ngIf=\"!col.pinned\"\r\n viewBox=\"0 0 24 24\" width=\"24px\" height=\"24px\" fill=\"currentColor\" focusable=\"false\">\r\n <path\r\n d=\"M2,5.27L3.28,4L20,20.72L18.73,22L12.8,16.07V22H11.2V16H6V14L8,12V11.27L2,5.27M16,12L18,14V16H17.82L8,6.18V4H7V2H17V4H16V12Z\" />\r\n </svg>\r\n </button>\r\n <mat-menu #pinList=\"matMenu\" class=\"mtx-grid-column-pin-list\">\r\n <button class=\"mtx-grid-column-pin-option\" *ngFor=\"let item of pinOptions\" mat-menu-item\r\n (click)=\"_handlePinSelect(col, item.value)\">\r\n <span class=\"mtx-grid-column-pin-option-placeholder\">\r\n <!-- eslint-disable-next-line @angular-eslint/template/eqeqeq -->\r\n <svg class=\"mtx-grid-icon mtx-grid-column-pin-check-icon\" *ngIf=\"col.pinned==item.value\"\r\n viewBox=\"0 0 24 24\" width=\"24px\" height=\"24px\" fill=\"currentColor\" focusable=\"false\">\r\n <path d=\"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z\" />\r\n </svg>\r\n </span>\r\n <span class=\"mtx-grid-column-pin-option-text\">{{item.label | toObservable | async}}</span>\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n\r\n <mat-checkbox class=\"mtx-grid-column-menu-item-label\" *ngIf=\"selectable\"\r\n [(ngModel)]=\"col[selectableChecked]\" [disabled]=\"col.disabled\"\r\n (change)=\"_handleChecked($event)\">\r\n {{col.header | toObservable | async}}\r\n </mat-checkbox>\r\n <span class=\"mtx-grid-column-menu-item-label\" *ngIf=\"!selectable\">\r\n {{col.header | toObservable | async}}\r\n </span>\r\n</ng-template>\r\n", styles: [".mtx-grid-column-menu .mat-menu-content{padding:0}.mtx-grid-column-menu-body{padding:8px 16px}.mtx-grid-column-menu-header,.mtx-grid-column-menu-footer{position:sticky;z-index:1;padding:8px 16px}.mtx-grid-column-menu-header{top:0}.mtx-grid-column-menu-footer{bottom:0}.mtx-grid-column-menu-list{display:block;max-width:100%}.mtx-grid-column-menu-list.cdk-drop-list-dragging .mtx-grid-column-menu-item:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.mtx-grid-column-menu-item{display:flex;flex-direction:row;align-items:center}.mtx-grid-column-menu-item.cdk-drag-disabled .cdk-drag-handle{opacity:.35;cursor:no-drop}.mtx-grid-column-menu-item .cdk-drag-handle{cursor:move}.mtx-grid-column-menu-item.cdk-drag-preview{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.mtx-grid-column-menu-item.cdk-drag-placeholder{opacity:0}.mtx-grid-column-menu-item.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.mtx-grid-column-pin-button.mat-mdc-icon-button{width:40px;height:40px;padding:8px}.mtx-grid-column-pin-option.mat-menu-item{display:flex;align-items:center;height:32px}.mtx-grid-column-pin-option-placeholder{display:inline-block;width:20px;height:20px;line-height:20px;vertical-align:middle}.mtx-grid-column-pin-option-text{padding:0 8px;vertical-align:middle}.mtx-grid-column-drag-handle-icon:hover{cursor:move}\n"] }]
69
+ }], propDecorators: { menuPanel: [{
70
+ type: ViewChild,
71
+ args: ['menu', { static: true }]
72
+ }], menuTrigger: [{
73
+ type: ViewChild,
74
+ args: [MatMenuTrigger]
75
+ }], columns: [{
76
+ type: Input
77
+ }], selectable: [{
78
+ type: Input
79
+ }], selectableChecked: [{
80
+ type: Input
81
+ }], sortable: [{
82
+ type: Input
83
+ }], pinnable: [{
84
+ type: Input
85
+ }], buttonText: [{
86
+ type: Input
87
+ }], buttonType: [{
88
+ type: Input
89
+ }], buttonColor: [{
90
+ type: Input
91
+ }], buttonClass: [{
92
+ type: Input
93
+ }], buttonIcon: [{
94
+ type: Input
95
+ }], showHeader: [{
96
+ type: Input
97
+ }], headerText: [{
98
+ type: Input
99
+ }], headerTemplate: [{
100
+ type: Input
101
+ }], showFooter: [{
102
+ type: Input
103
+ }], footerText: [{
104
+ type: Input
105
+ }], footerTemplate: [{
106
+ type: Input
107
+ }], columnChange: [{
108
+ type: Output
109
+ }], pinOptions: [{
110
+ type: Input
111
+ }] } });
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLW1lbnUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9leHRlbnNpb25zL2dyaWQvY29sdW1uLW1lbnUudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9leHRlbnNpb25zL2dyaWQvY29sdW1uLW1lbnUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBQ3ZCLE1BQU0sRUFDTixZQUFZLEVBRVosU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBZSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV0RSxPQUFPLEVBQVcsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7Ozs7QUFpQmpFLE1BQU0sT0FBTyxpQkFBaUI7SUFSOUI7UUFZVyxZQUFPLEdBQW9CLEVBQUUsQ0FBQztRQUM5QixlQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLHNCQUFpQixHQUFvQixNQUFNLENBQUM7UUFDNUMsYUFBUSxHQUFHLElBQUksQ0FBQztRQUNoQixhQUFRLEdBQUcsSUFBSSxDQUFDO1FBVWpCLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBRWhCLGVBQVUsR0FBc0IsU0FBUyxDQUFDO1FBRTFDLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFFaEIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixlQUFVLEdBQUcsZ0JBQWdCLENBQUM7UUFFOUIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixlQUFVLEdBQUcsZ0JBQWdCLENBQUM7UUFHN0IsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBbUIsQ0FBQztRQVdyRCxnQkFBVyxHQUE2QjtZQUM5QyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtZQUNwQyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTtZQUN0QyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtTQUNqQyxDQUFDO0tBaUJIO0lBdERDLElBQ0ksVUFBVTtRQUNaLE1BQU0sV0FBVyxHQUFHLFdBQVcsSUFBSSxDQUFDLGlCQUFpQixLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN4RixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztJQUMzRCxDQUFDO0lBQ0QsSUFBSSxVQUFVLENBQUMsS0FBYTtRQUMxQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUMzQixDQUFDO0lBaUJELElBQ0ksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBQ0QsSUFBSSxVQUFVLENBQUMsS0FBK0I7UUFDNUMsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNwQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztTQUMxQjtJQUNILENBQUM7SUFPRCxhQUFhLENBQUMsQ0FBd0I7UUFDcEMsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDL0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxjQUFjLENBQUMsQ0FBb0I7UUFDakMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxHQUFrQixFQUFFLEdBQTBCO1FBQzdELElBQUksR0FBRyxDQUFDLE1BQU0sSUFBSSxHQUFHLEVBQUU7WUFDckIsR0FBRyxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUM7WUFDakIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3RDO0lBQ0gsQ0FBQzs7aUlBL0RVLGlCQUFpQjtxSEFBakIsaUJBQWlCLGd0QkFFakIsY0FBYyxpRkMvQjNCLDQ3TUE2SEE7MkZEaEdhLGlCQUFpQjtrQkFSN0IsU0FBUzsrQkFDRSxzQkFBc0IsWUFDdEIsbUJBQW1CLGlCQUdkLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07OEJBR1YsU0FBUztzQkFBN0MsU0FBUzt1QkFBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNSLFdBQVc7c0JBQXJDLFNBQVM7dUJBQUMsY0FBYztnQkFFaEIsT0FBTztzQkFBZixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFHRixVQUFVO3NCQURiLEtBQUs7Z0JBVUcsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFFSSxZQUFZO3NCQUFyQixNQUFNO2dCQUdILFVBQVU7c0JBRGIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AsIG1vdmVJdGVtSW5BcnJheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgTWF0Q2hlY2tib3hDaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XG5pbXBvcnQgeyBNYXRNZW51LCBNYXRNZW51VHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuaW1wb3J0IHsgVGhlbWVQYWxldHRlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQge1xuICBNdHhHcmlkQnV0dG9uVHlwZSxcbiAgTXR4R3JpZENvbHVtbixcbiAgTXR4R3JpZENvbHVtblBpbk9wdGlvbixcbiAgTXR4R3JpZENvbHVtblBpblZhbHVlLFxufSBmcm9tICcuL2ludGVyZmFjZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtdHgtZ3JpZC1jb2x1bW4tbWVudScsXG4gIGV4cG9ydEFzOiAnbXR4R3JpZENvbHVtbk1lbnUnLFxuICB0ZW1wbGF0ZVVybDogJy4vY29sdW1uLW1lbnUuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbHVtbi1tZW51LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE10eEdyaWRDb2x1bW5NZW51IHtcbiAgQFZpZXdDaGlsZCgnbWVudScsIHsgc3RhdGljOiB0cnVlIH0pIG1lbnVQYW5lbCE6IE1hdE1lbnU7XG4gIEBWaWV3Q2hpbGQoTWF0TWVudVRyaWdnZXIpIG1lbnVUcmlnZ2VyITogTWF0TWVudVRyaWdnZXI7XG5cbiAgQElucHV0KCkgY29sdW1uczogTXR4R3JpZENvbHVtbltdID0gW107XG4gIEBJbnB1dCgpIHNlbGVjdGFibGUgPSB0cnVlO1xuICBASW5wdXQoKSBzZWxlY3RhYmxlQ2hlY2tlZDogJ3Nob3cnIHwgJ2hpZGUnID0gJ3Nob3cnO1xuICBASW5wdXQoKSBzb3J0YWJsZSA9IHRydWU7XG4gIEBJbnB1dCgpIHBpbm5hYmxlID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBnZXQgYnV0dG9uVGV4dCgpIHtcbiAgICBjb25zdCBkZWZhdWx0VGV4dCA9IGBDb2x1bW5zICR7dGhpcy5zZWxlY3RhYmxlQ2hlY2tlZCA9PT0gJ3Nob3cnID8gJ1Nob3duJyA6ICdIaWRkZW4nfWA7XG4gICAgcmV0dXJuIHRoaXMuX2J1dHRvblRleHQgPyB0aGlzLl9idXR0b25UZXh0IDogZGVmYXVsdFRleHQ7XG4gIH1cbiAgc2V0IGJ1dHRvblRleHQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2J1dHRvblRleHQgPSB2YWx1ZTtcbiAgfVxuICBwcml2YXRlIF9idXR0b25UZXh0ID0gJyc7XG5cbiAgQElucHV0KCkgYnV0dG9uVHlwZTogTXR4R3JpZEJ1dHRvblR5cGUgPSAnc3Ryb2tlZCc7XG4gIEBJbnB1dCgpIGJ1dHRvbkNvbG9yOiBUaGVtZVBhbGV0dGU7XG4gIEBJbnB1dCgpIGJ1dHRvbkNsYXNzID0gJyc7XG4gIEBJbnB1dCgpIGJ1dHRvbkljb24gPSAnJztcblxuICBASW5wdXQoKSBzaG93SGVhZGVyID0gZmFsc2U7XG4gIEBJbnB1dCgpIGhlYWRlclRleHQgPSAnQ29sdW1ucyBIZWFkZXInO1xuICBASW5wdXQoKSBoZWFkZXJUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XG4gIEBJbnB1dCgpIHNob3dGb290ZXIgPSBmYWxzZTtcbiAgQElucHV0KCkgZm9vdGVyVGV4dCA9ICdDb2x1bW5zIEZvb3Rlcic7XG4gIEBJbnB1dCgpIGZvb3RlclRlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAT3V0cHV0KCkgY29sdW1uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxNdHhHcmlkQ29sdW1uW10+KCk7XG5cbiAgQElucHV0KClcbiAgZ2V0IHBpbk9wdGlvbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3Bpbk9wdGlvbnM7XG4gIH1cbiAgc2V0IHBpbk9wdGlvbnModmFsdWU6IE10eEdyaWRDb2x1bW5QaW5PcHRpb25bXSkge1xuICAgIGlmICh2YWx1ZS5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLl9waW5PcHRpb25zID0gdmFsdWU7XG4gICAgfVxuICB9XG4gIHByaXZhdGUgX3Bpbk9wdGlvbnM6IE10eEdyaWRDb2x1bW5QaW5PcHRpb25bXSA9IFtcbiAgICB7IGxhYmVsOiAnUGluIExlZnQnLCB2YWx1ZTogJ2xlZnQnIH0sXG4gICAgeyBsYWJlbDogJ1BpbiBSaWdodCcsIHZhbHVlOiAncmlnaHQnIH0sXG4gICAgeyBsYWJlbDogJ05vIFBpbicsIHZhbHVlOiBudWxsIH0sXG4gIF07XG5cbiAgX2hhbmRsZURyb3BlZChlOiBDZGtEcmFnRHJvcDxzdHJpbmdbXT4pIHtcbiAgICBtb3ZlSXRlbUluQXJyYXkodGhpcy5jb2x1bW5zLCBlLnByZXZpb3VzSW5kZXgsIGUuY3VycmVudEluZGV4KTtcbiAgICB0aGlzLmNvbHVtbkNoYW5nZS5lbWl0KHRoaXMuY29sdW1ucyk7XG4gIH1cblxuICBfaGFuZGxlQ2hlY2tlZChlOiBNYXRDaGVja2JveENoYW5nZSkge1xuICAgIHRoaXMuY29sdW1uQ2hhbmdlLmVtaXQodGhpcy5jb2x1bW5zKTtcbiAgfVxuXG4gIF9oYW5kbGVQaW5TZWxlY3QoY29sOiBNdHhHcmlkQ29sdW1uLCB2YWw6IE10eEdyaWRDb2x1bW5QaW5WYWx1ZSkge1xuICAgIGlmIChjb2wucGlubmVkICE9IHZhbCkge1xuICAgICAgY29sLnBpbm5lZCA9IHZhbDtcbiAgICAgIHRoaXMuY29sdW1uQ2hhbmdlLmVtaXQodGhpcy5jb2x1bW5zKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImJ1dHRvblR5cGVcIj5cclxuICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIncmFpc2VkJ1wiPlxyXG4gICAgPGJ1dHRvbiBbbmdDbGFzc109XCJidXR0b25DbGFzc1wiIG1hdC1yYWlzZWQtYnV0dG9uIFtjb2xvcl09XCJidXR0b25Db2xvclwiXHJcbiAgICAgICAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51XCI+XHJcbiAgICAgIDxtYXQtaWNvbiAqbmdJZj1cImJ1dHRvbkljb25cIj57e2J1dHRvbkljb259fTwvbWF0LWljb24+IHt7YnV0dG9uVGV4dH19XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInc3Ryb2tlZCdcIj5cclxuICAgIDxidXR0b24gW25nQ2xhc3NdPVwiYnV0dG9uQ2xhc3NcIiBtYXQtc3Ryb2tlZC1idXR0b24gW2NvbG9yXT1cImJ1dHRvbkNvbG9yXCJcclxuICAgICAgICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIj5cclxuICAgICAgPG1hdC1pY29uICpuZ0lmPVwiYnV0dG9uSWNvblwiPnt7YnV0dG9uSWNvbn19PC9tYXQtaWNvbj4ge3tidXR0b25UZXh0fX1cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidmbGF0J1wiPlxyXG4gICAgPGJ1dHRvbiBbbmdDbGFzc109XCJidXR0b25DbGFzc1wiIG1hdC1mbGF0LWJ1dHRvbiBbY29sb3JdPVwiYnV0dG9uQ29sb3JcIlxyXG4gICAgICAgICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiPlxyXG4gICAgICA8bWF0LWljb24gKm5nSWY9XCJidXR0b25JY29uXCI+e3tidXR0b25JY29ufX08L21hdC1pY29uPiB7e2J1dHRvblRleHR9fVxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2ljb24nXCI+XHJcbiAgICA8YnV0dG9uIFtuZ0NsYXNzXT1cImJ1dHRvbkNsYXNzXCIgbWF0LWljb24tYnV0dG9uIFtjb2xvcl09XCJidXR0b25Db2xvclwiXHJcbiAgICAgICAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51XCI+XHJcbiAgICAgIDxtYXQtaWNvbiAqbmdJZj1cImJ1dHRvbkljb25cIj57e2J1dHRvbkljb259fTwvbWF0LWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZmFiJ1wiPlxyXG4gICAgPGJ1dHRvbiBbbmdDbGFzc109XCJidXR0b25DbGFzc1wiIG1hdC1mYWIgW2NvbG9yXT1cImJ1dHRvbkNvbG9yXCIgW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIj5cclxuICAgICAgPG1hdC1pY29uICpuZ0lmPVwiYnV0dG9uSWNvblwiPnt7YnV0dG9uSWNvbn19PC9tYXQtaWNvbj4ge3tidXR0b25UZXh0fX1cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidtaW5pLWZhYidcIj5cclxuICAgIDxidXR0b24gW25nQ2xhc3NdPVwiYnV0dG9uQ2xhc3NcIiBtYXQtbWluaS1mYWIgW2NvbG9yXT1cImJ1dHRvbkNvbG9yXCJcclxuICAgICAgICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIj5cclxuICAgICAgPG1hdC1pY29uICpuZ0lmPVwiYnV0dG9uSWNvblwiPnt7YnV0dG9uSWNvbn19PC9tYXQtaWNvbj4ge3tidXR0b25UZXh0fX1cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cclxuICAgIDxidXR0b24gW25nQ2xhc3NdPVwiYnV0dG9uQ2xhc3NcIiBtYXQtYnV0dG9uIFtjb2xvcl09XCJidXR0b25Db2xvclwiIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51XCI+XHJcbiAgICAgIDxtYXQtaWNvbiAqbmdJZj1cImJ1dHRvbkljb25cIj57e2J1dHRvbkljb259fTwvbWF0LWljb24+IHt7YnV0dG9uVGV4dH19XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9uZy1jb250YWluZXI+XHJcblxyXG48bWF0LW1lbnUgI21lbnU9XCJtYXRNZW51XCIgY2xhc3M9XCJtdHgtZ3JpZC1jb2x1bW4tbWVudVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJtdHgtZ3JpZC1jb2x1bW4tbWVudS1jb250ZW50XCJcclxuICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIiAoa2V5ZG93bik9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtdHgtZ3JpZC1jb2x1bW4tbWVudS1oZWFkZXJcIiAqbmdJZj1cInNob3dIZWFkZXJcIj5cclxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cImhlYWRlclRlbXBsYXRlXCIgW25nSWZFbHNlXT1cImRlZmF1bHRIZWFkZXJUcGxcIj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiaGVhZGVyVGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRIZWFkZXJUcGw+e3toZWFkZXJUZXh0fX08L25nLXRlbXBsYXRlPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cIm10eC1ncmlkLWNvbHVtbi1tZW51LWJvZHlcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm10eC1ncmlkLWNvbHVtbi1tZW51LWxpc3RcIiAqbmdJZj1cInNvcnRhYmxlXCJcclxuICAgICAgICAgICBjZGtEcm9wTGlzdCAoY2RrRHJvcExpc3REcm9wcGVkKT1cIl9oYW5kbGVEcm9wZWQoJGV2ZW50KVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtdHgtZ3JpZC1jb2x1bW4tbWVudS1pdGVtXCIgKm5nRm9yPVwibGV0IGNvbCBvZiBjb2x1bW5zXCJcclxuICAgICAgICAgICAgIGNka0RyYWcgW2Nka0RyYWdEaXNhYmxlZF09XCJzZWxlY3RhYmxlQ2hlY2tlZCA9PT0gJ3Nob3cnPyAhY29sLnNob3cgOiBjb2wuaGlkZVwiPlxyXG4gICAgICAgICAgPHN2ZyBjbGFzcz1cIm10eC1ncmlkLWljb24gbXR4LWdyaWQtY29sdW1uLWRyYWctaGFuZGxlLWljb25cIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcclxuICAgICAgICAgICAgICAgd2lkdGg9XCIyNHB4XCIgaGVpZ2h0PVwiMjRweFwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIiBmb2N1c2FibGU9XCJmYWxzZVwiPlxyXG4gICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICBkPVwiTTcsMTlWMTdIOVYxOUg3TTExLDE5VjE3SDEzVjE5SDExTTE1LDE5VjE3SDE3VjE5SDE1TTcsMTVWMTNIOVYxNUg3TTExLDE1VjEzSDEzVjE1SDExTTE1LDE1VjEzSDE3VjE1SDE1TTcsMTFWOUg5VjExSDdNMTEsMTFWOUgxM1YxMUgxMU0xNSwxMVY5SDE3VjExSDE1TTcsN1Y1SDlWN0g3TTExLDdWNUgxM1Y3SDExTTE1LDdWNUgxN1Y3SDE1WlwiPlxyXG4gICAgICAgICAgICA8L3BhdGg+XHJcbiAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJjaGVja2JveExpc3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogY29sIH1cIj5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cIm10eC1ncmlkLWNvbHVtbi1tZW51LWxpc3RcIiAqbmdJZj1cIiFzb3J0YWJsZVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtdHgtZ3JpZC1jb2x1bW4tbWVudS1pdGVtXCIgKm5nRm9yPVwibGV0IGNvbCBvZiBjb2x1bW5zXCI+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiY2hlY2tib3hMaXN0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGNvbCB9XCI+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJtdHgtZ3JpZC1jb2x1bW4tbWVudS1mb290ZXJcIiAqbmdJZj1cInNob3dGb290ZXJcIj5cclxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cImZvb3RlclRlbXBsYXRlXCIgW25nSWZFbHNlXT1cImRlZmF1bHRGb290ZXJUcGxcIj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiZm9vdGVyVGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRGb290ZXJUcGw+e3tmb290ZXJUZXh0fX08L25nLXRlbXBsYXRlPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvbWF0LW1lbnU+XHJcblxyXG48bmctdGVtcGxhdGUgI2NoZWNrYm94TGlzdCBsZXQtY29sPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJwaW5uYWJsZVwiPlxyXG4gICAgPGJ1dHRvbiBjbGFzcz1cIm10eC1ncmlkLWNvbHVtbi1waW4tYnV0dG9uXCIgbWF0LWljb24tYnV0dG9uIFttYXRNZW51VHJpZ2dlckZvcl09XCJwaW5MaXN0XCI+XHJcbiAgICAgIDxzdmcgY2xhc3M9XCJtdHgtZ3JpZC1pY29uIG10eC1ncmlkLWNvbHVtbi1waW4taWNvblwiICpuZ0lmPVwiY29sLnBpbm5lZFwiXHJcbiAgICAgICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiIHdpZHRoPVwiMjRweFwiIGhlaWdodD1cIjI0cHhcIiBmaWxsPVwiY3VycmVudENvbG9yXCIgZm9jdXNhYmxlPVwiZmFsc2VcIj5cclxuICAgICAgICA8cGF0aCBkPVwiTTE2LDEyVjRIMTdWMkg3VjRIOFYxMkw2LDE0VjE2SDExLjJWMjJIMTIuOFYxNkgxOFYxNEwxNiwxMlpcIiAvPlxyXG4gICAgICA8L3N2Zz5cclxuICAgICAgPHN2ZyBjbGFzcz1cIm10eC1ncmlkLWljb24gbXR4LWdyaWQtY29sdW1uLXBpbi1vZmYtaWNvblwiICpuZ0lmPVwiIWNvbC5waW5uZWRcIlxyXG4gICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiB3aWR0aD1cIjI0cHhcIiBoZWlnaHQ9XCIyNHB4XCIgZmlsbD1cImN1cnJlbnRDb2xvclwiIGZvY3VzYWJsZT1cImZhbHNlXCI+XHJcbiAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICBkPVwiTTIsNS4yN0wzLjI4LDRMMjAsMjAuNzJMMTguNzMsMjJMMTIuOCwxNi4wN1YyMkgxMS4yVjE2SDZWMTRMOCwxMlYxMS4yN0wyLDUuMjdNMTYsMTJMMTgsMTRWMTZIMTcuODJMOCw2LjE4VjRIN1YySDE3VjRIMTZWMTJaXCIgLz5cclxuICAgICAgPC9zdmc+XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxtYXQtbWVudSAjcGluTGlzdD1cIm1hdE1lbnVcIiBjbGFzcz1cIm10eC1ncmlkLWNvbHVtbi1waW4tbGlzdFwiPlxyXG4gICAgICA8YnV0dG9uIGNsYXNzPVwibXR4LWdyaWQtY29sdW1uLXBpbi1vcHRpb25cIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBwaW5PcHRpb25zXCIgbWF0LW1lbnUtaXRlbVxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJfaGFuZGxlUGluU2VsZWN0KGNvbCwgaXRlbS52YWx1ZSlcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cIm10eC1ncmlkLWNvbHVtbi1waW4tb3B0aW9uLXBsYWNlaG9sZGVyXCI+XHJcbiAgICAgICAgICA8IS0tIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvdGVtcGxhdGUvZXFlcWVxIC0tPlxyXG4gICAgICAgICAgPHN2ZyBjbGFzcz1cIm10eC1ncmlkLWljb24gbXR4LWdyaWQtY29sdW1uLXBpbi1jaGVjay1pY29uXCIgKm5nSWY9XCJjb2wucGlubmVkPT1pdGVtLnZhbHVlXCJcclxuICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiIHdpZHRoPVwiMjRweFwiIGhlaWdodD1cIjI0cHhcIiBmaWxsPVwiY3VycmVudENvbG9yXCIgZm9jdXNhYmxlPVwiZmFsc2VcIj5cclxuICAgICAgICAgICAgPHBhdGggZD1cIk0yMSw3TDksMTlMMy41LDEzLjVMNC45MSwxMi4wOUw5LDE2LjE3TDE5LjU5LDUuNTlMMjEsN1pcIiAvPlxyXG4gICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwibXR4LWdyaWQtY29sdW1uLXBpbi1vcHRpb24tdGV4dFwiPnt7aXRlbS5sYWJlbCB8IHRvT2JzZXJ2YWJsZSB8IGFzeW5jfX08L3NwYW4+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9tYXQtbWVudT5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgPG1hdC1jaGVja2JveCBjbGFzcz1cIm10eC1ncmlkLWNvbHVtbi1tZW51LWl0ZW0tbGFiZWxcIiAqbmdJZj1cInNlbGVjdGFibGVcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJjb2xbc2VsZWN0YWJsZUNoZWNrZWRdXCIgW2Rpc2FibGVkXT1cImNvbC5kaXNhYmxlZFwiXHJcbiAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIl9oYW5kbGVDaGVja2VkKCRldmVudClcIj5cclxuICAgIHt7Y29sLmhlYWRlciB8IHRvT2JzZXJ2YWJsZSB8IGFzeW5jfX1cclxuICA8L21hdC1jaGVja2JveD5cclxuICA8c3BhbiBjbGFzcz1cIm10eC1ncmlkLWNvbHVtbi1tZW51LWl0ZW0tbGFiZWxcIiAqbmdJZj1cIiFzZWxlY3RhYmxlXCI+XHJcbiAgICB7e2NvbC5oZWFkZXIgfCB0b09ic2VydmFibGUgfCBhc3luY319XHJcbiAgPC9zcGFuPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
@@ -24,9 +24,9 @@ export class MatColumnResizeFlex extends AbstractMatColumnResize {
24
24
  this.notifier = notifier;
25
25
  }
26
26
  }
27
- /** @nocollapse */ MatColumnResizeFlex.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: MatColumnResizeFlex, deps: [{ token: i1.ColumnResizeNotifier }, { token: i0.ElementRef }, { token: i1.HeaderRowEventDispatcher }, { token: i0.NgZone }, { token: i1.ColumnResizeNotifierSource }], target: i0.ɵɵFactoryTarget.Directive });
28
- /** @nocollapse */ MatColumnResizeFlex.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0", type: MatColumnResizeFlex, selector: "mat-table[columnResize]", host: { classAttribute: "mat-column-resize-flex" }, providers: [...FLEX_PROVIDERS, { provide: ColumnResize, useExisting: MatColumnResizeFlex }], usesInheritance: true, ngImport: i0 });
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: MatColumnResizeFlex, decorators: [{
27
+ /** @nocollapse */ MatColumnResizeFlex.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: MatColumnResizeFlex, deps: [{ token: i1.ColumnResizeNotifier }, { token: i0.ElementRef }, { token: i1.HeaderRowEventDispatcher }, { token: i0.NgZone }, { token: i1.ColumnResizeNotifierSource }], target: i0.ɵɵFactoryTarget.Directive });
28
+ /** @nocollapse */ MatColumnResizeFlex.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.2", type: MatColumnResizeFlex, selector: "mat-table[columnResize]", host: { classAttribute: "mat-column-resize-flex" }, providers: [...FLEX_PROVIDERS, { provide: ColumnResize, useExisting: MatColumnResizeFlex }], usesInheritance: true, ngImport: i0 });
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: MatColumnResizeFlex, decorators: [{
30
30
  type: Directive,
31
31
  args: [{
32
32
  selector: 'mat-table[columnResize]',
@@ -24,9 +24,9 @@ export class MatColumnResize extends AbstractMatColumnResize {
24
24
  this.notifier = notifier;
25
25
  }
26
26
  }
27
- /** @nocollapse */ MatColumnResize.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: MatColumnResize, deps: [{ token: i1.ColumnResizeNotifier }, { token: i0.ElementRef }, { token: i1.HeaderRowEventDispatcher }, { token: i0.NgZone }, { token: i1.ColumnResizeNotifierSource }], target: i0.ɵɵFactoryTarget.Directive });
28
- /** @nocollapse */ MatColumnResize.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0", type: MatColumnResize, selector: "table[mat-table][columnResize]", host: { classAttribute: "mat-column-resize-table" }, providers: [...TABLE_PROVIDERS, { provide: ColumnResize, useExisting: MatColumnResize }], usesInheritance: true, ngImport: i0 });
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: MatColumnResize, decorators: [{
27
+ /** @nocollapse */ MatColumnResize.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: MatColumnResize, deps: [{ token: i1.ColumnResizeNotifier }, { token: i0.ElementRef }, { token: i1.HeaderRowEventDispatcher }, { token: i0.NgZone }, { token: i1.ColumnResizeNotifierSource }], target: i0.ɵɵFactoryTarget.Directive });
28
+ /** @nocollapse */ MatColumnResize.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.2", type: MatColumnResize, selector: "table[mat-table][columnResize]", host: { classAttribute: "mat-column-resize-table" }, providers: [...TABLE_PROVIDERS, { provide: ColumnResize, useExisting: MatColumnResize }], usesInheritance: true, ngImport: i0 });
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: MatColumnResize, decorators: [{
30
30
  type: Directive,
31
31
  args: [{
32
32
  selector: 'table[mat-table][columnResize]',
@@ -15,10 +15,10 @@ import * as i0 from "@angular/core";
15
15
  const ENTRY_COMMON_COMPONENTS = [MatColumnResizeOverlayHandle];
16
16
  export class MatColumnResizeCommonModule {
17
17
  }
18
- /** @nocollapse */ MatColumnResizeCommonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: MatColumnResizeCommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
19
- /** @nocollapse */ MatColumnResizeCommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: MatColumnResizeCommonModule, declarations: [MatColumnResizeOverlayHandle], exports: [MatColumnResizeOverlayHandle] });
20
- /** @nocollapse */ MatColumnResizeCommonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: MatColumnResizeCommonModule });
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: MatColumnResizeCommonModule, decorators: [{
18
+ /** @nocollapse */ MatColumnResizeCommonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: MatColumnResizeCommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
19
+ /** @nocollapse */ MatColumnResizeCommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.2", ngImport: i0, type: MatColumnResizeCommonModule, declarations: [MatColumnResizeOverlayHandle], exports: [MatColumnResizeOverlayHandle] });
20
+ /** @nocollapse */ MatColumnResizeCommonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: MatColumnResizeCommonModule });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: MatColumnResizeCommonModule, decorators: [{
22
22
  type: NgModule,
23
23
  args: [{
24
24
  declarations: ENTRY_COMMON_COMPONENTS,
@@ -28,10 +28,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
28
28
  const IMPORTS = [OverlayModule, MatColumnResizeCommonModule];
29
29
  export class MatColumnResizeModule {
30
30
  }
31
- /** @nocollapse */ MatColumnResizeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: MatColumnResizeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
32
- /** @nocollapse */ MatColumnResizeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: MatColumnResizeModule, declarations: [MatColumnResize, MatColumnResizeFlex, MatResizable], imports: [OverlayModule, MatColumnResizeCommonModule], exports: [MatColumnResize, MatColumnResizeFlex, MatResizable] });
33
- /** @nocollapse */ MatColumnResizeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: MatColumnResizeModule, imports: [IMPORTS] });
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: MatColumnResizeModule, decorators: [{
31
+ /** @nocollapse */ MatColumnResizeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: MatColumnResizeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
32
+ /** @nocollapse */ MatColumnResizeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.2", ngImport: i0, type: MatColumnResizeModule, declarations: [MatColumnResize, MatColumnResizeFlex, MatResizable], imports: [OverlayModule, MatColumnResizeCommonModule], exports: [MatColumnResize, MatColumnResizeFlex, MatResizable] });
33
+ /** @nocollapse */ MatColumnResizeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: MatColumnResizeModule, imports: [IMPORTS] });
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: MatColumnResizeModule, decorators: [{
35
35
  type: NgModule,
36
36
  args: [{
37
37
  imports: IMPORTS,
@@ -40,9 +40,9 @@ export class MatColumnResizeOverlayHandle extends ResizeOverlayHandle {
40
40
  });
41
41
  }
42
42
  }
43
- /** @nocollapse */ MatColumnResizeOverlayHandle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: MatColumnResizeOverlayHandle, deps: [{ token: i1.CdkColumnDef }, { token: i2.ColumnResize }, { token: i3.Directionality }, { token: i0.ElementRef }, { token: i2.HeaderRowEventDispatcher }, { token: i0.NgZone }, { token: i2.ColumnResizeNotifierSource }, { token: i2.ResizeRef }, { token: _COALESCED_STYLE_SCHEDULER }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
44
- /** @nocollapse */ MatColumnResizeOverlayHandle.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: MatColumnResizeOverlayHandle, selector: "ng-component", host: { classAttribute: "mat-column-resize-overlay-thumb" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: MatColumnResizeOverlayHandle, decorators: [{
43
+ /** @nocollapse */ MatColumnResizeOverlayHandle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: MatColumnResizeOverlayHandle, deps: [{ token: i1.CdkColumnDef }, { token: i2.ColumnResize }, { token: i3.Directionality }, { token: i0.ElementRef }, { token: i2.HeaderRowEventDispatcher }, { token: i0.NgZone }, { token: i2.ColumnResizeNotifierSource }, { token: i2.ResizeRef }, { token: _COALESCED_STYLE_SCHEDULER }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
44
+ /** @nocollapse */ MatColumnResizeOverlayHandle.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.2", type: MatColumnResizeOverlayHandle, selector: "ng-component", host: { classAttribute: "mat-column-resize-overlay-thumb" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: MatColumnResizeOverlayHandle, decorators: [{
46
46
  type: Component,
47
47
  args: [{
48
48
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -39,9 +39,9 @@ export class MatResizable extends AbstractMatResizable {
39
39
  this.isResizable = newValue == null || newValue === '' || newValue;
40
40
  }
41
41
  }
42
- /** @nocollapse */ MatResizable.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: MatResizable, deps: [{ token: i1.CdkColumnDef }, { token: i2.ColumnResize }, { token: i3.Directionality }, { token: DOCUMENT }, { token: i0.ElementRef }, { token: i2.HeaderRowEventDispatcher }, { token: i0.Injector }, { token: i0.NgZone }, { token: i4.Overlay }, { token: i2.ColumnResizeNotifierSource }, { token: i2.ResizeStrategy }, { token: _COALESCED_STYLE_SCHEDULER }, { token: i0.ViewContainerRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
43
- /** @nocollapse */ MatResizable.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0", type: MatResizable, selector: "mat-header-cell[resizable], th[mat-header-cell][resizable]", inputs: { minWidthPx: ["matResizableMinWidthPx", "minWidthPx"], maxWidthPx: ["matResizableMaxWidthPx", "maxWidthPx"], resizable: "resizable" }, host: { properties: { "class": "this.hasResizableClass" } }, usesInheritance: true, ngImport: i0 });
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: MatResizable, decorators: [{
42
+ /** @nocollapse */ MatResizable.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: MatResizable, deps: [{ token: i1.CdkColumnDef }, { token: i2.ColumnResize }, { token: i3.Directionality }, { token: DOCUMENT }, { token: i0.ElementRef }, { token: i2.HeaderRowEventDispatcher }, { token: i0.Injector }, { token: i0.NgZone }, { token: i4.Overlay }, { token: i2.ColumnResizeNotifierSource }, { token: i2.ResizeStrategy }, { token: _COALESCED_STYLE_SCHEDULER }, { token: i0.ViewContainerRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
43
+ /** @nocollapse */ MatResizable.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.2", type: MatResizable, selector: "mat-header-cell[resizable], th[mat-header-cell][resizable]", inputs: { minWidthPx: ["matResizableMinWidthPx", "minWidthPx"], maxWidthPx: ["matResizableMaxWidthPx", "maxWidthPx"], resizable: "resizable" }, host: { properties: { "class": "this.hasResizableClass" } }, usesInheritance: true, ngImport: i0 });
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: MatResizable, decorators: [{
45
45
  type: Directive,
46
46
  args: [{
47
47
  selector: 'mat-header-cell[resizable], th[mat-header-cell][resizable]',
@@ -24,9 +24,9 @@ export class MatFlexTableResizeStrategy extends CdkFlexTableResizeStrategy {
24
24
  return `mat-column-${cssFriendlyColumnName}`;
25
25
  }
26
26
  }
27
- /** @nocollapse */ MatFlexTableResizeStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: MatFlexTableResizeStrategy, deps: [{ token: i1.ColumnResize }, { token: _COALESCED_STYLE_SCHEDULER }, { token: i2.CdkTable }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
28
- /** @nocollapse */ MatFlexTableResizeStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: MatFlexTableResizeStrategy });
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: MatFlexTableResizeStrategy, decorators: [{
27
+ /** @nocollapse */ MatFlexTableResizeStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: MatFlexTableResizeStrategy, deps: [{ token: i1.ColumnResize }, { token: _COALESCED_STYLE_SCHEDULER }, { token: i2.CdkTable }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
28
+ /** @nocollapse */ MatFlexTableResizeStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: MatFlexTableResizeStrategy });
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: MatFlexTableResizeStrategy, decorators: [{
30
30
  type: Injectable
31
31
  }], ctorParameters: function () { return [{ type: i1.ColumnResize }, { type: i2._CoalescedStyleScheduler, decorators: [{
32
32
  type: Inject,
@@ -0,0 +1,64 @@
1
+ import { Directive, EventEmitter, HostBinding, HostListener, Input, Output, } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class MtxGridExpansionToggle {
4
+ constructor() {
5
+ this._opened = false;
6
+ this.openedChange = new EventEmitter();
7
+ this.toggleChange = new EventEmitter();
8
+ }
9
+ get opened() {
10
+ return this._opened;
11
+ }
12
+ set opened(newValue) {
13
+ this._opened = newValue;
14
+ this.openedChange.emit(newValue);
15
+ }
16
+ get expanded() {
17
+ return this._opened;
18
+ }
19
+ set expandableRow(value) {
20
+ if (value !== this._row) {
21
+ this._row = value;
22
+ }
23
+ }
24
+ set template(value) {
25
+ if (value !== this._tplRef) {
26
+ this._tplRef = value;
27
+ }
28
+ }
29
+ onClick(event) {
30
+ event.preventDefault();
31
+ event.stopPropagation();
32
+ this.toggle();
33
+ }
34
+ toggle() {
35
+ this.opened = !this.opened;
36
+ this.toggleChange.emit(this);
37
+ }
38
+ }
39
+ /** @nocollapse */ MtxGridExpansionToggle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: MtxGridExpansionToggle, deps: [], target: i0.ɵɵFactoryTarget.Directive });
40
+ /** @nocollapse */ MtxGridExpansionToggle.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.2", type: MtxGridExpansionToggle, selector: "[mtx-grid-expansion-toggle]", inputs: { opened: "opened", expandableRow: "expandableRow", template: ["expansionRowTpl", "template"] }, outputs: { openedChange: "openedChange", toggleChange: "toggleChange" }, host: { listeners: { "click": "onClick($event)" }, properties: { "class.expanded": "this.expanded" } }, ngImport: i0 });
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: MtxGridExpansionToggle, decorators: [{
42
+ type: Directive,
43
+ args: [{
44
+ selector: '[mtx-grid-expansion-toggle]',
45
+ }]
46
+ }], ctorParameters: function () { return []; }, propDecorators: { opened: [{
47
+ type: Input
48
+ }], openedChange: [{
49
+ type: Output
50
+ }], expanded: [{
51
+ type: HostBinding,
52
+ args: ['class.expanded']
53
+ }], expandableRow: [{
54
+ type: Input
55
+ }], template: [{
56
+ type: Input,
57
+ args: ['expansionRowTpl']
58
+ }], toggleChange: [{
59
+ type: Output
60
+ }], onClick: [{
61
+ type: HostListener,
62
+ args: ['click', ['$event']]
63
+ }] } });
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5zaW9uLXRvZ2dsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dGVuc2lvbnMvZ3JpZC9leHBhbnNpb24tdG9nZ2xlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQzs7QUFLdkIsTUFBTSxPQUFPLHNCQUFzQjtJQW9DakM7UUFuQ1EsWUFBTyxHQUFHLEtBQUssQ0FBQztRQVlkLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQXFCM0MsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBMEIsQ0FBQztJQUVyRCxDQUFDO0lBL0JoQixJQUNJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUNELElBQUksTUFBTSxDQUFDLFFBQWlCO1FBQzFCLElBQUksQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFHRCxJQUNJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQ0ksYUFBYSxDQUFDLEtBQVU7UUFDMUIsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLElBQUksRUFBRTtZQUN2QixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztTQUNuQjtJQUNILENBQUM7SUFFRCxJQUNJLFFBQVEsQ0FBQyxLQUF1QjtRQUNsQyxJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQzFCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQztJQU9ELE9BQU8sQ0FBQyxLQUFpQjtRQUN2QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzNCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUM7O3NJQWhEVSxzQkFBc0I7MEhBQXRCLHNCQUFzQjsyRkFBdEIsc0JBQXNCO2tCQUhsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw2QkFBNkI7aUJBQ3hDOzBFQU9LLE1BQU07c0JBRFQsS0FBSztnQkFRSSxZQUFZO3NCQUFyQixNQUFNO2dCQUdILFFBQVE7c0JBRFgsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBTXpCLGFBQWE7c0JBRGhCLEtBQUs7Z0JBUUYsUUFBUTtzQkFEWCxLQUFLO3VCQUFDLGlCQUFpQjtnQkFPZCxZQUFZO3NCQUFyQixNQUFNO2dCQUtQLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVGVtcGxhdGVSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbXR4LWdyaWQtZXhwYW5zaW9uLXRvZ2dsZV0nLFxufSlcbmV4cG9ydCBjbGFzcyBNdHhHcmlkRXhwYW5zaW9uVG9nZ2xlIHtcbiAgcHJpdmF0ZSBfb3BlbmVkID0gZmFsc2U7XG4gIHByaXZhdGUgX3JvdzogYW55O1xuICBwcml2YXRlIF90cGxSZWYhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBJbnB1dCgpXG4gIGdldCBvcGVuZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX29wZW5lZDtcbiAgfVxuICBzZXQgb3BlbmVkKG5ld1ZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fb3BlbmVkID0gbmV3VmFsdWU7XG4gICAgdGhpcy5vcGVuZWRDaGFuZ2UuZW1pdChuZXdWYWx1ZSk7XG4gIH1cbiAgQE91dHB1dCgpIG9wZW5lZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmV4cGFuZGVkJylcbiAgZ2V0IGV4cGFuZGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9vcGVuZWQ7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgZXhwYW5kYWJsZVJvdyh2YWx1ZTogYW55KSB7XG4gICAgaWYgKHZhbHVlICE9PSB0aGlzLl9yb3cpIHtcbiAgICAgIHRoaXMuX3JvdyA9IHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgnZXhwYW5zaW9uUm93VHBsJylcbiAgc2V0IHRlbXBsYXRlKHZhbHVlOiBUZW1wbGF0ZVJlZjxhbnk+KSB7XG4gICAgaWYgKHZhbHVlICE9PSB0aGlzLl90cGxSZWYpIHtcbiAgICAgIHRoaXMuX3RwbFJlZiA9IHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIEBPdXRwdXQoKSB0b2dnbGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPE10eEdyaWRFeHBhbnNpb25Ub2dnbGU+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgb25DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy50b2dnbGUoKTtcbiAgfVxuXG4gIHRvZ2dsZSgpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW5lZCA9ICF0aGlzLm9wZW5lZDtcbiAgICB0aGlzLnRvZ2dsZUNoYW5nZS5lbWl0KHRoaXMpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,115 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { FormsModule } from '@angular/forms';
4
+ import { MatTableModule } from '@angular/material/table';
5
+ import { MatSortModule } from '@angular/material/sort';
6
+ import { MatPaginatorModule } from '@angular/material/paginator';
7
+ import { MatCheckboxModule } from '@angular/material/checkbox';
8
+ import { MatButtonModule } from '@angular/material/button';
9
+ import { MatProgressBarModule } from '@angular/material/progress-bar';
10
+ import { MatChipsModule } from '@angular/material/chips';
11
+ import { MatTooltipModule } from '@angular/material/tooltip';
12
+ import { MatIconModule } from '@angular/material/icon';
13
+ import { MatSelectModule } from '@angular/material/select';
14
+ import { MatFormFieldModule } from '@angular/material/form-field';
15
+ import { MatMenuModule } from '@angular/material/menu';
16
+ import { DragDropModule } from '@angular/cdk/drag-drop';
17
+ import { MtxPipesModule } from '@ng-matero/extensions/core';
18
+ import { MtxDialogModule } from '@ng-matero/extensions/dialog';
19
+ import { MtxGrid, MtxGridSelectableCell } from './grid';
20
+ import { MtxGridCell } from './cell';
21
+ import { MtxGridColumnMenu } from './column-menu';
22
+ import { MtxGridExpansionToggle } from './expansion-toggle';
23
+ import { MtxGridUtils } from './grid-utils';
24
+ import { MatColumnResizeModule } from './column-resize/column-resize-module';
25
+ import * as i0 from "@angular/core";
26
+ export class MtxGridModule {
27
+ }
28
+ /** @nocollapse */ MtxGridModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: MtxGridModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
29
+ /** @nocollapse */ MtxGridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.2", ngImport: i0, type: MtxGridModule, declarations: [MtxGrid,
30
+ MtxGridCell,
31
+ MtxGridColumnMenu,
32
+ MtxGridExpansionToggle,
33
+ MtxGridSelectableCell], imports: [CommonModule,
34
+ FormsModule,
35
+ MatTableModule,
36
+ MatSortModule,
37
+ MatPaginatorModule,
38
+ MatCheckboxModule,
39
+ MatButtonModule,
40
+ MatProgressBarModule,
41
+ MatChipsModule,
42
+ MatTooltipModule,
43
+ MatIconModule,
44
+ MatSelectModule,
45
+ MatFormFieldModule,
46
+ MatMenuModule,
47
+ DragDropModule,
48
+ MtxDialogModule,
49
+ MtxPipesModule,
50
+ MatColumnResizeModule], exports: [MtxGrid,
51
+ MtxGridCell,
52
+ MtxGridColumnMenu,
53
+ MtxGridExpansionToggle,
54
+ MtxGridSelectableCell,
55
+ MatColumnResizeModule] });
56
+ /** @nocollapse */ MtxGridModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: MtxGridModule, providers: [MtxGridUtils], imports: [CommonModule,
57
+ FormsModule,
58
+ MatTableModule,
59
+ MatSortModule,
60
+ MatPaginatorModule,
61
+ MatCheckboxModule,
62
+ MatButtonModule,
63
+ MatProgressBarModule,
64
+ MatChipsModule,
65
+ MatTooltipModule,
66
+ MatIconModule,
67
+ MatSelectModule,
68
+ MatFormFieldModule,
69
+ MatMenuModule,
70
+ DragDropModule,
71
+ MtxDialogModule,
72
+ MtxPipesModule,
73
+ MatColumnResizeModule, MatColumnResizeModule] });
74
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: MtxGridModule, decorators: [{
75
+ type: NgModule,
76
+ args: [{
77
+ imports: [
78
+ CommonModule,
79
+ FormsModule,
80
+ MatTableModule,
81
+ MatSortModule,
82
+ MatPaginatorModule,
83
+ MatCheckboxModule,
84
+ MatButtonModule,
85
+ MatProgressBarModule,
86
+ MatChipsModule,
87
+ MatTooltipModule,
88
+ MatIconModule,
89
+ MatSelectModule,
90
+ MatFormFieldModule,
91
+ MatMenuModule,
92
+ DragDropModule,
93
+ MtxDialogModule,
94
+ MtxPipesModule,
95
+ MatColumnResizeModule,
96
+ ],
97
+ exports: [
98
+ MtxGrid,
99
+ MtxGridCell,
100
+ MtxGridColumnMenu,
101
+ MtxGridExpansionToggle,
102
+ MtxGridSelectableCell,
103
+ MatColumnResizeModule,
104
+ ],
105
+ declarations: [
106
+ MtxGrid,
107
+ MtxGridCell,
108
+ MtxGridColumnMenu,
109
+ MtxGridExpansionToggle,
110
+ MtxGridSelectableCell,
111
+ ],
112
+ providers: [MtxGridUtils],
113
+ }]
114
+ }] });
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9leHRlbnNpb25zL2dyaWQvZ3JpZC1tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFeEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDckMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDNUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7O0FBd0M3RSxNQUFNLE9BQU8sYUFBYTs7NkhBQWIsYUFBYTs4SEFBYixhQUFhLGlCQVJ0QixPQUFPO1FBQ1AsV0FBVztRQUNYLGlCQUFpQjtRQUNqQixzQkFBc0I7UUFDdEIscUJBQXFCLGFBaENyQixZQUFZO1FBQ1osV0FBVztRQUNYLGNBQWM7UUFDZCxhQUFhO1FBQ2Isa0JBQWtCO1FBQ2xCLGlCQUFpQjtRQUNqQixlQUFlO1FBQ2Ysb0JBQW9CO1FBQ3BCLGNBQWM7UUFDZCxnQkFBZ0I7UUFDaEIsYUFBYTtRQUNiLGVBQWU7UUFDZixrQkFBa0I7UUFDbEIsYUFBYTtRQUNiLGNBQWM7UUFDZCxlQUFlO1FBQ2YsY0FBYztRQUNkLHFCQUFxQixhQUdyQixPQUFPO1FBQ1AsV0FBVztRQUNYLGlCQUFpQjtRQUNqQixzQkFBc0I7UUFDdEIscUJBQXFCO1FBQ3JCLHFCQUFxQjs4SEFXWixhQUFhLGFBRmIsQ0FBQyxZQUFZLENBQUMsWUFsQ3ZCLFlBQVk7UUFDWixXQUFXO1FBQ1gsY0FBYztRQUNkLGFBQWE7UUFDYixrQkFBa0I7UUFDbEIsaUJBQWlCO1FBQ2pCLGVBQWU7UUFDZixvQkFBb0I7UUFDcEIsY0FBYztRQUNkLGdCQUFnQjtRQUNoQixhQUFhO1FBQ2IsZUFBZTtRQUNmLGtCQUFrQjtRQUNsQixhQUFhO1FBQ2IsY0FBYztRQUNkLGVBQWU7UUFDZixjQUFjO1FBQ2QscUJBQXFCLEVBUXJCLHFCQUFxQjsyRkFXWixhQUFhO2tCQXRDekIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixrQkFBa0I7d0JBQ2xCLGlCQUFpQjt3QkFDakIsZUFBZTt3QkFDZixvQkFBb0I7d0JBQ3BCLGNBQWM7d0JBQ2QsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQixhQUFhO3dCQUNiLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixjQUFjO3dCQUNkLHFCQUFxQjtxQkFDdEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLE9BQU87d0JBQ1AsV0FBVzt3QkFDWCxpQkFBaUI7d0JBQ2pCLHNCQUFzQjt3QkFDdEIscUJBQXFCO3dCQUNyQixxQkFBcUI7cUJBQ3RCO29CQUNELFlBQVksRUFBRTt3QkFDWixPQUFPO3dCQUNQLFdBQVc7d0JBQ1gsaUJBQWlCO3dCQUNqQixzQkFBc0I7d0JBQ3RCLHFCQUFxQjtxQkFDdEI7b0JBQ0QsU0FBUyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUMxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRUYWJsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcbmltcG9ydCB7IE1hdFNvcnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcbmltcG9ydCB7IE1hdFBhZ2luYXRvck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRQcm9ncmVzc0Jhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLWJhcic7XG5pbXBvcnQgeyBNYXRDaGlwc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoaXBzJztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbmltcG9ydCB7IERyYWdEcm9wTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5cbmltcG9ydCB7IE10eFBpcGVzTW9kdWxlIH0gZnJvbSAnQG5nLW1hdGVyby9leHRlbnNpb25zL2NvcmUnO1xuaW1wb3J0IHsgTXR4RGlhbG9nTW9kdWxlIH0gZnJvbSAnQG5nLW1hdGVyby9leHRlbnNpb25zL2RpYWxvZyc7XG5pbXBvcnQgeyBNdHhHcmlkLCBNdHhHcmlkU2VsZWN0YWJsZUNlbGwgfSBmcm9tICcuL2dyaWQnO1xuaW1wb3J0IHsgTXR4R3JpZENlbGwgfSBmcm9tICcuL2NlbGwnO1xuaW1wb3J0IHsgTXR4R3JpZENvbHVtbk1lbnUgfSBmcm9tICcuL2NvbHVtbi1tZW51JztcbmltcG9ydCB7IE10eEdyaWRFeHBhbnNpb25Ub2dnbGUgfSBmcm9tICcuL2V4cGFuc2lvbi10b2dnbGUnO1xuaW1wb3J0IHsgTXR4R3JpZFV0aWxzIH0gZnJvbSAnLi9ncmlkLXV0aWxzJztcbmltcG9ydCB7IE1hdENvbHVtblJlc2l6ZU1vZHVsZSB9IGZyb20gJy4vY29sdW1uLXJlc2l6ZS9jb2x1bW4tcmVzaXplLW1vZHVsZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgTWF0VGFibGVNb2R1bGUsXG4gICAgTWF0U29ydE1vZHVsZSxcbiAgICBNYXRQYWdpbmF0b3JNb2R1bGUsXG4gICAgTWF0Q2hlY2tib3hNb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdFByb2dyZXNzQmFyTW9kdWxlLFxuICAgIE1hdENoaXBzTW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRTZWxlY3RNb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdE1lbnVNb2R1bGUsXG4gICAgRHJhZ0Ryb3BNb2R1bGUsXG4gICAgTXR4RGlhbG9nTW9kdWxlLFxuICAgIE10eFBpcGVzTW9kdWxlLFxuICAgIE1hdENvbHVtblJlc2l6ZU1vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIE10eEdyaWQsXG4gICAgTXR4R3JpZENlbGwsXG4gICAgTXR4R3JpZENvbHVtbk1lbnUsXG4gICAgTXR4R3JpZEV4cGFuc2lvblRvZ2dsZSxcbiAgICBNdHhHcmlkU2VsZWN0YWJsZUNlbGwsXG4gICAgTWF0Q29sdW1uUmVzaXplTW9kdWxlLFxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBNdHhHcmlkLFxuICAgIE10eEdyaWRDZWxsLFxuICAgIE10eEdyaWRDb2x1bW5NZW51LFxuICAgIE10eEdyaWRFeHBhbnNpb25Ub2dnbGUsXG4gICAgTXR4R3JpZFNlbGVjdGFibGVDZWxsLFxuICBdLFxuICBwcm92aWRlcnM6IFtNdHhHcmlkVXRpbHNdLFxufSlcbmV4cG9ydCBjbGFzcyBNdHhHcmlkTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,44 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class MtxGridUtils {
4
+ constructor() { }
5
+ /**
6
+ * Get cell value from column key e.g. `a.b.c`
7
+ * @param rowData Row data
8
+ * @param colDef Column definition
9
+ */
10
+ getCellValue(rowData, colDef) {
11
+ const keyArr = colDef.field ? colDef.field.split('.') : [];
12
+ let tmp = '';
13
+ keyArr.forEach((key, i) => {
14
+ if (i === 0) {
15
+ tmp = rowData[key];
16
+ }
17
+ else {
18
+ tmp = tmp && tmp[key];
19
+ }
20
+ });
21
+ return tmp;
22
+ }
23
+ /**
24
+ * Get all data of a col
25
+ * @param data All data
26
+ * @param colDef Column definition
27
+ */
28
+ getColData(data, colDef) {
29
+ return data.map((rowData) => this.getCellValue(rowData, colDef));
30
+ }
31
+ /**
32
+ * Remove white spaces in a string and convert string to array
33
+ * @param str string
34
+ */
35
+ str2arr(str) {
36
+ return str.replace(/[\r\n\s]/g, '').split(',');
37
+ }
38
+ }
39
+ /** @nocollapse */ MtxGridUtils.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: MtxGridUtils, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
40
+ /** @nocollapse */ MtxGridUtils.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: MtxGridUtils });
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: MtxGridUtils, decorators: [{
42
+ type: Injectable
43
+ }], ctorParameters: function () { return []; } });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dGVuc2lvbnMvZ3JpZC9ncmlkLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSTNDLE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLGdCQUFlLENBQUM7SUFFaEI7Ozs7T0FJRztJQUNILFlBQVksQ0FBQyxPQUFZLEVBQUUsTUFBcUI7UUFDOUMsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUUzRCxJQUFJLEdBQUcsR0FBUSxFQUFFLENBQUM7UUFFbEIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQVcsRUFBRSxDQUFTLEVBQUUsRUFBRTtZQUN4QyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ1gsR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUNwQjtpQkFBTTtnQkFDTCxHQUFHLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUN2QjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFVBQVUsQ0FBQyxJQUFXLEVBQUUsTUFBcUI7UUFDM0MsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBWSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRDs7O09BR0c7SUFDSCxPQUFPLENBQUMsR0FBVztRQUNqQixPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqRCxDQUFDOzs0SEF0Q1UsWUFBWTtnSUFBWixZQUFZOzJGQUFaLFlBQVk7a0JBRHhCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNdHhHcmlkQ29sdW1uIH0gZnJvbSAnLi9pbnRlcmZhY2VzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE10eEdyaWRVdGlscyB7XG4gIGNvbnN0cnVjdG9yKCkge31cblxuICAvKipcbiAgICogR2V0IGNlbGwgdmFsdWUgZnJvbSBjb2x1bW4ga2V5IGUuZy4gYGEuYi5jYFxuICAgKiBAcGFyYW0gcm93RGF0YSBSb3cgZGF0YVxuICAgKiBAcGFyYW0gY29sRGVmIENvbHVtbiBkZWZpbml0aW9uXG4gICAqL1xuICBnZXRDZWxsVmFsdWUocm93RGF0YTogYW55LCBjb2xEZWY6IE10eEdyaWRDb2x1bW4pOiBzdHJpbmcge1xuICAgIGNvbnN0IGtleUFyciA9IGNvbERlZi5maWVsZCA/IGNvbERlZi5maWVsZC5zcGxpdCgnLicpIDogW107XG5cbiAgICBsZXQgdG1wOiBhbnkgPSAnJztcblxuICAgIGtleUFyci5mb3JFYWNoKChrZXk6IHN0cmluZywgaTogbnVtYmVyKSA9PiB7XG4gICAgICBpZiAoaSA9PT0gMCkge1xuICAgICAgICB0bXAgPSByb3dEYXRhW2tleV07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0bXAgPSB0bXAgJiYgdG1wW2tleV07XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHRtcDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYWxsIGRhdGEgb2YgYSBjb2xcbiAgICogQHBhcmFtIGRhdGEgQWxsIGRhdGFcbiAgICogQHBhcmFtIGNvbERlZiBDb2x1bW4gZGVmaW5pdGlvblxuICAgKi9cbiAgZ2V0Q29sRGF0YShkYXRhOiBhbnlbXSwgY29sRGVmOiBNdHhHcmlkQ29sdW1uKTogYW55W10ge1xuICAgIHJldHVybiBkYXRhLm1hcCgocm93RGF0YTogYW55KSA9PiB0aGlzLmdldENlbGxWYWx1ZShyb3dEYXRhLCBjb2xEZWYpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgd2hpdGUgc3BhY2VzIGluIGEgc3RyaW5nIGFuZCBjb252ZXJ0IHN0cmluZyB0byBhcnJheVxuICAgKiBAcGFyYW0gc3RyIHN0cmluZ1xuICAgKi9cbiAgc3RyMmFycihzdHI6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gc3RyLnJlcGxhY2UoL1tcXHJcXG5cXHNdL2csICcnKS5zcGxpdCgnLCcpO1xuICB9XG59XG4iXX0=