@ng-matero/extensions 12.5.3 → 13.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (559) hide show
  1. package/README.md +2 -16
  2. package/_all-color.scss +1 -1
  3. package/_all-theme.scss +2 -0
  4. package/_index.scss +3 -1
  5. package/_theming.scss +3 -1
  6. package/alert/_alert-theme.scss +2 -2
  7. package/alert/alert.component.d.ts +3 -0
  8. package/alert/alert.module.d.ts +6 -0
  9. package/alert/mtxAlert.d.ts +1 -0
  10. package/alert/package.json +5 -6
  11. package/button/button-loading.directive.d.ts +3 -0
  12. package/button/button.module.d.ts +8 -0
  13. package/button/mtxButton.d.ts +1 -0
  14. package/button/package.json +5 -6
  15. package/checkbox-group/checkbox-group.component.d.ts +3 -0
  16. package/checkbox-group/checkbox-group.module.d.ts +9 -0
  17. package/checkbox-group/mtxCheckboxGroup.d.ts +1 -0
  18. package/checkbox-group/package.json +5 -6
  19. package/colorpicker/_colorpicker-theme.import.scss +2 -0
  20. package/colorpicker/_colorpicker-theme.scss +43 -0
  21. package/colorpicker/colorpicker-animations.d.ts +8 -0
  22. package/colorpicker/colorpicker-content.scss +4 -0
  23. package/colorpicker/colorpicker-input.d.ts +92 -0
  24. package/colorpicker/colorpicker-module.d.ts +15 -0
  25. package/colorpicker/colorpicker-toggle.d.ts +38 -0
  26. package/colorpicker/colorpicker-toggle.scss +23 -0
  27. package/colorpicker/colorpicker.d.ts +131 -0
  28. package/{extensions.d.ts → colorpicker/mtxColorpicker.d.ts} +1 -0
  29. package/colorpicker/package.json +10 -0
  30. package/colorpicker/public-api.d.ts +5 -0
  31. package/column-resize/column-resize-directives/column-resize-flex.d.ts +3 -0
  32. package/column-resize/column-resize-directives/column-resize.d.ts +3 -0
  33. package/column-resize/column-resize-module.d.ts +6 -7
  34. package/column-resize/column-resize-notifier.d.ts +5 -7
  35. package/column-resize/column-resize.d.ts +3 -0
  36. package/column-resize/column-size-store.d.ts +3 -7
  37. package/column-resize/event-dispatcher.d.ts +3 -0
  38. package/column-resize/mtxColumnResize.d.ts +1 -0
  39. package/column-resize/overlay-handle.d.ts +3 -0
  40. package/column-resize/package.json +5 -6
  41. package/column-resize/resizable.d.ts +3 -0
  42. package/column-resize/resize-strategy.d.ts +7 -0
  43. package/core/datetime/datetime.module.d.ts +8 -0
  44. package/core/datetime/native-datetime-adapter.d.ts +3 -0
  45. package/core/density/private/_compatibility.scss +74 -0
  46. package/core/mtxCore.d.ts +1 -0
  47. package/core/package.json +5 -6
  48. package/{pipes/public-api.d.ts → core/pipes/index.d.ts} +0 -0
  49. package/core/pipes/pipes.module.d.ts +8 -0
  50. package/{pipes → core/pipes}/to-observable.pipe.d.ts +3 -0
  51. package/core/public-api.d.ts +1 -0
  52. package/core/style/_elevation.scss +197 -0
  53. package/core/style/_private.scss +41 -0
  54. package/core/style/_variables.scss +44 -0
  55. package/core/style/_vendor-prefixes.scss +60 -0
  56. package/core/theming/_palette.scss +746 -0
  57. package/core/theming/_theming.scss +430 -0
  58. package/core/typography/_typography-utils.scss +101 -0
  59. package/core/typography/_typography.scss +273 -0
  60. package/datetimepicker/_datetimepicker-theme.scss +17 -5
  61. package/datetimepicker/calendar-body.d.ts +3 -0
  62. package/datetimepicker/calendar-body.scss +5 -4
  63. package/datetimepicker/calendar.d.ts +6 -11
  64. package/datetimepicker/clock.d.ts +13 -9
  65. package/datetimepicker/datetimepicker-animations.d.ts +7 -5
  66. package/datetimepicker/datetimepicker-input.d.ts +7 -2
  67. package/datetimepicker/datetimepicker-module.d.ts +20 -0
  68. package/datetimepicker/datetimepicker-toggle.d.ts +20 -2
  69. package/datetimepicker/datetimepicker-toggle.scss +23 -0
  70. package/datetimepicker/datetimepicker-types.d.ts +1 -0
  71. package/datetimepicker/datetimepicker.d.ts +73 -25
  72. package/datetimepicker/month-view.d.ts +7 -4
  73. package/datetimepicker/mtxDatetimepicker.d.ts +1 -2
  74. package/datetimepicker/multi-year-view.d.ts +7 -4
  75. package/datetimepicker/package.json +5 -6
  76. package/datetimepicker/public-api.d.ts +4 -1
  77. package/datetimepicker/year-view.d.ts +7 -4
  78. package/dialog/{dialog.config.d.ts → dialog-config.d.ts} +0 -0
  79. package/dialog/dialog.component.d.ts +4 -1
  80. package/dialog/dialog.d.ts +4 -1
  81. package/dialog/dialog.module.d.ts +10 -0
  82. package/dialog/mtxDialog.d.ts +1 -0
  83. package/dialog/package.json +5 -6
  84. package/dialog/public-api.d.ts +2 -2
  85. package/esm2020/alert/alert.component.mjs +52 -0
  86. package/esm2020/alert/alert.module.mjs +18 -0
  87. package/{esm2015/alert/mtxAlert.js → esm2020/alert/mtxAlert.mjs} +0 -0
  88. package/{esm2015/alert/public-api.js → esm2020/alert/public-api.mjs} +0 -0
  89. package/esm2020/button/button-loading.directive.mjs +79 -0
  90. package/esm2020/button/button.module.mjs +20 -0
  91. package/{esm2015/button/mtxButton.js → esm2020/button/mtxButton.mjs} +0 -0
  92. package/{esm2015/button/public-api.js → esm2020/button/public-api.mjs} +0 -0
  93. package/esm2020/checkbox-group/checkbox-group.component.mjs +234 -0
  94. package/{esm2015/checkbox-group/checkbox-group.interface.js → esm2020/checkbox-group/checkbox-group.interface.mjs} +0 -0
  95. package/esm2020/checkbox-group/checkbox-group.module.mjs +21 -0
  96. package/{esm2015/checkbox-group/mtxCheckboxGroup.js → esm2020/checkbox-group/mtxCheckboxGroup.mjs} +0 -0
  97. package/{esm2015/checkbox-group/public-api.js → esm2020/checkbox-group/public-api.mjs} +0 -0
  98. package/esm2020/colorpicker/colorpicker-animations.mjs +16 -0
  99. package/esm2020/colorpicker/colorpicker-input.mjs +228 -0
  100. package/esm2020/colorpicker/colorpicker-module.mjs +65 -0
  101. package/esm2020/colorpicker/colorpicker-toggle.mjs +90 -0
  102. package/esm2020/colorpicker/colorpicker.mjs +363 -0
  103. package/esm2020/colorpicker/mtxColorpicker.mjs +5 -0
  104. package/esm2020/colorpicker/public-api.mjs +6 -0
  105. package/esm2020/column-resize/column-resize-directives/column-resize-flex.mjs +45 -0
  106. package/esm2020/column-resize/column-resize-directives/column-resize.mjs +45 -0
  107. package/{esm2015/column-resize/column-resize-directives/constants.js → esm2020/column-resize/column-resize-directives/constants.mjs} +0 -0
  108. package/esm2020/column-resize/column-resize-module.mjs +28 -0
  109. package/esm2020/column-resize/column-resize-notifier.mjs +47 -0
  110. package/esm2020/column-resize/column-resize.mjs +82 -0
  111. package/esm2020/column-resize/column-size-store.mjs +20 -0
  112. package/esm2020/column-resize/event-dispatcher.mjs +67 -0
  113. package/{esm2015/column-resize/mtxColumnResize.js → esm2020/column-resize/mtxColumnResize.mjs} +0 -0
  114. package/esm2020/column-resize/overlay-handle.mjs +146 -0
  115. package/{esm2015/column-resize/polyfill.js → esm2020/column-resize/polyfill.mjs} +0 -0
  116. package/{esm2015/column-resize/public-api.js → esm2020/column-resize/public-api.mjs} +0 -0
  117. package/esm2020/column-resize/resizable.mjs +199 -0
  118. package/{esm2015/column-resize/resize-ref.js → esm2020/column-resize/resize-ref.mjs} +0 -0
  119. package/esm2020/column-resize/resize-strategy.mjs +232 -0
  120. package/{esm2015/column-resize/selectors.js → esm2020/column-resize/selectors.mjs} +0 -0
  121. package/{esm2015/core/datetime/datetime-adapter.js → esm2020/core/datetime/datetime-adapter.mjs} +0 -0
  122. package/{esm2015/core/datetime/datetime-formats.js → esm2020/core/datetime/datetime-formats.mjs} +0 -0
  123. package/esm2020/core/datetime/datetime.module.mjs +42 -0
  124. package/{esm2015/core/datetime/index.js → esm2020/core/datetime/index.mjs} +0 -0
  125. package/esm2020/core/datetime/native-datetime-adapter.mjs +138 -0
  126. package/{esm2015/core/datetime/native-datetime-formats.js → esm2020/core/datetime/native-datetime-formats.mjs} +0 -0
  127. package/{esm2015/core/mtxCore.js → esm2020/core/mtxCore.mjs} +0 -0
  128. package/esm2020/core/pipes/index.mjs +3 -0
  129. package/esm2020/core/pipes/pipes.module.mjs +18 -0
  130. package/esm2020/core/pipes/to-observable.pipe.mjs +15 -0
  131. package/{esm2015/core/public-api.js → esm2020/core/public-api.mjs} +2 -1
  132. package/esm2020/datetimepicker/calendar-body.mjs +78 -0
  133. package/esm2020/datetimepicker/calendar.mjs +618 -0
  134. package/esm2020/datetimepicker/clock.mjs +277 -0
  135. package/esm2020/datetimepicker/datetimepicker-animations.mjs +44 -0
  136. package/{esm2015/datetimepicker/datetimepicker-errors.js → esm2020/datetimepicker/datetimepicker-errors.mjs} +0 -0
  137. package/{esm2015/datetimepicker/datetimepicker-filtertype.js → esm2020/datetimepicker/datetimepicker-filtertype.mjs} +0 -0
  138. package/esm2020/datetimepicker/datetimepicker-input.mjs +344 -0
  139. package/esm2020/datetimepicker/datetimepicker-module.mjs +75 -0
  140. package/esm2020/datetimepicker/datetimepicker-toggle.mjs +94 -0
  141. package/esm2020/datetimepicker/datetimepicker-types.mjs +2 -0
  142. package/esm2020/datetimepicker/datetimepicker.mjs +492 -0
  143. package/esm2020/datetimepicker/month-view.mjs +148 -0
  144. package/esm2020/datetimepicker/mtxDatetimepicker.mjs +5 -0
  145. package/esm2020/datetimepicker/multi-year-view.mjs +214 -0
  146. package/esm2020/datetimepicker/public-api.mjs +14 -0
  147. package/esm2020/datetimepicker/year-view.mjs +138 -0
  148. package/{esm2015/dialog/dialog.config.js → esm2020/dialog/dialog-config.mjs} +1 -1
  149. package/esm2020/dialog/dialog.component.mjs +33 -0
  150. package/esm2020/dialog/dialog.mjs +74 -0
  151. package/esm2020/dialog/dialog.module.mjs +24 -0
  152. package/{esm2015/dialog/mtxDialog.js → esm2020/dialog/mtxDialog.mjs} +0 -0
  153. package/esm2020/dialog/public-api.mjs +5 -0
  154. package/esm2020/form-group/form-group.component.mjs +37 -0
  155. package/esm2020/form-group/form-group.module.mjs +18 -0
  156. package/{esm2015/form-group/mtxFormGroup.js → esm2020/form-group/mtxFormGroup.mjs} +0 -0
  157. package/{esm2015/form-group/public-api.js → esm2020/form-group/public-api.mjs} +0 -0
  158. package/esm2020/grid/cell.component.mjs +108 -0
  159. package/esm2020/grid/column-menu.component.mjs +95 -0
  160. package/esm2020/grid/column-resize/column-resize-directives/column-resize-flex.mjs +37 -0
  161. package/esm2020/grid/column-resize/column-resize-directives/column-resize.mjs +37 -0
  162. package/{esm2015/grid/column-resize/column-resize-directives/common.js → esm2020/grid/column-resize/column-resize-directives/common.mjs} +0 -0
  163. package/esm2020/grid/column-resize/column-resize-module.mjs +42 -0
  164. package/esm2020/grid/column-resize/overlay-handle.mjs +60 -0
  165. package/{esm2015/grid/column-resize/resizable-directives/common.js → esm2020/grid/column-resize/resizable-directives/common.mjs} +0 -0
  166. package/esm2020/grid/column-resize/resizable-directives/resizable.mjs +62 -0
  167. package/esm2020/grid/column-resize/resize-strategy.mjs +42 -0
  168. package/esm2020/grid/expansion-toggle.directive.mjs +64 -0
  169. package/esm2020/grid/grid.component.mjs +556 -0
  170. package/{esm2015/grid/grid.interface.js → esm2020/grid/grid.interface.mjs} +0 -0
  171. package/esm2020/grid/grid.module.mjs +117 -0
  172. package/esm2020/grid/grid.service.mjs +44 -0
  173. package/{esm2015/grid/mtxGrid.js → esm2020/grid/mtxGrid.mjs} +0 -0
  174. package/esm2020/grid/public-api.mjs +16 -0
  175. package/esm2020/loader/loader.component.mjs +63 -0
  176. package/esm2020/loader/loader.module.mjs +20 -0
  177. package/{esm2015/loader/mtxLoader.js → esm2020/loader/mtxLoader.mjs} +0 -0
  178. package/{esm2015/loader/public-api.js → esm2020/loader/public-api.mjs} +0 -0
  179. package/esm2020/ng-matero-extensions.mjs +5 -0
  180. package/{esm2015/popover/mtxPopover.js → esm2020/popover/mtxPopover.mjs} +0 -0
  181. package/{esm2015/popover/popover-animations.js → esm2020/popover/popover-animations.mjs} +0 -0
  182. package/{esm2015/popover/popover-errors.js → esm2020/popover/popover-errors.mjs} +0 -0
  183. package/{esm2015/popover/popover-interfaces.js → esm2020/popover/popover-interfaces.mjs} +0 -0
  184. package/esm2020/popover/popover-module.mjs +22 -0
  185. package/esm2020/popover/popover-target.mjs +17 -0
  186. package/esm2020/popover/popover-trigger.mjs +441 -0
  187. package/{esm2015/popover/popover-types.js → esm2020/popover/popover-types.mjs} +0 -0
  188. package/esm2020/popover/popover.mjs +334 -0
  189. package/{esm2015/popover/public-api.js → esm2020/popover/public-api.mjs} +0 -0
  190. package/{esm2015/progress/mtxProgress.js → esm2020/progress/mtxProgress.mjs} +0 -0
  191. package/esm2020/progress/progress.component.mjs +55 -0
  192. package/esm2020/progress/progress.module.mjs +18 -0
  193. package/{esm2015/progress/public-api.js → esm2020/progress/public-api.mjs} +0 -0
  194. package/esm2020/public-api.mjs +5 -0
  195. package/{esm2015/select/mtxSelect.js → esm2020/select/mtxSelect.mjs} +0 -0
  196. package/{esm2015/select/option.component.js → esm2020/select/option.component.mjs} +18 -26
  197. package/{esm2015/select/public-api.js → esm2020/select/public-api.mjs} +0 -0
  198. package/esm2020/select/select.component.mjs +458 -0
  199. package/esm2020/select/select.module.mjs +74 -0
  200. package/esm2020/select/templates.directive.mjs +124 -0
  201. package/{esm2015/slider/mtxSlider.js → esm2020/slider/mtxSlider.mjs} +0 -0
  202. package/{esm2015/slider/public-api.js → esm2020/slider/public-api.mjs} +0 -0
  203. package/esm2020/slider/slider-module.mjs +19 -0
  204. package/esm2020/slider/slider.mjs +1115 -0
  205. package/{esm2015/split/interface.js → esm2020/split/interface.mjs} +0 -0
  206. package/{esm2015/split/mtxSplit.js → esm2020/split/mtxSplit.mjs} +0 -0
  207. package/{esm2015/split/public-api.js → esm2020/split/public-api.mjs} +0 -0
  208. package/esm2020/split/split-pane.directive.mjs +149 -0
  209. package/esm2020/split/split.component.mjs +619 -0
  210. package/esm2020/split/split.module.mjs +19 -0
  211. package/esm2020/split/utils.mjs +222 -0
  212. package/{esm2015/text3d/mtxText3d.js → esm2020/text3d/mtxText3d.mjs} +0 -0
  213. package/{esm2015/text3d/public-api.js → esm2020/text3d/public-api.mjs} +0 -0
  214. package/esm2020/text3d/text3d.component.mjs +45 -0
  215. package/esm2020/text3d/text3d.module.mjs +18 -0
  216. package/{esm2015/tooltip/mtxTooltip.js → esm2020/tooltip/mtxTooltip.mjs} +0 -0
  217. package/{esm2015/tooltip/public-api.js → esm2020/tooltip/public-api.mjs} +0 -0
  218. package/{esm2015/tooltip/tooltip-animations.js → esm2020/tooltip/tooltip-animations.mjs} +0 -0
  219. package/esm2020/tooltip/tooltip-module.mjs +23 -0
  220. package/esm2020/tooltip/tooltip.mjs +674 -0
  221. package/fesm2015/mtxAlert.mjs +74 -0
  222. package/fesm2015/mtxAlert.mjs.map +1 -0
  223. package/fesm2015/mtxButton.mjs +102 -0
  224. package/fesm2015/mtxButton.mjs.map +1 -0
  225. package/fesm2015/mtxCheckboxGroup.mjs +257 -0
  226. package/fesm2015/mtxCheckboxGroup.mjs.map +1 -0
  227. package/fesm2015/mtxColorpicker.mjs +754 -0
  228. package/fesm2015/mtxColorpicker.mjs.map +1 -0
  229. package/fesm2015/{mtxColumnResize.js → mtxColumnResize.mjs} +108 -145
  230. package/fesm2015/mtxColumnResize.mjs.map +1 -0
  231. package/fesm2015/mtxCore.mjs +362 -0
  232. package/fesm2015/mtxCore.mjs.map +1 -0
  233. package/fesm2015/mtxDatetimepicker.mjs +2474 -0
  234. package/fesm2015/mtxDatetimepicker.mjs.map +1 -0
  235. package/fesm2015/mtxDialog.mjs +128 -0
  236. package/fesm2015/mtxDialog.mjs.map +1 -0
  237. package/fesm2015/mtxFormGroup.mjs +59 -0
  238. package/fesm2015/mtxFormGroup.mjs.map +1 -0
  239. package/fesm2015/mtxGrid.mjs +1271 -0
  240. package/fesm2015/mtxGrid.mjs.map +1 -0
  241. package/fesm2015/mtxLoader.mjs +87 -0
  242. package/fesm2015/mtxLoader.mjs.map +1 -0
  243. package/fesm2015/mtxPopover.mjs +865 -0
  244. package/fesm2015/mtxPopover.mjs.map +1 -0
  245. package/fesm2015/mtxProgress.mjs +77 -0
  246. package/fesm2015/mtxProgress.mjs.map +1 -0
  247. package/fesm2015/mtxSelect.mjs +712 -0
  248. package/fesm2015/mtxSelect.mjs.map +1 -0
  249. package/fesm2015/mtxSlider.mjs +1139 -0
  250. package/fesm2015/mtxSlider.mjs.map +1 -0
  251. package/fesm2015/{mtxSplit.js → mtxSplit.mjs} +85 -98
  252. package/fesm2015/mtxSplit.mjs.map +1 -0
  253. package/fesm2015/mtxText3d.mjs +67 -0
  254. package/fesm2015/mtxText3d.mjs.map +1 -0
  255. package/fesm2015/{mtxTooltip.js → mtxTooltip.mjs} +85 -86
  256. package/fesm2015/mtxTooltip.mjs.map +1 -0
  257. package/fesm2015/ng-matero-extensions.mjs +9 -0
  258. package/fesm2015/ng-matero-extensions.mjs.map +1 -0
  259. package/fesm2020/mtxAlert.mjs +74 -0
  260. package/fesm2020/mtxAlert.mjs.map +1 -0
  261. package/fesm2020/mtxButton.mjs +102 -0
  262. package/fesm2020/mtxButton.mjs.map +1 -0
  263. package/fesm2020/mtxCheckboxGroup.mjs +257 -0
  264. package/fesm2020/mtxCheckboxGroup.mjs.map +1 -0
  265. package/fesm2020/mtxColorpicker.mjs +750 -0
  266. package/fesm2020/mtxColorpicker.mjs.map +1 -0
  267. package/fesm2020/mtxColumnResize.mjs +953 -0
  268. package/fesm2020/mtxColumnResize.mjs.map +1 -0
  269. package/{fesm2015/mtxCore.js → fesm2020/mtxCore.mjs} +75 -42
  270. package/fesm2020/mtxCore.mjs.map +1 -0
  271. package/fesm2020/mtxDatetimepicker.mjs +2462 -0
  272. package/fesm2020/mtxDatetimepicker.mjs.map +1 -0
  273. package/fesm2020/mtxDialog.mjs +129 -0
  274. package/fesm2020/mtxDialog.mjs.map +1 -0
  275. package/fesm2020/mtxFormGroup.mjs +59 -0
  276. package/fesm2020/mtxFormGroup.mjs.map +1 -0
  277. package/fesm2020/mtxGrid.mjs +1259 -0
  278. package/fesm2020/mtxGrid.mjs.map +1 -0
  279. package/fesm2020/mtxLoader.mjs +87 -0
  280. package/fesm2020/mtxLoader.mjs.map +1 -0
  281. package/{fesm2015/mtxPopover.js → fesm2020/mtxPopover.mjs} +120 -111
  282. package/fesm2020/mtxPopover.mjs.map +1 -0
  283. package/fesm2020/mtxProgress.mjs +77 -0
  284. package/fesm2020/mtxProgress.mjs.map +1 -0
  285. package/fesm2020/mtxSelect.mjs +709 -0
  286. package/fesm2020/mtxSelect.mjs.map +1 -0
  287. package/{fesm2015/mtxSlider.js → fesm2020/mtxSlider.mjs} +97 -94
  288. package/fesm2020/mtxSlider.mjs.map +1 -0
  289. package/fesm2020/mtxSplit.mjs +1007 -0
  290. package/fesm2020/mtxSplit.mjs.map +1 -0
  291. package/fesm2020/mtxText3d.mjs +67 -0
  292. package/fesm2020/mtxText3d.mjs.map +1 -0
  293. package/fesm2020/mtxTooltip.mjs +718 -0
  294. package/fesm2020/mtxTooltip.mjs.map +1 -0
  295. package/fesm2020/ng-matero-extensions.mjs +9 -0
  296. package/fesm2020/ng-matero-extensions.mjs.map +1 -0
  297. package/form-group/_form-group-theme.scss +1 -1
  298. package/form-group/form-group.component.d.ts +5 -4
  299. package/form-group/form-group.module.d.ts +6 -0
  300. package/form-group/mtxFormGroup.d.ts +1 -0
  301. package/form-group/package.json +5 -6
  302. package/grid/_grid-theme.scss +1 -1
  303. package/grid/cell.component.d.ts +3 -0
  304. package/grid/column-menu.component.d.ts +3 -0
  305. package/grid/column-menu.component.scss +1 -1
  306. package/grid/column-resize/_column-resize.scss +3 -3
  307. package/grid/column-resize/column-resize-directives/column-resize-flex.d.ts +3 -0
  308. package/grid/column-resize/column-resize-directives/column-resize.d.ts +3 -0
  309. package/grid/column-resize/column-resize-module.d.ts +12 -7
  310. package/grid/column-resize/overlay-handle.d.ts +3 -0
  311. package/grid/column-resize/resizable-directives/resizable.d.ts +3 -0
  312. package/grid/column-resize/resize-strategy.d.ts +3 -0
  313. package/grid/expansion-toggle.directive.d.ts +3 -0
  314. package/grid/grid.component.d.ts +20 -1
  315. package/grid/grid.module.d.ts +26 -0
  316. package/grid/grid.service.d.ts +3 -0
  317. package/grid/mtxGrid.d.ts +1 -0
  318. package/grid/package.json +5 -6
  319. package/grid/public-api.d.ts +0 -1
  320. package/loader/_loader-theme.scss +1 -1
  321. package/loader/loader.component.d.ts +7 -1
  322. package/loader/loader.module.d.ts +8 -0
  323. package/loader/mtxLoader.d.ts +1 -0
  324. package/loader/package.json +5 -6
  325. package/{color-picker/mtxColorPicker.d.ts → ng-matero-extensions.d.ts} +1 -0
  326. package/package.json +178 -15
  327. package/popover/_popover-theme.scss +1 -1
  328. package/popover/mtxPopover.d.ts +1 -0
  329. package/popover/package.json +5 -6
  330. package/popover/popover-module.d.ts +10 -0
  331. package/popover/popover-target.d.ts +3 -0
  332. package/popover/popover-trigger.d.ts +3 -0
  333. package/popover/popover.d.ts +3 -0
  334. package/progress/_progress-theme.scss +2 -2
  335. package/progress/mtxProgress.d.ts +1 -0
  336. package/progress/package.json +5 -6
  337. package/progress/progress.component.d.ts +3 -0
  338. package/progress/progress.module.d.ts +6 -0
  339. package/public-api.d.ts +2 -19
  340. package/select/_select-theme.scss +1 -1
  341. package/select/mtxSelect.d.ts +1 -0
  342. package/select/option.component.d.ts +3 -0
  343. package/select/package.json +5 -6
  344. package/select/select.component.d.ts +3 -0
  345. package/select/select.component.scss +1 -1
  346. package/select/select.module.d.ts +10 -0
  347. package/select/templates.directive.d.ts +23 -0
  348. package/slider/_slider-theme.scss +4 -4
  349. package/slider/mtxSlider.d.ts +1 -0
  350. package/slider/package.json +5 -6
  351. package/slider/slider-module.d.ts +7 -0
  352. package/slider/slider.d.ts +4 -1
  353. package/slider/slider.scss +7 -7
  354. package/split/_split-theme.scss +10 -3
  355. package/split/mtxSplit.d.ts +1 -0
  356. package/split/package.json +5 -6
  357. package/split/split-pane.directive.d.ts +3 -0
  358. package/split/split.component.d.ts +12 -1
  359. package/split/split.module.d.ts +7 -0
  360. package/text3d/_text3d-theme.scss +2 -2
  361. package/text3d/mtxText3d.d.ts +1 -0
  362. package/text3d/package.json +5 -6
  363. package/text3d/text3d.component.d.ts +3 -1
  364. package/text3d/text3d.module.d.ts +6 -0
  365. package/tooltip/_tooltip-theme.scss +3 -3
  366. package/tooltip/mtxTooltip.d.ts +1 -0
  367. package/tooltip/package.json +5 -6
  368. package/tooltip/tooltip-module.d.ts +10 -0
  369. package/tooltip/tooltip.d.ts +5 -0
  370. package/tooltip/tooltip.scss +1 -1
  371. package/alert/mtxAlert.metadata.json +0 -1
  372. package/bundles/extensions.umd.js +0 -164
  373. package/bundles/extensions.umd.js.map +0 -1
  374. package/bundles/mtxAlert.umd.js +0 -101
  375. package/bundles/mtxAlert.umd.js.map +0 -1
  376. package/bundles/mtxButton.umd.js +0 -119
  377. package/bundles/mtxButton.umd.js.map +0 -1
  378. package/bundles/mtxCheckboxGroup.umd.js +0 -284
  379. package/bundles/mtxCheckboxGroup.umd.js.map +0 -1
  380. package/bundles/mtxColorPicker.umd.js +0 -337
  381. package/bundles/mtxColorPicker.umd.js.map +0 -1
  382. package/bundles/mtxColumnResize.umd.js +0 -1339
  383. package/bundles/mtxColumnResize.umd.js.map +0 -1
  384. package/bundles/mtxCore.umd.js +0 -670
  385. package/bundles/mtxCore.umd.js.map +0 -1
  386. package/bundles/mtxDatetimepicker.umd.js +0 -2590
  387. package/bundles/mtxDatetimepicker.umd.js.map +0 -1
  388. package/bundles/mtxDialog.umd.js +0 -160
  389. package/bundles/mtxDialog.umd.js.map +0 -1
  390. package/bundles/mtxFormGroup.umd.js +0 -80
  391. package/bundles/mtxFormGroup.umd.js.map +0 -1
  392. package/bundles/mtxGrid.umd.js +0 -1581
  393. package/bundles/mtxGrid.umd.js.map +0 -1
  394. package/bundles/mtxLoader.umd.js +0 -104
  395. package/bundles/mtxLoader.umd.js.map +0 -1
  396. package/bundles/mtxPipes.umd.js +0 -44
  397. package/bundles/mtxPipes.umd.js.map +0 -1
  398. package/bundles/mtxPopover.umd.js +0 -1260
  399. package/bundles/mtxPopover.umd.js.map +0 -1
  400. package/bundles/mtxProgress.umd.js +0 -92
  401. package/bundles/mtxProgress.umd.js.map +0 -1
  402. package/bundles/mtxSelect.umd.js +0 -1097
  403. package/bundles/mtxSelect.umd.js.map +0 -1
  404. package/bundles/mtxSlider.umd.js +0 -1551
  405. package/bundles/mtxSlider.umd.js.map +0 -1
  406. package/bundles/mtxSplit.umd.js +0 -1432
  407. package/bundles/mtxSplit.umd.js.map +0 -1
  408. package/bundles/mtxText3d.umd.js +0 -92
  409. package/bundles/mtxText3d.umd.js.map +0 -1
  410. package/bundles/mtxTooltip.umd.js +0 -1081
  411. package/bundles/mtxTooltip.umd.js.map +0 -1
  412. package/button/mtxButton.metadata.json +0 -1
  413. package/checkbox-group/mtxCheckboxGroup.metadata.json +0 -1
  414. package/color-picker/color-picker.component.d.ts +0 -120
  415. package/color-picker/color-picker.module.d.ts +0 -2
  416. package/color-picker/mtxColorPicker.metadata.json +0 -1
  417. package/color-picker/package.json +0 -11
  418. package/color-picker/public-api.d.ts +0 -2
  419. package/column-resize/mtxColumnResize.metadata.json +0 -1
  420. package/core/mtxCore.metadata.json +0 -1
  421. package/datetimepicker/datetimepicker.module.d.ts +0 -2
  422. package/datetimepicker/mtxDatetimepicker.metadata.json +0 -1
  423. package/dialog/mtxDialog.metadata.json +0 -1
  424. package/esm2015/alert/alert.component.js +0 -63
  425. package/esm2015/alert/alert.module.js +0 -14
  426. package/esm2015/button/button-loading.directive.js +0 -89
  427. package/esm2015/button/button.module.js +0 -16
  428. package/esm2015/checkbox-group/checkbox-group.component.js +0 -235
  429. package/esm2015/checkbox-group/checkbox-group.module.js +0 -17
  430. package/esm2015/color-picker/color-picker.component.js +0 -268
  431. package/esm2015/color-picker/color-picker.module.js +0 -26
  432. package/esm2015/color-picker/mtxColorPicker.js +0 -5
  433. package/esm2015/color-picker/public-api.js +0 -3
  434. package/esm2015/column-resize/column-resize-directives/column-resize-flex.js +0 -54
  435. package/esm2015/column-resize/column-resize-directives/column-resize.js +0 -54
  436. package/esm2015/column-resize/column-resize-module.js +0 -24
  437. package/esm2015/column-resize/column-resize-notifier.js +0 -54
  438. package/esm2015/column-resize/column-resize.js +0 -80
  439. package/esm2015/column-resize/column-size-store.js +0 -18
  440. package/esm2015/column-resize/event-dispatcher.js +0 -75
  441. package/esm2015/column-resize/overlay-handle.js +0 -144
  442. package/esm2015/column-resize/resizable.js +0 -197
  443. package/esm2015/column-resize/resize-strategy.js +0 -245
  444. package/esm2015/core/datetime/datetime.module.js +0 -32
  445. package/esm2015/core/datetime/native-datetime-adapter.js +0 -144
  446. package/esm2015/datetimepicker/calendar-body.js +0 -75
  447. package/esm2015/datetimepicker/calendar.js +0 -629
  448. package/esm2015/datetimepicker/clock.js +0 -283
  449. package/esm2015/datetimepicker/datetimepicker-animations.js +0 -30
  450. package/esm2015/datetimepicker/datetimepicker-input.js +0 -333
  451. package/esm2015/datetimepicker/datetimepicker-toggle.js +0 -81
  452. package/esm2015/datetimepicker/datetimepicker.js +0 -411
  453. package/esm2015/datetimepicker/datetimepicker.module.js +0 -49
  454. package/esm2015/datetimepicker/month-view.js +0 -149
  455. package/esm2015/datetimepicker/mtxDatetimepicker.js +0 -7
  456. package/esm2015/datetimepicker/multi-year-view.js +0 -214
  457. package/esm2015/datetimepicker/public-api.js +0 -11
  458. package/esm2015/datetimepicker/year-view.js +0 -140
  459. package/esm2015/dialog/dialog.component.js +0 -40
  460. package/esm2015/dialog/dialog.js +0 -81
  461. package/esm2015/dialog/dialog.module.js +0 -21
  462. package/esm2015/dialog/public-api.js +0 -5
  463. package/esm2015/extensions-experimental.module.js +0 -13
  464. package/esm2015/extensions.js +0 -5
  465. package/esm2015/extensions.module.js +0 -40
  466. package/esm2015/form-group/form-group.component.js +0 -47
  467. package/esm2015/form-group/form-group.module.js +0 -14
  468. package/esm2015/grid/cell-selection.directive.js +0 -62
  469. package/esm2015/grid/cell.component.js +0 -115
  470. package/esm2015/grid/column-menu.component.js +0 -72
  471. package/esm2015/grid/column-resize/column-resize-directives/column-resize-flex.js +0 -47
  472. package/esm2015/grid/column-resize/column-resize-directives/column-resize.js +0 -47
  473. package/esm2015/grid/column-resize/column-resize-module.js +0 -36
  474. package/esm2015/grid/column-resize/overlay-handle.js +0 -68
  475. package/esm2015/grid/column-resize/resizable-directives/resizable.js +0 -75
  476. package/esm2015/grid/column-resize/resize-strategy.js +0 -45
  477. package/esm2015/grid/expansion-toggle.directive.js +0 -62
  478. package/esm2015/grid/grid.component.js +0 -418
  479. package/esm2015/grid/grid.module.js +0 -69
  480. package/esm2015/grid/grid.service.js +0 -50
  481. package/esm2015/grid/public-api.js +0 -17
  482. package/esm2015/loader/loader.component.js +0 -66
  483. package/esm2015/loader/loader.module.js +0 -16
  484. package/esm2015/pipes/mtxPipes.js +0 -5
  485. package/esm2015/pipes/pipes.module.js +0 -14
  486. package/esm2015/pipes/public-api.js +0 -3
  487. package/esm2015/pipes/to-observable.pipe.js +0 -12
  488. package/esm2015/popover/popover-module.js +0 -18
  489. package/esm2015/popover/popover-target.js +0 -24
  490. package/esm2015/popover/popover-trigger.js +0 -434
  491. package/esm2015/popover/popover.js +0 -326
  492. package/esm2015/progress/progress.component.js +0 -54
  493. package/esm2015/progress/progress.module.js +0 -14
  494. package/esm2015/public-api.js +0 -23
  495. package/esm2015/select/select.component.js +0 -380
  496. package/esm2015/select/select.module.js +0 -46
  497. package/esm2015/select/templates.directive.js +0 -211
  498. package/esm2015/slider/slider-module.js +0 -15
  499. package/esm2015/slider/slider.js +0 -1115
  500. package/esm2015/split/split-pane.directive.js +0 -156
  501. package/esm2015/split/split.component.js +0 -622
  502. package/esm2015/split/split.module.js +0 -15
  503. package/esm2015/split/utils.js +0 -227
  504. package/esm2015/text3d/text3d.component.js +0 -53
  505. package/esm2015/text3d/text3d.module.js +0 -14
  506. package/esm2015/tooltip/tooltip-module.js +0 -20
  507. package/esm2015/tooltip/tooltip.js +0 -681
  508. package/extensions-experimental.module.d.ts +0 -2
  509. package/extensions.metadata.json +0 -1
  510. package/extensions.module.d.ts +0 -2
  511. package/fesm2015/extensions.js +0 -80
  512. package/fesm2015/extensions.js.map +0 -1
  513. package/fesm2015/mtxAlert.js +0 -82
  514. package/fesm2015/mtxAlert.js.map +0 -1
  515. package/fesm2015/mtxButton.js +0 -108
  516. package/fesm2015/mtxButton.js.map +0 -1
  517. package/fesm2015/mtxCheckboxGroup.js +0 -255
  518. package/fesm2015/mtxCheckboxGroup.js.map +0 -1
  519. package/fesm2015/mtxColorPicker.js +0 -295
  520. package/fesm2015/mtxColorPicker.js.map +0 -1
  521. package/fesm2015/mtxColumnResize.js.map +0 -1
  522. package/fesm2015/mtxCore.js.map +0 -1
  523. package/fesm2015/mtxDatetimepicker.js +0 -2355
  524. package/fesm2015/mtxDatetimepicker.js.map +0 -1
  525. package/fesm2015/mtxDialog.js +0 -141
  526. package/fesm2015/mtxDialog.js.map +0 -1
  527. package/fesm2015/mtxFormGroup.js +0 -66
  528. package/fesm2015/mtxFormGroup.js.map +0 -1
  529. package/fesm2015/mtxGrid.js +0 -1186
  530. package/fesm2015/mtxGrid.js.map +0 -1
  531. package/fesm2015/mtxLoader.js +0 -87
  532. package/fesm2015/mtxLoader.js.map +0 -1
  533. package/fesm2015/mtxPipes.js +0 -31
  534. package/fesm2015/mtxPipes.js.map +0 -1
  535. package/fesm2015/mtxPopover.js.map +0 -1
  536. package/fesm2015/mtxProgress.js +0 -73
  537. package/fesm2015/mtxProgress.js.map +0 -1
  538. package/fesm2015/mtxSelect.js +0 -700
  539. package/fesm2015/mtxSelect.js.map +0 -1
  540. package/fesm2015/mtxSlider.js.map +0 -1
  541. package/fesm2015/mtxSplit.js.map +0 -1
  542. package/fesm2015/mtxText3d.js +0 -72
  543. package/fesm2015/mtxText3d.js.map +0 -1
  544. package/fesm2015/mtxTooltip.js.map +0 -1
  545. package/form-group/mtxFormGroup.metadata.json +0 -1
  546. package/grid/cell-selection.directive.d.ts +0 -17
  547. package/grid/mtxGrid.metadata.json +0 -1
  548. package/loader/mtxLoader.metadata.json +0 -1
  549. package/pipes/mtxPipes.d.ts +0 -4
  550. package/pipes/mtxPipes.metadata.json +0 -1
  551. package/pipes/package.json +0 -11
  552. package/pipes/pipes.module.d.ts +0 -2
  553. package/popover/mtxPopover.metadata.json +0 -1
  554. package/progress/mtxProgress.metadata.json +0 -1
  555. package/select/mtxSelect.metadata.json +0 -1
  556. package/slider/mtxSlider.metadata.json +0 -1
  557. package/split/mtxSplit.metadata.json +0 -1
  558. package/text3d/mtxText3d.metadata.json +0 -1
  559. package/tooltip/mtxTooltip.metadata.json +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"mtxGrid.js","sources":["../../../projects/extensions/grid/grid.service.ts","../../../projects/extensions/grid/grid.component.ts","../../../projects/extensions/grid/cell.component.ts","../../../projects/extensions/grid/column-menu.component.ts","../../../projects/extensions/grid/expansion-toggle.directive.ts","../../../projects/extensions/grid/cell-selection.directive.ts","../../../projects/extensions/grid/column-resize/resize-strategy.ts","../../../projects/extensions/grid/column-resize/column-resize-directives/common.ts","../../../projects/extensions/grid/column-resize/column-resize-directives/column-resize.ts","../../../projects/extensions/grid/column-resize/column-resize-directives/column-resize-flex.ts","../../../projects/extensions/grid/column-resize/overlay-handle.ts","../../../projects/extensions/grid/column-resize/resizable-directives/common.ts","../../../projects/extensions/grid/column-resize/resizable-directives/resizable.ts","../../../projects/extensions/grid/column-resize/column-resize-module.ts","../../../projects/extensions/grid/grid.module.ts","../../../projects/extensions/grid/mtxGrid.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { MtxGridColumn } from './grid.interface';\n\n@Injectable()\nexport class MtxGridService {\n constructor() {}\n\n /**\n * Get cell value from column key e.g. `a.b.c`\n * @param rowData Row data\n * @param colDef Column definition\n */\n getCellValue(rowData: any, colDef: MtxGridColumn): string {\n const keyArr = colDef.field ? colDef.field.split('.') : [];\n\n let tmp: any = '';\n\n keyArr.forEach((key: string, i: number) => {\n if (i === 0) {\n tmp = rowData[key];\n } else {\n tmp = tmp && tmp[key];\n }\n });\n return tmp;\n }\n\n /**\n * Get all data of a col\n * @param data All data\n * @param colDef Column definition\n */\n getColData(data: any[], colDef: MtxGridColumn): any[] {\n return data.map((rowData: any) => this.getCellValue(rowData, colDef));\n }\n\n /**\n * Remove white spaces in a string and convert string to array\n * @param str string\n */\n str2arr(str: string): string[] {\n return str.replace(/[\\r\\n\\s]/g, '').split(',');\n }\n}\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n ViewChild,\n OnChanges,\n TemplateRef,\n TrackByFunction,\n OnDestroy,\n AfterViewInit,\n ChangeDetectorRef,\n ElementRef,\n SimpleChanges,\n QueryList,\n ContentChildren,\n} from '@angular/core';\nimport { trigger, state, style, transition, animate } from '@angular/animations';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport {\n MatFooterRow,\n MatFooterRowDef,\n MatHeaderRowDef,\n MatRowDef,\n MatTable,\n MatTableDataSource,\n} from '@angular/material/table';\nimport { MatPaginator, PageEvent } from '@angular/material/paginator';\nimport { Sort, MatSort, SortDirection } from '@angular/material/sort';\nimport { ThemePalette } from '@angular/material/core';\n\nimport {\n MtxGridColumn,\n MtxGridColumnSelectionItem,\n MtxGridCellTemplate,\n MtxGridRowSelectionFormatter,\n MtxGridRowClassFormatter,\n MtxGridColumnMenu,\n MtxGridButtonType,\n} from './grid.interface';\nimport { MtxGridCellSelectionDirective } from './cell-selection.directive';\nimport { MtxGridExpansionToggleDirective } from './expansion-toggle.directive';\nimport { MtxGridService } from './grid.service';\n\n@Component({\n selector: 'mtx-grid',\n exportAs: 'mtxGrid',\n templateUrl: './grid.component.html',\n styleUrls: ['./grid.component.scss'],\n host: {\n class: 'mtx-grid',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('expansion', [\n state('collapsed', style({ height: '0', minHeight: '0', visibility: 'hidden' })),\n state('expanded', style({ height: '*', visibility: 'visible' })),\n transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),\n ]),\n ],\n})\nexport class MtxGridComponent implements OnChanges, AfterViewInit, OnDestroy {\n @ViewChild(MatTable) table!: MatTable<any>;\n @ViewChild(MatPaginator) paginator!: MatPaginator;\n @ViewChild(MatSort) sort!: MatSort;\n @ContentChildren(MatRowDef) rowDefs!: QueryList<MatRowDef<any>>;\n @ContentChildren(MatHeaderRowDef) headerRowDefs!: QueryList<MatHeaderRowDef>;\n @ContentChildren(MatFooterRow) footerRowDefs!: QueryList<MatFooterRowDef>;\n @ViewChild('columnMenu') columnMenu!: MtxGridColumnMenu;\n @ViewChild('tableContainer') tableContainer!: ElementRef<HTMLDivElement>;\n\n dataSource = new MatTableDataSource();\n\n @Input() displayedColumns!: string[];\n @Input() columns: MtxGridColumn[] = [];\n @Input() data: any[] = [];\n @Input() length = 0;\n @Input() loading = false;\n\n @Input() trackBy!: TrackByFunction<any>;\n\n @Input() columnResizable = false;\n\n // ===== Page =====\n\n @Input() pageOnFront = true;\n @Input() showPaginator = true;\n @Input() pageDisabled = false;\n @Input() showFirstLastButtons = true;\n @Input() pageIndex = 0;\n @Input() pageSize = 10;\n @Input() pageSizeOptions = [10, 50, 100];\n @Input() hidePageSize = false;\n @Output() page = new EventEmitter<PageEvent>();\n\n @Input() paginationTemplate!: TemplateRef<any>;\n\n // ===== Sort =====\n\n @Input() sortOnFront = true;\n @Input() sortActive!: string;\n @Input() sortDirection!: SortDirection;\n @Input() sortDisableClear: boolean = false;\n @Input() sortDisabled: boolean = false;\n @Input() sortStart: 'asc' | 'desc' = 'asc';\n @Output() sortChange = new EventEmitter<Sort>();\n\n // ===== Row =====\n\n @Input() rowHover = false;\n @Input() rowStriped = false;\n @Output() rowClick = new EventEmitter<any>();\n\n // ===== Expandable Row =====\n\n expansionRowStates: any[] = [];\n\n @Input() expandable = false;\n @Input() expansionTemplate!: TemplateRef<any>;\n @Output() expansionChange = new EventEmitter<any>();\n\n // ===== Row Selection =====\n\n /** Whether support multiple row/cell selection. */\n @Input() multiSelectable = true;\n\n @Input() multiSelectionWithClick = false;\n\n rowSelection: SelectionModel<any> = new SelectionModel<any>(true, []);\n\n @Input() rowSelected: any[] = [];\n @Input() rowSelectable = false;\n @Input() hideRowSelectionCheckbox = false;\n @Input() rowSelectionFormatter: MtxGridRowSelectionFormatter = {};\n @Input() rowClassFormatter!: MtxGridRowClassFormatter;\n @Output() rowSelectionChange = new EventEmitter<any[]>();\n\n // ===== Cell Selection =====\n\n cellSelection: any[] = [];\n\n @Input() cellSelectable = true;\n @Output() cellSelectionChange = new EventEmitter<any[]>();\n\n private _selectedCell: MtxGridCellSelectionDirective | undefined;\n\n // ===== Toolbar =====\n\n @Input() showToolbar = false;\n @Input() toolbarTitle = '';\n @Input() toolbarTemplate!: TemplateRef<any>;\n\n // ===== Column Menu =====\n\n columnMenuData: MtxGridColumnSelectionItem[] = [];\n\n @Input() showColumnMenuButton = true;\n @Input() columnMenuButtonText = '';\n @Input() columnMenuButtonType: MtxGridButtonType = 'stroked';\n @Input() columnMenuButtonColor: ThemePalette;\n @Input() columnMenuButtonClass = '';\n @Input() columnMenuButtonIcon = '';\n\n @Input() columnHideable = true;\n @Input() columnHideableChecked: 'show' | 'hide' = 'show';\n @Input() columnMovable = true;\n @Input() columnPinnable = true;\n @Output() columnChange = new EventEmitter<MtxGridColumnSelectionItem[]>();\n\n @Input() showColumnMenuHeader = false;\n @Input() columnMenuHeaderText = 'Columns Header';\n @Input() columnMenuHeaderTemplate!: TemplateRef<any>;\n @Input() showColumnMenuFooter = false;\n @Input() columnMenuFooterText = 'Columns Footer';\n @Input() columnMenuFooterTemplate!: TemplateRef<any>;\n\n // ===== No Result =====\n\n @Input() noResultText = 'No records found';\n @Input() noResultTemplate!: TemplateRef<any>;\n\n get _hasNoResult() {\n return (!this.data || this.data.length === 0) && !this.loading;\n }\n\n // ===== Cell Templates =====\n\n @Input() headerTemplate: TemplateRef<any> | MtxGridCellTemplate | any;\n @Input() headerExtraTemplate: TemplateRef<any> | MtxGridCellTemplate | any;\n @Input() cellTemplate: TemplateRef<any> | MtxGridCellTemplate | any;\n\n // ===== Row Templates =====\n\n @Input() useContentRowTemplate = false;\n // TODO: It can't use together with `useContentRowTemplate`\n @Input() useContentHeaderRowTemplate = false;\n // TODO: It's not working\n @Input() useContentFooterRowTemplate = false;\n\n // ===== Summary =====\n\n @Input() showSummary = false;\n @Input() summaryTemplate: TemplateRef<any> | MtxGridCellTemplate | any;\n\n // TODO: Summary display conditions\n get _whetherShowSummary() {\n return this.showSummary;\n }\n\n // ===== Side Bar =====\n\n @Input() showSidebar = false;\n @Input() sidebarTemplate!: TemplateRef<any>;\n\n // ===== Status Bar =====\n\n @Input() showStatusbar = false;\n @Input() statusbarTemplate!: TemplateRef<any>;\n\n constructor(\n private _dataGridSrv: MtxGridService,\n private _changeDetectorRef: ChangeDetectorRef\n ) {}\n\n detectChanges() {\n this._changeDetectorRef.detectChanges();\n }\n\n _isTemplateRef(obj: any) {\n return obj instanceof TemplateRef;\n }\n\n _getColData(data: any[], colDef: MtxGridColumn) {\n return this._dataGridSrv.getColData(data, colDef);\n }\n\n _getRowClassList(rowData: any, index: number) {\n const classList: any = {\n 'selected': this.rowSelection.isSelected(rowData),\n 'mat-row-odd': index % 2,\n };\n if (this.rowClassFormatter) {\n for (const key of Object.keys(this.rowClassFormatter)) {\n classList[key] = this.rowClassFormatter[key](rowData, index);\n }\n }\n return classList;\n }\n\n // Waiting for async data\n ngOnChanges(changes: SimpleChanges) {\n this._countPinnedPosition();\n\n this.displayedColumns = this.columns.filter(item => !item.hide).map(item => item.field);\n\n if (this.showColumnMenuButton) {\n this.columnMenuData = (this.columns as any[]).map(item => {\n const newItem: MtxGridColumnSelectionItem = {\n label: item.header,\n field: item.field,\n disabled: item.disabled,\n };\n if (this.columnHideableChecked === 'show') {\n newItem.show = !item.hide;\n } else {\n newItem.hide = item.hide;\n }\n return newItem;\n });\n }\n\n if (this.rowSelectable && !this.hideRowSelectionCheckbox) {\n this.displayedColumns.unshift('MtxGridCheckboxColumnDef');\n }\n\n // We should copy each item of data for expansion data\n if (this.expandable) {\n this.expansionRowStates = []; // reset\n\n this.data?.forEach(_ => {\n this.expansionRowStates.push({ expanded: false });\n });\n }\n\n if (this.rowSelectable) {\n this.rowSelection = new SelectionModel<any>(this.multiSelectable, this.rowSelected);\n }\n\n this.dataSource = new MatTableDataSource(this.data);\n\n this.dataSource.paginator = this.pageOnFront ? this.paginator : null;\n this.dataSource.sort = this.sortOnFront ? this.sort : null;\n\n // Only scroll top with data change\n if (changes.data) {\n this.scrollTop(0);\n }\n }\n\n ngAfterViewInit() {\n if (this.pageOnFront) {\n this.dataSource.paginator = this.paginator;\n }\n\n if (this.sortOnFront) {\n this.dataSource.sort = this.sort;\n }\n\n if (this.rowDefs?.length > 0 && this.useContentRowTemplate) {\n this.rowDefs.forEach(rowDef => this.table.addRowDef(rowDef));\n }\n if (this.headerRowDefs?.length > 0 && this.useContentHeaderRowTemplate) {\n this.headerRowDefs.forEach(headerRowDef => this.table.addHeaderRowDef(headerRowDef));\n }\n if (this.footerRowDefs?.length > 0 && this.useContentFooterRowTemplate) {\n this.footerRowDefs.forEach(footerRowDef => this.table.addFooterRowDef(footerRowDef));\n }\n }\n\n ngOnDestroy() {}\n\n _countPinnedPosition() {\n const count = (acc: number, cur: MtxGridColumn) => acc + parseFloat(cur.width || '80px');\n\n const pinnedLeftCols = this.columns.filter(col => col.pinned && col.pinned === 'left');\n pinnedLeftCols.forEach((item, idx) => {\n item.left = pinnedLeftCols.slice(0, idx).reduce(count, 0) + 'px';\n });\n\n const pinnedRightCols = this.columns\n .filter(col => col.pinned && col.pinned === 'right')\n .reverse();\n pinnedRightCols.forEach((item, idx) => {\n item.right = pinnedRightCols.slice(0, idx).reduce(count, 0) + 'px';\n });\n }\n\n _getIndex(index: number, dataIndex: number) {\n return typeof index === 'undefined' ? dataIndex : index;\n }\n\n _handleSortChange(sort: Sort) {\n this.sortChange.emit(sort);\n }\n\n /** Expansion change event */\n _handleExpansionChange(\n expansionRef: MtxGridExpansionToggleDirective,\n rowData: any,\n column: any,\n index: number\n ) {\n this.expansionChange.emit({ expanded: expansionRef.expanded, data: rowData, index, column });\n }\n\n /** Cell select event */\n _selectCell(cellRef: MtxGridCellSelectionDirective, rowData: any, colDef: any): void {\n // If not the same cell\n if (this._selectedCell !== cellRef) {\n const colValue = this._dataGridSrv.getCellValue(rowData, colDef);\n this.cellSelection = []; // reset\n this.cellSelection.push({ cellData: colValue, rowData, colDef });\n\n this.cellSelectionChange.emit(this.cellSelection);\n\n if (this._selectedCell) {\n this._selectedCell.deselect(); // the selectedCell will be undefined\n }\n }\n\n this._selectedCell = cellRef.selected ? cellRef : undefined;\n }\n\n /** Row select event */\n _selectRow(event: MouseEvent, rowData: any, index: number) {\n if (\n this.rowSelectable &&\n !this.rowSelectionFormatter.disabled?.(rowData, index) &&\n !this.rowSelectionFormatter.hideCheckbox?.(rowData, index)\n ) {\n // metaKey -> command key\n if (!this.multiSelectionWithClick && !event.ctrlKey && !event.metaKey) {\n this.rowSelection.clear();\n }\n\n this._toggleNormalCheckbox(rowData);\n }\n\n this.rowClick.emit({ rowData, index });\n }\n\n /** Whether the number of selected elements matches the total number of rows. */\n _isAllSelected() {\n const numSelected = this.rowSelection.selected.length;\n const numRows = this.dataSource.data.filter(\n (row, index) => !this.rowSelectionFormatter.disabled?.(row, index)\n ).length;\n return numSelected === numRows;\n }\n\n /** Select all rows if they are not all selected; otherwise clear selection. */\n _toggleMasterCheckbox() {\n this._isAllSelected()\n ? this.rowSelection.clear()\n : this.dataSource.data.forEach((row, index) => {\n if (!this.rowSelectionFormatter.disabled?.(row, index)) {\n this.rowSelection.select(row);\n }\n });\n this.rowSelectionChange.emit(this.rowSelection.selected);\n }\n\n /** Select normal row */\n _toggleNormalCheckbox(row: any) {\n this.rowSelection.toggle(row);\n this.rowSelectionChange.emit(this.rowSelection.selected);\n }\n\n /** Column change event */\n _handleColumnChange(columns: any[]) {\n this.columnChange.emit(columns);\n\n this.displayedColumns = Object.assign([], this.getDisplayedColumnFields(columns));\n\n if (this.rowSelectable && !this.hideRowSelectionCheckbox) {\n this.displayedColumns.unshift('MtxGridCheckboxColumnDef');\n }\n }\n\n getDisplayedColumnFields(columns: any[]): string[] {\n const fields = columns\n .filter((item: MtxGridColumnSelectionItem) =>\n this.columnHideableChecked === 'show' ? item.show : !item.hide\n )\n .map((item: MtxGridColumnSelectionItem) => item.field);\n return fields;\n }\n\n /** Customize expansion event */\n toggleExpansion(index: number) {\n if (!this.expandable) {\n throw new Error('The `expandable` should be set true.');\n }\n this.expansionRowStates[index].expanded = !this.expansionRowStates[index].expanded;\n return this.expansionRowStates[index].expanded;\n }\n\n /** Scroll to top when turn to the next page. */\n _handlePage(e: PageEvent) {\n if (this.pageOnFront) {\n this.scrollTop(0);\n }\n this.page.emit(e);\n }\n\n scrollTop(value?: number): number | void {\n if (value == null) {\n return this.tableContainer?.nativeElement.scrollTop;\n }\n if (this.tableContainer && !this.loading) {\n this.tableContainer.nativeElement.scrollTop = value;\n }\n }\n\n scrollLeft(value?: number): number | void {\n if (value == null) {\n return this.tableContainer?.nativeElement.scrollLeft;\n }\n if (this.tableContainer && !this.loading) {\n this.tableContainer.nativeElement.scrollLeft = value;\n }\n }\n}\n","import { Component, Input, ViewEncapsulation } from '@angular/core';\nimport { ThemePalette } from '@angular/material/core';\nimport { MtxDialog } from '@ng-matero/extensions/dialog';\nimport { Observable } from 'rxjs';\n\nimport { MtxGridColumn, MtxGridColumnButton } from './grid.interface';\nimport { MtxGridService } from './grid.service';\nimport PhotoViewer from 'photoviewer';\n\n@Component({\n selector: 'mtx-grid-cell',\n exportAs: 'mtxGridCell',\n templateUrl: './cell.component.html',\n styleUrls: ['./cell.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class MtxGridCellComponent {\n /** Row data */\n @Input() rowData = {};\n\n /** Column definition */\n @Input() colDef!: MtxGridColumn;\n\n /** All data */\n @Input() data: any[] = [];\n\n /** Whether show summary */\n @Input() summary = false;\n\n get _colValue() {\n return this._dataGridSrv.getCellValue(this.rowData, this.colDef);\n }\n\n _isString(fn: any) {\n return Object.prototype.toString.call(fn) === '[object String]';\n }\n\n _isFunction(fn: any) {\n return Object.prototype.toString.call(fn) === '[object Function]';\n }\n\n _isEmptyValue(value: any) {\n return value == null || value.toString() === '';\n }\n\n _isContainHTML(value: string) {\n return /<\\/?[a-z][\\s\\S]*>/i.test(value);\n }\n\n _getText(value: any) {\n return this._isEmptyValue(value) ? '--' : value;\n }\n\n _getTooltip(value: any) {\n return this._isEmptyValue(value) ? '' : value;\n }\n\n _getFormatterTooltip(value: any) {\n return this._isContainHTML(value) || this._isEmptyValue(value) ? '' : value;\n }\n\n _formatSummary(data: any[], colDef: MtxGridColumn) {\n if (this._isString(colDef.summary)) {\n return colDef.summary;\n } else if (this._isFunction(colDef.summary)) {\n return (colDef.summary as (data: any[], colDef?: MtxGridColumn) => void)(\n this._dataGridSrv.getColData(data, colDef),\n colDef\n );\n }\n }\n\n constructor(private _dialog: MtxDialog, private _dataGridSrv: MtxGridService) {}\n\n _handleActionConfirm(\n event: MouseEvent,\n title: string | Observable<string>,\n description: string | Observable<string> = '',\n okColor: ThemePalette = 'primary',\n okText: string | Observable<string> = 'OK',\n closeColor: ThemePalette,\n closeText: string | Observable<string> = 'CLOSE',\n fn?: (p: any) => void,\n data?: any\n ) {\n event.preventDefault();\n event.stopPropagation();\n\n this._dialog.open({\n title,\n description,\n buttons: [\n {\n color: okColor,\n text: okText,\n onClick: () => (fn ? fn(data) : {}),\n },\n { color: closeColor, text: closeText, onClick: () => {} },\n ],\n });\n }\n\n _handleActionClick(event: MouseEvent, btn: MtxGridColumnButton, rowData: any) {\n event.preventDefault();\n event.stopPropagation();\n\n if (btn.click) {\n btn.click(rowData);\n }\n }\n\n /** Preview enlarged image */\n _onPreview(urlStr: string) {\n const imgs: PhotoViewer.Img[] = [];\n\n this._dataGridSrv.str2arr(urlStr).forEach((url, index) => {\n imgs.push({ title: index + 1 + '', src: url });\n });\n\n const footerToolbar =\n imgs.length > 1\n ? ['zoomIn', 'zoomOut', 'prev', 'next', 'rotateRight', 'rotateLeft', 'actualSize']\n : ['zoomIn', 'zoomOut', 'rotateRight', 'rotateLeft', 'actualSize'];\n\n const options: PhotoViewer.Options = {\n title: imgs.length > 1,\n footerToolbar,\n };\n\n const viewer = new PhotoViewer(imgs, options);\n }\n}\n","import {\n Component,\n Input,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n Output,\n EventEmitter,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\nimport { MatCheckboxChange } from '@angular/material/checkbox';\nimport { MatMenu, MatMenuTrigger } from '@angular/material/menu';\nimport { ThemePalette } from '@angular/material/core';\nimport { MtxGridButtonType, MtxGridColumnSelectionItem } from './grid.interface';\n\n@Component({\n selector: 'mtx-grid-column-menu',\n exportAs: 'mtxGridColumnMenu',\n templateUrl: './column-menu.component.html',\n styleUrls: ['./column-menu.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MtxGridColumnMenuComponent {\n @ViewChild('menu', { static: true }) menuPanel!: MatMenu;\n @ViewChild(MatMenuTrigger) menuTrigger!: MatMenuTrigger;\n\n @Input() columns: MtxGridColumnSelectionItem[] = [];\n @Input() selectable = true;\n @Input() selectableChecked: 'show' | 'hide' = 'show';\n @Input() sortable = true;\n @Input() dndSortable = true;\n\n @Input()\n get buttonText() {\n const defaultText = `Columns ${this.selectableChecked === 'show' ? 'Shown' : 'Hidden'}`;\n const text = this._buttonText ? this._buttonText : defaultText;\n return text;\n }\n set buttonText(value: string) {\n this._buttonText = value;\n }\n private _buttonText = '';\n\n @Input() buttonType: MtxGridButtonType = 'stroked';\n @Input() buttonColor: ThemePalette;\n @Input() buttonClass = '';\n @Input() buttonIcon = '';\n\n @Input() showHeader = false;\n @Input() headerText = 'Columns Header';\n @Input() headerTemplate!: TemplateRef<any>;\n @Input() showFooter = false;\n @Input() footerText = 'Columns Footer';\n @Input() footerTemplate!: TemplateRef<any>;\n\n @Output() selectionChange = new EventEmitter<MtxGridColumnSelectionItem[]>();\n @Output() sortChange = new EventEmitter<MtxGridColumnSelectionItem[]>();\n\n _handleDroped(event: CdkDragDrop<string[]>) {\n moveItemInArray(this.columns, event.previousIndex, event.currentIndex);\n this.sortChange.emit(this.columns);\n }\n\n _handleSelection(e: MatCheckboxChange) {\n this.selectionChange.emit(this.columns);\n }\n}\n","import {\n Directive,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n Output,\n TemplateRef,\n} from '@angular/core';\n\n@Directive({\n selector: '[mtx-grid-expansion-toggle]',\n})\nexport class MtxGridExpansionToggleDirective {\n private _opened = false;\n private _row: any;\n private _tplRef!: TemplateRef<any>;\n\n @Input()\n get opened() {\n return this._opened;\n }\n set opened(newValue: boolean) {\n this._opened = newValue;\n this.openedChange.emit(newValue);\n }\n @Output() openedChange = new EventEmitter<boolean>();\n\n @HostBinding('class.expanded')\n get expanded(): boolean {\n return this._opened;\n }\n\n @Input()\n set expandableRow(value: any) {\n if (value !== this._row) {\n this._row = value;\n }\n }\n\n @Input('expansionRowTpl')\n set template(value: TemplateRef<any>) {\n if (value !== this._tplRef) {\n this._tplRef = value;\n }\n }\n\n @Output() toggleChange = new EventEmitter<MtxGridExpansionToggleDirective>();\n\n constructor() {}\n\n @HostListener('click', ['$event'])\n onClick(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n this.toggle();\n }\n\n toggle(): void {\n this.opened = !this.opened;\n this.toggleChange.emit(this);\n }\n}\n","import { Directive, EventEmitter, HostBinding, HostListener, Input, Output } from '@angular/core';\n\nimport { MtxGridComponent } from './grid.component';\n\n@Directive({\n selector: '[mtx-grid-selectable-cell]',\n})\nexport class MtxGridCellSelectionDirective {\n private _selected = false;\n private _rowData: any;\n\n shiftKeyPressed = false;\n ctrlKeyPressed = false;\n\n @HostBinding('class.selected')\n get selected(): boolean {\n return this._selected;\n }\n\n @Input()\n set matSelectableRowData(value: any) {\n if (value !== this._rowData) {\n this._rowData = value;\n }\n }\n\n @Output() cellSelectionChange = new EventEmitter<MtxGridCellSelectionDirective>();\n\n constructor(private _dataGrid: MtxGridComponent) {}\n\n @HostListener('click', ['$event'])\n onClick(event: MouseEvent): void {\n this.ctrlKeyPressed = event.ctrlKey;\n this.shiftKeyPressed = event.shiftKey;\n\n if (this._dataGrid.cellSelectable) {\n this.select();\n }\n }\n\n select(): void {\n this._selected = true;\n this.cellSelectionChange.emit(this);\n }\n\n deselect(): void {\n this._selected = false;\n this.cellSelectionChange.emit(this);\n }\n\n toggle(): void {\n this._selected = !this._selected;\n this.cellSelectionChange.emit(this);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport { Inject, Injectable, Provider } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { CdkTable, _CoalescedStyleScheduler, _COALESCED_STYLE_SCHEDULER } from '@angular/cdk/table';\n\nimport {\n ColumnResize,\n ResizeStrategy,\n CdkFlexTableResizeStrategy,\n TABLE_LAYOUT_FIXED_RESIZE_STRATEGY_PROVIDER,\n} from '@ng-matero/extensions/column-resize';\n\nexport { TABLE_LAYOUT_FIXED_RESIZE_STRATEGY_PROVIDER };\n\n/**\n * Overrides CdkFlexTableResizeStrategy to match mat-column elements.\n */\n@Injectable()\nexport class MatFlexTableResizeStrategy extends CdkFlexTableResizeStrategy {\n constructor(\n columnResize: ColumnResize,\n @Inject(_COALESCED_STYLE_SCHEDULER) styleScheduler: _CoalescedStyleScheduler,\n table: CdkTable<unknown>,\n @Inject(DOCUMENT) document: any\n ) {\n super(columnResize, styleScheduler, table, document);\n }\n\n protected getColumnCssClass(cssFriendlyColumnName: string): string {\n return `mat-column-${cssFriendlyColumnName}`;\n }\n}\n\nexport const FLEX_RESIZE_STRATEGY_PROVIDER: Provider = {\n provide: ResizeStrategy,\n useClass: MatFlexTableResizeStrategy,\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport { Provider } from '@angular/core';\n\nimport {\n ColumnResize,\n ColumnResizeNotifier,\n ColumnResizeNotifierSource,\n HeaderRowEventDispatcher,\n} from '@ng-matero/extensions/column-resize';\n\nimport {\n TABLE_LAYOUT_FIXED_RESIZE_STRATEGY_PROVIDER,\n FLEX_RESIZE_STRATEGY_PROVIDER,\n} from '../resize-strategy';\n\nconst PROVIDERS: Provider[] = [\n ColumnResizeNotifier,\n HeaderRowEventDispatcher,\n ColumnResizeNotifierSource,\n];\nexport const TABLE_PROVIDERS: Provider[] = [\n ...PROVIDERS,\n TABLE_LAYOUT_FIXED_RESIZE_STRATEGY_PROVIDER,\n];\nexport const FLEX_PROVIDERS: Provider[] = [...PROVIDERS, FLEX_RESIZE_STRATEGY_PROVIDER];\n\nexport const TABLE_HOST_BINDINGS = {\n class: 'mat-column-resize-table',\n};\nexport const FLEX_HOST_BINDINGS = {\n class: 'mat-column-resize-flex',\n};\n\nexport abstract class AbstractMatColumnResize extends ColumnResize {\n getTableHeight() {\n const table = this.elementRef.nativeElement;\n const tableParent = table!.parentNode as HTMLElement;\n const isTableContainer = tableParent!.classList.contains('mat-table-container');\n return isTableContainer ? tableParent!.offsetHeight : table!.offsetHeight;\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport { Directive, ElementRef, NgZone } from '@angular/core';\nimport {\n ColumnResize,\n ColumnResizeNotifier,\n ColumnResizeNotifierSource,\n HeaderRowEventDispatcher,\n} from '@ng-matero/extensions/column-resize';\n\nimport { AbstractMatColumnResize, TABLE_HOST_BINDINGS, TABLE_PROVIDERS } from './common';\n\n/**\n * Explicitly enables column resizing for a table-based mat-table.\n * Individual columns must be annotated specifically.\n */\n@Directive({\n selector: 'table[mat-table][columnResize]',\n host: TABLE_HOST_BINDINGS,\n providers: [...TABLE_PROVIDERS, { provide: ColumnResize, useExisting: MatColumnResize }],\n})\nexport class MatColumnResize extends AbstractMatColumnResize {\n constructor(\n readonly columnResizeNotifier: ColumnResizeNotifier,\n readonly elementRef: ElementRef<HTMLElement>,\n protected readonly eventDispatcher: HeaderRowEventDispatcher,\n protected readonly ngZone: NgZone,\n protected readonly notifier: ColumnResizeNotifierSource\n ) {\n super();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport { Directive, ElementRef, NgZone } from '@angular/core';\nimport {\n ColumnResize,\n ColumnResizeNotifier,\n ColumnResizeNotifierSource,\n HeaderRowEventDispatcher,\n} from '@ng-matero/extensions/column-resize';\n\nimport { AbstractMatColumnResize, FLEX_HOST_BINDINGS, FLEX_PROVIDERS } from './common';\n\n/**\n * Explicitly enables column resizing for a flexbox-based mat-table.\n * Individual columns must be annotated specifically.\n */\n@Directive({\n selector: 'mat-table[columnResize]',\n host: FLEX_HOST_BINDINGS,\n providers: [...FLEX_PROVIDERS, { provide: ColumnResize, useExisting: MatColumnResizeFlex }],\n})\nexport class MatColumnResizeFlex extends AbstractMatColumnResize {\n constructor(\n readonly columnResizeNotifier: ColumnResizeNotifier,\n readonly elementRef: ElementRef<HTMLElement>,\n protected readonly eventDispatcher: HeaderRowEventDispatcher,\n protected readonly ngZone: NgZone,\n protected readonly notifier: ColumnResizeNotifierSource\n ) {\n super();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n NgZone,\n ViewEncapsulation,\n} from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport {\n CdkColumnDef,\n _CoalescedStyleScheduler,\n _COALESCED_STYLE_SCHEDULER,\n} from '@angular/cdk/table';\nimport { Directionality } from '@angular/cdk/bidi';\nimport {\n ColumnResize,\n ColumnResizeNotifierSource,\n HeaderRowEventDispatcher,\n ResizeOverlayHandle,\n ResizeRef,\n} from '@ng-matero/extensions/column-resize';\n\nimport { AbstractMatColumnResize } from './column-resize-directives/common';\n\n/**\n * Component shown over the edge of a resizable column that is responsible\n * for handling column resize mouse events and displaying a vertical line along the column edge.\n */\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { class: 'mat-column-resize-overlay-thumb' },\n template: '',\n})\nexport class MatColumnResizeOverlayHandle extends ResizeOverlayHandle {\n protected readonly document: Document;\n\n constructor(\n protected readonly columnDef: CdkColumnDef,\n protected readonly columnResize: ColumnResize,\n protected readonly directionality: Directionality,\n protected readonly elementRef: ElementRef,\n protected readonly eventDispatcher: HeaderRowEventDispatcher,\n protected readonly ngZone: NgZone,\n protected readonly resizeNotifier: ColumnResizeNotifierSource,\n protected readonly resizeRef: ResizeRef,\n @Inject(_COALESCED_STYLE_SCHEDULER)\n protected readonly styleScheduler: _CoalescedStyleScheduler,\n @Inject(DOCUMENT) document: any\n ) {\n super();\n this.document = document;\n }\n\n protected updateResizeActive(active: boolean): void {\n super.updateResizeActive(active);\n\n this.resizeRef.overlayRef.updateSize({\n height: active\n ? (this.columnResize as AbstractMatColumnResize).getTableHeight()\n : this.resizeRef.origin.nativeElement!.offsetHeight,\n });\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport { Type } from '@angular/core';\nimport { Resizable } from '@ng-matero/extensions/column-resize';\nimport { MatColumnResizeOverlayHandle } from '../overlay-handle';\n\nexport abstract class AbstractMatResizable extends Resizable<MatColumnResizeOverlayHandle> {\n minWidthPxInternal = 32;\n\n protected getInlineHandleCssClassName(): string {\n return 'mat-resizable-handle';\n }\n\n protected getOverlayHandleComponentType(): Type<MatColumnResizeOverlayHandle> {\n return MatColumnResizeOverlayHandle;\n }\n}\n\nexport const RESIZABLE_HOST_BINDINGS = {\n class: 'mat-resizable',\n};\n\nexport const RESIZABLE_INPUTS = [\n 'minWidthPx: matResizableMinWidthPx',\n 'maxWidthPx: matResizableMaxWidthPx',\n];\n","import {\n Directive,\n ElementRef,\n Inject,\n Injector,\n NgZone,\n ViewContainerRef,\n ChangeDetectorRef,\n Input,\n HostBinding,\n} from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { Overlay } from '@angular/cdk/overlay';\nimport {\n CdkColumnDef,\n _CoalescedStyleScheduler,\n _COALESCED_STYLE_SCHEDULER,\n} from '@angular/cdk/table';\nimport {\n ColumnResize,\n ColumnResizeNotifierSource,\n HeaderRowEventDispatcher,\n ResizeStrategy,\n} from '@ng-matero/extensions/column-resize';\n\nimport { AbstractMatResizable, RESIZABLE_HOST_BINDINGS, RESIZABLE_INPUTS } from './common';\n\n/**\n * Explicitly enables column resizing for a mat-header-cell.\n */\n@Directive({\n selector: 'mat-header-cell[resizable], th[mat-header-cell][resizable]',\n inputs: RESIZABLE_INPUTS,\n})\nexport class MatResizable extends AbstractMatResizable {\n isResizable = true;\n\n @HostBinding('class') get hasResizableClass() {\n return this.isResizable ? RESIZABLE_HOST_BINDINGS.class : '';\n }\n\n @Input()\n get resizable() {\n return this.isResizable;\n }\n set resizable(newValue: any) {\n this.isResizable = newValue == null || newValue === '' || newValue;\n }\n\n protected readonly document: Document;\n\n constructor(\n protected readonly columnDef: CdkColumnDef,\n protected readonly columnResize: ColumnResize,\n protected readonly directionality: Directionality,\n @Inject(DOCUMENT) document: any,\n protected readonly elementRef: ElementRef,\n protected readonly eventDispatcher: HeaderRowEventDispatcher,\n protected readonly injector: Injector,\n protected readonly ngZone: NgZone,\n protected readonly overlay: Overlay,\n protected readonly resizeNotifier: ColumnResizeNotifierSource,\n protected readonly resizeStrategy: ResizeStrategy,\n @Inject(_COALESCED_STYLE_SCHEDULER)\n protected readonly styleScheduler: _CoalescedStyleScheduler,\n protected readonly viewContainerRef: ViewContainerRef,\n protected readonly changeDetectorRef: ChangeDetectorRef\n ) {\n super();\n this.document = document;\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport { NgModule } from '@angular/core';\nimport { OverlayModule } from '@angular/cdk/overlay';\n\nimport { MatColumnResize } from './column-resize-directives/column-resize';\nimport { MatColumnResizeFlex } from './column-resize-directives/column-resize-flex';\nimport { MatResizable } from './resizable-directives/resizable';\nimport { MatColumnResizeOverlayHandle } from './overlay-handle';\n\nconst ENTRY_COMMON_COMPONENTS = [MatColumnResizeOverlayHandle];\n\n@NgModule({\n declarations: ENTRY_COMMON_COMPONENTS,\n exports: ENTRY_COMMON_COMPONENTS,\n entryComponents: ENTRY_COMMON_COMPONENTS,\n})\nexport class MatColumnResizeCommonModule {}\n\nconst IMPORTS = [OverlayModule, MatColumnResizeCommonModule];\n\n@NgModule({\n imports: IMPORTS,\n declarations: [MatColumnResize, MatColumnResizeFlex, MatResizable],\n exports: [MatColumnResize, MatColumnResizeFlex, MatResizable],\n})\nexport class MatColumnResizeModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatPaginatorModule } from '@angular/material/paginator';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\n\nimport { MtxPipesModule } from '@ng-matero/extensions/pipes';\nimport { MtxDialogModule } from '@ng-matero/extensions/dialog';\nimport { MtxGridComponent } from './grid.component';\nimport { MtxGridCellComponent } from './cell.component';\nimport { MtxGridColumnMenuComponent } from './column-menu.component';\nimport { MtxGridExpansionToggleDirective } from './expansion-toggle.directive';\nimport { MtxGridCellSelectionDirective } from './cell-selection.directive';\nimport { MtxGridService } from './grid.service';\nimport { MatColumnResizeModule } from './column-resize/column-resize-module';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n MatTableModule,\n MatSortModule,\n MatPaginatorModule,\n MatCheckboxModule,\n MatButtonModule,\n MatProgressBarModule,\n MatChipsModule,\n MatTooltipModule,\n MatIconModule,\n MatSelectModule,\n MatFormFieldModule,\n MatMenuModule,\n DragDropModule,\n MtxDialogModule,\n MtxPipesModule,\n MatColumnResizeModule,\n ],\n exports: [\n MtxGridComponent,\n MtxGridCellComponent,\n MtxGridColumnMenuComponent,\n MtxGridExpansionToggleDirective,\n MtxGridCellSelectionDirective,\n MatColumnResizeModule,\n ],\n declarations: [\n MtxGridComponent,\n MtxGridCellComponent,\n MtxGridColumnMenuComponent,\n MtxGridExpansionToggleDirective,\n MtxGridCellSelectionDirective,\n ],\n providers: [MtxGridService],\n})\nexport class MtxGridModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,87 +0,0 @@
1
- import { Component, ViewEncapsulation, ChangeDetectionStrategy, ChangeDetectorRef, Input, NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { MatProgressBarModule } from '@angular/material/progress-bar';
4
- import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
5
- import { coerceBooleanProperty } from '@angular/cdk/coercion';
6
-
7
- class MtxLoaderComponent {
8
- constructor(_changeDetectorRef) {
9
- this._changeDetectorRef = _changeDetectorRef;
10
- this.type = 'spinner';
11
- this.color = 'primary';
12
- this.mode = 'indeterminate';
13
- this.value = 0;
14
- this.strokeWidth = 4; // only support spinner
15
- this.diameter = 48; // only support spinner
16
- this.bufferValue = 0; // only support progresbar
17
- this._loading = true;
18
- this._hasBackdrop = true;
19
- }
20
- get loading() {
21
- return this._loading;
22
- }
23
- set loading(value) {
24
- this._loading = coerceBooleanProperty(value);
25
- }
26
- get hasBackdrop() {
27
- return this._hasBackdrop;
28
- }
29
- set hasBackdrop(value) {
30
- this._hasBackdrop = coerceBooleanProperty(value);
31
- }
32
- }
33
- /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
34
- MtxLoaderComponent.decorators = [
35
- { type: Component, args: [{
36
- selector: 'mtx-loader',
37
- exportAs: 'mtxLoader',
38
- host: {
39
- 'class': 'mtx-loader',
40
- '[class.mtx-loader-loading]': 'loading',
41
- },
42
- template: "<div class=\"mtx-loader-backdrop\" *ngIf=\"loading && hasBackdrop\"></div>\r\n<div class=\"mtx-loader-main\" *ngIf=\"loading\">\r\n <mat-spinner *ngIf=\"type==='spinner'\"\r\n [color]=\"color\"\r\n [strokeWidth]=\"strokeWidth\"\r\n [diameter]=\"diameter\"\r\n [mode]=\"$any(mode)\"\r\n [value]=\"value\">\r\n </mat-spinner>\r\n\r\n <mat-progress-bar *ngIf=\"type==='progressbar'\"\r\n [color]=\"color\"\r\n [mode]=\"$any(mode)\"\r\n [value]=\"value\"\r\n [bufferValue]=\"bufferValue\">\r\n </mat-progress-bar>\r\n</div>\r\n<ng-content></ng-content>\r\n",
43
- encapsulation: ViewEncapsulation.None,
44
- changeDetection: ChangeDetectionStrategy.OnPush,
45
- styles: [".mtx-loader{position:relative;display:block;width:100%;height:100%}.mtx-loader-main{position:absolute;top:0;left:0;z-index:2;display:flex;justify-content:center;align-items:center;width:100%;height:100%}.mtx-loader-main .mat-spinner{position:relative}.mtx-loader-main .mat-progress-bar{position:absolute;top:0;left:0;width:100%}.mtx-loader-backdrop{display:block;position:absolute;top:0;left:0;z-index:1;width:100%;height:100%;content:\"\"}\n"]
46
- },] }
47
- ];
48
- /**
49
- * @type {function(): !Array<(null|{
50
- * type: ?,
51
- * decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>),
52
- * })>}
53
- * @nocollapse
54
- */
55
- MtxLoaderComponent.ctorParameters = () => [
56
- { type: ChangeDetectorRef }
57
- ];
58
- /** @type {!Object<string, !Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
59
- MtxLoaderComponent.propDecorators = {
60
- type: [{ type: Input }],
61
- color: [{ type: Input }],
62
- mode: [{ type: Input }],
63
- value: [{ type: Input }],
64
- strokeWidth: [{ type: Input }],
65
- diameter: [{ type: Input }],
66
- bufferValue: [{ type: Input }],
67
- loading: [{ type: Input }],
68
- hasBackdrop: [{ type: Input }]
69
- };
70
-
71
- class MtxLoaderModule {
72
- }
73
- /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
74
- MtxLoaderModule.decorators = [
75
- { type: NgModule, args: [{
76
- imports: [CommonModule, MatProgressSpinnerModule, MatProgressBarModule],
77
- exports: [MtxLoaderComponent],
78
- declarations: [MtxLoaderComponent],
79
- },] }
80
- ];
81
-
82
- /**
83
- * Generated bundle index. Do not edit.
84
- */
85
-
86
- export { MtxLoaderComponent, MtxLoaderModule };
87
- //# sourceMappingURL=mtxLoader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mtxLoader.js","sources":["../../../projects/extensions/loader/loader.component.ts","../../../projects/extensions/loader/loader.module.ts","../../../projects/extensions/loader/mtxLoader.ts"],"sourcesContent":["import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n Input,\n ChangeDetectorRef,\n} from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ThemePalette } from '@angular/material/core';\nimport { ProgressBarMode } from '@angular/material/progress-bar';\nimport { ProgressSpinnerMode } from '@angular/material/progress-spinner';\n\nexport type MtxLoaderType = 'spinner' | 'progressbar';\n\n@Component({\n selector: 'mtx-loader',\n exportAs: 'mtxLoader',\n host: {\n 'class': 'mtx-loader',\n '[class.mtx-loader-loading]': 'loading',\n },\n templateUrl: './loader.component.html',\n styleUrls: ['./loader.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MtxLoaderComponent {\n @Input() type: MtxLoaderType = 'spinner';\n @Input() color: ThemePalette = 'primary';\n @Input() mode: ProgressSpinnerMode | ProgressBarMode = 'indeterminate';\n @Input() value = 0;\n @Input() strokeWidth = 4; // only support spinner\n @Input() diameter = 48; // only support spinner\n @Input() bufferValue = 0; // only support progresbar\n @Input()\n get loading(): boolean {\n return this._loading;\n }\n set loading(value: boolean) {\n this._loading = coerceBooleanProperty(value);\n }\n private _loading = true;\n\n @Input()\n get hasBackdrop(): boolean {\n return this._hasBackdrop;\n }\n set hasBackdrop(value: boolean) {\n this._hasBackdrop = coerceBooleanProperty(value);\n }\n private _hasBackdrop = true;\n\n constructor(private _changeDetectorRef: ChangeDetectorRef) {}\n\n static ngAcceptInputType_loading: BooleanInput;\n static ngAcceptInputType_hasBackdrop: BooleanInput;\n}\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\n\r\nimport { MtxLoaderComponent } from './loader.component';\r\n\r\n@NgModule({\r\n imports: [CommonModule, MatProgressSpinnerModule, MatProgressBarModule],\r\n exports: [MtxLoaderComponent],\r\n declarations: [MtxLoaderComponent],\r\n})\r\nexport class MtxLoaderModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;MA0Ba,kBAAkB;IA0B7B,YAAoB,kBAAqC;QAArC,uBAAkB,GAAlB,kBAAkB,CAAmB;QAzBhD,SAAI,GAAkB,SAAS,CAAC;QAChC,UAAK,GAAiB,SAAS,CAAC;QAChC,SAAI,GAA0C,eAAe,CAAC;QAC9D,UAAK,GAAG,CAAC,CAAC;QACV,gBAAW,GAAG,CAAC,CAAC;QAChB,aAAQ,GAAG,EAAE,CAAC;QACd,gBAAW,GAAG,CAAC,CAAC;QAQjB,aAAQ,GAAG,IAAI,CAAC;QAShB,iBAAY,GAAG,IAAI,CAAC;KAEiC;IAlB7D,IACI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;KACtB;IACD,IAAI,OAAO,CAAC,KAAc;QACxB,IAAI,CAAC,QAAQ,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;KAC9C;IAGD,IACI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;KAC1B;IACD,IAAI,WAAW,CAAC,KAAc;QAC5B,IAAI,CAAC,YAAY,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;KAClD;;;;YAnCF,SAAS,SAAC;gBACT,QAAQ,EAAE,YAAY;gBACtB,QAAQ,EAAE,WAAW;gBACrB,IAAI,EAAE;oBACJ,OAAO,EAAE,YAAY;oBACrB,4BAA4B,EAAE,SAAS;iBACxC;gBACD,0sBAAsC;gBAEtC,aAAa,EAAE,iBAAiB,CAAC,IAAI;gBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;;aAChD;;;;;;;;;;YApBC,iBAAiB;;;;mBAsBhB,KAAK;oBACL,KAAK;mBACL,KAAK;oBACL,KAAK;0BACL,KAAK;uBACL,KAAK;0BACL,KAAK;sBACL,KAAK;0BASL,KAAK;;;MC/BK,eAAe;;;;YAL3B,QAAQ,SAAC;gBACR,OAAO,EAAE,CAAC,YAAY,EAAE,wBAAwB,EAAE,oBAAoB,CAAC;gBACvE,OAAO,EAAE,CAAC,kBAAkB,CAAC;gBAC7B,YAAY,EAAE,CAAC,kBAAkB,CAAC;aACnC;;;ACXD;;;;;;"}
@@ -1,31 +0,0 @@
1
- import { Pipe, NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { isObservable, of } from 'rxjs';
4
-
5
- class MtxToObservablePipe {
6
- transform(value) {
7
- return isObservable(value) ? value : of(value);
8
- }
9
- }
10
- /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
11
- MtxToObservablePipe.decorators = [
12
- { type: Pipe, args: [{ name: 'toObservable' },] }
13
- ];
14
-
15
- class MtxPipesModule {
16
- }
17
- /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
18
- MtxPipesModule.decorators = [
19
- { type: NgModule, args: [{
20
- imports: [CommonModule],
21
- exports: [MtxToObservablePipe],
22
- declarations: [MtxToObservablePipe],
23
- },] }
24
- ];
25
-
26
- /**
27
- * Generated bundle index. Do not edit.
28
- */
29
-
30
- export { MtxPipesModule, MtxToObservablePipe };
31
- //# sourceMappingURL=mtxPipes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mtxPipes.js","sources":["../../../projects/extensions/pipes/to-observable.pipe.ts","../../../projects/extensions/pipes/pipes.module.ts","../../../projects/extensions/pipes/mtxPipes.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\nimport { Observable, of, isObservable } from 'rxjs';\n\n@Pipe({ name: 'toObservable' })\nexport class MtxToObservablePipe implements PipeTransform {\n transform(value: Observable<any> | unknown): Observable<any> {\n return isObservable(value) ? value : of(value);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MtxToObservablePipe } from './to-observable.pipe';\n\n@NgModule({\n imports: [CommonModule],\n exports: [MtxToObservablePipe],\n declarations: [MtxToObservablePipe],\n})\nexport class MtxPipesModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;MAIa,mBAAmB;IAC9B,SAAS,CAAC,KAAgC;QACxC,OAAO,YAAY,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;KAChD;;;;YAJF,IAAI,SAAC,EAAE,IAAI,EAAE,cAAc,EAAE;;;MCOjB,cAAc;;;;YAL1B,QAAQ,SAAC;gBACR,OAAO,EAAE,CAAC,YAAY,CAAC;gBACvB,OAAO,EAAE,CAAC,mBAAmB,CAAC;gBAC9B,YAAY,EAAE,CAAC,mBAAmB,CAAC;aACpC;;;ACTD;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mtxPopover.js","sources":["../../../projects/extensions/popover/popover-errors.ts","../../../projects/extensions/popover/popover-animations.ts","../../../projects/extensions/popover/popover.ts","../../../projects/extensions/popover/popover-trigger.ts","../../../projects/extensions/popover/popover-target.ts","../../../projects/extensions/popover/popover-module.ts","../../../projects/extensions/popover/mtxPopover.ts"],"sourcesContent":["/**\n * Throws an exception for the case when popover trigger doesn't have a valid mtx-popover instance\n */\nexport function throwMtxPopoverMissingError() {\n throw Error(`mtx-popover-trigger: must pass in an mtx-popover instance.\n\n Example:\n <mtx-popover #popover=\"mtxPopover\"></mtx-popover>\n <button [mtxPopoverTriggerFor]=\"popover\"></button>`);\n}\n\n/**\n * Throws an exception for the case when popover's mtxPopoverPosition[0] value isn't valid.\n * In other words, it doesn't match 'above', 'below', 'before' or 'after'.\n */\nexport function throwMtxPopoverInvalidPositionStart() {\n throw Error(`mtxPopoverPosition[0] value must be either 'above', 'below', 'before' or 'after'.\n Example: <mtx-popover [position]=\"['below', 'after']\" #popover=\"mtxPopover\"></mtx-popover>`);\n}\n\n/**\n * Throws an exception for the case when popover's mtxPopoverPosition[1] value isn't valid.\n * In other words, it doesn't match 'above', 'below', 'before', 'after' or 'center'.\n */\nexport function throwMtxPopoverInvalidPositionEnd() {\n throw Error(`mtxPopoverPosition[1] value must be either 'above', 'below', 'before', 'after' or 'center'.\n Example: <mtx-popover [position]=\"['below', 'after']\" #popover=\"mtxPopover\"></mtx-popover>`);\n}\n","import {\r\n trigger,\r\n state,\r\n style,\r\n animate,\r\n transition,\r\n AnimationTriggerMetadata,\r\n} from '@angular/animations';\r\n\r\n/**\r\n * Below are all the animations for the md-popover component.\r\n * Animation duration and timing values are based on AngularJS Material.\r\n */\r\n\r\n/**\r\n * This animation controls the popover panel's entry and exit from the page.\r\n *\r\n * When the popover panel is added to the DOM, it scales in and fades in its border.\r\n *\r\n * When the popover panel is removed from the DOM, it simply fades out after a brief\r\n * delay to display the ripple.\r\n */\r\n\r\nexport const transformPopover: AnimationTriggerMetadata = trigger('transformPopover', [\r\n state(\r\n 'enter',\r\n style({\r\n opacity: 1,\r\n transform: `scale(1)`,\r\n })\r\n ),\r\n transition('void => *', [\r\n style({\r\n opacity: 0,\r\n transform: `scale(0)`,\r\n }),\r\n animate(`200ms cubic-bezier(0.25, 0.8, 0.25, 1)`),\r\n ]),\r\n transition('* => void', [animate('50ms 100ms linear', style({ opacity: 0 }))]),\r\n]);\r\n","import {\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n ElementRef,\n ChangeDetectionStrategy,\n HostBinding,\n NgZone,\n Optional,\n} from '@angular/core';\nimport { AnimationEvent } from '@angular/animations';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ESCAPE } from '@angular/cdk/keycodes';\nimport { Directionality } from '@angular/cdk/bidi';\n\nimport {\n MtxPopoverTriggerEvent,\n MtxPopoverScrollStrategy,\n MtxPopoverPosition,\n} from './popover-types';\nimport {\n throwMtxPopoverInvalidPositionStart,\n throwMtxPopoverInvalidPositionEnd,\n} from './popover-errors';\nimport { MtxPopoverPanel } from './popover-interfaces';\nimport { transformPopover } from './popover-animations';\n\n@Component({\n selector: 'mtx-popover',\n templateUrl: './popover.html',\n styleUrls: ['./popover.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n animations: [transformPopover],\n exportAs: 'mtxPopover',\n})\nexport class MtxPopover implements MtxPopoverPanel, OnDestroy {\n @HostBinding('attr.role') role = 'dialog';\n\n /** Settings for popover, view setters and getters for more detail */\n private _position: MtxPopoverPosition = ['below', 'after'];\n private _triggerEvent: MtxPopoverTriggerEvent = 'hover';\n private _scrollStrategy: MtxPopoverScrollStrategy = 'reposition';\n private _enterDelay = 100;\n private _leaveDelay = 100;\n private _panelOffsetX = 0;\n private _panelOffsetY = 0;\n private _closeOnPanelClick = false;\n private _closeOnBackdropClick = true;\n private _disableAnimation = false;\n private _focusTrapEnabled = true;\n private _focusTrapAutoCaptureEnabled = true;\n private _arrowOffsetX = 20;\n private _arrowOffsetY = 20;\n private _arrowWidth = 16;\n private _arrowHeight = 16;\n\n /** Config object to be passed into the popover's ngClass */\n _classList: { [key: string]: boolean } = {};\n\n /** Whether popover's `targetElement` is defined */\n public containerPositioning = false;\n\n /** Closing disabled on popover */\n public closeDisabled = false;\n\n /** Config object to be passed into the popover's arrow ngStyle */\n public popoverPanelStyles!: Record<string, unknown>;\n\n /** Config object to be passed into the popover's arrow ngStyle */\n public popoverArrowStyles!: Record<string, unknown>;\n\n /** Config object to be passed into the popover's content ngStyle */\n public popoverContentStyles!: Record<string, unknown>;\n\n /** Emits the current animation state whenever it changes. */\n _onAnimationStateChange = new EventEmitter<AnimationEvent>();\n\n /** Position of the popover. */\n @Input()\n get position() {\n return this._position;\n }\n set position(value: MtxPopoverPosition) {\n if (!['before', 'after', 'above', 'below'].includes(value[0])) {\n throwMtxPopoverInvalidPositionStart();\n }\n if (!['before', 'after', 'above', 'below', 'center'].includes(value[1])) {\n throwMtxPopoverInvalidPositionEnd();\n }\n this._position = value;\n this.setPositionClasses();\n }\n\n /** Popover trigger event */\n @Input()\n get triggerEvent(): MtxPopoverTriggerEvent {\n return this._triggerEvent;\n }\n set triggerEvent(value: MtxPopoverTriggerEvent) {\n this._triggerEvent = value;\n }\n\n /** Popover scroll strategy */\n @Input()\n get scrollStrategy(): MtxPopoverScrollStrategy {\n return this._scrollStrategy;\n }\n set scrollStrategy(value: MtxPopoverScrollStrategy) {\n this._scrollStrategy = value;\n }\n\n /** Popover enter delay */\n @Input()\n get enterDelay(): number {\n return this._enterDelay;\n }\n set enterDelay(value: number) {\n this._enterDelay = value;\n }\n\n /** Popover leave delay */\n @Input()\n get leaveDelay(): number {\n return this._leaveDelay;\n }\n set leaveDelay(value: number) {\n this._leaveDelay = value;\n }\n\n /** Popover target offset x */\n @Input()\n get xOffset(): number {\n return this._panelOffsetX;\n }\n set xOffset(value: number) {\n this._panelOffsetX = value;\n }\n\n /** Popover target offset y */\n @Input()\n get yOffset(): number {\n return this._panelOffsetY;\n }\n set yOffset(value: number) {\n this._panelOffsetY = value;\n }\n\n /** Popover arrow offset x */\n @Input()\n get arrowOffsetX(): number {\n return this._arrowOffsetX;\n }\n set arrowOffsetX(value: number) {\n this._arrowOffsetX = value;\n }\n\n /** Popover arrow offset y */\n @Input()\n get arrowOffsetY(): number {\n return this._arrowOffsetY;\n }\n set arrowOffsetY(value: number) {\n this._arrowOffsetY = value;\n }\n\n /** Popover arrow width */\n @Input()\n get arrowWidth(): number {\n return this._arrowWidth;\n }\n set arrowWidth(value: number) {\n this._arrowWidth = value;\n }\n\n /** Popover arrow height */\n @Input()\n get arrowHeight(): number {\n return this._arrowHeight;\n }\n set arrowHeight(value: number) {\n this._arrowHeight = value;\n }\n\n /** Popover close on container click */\n @Input()\n get closeOnPanelClick(): boolean {\n return this._closeOnPanelClick;\n }\n set closeOnPanelClick(value: boolean) {\n this._closeOnPanelClick = coerceBooleanProperty(value);\n }\n\n /** Popover close on backdrop click */\n @Input()\n get closeOnBackdropClick(): boolean {\n return this._closeOnBackdropClick;\n }\n set closeOnBackdropClick(value: boolean) {\n this._closeOnBackdropClick = coerceBooleanProperty(value);\n }\n\n /** Disable animations of popover and all child elements */\n @Input()\n get disableAnimation(): boolean {\n return this._disableAnimation;\n }\n set disableAnimation(value: boolean) {\n this._disableAnimation = coerceBooleanProperty(value);\n }\n\n /** Popover focus trap using cdkTrapFocus */\n @Input()\n get focusTrapEnabled(): boolean {\n return this._focusTrapEnabled;\n }\n set focusTrapEnabled(value: boolean) {\n this._focusTrapEnabled = coerceBooleanProperty(value);\n }\n\n /** Popover focus trap auto capture using cdkTrapFocusAutoCapture */\n @Input()\n get focusTrapAutoCaptureEnabled(): boolean {\n return this._focusTrapAutoCaptureEnabled;\n }\n set focusTrapAutoCaptureEnabled(value: boolean) {\n this._focusTrapAutoCaptureEnabled = coerceBooleanProperty(value);\n }\n\n /**\n * This method takes classes set on the host md-popover element and applies them on the\n * popover template that displays in the overlay container. Otherwise, it's difficult\n * to style the containing popover from outside the component.\n * @param classes list of class names\n */\n @Input('class')\n set panelClass(classes: string) {\n if (classes && classes.length) {\n this._classList = classes.split(' ').reduce((obj: any, className: string) => {\n obj[className] = true;\n return obj;\n }, {});\n\n this._elementRef.nativeElement.className = '';\n this.setPositionClasses();\n }\n }\n\n /**\n * This method takes classes set on the host md-popover element and applies them on the\n * popover template that displays in the overlay container. Otherwise, it's difficult\n * to style the containing popover from outside the component.\n * @deprecated Use `panelClass` instead.\n * @breaking-change 8.0.0\n */\n @Input()\n get classList(): string {\n return this.panelClass;\n }\n set classList(classes: string) {\n this.panelClass = classes;\n }\n\n /** Event emitted when the popover is closed. */\n @Output() closed = new EventEmitter<void>();\n\n @ViewChild(TemplateRef) templateRef!: TemplateRef<any>;\n\n constructor(\n @Optional() private _dir: Directionality,\n private _elementRef: ElementRef,\n public zone: NgZone\n ) {\n this.setPositionClasses();\n }\n\n ngOnDestroy() {\n this._emitCloseEvent();\n this.closed.complete();\n }\n\n /** Handle a keyboard event from the popover, delegating to the appropriate action. */\n _handleKeydown(event: KeyboardEvent) {\n switch (event.keyCode) {\n case ESCAPE:\n this._emitCloseEvent();\n return;\n }\n }\n\n /**\n * This emits a close event to which the trigger is subscribed. When emitted, the\n * trigger will close the popover.\n */\n _emitCloseEvent(): void {\n this.closed.emit();\n }\n\n /** Close popover on click if closeOnPanelClick is true */\n onClick() {\n if (this.closeOnPanelClick) {\n this._emitCloseEvent();\n }\n }\n\n /**\n * TODO: Refactor when @angular/cdk includes feature I mentioned on github see link below.\n * https://github.com/angular/material2/pull/5493#issuecomment-313085323\n */\n /** Disables close of popover when leaving trigger element and mouse over the popover */\n onMouseOver() {\n if (this.triggerEvent === 'hover') {\n this.closeDisabled = true;\n }\n }\n /** Enables close of popover when mouse leaving popover element */\n onMouseLeave() {\n if (this.triggerEvent === 'hover') {\n this.closeDisabled = false;\n this._emitCloseEvent();\n }\n }\n\n // TODO: Refactor how styles are set and updated on the component, use best practices.\n // TODO: If arrow left and right positioning is requested, see if flex direction can be used to work with order.\n /** Sets the current styles for the popover to allow for dynamically changing settings */\n setCurrentStyles(pos = this.position) {\n const left =\n pos[1] === 'after'\n ? `${this.arrowOffsetX - this.arrowWidth / 2}px`\n : pos[1] === 'center'\n ? `calc(50% - ${this.arrowWidth / 2}px)`\n : '';\n const right = pos[1] === 'before' ? `${this.arrowOffsetX - this.arrowWidth / 2}px` : '';\n\n const bottom =\n pos[1] === 'above'\n ? `${this.arrowOffsetY - this.arrowHeight / 2}px`\n : pos[1] === 'center'\n ? `calc(50% - ${this.arrowHeight / 2}px)`\n : '';\n const top = pos[1] === 'below' ? `${this.arrowOffsetY - this.arrowHeight / 2}px` : '';\n\n this.popoverArrowStyles =\n pos[0] === 'above' || pos[0] === 'below'\n ? {\n left: this._dir.value === 'ltr' ? left : right,\n right: this._dir.value === 'ltr' ? right : left,\n }\n : {\n top,\n bottom,\n };\n }\n\n /**\n * It's necessary to set position-based classes to ensure the popover panel animation\n * folds out from the correct direction.\n */\n setPositionClasses(pos = this.position): void {\n this._classList['mtx-popover-before-above'] = pos[0] === 'before' && pos[1] === 'above';\n this._classList['mtx-popover-before-center'] = pos[0] === 'before' && pos[1] === 'center';\n this._classList['mtx-popover-before-below'] = pos[0] === 'before' && pos[1] === 'below';\n this._classList['mtx-popover-after-above'] = pos[0] === 'after' && pos[1] === 'above';\n this._classList['mtx-popover-after-center'] = pos[0] === 'after' && pos[1] === 'center';\n this._classList['mtx-popover-after-below'] = pos[0] === 'after' && pos[1] === 'below';\n this._classList['mtx-popover-above-before'] = pos[0] === 'above' && pos[1] === 'before';\n this._classList['mtx-popover-above-center'] = pos[0] === 'above' && pos[1] === 'center';\n this._classList['mtx-popover-above-after'] = pos[0] === 'above' && pos[1] === 'after';\n this._classList['mtx-popover-below-before'] = pos[0] === 'below' && pos[1] === 'before';\n this._classList['mtx-popover-below-center'] = pos[0] === 'below' && pos[1] === 'center';\n this._classList['mtx-popover-below-after'] = pos[0] === 'below' && pos[1] === 'after';\n }\n\n static ngAcceptInputType_closeOnPanelClick: BooleanInput;\n static ngAcceptInputType_closeOnBackdropClick: BooleanInput;\n static ngAcceptInputType_disableAnimation: BooleanInput;\n static ngAcceptInputType_focusTrapEnabled: BooleanInput;\n static ngAcceptInputType_focusTrapAutoCaptureEnabled: BooleanInput;\n}\n","import {\n AfterViewInit,\n Directive,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Optional,\n Output,\n ViewContainerRef,\n HostListener,\n HostBinding,\n ChangeDetectorRef,\n} from '@angular/core';\n\nimport { isFakeMousedownFromScreenReader } from '@angular/cdk/a11y';\nimport { Direction, Directionality } from '@angular/cdk/bidi';\nimport {\n Overlay,\n OverlayRef,\n OverlayConfig,\n HorizontalConnectionPos,\n VerticalConnectionPos,\n FlexibleConnectedPositionStrategy,\n ScrollStrategy,\n ConnectedPosition,\n} from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\n\nimport { Subscription, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { MtxPopoverPanel, MtxTarget } from './popover-interfaces';\nimport {\n MtxPopoverTriggerEvent,\n MtxPopoverScrollStrategy,\n MtxPopoverPosition,\n MtxPopoverPositionStart,\n} from './popover-types';\nimport { throwMtxPopoverMissingError } from './popover-errors';\n\n/**\n * This directive is intended to be used in conjunction with an mtx-popover tag. It is\n * responsible for toggling the display of the provided popover instance.\n */\n\n@Directive({\n selector: '[mtxPopoverTriggerFor]',\n exportAs: 'mtxPopoverTrigger',\n})\nexport class MtxPopoverTrigger implements AfterViewInit, OnDestroy {\n @HostBinding('attr.aria-haspopup') ariaHaspopup = true;\n\n popoverOpened$ = new Subject<void>();\n popoverClosed$ = new Subject<void>();\n\n private _portal!: TemplatePortal<any>;\n private _overlayRef: OverlayRef | null = null;\n private _popoverOpen = false;\n private _halt = false;\n private _backdropSubscription!: Subscription;\n private _positionSubscription!: Subscription;\n private _detachmentsSubscription!: Subscription;\n\n private _mouseoverTimer: any;\n\n // tracking input type is necessary so it's possible to only auto-focus\n // the first item of the list when the popover is opened via the keyboard\n private _openedByMouse = false;\n\n private _onDestroy = new Subject<void>();\n\n /** References the popover instance that the trigger is associated with. */\n @Input('mtxPopoverTriggerFor') popover!: MtxPopoverPanel;\n\n /** References the popover target instance that the trigger is associated with. */\n @Input('mtxPopoverTargetAt') targetElement!: MtxTarget;\n\n /** Popover trigger event */\n @Input('mtxPopoverTriggerOn') triggerEvent!: MtxPopoverTriggerEvent;\n\n /** Event emitted when the associated popover is opened. */\n @Output() popoverOpened = new EventEmitter<void>();\n\n /** Event emitted when the associated popover is closed. */\n @Output() popoverClosed = new EventEmitter<void>();\n\n constructor(\n private _overlay: Overlay,\n public _elementRef: ElementRef,\n private _viewContainerRef: ViewContainerRef,\n @Optional() private _dir: Directionality,\n private _changeDetectorRef: ChangeDetectorRef\n ) {}\n\n ngAfterViewInit() {\n this._checkPopover();\n this._setCurrentConfig();\n this.popover.closed.subscribe(() => this.closePopover());\n }\n\n ngOnDestroy() {\n this.destroyPopover();\n }\n\n private _setCurrentConfig() {\n if (this.triggerEvent) {\n this.popover.triggerEvent = this.triggerEvent;\n }\n\n this.popover.setCurrentStyles();\n }\n\n /** Whether the popover is open. */\n get popoverOpen(): boolean {\n return this._popoverOpen;\n }\n\n @HostListener('click', ['$event'])\n onClick(event: MouseEvent): void {\n if (this.popover.triggerEvent === 'click') {\n this.togglePopover();\n }\n }\n\n @HostListener('mouseenter', ['$event'])\n onMouseEnter(event: MouseEvent): void {\n this._halt = false;\n if (this.popover.triggerEvent === 'hover') {\n this._mouseoverTimer = setTimeout(() => {\n this.openPopover();\n }, this.popover.enterDelay);\n }\n }\n\n @HostListener('mouseleave', ['$event'])\n onMouseLeave(event: MouseEvent): void {\n if (this.popover.triggerEvent === 'hover') {\n if (this._mouseoverTimer) {\n clearTimeout(this._mouseoverTimer);\n this._mouseoverTimer = null;\n }\n if (this._popoverOpen) {\n setTimeout(() => {\n if (!this.popover.closeDisabled) {\n this.closePopover();\n }\n }, this.popover.leaveDelay);\n } else {\n this._halt = true;\n }\n }\n }\n\n /** Toggles the popover between the open and closed states. */\n togglePopover(): void {\n return this._popoverOpen ? this.closePopover() : this.openPopover();\n }\n\n /** Opens the popover. */\n openPopover(): void {\n if (!this._popoverOpen && !this._halt) {\n this._createOverlay().attach(this._portal);\n\n this._subscribeToBackdrop();\n this._subscribeToDetachments();\n\n this._initPopover();\n }\n }\n\n /** Closes the popover. */\n closePopover(): void {\n if (this._overlayRef) {\n this._overlayRef.detach();\n this._resetPopover();\n }\n\n this.destroyPopover();\n }\n\n /** Removes the popover from the DOM. */\n destroyPopover(): void {\n if (this._mouseoverTimer) {\n clearTimeout(this._mouseoverTimer);\n this._mouseoverTimer = null;\n }\n if (this._overlayRef) {\n this._overlayRef.dispose();\n this._overlayRef = null;\n this._cleanUpSubscriptions();\n }\n\n this._onDestroy.next();\n this._onDestroy.complete();\n }\n\n /** Focuses the popover trigger. */\n focus() {\n this._elementRef.nativeElement.focus();\n }\n\n /** The text direction of the containing app. */\n get dir(): Direction {\n return this._dir && this._dir.value === 'rtl' ? 'rtl' : 'ltr';\n }\n\n /**\n * This method ensures that the popover closes when the overlay backdrop is clicked.\n * We do not use first() here because doing so would not catch clicks from within\n * the popover, and it would fail to unsubscribe properly. Instead, we unsubscribe\n * explicitly when the popover is closed or destroyed.\n */\n private _subscribeToBackdrop(): void {\n if (this._overlayRef) {\n /** Only subscribe to backdrop if trigger event is click */\n if (this.triggerEvent === 'click' && this.popover.closeOnBackdropClick === true) {\n this._overlayRef\n .backdropClick()\n .pipe(takeUntil(this.popoverClosed$), takeUntil(this._onDestroy))\n .subscribe(() => {\n this.popover._emitCloseEvent();\n });\n }\n }\n }\n\n private _subscribeToDetachments(): void {\n if (this._overlayRef) {\n this._overlayRef\n .detachments()\n .pipe(takeUntil(this.popoverClosed$), takeUntil(this._onDestroy))\n .subscribe(() => {\n this._setPopoverClosed();\n });\n }\n }\n\n /**\n * This method sets the popover state to open and focuses the first item if\n * the popover was opened via the keyboard.\n */\n private _initPopover(): void {\n this._setPopoverOpened();\n }\n\n /**\n * This method resets the popover when it's closed, most importantly restoring\n * focus to the popover trigger if the popover was opened via the keyboard.\n */\n private _resetPopover(): void {\n this._setPopoverClosed();\n\n // Focus only needs to be reset to the host element if the popover was opened\n // by the keyboard and manually shifted to the first popover item.\n if (!this._openedByMouse) {\n this.focus();\n }\n this._openedByMouse = false;\n }\n\n /** set state rather than toggle to support triggers sharing a popover */\n private _setPopoverOpened(): void {\n if (!this._popoverOpen) {\n this._popoverOpen = true;\n\n this.popoverOpened$.next();\n this.popoverOpened.emit();\n }\n }\n\n /** set state rather than toggle to support triggers sharing a popover */\n private _setPopoverClosed(): void {\n if (this._popoverOpen) {\n this._popoverOpen = false;\n\n this.popoverClosed$.next();\n this.popoverClosed.emit();\n }\n }\n\n /**\n * This method checks that a valid instance of MdPopover has been passed into\n * mdPopoverTriggerFor. If not, an exception is thrown.\n */\n private _checkPopover() {\n if (!this.popover) {\n throwMtxPopoverMissingError();\n }\n }\n\n /**\n * This method creates the overlay from the provided popover's template and saves its\n * OverlayRef so that it can be attached to the DOM when openPopover is called.\n */\n private _createOverlay(): OverlayRef {\n if (!this._overlayRef) {\n this._portal = new TemplatePortal(this.popover.templateRef, this._viewContainerRef);\n const config = this._getOverlayConfig();\n this._subscribeToPositions(config.positionStrategy as FlexibleConnectedPositionStrategy);\n this._overlayRef = this._overlay.create(config);\n }\n\n return this._overlayRef;\n }\n\n /**\n * This method builds the configuration object needed to create the overlay, the OverlayConfig.\n * @returns OverlayConfig\n */\n private _getOverlayConfig(): OverlayConfig {\n const overlayState = new OverlayConfig();\n overlayState.positionStrategy = this._getPosition();\n\n /** Display overlay backdrop if trigger event is click */\n if (this.triggerEvent === 'click') {\n overlayState.hasBackdrop = true;\n overlayState.backdropClass = 'cdk-overlay-transparent-backdrop';\n }\n\n overlayState.direction = this._dir;\n overlayState.scrollStrategy = this._getOverlayScrollStrategy(this.popover.scrollStrategy);\n\n return overlayState;\n }\n\n /**\n * This method returns the scroll strategy used by the cdk/overlay.\n */\n private _getOverlayScrollStrategy(strategy: MtxPopoverScrollStrategy): ScrollStrategy {\n switch (strategy) {\n case 'noop':\n return this._overlay.scrollStrategies.noop();\n case 'close':\n return this._overlay.scrollStrategies.close();\n case 'block':\n return this._overlay.scrollStrategies.block();\n case 'reposition':\n default:\n return this._overlay.scrollStrategies.reposition();\n }\n }\n\n /**\n * Listens to changes in the position of the overlay and sets the correct classes\n * on the popover based on the new position. This ensures the animation origin is always\n * correct, even if a fallback position is used for the overlay.\n */\n private _subscribeToPositions(position: FlexibleConnectedPositionStrategy): void {\n this._positionSubscription = position.positionChanges.subscribe(change => {\n const posX =\n change.connectionPair.overlayX === 'start'\n ? 'after'\n : change.connectionPair.overlayX === 'end'\n ? 'before'\n : 'center';\n const posY =\n change.connectionPair.overlayY === 'top'\n ? 'below'\n : change.connectionPair.overlayY === 'bottom'\n ? 'above'\n : 'center';\n\n const pos: MtxPopoverPosition =\n this.popover.position[0] === 'above' || this.popover.position[0] === 'below'\n ? [posY as MtxPopoverPositionStart, posX]\n : [posX as MtxPopoverPositionStart, posY];\n\n // required for ChangeDetectionStrategy.OnPush\n this._changeDetectorRef.markForCheck();\n\n this.popover.zone.run(() => {\n this.popover.setCurrentStyles(pos);\n this.popover.setPositionClasses(pos);\n });\n });\n }\n\n /**\n * This method builds the position strategy for the overlay, so the popover is properly connected\n * to the trigger.\n * @returns ConnectedPositionStrategy\n */\n private _getPosition(): FlexibleConnectedPositionStrategy {\n const [originX, origin2ndX, origin3rdX]: HorizontalConnectionPos[] =\n this.popover.position[0] === 'before' || this.popover.position[1] === 'after'\n ? ['start', 'center', 'end']\n : this.popover.position[0] === 'after' || this.popover.position[1] === 'before'\n ? ['end', 'center', 'start']\n : ['center', 'start', 'end'];\n\n const [originY, origin2ndY, origin3rdY]: VerticalConnectionPos[] =\n this.popover.position[0] === 'above' || this.popover.position[1] === 'below'\n ? ['top', 'center', 'bottom']\n : this.popover.position[0] === 'below' || this.popover.position[1] === 'above'\n ? ['bottom', 'center', 'top']\n : ['center', 'top', 'bottom'];\n\n const [overlayX, overlayFallbackX]: HorizontalConnectionPos[] =\n this.popover.position[0] === 'below' || this.popover.position[0] === 'above'\n ? [originX, originX]\n : this.popover.position[0] === 'before'\n ? ['end', 'start']\n : ['start', 'end'];\n\n const [overlayY, overlayFallbackY]: VerticalConnectionPos[] =\n this.popover.position[0] === 'before' || this.popover.position[0] === 'after'\n ? [originY, originY]\n : this.popover.position[0] === 'below'\n ? ['top', 'bottom']\n : ['bottom', 'top'];\n\n const originFallbackX = overlayX;\n const originFallbackY = overlayY;\n\n const offsetX =\n this.popover.xOffset && !isNaN(Number(this.popover.xOffset))\n ? Number(this.dir === 'ltr' ? this.popover.xOffset : -this.popover.xOffset)\n : 0;\n const offsetY =\n this.popover.yOffset && !isNaN(Number(this.popover.yOffset))\n ? Number(this.popover.yOffset)\n : 0;\n\n /**\n * For overriding position element, when `mtxPopoverTargetAt` has a valid element reference.\n * Useful for sticking popover to parent element and offsetting arrow to trigger element.\n * If undefined defaults to the trigger element reference.\n */\n let element = this._elementRef;\n if (typeof this.targetElement !== 'undefined') {\n this.popover.containerPositioning = true;\n element = this.targetElement._elementRef;\n }\n\n let positions: ConnectedPosition[] = [{ originX, originY, overlayX, overlayY }];\n\n if (this.popover.position[0] === 'above' || this.popover.position[0] === 'below') {\n positions = [\n { originX, originY, overlayX, overlayY, offsetY },\n { originX: origin2ndX, originY, overlayX: origin2ndX, overlayY, offsetY },\n { originX: origin3rdX, originY, overlayX: origin3rdX, overlayY, offsetY },\n {\n originX,\n originY: originFallbackY,\n overlayX,\n overlayY: overlayFallbackY,\n offsetY: -offsetY,\n },\n {\n originX: origin2ndX,\n originY: originFallbackY,\n overlayX: origin2ndX,\n overlayY: overlayFallbackY,\n offsetY: -offsetY,\n },\n {\n originX: origin3rdX,\n originY: originFallbackY,\n overlayX: origin3rdX,\n overlayY: overlayFallbackY,\n offsetY: -offsetY,\n },\n ];\n }\n\n if (this.popover.position[0] === 'before' || this.popover.position[0] === 'after') {\n positions = [\n { originX, originY, overlayX, overlayY, offsetX },\n { originX, originY: origin2ndY, overlayX, overlayY: origin2ndY, offsetX },\n { originX, originY: origin3rdY, overlayX, overlayY: origin3rdY, offsetX },\n {\n originX: originFallbackX,\n originY,\n overlayX: overlayFallbackX,\n overlayY,\n offsetX: -offsetX,\n },\n {\n originX: originFallbackX,\n originY: origin2ndY,\n overlayX: overlayFallbackX,\n overlayY: origin2ndY,\n offsetX: -offsetX,\n },\n {\n originX: originFallbackX,\n originY: origin3rdY,\n overlayX: overlayFallbackX,\n overlayY: origin3rdY,\n offsetX: -offsetX,\n },\n ];\n }\n\n return this._overlay\n .position()\n .flexibleConnectedTo(element)\n .withLockedPosition()\n .withPositions(positions)\n .withDefaultOffsetX(offsetX)\n .withDefaultOffsetY(offsetY);\n }\n\n private _cleanUpSubscriptions(): void {\n if (this._backdropSubscription) {\n this._backdropSubscription.unsubscribe();\n }\n if (this._positionSubscription) {\n this._positionSubscription.unsubscribe();\n }\n if (this._detachmentsSubscription) {\n this._detachmentsSubscription.unsubscribe();\n }\n }\n\n @HostListener('mousedown', ['$event']) _handleMousedown(event: MouseEvent): void {\n if (event && !isFakeMousedownFromScreenReader(event)) {\n this._openedByMouse = true;\n }\n }\n}\n","import { Directive, ElementRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: 'mtx-popover-target, [mtxPopoverTarget]',\r\n exportAs: 'mtxPopoverTarget',\r\n})\r\nexport class MtxPopoverTarget {\r\n constructor(public _elementRef: ElementRef) {}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { OverlayModule } from '@angular/cdk/overlay';\r\nimport { A11yModule } from '@angular/cdk/a11y';\r\n\r\nimport { MtxPopover } from './popover';\r\nimport { MtxPopoverTrigger } from './popover-trigger';\r\nimport { MtxPopoverTarget } from './popover-target';\r\n\r\n@NgModule({\r\n imports: [OverlayModule, CommonModule, A11yModule],\r\n exports: [MtxPopover, MtxPopoverTrigger, MtxPopoverTarget],\r\n declarations: [MtxPopover, MtxPopoverTrigger, MtxPopoverTarget],\r\n})\r\nexport class MtxPopoverModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,73 +0,0 @@
1
- import { Component, ViewEncapsulation, ChangeDetectionStrategy, Input, NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { coerceBooleanProperty } from '@angular/cdk/coercion';
4
-
5
- class MtxProgressComponent {
6
- constructor() {
7
- /** The progress type */
8
- this.type = 'info';
9
- /** The progress value */
10
- this.value = 0;
11
- this._striped = false;
12
- this._animate = false;
13
- }
14
- /** Whether applies striped class */
15
- get striped() {
16
- return this._striped;
17
- }
18
- set striped(value) {
19
- this._striped = coerceBooleanProperty(value);
20
- }
21
- /** Whether applies animated class */
22
- get animate() {
23
- return this._animate;
24
- }
25
- set animate(value) {
26
- this._animate = coerceBooleanProperty(value);
27
- }
28
- }
29
- /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
30
- MtxProgressComponent.decorators = [
31
- { type: Component, args: [{
32
- selector: 'mtx-progress',
33
- exportAs: 'mtxProgress',
34
- host: {
35
- 'class': 'mtx-progress',
36
- '[style.height]': 'height',
37
- '[style.backgroundColor]': 'background',
38
- },
39
- template: "<div [class]=\"'mtx-progress-fill mtx-progress-fill-' + type\"\n [ngClass]=\"{'mtx-progress-fill-striped': striped, 'mtx-progress-fill-animated': animate}\"\n [ngStyle]=\"{ 'width.%': value, 'background-color': foreground }\"\n role=\"progress-fill\">\n <ng-content></ng-content>\n</div>\n",
40
- encapsulation: ViewEncapsulation.None,
41
- changeDetection: ChangeDetectionStrategy.OnPush,
42
- styles: [".mtx-progress{display:flex;height:1rem;margin:8px 0;overflow:hidden;font-size:.75rem;border-radius:.25rem}.mtx-progress-fill{display:flex;flex-direction:column;justify-content:center;text-align:center;transition:width .6s ease}.mtx-progress-fill-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.mtx-progress-fill-animated{animation:mtx-progress-fill-stripes 1s linear infinite}@media (prefers-reduced-motion: reduce){.mtx-progress-fill-animated{animation:none}}@keyframes mtx-progress-fill-stripes{0%{background-position:1rem 0}to{background-position:0 0}}\n"]
43
- },] }
44
- ];
45
- /** @type {!Object<string, !Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
46
- MtxProgressComponent.propDecorators = {
47
- type: [{ type: Input }],
48
- value: [{ type: Input }],
49
- height: [{ type: Input }],
50
- color: [{ type: Input }],
51
- foreground: [{ type: Input }],
52
- background: [{ type: Input }],
53
- striped: [{ type: Input }],
54
- animate: [{ type: Input }]
55
- };
56
-
57
- class MtxProgressModule {
58
- }
59
- /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
60
- MtxProgressModule.decorators = [
61
- { type: NgModule, args: [{
62
- imports: [CommonModule],
63
- exports: [MtxProgressComponent],
64
- declarations: [MtxProgressComponent],
65
- },] }
66
- ];
67
-
68
- /**
69
- * Generated bundle index. Do not edit.
70
- */
71
-
72
- export { MtxProgressComponent, MtxProgressModule };
73
- //# sourceMappingURL=mtxProgress.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mtxProgress.js","sources":["../../../projects/extensions/progress/progress.component.ts","../../../projects/extensions/progress/progress.module.ts","../../../projects/extensions/progress/mtxProgress.ts"],"sourcesContent":["import { Component, Input, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\n\nexport type MtxProgressType = 'default' | 'info' | 'success' | 'warning' | 'danger';\n\n@Component({\n selector: 'mtx-progress',\n exportAs: 'mtxProgress',\n host: {\n 'class': 'mtx-progress',\n '[style.height]': 'height',\n '[style.backgroundColor]': 'background',\n },\n templateUrl: './progress.component.html',\n styleUrls: ['./progress.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MtxProgressComponent {\n /** The progress type */\n @Input() type: MtxProgressType = 'info';\n\n /** The progress value */\n @Input() value = 0;\n\n /** The progress height */\n @Input() height!: string;\n\n /** The progress text color */\n @Input() color!: string;\n\n /** The progress bar color */\n @Input() foreground!: string;\n\n /** The progress track color */\n @Input() background!: string;\n\n /** Whether applies striped class */\n @Input()\n get striped(): boolean {\n return this._striped;\n }\n set striped(value: boolean) {\n this._striped = coerceBooleanProperty(value);\n }\n private _striped = false;\n\n /** Whether applies animated class */\n @Input()\n get animate(): boolean {\n return this._animate;\n }\n set animate(value: boolean) {\n this._animate = coerceBooleanProperty(value);\n }\n private _animate = false;\n\n static ngAcceptInputType_striped: BooleanInput;\n static ngAcceptInputType_animate: BooleanInput;\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MtxProgressComponent } from './progress.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [MtxProgressComponent],\n declarations: [MtxProgressComponent],\n})\nexport class MtxProgressModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;MAkBa,oBAAoB;IAbjC;;QAeW,SAAI,GAAoB,MAAM,CAAC;;QAG/B,UAAK,GAAG,CAAC,CAAC;QAsBX,aAAQ,GAAG,KAAK,CAAC;QAUjB,aAAQ,GAAG,KAAK,CAAC;KAI1B;;IArBC,IACI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;KACtB;IACD,IAAI,OAAO,CAAC,KAAc;QACxB,IAAI,CAAC,QAAQ,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;KAC9C;;IAID,IACI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;KACtB;IACD,IAAI,OAAO,CAAC,KAAc;QACxB,IAAI,CAAC,QAAQ,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;KAC9C;;;;YAjDF,SAAS,SAAC;gBACT,QAAQ,EAAE,cAAc;gBACxB,QAAQ,EAAE,aAAa;gBACvB,IAAI,EAAE;oBACJ,OAAO,EAAE,cAAc;oBACvB,gBAAgB,EAAE,QAAQ;oBAC1B,yBAAyB,EAAE,YAAY;iBACxC;gBACD,0TAAwC;gBAExC,aAAa,EAAE,iBAAiB,CAAC,IAAI;gBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;;aAChD;;;;mBAGE,KAAK;oBAGL,KAAK;qBAGL,KAAK;oBAGL,KAAK;yBAGL,KAAK;yBAGL,KAAK;sBAGL,KAAK;sBAUL,KAAK;;;MCtCK,iBAAiB;;;;YAL7B,QAAQ,SAAC;gBACR,OAAO,EAAE,CAAC,YAAY,CAAC;gBACvB,OAAO,EAAE,CAAC,oBAAoB,CAAC;gBAC/B,YAAY,EAAE,CAAC,oBAAoB,CAAC;aACrC;;;ACTD;;;;;;"}