igniteui-angular 13.0.0 → 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 (289) hide show
  1. package/esm2020/lib/accordion/accordion.component.mjs +3 -3
  2. package/esm2020/lib/accordion/accordion.module.mjs +4 -4
  3. package/esm2020/lib/action-strip/action-strip.component.mjs +6 -6
  4. package/esm2020/lib/action-strip/action-strip.module.mjs +4 -4
  5. package/esm2020/lib/action-strip/grid-actions/grid-action-button.component.mjs +3 -3
  6. package/esm2020/lib/action-strip/grid-actions/grid-actions-base.directive.mjs +3 -3
  7. package/esm2020/lib/action-strip/grid-actions/grid-editing-actions.component.mjs +3 -3
  8. package/esm2020/lib/action-strip/grid-actions/grid-pinning-actions.component.mjs +3 -3
  9. package/esm2020/lib/avatar/avatar.component.mjs +7 -7
  10. package/esm2020/lib/badge/badge.component.mjs +7 -7
  11. package/esm2020/lib/banner/banner.component.mjs +7 -7
  12. package/esm2020/lib/banner/banner.directives.mjs +3 -3
  13. package/esm2020/lib/buttonGroup/buttonGroup.component.mjs +7 -7
  14. package/esm2020/lib/calendar/calendar-base.mjs +3 -3
  15. package/esm2020/lib/calendar/calendar.component.mjs +5 -5
  16. package/esm2020/lib/calendar/calendar.directives.mjs +15 -15
  17. package/esm2020/lib/calendar/calendar.module.mjs +4 -4
  18. package/esm2020/lib/calendar/days-view/day-item.component.mjs +3 -3
  19. package/esm2020/lib/calendar/days-view/days-view.component.mjs +3 -3
  20. package/esm2020/lib/calendar/days-view/daysview-navigation.service.mjs +3 -3
  21. package/esm2020/lib/calendar/month-picker/month-picker.component.mjs +3 -3
  22. package/esm2020/lib/calendar/month-picker-base.mjs +3 -3
  23. package/esm2020/lib/calendar/months-view/months-view.component.mjs +3 -3
  24. package/esm2020/lib/calendar/months-view.pipe.mjs +6 -6
  25. package/esm2020/lib/calendar/years-view/years-view.component.mjs +6 -6
  26. package/esm2020/lib/card/card.component.mjs +31 -31
  27. package/esm2020/lib/carousel/carousel.component.mjs +10 -10
  28. package/esm2020/lib/carousel/carousel.directives.mjs +9 -9
  29. package/esm2020/lib/carousel/slide.component.mjs +3 -3
  30. package/esm2020/lib/checkbox/checkbox.component.mjs +10 -10
  31. package/esm2020/lib/chips/chip.component.mjs +3 -3
  32. package/esm2020/lib/chips/chips-area.component.mjs +3 -3
  33. package/esm2020/lib/chips/chips.module.mjs +4 -4
  34. package/esm2020/lib/combo/combo-add-item.component.mjs +3 -3
  35. package/esm2020/lib/combo/combo-dropdown.component.mjs +3 -3
  36. package/esm2020/lib/combo/combo-item.component.mjs +3 -3
  37. package/esm2020/lib/combo/combo.api.mjs +3 -3
  38. package/esm2020/lib/combo/combo.common.mjs +3 -3
  39. package/esm2020/lib/combo/combo.component.mjs +7 -7
  40. package/esm2020/lib/combo/combo.directives.mjs +24 -24
  41. package/esm2020/lib/combo/combo.pipes.mjs +6 -6
  42. package/esm2020/lib/core/displayDensity.mjs +7 -7
  43. package/esm2020/lib/core/navigation/directives.mjs +10 -10
  44. package/esm2020/lib/core/navigation/nav.service.mjs +3 -3
  45. package/esm2020/lib/core/selection.mjs +3 -3
  46. package/esm2020/lib/core/touch.mjs +3 -3
  47. package/esm2020/lib/core/utils.mjs +3 -3
  48. package/esm2020/lib/date-common/calendar-container/calendar-container.component.mjs +7 -7
  49. package/esm2020/lib/date-common/picker-base.directive.mjs +3 -3
  50. package/esm2020/lib/date-common/picker-icons.common.mjs +13 -13
  51. package/esm2020/lib/date-picker/date-picker.component.mjs +3 -3
  52. package/esm2020/lib/date-picker/date-picker.module.mjs +4 -4
  53. package/esm2020/lib/date-range-picker/date-range-picker-inputs.common.mjs +15 -15
  54. package/esm2020/lib/date-range-picker/date-range-picker.component.mjs +3 -3
  55. package/esm2020/lib/date-range-picker/date-range-picker.module.mjs +4 -4
  56. package/esm2020/lib/dialog/dialog.component.mjs +7 -7
  57. package/esm2020/lib/dialog/dialog.directives.mjs +6 -6
  58. package/esm2020/lib/directives/autocomplete/autocomplete.directive.mjs +7 -7
  59. package/esm2020/lib/directives/button/button.directive.mjs +7 -7
  60. package/esm2020/lib/directives/date-time-editor/date-time-editor.directive.mjs +7 -7
  61. package/esm2020/lib/directives/divider/divider.directive.mjs +7 -7
  62. package/esm2020/lib/directives/drag-drop/drag-drop.directive.mjs +16 -16
  63. package/esm2020/lib/directives/filter/filter.directive.mjs +10 -10
  64. package/esm2020/lib/directives/focus/focus.directive.mjs +7 -7
  65. package/esm2020/lib/directives/focus-trap/focus-trap.directive.mjs +7 -7
  66. package/esm2020/lib/directives/for-of/base.helper.component.mjs +3 -3
  67. package/esm2020/lib/directives/for-of/display.container.mjs +3 -3
  68. package/esm2020/lib/directives/for-of/for_of.directive.mjs +10 -10
  69. package/esm2020/lib/directives/for-of/for_of.sync.service.mjs +6 -6
  70. package/esm2020/lib/directives/for-of/horizontal.virtual.helper.component.mjs +3 -3
  71. package/esm2020/lib/directives/for-of/virtual.helper.component.mjs +3 -3
  72. package/esm2020/lib/directives/hint/hint.directive.mjs +3 -3
  73. package/esm2020/lib/directives/input/input.directive.mjs +3 -3
  74. package/esm2020/lib/directives/label/label.directive.mjs +3 -3
  75. package/esm2020/lib/directives/layout/layout.directive.mjs +10 -10
  76. package/esm2020/lib/directives/mask/mask-parsing.service.mjs +3 -3
  77. package/esm2020/lib/directives/mask/mask.directive.mjs +7 -7
  78. package/esm2020/lib/directives/notification/notifications.directive.mjs +3 -3
  79. package/esm2020/lib/directives/prefix/prefix.directive.mjs +7 -7
  80. package/esm2020/lib/directives/radio/radio-group.directive.mjs +7 -7
  81. package/esm2020/lib/directives/ripple/ripple.directive.mjs +7 -7
  82. package/esm2020/lib/directives/scroll-inertia/scroll_inertia.directive.mjs +7 -7
  83. package/esm2020/lib/directives/suffix/suffix.directive.mjs +7 -7
  84. package/esm2020/lib/directives/template-outlet/template_outlet.directive.mjs +7 -7
  85. package/esm2020/lib/directives/text-highlight/text-highlight.directive.mjs +7 -7
  86. package/esm2020/lib/directives/text-selection/text-selection.directive.mjs +7 -7
  87. package/esm2020/lib/directives/toggle/toggle.directive.mjs +13 -13
  88. package/esm2020/lib/directives/tooltip/tooltip.directive.mjs +10 -10
  89. package/esm2020/lib/drop-down/drop-down-group.component.mjs +3 -3
  90. package/esm2020/lib/drop-down/drop-down-item.base.mjs +3 -3
  91. package/esm2020/lib/drop-down/drop-down-item.component.mjs +3 -3
  92. package/esm2020/lib/drop-down/drop-down-navigation.directive.mjs +3 -3
  93. package/esm2020/lib/drop-down/drop-down.base.mjs +3 -3
  94. package/esm2020/lib/drop-down/drop-down.component.mjs +4 -4
  95. package/esm2020/lib/drop-down/public_api.mjs +4 -4
  96. package/esm2020/lib/expansion-panel/expansion-panel-body.component.mjs +3 -3
  97. package/esm2020/lib/expansion-panel/expansion-panel-header.component.mjs +3 -3
  98. package/esm2020/lib/expansion-panel/expansion-panel.component.mjs +3 -3
  99. package/esm2020/lib/expansion-panel/expansion-panel.directives.mjs +9 -9
  100. package/esm2020/lib/expansion-panel/expansion-panel.module.mjs +4 -4
  101. package/esm2020/lib/expansion-panel/toggle-animation-component.mjs +3 -3
  102. package/esm2020/lib/grids/api.service.mjs +3 -3
  103. package/esm2020/lib/grids/cell.component.mjs +3 -3
  104. package/esm2020/lib/grids/column-actions/column-actions-base.directive.mjs +3 -3
  105. package/esm2020/lib/grids/column-actions/column-actions.component.mjs +12 -12
  106. package/esm2020/lib/grids/column-actions/column-actions.module.mjs +4 -4
  107. package/esm2020/lib/grids/column-actions/column-hiding.directive.mjs +3 -3
  108. package/esm2020/lib/grids/column-actions/column-pinning.directive.mjs +3 -3
  109. package/esm2020/lib/grids/columns/column-group.component.mjs +3 -3
  110. package/esm2020/lib/grids/columns/column-layout.component.mjs +3 -3
  111. package/esm2020/lib/grids/columns/column.component.mjs +3 -3
  112. package/esm2020/lib/grids/columns/column.module.mjs +4 -4
  113. package/esm2020/lib/grids/columns/templates.directive.mjs +18 -18
  114. package/esm2020/lib/grids/common/crud.service.mjs +3 -3
  115. package/esm2020/lib/grids/common/grid-pipes.module.mjs +4 -4
  116. package/esm2020/lib/grids/common/pipes.mjs +51 -51
  117. package/esm2020/lib/grids/common/shared.module.mjs +4 -4
  118. package/esm2020/lib/grids/filtering/advanced-filtering/advanced-filtering-dialog.component.mjs +3 -3
  119. package/esm2020/lib/grids/filtering/base/filtering.module.mjs +4 -4
  120. package/esm2020/lib/grids/filtering/base/grid-filtering-cell.component.mjs +3 -3
  121. package/esm2020/lib/grids/filtering/base/grid-filtering-row.component.mjs +3 -3
  122. package/esm2020/lib/grids/filtering/excel-style/base-filtering.component.mjs +4 -4
  123. package/esm2020/lib/grids/filtering/excel-style/excel-style-clear-filters.component.mjs +3 -3
  124. package/esm2020/lib/grids/filtering/excel-style/excel-style-conditional-filter.component.mjs +3 -3
  125. package/esm2020/lib/grids/filtering/excel-style/excel-style-custom-dialog.component.mjs +3 -3
  126. package/esm2020/lib/grids/filtering/excel-style/excel-style-date-expression.component.mjs +3 -3
  127. package/esm2020/lib/grids/filtering/excel-style/excel-style-default-expression.component.mjs +3 -3
  128. package/esm2020/lib/grids/filtering/excel-style/excel-style-header.component.mjs +3 -3
  129. package/esm2020/lib/grids/filtering/excel-style/excel-style-hiding.component.mjs +3 -3
  130. package/esm2020/lib/grids/filtering/excel-style/excel-style-moving.component.mjs +3 -3
  131. package/esm2020/lib/grids/filtering/excel-style/excel-style-pinning.component.mjs +3 -3
  132. package/esm2020/lib/grids/filtering/excel-style/excel-style-search.component.mjs +6 -6
  133. package/esm2020/lib/grids/filtering/excel-style/excel-style-selecting.component.mjs +3 -3
  134. package/esm2020/lib/grids/filtering/excel-style/excel-style-sorting.component.mjs +3 -3
  135. package/esm2020/lib/grids/filtering/excel-style/grid.excel-style-filtering.component.mjs +9 -9
  136. package/esm2020/lib/grids/filtering/excel-style/grid.excel-style-filtering.module.mjs +4 -4
  137. package/esm2020/lib/grids/filtering/grid-filtering.service.mjs +3 -3
  138. package/esm2020/lib/grids/grid/expandable-cell.component.mjs +3 -3
  139. package/esm2020/lib/grids/grid/grid-api.service.mjs +3 -3
  140. package/esm2020/lib/grids/grid/grid-row.component.mjs +3 -3
  141. package/esm2020/lib/grids/grid/grid.component.mjs +3 -3
  142. package/esm2020/lib/grids/grid/grid.details.pipe.mjs +3 -3
  143. package/esm2020/lib/grids/grid/grid.directives.mjs +33 -33
  144. package/esm2020/lib/grids/grid/grid.module.mjs +4 -4
  145. package/esm2020/lib/grids/grid/grid.pipes.mjs +12 -12
  146. package/esm2020/lib/grids/grid/grid.summary.pipe.mjs +3 -3
  147. package/esm2020/lib/grids/grid/groupby-row.component.mjs +3 -3
  148. package/esm2020/lib/grids/grid-base.directive.mjs +4 -4
  149. package/esm2020/lib/grids/grid-common.module.mjs +4 -4
  150. package/esm2020/lib/grids/grid-footer/grid-footer.component.mjs +3 -3
  151. package/esm2020/lib/grids/grid-mrl-navigation.service.mjs +3 -3
  152. package/esm2020/lib/grids/grid-navigation.service.mjs +3 -3
  153. package/esm2020/lib/grids/grid.common.mjs +3 -3
  154. package/esm2020/lib/grids/grid.rowEdit.directive.mjs +15 -15
  155. package/esm2020/lib/grids/grouping/grid-group-by-area.component.mjs +3 -3
  156. package/esm2020/lib/grids/grouping/group-by-area.directive.mjs +6 -6
  157. package/esm2020/lib/grids/grouping/tree-grid-group-by-area.component.mjs +3 -3
  158. package/esm2020/lib/grids/headers/grid-header-group.component.mjs +4 -4
  159. package/esm2020/lib/grids/headers/grid-header-row.component.mjs +3 -3
  160. package/esm2020/lib/grids/headers/grid-header.component.mjs +3 -3
  161. package/esm2020/lib/grids/headers/headers.module.mjs +4 -4
  162. package/esm2020/lib/grids/headers/pipes.mjs +9 -9
  163. package/esm2020/lib/grids/hierarchical-grid/hierarchical-cell.component.mjs +3 -3
  164. package/esm2020/lib/grids/hierarchical-grid/hierarchical-grid-api.service.mjs +3 -3
  165. package/esm2020/lib/grids/hierarchical-grid/hierarchical-grid-base.directive.mjs +3 -3
  166. package/esm2020/lib/grids/hierarchical-grid/hierarchical-grid-navigation.service.mjs +3 -3
  167. package/esm2020/lib/grids/hierarchical-grid/hierarchical-grid.component.mjs +6 -6
  168. package/esm2020/lib/grids/hierarchical-grid/hierarchical-grid.module.mjs +4 -4
  169. package/esm2020/lib/grids/hierarchical-grid/hierarchical-grid.pipes.mjs +6 -6
  170. package/esm2020/lib/grids/hierarchical-grid/hierarchical-row.component.mjs +4 -4
  171. package/esm2020/lib/grids/hierarchical-grid/row-island-api.service.mjs +3 -3
  172. package/esm2020/lib/grids/hierarchical-grid/row-island.component.mjs +3 -3
  173. package/esm2020/lib/grids/moving/moving.drag.directive.mjs +3 -3
  174. package/esm2020/lib/grids/moving/moving.drop.directive.mjs +3 -3
  175. package/esm2020/lib/grids/moving/moving.module.mjs +4 -4
  176. package/esm2020/lib/grids/moving/moving.service.mjs +3 -3
  177. package/esm2020/lib/grids/resizing/resize-handle.directive.mjs +3 -3
  178. package/esm2020/lib/grids/resizing/resize.module.mjs +4 -4
  179. package/esm2020/lib/grids/resizing/resizer.component.mjs +3 -3
  180. package/esm2020/lib/grids/resizing/resizer.directive.mjs +3 -3
  181. package/esm2020/lib/grids/resizing/resizing.service.mjs +3 -3
  182. package/esm2020/lib/grids/row-drag.directive.mjs +13 -13
  183. package/esm2020/lib/grids/row.directive.mjs +4 -4
  184. package/esm2020/lib/grids/selection/drag-select.directive.mjs +3 -3
  185. package/esm2020/lib/grids/selection/row-selectors.mjs +9 -9
  186. package/esm2020/lib/grids/selection/selection.module.mjs +4 -4
  187. package/esm2020/lib/grids/selection/selection.service.mjs +3 -3
  188. package/esm2020/lib/grids/state.directive.mjs +7 -7
  189. package/esm2020/lib/grids/summaries/grid-root-summary.pipe.mjs +3 -3
  190. package/esm2020/lib/grids/summaries/grid-summary.service.mjs +3 -3
  191. package/esm2020/lib/grids/summaries/summary-cell.component.mjs +3 -3
  192. package/esm2020/lib/grids/summaries/summary-row.component.mjs +3 -3
  193. package/esm2020/lib/grids/summaries/summary.module.mjs +4 -4
  194. package/esm2020/lib/grids/toolbar/common.mjs +15 -15
  195. package/esm2020/lib/grids/toolbar/grid-toolbar-advanced-filtering.component.mjs +3 -3
  196. package/esm2020/lib/grids/toolbar/grid-toolbar-exporter.component.mjs +3 -3
  197. package/esm2020/lib/grids/toolbar/grid-toolbar-hiding.component.mjs +3 -3
  198. package/esm2020/lib/grids/toolbar/grid-toolbar-pinning.component.mjs +3 -3
  199. package/esm2020/lib/grids/toolbar/grid-toolbar.base.mjs +6 -6
  200. package/esm2020/lib/grids/toolbar/grid-toolbar.component.mjs +3 -3
  201. package/esm2020/lib/grids/toolbar/token.mjs +1 -1
  202. package/esm2020/lib/grids/toolbar/toolbar.module.mjs +4 -4
  203. package/esm2020/lib/grids/tree-grid/tree-cell.component.mjs +3 -3
  204. package/esm2020/lib/grids/tree-grid/tree-grid-api.service.mjs +3 -3
  205. package/esm2020/lib/grids/tree-grid/tree-grid-row.component.mjs +3 -3
  206. package/esm2020/lib/grids/tree-grid/tree-grid-selection.service.mjs +3 -3
  207. package/esm2020/lib/grids/tree-grid/tree-grid.component.mjs +3 -3
  208. package/esm2020/lib/grids/tree-grid/tree-grid.directives.mjs +3 -3
  209. package/esm2020/lib/grids/tree-grid/tree-grid.filtering.pipe.mjs +3 -3
  210. package/esm2020/lib/grids/tree-grid/tree-grid.grouping.pipe.mjs +3 -3
  211. package/esm2020/lib/grids/tree-grid/tree-grid.module.mjs +4 -4
  212. package/esm2020/lib/grids/tree-grid/tree-grid.pipes.mjs +21 -21
  213. package/esm2020/lib/grids/tree-grid/tree-grid.summary.pipe.mjs +3 -3
  214. package/esm2020/lib/icon/icon.component.mjs +3 -3
  215. package/esm2020/lib/icon/icon.service.mjs +13 -7
  216. package/esm2020/lib/icon/public_api.mjs +4 -4
  217. package/esm2020/lib/input-group/input-group.component.mjs +7 -7
  218. package/esm2020/lib/list/list-item.component.mjs +3 -3
  219. package/esm2020/lib/list/list.common.mjs +15 -15
  220. package/esm2020/lib/list/list.component.mjs +23 -23
  221. package/esm2020/lib/navbar/navbar.component.mjs +13 -13
  222. package/esm2020/lib/navigation-drawer/navigation-drawer.component.mjs +3 -3
  223. package/esm2020/lib/navigation-drawer/navigation-drawer.directives.mjs +9 -9
  224. package/esm2020/lib/navigation-drawer/navigation-drawer.module.mjs +4 -4
  225. package/esm2020/lib/paginator/paginator-interfaces.mjs +3 -3
  226. package/esm2020/lib/paginator/paginator.component.mjs +12 -12
  227. package/esm2020/lib/paginator/public_api.mjs +4 -4
  228. package/esm2020/lib/progressbar/progressbar.common.mjs +6 -6
  229. package/esm2020/lib/progressbar/progressbar.component.mjs +13 -13
  230. package/esm2020/lib/radio/radio.component.mjs +3 -3
  231. package/esm2020/lib/select/select-group.component.mjs +3 -3
  232. package/esm2020/lib/select/select-item.component.mjs +3 -3
  233. package/esm2020/lib/select/select-navigation.directive.mjs +3 -3
  234. package/esm2020/lib/select/select.component.mjs +14 -14
  235. package/esm2020/lib/select/select.module.mjs +4 -4
  236. package/esm2020/lib/services/csv/csv-exporter.mjs +3 -3
  237. package/esm2020/lib/services/direction/directionality.mjs +3 -3
  238. package/esm2020/lib/services/excel/excel-exporter.mjs +3 -3
  239. package/esm2020/lib/services/overlay/overlay.mjs +3 -3
  240. package/esm2020/lib/services/overlay/scroll/scroll-strategy.mjs +1 -1
  241. package/esm2020/lib/services/transaction/transaction-factory.service.mjs +6 -6
  242. package/esm2020/lib/simple-combo/simple-combo.component.mjs +14 -11
  243. package/esm2020/lib/slider/label/thumb-label.component.mjs +3 -3
  244. package/esm2020/lib/slider/slider.common.mjs +9 -9
  245. package/esm2020/lib/slider/slider.component.mjs +7 -7
  246. package/esm2020/lib/slider/thumb/thumb-slider.component.mjs +3 -3
  247. package/esm2020/lib/slider/ticks/tick.pipe.mjs +3 -3
  248. package/esm2020/lib/slider/ticks/ticks.component.mjs +3 -3
  249. package/esm2020/lib/snackbar/snackbar.component.mjs +7 -7
  250. package/esm2020/lib/splitter/splitter-pane/splitter-pane.component.mjs +3 -3
  251. package/esm2020/lib/splitter/splitter.component.mjs +6 -6
  252. package/esm2020/lib/splitter/splitter.module.mjs +4 -4
  253. package/esm2020/lib/stepper/step/step.component.mjs +5 -5
  254. package/esm2020/lib/stepper/stepper.component.mjs +7 -7
  255. package/esm2020/lib/stepper/stepper.directive.mjs +21 -21
  256. package/esm2020/lib/stepper/stepper.service.mjs +3 -3
  257. package/esm2020/lib/switch/switch.component.mjs +10 -10
  258. package/esm2020/lib/tabs/bottom-nav/bottom-nav-content.component.mjs +3 -3
  259. package/esm2020/lib/tabs/bottom-nav/bottom-nav-header.component.mjs +3 -3
  260. package/esm2020/lib/tabs/bottom-nav/bottom-nav-item.component.mjs +3 -3
  261. package/esm2020/lib/tabs/bottom-nav/bottom-nav.component.mjs +3 -3
  262. package/esm2020/lib/tabs/bottom-nav/bottom-nav.directives.mjs +6 -6
  263. package/esm2020/lib/tabs/bottom-nav/bottom-nav.module.mjs +4 -4
  264. package/esm2020/lib/tabs/tab-content.directive.mjs +3 -3
  265. package/esm2020/lib/tabs/tab-header.directive.mjs +3 -3
  266. package/esm2020/lib/tabs/tab-item.directive.mjs +3 -3
  267. package/esm2020/lib/tabs/tabs/tab-content.component.mjs +3 -3
  268. package/esm2020/lib/tabs/tabs/tab-header.component.mjs +3 -3
  269. package/esm2020/lib/tabs/tabs/tab-item.component.mjs +3 -3
  270. package/esm2020/lib/tabs/tabs/tabs.component.mjs +3 -3
  271. package/esm2020/lib/tabs/tabs/tabs.directives.mjs +6 -6
  272. package/esm2020/lib/tabs/tabs/tabs.module.mjs +4 -4
  273. package/esm2020/lib/tabs/tabs.directive.mjs +3 -3
  274. package/esm2020/lib/time-picker/time-picker.component.mjs +10 -10
  275. package/esm2020/lib/time-picker/time-picker.directives.mjs +12 -12
  276. package/esm2020/lib/time-picker/time-picker.pipes.mjs +6 -6
  277. package/esm2020/lib/toast/toast.component.mjs +7 -7
  278. package/esm2020/lib/tree/tree-navigation.service.mjs +3 -3
  279. package/esm2020/lib/tree/tree-node/tree-node.component.mjs +6 -6
  280. package/esm2020/lib/tree/tree-selection.service.mjs +3 -3
  281. package/esm2020/lib/tree/tree.component.mjs +13 -13
  282. package/esm2020/lib/tree/tree.service.mjs +3 -3
  283. package/fesm2015/igniteui-angular.mjs +1543 -1533
  284. package/fesm2015/igniteui-angular.mjs.map +1 -1
  285. package/fesm2020/igniteui-angular.mjs +1541 -1533
  286. package/fesm2020/igniteui-angular.mjs.map +1 -1
  287. package/lib/icon/icon.service.d.ts +4 -2
  288. package/package.json +1 -1
  289. package/schematics/tsconfig.tsbuildinfo +1 -1
@@ -638,9 +638,9 @@ export class IgxGridSelectionService {
638
638
  return this.grid.gridAPI.row_deleted_transaction(rowID);
639
639
  }
640
640
  }
641
- IgxGridSelectionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: IgxGridSelectionService, deps: [{ token: i0.NgZone }, { token: i1.PlatformUtil }], target: i0.ɵɵFactoryTarget.Injectable });
642
- IgxGridSelectionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: IgxGridSelectionService });
643
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: IgxGridSelectionService, decorators: [{
641
+ IgxGridSelectionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: IgxGridSelectionService, deps: [{ token: i0.NgZone }, { token: i1.PlatformUtil }], target: i0.ɵɵFactoryTarget.Injectable });
642
+ IgxGridSelectionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: IgxGridSelectionService });
643
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: IgxGridSelectionService, decorators: [{
644
644
  type: Injectable
645
645
  }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1.PlatformUtil }]; } });
646
646
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvZ3JpZHMvc2VsZWN0aW9uL3NlbGVjdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsVUFBVSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0IsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0RBQWtELENBQUM7OztBQWM1RixNQUFNLE9BQU8sdUJBQXVCO0lBdURoQyxZQUFvQixJQUFZLEVBQVksUUFBc0I7UUFBOUMsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUFZLGFBQVEsR0FBUixRQUFRLENBQWM7UUFyRDNELGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFakIsa0JBQWEsR0FBRyxFQUE2QixDQUFDO1FBQzlDLGlCQUFZLEdBQUcsRUFBNEIsQ0FBQztRQUM1QyxpQkFBWSxHQUFHLEVBQTJCLENBQUM7UUFFM0MsY0FBUyxHQUFHLElBQUksR0FBRyxFQUF1QixDQUFDO1FBQzNDLFNBQUksR0FBRyxJQUFJLEdBQUcsRUFBdUIsQ0FBQztRQUN0QyxpQkFBWSxHQUFhLElBQUksR0FBRyxFQUFPLENBQUM7UUFDeEMsc0JBQWlCLEdBQWEsSUFBSSxHQUFHLEVBQU8sQ0FBQztRQUM3QyxvQkFBZSxHQUFnQixJQUFJLEdBQUcsRUFBVSxDQUFDO1FBQ3hEOztXQUVHO1FBQ0ksdUJBQWtCLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUUxQzs7O1dBR0c7UUFDSywyQkFBc0IsR0FBRyxLQUFLLENBQUM7UUFHL0IsWUFBTyxHQUFnQixJQUFJLEdBQUcsRUFBVSxDQUFDO1FBMnJCekMseUJBQW9CLEdBQUcsR0FBRyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxL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TSxDQUFDO0lBQ2pHLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssb0JBQW9CLENBQUMsSUFBVTtRQUNuQyxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDeEMsU0FBUyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzVCLE1BQU0sS0FBSyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7UUFDMUIsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QixLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JCLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVPLGtCQUFrQjtRQUN0QixPQUFPLENBQUMsd0JBQXdCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUM7WUFDdEUsQ0FBQyx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFTyxZQUFZLENBQUMsS0FBSztRQUN0QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVELENBQUM7O29IQWx0QlEsdUJBQXVCO3dIQUF2Qix1QkFBdUI7MkZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0YWJsZSwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQbGF0Zm9ybVV0aWwgfSBmcm9tICcuLi8uLi9jb3JlL3V0aWxzJztcbmltcG9ydCB7IEZpbHRlcmluZ0V4cHJlc3Npb25zVHJlZSB9IGZyb20gJy4uLy4uL2RhdGEtb3BlcmF0aW9ucy9maWx0ZXJpbmctZXhwcmVzc2lvbnMtdHJlZSc7XG5pbXBvcnQgeyBHcmlkVHlwZSB9IGZyb20gJy4uL2NvbW1vbi9ncmlkLmludGVyZmFjZSc7XG5pbXBvcnQge1xuICAgIEdyaWRTZWxlY3Rpb25SYW5nZSxcbiAgICBJQ29sdW1uU2VsZWN0aW9uU3RhdGUsXG4gICAgSU11bHRpUm93TGF5b3V0Tm9kZSxcbiAgICBJU2VsZWN0aW9uS2V5Ym9hcmRTdGF0ZSxcbiAgICBJU2VsZWN0aW9uTm9kZSxcbiAgICBJU2VsZWN0aW9uUG9pbnRlclN0YXRlLFxuICAgIFNlbGVjdGlvblN0YXRlXG59IGZyb20gJy4uL2NvbW1vbi90eXBlcyc7XG5cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIElneEdyaWRTZWxlY3Rpb25TZXJ2aWNlIHtcbiAgICBwdWJsaWMgZ3JpZDogR3JpZFR5cGU7XG4gICAgcHVibGljIGRyYWdNb2RlID0gZmFsc2U7XG4gICAgcHVibGljIGFjdGl2ZUVsZW1lbnQ6IElTZWxlY3Rpb25Ob2RlIHwgbnVsbDtcbiAgICBwdWJsaWMga2V5Ym9hcmRTdGF0ZSA9IHt9IGFzIElTZWxlY3Rpb25LZXlib2FyZFN0YXRlO1xuICAgIHB1YmxpYyBwb2ludGVyU3RhdGUgPSB7fSBhcyBJU2VsZWN0aW9uUG9pbnRlclN0YXRlO1xuICAgIHB1YmxpYyBjb2x1bW5zU3RhdGUgPSB7fSBhcyBJQ29sdW1uU2VsZWN0aW9uU3RhdGU7XG5cbiAgICBwdWJsaWMgc2VsZWN0aW9uID0gbmV3IE1hcDxudW1iZXIsIFNldDxudW1iZXI+PigpO1xuICAgIHB1YmxpYyB0ZW1wID0gbmV3IE1hcDxudW1iZXIsIFNldDxudW1iZXI+PigpO1xuICAgIHB1YmxpYyByb3dTZWxlY3Rpb246IFNldDxhbnk+ID0gbmV3IFNldDxhbnk+KCk7XG4gICAgcHVibGljIGluZGV0ZXJtaW5hdGVSb3dzOiBTZXQ8YW55PiA9IG5ldyBTZXQ8YW55PigpO1xuICAgIHB1YmxpYyBjb2x1bW5TZWxlY3Rpb246IFNldDxzdHJpbmc+ID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gICAgLyoqXG4gICAgICogQGhpZGRlbiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgc2VsZWN0ZWRSb3dzQ2hhbmdlID0gbmV3IFN1YmplY3QoKTtcblxuICAgIC8qKlxuICAgICAqIFRvZ2dsZWQgd2hlbiBhIHBvaW50ZXJkb3duIGV2ZW50IGlzIHRyaWdnZXJlZCBpbnNpZGUgdGhlIGdyaWQgYm9keSAoY2VsbHMpLlxuICAgICAqIFdoZW4gYGZhbHNlYCB0aGUgZHJhZyBzZWxlY3QgYmVoYXZpb3IgaXMgZGlzYWJsZWQuXG4gICAgICovXG4gICAgcHJpdmF0ZSBwb2ludGVyRXZlbnRJbkdyaWRCb2R5ID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIGFsbFJvd3NTZWxlY3RlZDogYm9vbGVhbjtcbiAgICBwcml2YXRlIF9yYW5nZXM6IFNldDxzdHJpbmc+ID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gICAgcHJpdmF0ZSBfc2VsZWN0aW9uUmFuZ2U6IFJhbmdlO1xuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgY3VycmVudCBzZWxlY3RlZCByYW5nZXMgaW4gdGhlIGdyaWQgZnJvbSBib3RoXG4gICAgICoga2V5Ym9hcmQgYW5kIHBvaW50ZXIgaW50ZXJhY3Rpb25zXG4gICAgICovXG4gICAgcHVibGljIGdldCByYW5nZXMoKTogR3JpZFNlbGVjdGlvblJhbmdlW10ge1xuXG4gICAgICAgIC8vIFRoZSBsYXN0IGFjdGlvbiB3YXMga2V5Ym9hcmQgKyBzaGlmdCBzZWxlY3Rpb24gLT4gYWRkIGl0XG4gICAgICAgIHRoaXMuYWRkS2V5Ym9hcmRSYW5nZSgpO1xuXG4gICAgICAgIGNvbnN0IHJhbmdlcyA9IEFycmF5LmZyb20odGhpcy5fcmFuZ2VzKS5tYXAocmFuZ2UgPT4gSlNPTi5wYXJzZShyYW5nZSkpO1xuXG4gICAgICAgIC8vIE5vIHJhbmdlcyBidXQgd2UgaGF2ZSBhIGZvY3VzZWQgY2VsbCAtPiBhZGQgaXRcbiAgICAgICAgaWYgKCFyYW5nZXMubGVuZ3RoICYmIHRoaXMuYWN0aXZlRWxlbWVudCAmJiB0aGlzLmdyaWQuaXNDZWxsU2VsZWN0YWJsZSkge1xuICAgICAgICAgICAgcmFuZ2VzLnB1c2godGhpcy5nZW5lcmF0ZVJhbmdlKHRoaXMuYWN0aXZlRWxlbWVudCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJhbmdlcztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHByaW1hcnlCdXR0b24oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnBvaW50ZXJTdGF0ZS5wcmltYXJ5QnV0dG9uO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgcHJpbWFyeUJ1dHRvbih2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnBvaW50ZXJTdGF0ZS5wcmltYXJ5QnV0dG9uID0gdmFsdWU7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB6b25lOiBOZ1pvbmUsIHByb3RlY3RlZCBwbGF0Zm9ybTogUGxhdGZvcm1VdGlsKSB7XG4gICAgICAgIHRoaXMuaW5pdFBvaW50ZXJTdGF0ZSgpO1xuICAgICAgICB0aGlzLmluaXRLZXlib2FyZFN0YXRlKCk7XG4gICAgICAgIHRoaXMuaW5pdENvbHVtbnNTdGF0ZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlc2V0cyB0aGUga2V5Ym9hcmQgc3RhdGVcbiAgICAgKi9cbiAgICBwdWJsaWMgaW5pdEtleWJvYXJkU3RhdGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMua2V5Ym9hcmRTdGF0ZS5ub2RlID0gbnVsbDtcbiAgICAgICAgdGhpcy5rZXlib2FyZFN0YXRlLnNoaWZ0ID0gZmFsc2U7XG4gICAgICAgIHRoaXMua2V5Ym9hcmRTdGF0ZS5yYW5nZSA9IG51bGw7XG4gICAgICAgIHRoaXMua2V5Ym9hcmRTdGF0ZS5hY3RpdmUgPSBmYWxzZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXNldHMgdGhlIHBvaW50ZXIgc3RhdGVcbiAgICAgKi9cbiAgICBwdWJsaWMgaW5pdFBvaW50ZXJTdGF0ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wb2ludGVyU3RhdGUubm9kZSA9IG51bGw7XG4gICAgICAgIHRoaXMucG9pbnRlclN0YXRlLmN0cmwgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5wb2ludGVyU3RhdGUuc2hpZnQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5wb2ludGVyU3RhdGUucmFuZ2UgPSBudWxsO1xuICAgICAgICB0aGlzLnBvaW50ZXJTdGF0ZS5wcmltYXJ5QnV0dG9uID0gdHJ1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXNldHMgdGhlIGNvbHVtbnMgc3RhdGVcbiAgICAgKi9cbiAgICBwdWJsaWMgaW5pdENvbHVtbnNTdGF0ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb2x1bW5zU3RhdGUuZmllbGQgPSBudWxsO1xuICAgICAgICB0aGlzLmNvbHVtbnNTdGF0ZS5yYW5nZSA9IFtdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZHMgYSBzaW5nbGUgbm9kZS5cbiAgICAgKiBTaW5nbGUgY2xpY2tzIHwgQ3RybCArIHNpbmdsZSBjbGlja3Mgb24gY2VsbHMgaXMgdGhlIHVzdWFsIGNhc2UuXG4gICAgICovXG4gICAgcHVibGljIGFkZChub2RlOiBJU2VsZWN0aW9uTm9kZSwgYWRkVG9SYW5nZSA9IHRydWUpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0aW9uLmhhcyhub2RlLnJvdykpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uLmdldChub2RlLnJvdykuYWRkKG5vZGUuY29sdW1uKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uLnNldChub2RlLnJvdywgbmV3IFNldDxudW1iZXI+KCkpLmdldChub2RlLnJvdykuYWRkKG5vZGUuY29sdW1uKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChhZGRUb1JhbmdlKSB7XG4gICAgICAgICAgICB0aGlzLl9yYW5nZXMuYWRkKEpTT04uc3RyaW5naWZ5KHRoaXMuZ2VuZXJhdGVSYW5nZShub2RlKSkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkcyB0aGUgYWN0aXZlIGtleWJvYXJkIHJhbmdlIHNlbGVjdGlvbiAoaWYgYW55KSB0byB0aGUgYHJhbmdlc2AgbWV0YS5cbiAgICAgKi9cbiAgICBwdWJsaWMgYWRkS2V5Ym9hcmRSYW5nZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMua2V5Ym9hcmRTdGF0ZS5yYW5nZSkge1xuICAgICAgICAgICAgdGhpcy5fcmFuZ2VzLmFkZChKU09OLnN0cmluZ2lmeSh0aGlzLmtleWJvYXJkU3RhdGUucmFuZ2UpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyByZW1vdmUobm9kZTogSVNlbGVjdGlvbk5vZGUpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0aW9uLmhhcyhub2RlLnJvdykpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uLmdldChub2RlLnJvdykuZGVsZXRlKG5vZGUuY29sdW1uKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5pc0FjdGl2ZU5vZGUobm9kZSkpIHtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlRWxlbWVudCA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fcmFuZ2VzLmRlbGV0ZShKU09OLnN0cmluZ2lmeSh0aGlzLmdlbmVyYXRlUmFuZ2Uobm9kZSkpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNJbk1hcChub2RlOiBJU2VsZWN0aW9uTm9kZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKHRoaXMuc2VsZWN0aW9uLmhhcyhub2RlLnJvdykgJiYgdGhpcy5zZWxlY3Rpb24uZ2V0KG5vZGUucm93KS5oYXMobm9kZS5jb2x1bW4pKSB8fFxuICAgICAgICAgICAgKHRoaXMudGVtcC5oYXMobm9kZS5yb3cpICYmIHRoaXMudGVtcC5nZXQobm9kZS5yb3cpLmhhcyhub2RlLmNvbHVtbikpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZWxlY3RlZChub2RlOiBJU2VsZWN0aW9uTm9kZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKHRoaXMuaXNBY3RpdmVOb2RlKG5vZGUpICYmIHRoaXMuZ3JpZC5pc0NlbGxTZWxlY3RhYmxlKSB8fCB0aGlzLmlzSW5NYXAobm9kZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGlzQWN0aXZlTm9kZShub2RlOiBJU2VsZWN0aW9uTm9kZSk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5hY3RpdmVFbGVtZW50KSB7XG4gICAgICAgICAgICBjb25zdCBpc0FjdGl2ZSA9IHRoaXMuYWN0aXZlRWxlbWVudC5jb2x1bW4gPT09IG5vZGUuY29sdW1uICYmIHRoaXMuYWN0aXZlRWxlbWVudC5yb3cgPT09IG5vZGUucm93O1xuICAgICAgICAgICAgaWYgKHRoaXMuZ3JpZC5oYXNDb2x1bW5MYXlvdXRzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbGF5b3V0ID0gdGhpcy5hY3RpdmVFbGVtZW50LmxheW91dDtcbiAgICAgICAgICAgICAgICByZXR1cm4gaXNBY3RpdmUgJiYgdGhpcy5pc0FjdGl2ZUxheW91dChsYXlvdXQsIG5vZGUubGF5b3V0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBpc0FjdGl2ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcHVibGljIGlzQWN0aXZlTGF5b3V0KGN1cnJlbnQ6IElNdWx0aVJvd0xheW91dE5vZGUsIHRhcmdldDogSU11bHRpUm93TGF5b3V0Tm9kZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gY3VycmVudC5jb2x1bW5WaXNpYmxlSW5kZXggPT09IHRhcmdldC5jb2x1bW5WaXNpYmxlSW5kZXg7XG4gICAgfVxuXG4gICAgcHVibGljIGFkZFJhbmdlTWV0YShub2RlOiBJU2VsZWN0aW9uTm9kZSwgc3RhdGU/OiBTZWxlY3Rpb25TdGF0ZSk6IHZvaWQge1xuICAgICAgICB0aGlzLl9yYW5nZXMuYWRkKEpTT04uc3RyaW5naWZ5KHRoaXMuZ2VuZXJhdGVSYW5nZShub2RlLCBzdGF0ZSkpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVtb3ZlUmFuZ2VNZXRhKG5vZGU6IElTZWxlY3Rpb25Ob2RlLCBzdGF0ZT86IFNlbGVjdGlvblN0YXRlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Jhbmdlcy5kZWxldGUoSlNPTi5zdHJpbmdpZnkodGhpcy5nZW5lcmF0ZVJhbmdlKG5vZGUsIHN0YXRlKSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdlbmVyYXRlcyBhIG5ldyBzZWxlY3Rpb24gcmFuZ2UgZnJvbSB0aGUgZ2l2ZW4gYG5vZGVgLlxuICAgICAqIElmIGBzdGF0ZWAgaXMgcGFzc2VkIGluc3RlYWQgaXQgd2lsbCBnZW5lcmF0ZSB0aGUgcmFuZ2UgYmFzZWQgb24gdGhlIHBhc3NlZCBgbm9kZWBcbiAgICAgKiBhbmQgdGhlIHN0YXJ0IG5vZGUgb2YgdGhlIGBzdGF0ZWAuXG4gICAgICovXG4gICAgcHVibGljIGdlbmVyYXRlUmFuZ2Uobm9kZTogSVNlbGVjdGlvbk5vZGUsIHN0YXRlPzogU2VsZWN0aW9uU3RhdGUpOiBHcmlkU2VsZWN0aW9uUmFuZ2Uge1xuICAgICAgICBpZiAoIXN0YXRlKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHJvd1N0YXJ0OiBub2RlLnJvdyxcbiAgICAgICAgICAgICAgICByb3dFbmQ6IG5vZGUucm93LFxuICAgICAgICAgICAgICAgIGNvbHVtblN0YXJ0OiBub2RlLmNvbHVtbixcbiAgICAgICAgICAgICAgICBjb2x1bW5FbmQ6IG5vZGUuY29sdW1uXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgeyByb3csIGNvbHVtbiB9ID0gc3RhdGUubm9kZTtcbiAgICAgICAgY29uc3Qgcm93U3RhcnQgPSBNYXRoLm1pbihub2RlLnJvdywgcm93KTtcbiAgICAgICAgY29uc3Qgcm93RW5kID0gTWF0aC5tYXgobm9kZS5yb3csIHJvdyk7XG4gICAgICAgIGNvbnN0IGNvbHVtblN0YXJ0ID0gTWF0aC5taW4obm9kZS5jb2x1bW4sIGNvbHVtbik7XG4gICAgICAgIGNvbnN0IGNvbHVtbkVuZCA9IE1hdGgubWF4KG5vZGUuY29sdW1uLCBjb2x1bW4pO1xuXG4gICAgICAgIHJldHVybiB7IHJvd1N0YXJ0LCByb3dFbmQsIGNvbHVtblN0YXJ0LCBjb2x1bW5FbmQgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKlxuICAgICAqL1xuICAgIHB1YmxpYyBrZXlib2FyZFN0YXRlT25LZXlkb3duKG5vZGU6IElTZWxlY3Rpb25Ob2RlLCBzaGlmdDogYm9vbGVhbiwgc2hpZnRUYWI6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5rZXlib2FyZFN0YXRlLmFjdGl2ZSA9IHRydWU7XG4gICAgICAgIHRoaXMuaW5pdFBvaW50ZXJTdGF0ZSgpO1xuICAgICAgICB0aGlzLmtleWJvYXJkU3RhdGUuc2hpZnQgPSBzaGlmdCAmJiAhc2hpZnRUYWI7XG4gICAgICAgIGlmICghdGhpcy5ncmlkLm5hdmlnYXRpb24uaXNEYXRhUm93KG5vZGUucm93KSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIC8vIEtiIG5hdmlnYXRpb24gd2l0aCBzaGlmdCBhbmQgbm8gcHJldmlvdXMgbm9kZS5cbiAgICAgICAgLy8gQ2xlYXIgdGhlIGN1cnJlbnQgc2VsZWN0aW9uIGluaXQgdGhlIHN0YXJ0IG5vZGUuXG4gICAgICAgIGlmICh0aGlzLmtleWJvYXJkU3RhdGUuc2hpZnQgJiYgIXRoaXMua2V5Ym9hcmRTdGF0ZS5ub2RlKSB7XG4gICAgICAgICAgICB0aGlzLmNsZWFyKCk7XG4gICAgICAgICAgICB0aGlzLmtleWJvYXJkU3RhdGUubm9kZSA9IE9iamVjdC5hc3NpZ24oe30sIG5vZGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGtleWJvYXJkU3RhdGVPbkZvY3VzKG5vZGU6IElTZWxlY3Rpb25Ob2RlLCBlbWl0dGVyOiBFdmVudEVtaXR0ZXI8R3JpZFNlbGVjdGlvblJhbmdlPiwgZG9tKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGtiU3RhdGUgPSB0aGlzLmtleWJvYXJkU3RhdGU7XG5cbiAgICAgICAgLy8gRm9jdXMgdHJpZ2dlcmVkIGJ5IGtleWJvYXJkIG5hdmlnYXRpb25cbiAgICAgICAgaWYgKGtiU3RhdGUuYWN0aXZlKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5wbGF0Zm9ybS5pc0Nocm9taXVtKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fbW92ZVNlbGVjdGlvbkNocm9tZShkb20pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gU3RhcnQgZ2VuZXJhdGluZyBhIHJhbmdlIGlmIHNoaWZ0IGlzIGhvbGRcbiAgICAgICAgICAgIGlmIChrYlN0YXRlLnNoaWZ0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kcmFnU2VsZWN0KG5vZGUsIGtiU3RhdGUpO1xuICAgICAgICAgICAgICAgIGtiU3RhdGUucmFuZ2UgPSB0aGlzLmdlbmVyYXRlUmFuZ2Uobm9kZSwga2JTdGF0ZSk7XG4gICAgICAgICAgICAgICAgZW1pdHRlci5lbWl0KHRoaXMuZ2VuZXJhdGVSYW5nZShub2RlLCBrYlN0YXRlKSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmluaXRLZXlib2FyZFN0YXRlKCk7XG4gICAgICAgICAgICB0aGlzLmNsZWFyKCk7XG4gICAgICAgICAgICB0aGlzLmFkZChub2RlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBwb2ludGVyRG93bihub2RlOiBJU2VsZWN0aW9uTm9kZSwgc2hpZnQ6IGJvb2xlYW4sIGN0cmw6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hZGRLZXlib2FyZFJhbmdlKCk7XG4gICAgICAgIHRoaXMuaW5pdEtleWJvYXJkU3RhdGUoKTtcbiAgICAgICAgdGhpcy5wb2ludGVyU3RhdGUuY3RybCA9IGN0cmw7XG4gICAgICAgIHRoaXMucG9pbnRlclN0YXRlLnNoaWZ0ID0gc2hpZnQ7XG4gICAgICAgIHRoaXMucG9pbnRlckV2ZW50SW5HcmlkQm9keSA9IHRydWU7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcigncG9pbnRlcnVwJywgdGhpcy5wb2ludGVyT3JpZ2luSGFuZGxlcik7XG5cbiAgICAgICAgLy8gTm8gY3RybCBrZXkgcHJlc3NlZCAtIG5vIG11bHRpcGxlIHNlbGVjdGlvblxuICAgICAgICBpZiAoIWN0cmwpIHtcbiAgICAgICAgICAgIHRoaXMuY2xlYXIoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzaGlmdCkge1xuICAgICAgICAgICAgLy8gTm8gcHJldmlvdXNseSAnY2xpY2tlZCcgbm9kZS4gVXNlIHRoZSBsYXN0IGFjdGl2ZSBub2RlLlxuICAgICAgICAgICAgaWYgKCF0aGlzLnBvaW50ZXJTdGF0ZS5ub2RlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wb2ludGVyU3RhdGUubm9kZSA9IHRoaXMuYWN0aXZlRWxlbWVudCB8fCBub2RlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5wb2ludGVyRG93blNoaWZ0S2V5KG5vZGUpO1xuICAgICAgICAgICAgdGhpcy5jbGVhclRleHRTZWxlY3Rpb24oKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucmVtb3ZlUmFuZ2VNZXRhKG5vZGUpO1xuICAgICAgICB0aGlzLnBvaW50ZXJTdGF0ZS5ub2RlID0gbm9kZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcG9pbnRlckRvd25TaGlmdEtleShub2RlOiBJU2VsZWN0aW9uTm9kZSk6IHZvaWQge1xuICAgICAgICB0aGlzLmNsZWFyKCk7XG4gICAgICAgIHRoaXMuc2VsZWN0UmFuZ2Uobm9kZSwgdGhpcy5wb2ludGVyU3RhdGUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBtZXJnZU1hcCh0YXJnZXQ6IE1hcDxudW1iZXIsIFNldDxudW1iZXI+Piwgc291cmNlOiBNYXA8bnVtYmVyLCBTZXQ8bnVtYmVyPj4pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaXRlcmF0b3IgPSBzb3VyY2UuZW50cmllcygpO1xuICAgICAgICBsZXQgcGFpciA9IGl0ZXJhdG9yLm5leHQoKTtcbiAgICAgICAgbGV0IGtleTogbnVtYmVyO1xuICAgICAgICBsZXQgdmFsdWU6IFNldDxudW1iZXI+O1xuXG4gICAgICAgIHdoaWxlICghcGFpci5kb25lKSB7XG4gICAgICAgICAgICBba2V5LCB2YWx1ZV0gPSBwYWlyLnZhbHVlO1xuICAgICAgICAgICAgaWYgKHRhcmdldC5oYXMoa2V5KSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gdGFyZ2V0LmdldChrZXkpO1xuICAgICAgICAgICAgICAgIHZhbHVlLmZvckVhY2gocmVjb3JkID0+IG5ld1ZhbHVlLmFkZChyZWNvcmQpKTtcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2V0KGtleSwgbmV3VmFsdWUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2V0KGtleSwgdmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcGFpciA9IGl0ZXJhdG9yLm5leHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBwb2ludGVyRW50ZXIobm9kZTogSVNlbGVjdGlvbk5vZGUsIGV2ZW50OiBQb2ludGVyRXZlbnQpOiBib29sZWFuIHtcbiAgICAgICAgLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL3BvaW50ZXJldmVudHMvI3RoZS1idXR0b24tcHJvcGVydHlcbiAgICAgICAgdGhpcy5kcmFnTW9kZSA9IChldmVudC5idXR0b25zID09PSAxICYmIChldmVudC5idXR0b24gPT09IC0xIHx8IGV2ZW50LmJ1dHRvbiA9PT0gMCkpICYmIHRoaXMucG9pbnRlckV2ZW50SW5HcmlkQm9keTtcbiAgICAgICAgaWYgKCF0aGlzLmRyYWdNb2RlKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jbGVhclRleHRTZWxlY3Rpb24oKTtcblxuICAgICAgICAvLyBJZiB0aGUgdXNlcnMgdHJpZ2dlcnMgYSBkcmFnLWxpa2UgZXZlbnQgYnkgZmlyc3QgY2xpY2tpbmcgb3V0c2lkZSB0aGUgZ3JpZCBjZWxsc1xuICAgICAgICAvLyBhbmQgdGhlbiBlbnRlcnMgaW4gdGhlIGdyaWQgYm9keSB3ZSBtYXkgbm90IGhhdmUgYSBpbml0aWFsIHBvaW50ZXIgc3RhcnRpbmcgbm9kZS5cbiAgICAgICAgLy8gQXNzdW1lIHRoZSBmaXJzdCBwb2ludGVyZW50ZXIgbm9kZSBpcyB3aGVyZSB3ZSBzdGFydC5cbiAgICAgICAgaWYgKCF0aGlzLnBvaW50ZXJTdGF0ZS5ub2RlKSB7XG4gICAgICAgICAgICB0aGlzLnBvaW50ZXJTdGF0ZS5ub2RlID0gbm9kZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnBvaW50ZXJTdGF0ZS5jdHJsKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdFJhbmdlKG5vZGUsIHRoaXMucG9pbnRlclN0YXRlLCB0aGlzLnRlbXApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5kcmFnU2VsZWN0KG5vZGUsIHRoaXMucG9pbnRlclN0YXRlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcG9pbnRlclVwKG5vZGU6IElTZWxlY3Rpb25Ob2RlLCBlbWl0dGVyOiBFdmVudEVtaXR0ZXI8R3JpZFNlbGVjdGlvblJhbmdlPik6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5kcmFnTW9kZSkge1xuICAgICAgICAgICAgdGhpcy5yZXN0b3JlVGV4dFNlbGVjdGlvbigpO1xuICAgICAgICAgICAgdGhpcy5hZGRSYW5nZU1ldGEobm9kZSwgdGhpcy5wb2ludGVyU3RhdGUpO1xuICAgICAgICAgICAgdGhpcy5tZXJnZU1hcCh0aGlzLnNlbGVjdGlvbiwgdGhpcy50ZW1wKTtcbiAgICAgICAgICAgIHRoaXMuem9uZS5ydW5UYXNrKCgpID0+IGVtaXR0ZXIuZW1pdCh0aGlzLmdlbmVyYXRlUmFuZ2Uobm9kZSwgdGhpcy5wb2ludGVyU3RhdGUpKSk7XG4gICAgICAgICAgICB0aGlzLnRlbXAuY2xlYXIoKTtcbiAgICAgICAgICAgIHRoaXMuZHJhZ01vZGUgPSBmYWxzZTtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMucG9pbnRlclN0YXRlLnNoaWZ0KSB7XG4gICAgICAgICAgICB0aGlzLmNsZWFyVGV4dFNlbGVjdGlvbigpO1xuICAgICAgICAgICAgdGhpcy5yZXN0b3JlVGV4dFNlbGVjdGlvbigpO1xuICAgICAgICAgICAgdGhpcy5hZGRSYW5nZU1ldGEobm9kZSwgdGhpcy5wb2ludGVyU3RhdGUpO1xuICAgICAgICAgICAgZW1pdHRlci5lbWl0KHRoaXMuZ2VuZXJhdGVSYW5nZShub2RlLCB0aGlzLnBvaW50ZXJTdGF0ZSkpO1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5wb2ludGVyRXZlbnRJbkdyaWRCb2R5KSB7XG4gICAgICAgICAgICB0aGlzLmFkZChub2RlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcHVibGljIHNlbGVjdFJhbmdlKG5vZGU6IElTZWxlY3Rpb25Ob2RlLCBzdGF0ZTogU2VsZWN0aW9uU3RhdGUsIGNvbGxlY3Rpb246IE1hcDxudW1iZXIsIFNldDxudW1iZXI+PiA9IHRoaXMuc2VsZWN0aW9uKTogdm9pZCB7XG4gICAgICAgIGlmIChjb2xsZWN0aW9uID09PSB0aGlzLnRlbXApIHtcbiAgICAgICAgICAgIGNvbGxlY3Rpb24uY2xlYXIoKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB7IHJvd1N0YXJ0LCByb3dFbmQsIGNvbHVtblN0YXJ0LCBjb2x1bW5FbmQgfSA9IHRoaXMuZ2VuZXJhdGVSYW5nZShub2RlLCBzdGF0ZSk7XG4gICAgICAgIGZvciAobGV0IGkgPSByb3dTdGFydDsgaSA8PSByb3dFbmQ7IGkrKykge1xuICAgICAgICAgICAgZm9yIChsZXQgaiA9IGNvbHVtblN0YXJ0IGFzIG51bWJlcjsgaiA8PSBjb2x1bW5FbmQ7IGorKykge1xuICAgICAgICAgICAgICAgIGlmIChjb2xsZWN0aW9uLmhhcyhpKSkge1xuICAgICAgICAgICAgICAgICAgICBjb2xsZWN0aW9uLmdldChpKS5hZGQoaik7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29sbGVjdGlvbi5zZXQoaSwgbmV3IFNldDxudW1iZXI+KCkpLmdldChpKS5hZGQoaik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGRyYWdTZWxlY3Qobm9kZTogSVNlbGVjdGlvbk5vZGUsIHN0YXRlOiBTZWxlY3Rpb25TdGF0ZSk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMucG9pbnRlclN0YXRlLmN0cmwpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uLmNsZWFyKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZWxlY3RSYW5nZShub2RlLCBzdGF0ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGNsZWFyKGNsZWFyQWNyaXZlRWwgPSBmYWxzZSk6IHZvaWQge1xuICAgICAgICBpZiAoY2xlYXJBY3JpdmVFbCkge1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVFbGVtZW50ID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNlbGVjdGlvbi5jbGVhcigpO1xuICAgICAgICB0aGlzLnRlbXAuY2xlYXIoKTtcbiAgICAgICAgdGhpcy5fcmFuZ2VzLmNsZWFyKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGNsZWFyVGV4dFNlbGVjdGlvbigpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0aW9uID0gd2luZG93LmdldFNlbGVjdGlvbigpO1xuICAgICAgICBpZiAoc2VsZWN0aW9uLnJhbmdlQ291bnQpIHtcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGlvblJhbmdlID0gc2VsZWN0aW9uLmdldFJhbmdlQXQoMCk7XG4gICAgICAgICAgICB0aGlzLl9zZWxlY3Rpb25SYW5nZS5jb2xsYXBzZSh0cnVlKTtcbiAgICAgICAgICAgIHNlbGVjdGlvbi5yZW1vdmVBbGxSYW5nZXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyByZXN0b3JlVGV4dFNlbGVjdGlvbigpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0aW9uID0gd2luZG93LmdldFNlbGVjdGlvbigpO1xuICAgICAgICBpZiAoIXNlbGVjdGlvbi5yYW5nZUNvdW50KSB7XG4gICAgICAgICAgICBzZWxlY3Rpb24uYWRkUmFuZ2UodGhpcy5fc2VsZWN0aW9uUmFuZ2UgfHwgZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogUmV0dXJucyBhcnJheSBvZiB0aGUgc2VsZWN0ZWQgcm93IGlkJ3MuICovXG4gICAgcHVibGljIGdldFNlbGVjdGVkUm93cygpOiBBcnJheTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucm93U2VsZWN0aW9uLnNpemUgPyBBcnJheS5mcm9tKHRoaXMucm93U2VsZWN0aW9uLmtleXMoKSkgOiBbXTtcbiAgICB9XG5cbiAgICAvKiogUmV0dXJucyBhcnJheSBvZiB0aGUgcm93cyBpbiBpbmRldGVybWluYXRlIHN0YXRlLiAqL1xuICAgIHB1YmxpYyBnZXRJbmRldGVybWluYXRlUm93cygpOiBBcnJheTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5kZXRlcm1pbmF0ZVJvd3Muc2l6ZSA/IEFycmF5LmZyb20odGhpcy5pbmRldGVybWluYXRlUm93cy5rZXlzKCkpIDogW107XG4gICAgfVxuXG4gICAgLyoqIENsZWFycyByb3cgc2VsZWN0aW9uLCBpZiBmaWx0ZXJpbmcgaXMgYXBwbGllZCBjbGVhcnMgb25seSBzZWxlY3RlZCByb3dzIGZyb20gZmlsdGVyZWQgZGF0YS4gKi9cbiAgICBwdWJsaWMgY2xlYXJSb3dTZWxlY3Rpb24oZXZlbnQ/KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHJlbW92ZWRSZWMgPSB0aGlzLmlzRmlsdGVyaW5nQXBwbGllZCgpID9cbiAgICAgICAgICAgIHRoaXMuZ2V0Um93SURzKHRoaXMuYWxsRGF0YSkuZmlsdGVyKHJJRCA9PiB0aGlzLmlzUm93U2VsZWN0ZWQocklEKSkgOiB0aGlzLmdldFNlbGVjdGVkUm93cygpO1xuICAgICAgICBjb25zdCBuZXdTZWxlY3Rpb24gPSB0aGlzLmlzRmlsdGVyaW5nQXBwbGllZCgpID8gdGhpcy5nZXRTZWxlY3RlZFJvd3MoKS5maWx0ZXIoeCA9PiAhcmVtb3ZlZFJlYy5pbmNsdWRlcyh4KSkgOiBbXTtcbiAgICAgICAgdGhpcy5lbWl0Um93U2VsZWN0aW9uRXZlbnQobmV3U2VsZWN0aW9uLCBbXSwgcmVtb3ZlZFJlYywgZXZlbnQpO1xuICAgIH1cblxuICAgIC8qKiBTZWxlY3QgYWxsIHJvd3MsIGlmIGZpbHRlcmluZyBpcyBhcHBsaWVkIHNlbGVjdCBvbmx5IGZyb20gZmlsdGVyZWQgZGF0YS4gKi9cbiAgICBwdWJsaWMgc2VsZWN0QWxsUm93cyhldmVudD8pIHtcbiAgICAgICAgY29uc3QgYWxsUm93SURzID0gdGhpcy5nZXRSb3dJRHModGhpcy5hbGxEYXRhKTtcbiAgICAgICAgY29uc3QgYWRkZWRSb3dzID0gYWxsUm93SURzLmZpbHRlcigocklEKSA9PiAhdGhpcy5pc1Jvd1NlbGVjdGVkKHJJRCkpO1xuICAgICAgICBjb25zdCBuZXdTZWxlY3Rpb24gPSB0aGlzLnJvd1NlbGVjdGlvbi5zaXplID8gdGhpcy5nZXRTZWxlY3RlZFJvd3MoKS5jb25jYXQoYWRkZWRSb3dzKSA6IGFkZGVkUm93cztcbiAgICAgICAgdGhpcy5pbmRldGVybWluYXRlUm93cy5jbGVhcigpO1xuICAgICAgICB0aGlzLmVtaXRSb3dTZWxlY3Rpb25FdmVudChuZXdTZWxlY3Rpb24sIGFkZGVkUm93cywgW10sIGV2ZW50KTtcbiAgICB9XG5cbiAgICAvKiogU2VsZWN0IHRoZSBzcGVjaWZpZWQgcm93IGFuZCBlbWl0IGV2ZW50LiAqL1xuICAgIHB1YmxpYyBzZWxlY3RSb3dCeUlkKHJvd0lELCBjbGVhclByZXZTZWxlY3Rpb24/LCBldmVudD8pOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmdyaWQuaXNSb3dTZWxlY3RhYmxlIHx8IHRoaXMuaXNSb3dEZWxldGVkKHJvd0lEKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNsZWFyUHJldlNlbGVjdGlvbiA9ICF0aGlzLmdyaWQuaXNNdWx0aVJvd1NlbGVjdGlvbkVuYWJsZWQgfHwgY2xlYXJQcmV2U2VsZWN0aW9uO1xuXG4gICAgICAgIGNvbnN0IHNlbGVjdGVkUm93cyA9IHRoaXMuZ2V0U2VsZWN0ZWRSb3dzKCk7XG4gICAgICAgIGNvbnN0IG5ld1NlbGVjdGlvbiA9IGNsZWFyUHJldlNlbGVjdGlvbiA/IFtyb3dJRF0gOiB0aGlzLnJvd1NlbGVjdGlvbi5oYXMocm93SUQpID9cbiAgICAgICAgICAgIHNlbGVjdGVkUm93cyA6IFsuLi5zZWxlY3RlZFJvd3MsIHJvd0lEXTtcbiAgICAgICAgY29uc3QgcmVtb3ZlZCA9IGNsZWFyUHJldlNlbGVjdGlvbiA/IHNlbGVjdGVkUm93cyA6IFtdO1xuICAgICAgICB0aGlzLmVtaXRSb3dTZWxlY3Rpb25FdmVudChuZXdTZWxlY3Rpb24sIFtyb3dJRF0sIHJlbW92ZWQsIGV2ZW50KTtcbiAgICB9XG5cbiAgICAvKiogRGVzZWxlY3QgdGhlIHNwZWNpZmllZCByb3cgYW5kIGVtaXQgZXZlbnQuICovXG4gICAgcHVibGljIGRlc2VsZWN0Um93KHJvd0lELCBldmVudD8pOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzUm93U2VsZWN0ZWQocm93SUQpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbmV3U2VsZWN0aW9uID0gdGhpcy5nZXRTZWxlY3RlZFJvd3MoKS5maWx0ZXIociA9PiByICE9PSByb3dJRCk7XG4gICAgICAgIGlmICh0aGlzLnJvd1NlbGVjdGlvbi5zaXplICYmIHRoaXMucm93U2VsZWN0aW9uLmhhcyhyb3dJRCkpIHtcbiAgICAgICAgICAgIHRoaXMuZW1pdFJvd1NlbGVjdGlvbkV2ZW50KG5ld1NlbGVjdGlvbiwgW10sIFtyb3dJRF0sIGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBTZWxlY3QgdGhlIHNwZWNpZmllZCByb3dzIGFuZCBlbWl0IGV2ZW50LiAqL1xuICAgIHB1YmxpYyBzZWxlY3RSb3dzKGtleXM6IGFueVtdLCBjbGVhclByZXZTZWxlY3Rpb24/OiBib29sZWFuLCBldmVudD8pOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmdyaWQuaXNNdWx0aVJvd1NlbGVjdGlvbkVuYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJvd3NUb1NlbGVjdCA9IGtleXMuZmlsdGVyKHggPT4gIXRoaXMuaXNSb3dEZWxldGVkKHgpICYmICF0aGlzLnJvd1NlbGVjdGlvbi5oYXMoeCkpO1xuICAgICAgICBpZiAoIXJvd3NUb1NlbGVjdC5sZW5ndGggJiYgIWNsZWFyUHJldlNlbGVjdGlvbikge1xuICAgICAgICAgICAgLy8gbm8gdmFsaWQvYWRkaXRpb25hbCByb3dzIHRvIHNlbGVjdCBhbmQgbm8gY2xlYXJcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHNlbGVjdGVkUm93cyA9IHRoaXMuZ2V0U2VsZWN0ZWRSb3dzKCk7XG4gICAgICAgIGNvbnN0IG5ld1NlbGVjdGlvbiA9IGNsZWFyUHJldlNlbGVjdGlvbiA/IHJvd3NUb1NlbGVjdCA6IFsuLi5zZWxlY3RlZFJvd3MsIC4uLnJvd3NUb1NlbGVjdF07XG4gICAgICAgIGNvbnN0IGtleXNBc1NldCA9IG5ldyBTZXQocm93c1RvU2VsZWN0KTtcbiAgICAgICAgY29uc3QgcmVtb3ZlZCA9IGNsZWFyUHJldlNlbGVjdGlvbiA/IHNlbGVjdGVkUm93cy5maWx0ZXIoeCA9PiAha2V5c0FzU2V0Lmhhcyh4KSkgOiBbXTtcbiAgICAgICAgdGhpcy5lbWl0Um93U2VsZWN0aW9uRXZlbnQobmV3U2VsZWN0aW9uLCByb3dzVG9TZWxlY3QsIHJlbW92ZWQsIGV2ZW50KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZGVzZWxlY3RSb3dzKGtleXM6IGFueVtdLCBldmVudD8pOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLnJvd1NlbGVjdGlvbi5zaXplKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByb3dzVG9EZXNlbGVjdCA9IGtleXMuZmlsdGVyKHggPT4gdGhpcy5yb3dTZWxlY3Rpb24uaGFzKHgpKTtcbiAgICAgICAgaWYgKCFyb3dzVG9EZXNlbGVjdC5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGtleXNBc1NldCA9IG5ldyBTZXQocm93c1RvRGVzZWxlY3QpO1xuICAgICAgICBjb25zdCBuZXdTZWxlY3Rpb24gPSB0aGlzLmdldFNlbGVjdGVkUm93cygpLmZpbHRlcihyID0+ICFrZXlzQXNTZXQuaGFzKHIpKTtcbiAgICAgICAgdGhpcy5lbWl0Um93U2VsZWN0aW9uRXZlbnQobmV3U2VsZWN0aW9uLCBbXSwgcm93c1RvRGVzZWxlY3QsIGV2ZW50KTtcbiAgICB9XG5cbiAgICAvKiogU2VsZWN0IHNwZWNpZmllZCByb3dzLiBObyBldmVudCBpcyBlbWl0dGVkLiAqL1xuICAgIHB1YmxpYyBzZWxlY3RSb3dzV2l0aE5vRXZlbnQocm93SURzOiBhbnlbXSwgY2xlYXJQcmV2U2VsZWN0aW9uPyk6IHZvaWQge1xuICAgICAgICBpZiAoY2xlYXJQcmV2U2VsZWN0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLnJvd1NlbGVjdGlvbi5jbGVhcigpO1xuICAgICAgICB9XG4gICAgICAgIHJvd0lEcy5mb3JFYWNoKHJvd0lEID0+IHRoaXMucm93U2VsZWN0aW9uLmFkZChyb3dJRCkpO1xuICAgICAgICB0aGlzLmFsbFJvd3NTZWxlY3RlZCA9IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFJvd3NDaGFuZ2UubmV4dCgpO1xuICAgIH1cblxuICAgIC8qKiBEZXNlbGVjdCBzcGVjaWZpZWQgcm93cy4gTm8gZXZlbnQgaXMgZW1pdHRlZC4gKi9cbiAgICBwdWJsaWMgZGVzZWxlY3RSb3dzV2l0aE5vRXZlbnQocm93SURzOiBhbnlbXSk6IHZvaWQge1xuICAgICAgICByb3dJRHMuZm9yRWFjaChyb3dJRCA9PiB0aGlzLnJvd1NlbGVjdGlvbi5kZWxldGUocm93SUQpKTtcbiAgICAgICAgdGhpcy5hbGxSb3dzU2VsZWN0ZWQgPSB1bmRlZmluZWQ7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRSb3dzQ2hhbmdlLm5leHQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNSb3dTZWxlY3RlZChyb3dJRCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5yb3dTZWxlY3Rpb24uc2l6ZSA+IDAgJiYgdGhpcy5yb3dTZWxlY3Rpb24uaGFzKHJvd0lEKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNSb3dJbkluZGV0ZXJtaW5hdGVTdGF0ZShyb3dJRCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pbmRldGVybWluYXRlUm93cy5zaXplID4gMCAmJiB0aGlzLmluZGV0ZXJtaW5hdGVSb3dzLmhhcyhyb3dJRCk7XG4gICAgfVxuXG4gICAgLyoqIFNlbGVjdCByYW5nZSBmcm9tIGxhc3Qgc2VsZWN0ZWQgcm93IHRvIHRoZSBjdXJyZW50IHNwZWNpZmllZCByb3cuICovXG4gICAgcHVibGljIHNlbGVjdE11bHRpcGxlUm93cyhyb3dJRCwgcm93RGF0YSwgZXZlbnQ/KTogdm9pZCB7XG4gICAgICAgIHRoaXMuYWxsUm93c1NlbGVjdGVkID0gdW5kZWZpbmVkO1xuICAgICAgICBpZiAoIXRoaXMucm93U2VsZWN0aW9uLnNpemUgfHwgdGhpcy5pc1Jvd0RlbGV0ZWQocm93SUQpKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdFJvd0J5SWQocm93SUQpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGdyaWREYXRhID0gdGhpcy5hbGxEYXRhO1xuICAgICAgICBjb25zdCBsYXN0Um93SUQgPSB0aGlzLmdldFNlbGVjdGVkUm93cygpW3RoaXMucm93U2VsZWN0aW9uLnNpemUgLSAxXTtcbiAgICAgICAgY29uc3QgY3VyckluZGV4ID0gZ3JpZERhdGEuaW5kZXhPZih0aGlzLmdldFJvd0RhdGFCeUlkKGxhc3RSb3dJRCkpO1xuICAgICAgICBjb25zdCBuZXdJbmRleCA9IGdyaWREYXRhLmluZGV4T2Yocm93RGF0YSk7XG4gICAgICAgIGNvbnN0IHJvd3MgPSBncmlkRGF0YS5zbGljZShNYXRoLm1pbihjdXJySW5kZXgsIG5ld0luZGV4KSwgTWF0aC5tYXgoY3VyckluZGV4LCBuZXdJbmRleCkgKyAxKTtcblxuICAgICAgICBjb25zdCBhZGRlZCA9IHRoaXMuZ2V0Um93SURzKHJvd3MpLmZpbHRlcihySUQgPT4gIXRoaXMuaXNSb3dTZWxlY3RlZChySUQpKTtcbiAgICAgICAgY29uc3QgbmV3U2VsZWN0aW9uID0gdGhpcy5nZXRTZWxlY3RlZFJvd3MoKS5jb25jYXQoYWRkZWQpO1xuICAgICAgICB0aGlzLmVtaXRSb3dTZWxlY3Rpb25FdmVudChuZXdTZWxlY3Rpb24sIGFkZGVkLCBbXSwgZXZlbnQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhcmVBbGxSb3dTZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCF0aGlzLmdyaWQuZGF0YSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmFsbFJvd3NTZWxlY3RlZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5hbGxSb3dzU2VsZWN0ZWQ7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkYXRhSXRlbXNJRCA9IHRoaXMuZ2V0Um93SURzKHRoaXMuYWxsRGF0YSk7XG4gICAgICAgIHJldHVybiB0aGlzLmFsbFJvd3NTZWxlY3RlZCA9IE1hdGgubWluKHRoaXMucm93U2VsZWN0aW9uLnNpemUsIGRhdGFJdGVtc0lELmxlbmd0aCkgPiAwICYmXG4gICAgICAgICAgICBuZXcgU2V0KEFycmF5LmZyb20odGhpcy5yb3dTZWxlY3Rpb24udmFsdWVzKCkpLmNvbmNhdChkYXRhSXRlbXNJRCkpLnNpemUgPT09IHRoaXMucm93U2VsZWN0aW9uLnNpemU7XG4gICAgfVxuXG4gICAgcHVibGljIGhhc1NvbWVSb3dTZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgZmlsdGVyZWREYXRhID0gdGhpcy5pc0ZpbHRlcmluZ0FwcGxpZWQoKSA/XG4gICAgICAgICAgICB0aGlzLmdldFJvd0lEcyh0aGlzLmdyaWQuZmlsdGVyZWREYXRhKS5zb21lKHJJRCA9PiB0aGlzLmlzUm93U2VsZWN0ZWQocklEKSkgOiB0cnVlO1xuICAgICAgICByZXR1cm4gdGhpcy5yb3dTZWxlY3Rpb24uc2l6ZSA+IDAgJiYgZmlsdGVyZWREYXRhICYmICF0aGlzLmFyZUFsbFJvd1NlbGVjdGVkKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBmaWx0ZXJlZFNlbGVjdGVkUm93SWRzKCk6IGFueVtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNGaWx0ZXJpbmdBcHBsaWVkKCkgP1xuICAgICAgICAgICAgdGhpcy5nZXRSb3dJRHModGhpcy5hbGxEYXRhKS5maWx0ZXIocm93SUQgPT4gdGhpcy5pc1Jvd1NlbGVjdGVkKHJvd0lEKSkgOlxuICAgICAgICAgICAgdGhpcy5nZXRTZWxlY3RlZFJvd3MoKS5maWx0ZXIocm93SUQgPT4gIXRoaXMuaXNSb3dEZWxldGVkKHJvd0lEKSk7XG4gICAgfVxuXG4gICAgcHVibGljIGVtaXRSb3dTZWxlY3Rpb25FdmVudChuZXdTZWxlY3Rpb24sIGFkZGVkLCByZW1vdmVkLCBldmVudD8pOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgY3VyclNlbGVjdGlvbiA9IHRoaXMuZ2V0U2VsZWN0ZWRSb3dzKCk7XG4gICAgICAgIGlmICh0aGlzLmFyZUVxdWFsQ29sbGVjdGlvbnMoY3VyclNlbGVjdGlvbiwgbmV3U2VsZWN0aW9uKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYXJncyA9IHtcbiAgICAgICAgICAgIG9sZFNlbGVjdGlvbjogY3VyclNlbGVjdGlvbiwgbmV3U2VsZWN0aW9uLFxuICAgICAgICAgICAgYWRkZWQsIHJlbW92ZWQsIGV2ZW50LCBjYW5jZWw6IGZhbHNlXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuZ3JpZC5yb3dTZWxlY3Rpb25DaGFuZ2luZy5lbWl0KGFyZ3MpO1xuICAgICAgICBpZiAoYXJncy5jYW5jZWwpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNlbGVjdFJvd3NXaXRoTm9FdmVudChhcmdzLm5ld1NlbGVjdGlvbiwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFJvd0RhdGFCeUlkKHJvd0lEKTogYW55IHtcbiAgICAgICAgaWYgKCF0aGlzLmdyaWQucHJpbWFyeUtleSkge1xuICAgICAgICAgICAgcmV0dXJuIHJvd0lEO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJvd0luZGV4ID0gdGhpcy5nZXRSb3dJRHModGhpcy5ncmlkLmdyaWRBUEkuZ2V0X2FsbF9kYXRhKHRydWUpKS5pbmRleE9mKHJvd0lEKTtcbiAgICAgICAgcmV0dXJuIHJvd0luZGV4IDwgMCA/IHt9IDogdGhpcy5ncmlkLmdyaWRBUEkuZ2V0X2FsbF9kYXRhKHRydWUpW3Jvd0luZGV4XTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Um93SURzKGRhdGEpOiBBcnJheTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ3JpZC5wcmltYXJ5S2V5ICYmIGRhdGEubGVuZ3RoID8gZGF0YS5tYXAocmVjID0+IHJlY1t0aGlzLmdyaWQucHJpbWFyeUtleV0pIDogZGF0YTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xlYXJIZWFkZXJDQlN0YXRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmFsbFJvd3NTZWxlY3RlZCA9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvKiogQ2xlYXIgcm93U2VsZWN0aW9uIGFuZCB1cGRhdGUgY2hlY2tib3ggc3RhdGUgKi9cbiAgICBwdWJsaWMgY2xlYXJBbGxTZWxlY3RlZFJvd3MoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucm93U2VsZWN0aW9uLmNsZWFyKCk7XG4gICAgICAgIHRoaXMuaW5kZXRlcm1pbmF0ZVJvd3MuY2xlYXIoKTtcbiAgICAgICAgdGhpcy5jbGVhckhlYWRlckNCU3RhdGUoKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFJvd3NDaGFuZ2UubmV4dCgpO1xuICAgIH1cblxuICAgIC8qKiBSZXR1cm5zIGFsbCBkYXRhIGluIHRoZSBncmlkLCB3aXRoIGFwcGxpZWQgZmlsdGVyaW5nIGFuZCBzb3J0aW5nIGFuZCB3aXRob3V0IGRlbGV0ZWQgcm93cy4gKi9cbiAgICBwdWJsaWMgZ2V0IGFsbERhdGEoKTogQXJyYXk8YW55PiB7XG4gICAgICAgIGxldCBhbGxEYXRhO1xuICAgICAgICBpZiAodGhpcy5pc0ZpbHRlcmluZ0FwcGxpZWQoKSB8fCB0aGlzLmdyaWQuc29ydGluZ0V4cHJlc3Npb25zLmxlbmd0aCkge1xuICAgICAgICAgICAgYWxsRGF0YSA9IHRoaXMuZ3JpZC5waW5uZWRSZWNvcmRzQ291bnQgPyB0aGlzLmdyaWQuX2ZpbHRlcmVkU29ydGVkVW5waW5uZWREYXRhIDogdGhpcy5ncmlkLmZpbHRlcmVkU29ydGVkRGF0YTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGFsbERhdGEgPSB0aGlzLmdyaWQuZ3JpZEFQSS5nZXRfYWxsX2RhdGEodHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGFsbERhdGEuZmlsdGVyKHJEYXRhID0+ICF0aGlzLmlzUm93RGVsZXRlZCh0aGlzLmdyaWQuZ3JpZEFQSS5nZXRfcm93X2lkKHJEYXRhKSkpO1xuICAgIH1cblxuICAgIC8qKiBSZXR1cm5zIGFycmF5IG9mIHRoZSBzZWxlY3RlZCBjb2x1bW5zIGZpZWxkcy4gKi9cbiAgICBwdWJsaWMgZ2V0U2VsZWN0ZWRDb2x1bW5zKCk6IEFycmF5PGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb2x1bW5TZWxlY3Rpb24uc2l6ZSA/IEFycmF5LmZyb20odGhpcy5jb2x1bW5TZWxlY3Rpb24ua2V5cygpKSA6IFtdO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc0NvbHVtblNlbGVjdGVkKGZpZWxkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29sdW1uU2VsZWN0aW9uLnNpemUgPiAwICYmIHRoaXMuY29sdW1uU2VsZWN0aW9uLmhhcyhmaWVsZCk7XG4gICAgfVxuXG4gICAgLyoqIFNlbGVjdCB0aGUgc3BlY2lmaWVkIGNvbHVtbiBhbmQgZW1pdCBldmVudC4gKi9cbiAgICBwdWJsaWMgc2VsZWN0Q29sdW1uKGZpZWxkOiBzdHJpbmcsIGNsZWFyUHJldlNlbGVjdGlvbj8sIHNlbGVjdENvbHVtbnNSYW5nZT8sIGV2ZW50Pyk6IHZvaWQge1xuICAgICAgICBjb25zdCBzdGF0ZUNvbHVtbiA9IHRoaXMuY29sdW1uc1N0YXRlLmZpZWxkID8gdGhpcy5ncmlkLmdldENvbHVtbkJ5TmFtZSh0aGlzLmNvbHVtbnNTdGF0ZS5maWVsZCkgOiBudWxsO1xuICAgICAgICBpZiAoIWV2ZW50IHx8ICFzdGF0ZUNvbHVtbiB8fCBzdGF0ZUNvbHVtbi52aXNpYmxlSW5kZXggPCAwIHx8ICFzZWxlY3RDb2x1bW5zUmFuZ2UpIHtcbiAgICAgICAgICAgIHRoaXMuY29sdW1uc1N0YXRlLmZpZWxkID0gZmllbGQ7XG4gICAgICAgICAgICB0aGlzLmNvbHVtbnNTdGF0ZS5yYW5nZSA9IFtdO1xuXG4gICAgICAgICAgICBjb25zdCBuZXdTZWxlY3Rpb24gPSBjbGVhclByZXZTZWxlY3Rpb24gPyBbZmllbGRdIDogdGhpcy5nZXRTZWxlY3RlZENvbHVtbnMoKS5pbmRleE9mKGZpZWxkKSAhPT0gLTEgP1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0U2VsZWN0ZWRDb2x1bW5zKCkgOiBbLi4udGhpcy5nZXRTZWxlY3RlZENvbHVtbnMoKSwgZmllbGRdO1xuICAgICAgICAgICAgY29uc3QgcmVtb3ZlZCA9IGNsZWFyUHJldlNlbGVjdGlvbiA/IHRoaXMuZ2V0U2VsZWN0ZWRDb2x1bW5zKCkuZmlsdGVyKGNvbEZpZWxkID0+IGNvbEZpZWxkICE9PSBmaWVsZCkgOiBbXTtcbiAgICAgICAgICAgIGNvbnN0IGFkZGVkID0gdGhpcy5pc0NvbHVtblNlbGVjdGVkKGZpZWxkKSA/IFtdIDogW2ZpZWxkXTtcbiAgICAgICAgICAgIHRoaXMuZW1pdENvbHVtblNlbGVjdGlvbkV2ZW50KG5ld1NlbGVjdGlvbiwgYWRkZWQsIHJlbW92ZWQsIGV2ZW50KTtcbiAgICAgICAgfSBlbHNlIGlmIChzZWxlY3RDb2x1bW5zUmFuZ2UpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0Q29sdW1uc1JhbmdlKGZpZWxkLCBldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogU2VsZWN0IHNwZWNpZmllZCBjb2x1bW5zLiBBbmQgZW1pdCBldmVudC4gKi9cbiAgICBwdWJsaWMgc2VsZWN0Q29sdW1ucyhmaWVsZHM6IHN0cmluZ1tdLCBjbGVhclByZXZTZWxlY3Rpb24/LCBzZWxlY3RDb2x1bW5zUmFuZ2U/LCBldmVudD8pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY29sdW1ucyA9IGZpZWxkcy5tYXAoZiA9PiB0aGlzLmdyaWQuZ2V0Q29sdW1uQnlOYW1lKGYpKS5zb3J0KChhLCBiKSA9PiBhLnZpc2libGVJbmRleCAtIGIudmlzaWJsZUluZGV4KTtcbiAgICAgICAgY29uc3Qgc3RhdGVDb2x1bW4gPSB0aGlzLmNvbHVtbnNTdGF0ZS5maWVsZCA/IHRoaXMuZ3JpZC5nZXRDb2x1bW5CeU5hbWUodGhpcy5jb2x1bW5zU3RhdGUuZmllbGQpIDogbnVsbDtcbiAgICAgICAgaWYgKCFzdGF0ZUNvbHVtbiB8fCBzdGF0ZUNvbHVtbi52aXNpYmxlSW5kZXggPCAwIHx8ICFzZWxlY3RDb2x1bW5zUmFuZ2UpIHtcbiAgICAgICAgICAgIHRoaXMuY29sdW1uc1N0YXRlLmZpZWxkID0gY29sdW1uc1swXSA/IGNvbHVtbnNbMF0uZmllbGQgOiBudWxsO1xuICAgICAgICAgICAgdGhpcy5jb2x1bW5zU3RhdGUucmFuZ2UgPSBbXTtcblxuICAgICAgICAgICAgY29uc3QgYWRkZWQgPSBmaWVsZHMuZmlsdGVyKGNvbEZpZWxkID0+ICF0aGlzLmlzQ29sdW1uU2VsZWN0ZWQoY29sRmllbGQpKTtcbiAgICAgICAgICAgIGNvbnN0IHJlbW92ZWQgPSBjbGVhclByZXZTZWxlY3Rpb24gPyB0aGlzLmdldFNlbGVjdGVkQ29sdW1ucygpLmZpbHRlcihjb2xGaWVsZCA9PiBmaWVsZHMuaW5kZXhPZihjb2xGaWVsZCkgPT09IC0xKSA6IFtdO1xuICAgICAgICAgICAgY29uc3QgbmV3U2VsZWN0aW9uID0gY2xlYXJQcmV2U2VsZWN0aW9uID8gZmllbGRzIDogdGhpcy5nZXRTZWxlY3RlZENvbHVtbnMoKS5jb25jYXQoYWRkZWQpO1xuXG4gICAgICAgICAgICB0aGlzLmVtaXRDb2x1bW5TZWxlY3Rpb25FdmVudChuZXdTZWxlY3Rpb24sIGFkZGVkLCByZW1vdmVkLCBldmVudCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBmaWxlZFN0YXJ0ID0gc3RhdGVDb2x1bW4udmlzaWJsZUluZGV4ID5cbiAgICAgICAgICAgICAgICBjb2x1bW5zW2NvbHVtbnMubGVuZ3RoIC0gMV0udmlzaWJsZUluZGV4ID8gY29sdW1uc1swXS5maWVsZCA6IGNvbHVtbnNbY29sdW1ucy5sZW5ndGggLSAxXS5maWVsZDtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0Q29sdW1uc1JhbmdlKGZpbGVkU3RhcnQsIGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBTZWxlY3QgcmFuZ2UgZnJvbSBsYXN0IGNsaWNrZWQgY29sdW1uIHRvIHRoZSBjdXJyZW50IHNwZWNpZmllZCBjb2x1bW4uICovXG4gICAgcHVibGljIHNlbGVjdENvbHVtbnNSYW5nZShmaWVsZDogc3RyaW5nLCBldmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCBjdXJySW5kZXggPSB0aGlzLmdyaWQuZ2V0Q29sdW1uQnlOYW1lKHRoaXMuY29sdW1uc1N0YXRlLmZpZWxkKS52aXNpYmxlSW5kZXg7XG4gICAgICAgIGNvbnN0IG5ld0luZGV4ID0gdGhpcy5ncmlkLmNvbHVtblRvVmlzaWJsZUluZGV4KGZpZWxkKTtcbiAgICAgICAgY29uc3QgY29sdW1uc0ZpZWxkcyA9IHRoaXMuZ3JpZC52aXNpYmxlQ29sdW1uc1xuICAgICAgICAgICAgLmZpbHRlcihjID0+ICFjLmNvbHVtbkdyb3VwKVxuICAgICAgICAgICAgLnNvcnQoKGEsIGIpID0+IGEudmlzaWJsZUluZGV4IC0gYi52aXNpYmxlSW5kZXgpXG4gICAgICAgICAgICAuc2xpY2UoTWF0aC5taW4oY3VyckluZGV4LCBuZXdJbmRleCksIE1hdGgubWF4KGN1cnJJbmRleCwgbmV3SW5kZXgpICsgMSlcbiAgICAgICAgICAgIC5maWx0ZXIoY29sID0+IGNvbC5zZWxlY3RhYmxlKS5tYXAoY29sID0+IGNvbC5maWVsZCk7XG4gICAgICAgIGNvbnN0IHJlbW92ZWQgPSBbXTtcbiAgICAgICAgY29uc3Qgb2xkQWRkZWQgPSBbXTtcbiAgICAgICAgY29uc3QgYWRkZWQgPSBjb2x1bW5zRmllbGRzLmZpbHRlcihjb2xGaWVsZCA9PiAhdGhpcy5pc0NvbHVtblNlbGVjdGVkKGNvbEZpZWxkKSk7XG4gICAgICAgIHRoaXMuY29sdW1uc1N0YXRlLnJhbmdlLmZvckVhY2goZiA9PiB7XG4gICAgICAgICAgICBpZiAoY29sdW1uc0ZpZWxkcy5pbmRleE9mKGYpID09PSAtMSkge1xuICAgICAgICAgICAgICAgIHJlbW92ZWQucHVzaChmKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgb2xkQWRkZWQucHVzaChmKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuY29sdW1uc1N0YXRlLnJhbmdlID0gY29sdW1uc0ZpZWxkcy5maWx0ZXIoY29sRmllbGQgPT4gIXRoaXMuaXNDb2x1bW5TZWxlY3RlZChjb2xGaWVsZCkgfHwgb2xkQWRkZWQuaW5kZXhPZihjb2xGaWVsZCkgPiAtMSk7XG4gICAgICAgIGNvbnN0IG5ld1NlbGVjdGlvbiA9IHRoaXMuZ2V0U2VsZWN0ZWRDb2x1bW5zKCkuY29uY2F0KGFkZGVkKS5maWx0ZXIoYyA9PiByZW1vdmVkLmluZGV4T2YoYykgPT09IC0xKTtcbiAgICAgICAgdGhpcy5lbWl0Q29sdW1uU2VsZWN0aW9uRXZlbnQobmV3U2VsZWN0aW9uLCBhZGRlZCwgcmVtb3ZlZCwgZXZlbnQpO1xuICAgIH1cblxuICAgIC8qKiBTZWxlY3Qgc3BlY2lmaWVkIGNvbHVtbnMuIE5vIGV2ZW50IGlzIGVtaXR0ZWQuICovXG4gICAgcHVibGljIHNlbGVjdENvbHVtbnNXaXRoTm9FdmVudChmaWVsZHM6IHN0cmluZ1tdLCBjbGVhclByZXZTZWxlY3Rpb24/KTogdm9pZCB7XG4gICAgICAgIGlmIChjbGVhclByZXZTZWxlY3Rpb24pIHtcbiAgICAgICAgICAgIHRoaXMuY29sdW1uU2VsZWN0aW9uLmNsZWFyKCk7XG4gICAgICAgIH1cbiAgICAgICAgZmllbGRzLmZvckVhY2goZmllbGQgPT4ge1xuICAgICAgICAgICAgdGhpcy5jb2x1bW5TZWxlY3Rpb24uYWRkKGZpZWxkKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIERlc2VsZWN0IHRoZSBzcGVjaWZpZWQgY29sdW1uIGFuZCBlbWl0IGV2ZW50LiAqL1xuICAgIHB1YmxpYyBkZXNlbGVjdENvbHVtbihmaWVsZDogc3RyaW5nLCBldmVudD8pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbml0Q29sdW1uc1N0YXRlKCk7XG4gICAgICAgIGNvbnN0IG5ld1NlbGVjdGlvbiA9IHRoaXMuZ2V0U2VsZWN0ZWRDb2x1bW5zKCkuZmlsdGVyKGMgPT4gYyAhPT0gZmllbGQpO1xuICAgICAgICB0aGlzLmVtaXRDb2x1bW5TZWxlY3Rpb25FdmVudChuZXdTZWxlY3Rpb24sIFtdLCBbZmllbGRdLCBldmVudCk7XG4gICAgfVxuXG4gICAgLyoqIERlc2VsZWN0IHNwZWNpZmllZCBjb2x1bW5zLiBObyBldmVudCBpcyBlbWl0dGVkLiAqL1xuICAgIHB1YmxpYyBkZXNlbGVjdENvbHVtbnNXaXRoTm9FdmVudChmaWVsZHM6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgICAgIGZpZWxkcy5mb3JFYWNoKGZpZWxkID0+IHRoaXMuY29sdW1uU2VsZWN0aW9uLmRlbGV0ZShmaWVsZCkpO1xuICAgIH1cblxuICAgIC8qKiBEZXNlbGVjdCBzcGVjaWZpZWQgY29sdW1ucy4gQW5kIGVtaXQgZXZlbnQuICovXG4gICAgcHVibGljIGRlc2VsZWN0Q29sdW1ucyhmaWVsZHM6IHN0cmluZ1tdLCBldmVudD8pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcmVtb3ZlZCA9IHRoaXMuZ2V0U2VsZWN0ZWRDb2x1bW5zKCkuZmlsdGVyKGNvbEZpZWxkID0+IGZpZWxkcy5pbmRleE9mKGNvbEZpZWxkKSA+IC0xKTtcbiAgICAgICAgY29uc3QgbmV3U2VsZWN0aW9uID0gdGhpcy5nZXRTZWxlY3RlZENvbHVtbnMoKS5maWx0ZXIoY29sRmllbGQgPT4gZmllbGRzLmluZGV4T2YoY29sRmllbGQpID09PSAtMSk7XG5cbiAgICAgICAgdGhpcy5lbWl0Q29sdW1uU2VsZWN0aW9uRXZlbnQobmV3U2VsZWN0aW9uLCBbXSwgcmVtb3ZlZCwgZXZlbnQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBlbWl0Q29sdW1uU2VsZWN0aW9uRXZlbnQobmV3U2VsZWN0aW9uLCBhZGRlZCwgcmVtb3ZlZCwgZXZlbnQ/KTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGN1cnJTZWxlY3Rpb24gPSB0aGlzLmdldFNlbGVjdGVkQ29sdW1ucygpO1xuICAgICAgICBpZiAodGhpcy5hcmVFcXVhbENvbGxlY3Rpb25zKGN1cnJTZWxlY3Rpb24sIG5ld1NlbGVjdGlvbikpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGFyZ3MgPSB7XG4gICAgICAgICAgICBvbGRTZWxlY3Rpb246IGN1cnJTZWxlY3Rpb24sIG5ld1NlbGVjdGlvbixcbiAgICAgICAgICAgIGFkZGVkLCByZW1vdmVkLCBldmVudCwgY2FuY2VsOiBmYWxzZVxuICAgICAgICB9O1xuICAgICAgICB0aGlzLmdyaWQuY29sdW1uU2VsZWN0aW9uQ2hhbmdpbmcuZW1pdChhcmdzKTtcbiAgICAgICAgaWYgKGFyZ3MuY2FuY2VsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZWxlY3RDb2x1bW5zV2l0aE5vRXZlbnQoYXJncy5uZXdTZWxlY3Rpb24sIHRydWUpO1xuICAgIH1cblxuICAgIC8qKiBDbGVhciBjb2x1bW5TZWxlY3Rpb24gKi9cbiAgICBwdWJsaWMgY2xlYXJBbGxTZWxlY3RlZENvbHVtbnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29sdW1uU2VsZWN0aW9uLmNsZWFyKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGFyZUVxdWFsQ29sbGVjdGlvbnMoZmlyc3QsIHNlY29uZCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gZmlyc3QubGVuZ3RoID09PSBzZWNvbmQubGVuZ3RoICYmIG5ldyBTZXQoZmlyc3QuY29uY2F0KHNlY29uZCkpLnNpemUgPT09IGZpcnN0Lmxlbmd0aDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAo4pWvwrDilqHCsO+8ieKVr++4tSDilLvilIHilLtcbiAgICAgKiBDaHJvbWUgYW5kIENocm9taXVtIGRvbid0IGNhcmUgYWJvdXQgdGhlIGFjdGl2ZVxuICAgICAqIHJhbmdlIGFmdGVyIGtleWJvYXJkIG5hdmlnYXRpb24sIHRodXMgdGhpcy5cbiAgICAgKi9cbiAgICBwcml2YXRlIF9tb3ZlU2VsZWN0aW9uQ2hyb21lKG5vZGU6IE5vZGUpIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0aW9uID0gd2luZG93LmdldFNlbGVjdGlvbigpO1xuICAgICAgICBzZWxlY3Rpb24ucmVtb3ZlQWxsUmFuZ2VzKCk7XG4gICAgICAgIGNvbnN0IHJhbmdlID0gbmV3IFJhbmdlKCk7XG4gICAgICAgIHJhbmdlLnNlbGVjdE5vZGUobm9kZSk7XG4gICAgICAgIHJhbmdlLmNvbGxhcHNlKHRydWUpO1xuICAgICAgICBzZWxlY3Rpb24uYWRkUmFuZ2UocmFuZ2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNGaWx0ZXJpbmdBcHBsaWVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIUZpbHRlcmluZ0V4cHJlc3Npb25zVHJlZS5lbXB0eSh0aGlzLmdyaWQuZmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlKSB8fFxuICAgICAgICAgICAgIUZpbHRlcmluZ0V4cHJlc3Npb25zVHJlZS5lbXB0eSh0aGlzLmdyaWQuYWR2YW5jZWRGaWx0ZXJpbmdFeHByZXNzaW9uc1RyZWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNSb3dEZWxldGVkKHJvd0lEKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdyaWQuZ3JpZEFQSS5yb3dfZGVsZXRlZF90cmFuc2FjdGlvbihyb3dJRCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwb2ludGVyT3JpZ2luSGFuZGxlciA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5wb2ludGVyRXZlbnRJbkdyaWRCb2R5ID0gZmFsc2U7XG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlRXZlbnRMaXN0ZW5lcigncG9pbnRlcnVwJywgdGhpcy5wb2ludGVyT3JpZ2luSGFuZGxlcik7XG4gICAgfTtcbn1cbiJdfQ==
@@ -497,9 +497,9 @@ export class IgxGridStateDirective {
497
497
  return feature;
498
498
  }
499
499
  }
500
- IgxGridStateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: IgxGridStateDirective, deps: [{ token: IGX_GRID_BASE, host: true, optional: true }, { token: i0.ComponentFactoryResolver }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
501
- IgxGridStateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0", type: IgxGridStateDirective, selector: "[igxGridState]", inputs: { options: ["igxGridState", "options"] }, ngImport: i0 });
502
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: IgxGridStateDirective, decorators: [{
500
+ IgxGridStateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: IgxGridStateDirective, deps: [{ token: IGX_GRID_BASE, host: true, optional: true }, { token: i0.ComponentFactoryResolver }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
501
+ IgxGridStateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.2", type: IgxGridStateDirective, selector: "[igxGridState]", inputs: { options: ["igxGridState", "options"] }, ngImport: i0 });
502
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: IgxGridStateDirective, decorators: [{
503
503
  type: Directive,
504
504
  args: [{
505
505
  selector: '[igxGridState]'
@@ -520,10 +520,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImpor
520
520
  */
521
521
  export class IgxGridStateModule {
522
522
  }
523
- IgxGridStateModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: IgxGridStateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
524
- IgxGridStateModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: IgxGridStateModule, declarations: [IgxGridStateDirective], exports: [IgxGridStateDirective] });
525
- IgxGridStateModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: IgxGridStateModule });
526
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: IgxGridStateModule, decorators: [{
523
+ IgxGridStateModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: IgxGridStateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
524
+ IgxGridStateModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: IgxGridStateModule, declarations: [IgxGridStateDirective], exports: [IgxGridStateDirective] });
525
+ IgxGridStateModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: IgxGridStateModule });
526
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: IgxGridStateModule, decorators: [{
527
527
  type: NgModule,
528
528
  args: [{
529
529
  declarations: [IgxGridStateDirective],
@@ -11,9 +11,9 @@ export class IgxSummaryDataPipe {
11
11
  return summaryService.calculateSummaries(summaryService.rootSummaryID, this.grid.gridAPI.get_summary_data());
12
12
  }
13
13
  }
14
- IgxSummaryDataPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: IgxSummaryDataPipe, deps: [{ token: IGX_GRID_BASE }], target: i0.ɵɵFactoryTarget.Pipe });
15
- IgxSummaryDataPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: IgxSummaryDataPipe, name: "igxGridSummaryDataPipe" });
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: IgxSummaryDataPipe, decorators: [{
14
+ IgxSummaryDataPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: IgxSummaryDataPipe, deps: [{ token: IGX_GRID_BASE }], target: i0.ɵɵFactoryTarget.Pipe });
15
+ IgxSummaryDataPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: IgxSummaryDataPipe, name: "igxGridSummaryDataPipe" });
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: IgxSummaryDataPipe, decorators: [{
17
17
  type: Pipe,
18
18
  args: [{ name: 'igxGridSummaryDataPipe' }]
19
19
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
@@ -225,9 +225,9 @@ export class IgxGridSummaryService {
225
225
  return this.grid.nativeElement.tagName.toLowerCase() === 'igx-hierarchical-grid';
226
226
  }
227
227
  }
228
- IgxGridSummaryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: IgxGridSummaryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
229
- IgxGridSummaryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: IgxGridSummaryService });
230
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: IgxGridSummaryService, decorators: [{
228
+ IgxGridSummaryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: IgxGridSummaryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
229
+ IgxGridSummaryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: IgxGridSummaryService });
230
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: IgxGridSummaryService, decorators: [{
231
231
  type: Injectable
232
232
  }] });
233
233
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1zdW1tYXJ5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvZ3JpZHMvc3VtbWFyaWVzL2dyaWQtc3VtbWFyeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFMUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzNELE9BQU8sRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFHakUsY0FBYztBQUVkLE1BQU0sT0FBTyxxQkFBcUI7SUFEbEM7UUFHVyxrQkFBYSxHQUFHLG9CQUFvQixDQUFDO1FBQ3JDLGtCQUFhLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLHVCQUFrQixHQUFHLENBQUMsQ0FBQztRQUN2Qix3QkFBbUIsR0FBRyxFQUFFLENBQUM7UUFDekIsc0JBQWlCLEdBQUcsQ0FBQyxDQUFDO1FBQ3RCLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBRXJCLG9CQUFlLEdBQW9DLElBQUksR0FBRyxFQUEyQyxDQUFDO0tBdU9uSDtJQXJPVSxvQkFBb0I7UUFDdkIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVNLGlCQUFpQixDQUFDLElBQUs7UUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFO1lBQzVCLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDUCxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzdCLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFF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YyxDQUFDLFFBQVEsRUFBRSxFQUFFO2dCQUN4QyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztnQkFDekIsT0FBTzthQUNWO1lBQ0QsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ2hELElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFO29CQUN4QyxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7d0JBQzVCLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO3FCQUNuQztnQkFDSixDQUFDLENBQUMsQ0FBQztZQUNQLENBQUMsQ0FBQyxDQUFDO1NBQ047SUFDTCxDQUFDO0lBRUQsSUFBWSxVQUFVO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxLQUFLLGVBQWUsQ0FBQztJQUM3RSxDQUFDO0lBRUQsSUFBWSxrQkFBa0I7UUFDMUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLEtBQUssdUJBQXVCLENBQUM7SUFDckYsQ0FBQzs7a0hBOU9RLHFCQUFxQjtzSEFBckIscUJBQXFCOzJGQUFyQixxQkFBcUI7a0JBRGpDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElneFN1bW1hcnlSZXN1bHQgfSBmcm9tICcuL2dyaWQtc3VtbWFyeSc7XG5pbXBvcnQgeyBEYXRhVXRpbCB9IGZyb20gJy4uLy4uL2RhdGEtb3BlcmF0aW9ucy9kYXRhLXV0aWwnO1xuaW1wb3J0IHsgY2xvbmVBcnJheSwgcmVzb2x2ZU5lc3RlZFBhdGggfSBmcm9tICcuLi8uLi9jb3JlL3V0aWxzJztcbmltcG9ydCB7IEdyaWRUeXBlLCBGbGF0R3JpZFR5cGUsIFRyZWVHcmlkVHlwZSB9IGZyb20gJy4uL2NvbW1vbi9ncmlkLmludGVyZmFjZSc7XG5cbi8qKiBAaGlkZGVuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSWd4R3JpZFN1bW1hcnlTZXJ2aWNlIHtcbiAgICBwdWJsaWMgZ3JpZDogR3JpZFR5cGU7XG4gICAgcHVibGljIHJvb3RTdW1tYXJ5SUQgPSAnaWd4R3JpZFJvb3RTdW1tYXJ5JztcbiAgICBwdWJsaWMgc3VtbWFyeUhlaWdodCA9IDA7XG4gICAgcHVibGljIG1heFN1bW1hcmllc0xlbmdodCA9IDA7XG4gICAgcHVibGljIGdyb3VwaW5nRXhwcmVzc2lvbnMgPSBbXTtcbiAgICBwdWJsaWMgcmV0cmlnZ2VyUm9vdFBpcGUgPSAwO1xuICAgIHB1YmxpYyBkZWxldGVPcGVyYXRpb24gPSBmYWxzZTtcblxuICAgIHByb3RlY3RlZCBzdW1tYXJ5Q2FjaGVNYXA6IE1hcDxzdHJpbmcsIE1hcDxzdHJpbmcsIGFueVtdPj4gPSBuZXcgTWFwPHN0cmluZywgTWFwPHN0cmluZywgSWd4U3VtbWFyeVJlc3VsdFtdPj4oKTtcblxuICAgIHB1YmxpYyByZWNhbGN1bGF0ZVN1bW1hcmllcygpIHtcbiAgICAgICAgdGhpcy5yZXNldFN1bW1hcnlIZWlnaHQoKTtcbiAgICAgICAgdGhpcy5ncmlkLm5vdGlmeUNoYW5nZXModHJ1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGNsZWFyU3VtbWFyeUNhY2hlKGFyZ3M/KSB7XG4gICAgICAgIGlmICghdGhpcy5zdW1tYXJ5Q2FjaGVNYXAuc2l6ZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICghYXJncykge1xuICAgICAgICAgICAgdGhpcy5zdW1tYXJ5Q2FjaGVNYXAuY2xlYXIoKTtcbiAgICAgICAgICAgIGlmICh0aGlzLmdyaWQgJiYgdGhpcy5ncmlkLnJvb3RTdW1tYXJpZXNFbmFibGVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXRyaWdnZXJSb290UGlwZSsrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChhcmdzLmRhdGEpIHtcbiAgICAgICAgICAgIGNvbnN0IHJvd0lEID0gdGhpcy5ncmlkLnByaW1hcnlLZXkgPyBhcmdzLmRhdGFbdGhpcy5ncmlkLnByaW1hcnlLZXldIDogYXJncy5kYXRhO1xuICAgICAgICAgICAgdGhpcy5yZW1vdmVTdW1tYXJpZXMocm93SUQpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChhcmdzLnJvd0lEICE9PSB1bmRlZmluZWQgJiYgYXJncy5yb3dJRCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgbGV0IGNvbHVtbk5hbWUgPSBhcmdzLmNlbGxJRCA/IHRoaXMuZ3JpZC5jb2x1bW5MaXN0LmZpbmQoY29sID0+IGNvbC5pbmRleCA9PT0gYXJncy5jZWxsSUQuY29sdW1uSUQpLmZpZWxkIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgaWYgKGNvbHVtbk5hbWUgJiYgdGhpcy5ncmlkLnJvd0VkaXRhYmxlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBpc0dyb3VwZWRDb2x1bW4gPSAodGhpcy5ncmlkIGFzIEZsYXRHcmlkVHlwZSkuZ3JvdXBpbmdFeHByZXNzaW9ucyAmJlxuICAgICAgICAgICAgKHRoaXMuZ3JpZCBhcyBGbGF0R3JpZFR5cGUpLmdyb3VwaW5nRXhwcmVzc2lvbnMubWFwKGV4cHIgPT4gZXhwci5maWVsZE5hbWUpLmluZGV4T2YoY29sdW1uTmFtZSkgIT09IC0xO1xuICAgICAgICAgICAgaWYgKGNvbHVtbk5hbWUgJiYgaXNHcm91cGVkQ29sdW1uICkge1xuICAgICAgICAgICAgICAgIGNvbHVtbk5hbWUgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnJlbW92ZVN1bW1hcmllcyhhcmdzLnJvd0lELCBjb2x1bW5OYW1lKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyByZW1vdmVTdW1tYXJpZXMocm93SUQsIGNvbHVtbk5hbWU/KSB7XG4gICAgICAgIHRoaXMuZGVsZXRlU3VtbWFyeUNhY2hlKHRoaXMucm9vdFN1bW1hcnlJRCwgY29sdW1uTmFtZSk7XG4gICAgICAgIGlmICh0aGlzLnN1bW1hcnlDYWNoZU1hcC5zaXplID09PSAxICYmIHRoaXMuc3VtbWFyeUNhY2hlTWFwLmhhcyh0aGlzLnJvb3RTdW1tYXJ5SUQpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuaXNUcmVlR3JpZCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuZ3JpZC50cmFuc2FjdGlvbnMuZW5hYmxlZCAmJiB0aGlzLmRlbGV0ZU9wZXJhdGlvbikge1xuICAgICAgICAgICAgICAgIHRoaXMuZGVsZXRlT3BlcmF0aW9uID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgLy8gVE9ETzogdGhpcy5yZW1vdmVDaGlsZFJvd1N1bW1hcmllcyhyb3dJRCwgY29sdW1uTmFtZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5zdW1tYXJ5Q2FjaGVNYXAuY2xlYXIoKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnJlbW92ZUFsbFRyZWVHcmlkU3VtbWFyaWVzKHJvd0lELCBjb2x1bW5OYW1lKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmlzSGllcmFyY2hpY2FsR3JpZCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuZ3JpZC50cmFuc2FjdGlvbnMuZW5hYmxlZCAmJiB0aGlzLmRlbGV0ZU9wZXJhdGlvbikge1xuICAgICAgICAgICAgICAgIHRoaXMuZGVsZXRlT3BlcmF0aW9uID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5zdW1tYXJ5Q2FjaGVNYXAuY2xlYXIoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgY29uc3Qgc3VtbWFyeUlkcyA9IHRoaXMuZ2V0U3VtbWFyeUlEKHJvd0lELCAodGhpcy5ncmlkIGFzIEZsYXRHcmlkVHlwZSkuZ3JvdXBpbmdFeHByZXNzaW9ucyk7XG4gICAgICAgICAgIHN1bW1hcnlJZHMuZm9yRWFjaChpZCA9PiB7XG4gICAgICAgICAgICAgICB0aGlzLmRlbGV0ZVN1bW1hcnlDYWNoZShpZCwgY29sdW1uTmFtZSk7XG4gICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHJlbW92ZVN1bW1hcmllc0NhY2hlUGVyQ29sdW1uKGNvbHVtbk5hbWUpIHtcbiAgICAgICAgdGhpcy5zdW1tYXJ5Q2FjaGVNYXAuZm9yRWFjaCgoY2FjaGUpID0+IHtcbiAgICAgICAgICAgIGlmIChjYWNoZS5nZXQoY29sdW1uTmFtZSkpIHtcbiAgICAgICAgICAgICAgICBjYWNoZS5kZWxldGUoY29sdW1uTmFtZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAodGhpcy5ncmlkLnJvb3RTdW1tYXJpZXNFbmFibGVkKSB7XG4gICAgICAgICAgICB0aGlzLnJldHJpZ2dlclJvb3RQaXBlKys7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgY2FsY01heFN1bW1hcnlIZWlnaHQoKSB7XG4gICAgICAgIGlmICh0aGlzLnN1bW1hcnlIZWlnaHQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnN1bW1hcnlIZWlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLmdyaWQuZGF0YSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc3VtbWFyeUhlaWdodCA9IDA7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IG1heFN1bW1hcnlMZW5ndGggPSAwO1xuICAgICAgICB0aGlzLmdyaWQuY29sdW1uTGlzdC5maWx0ZXIoKGNvbCkgPT4gY29sLmhhc1N1bW1hcnkgJiYgIWNvbC5oaWRkZW4pLmZvckVhY2goKGNvbHVtbikgPT4ge1xuICAgICAgICAgICAgY29uc3QgZ2V0Q3VycmVudFN1bW1hcnlDb2x1bW4gPSBjb2x1bW4uc3VtbWFyaWVzLm9wZXJhdGUoW10sIFtdLCBjb2x1bW4uZmllbGQpLmxlbmd0aDtcbiAgICAgICAgICAgIGlmIChnZXRDdXJyZW50U3VtbWFyeUNvbHVtbikge1xuICAgICAgICAgICAgICAgIGlmIChtYXhTdW1tYXJ5TGVuZ3RoIDwgZ2V0Q3VycmVudFN1bW1hcnlDb2x1bW4pIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4U3VtbWFyeUxlbmd0aCA9IGdldEN1cnJlbnRTdW1tYXJ5Q29sdW1uO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMubWF4U3VtbWFyaWVzTGVuZ2h0ID0gbWF4U3VtbWFyeUxlbmd0aDtcbiAgICAgICAgdGhpcy5zdW1tYXJ5SGVpZ2h0ID0gIG1heFN1bW1hcnlMZW5ndGggKiB0aGlzLmdyaWQuZGVmYXVsdFN1bW1hcnlIZWlnaHQ7XG4gICAgICAgIHJldHVybiB0aGlzLnN1bW1hcnlIZWlnaHQ7XG4gICAgfVxuXG4gICAgcHVibGljIGNhbGN1bGF0ZVN1bW1hcmllcyhyb3dJRCwgZGF0YSkge1xuICAgICAgICBsZXQgcm93U3VtbWFyaWVzID0gdGhpcy5zdW1tYXJ5Q2FjaGVNYXAuZ2V0KHJvd0lEKTtcbiAgICAgICAgaWYgKCFyb3dTdW1tYXJpZXMpIHtcbiAgICAgICAgICAgIHJvd1N1bW1hcmllcyA9IG5ldyBNYXA8c3RyaW5nLCBJZ3hTdW1tYXJ5UmVzdWx0W10+KCk7XG4gICAgICAgICAgICB0aGlzLnN1bW1hcnlDYWNoZU1hcC5zZXQocm93SUQsIHJvd1N1bW1hcmllcyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLmhhc1N1bW1hcml6ZWRDb2x1bW5zIHx8ICFkYXRhKSB7XG4gICAgICAgICAgICByZXR1cm4gcm93U3VtbWFyaWVzO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZ3JpZC5jb2x1bW5MaXN0LmZpbHRlcihjb2wgPT4gY29sLmhhc1N1bW1hcnkpLmZvckVhY2goKGNvbHVtbikgPT4ge1xuICAgICAgICAgICAgaWYgKCFyb3dTdW1tYXJpZXMuZ2V0KGNvbHVtbi5maWVsZCkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBzdW1tYXJ5UmVzdWx0ID0gY29sdW1uLnN1bW1hcmllcy5vcGVyYXRlKGRhdGEubWFwKHIgPT4gcmVzb2x2ZU5lc3RlZFBhdGgociwgY29sdW1uLmZpZWxkKSksXG4gICAgICAgICAgICAgICAgICAgIGRhdGEsIGNvbHVtbi5maWVsZCwgdGhpcy5ncmlkLmxvY2FsZSwgY29sdW1uLnBpcGVBcmdzKTtcbiAgICAgICAgICAgICAgICByb3dTdW1tYXJpZXMuc2V0KGNvbHVtbi5maWVsZCwgc3VtbWFyeVJlc3VsdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcm93U3VtbWFyaWVzO1xuICAgIH1cblxuICAgIHB1YmxpYyByZXNldFN1bW1hcnlIZWlnaHQoKSB7XG4gICAgICAgIHRoaXMuc3VtbWFyeUhlaWdodCA9IDA7XG4gICAgICAgIHRoaXMuZ3JpZC5zdW1tYXJ5UGlwZVRyaWdnZXIrKztcbiAgICAgICAgaWYgKHRoaXMuZ3JpZC5yb290U3VtbWFyaWVzRW5hYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5yZXRyaWdnZXJSb290UGlwZSsrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHVwZGF0ZVN1bW1hcnlDYWNoZShncm91cGluZ0FyZ3MpIHtcbiAgICAgICAgaWYgKHRoaXMuc3VtbWFyeUNhY2hlTWFwLnNpemUgPT09IDAgfHwgIXRoaXMuaGFzU3VtbWFyaXplZENvbHVtbnMpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5ncm91cGluZ0V4cHJlc3Npb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgdGhpcy5ncm91cGluZ0V4cHJlc3Npb25zID0gZ3JvdXBpbmdBcmdzLmV4cHJlc3Npb25zLm1hcChyZWNvcmQgPT4gcmVjb3JkLmZpZWxkTmFtZSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGdyb3VwaW5nQXJncy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHRoaXMuZ3JvdXBpbmdFeHByZXNzaW9ucyA9IFtdO1xuICAgICAgICAgICAgdGhpcy5jbGVhclN1bW1hcnlDYWNoZSgpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY29tcGFyZUdyb3VwaW5nRXhwcmVzc2lvbnModGhpcy5ncm91cGluZ0V4cHJlc3Npb25zLCBncm91cGluZ0FyZ3MpO1xuICAgICAgICB0aGlzLmdyb3VwaW5nRXhwcmVzc2lvbnMgPSBncm91cGluZ0FyZ3MuZXhwcmVzc2lvbnMubWFwKHJlY29yZCA9PiByZWNvcmQuZmllbGROYW1lKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGhhc1N1bW1hcml6ZWRDb2x1bW5zKCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBzdW1tYXJpemVkQ29sdW1ucyA9IHRoaXMuZ3JpZC5jb2x1bW5MaXN0LmZpbHRlcihjb2wgPT4gY29sLmhhc1N1bW1hcnkgJiYgIWNvbC5oaWRkZW4pO1xuICAgICAgICByZXR1cm4gc3VtbWFyaXplZENvbHVtbnMubGVuZ3RoID4gMDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRlbGV0ZVN1bW1hcnlDYWNoZShpZCwgY29sdW1uTmFtZSkge1xuICAgICAgICBpZiAodGhpcy5zdW1tYXJ5Q2FjaGVNYXAuZ2V0KGlkKSkge1xuICAgICAgICAgICAgY29uc3QgZmlsdGVyaW5nQXBwbGllZCA9IGNvbHVtbk5hbWUgJiYgdGhpcy5ncmlkLmZpbHRlcmluZ0V4cHJlc3Npb25zVHJlZSAmJlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmdyaWQuZmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlLmZpbHRlcmluZ09wZXJhbmRzLm1hcCgoZXhwcikgPT4gZXhwci5maWVsZE5hbWUpLmluZGV4T2YoY29sdW1uTmFtZSkgIT09IC0xO1xuICAgICAgICAgICAgaWYgKGNvbHVtbk5hbWUgJiYgdGhpcy5zdW1tYXJ5Q2FjaGVNYXAuZ2V0KGlkKS5nZXQoY29sdW1uTmFtZSkgJiYgIWZpbHRlcmluZ0FwcGxpZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN1bW1hcnlDYWNoZU1hcC5nZXQoaWQpLmRlbGV0ZShjb2x1bW5OYW1lKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdW1tYXJ5Q2FjaGVNYXAuZGVsZXRlKGlkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpZCA9PT0gdGhpcy5yb290U3VtbWFyeUlEICYmIHRoaXMuZ3JpZC5yb290U3VtbWFyaWVzRW5hYmxlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMucmV0cmlnZ2VyUm9vdFBpcGUrKztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U3VtbWFyeUlEKHJvd0lELCBncm91cGluZ0V4cHJlc3Npb25zKSB7XG4gICAgICAgIGlmIChncm91cGluZ0V4cHJlc3Npb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHN1bW1hcnlJRHMgPSBbXTtcbiAgICAgICAgbGV0IGRhdGEgPSB0aGlzLmdyaWQuZGF0YTtcbiAgICAgICAgaWYgKHRoaXMuZ3JpZC50cmFuc2FjdGlvbnMuZW5hYmxlZCkge1xuICAgICAgICAgICAgZGF0YSA9IERhdGFVdGlsLm1lcmdlVHJhbnNhY3Rpb25zKFxuICAgICAgICAgICAgICAgIGNsb25lQXJyYXkodGhpcy5ncmlkLmRhdGEpLFxuICAgICAgICAgICAgICAgIHRoaXMuZ3JpZC50cmFuc2FjdGlvbnMuZ2V0QWdncmVnYXRlZENoYW5nZXModHJ1ZSksXG4gICAgICAgICAgICAgICAgdGhpcy5ncmlkLnByaW1hcnlLZXlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgcm93RGF0YSA9IHRoaXMuZ3JpZC5wcmltYXJ5S2V5ID8gZGF0YS5maW5kKHJlYyA9PiByZWNbdGhpcy5ncmlkLnByaW1hcnlLZXldID09PSByb3dJRCkgOiByb3dJRDtcbiAgICAgICAgbGV0IGlkID0gJ3sgJztcbiAgICAgICAgZ3JvdXBpbmdFeHByZXNzaW9ucy5mb3JFYWNoKGV4cHIgPT4ge1xuICAgICAgICAgICAgaWQgKz0gYCcke2V4cHIuZmllbGROYW1lfSc6ICcke3Jvd0RhdGFbZXhwci5maWVsZE5hbWVdfSdgO1xuICAgICAgICAgICAgICAgIHN1bW1hcnlJRHMucHVzaChpZC5jb25jYXQoJyB9JykpO1xuICAgICAgICAgICAgICAgIGlkICs9ICcsICc7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gc3VtbWFyeUlEcztcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlbW92ZUFsbFRyZWVHcmlkU3VtbWFyaWVzKHJvd0lELCBjb2x1bW5OYW1lPykge1xuICAgICAgICBsZXQgcm93ID0gKHRoaXMuZ3JpZCBhcyBUcmVlR3JpZFR5cGUpLnJlY29yZHMuZ2V0KHJvd0lEKTtcbiAgICAgICAgaWYgKCFyb3cpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICByb3cgPSByb3cuY2hpbGRyZW4gPyByb3cgOiByb3cucGFyZW50O1xuICAgICAgICB3aGlsZSAocm93KSB7XG4gICAgICAgICAgICByb3dJRCA9IHJvdy5rZXk7XG4gICAgICAgICAgICB0aGlzLmRlbGV0ZVN1bW1hcnlDYWNoZShyb3dJRCwgY29sdW1uTmFtZSk7XG4gICAgICAgICAgICByb3cgPSByb3cucGFyZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gVE9ETzogcmVtb3ZlIG9ubHkgZGVsZXRlZCByb3dzXG4gICAgLy8gcHJpdmF0ZSByZW1vdmVDaGlsZFJvd1N1bW1hcmllcyhyb3dJRCwgY29sdW1uTmFtZT8pIHtcbiAgICAvLyB9XG5cbiAgICBwcml2YXRlIGNvbXBhcmVHcm91cGluZ0V4cHJlc3Npb25zKGN1cnJlbnQsIGdyb3VwaW5nQXJncykge1xuICAgICAgICBjb25zdCBuZXdFeHByZXNzaW9ucyA9IGdyb3VwaW5nQXJncy5leHByZXNzaW9ucy5tYXAocmVjb3JkID0+IHJlY29yZC5maWVsZE5hbWUpO1xuICAgICAgICBjb25zdCByZW1vdmVkQ29scyA9IGdyb3VwaW5nQXJncy51bmdyb3VwZWRDb2x1bW5zO1xuICAgICAgICBpZiAoY3VycmVudC5sZW5ndGggPD0gbmV3RXhwcmVzc2lvbnMubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zdCBuZXdFeHByID0gbmV3RXhwcmVzc2lvbnMuc2xpY2UoMCwgY3VycmVudC5sZW5ndGgpLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICBpZiAoY3VycmVudC50b1N0cmluZygpICE9PSBuZXdFeHByKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jbGVhclN1bW1hcnlDYWNoZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgY3VyckV4cHIgPSBjdXJyZW50LnNsaWNlKDAsIG5ld0V4cHJlc3Npb25zLmxlbmd0aCkudG9TdHJpbmcoKTtcbiAgICAgICAgICAgIGlmIChjdXJyRXhwciAhPT0gbmV3RXhwcmVzc2lvbnMudG9TdHJpbmcoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuY2xlYXJTdW1tYXJ5Q2FjaGUoKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZW1vdmVkQ29scy5tYXAoY29sID0+IGNvbC5maWVsZCkuZm9yRWFjaChjb2xOYW1lID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnN1bW1hcnlDYWNoZU1hcC5mb3JFYWNoKChjYWNoZSwgaWQpID0+IHtcbiAgICAgICAgICAgICAgICAgICBpZiAoaWQuaW5kZXhPZihjb2xOYW1lKSAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdW1tYXJ5Q2FjaGVNYXAuZGVsZXRlKGlkKTtcbiAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGlzVHJlZUdyaWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdyaWQubmF0aXZlRWxlbWVudC50YWdOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdpZ3gtdHJlZS1ncmlkJztcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBpc0hpZXJhcmNoaWNhbEdyaWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdyaWQubmF0aXZlRWxlbWVudC50YWdOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdpZ3gtaGllcmFyY2hpY2FsLWdyaWQnO1xuICAgIH1cblxufVxuIl19
@@ -87,9 +87,9 @@ export class IgxSummaryCellComponent {
87
87
  return this.column.dataType === GridColumnDataType.Percent;
88
88
  }
89
89
  }
90
- IgxSummaryCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: IgxSummaryCellComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
91
- IgxSummaryCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: IgxSummaryCellComponent, selector: "igx-grid-summary-cell", inputs: { summaryResults: "summaryResults", column: "column", firstCellIndentation: "firstCellIndentation", hasSummary: "hasSummary", density: "density", summaryFormatter: "summaryFormatter", active: "active", rowIndex: "rowIndex" }, host: { listeners: { "pointerdown": "activate()" }, properties: { "class.igx-grid-summary--active": "this.active", "attr.data-rowIndex": "this.rowIndex", "attr.data-visibleIndex": "this.visibleColumnIndex", "attr.id": "this.attrCellID" } }, ngImport: i0, template: "<ng-container *ngIf=\"hasSummary\">\n <ng-container *ngFor=\"let summary of summaryResults\">\n <div class=\"igx-grid-summary__item\" [style.height.px]=\"itemHeight\">\n\n <ng-container *ngIf=\"visibleColumnIndex === 0 && firstCellIndentation >= 0\">\n <div class=\"igx-grid__tree-cell--padding-level-{{firstCellIndentation}}\"></div>\n\n <div #indicator class=\"igx-grid__tree-grouping-indicator\" style=\"visibility: hidden\">\n <igx-icon>chevron_right</igx-icon>\n </div>\n </ng-container>\n\n <span class=\"igx-grid-summary__label\" [title]=\"summary.label\">{{ translateSummary(summary) }}</span>\n <span class=\"igx-grid-summary__result\" [title]=\"summary.summaryResult\">\n {{\n summaryFormatter\n ? (summary | summaryFormatter:column.summaries:summaryFormatter)\n : (isNumberColumn() && summary.defaultFormatting)\n ? (summary.summaryResult | number:column.pipeArgs.digitsInfo:grid.locale)\n : (isDateKindColumn() && summary.defaultFormatting)\n ? (summary.summaryResult | date:column.pipeArgs.format:column.pipeArgs.timezone:grid.locale)\n : (isCurrencyColumn() && summary.defaultFormatting)\n ? (summary.summaryResult | currency:currencyCode:column.pipeArgs.display:column.pipeArgs.digitsInfo:grid.locale)\n : (isPercentColumn() && summary.defaultFormatting)\n ? (summary.summaryResult | percent:column.pipeArgs.digitsInfo:grid.locale)\n : (summary.key === 'count')\n ? (summary.summaryResult | number:undefined:grid.locale)\n : summary.summaryResult\n }}\n </span>\n </div>\n </ng-container>\n</ng-container>\n", components: [{ type: i1.IgxIconComponent, selector: "igx-icon", inputs: ["family", "active", "name"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "summaryFormatter": i3.IgxSummaryFormatterPipe, "number": i2.DecimalPipe, "date": i2.DatePipe, "currency": i2.CurrencyPipe, "percent": i2.PercentPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
92
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: IgxSummaryCellComponent, decorators: [{
90
+ IgxSummaryCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: IgxSummaryCellComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
91
+ IgxSummaryCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: IgxSummaryCellComponent, selector: "igx-grid-summary-cell", inputs: { summaryResults: "summaryResults", column: "column", firstCellIndentation: "firstCellIndentation", hasSummary: "hasSummary", density: "density", summaryFormatter: "summaryFormatter", active: "active", rowIndex: "rowIndex" }, host: { listeners: { "pointerdown": "activate()" }, properties: { "class.igx-grid-summary--active": "this.active", "attr.data-rowIndex": "this.rowIndex", "attr.data-visibleIndex": "this.visibleColumnIndex", "attr.id": "this.attrCellID" } }, ngImport: i0, template: "<ng-container *ngIf=\"hasSummary\">\n <ng-container *ngFor=\"let summary of summaryResults\">\n <div class=\"igx-grid-summary__item\" [style.height.px]=\"itemHeight\">\n\n <ng-container *ngIf=\"visibleColumnIndex === 0 && firstCellIndentation >= 0\">\n <div class=\"igx-grid__tree-cell--padding-level-{{firstCellIndentation}}\"></div>\n\n <div #indicator class=\"igx-grid__tree-grouping-indicator\" style=\"visibility: hidden\">\n <igx-icon>chevron_right</igx-icon>\n </div>\n </ng-container>\n\n <span class=\"igx-grid-summary__label\" [title]=\"summary.label\">{{ translateSummary(summary) }}</span>\n <span class=\"igx-grid-summary__result\" [title]=\"summary.summaryResult\">\n {{\n summaryFormatter\n ? (summary | summaryFormatter:column.summaries:summaryFormatter)\n : (isNumberColumn() && summary.defaultFormatting)\n ? (summary.summaryResult | number:column.pipeArgs.digitsInfo:grid.locale)\n : (isDateKindColumn() && summary.defaultFormatting)\n ? (summary.summaryResult | date:column.pipeArgs.format:column.pipeArgs.timezone:grid.locale)\n : (isCurrencyColumn() && summary.defaultFormatting)\n ? (summary.summaryResult | currency:currencyCode:column.pipeArgs.display:column.pipeArgs.digitsInfo:grid.locale)\n : (isPercentColumn() && summary.defaultFormatting)\n ? (summary.summaryResult | percent:column.pipeArgs.digitsInfo:grid.locale)\n : (summary.key === 'count')\n ? (summary.summaryResult | number:undefined:grid.locale)\n : summary.summaryResult\n }}\n </span>\n </div>\n </ng-container>\n</ng-container>\n", components: [{ type: i1.IgxIconComponent, selector: "igx-icon", inputs: ["family", "active", "name"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "summaryFormatter": i3.IgxSummaryFormatterPipe, "number": i2.DecimalPipe, "date": i2.DatePipe, "currency": i2.CurrencyPipe, "percent": i2.PercentPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
92
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: IgxSummaryCellComponent, decorators: [{
93
93
  type: Component,
94
94
  args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'igx-grid-summary-cell', template: "<ng-container *ngIf=\"hasSummary\">\n <ng-container *ngFor=\"let summary of summaryResults\">\n <div class=\"igx-grid-summary__item\" [style.height.px]=\"itemHeight\">\n\n <ng-container *ngIf=\"visibleColumnIndex === 0 && firstCellIndentation >= 0\">\n <div class=\"igx-grid__tree-cell--padding-level-{{firstCellIndentation}}\"></div>\n\n <div #indicator class=\"igx-grid__tree-grouping-indicator\" style=\"visibility: hidden\">\n <igx-icon>chevron_right</igx-icon>\n </div>\n </ng-container>\n\n <span class=\"igx-grid-summary__label\" [title]=\"summary.label\">{{ translateSummary(summary) }}</span>\n <span class=\"igx-grid-summary__result\" [title]=\"summary.summaryResult\">\n {{\n summaryFormatter\n ? (summary | summaryFormatter:column.summaries:summaryFormatter)\n : (isNumberColumn() && summary.defaultFormatting)\n ? (summary.summaryResult | number:column.pipeArgs.digitsInfo:grid.locale)\n : (isDateKindColumn() && summary.defaultFormatting)\n ? (summary.summaryResult | date:column.pipeArgs.format:column.pipeArgs.timezone:grid.locale)\n : (isCurrencyColumn() && summary.defaultFormatting)\n ? (summary.summaryResult | currency:currencyCode:column.pipeArgs.display:column.pipeArgs.digitsInfo:grid.locale)\n : (isPercentColumn() && summary.defaultFormatting)\n ? (summary.summaryResult | percent:column.pipeArgs.digitsInfo:grid.locale)\n : (summary.key === 'count')\n ? (summary.summaryResult | number:undefined:grid.locale)\n : summary.summaryResult\n }}\n </span>\n </div>\n </ng-container>\n</ng-container>\n" }]
95
95
  }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { summaryResults: [{
@@ -69,9 +69,9 @@ export class IgxSummaryRowComponent {
69
69
  };
70
70
  }
71
71
  }
72
- IgxSummaryRowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: IgxSummaryRowComponent, deps: [{ token: IGX_GRID_BASE }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
73
- IgxSummaryRowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: IgxSummaryRowComponent, selector: "igx-grid-summary-row", inputs: { summaries: "summaries", gridID: "gridID", index: "index", firstCellIndentation: "firstCellIndentation" }, host: { properties: { "attr.data-rowIndex": "this.dataRowIndex" } }, providers: [IgxForOfSyncService], viewQueries: [{ propertyName: "virtDirRow", first: true, predicate: ["igxDirRef"], descendants: true, read: IgxGridForOfDirective }, { propertyName: "_summaryCells", predicate: IgxSummaryCellComponent, descendants: true, read: IgxSummaryCellComponent }], ngImport: i0, template: "<ng-container *ngIf=\"summaries.size\">\n <ng-container *ngIf=\"grid.summariesMargin\">\n <div\n class=\"igx-grid__summaries-patch\"\n [style.min-width.px]=\"grid.summariesMargin\"\n [style.flex-basis.px]=\"grid.summariesMargin\"\n (pointerdown)=\"$event.preventDefault()\"\n ></div>\n </ng-container>\n <ng-container *ngIf=\"pinnedColumns.length > 0 && grid.isPinningToStart\">\n <ng-container *ngTemplateOutlet=\"summaryCellTemplate; context: getContext(this)\"></ng-container>\n </ng-container>\n <ng-template igxGridFor let-col [igxGridForOf]=\"unpinnedColumns | igxNotGrouped\" [igxForScrollContainer]=\"grid.parentVirtDir\" let-colIndex=\"index\" [igxForScrollOrientation]=\"'horizontal'\" [igxForContainerSize]=\"grid.unpinnedWidth\" [igxForTrackBy]=\"grid.trackColumnChanges\" [igxForSizePropName]='\"calcPixelWidth\"' #igxDirRef>\n <igx-grid-summary-cell\n class=\"igx-grid-summary igx-grid-summary--fw\"\n [attr.aria-describedby]=\"gridID + '_' + col.field | igxStringReplace:'.':'_'\"\n role=\"cell\"\n [class.igx-grid-summary--cosy]=\"grid.displayDensity === 'cosy'\"\n [class.igx-grid-summary--compact]=\"grid.displayDensity === 'compact'\"\n [class.igx-grid-summary--empty]=\"!col.hasSummary\"\n [class.igx-grid-summary--pinned-last]=\"col.isLastPinned\"\n [column]=\"col\"\n [rowIndex]=\"index\"\n [firstCellIndentation]=\"firstCellIndentation\"\n [summaryResults]=\"getColumnSummaries(col.field)\"\n [hasSummary]=\"col.hasSummary\"\n [density]=\"grid.displayDensity\"\n [summaryFormatter]=\"col.summaryFormatter\"\n [active]=\"isCellActive(col.visibleIndex)\"\n [style.max-height.px]=\"minHeight\"\n [style.min-height.px]=\"minHeight\"\n [style.min-width]=\"col.getCellWidth()\"\n [style.max-width]=\"col.getCellWidth()\"\n [style.flex-basis]=\"col.getCellWidth()\">\n </igx-grid-summary-cell>\n </ng-template>\n <ng-container *ngIf=\"pinnedColumns.length > 0 && !grid.isPinningToStart\">\n <ng-container *ngTemplateOutlet=\"summaryCellTemplate; context: getContext(this)\"></ng-container>\n </ng-container>\n</ng-container>\n\n<ng-template #summaryCellTemplate let-col>\n <igx-grid-summary-cell *ngFor=\"let col of pinnedColumns | igxNotGrouped\"\n role=\"cell\"\n [attr.aria-describedby]=\"gridID + '_' + col.field | igxStringReplace:'.':'_'\"\n class=\"igx-grid-summary igx-grid-summary--fw igx-grid-summary--pinned\"\n [class.igx-grid-summary--cosy]=\"grid.displayDensity === 'cosy'\"\n [class.igx-grid-summary--compact]=\"grid.displayDensity === 'compact'\"\n [class.igx-grid-summary--empty]=\"!col.hasSummary\"\n [class.igx-grid-summary--pinned-first]=\"col.isFirstPinned\"\n [class.igx-grid-summary--pinned-last]=\"col.isLastPinned\"\n [column]=\"col\"\n [firstCellIndentation]=\"firstCellIndentation\"\n [rowIndex]=\"index\"\n [summaryResults]=\"getColumnSummaries(col.field)\"\n [hasSummary]=\"col.hasSummary\"\n [density]=\"grid.displayDensity\"\n [active]=\"isCellActive(col.visibleIndex)\"\n [style.max-height.px]=\"minHeight\"\n [style.min-height.px]=\"minHeight\"\n [style.min-width]=\"col.getCellWidth()\"\n [style.max-width]=\"col.getCellWidth()\"\n [style.flex-basis]=\"col.getCellWidth()\"\n [style.left]=\"col.rightPinnedOffset\">\n </igx-grid-summary-cell>\n</ng-template>\n", components: [{ type: i1.IgxSummaryCellComponent, selector: "igx-grid-summary-cell", inputs: ["summaryResults", "column", "firstCellIndentation", "hasSummary", "density", "summaryFormatter", "active", "rowIndex"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.IgxGridForOfDirective, selector: "[igxGridFor][igxGridForOf]", inputs: ["igxGridForOf"], outputs: ["dataChanging"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "igxNotGrouped": i4.IgxGridNotGroupedPipe, "igxStringReplace": i4.IgxStringReplacePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
74
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: IgxSummaryRowComponent, decorators: [{
72
+ IgxSummaryRowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: IgxSummaryRowComponent, deps: [{ token: IGX_GRID_BASE }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
73
+ IgxSummaryRowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: IgxSummaryRowComponent, selector: "igx-grid-summary-row", inputs: { summaries: "summaries", gridID: "gridID", index: "index", firstCellIndentation: "firstCellIndentation" }, host: { properties: { "attr.data-rowIndex": "this.dataRowIndex" } }, providers: [IgxForOfSyncService], viewQueries: [{ propertyName: "virtDirRow", first: true, predicate: ["igxDirRef"], descendants: true, read: IgxGridForOfDirective }, { propertyName: "_summaryCells", predicate: IgxSummaryCellComponent, descendants: true, read: IgxSummaryCellComponent }], ngImport: i0, template: "<ng-container *ngIf=\"summaries.size\">\n <ng-container *ngIf=\"grid.summariesMargin\">\n <div\n class=\"igx-grid__summaries-patch\"\n [style.min-width.px]=\"grid.summariesMargin\"\n [style.flex-basis.px]=\"grid.summariesMargin\"\n (pointerdown)=\"$event.preventDefault()\"\n ></div>\n </ng-container>\n <ng-container *ngIf=\"pinnedColumns.length > 0 && grid.isPinningToStart\">\n <ng-container *ngTemplateOutlet=\"summaryCellTemplate; context: getContext(this)\"></ng-container>\n </ng-container>\n <ng-template igxGridFor let-col [igxGridForOf]=\"unpinnedColumns | igxNotGrouped\" [igxForScrollContainer]=\"grid.parentVirtDir\" let-colIndex=\"index\" [igxForScrollOrientation]=\"'horizontal'\" [igxForContainerSize]=\"grid.unpinnedWidth\" [igxForTrackBy]=\"grid.trackColumnChanges\" [igxForSizePropName]='\"calcPixelWidth\"' #igxDirRef>\n <igx-grid-summary-cell\n class=\"igx-grid-summary igx-grid-summary--fw\"\n [attr.aria-describedby]=\"gridID + '_' + col.field | igxStringReplace:'.':'_'\"\n role=\"cell\"\n [class.igx-grid-summary--cosy]=\"grid.displayDensity === 'cosy'\"\n [class.igx-grid-summary--compact]=\"grid.displayDensity === 'compact'\"\n [class.igx-grid-summary--empty]=\"!col.hasSummary\"\n [class.igx-grid-summary--pinned-last]=\"col.isLastPinned\"\n [column]=\"col\"\n [rowIndex]=\"index\"\n [firstCellIndentation]=\"firstCellIndentation\"\n [summaryResults]=\"getColumnSummaries(col.field)\"\n [hasSummary]=\"col.hasSummary\"\n [density]=\"grid.displayDensity\"\n [summaryFormatter]=\"col.summaryFormatter\"\n [active]=\"isCellActive(col.visibleIndex)\"\n [style.max-height.px]=\"minHeight\"\n [style.min-height.px]=\"minHeight\"\n [style.min-width]=\"col.getCellWidth()\"\n [style.max-width]=\"col.getCellWidth()\"\n [style.flex-basis]=\"col.getCellWidth()\">\n </igx-grid-summary-cell>\n </ng-template>\n <ng-container *ngIf=\"pinnedColumns.length > 0 && !grid.isPinningToStart\">\n <ng-container *ngTemplateOutlet=\"summaryCellTemplate; context: getContext(this)\"></ng-container>\n </ng-container>\n</ng-container>\n\n<ng-template #summaryCellTemplate let-col>\n <igx-grid-summary-cell *ngFor=\"let col of pinnedColumns | igxNotGrouped\"\n role=\"cell\"\n [attr.aria-describedby]=\"gridID + '_' + col.field | igxStringReplace:'.':'_'\"\n class=\"igx-grid-summary igx-grid-summary--fw igx-grid-summary--pinned\"\n [class.igx-grid-summary--cosy]=\"grid.displayDensity === 'cosy'\"\n [class.igx-grid-summary--compact]=\"grid.displayDensity === 'compact'\"\n [class.igx-grid-summary--empty]=\"!col.hasSummary\"\n [class.igx-grid-summary--pinned-first]=\"col.isFirstPinned\"\n [class.igx-grid-summary--pinned-last]=\"col.isLastPinned\"\n [column]=\"col\"\n [firstCellIndentation]=\"firstCellIndentation\"\n [rowIndex]=\"index\"\n [summaryResults]=\"getColumnSummaries(col.field)\"\n [hasSummary]=\"col.hasSummary\"\n [density]=\"grid.displayDensity\"\n [active]=\"isCellActive(col.visibleIndex)\"\n [style.max-height.px]=\"minHeight\"\n [style.min-height.px]=\"minHeight\"\n [style.min-width]=\"col.getCellWidth()\"\n [style.max-width]=\"col.getCellWidth()\"\n [style.flex-basis]=\"col.getCellWidth()\"\n [style.left]=\"col.rightPinnedOffset\">\n </igx-grid-summary-cell>\n</ng-template>\n", components: [{ type: i1.IgxSummaryCellComponent, selector: "igx-grid-summary-cell", inputs: ["summaryResults", "column", "firstCellIndentation", "hasSummary", "density", "summaryFormatter", "active", "rowIndex"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.IgxGridForOfDirective, selector: "[igxGridFor][igxGridForOf]", inputs: ["igxGridForOf"], outputs: ["dataChanging"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "igxNotGrouped": i4.IgxGridNotGroupedPipe, "igxStringReplace": i4.IgxStringReplacePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
74
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: IgxSummaryRowComponent, decorators: [{
75
75
  type: Component,
76
76
  args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'igx-grid-summary-row', providers: [IgxForOfSyncService], template: "<ng-container *ngIf=\"summaries.size\">\n <ng-container *ngIf=\"grid.summariesMargin\">\n <div\n class=\"igx-grid__summaries-patch\"\n [style.min-width.px]=\"grid.summariesMargin\"\n [style.flex-basis.px]=\"grid.summariesMargin\"\n (pointerdown)=\"$event.preventDefault()\"\n ></div>\n </ng-container>\n <ng-container *ngIf=\"pinnedColumns.length > 0 && grid.isPinningToStart\">\n <ng-container *ngTemplateOutlet=\"summaryCellTemplate; context: getContext(this)\"></ng-container>\n </ng-container>\n <ng-template igxGridFor let-col [igxGridForOf]=\"unpinnedColumns | igxNotGrouped\" [igxForScrollContainer]=\"grid.parentVirtDir\" let-colIndex=\"index\" [igxForScrollOrientation]=\"'horizontal'\" [igxForContainerSize]=\"grid.unpinnedWidth\" [igxForTrackBy]=\"grid.trackColumnChanges\" [igxForSizePropName]='\"calcPixelWidth\"' #igxDirRef>\n <igx-grid-summary-cell\n class=\"igx-grid-summary igx-grid-summary--fw\"\n [attr.aria-describedby]=\"gridID + '_' + col.field | igxStringReplace:'.':'_'\"\n role=\"cell\"\n [class.igx-grid-summary--cosy]=\"grid.displayDensity === 'cosy'\"\n [class.igx-grid-summary--compact]=\"grid.displayDensity === 'compact'\"\n [class.igx-grid-summary--empty]=\"!col.hasSummary\"\n [class.igx-grid-summary--pinned-last]=\"col.isLastPinned\"\n [column]=\"col\"\n [rowIndex]=\"index\"\n [firstCellIndentation]=\"firstCellIndentation\"\n [summaryResults]=\"getColumnSummaries(col.field)\"\n [hasSummary]=\"col.hasSummary\"\n [density]=\"grid.displayDensity\"\n [summaryFormatter]=\"col.summaryFormatter\"\n [active]=\"isCellActive(col.visibleIndex)\"\n [style.max-height.px]=\"minHeight\"\n [style.min-height.px]=\"minHeight\"\n [style.min-width]=\"col.getCellWidth()\"\n [style.max-width]=\"col.getCellWidth()\"\n [style.flex-basis]=\"col.getCellWidth()\">\n </igx-grid-summary-cell>\n </ng-template>\n <ng-container *ngIf=\"pinnedColumns.length > 0 && !grid.isPinningToStart\">\n <ng-container *ngTemplateOutlet=\"summaryCellTemplate; context: getContext(this)\"></ng-container>\n </ng-container>\n</ng-container>\n\n<ng-template #summaryCellTemplate let-col>\n <igx-grid-summary-cell *ngFor=\"let col of pinnedColumns | igxNotGrouped\"\n role=\"cell\"\n [attr.aria-describedby]=\"gridID + '_' + col.field | igxStringReplace:'.':'_'\"\n class=\"igx-grid-summary igx-grid-summary--fw igx-grid-summary--pinned\"\n [class.igx-grid-summary--cosy]=\"grid.displayDensity === 'cosy'\"\n [class.igx-grid-summary--compact]=\"grid.displayDensity === 'compact'\"\n [class.igx-grid-summary--empty]=\"!col.hasSummary\"\n [class.igx-grid-summary--pinned-first]=\"col.isFirstPinned\"\n [class.igx-grid-summary--pinned-last]=\"col.isLastPinned\"\n [column]=\"col\"\n [firstCellIndentation]=\"firstCellIndentation\"\n [rowIndex]=\"index\"\n [summaryResults]=\"getColumnSummaries(col.field)\"\n [hasSummary]=\"col.hasSummary\"\n [density]=\"grid.displayDensity\"\n [active]=\"isCellActive(col.visibleIndex)\"\n [style.max-height.px]=\"minHeight\"\n [style.min-height.px]=\"minHeight\"\n [style.min-width]=\"col.getCellWidth()\"\n [style.max-width]=\"col.getCellWidth()\"\n [style.flex-basis]=\"col.getCellWidth()\"\n [style.left]=\"col.rightPinnedOffset\">\n </igx-grid-summary-cell>\n</ng-template>\n" }]
77
77
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
@@ -10,18 +10,18 @@ export { IgxSummaryRowComponent } from './summary-row.component';
10
10
  export { IgxSummaryDataPipe } from './grid-root-summary.pipe';
11
11
  export class IgxGridSummaryModule {
12
12
  }
13
- IgxGridSummaryModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: IgxGridSummaryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
- IgxGridSummaryModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: IgxGridSummaryModule, declarations: [IgxSummaryCellComponent,
13
+ IgxGridSummaryModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: IgxGridSummaryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
+ IgxGridSummaryModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: IgxGridSummaryModule, declarations: [IgxSummaryCellComponent,
15
15
  IgxSummaryRowComponent,
16
16
  IgxSummaryDataPipe], imports: [IgxGridPipesModule,
17
17
  IgxGridSharedModules], exports: [IgxSummaryCellComponent,
18
18
  IgxSummaryRowComponent,
19
19
  IgxSummaryDataPipe] });
20
- IgxGridSummaryModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: IgxGridSummaryModule, imports: [[
20
+ IgxGridSummaryModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: IgxGridSummaryModule, imports: [[
21
21
  IgxGridPipesModule,
22
22
  IgxGridSharedModules
23
23
  ]] });
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: IgxGridSummaryModule, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: IgxGridSummaryModule, decorators: [{
25
25
  type: NgModule,
26
26
  args: [{
27
27
  declarations: [
@@ -3,18 +3,18 @@ import * as i0 from "@angular/core";
3
3
  // eslint-disable-next-line @angular-eslint/directive-selector
4
4
  export class IgxExcelTextDirective {
5
5
  }
6
- IgxExcelTextDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: IgxExcelTextDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
7
- IgxExcelTextDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0", type: IgxExcelTextDirective, selector: "[excelText],excel-text", ngImport: i0 });
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: IgxExcelTextDirective, decorators: [{
6
+ IgxExcelTextDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: IgxExcelTextDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
7
+ IgxExcelTextDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.2", type: IgxExcelTextDirective, selector: "[excelText],excel-text", ngImport: i0 });
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: IgxExcelTextDirective, decorators: [{
9
9
  type: Directive,
10
10
  args: [{ selector: '[excelText],excel-text' }]
11
11
  }] });
12
12
  // eslint-disable-next-line @angular-eslint/directive-selector
13
13
  export class IgxCSVTextDirective {
14
14
  }
15
- IgxCSVTextDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: IgxCSVTextDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
16
- IgxCSVTextDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0", type: IgxCSVTextDirective, selector: "[csvText],csv-text", ngImport: i0 });
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: IgxCSVTextDirective, decorators: [{
15
+ IgxCSVTextDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: IgxCSVTextDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
16
+ IgxCSVTextDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.2", type: IgxCSVTextDirective, selector: "[csvText],csv-text", ngImport: i0 });
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: IgxCSVTextDirective, decorators: [{
18
18
  type: Directive,
19
19
  args: [{ selector: '[csvText],csv-text' }]
20
20
  }] });
@@ -40,9 +40,9 @@ export class IgxGridToolbarTitleDirective {
40
40
  this.cssClass = 'igx-grid-toolbar__title';
41
41
  }
42
42
  }
43
- IgxGridToolbarTitleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: IgxGridToolbarTitleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
44
- IgxGridToolbarTitleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0", type: IgxGridToolbarTitleDirective, selector: "[igxGridToolbarTitle],igx-grid-toolbar-title", host: { properties: { "class.igx-grid-toolbar__title": "this.cssClass" } }, ngImport: i0 });
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: IgxGridToolbarTitleDirective, decorators: [{
43
+ IgxGridToolbarTitleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: IgxGridToolbarTitleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
44
+ IgxGridToolbarTitleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.2", type: IgxGridToolbarTitleDirective, selector: "[igxGridToolbarTitle],igx-grid-toolbar-title", host: { properties: { "class.igx-grid-toolbar__title": "this.cssClass" } }, ngImport: i0 });
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: IgxGridToolbarTitleDirective, decorators: [{
46
46
  type: Directive,
47
47
  args: [{ selector: '[igxGridToolbarTitle],igx-grid-toolbar-title' }]
48
48
  }], propDecorators: { cssClass: [{
@@ -73,9 +73,9 @@ export class IgxGridToolbarActionsDirective {
73
73
  this.cssClass = 'igx-grid-toolbar__actions';
74
74
  }
75
75
  }
76
- IgxGridToolbarActionsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: IgxGridToolbarActionsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
77
- IgxGridToolbarActionsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0", type: IgxGridToolbarActionsDirective, selector: "[igxGridToolbarActions],igx-grid-toolbar-actions", host: { properties: { "class.igx-grid-toolbar__actions": "this.cssClass" } }, ngImport: i0 });
78
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: IgxGridToolbarActionsDirective, decorators: [{
76
+ IgxGridToolbarActionsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: IgxGridToolbarActionsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
77
+ IgxGridToolbarActionsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.2", type: IgxGridToolbarActionsDirective, selector: "[igxGridToolbarActions],igx-grid-toolbar-actions", host: { properties: { "class.igx-grid-toolbar__actions": "this.cssClass" } }, ngImport: i0 });
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: IgxGridToolbarActionsDirective, decorators: [{
79
79
  type: Directive,
80
80
  args: [{ selector: '[igxGridToolbarActions],igx-grid-toolbar-actions' }]
81
81
  }], propDecorators: { cssClass: [{
@@ -87,9 +87,9 @@ export class IgxGridToolbarDirective {
87
87
  this.template = template;
88
88
  }
89
89
  }
90
- IgxGridToolbarDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: IgxGridToolbarDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
91
- IgxGridToolbarDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0", type: IgxGridToolbarDirective, selector: "[igxGridToolbar]", ngImport: i0 });
92
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: IgxGridToolbarDirective, decorators: [{
90
+ IgxGridToolbarDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: IgxGridToolbarDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
91
+ IgxGridToolbarDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.2", type: IgxGridToolbarDirective, selector: "[igxGridToolbar]", ngImport: i0 });
92
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: IgxGridToolbarDirective, decorators: [{
93
93
  type: Directive,
94
94
  args: [{ selector: '[igxGridToolbar]' }]
95
95
  }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
@@ -30,9 +30,9 @@ export class IgxGridToolbarAdvancedFilteringComponent {
30
30
  return this.toolbar.grid;
31
31
  }
32
32
  }
33
- IgxGridToolbarAdvancedFilteringComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: IgxGridToolbarAdvancedFilteringComponent, deps: [{ token: IgxToolbarToken }], target: i0.ɵɵFactoryTarget.Component });
34
- IgxGridToolbarAdvancedFilteringComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: IgxGridToolbarAdvancedFilteringComponent, selector: "igx-grid-toolbar-advanced-filtering", inputs: { overlaySettings: "overlaySettings" }, ngImport: i0, template: "<button igxButton=\"outlined\" [displayDensity]=\"grid.displayDensity\" name=\"btnAdvancedFiltering\" igxRipple\n [title]=\"grid?.resourceStrings.igx_grid_toolbar_advanced_filtering_button_tooltip\"\n (click)=\"grid.openAdvancedFilteringDialog()\"\n [ngClass]=\"grid.advancedFilteringExpressionsTree ? 'igx-grid-toolbar__adv-filter--filtered' : 'igx-grid-toolbar__adv-filter'\">\n <igx-icon>filter_list</igx-icon>\n <span #ref>\n <ng-content></ng-content>\n </span>\n <span *ngIf=\"!ref.childNodes.length\">{{ grid?.resourceStrings.igx_grid_toolbar_advanced_filtering_button_label }}</span>\n</button>\n", components: [{ type: i1.IgxIconComponent, selector: "igx-icon", inputs: ["family", "active", "name"] }], directives: [{ type: i2.IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxButtonColor", "igxButtonBackground", "igxLabel", "disabled"], outputs: ["buttonClick", "buttonSelected"] }, { type: i3.IgxRippleDirective, selector: "[igxRipple]", inputs: ["igxRippleTarget", "igxRipple", "igxRippleDuration", "igxRippleCentered", "igxRippleDisabled"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: IgxGridToolbarAdvancedFilteringComponent, decorators: [{
33
+ IgxGridToolbarAdvancedFilteringComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: IgxGridToolbarAdvancedFilteringComponent, deps: [{ token: IgxToolbarToken }], target: i0.ɵɵFactoryTarget.Component });
34
+ IgxGridToolbarAdvancedFilteringComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: IgxGridToolbarAdvancedFilteringComponent, selector: "igx-grid-toolbar-advanced-filtering", inputs: { overlaySettings: "overlaySettings" }, ngImport: i0, template: "<button igxButton=\"outlined\" [displayDensity]=\"grid.displayDensity\" name=\"btnAdvancedFiltering\" igxRipple\n [title]=\"grid?.resourceStrings.igx_grid_toolbar_advanced_filtering_button_tooltip\"\n (click)=\"grid.openAdvancedFilteringDialog()\"\n [ngClass]=\"grid.advancedFilteringExpressionsTree ? 'igx-grid-toolbar__adv-filter--filtered' : 'igx-grid-toolbar__adv-filter'\">\n <igx-icon>filter_list</igx-icon>\n <span #ref>\n <ng-content></ng-content>\n </span>\n <span *ngIf=\"!ref.childNodes.length\">{{ grid?.resourceStrings.igx_grid_toolbar_advanced_filtering_button_label }}</span>\n</button>\n", components: [{ type: i1.IgxIconComponent, selector: "igx-icon", inputs: ["family", "active", "name"] }], directives: [{ type: i2.IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxButtonColor", "igxButtonBackground", "igxLabel", "disabled"], outputs: ["buttonClick", "buttonSelected"] }, { type: i3.IgxRippleDirective, selector: "[igxRipple]", inputs: ["igxRippleTarget", "igxRipple", "igxRippleDuration", "igxRippleCentered", "igxRippleDisabled"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: IgxGridToolbarAdvancedFilteringComponent, decorators: [{
36
36
  type: Component,
37
37
  args: [{ selector: 'igx-grid-toolbar-advanced-filtering', template: "<button igxButton=\"outlined\" [displayDensity]=\"grid.displayDensity\" name=\"btnAdvancedFiltering\" igxRipple\n [title]=\"grid?.resourceStrings.igx_grid_toolbar_advanced_filtering_button_tooltip\"\n (click)=\"grid.openAdvancedFilteringDialog()\"\n [ngClass]=\"grid.advancedFilteringExpressionsTree ? 'igx-grid-toolbar__adv-filter--filtered' : 'igx-grid-toolbar__adv-filter'\">\n <igx-icon>filter_list</igx-icon>\n <span #ref>\n <ng-content></ng-content>\n </span>\n <span *ngIf=\"!ref.childNodes.length\">{{ grid?.resourceStrings.igx_grid_toolbar_advanced_filtering_button_label }}</span>\n</button>\n" }]
38
38
  }], ctorParameters: function () { return [{ type: i5.IgxToolbarToken, decorators: [{
@@ -85,9 +85,9 @@ export class IgxGridToolbarExporterComponent extends BaseToolbarDirective {
85
85
  exporter.export(this.grid, options);
86
86
  }
87
87
  }
88
- IgxGridToolbarExporterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: IgxGridToolbarExporterComponent, deps: [{ token: IgxToolbarToken }, { token: i1.IgxExcelExporterService }, { token: i1.IgxCsvExporterService }], target: i0.ɵɵFactoryTarget.Component });
89
- IgxGridToolbarExporterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: IgxGridToolbarExporterComponent, selector: "igx-grid-toolbar-exporter", inputs: { exportCSV: "exportCSV", exportExcel: "exportExcel", filename: "filename" }, outputs: { exportStarted: "exportStarted", exportEnded: "exportEnded" }, queries: [{ propertyName: "hasExcelAttr", first: true, predicate: IgxExcelTextDirective, descendants: true }, { propertyName: "hasCSVAttr", first: true, predicate: IgxCSVTextDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"igx-grid-toolbar__dropdown\" id=\"btnExport\">\n <button [title]=\"grid?.resourceStrings.igx_grid_toolbar_exporter_button_tooltip\" [disabled]=\"isExporting\"\n igxButton=\"outlined\" [displayDensity]=\"grid.displayDensity\" igxRipple #btn (click)=\"toggle(btn, toggleRef)\">\n <igx-icon>import_export</igx-icon>\n <span #ref>\n <ng-content></ng-content>\n </span>\n <span *ngIf=\"!ref.childNodes.length\">\n {{ grid?.resourceStrings.igx_grid_toolbar_exporter_button_label }}\n </span>\n <igx-icon>arrow_drop_down</igx-icon>\n </button>\n\n <ul class=\"igx-grid-toolbar__dd-list\" igxToggle #toggleRef=\"toggle\">\n <li *ngIf=\"exportExcel\" #btnExportExcel id=\"btnExportExcel\"\n class=\"igx-grid-toolbar__dd-list-items\" igxRipple (click)=\"export('excel', toggleRef)\">\n <ng-template #excel>\n <ng-content select=[excelText],excel-text></ng-content>\n </ng-template>\n <excel-text *ngIf=\"!hasExcelAttr\">\n {{ grid?.resourceStrings.igx_grid_toolbar_exporter_excel_entry_text}}\n </excel-text>\n <ng-container *ngTemplateOutlet=\"excel\"></ng-container>\n </li>\n\n <li *ngIf=\"exportCSV\" #btnExportCsv id=\"btnExportCsv\" class=\"igx-grid-toolbar__dd-list-items\"\n igxRipple (click)=\"export('csv', toggleRef)\">\n <ng-template #csv>\n <ng-content select=[csvText],csv-text></ng-content>\n </ng-template>\n <csv-text *ngIf=\"!hasCSVAttr\">\n {{ grid?.resourceStrings.igx_grid_toolbar_exporter_csv_entry_text }}</csv-text>\n <ng-container *ngTemplateOutlet=\"csv\"></ng-container>\n </li>\n </ul>\n</div>\n", components: [{ type: i2.IgxIconComponent, selector: "igx-icon", inputs: ["family", "active", "name"] }], directives: [{ type: i3.IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxButtonColor", "igxButtonBackground", "igxLabel", "disabled"], outputs: ["buttonClick", "buttonSelected"] }, { type: i4.IgxRippleDirective, selector: "[igxRipple]", inputs: ["igxRippleTarget", "igxRipple", "igxRippleDuration", "igxRippleCentered", "igxRippleDisabled"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.IgxToggleDirective, selector: "[igxToggle]", inputs: ["id"], outputs: ["opened", "opening", "closed", "closing", "appended"], exportAs: ["toggle"] }, { type: i7.IgxExcelTextDirective, selector: "[excelText],excel-text" }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i7.IgxCSVTextDirective, selector: "[csvText],csv-text" }] });
90
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: IgxGridToolbarExporterComponent, decorators: [{
88
+ IgxGridToolbarExporterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: IgxGridToolbarExporterComponent, deps: [{ token: IgxToolbarToken }, { token: i1.IgxExcelExporterService }, { token: i1.IgxCsvExporterService }], target: i0.ɵɵFactoryTarget.Component });
89
+ IgxGridToolbarExporterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: IgxGridToolbarExporterComponent, selector: "igx-grid-toolbar-exporter", inputs: { exportCSV: "exportCSV", exportExcel: "exportExcel", filename: "filename" }, outputs: { exportStarted: "exportStarted", exportEnded: "exportEnded" }, queries: [{ propertyName: "hasExcelAttr", first: true, predicate: IgxExcelTextDirective, descendants: true }, { propertyName: "hasCSVAttr", first: true, predicate: IgxCSVTextDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"igx-grid-toolbar__dropdown\" id=\"btnExport\">\n <button [title]=\"grid?.resourceStrings.igx_grid_toolbar_exporter_button_tooltip\" [disabled]=\"isExporting\"\n igxButton=\"outlined\" [displayDensity]=\"grid.displayDensity\" igxRipple #btn (click)=\"toggle(btn, toggleRef)\">\n <igx-icon>import_export</igx-icon>\n <span #ref>\n <ng-content></ng-content>\n </span>\n <span *ngIf=\"!ref.childNodes.length\">\n {{ grid?.resourceStrings.igx_grid_toolbar_exporter_button_label }}\n </span>\n <igx-icon>arrow_drop_down</igx-icon>\n </button>\n\n <ul class=\"igx-grid-toolbar__dd-list\" igxToggle #toggleRef=\"toggle\">\n <li *ngIf=\"exportExcel\" #btnExportExcel id=\"btnExportExcel\"\n class=\"igx-grid-toolbar__dd-list-items\" igxRipple (click)=\"export('excel', toggleRef)\">\n <ng-template #excel>\n <ng-content select=[excelText],excel-text></ng-content>\n </ng-template>\n <excel-text *ngIf=\"!hasExcelAttr\">\n {{ grid?.resourceStrings.igx_grid_toolbar_exporter_excel_entry_text}}\n </excel-text>\n <ng-container *ngTemplateOutlet=\"excel\"></ng-container>\n </li>\n\n <li *ngIf=\"exportCSV\" #btnExportCsv id=\"btnExportCsv\" class=\"igx-grid-toolbar__dd-list-items\"\n igxRipple (click)=\"export('csv', toggleRef)\">\n <ng-template #csv>\n <ng-content select=[csvText],csv-text></ng-content>\n </ng-template>\n <csv-text *ngIf=\"!hasCSVAttr\">\n {{ grid?.resourceStrings.igx_grid_toolbar_exporter_csv_entry_text }}</csv-text>\n <ng-container *ngTemplateOutlet=\"csv\"></ng-container>\n </li>\n </ul>\n</div>\n", components: [{ type: i2.IgxIconComponent, selector: "igx-icon", inputs: ["family", "active", "name"] }], directives: [{ type: i3.IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxButtonColor", "igxButtonBackground", "igxLabel", "disabled"], outputs: ["buttonClick", "buttonSelected"] }, { type: i4.IgxRippleDirective, selector: "[igxRipple]", inputs: ["igxRippleTarget", "igxRipple", "igxRippleDuration", "igxRippleCentered", "igxRippleDisabled"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.IgxToggleDirective, selector: "[igxToggle]", inputs: ["id"], outputs: ["opened", "opening", "closed", "closing", "appended"], exportAs: ["toggle"] }, { type: i7.IgxExcelTextDirective, selector: "[excelText],excel-text" }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i7.IgxCSVTextDirective, selector: "[csvText],csv-text" }] });
90
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: IgxGridToolbarExporterComponent, decorators: [{
91
91
  type: Component,
92
92
  args: [{ selector: 'igx-grid-toolbar-exporter', template: "<div class=\"igx-grid-toolbar__dropdown\" id=\"btnExport\">\n <button [title]=\"grid?.resourceStrings.igx_grid_toolbar_exporter_button_tooltip\" [disabled]=\"isExporting\"\n igxButton=\"outlined\" [displayDensity]=\"grid.displayDensity\" igxRipple #btn (click)=\"toggle(btn, toggleRef)\">\n <igx-icon>import_export</igx-icon>\n <span #ref>\n <ng-content></ng-content>\n </span>\n <span *ngIf=\"!ref.childNodes.length\">\n {{ grid?.resourceStrings.igx_grid_toolbar_exporter_button_label }}\n </span>\n <igx-icon>arrow_drop_down</igx-icon>\n </button>\n\n <ul class=\"igx-grid-toolbar__dd-list\" igxToggle #toggleRef=\"toggle\">\n <li *ngIf=\"exportExcel\" #btnExportExcel id=\"btnExportExcel\"\n class=\"igx-grid-toolbar__dd-list-items\" igxRipple (click)=\"export('excel', toggleRef)\">\n <ng-template #excel>\n <ng-content select=[excelText],excel-text></ng-content>\n </ng-template>\n <excel-text *ngIf=\"!hasExcelAttr\">\n {{ grid?.resourceStrings.igx_grid_toolbar_exporter_excel_entry_text}}\n </excel-text>\n <ng-container *ngTemplateOutlet=\"excel\"></ng-container>\n </li>\n\n <li *ngIf=\"exportCSV\" #btnExportCsv id=\"btnExportCsv\" class=\"igx-grid-toolbar__dd-list-items\"\n igxRipple (click)=\"export('csv', toggleRef)\">\n <ng-template #csv>\n <ng-content select=[csvText],csv-text></ng-content>\n </ng-template>\n <csv-text *ngIf=\"!hasCSVAttr\">\n {{ grid?.resourceStrings.igx_grid_toolbar_exporter_csv_entry_text }}</csv-text>\n <ng-container *ngTemplateOutlet=\"csv\"></ng-container>\n </li>\n </ul>\n</div>\n" }]
93
93
  }], ctorParameters: function () { return [{ type: i8.IgxToolbarToken, decorators: [{
@@ -26,9 +26,9 @@ export class IgxGridToolbarHidingComponent extends BaseToolbarColumnActionsDirec
26
26
  this.columnActionsUI = content;
27
27
  }
28
28
  }
29
- IgxGridToolbarHidingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: IgxGridToolbarHidingComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
30
- IgxGridToolbarHidingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: IgxGridToolbarHidingComponent, selector: "igx-grid-toolbar-hiding", viewQueries: [{ propertyName: "content", first: true, predicate: IgxColumnHidingDirective, descendants: true, read: IgxColumnActionsComponent }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"grid.rendered$ | async\">\n <button [title]=\"grid?.resourceStrings.igx_grid_toolbar_hiding_button_tooltip\" #btn igxButton=\"outlined\"\n name=\"btnColumnHiding\" (click)=\"toggle(btn, ref, actions)\" [displayDensity]=\"grid.displayDensity\">\n <igx-icon>{{ !grid.hiddenColumnsCount ? 'visibility' : 'visibility_off' }}</igx-icon>\n <span>{{ grid.hiddenColumnsCount }}</span>\n <span>{{ buttonText }}</span>\n </button>\n <igx-column-actions #actions igxColumnHiding igxToggle (opened)=\"focusSearch(ref.element)\" #ref=\"toggle\"\n [grid]=\"grid\" [title]=\"title || grid?.resourceStrings.igx_grid_toolbar_hiding_title\"\n [filterColumnsPrompt]=\"prompt || grid?.resourceStrings.igx_grid_toolbar_actions_filter_prompt\"\n [hideFilter]=\"hideFilter\" [filterCriteria]=\"filterCriteria\" [columnDisplayOrder]=\"columnDisplayOrder\" [columnsAreaMaxHeight]=\"columnsAreaMaxHeight\"\n [uncheckAllText]=\"uncheckAllText\" [checkAllText]=\"checkAllText\" [indentation]=\"indentetion\">\n </igx-column-actions>\n</ng-container>\n", components: [{ type: i1.IgxIconComponent, selector: "igx-icon", inputs: ["family", "active", "name"] }, { type: i2.IgxColumnActionsComponent, selector: "igx-column-actions", inputs: ["grid", "indentation", "columnsAreaMaxHeight", "hideFilter", "title", "filterColumnsPrompt", "filterCriteria", "columnDisplayOrder", "uncheckAllText", "checkAllText", "id"], outputs: ["columnToggled"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxButtonColor", "igxButtonBackground", "igxLabel", "disabled"], outputs: ["buttonClick", "buttonSelected"] }, { type: i5.IgxColumnHidingDirective, selector: "[igxColumnHiding]" }, { type: i6.IgxToggleDirective, selector: "[igxToggle]", inputs: ["id"], outputs: ["opened", "opening", "closed", "closing", "appended"], exportAs: ["toggle"] }], pipes: { "async": i3.AsyncPipe } });
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: IgxGridToolbarHidingComponent, decorators: [{
29
+ IgxGridToolbarHidingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: IgxGridToolbarHidingComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
30
+ IgxGridToolbarHidingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: IgxGridToolbarHidingComponent, selector: "igx-grid-toolbar-hiding", viewQueries: [{ propertyName: "content", first: true, predicate: IgxColumnHidingDirective, descendants: true, read: IgxColumnActionsComponent }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"grid.rendered$ | async\">\n <button [title]=\"grid?.resourceStrings.igx_grid_toolbar_hiding_button_tooltip\" #btn igxButton=\"outlined\"\n name=\"btnColumnHiding\" (click)=\"toggle(btn, ref, actions)\" [displayDensity]=\"grid.displayDensity\">\n <igx-icon>{{ !grid.hiddenColumnsCount ? 'visibility' : 'visibility_off' }}</igx-icon>\n <span>{{ grid.hiddenColumnsCount }}</span>\n <span>{{ buttonText }}</span>\n </button>\n <igx-column-actions #actions igxColumnHiding igxToggle (opened)=\"focusSearch(ref.element)\" #ref=\"toggle\"\n [grid]=\"grid\" [title]=\"title || grid?.resourceStrings.igx_grid_toolbar_hiding_title\"\n [filterColumnsPrompt]=\"prompt || grid?.resourceStrings.igx_grid_toolbar_actions_filter_prompt\"\n [hideFilter]=\"hideFilter\" [filterCriteria]=\"filterCriteria\" [columnDisplayOrder]=\"columnDisplayOrder\" [columnsAreaMaxHeight]=\"columnsAreaMaxHeight\"\n [uncheckAllText]=\"uncheckAllText\" [checkAllText]=\"checkAllText\" [indentation]=\"indentetion\">\n </igx-column-actions>\n</ng-container>\n", components: [{ type: i1.IgxIconComponent, selector: "igx-icon", inputs: ["family", "active", "name"] }, { type: i2.IgxColumnActionsComponent, selector: "igx-column-actions", inputs: ["grid", "indentation", "columnsAreaMaxHeight", "hideFilter", "title", "filterColumnsPrompt", "filterCriteria", "columnDisplayOrder", "uncheckAllText", "checkAllText", "id"], outputs: ["columnToggled"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxButtonColor", "igxButtonBackground", "igxLabel", "disabled"], outputs: ["buttonClick", "buttonSelected"] }, { type: i5.IgxColumnHidingDirective, selector: "[igxColumnHiding]" }, { type: i6.IgxToggleDirective, selector: "[igxToggle]", inputs: ["id"], outputs: ["opened", "opening", "closed", "closing", "appended"], exportAs: ["toggle"] }], pipes: { "async": i3.AsyncPipe } });
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: IgxGridToolbarHidingComponent, decorators: [{
32
32
  type: Component,
33
33
  args: [{ selector: 'igx-grid-toolbar-hiding', template: "<ng-container *ngIf=\"grid.rendered$ | async\">\n <button [title]=\"grid?.resourceStrings.igx_grid_toolbar_hiding_button_tooltip\" #btn igxButton=\"outlined\"\n name=\"btnColumnHiding\" (click)=\"toggle(btn, ref, actions)\" [displayDensity]=\"grid.displayDensity\">\n <igx-icon>{{ !grid.hiddenColumnsCount ? 'visibility' : 'visibility_off' }}</igx-icon>\n <span>{{ grid.hiddenColumnsCount }}</span>\n <span>{{ buttonText }}</span>\n </button>\n <igx-column-actions #actions igxColumnHiding igxToggle (opened)=\"focusSearch(ref.element)\" #ref=\"toggle\"\n [grid]=\"grid\" [title]=\"title || grid?.resourceStrings.igx_grid_toolbar_hiding_title\"\n [filterColumnsPrompt]=\"prompt || grid?.resourceStrings.igx_grid_toolbar_actions_filter_prompt\"\n [hideFilter]=\"hideFilter\" [filterCriteria]=\"filterCriteria\" [columnDisplayOrder]=\"columnDisplayOrder\" [columnsAreaMaxHeight]=\"columnsAreaMaxHeight\"\n [uncheckAllText]=\"uncheckAllText\" [checkAllText]=\"checkAllText\" [indentation]=\"indentetion\">\n </igx-column-actions>\n</ng-container>\n" }]
34
34
  }], propDecorators: { content: [{