@clr/angular 12.0.7 → 13.0.0-next.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 (1133) hide show
  1. package/accordion/accordion-content.d.ts +3 -0
  2. package/accordion/accordion-description.d.ts +3 -0
  3. package/accordion/accordion-panel.d.ts +3 -0
  4. package/accordion/accordion-title.d.ts +3 -0
  5. package/accordion/accordion.d.ts +3 -0
  6. package/accordion/accordion.module.d.ts +13 -0
  7. package/accordion/chocolate/accordion-oompa-loompa.d.ts +3 -0
  8. package/accordion/chocolate/accordion-willy-wonka.d.ts +3 -0
  9. package/accordion/providers/accordion.service.d.ts +3 -0
  10. package/accordion/stepper/chocolate/stepper-oompa-loompa.d.ts +3 -0
  11. package/accordion/stepper/chocolate/stepper-willy-wonka.d.ts +3 -0
  12. package/accordion/stepper/providers/stepper.service.d.ts +3 -0
  13. package/accordion/stepper/step-button.d.ts +3 -0
  14. package/accordion/stepper/stepper-panel.d.ts +3 -0
  15. package/accordion/stepper/stepper.d.ts +3 -0
  16. package/accordion/stepper/stepper.module.d.ts +12 -0
  17. package/button/button-group/button-group.d.ts +3 -0
  18. package/button/button-group/button-group.module.d.ts +9 -0
  19. package/button/button-group/button.d.ts +3 -0
  20. package/button/button-loading/loading-button.d.ts +3 -0
  21. package/button/button-loading/loading-button.module.d.ts +6 -0
  22. package/button/button.module.d.ts +6 -0
  23. package/button/providers/button-in-group.service.d.ts +3 -0
  24. package/clr-angular.d.ts +1 -105
  25. package/clr-angular.module.d.ts +23 -0
  26. package/data/data.module.d.ts +7 -0
  27. package/data/datagrid/built-in/filters/datagrid-numeric-filter.d.ts +3 -0
  28. package/data/datagrid/built-in/filters/datagrid-string-filter.d.ts +3 -0
  29. package/data/datagrid/chocolate/actionable-oompa-loompa.d.ts +3 -0
  30. package/data/datagrid/chocolate/datagrid-willy-wonka.d.ts +3 -0
  31. package/data/datagrid/chocolate/expandable-oompa-loompa.d.ts +3 -0
  32. package/data/datagrid/datagrid-action-bar.d.ts +3 -0
  33. package/data/datagrid/datagrid-action-overflow.d.ts +3 -0
  34. package/data/datagrid/datagrid-cell.d.ts +3 -0
  35. package/data/datagrid/datagrid-column-separator.d.ts +3 -0
  36. package/data/datagrid/datagrid-column-toggle-button.d.ts +3 -0
  37. package/data/datagrid/datagrid-column-toggle-title.d.ts +3 -0
  38. package/data/datagrid/datagrid-column-toggle.d.ts +3 -0
  39. package/data/datagrid/datagrid-column.d.ts +3 -0
  40. package/data/datagrid/datagrid-detail-body.d.ts +3 -0
  41. package/data/datagrid/datagrid-detail-header.d.ts +3 -0
  42. package/data/datagrid/datagrid-detail-registerer.d.ts +3 -0
  43. package/data/datagrid/datagrid-detail.d.ts +3 -0
  44. package/data/datagrid/datagrid-filter.d.ts +3 -0
  45. package/data/datagrid/datagrid-footer.d.ts +3 -0
  46. package/data/datagrid/datagrid-hideable-column.d.ts +3 -0
  47. package/data/datagrid/datagrid-if-detail.d.ts +3 -0
  48. package/data/datagrid/datagrid-if-expanded.service.d.ts +3 -0
  49. package/data/datagrid/datagrid-items-trackby.d.ts +3 -0
  50. package/data/datagrid/datagrid-items.d.ts +3 -0
  51. package/data/datagrid/datagrid-page-size.d.ts +3 -0
  52. package/data/datagrid/datagrid-pagination.d.ts +3 -0
  53. package/data/datagrid/datagrid-placeholder.d.ts +3 -0
  54. package/data/datagrid/datagrid-row-detail.d.ts +3 -0
  55. package/data/datagrid/datagrid-row.d.ts +3 -0
  56. package/data/datagrid/datagrid.d.ts +3 -0
  57. package/data/datagrid/datagrid.module.d.ts +53 -0
  58. package/data/datagrid/providers/column-resizer.service.d.ts +3 -0
  59. package/data/datagrid/providers/columns.service.d.ts +3 -0
  60. package/data/datagrid/providers/detail.service.d.ts +3 -0
  61. package/data/datagrid/providers/display-mode.service.d.ts +3 -0
  62. package/data/datagrid/providers/filters.d.ts +3 -0
  63. package/data/datagrid/providers/global-expandable-rows.d.ts +3 -0
  64. package/data/datagrid/providers/items.d.ts +3 -0
  65. package/data/datagrid/providers/page.d.ts +3 -0
  66. package/data/datagrid/providers/row-action-service.d.ts +3 -0
  67. package/data/datagrid/providers/selection.d.ts +3 -0
  68. package/data/datagrid/providers/sort.d.ts +3 -0
  69. package/data/datagrid/providers/state-debouncer.provider.d.ts +3 -0
  70. package/data/datagrid/providers/state.provider.d.ts +3 -0
  71. package/data/datagrid/providers/table-size.service.d.ts +3 -0
  72. package/data/datagrid/render/cell-renderer.d.ts +3 -0
  73. package/data/datagrid/render/header-renderer.d.ts +3 -0
  74. package/data/datagrid/render/main-renderer.d.ts +3 -0
  75. package/data/datagrid/render/noop-dom-adapter.d.ts +4 -1
  76. package/data/datagrid/render/render-organizer.d.ts +3 -0
  77. package/data/datagrid/render/row-renderer.d.ts +3 -0
  78. package/data/datagrid/utils/datagrid-filter-registrar.d.ts +3 -0
  79. package/data/datagrid/wrapped-cell.d.ts +3 -0
  80. package/data/datagrid/wrapped-column.d.ts +3 -0
  81. package/data/datagrid/wrapped-row.d.ts +3 -0
  82. package/data/stack-view/stack-block.d.ts +3 -0
  83. package/data/stack-view/stack-content-input.d.ts +3 -0
  84. package/data/stack-view/stack-header.d.ts +3 -0
  85. package/data/stack-view/stack-input.d.ts +3 -6
  86. package/data/stack-view/stack-select.d.ts +3 -5
  87. package/data/stack-view/stack-view-custom-tags.d.ts +3 -0
  88. package/data/stack-view/stack-view.d.ts +3 -0
  89. package/data/stack-view/stack-view.module.d.ts +15 -0
  90. package/data/tree-view/recursive-children.d.ts +3 -0
  91. package/data/tree-view/recursive-for-of.d.ts +3 -0
  92. package/data/tree-view/tree-features.service.d.ts +3 -0
  93. package/data/tree-view/tree-focus-manager.service.d.ts +3 -0
  94. package/data/tree-view/tree-node-link.d.ts +3 -0
  95. package/data/tree-view/tree-node.d.ts +3 -0
  96. package/data/tree-view/tree-view.module.d.ts +12 -0
  97. package/data/tree-view/tree.d.ts +3 -0
  98. package/emphasis/alert/alert-item.d.ts +3 -0
  99. package/emphasis/alert/alert-text.d.ts +3 -0
  100. package/emphasis/alert/alert.d.ts +3 -0
  101. package/emphasis/alert/alert.module.d.ts +12 -0
  102. package/emphasis/alert/alerts-pager.d.ts +3 -0
  103. package/emphasis/alert/alerts.d.ts +3 -0
  104. package/emphasis/alert/providers/icon-and-types.service.d.ts +3 -0
  105. package/emphasis/alert/providers/multi-alert.service.d.ts +3 -0
  106. package/emphasis/emphasis.module.d.ts +5 -0
  107. package/esm2020/accordion/accordion-content.mjs +20 -0
  108. package/esm2020/accordion/accordion-description.mjs +21 -0
  109. package/esm2020/accordion/accordion-panel.mjs +108 -0
  110. package/esm2020/accordion/accordion-title.mjs +21 -0
  111. package/esm2020/accordion/accordion.mjs +61 -0
  112. package/esm2020/accordion/accordion.module.mjs +55 -0
  113. package/esm2020/accordion/chocolate/accordion-oompa-loompa.mjs +31 -0
  114. package/esm2020/accordion/chocolate/accordion-willy-wonka.mjs +17 -0
  115. package/{esm2015/accordion/enums/accordion-status.enum.js → esm2020/accordion/enums/accordion-status.enum.mjs} +0 -0
  116. package/{esm2015/accordion/enums/accordion-strategy.enum.js → esm2020/accordion/enums/accordion-strategy.enum.mjs} +0 -0
  117. package/{esm2015/accordion/index.js → esm2020/accordion/index.mjs} +0 -0
  118. package/esm2020/accordion/models/accordion.model.mjs +60 -0
  119. package/esm2020/accordion/providers/accordion.service.mjs +47 -0
  120. package/esm2020/accordion/stepper/chocolate/stepper-oompa-loompa.mjs +31 -0
  121. package/esm2020/accordion/stepper/chocolate/stepper-willy-wonka.mjs +17 -0
  122. package/{esm2015/accordion/stepper/index.js → esm2020/accordion/stepper/index.mjs} +0 -0
  123. package/{esm2015/accordion/stepper/models/stepper.model.js → esm2020/accordion/stepper/models/stepper.model.mjs} +0 -0
  124. package/esm2020/accordion/stepper/providers/stepper.service.mjs +55 -0
  125. package/esm2020/accordion/stepper/step-button.mjs +51 -0
  126. package/esm2020/accordion/stepper/stepper-panel.mjs +89 -0
  127. package/esm2020/accordion/stepper/stepper.mjs +93 -0
  128. package/esm2020/accordion/stepper/stepper.module.mjs +30 -0
  129. package/{esm2015/accordion/utils/animation.js → esm2020/accordion/utils/animation.mjs} +0 -0
  130. package/esm2020/button/button-group/button-group.mjs +140 -0
  131. package/esm2020/button/button-group/button-group.module.mjs +27 -0
  132. package/{esm2015/button/button-group/button.js → esm2020/button/button-group/button.mjs} +57 -24
  133. package/{esm2015/button/button-group/index.js → esm2020/button/button-group/index.mjs} +0 -0
  134. package/{esm2015/button/button-loading/index.js → esm2020/button/button-loading/index.mjs} +0 -0
  135. package/esm2020/button/button-loading/loading-button.mjs +150 -0
  136. package/esm2020/button/button-loading/loading-button.module.mjs +24 -0
  137. package/esm2020/button/button.module.mjs +25 -0
  138. package/{esm2015/button/index.js → esm2020/button/index.mjs} +0 -0
  139. package/esm2020/button/providers/button-in-group.service.mjs +25 -0
  140. package/esm2020/clr-angular.mjs +5 -0
  141. package/esm2020/clr-angular.module.mjs +96 -0
  142. package/esm2020/data/data.module.mjs +20 -0
  143. package/{esm2015/data/datagrid/built-in/comparators/datagrid-property-comparator.js → esm2020/data/datagrid/built-in/comparators/datagrid-property-comparator.mjs} +0 -0
  144. package/{esm2015/data/datagrid/built-in/filters/datagrid-numeric-filter-impl.js → esm2020/data/datagrid/built-in/filters/datagrid-numeric-filter-impl.mjs} +0 -0
  145. package/esm2020/data/datagrid/built-in/filters/datagrid-numeric-filter.mjs +200 -0
  146. package/{esm2015/data/datagrid/built-in/filters/datagrid-property-numeric-filter.js → esm2020/data/datagrid/built-in/filters/datagrid-property-numeric-filter.mjs} +0 -0
  147. package/{esm2015/data/datagrid/built-in/filters/datagrid-property-string-filter.js → esm2020/data/datagrid/built-in/filters/datagrid-property-string-filter.mjs} +0 -0
  148. package/{esm2015/data/datagrid/built-in/filters/datagrid-string-filter-impl.js → esm2020/data/datagrid/built-in/filters/datagrid-string-filter-impl.mjs} +0 -0
  149. package/esm2020/data/datagrid/built-in/filters/datagrid-string-filter.mjs +131 -0
  150. package/{esm2015/data/datagrid/built-in/nested-property.js → esm2020/data/datagrid/built-in/nested-property.mjs} +0 -0
  151. package/esm2020/data/datagrid/chocolate/actionable-oompa-loompa.mjs +31 -0
  152. package/esm2020/data/datagrid/chocolate/datagrid-willy-wonka.mjs +17 -0
  153. package/esm2020/data/datagrid/chocolate/expandable-oompa-loompa.mjs +31 -0
  154. package/esm2020/data/datagrid/datagrid-action-bar.mjs +20 -0
  155. package/esm2020/data/datagrid/datagrid-action-overflow.mjs +161 -0
  156. package/esm2020/data/datagrid/datagrid-cell.mjs +39 -0
  157. package/esm2020/data/datagrid/datagrid-column-separator.mjs +172 -0
  158. package/esm2020/data/datagrid/datagrid-column-toggle-button.mjs +63 -0
  159. package/esm2020/data/datagrid/datagrid-column-toggle-title.mjs +20 -0
  160. package/esm2020/data/datagrid/datagrid-column-toggle.mjs +229 -0
  161. package/esm2020/data/datagrid/datagrid-column.mjs +430 -0
  162. package/esm2020/data/datagrid/datagrid-detail-body.mjs +30 -0
  163. package/esm2020/data/datagrid/datagrid-detail-header.mjs +61 -0
  164. package/esm2020/data/datagrid/datagrid-detail-registerer.mjs +34 -0
  165. package/esm2020/data/datagrid/datagrid-detail.mjs +70 -0
  166. package/esm2020/data/datagrid/datagrid-filter.mjs +182 -0
  167. package/esm2020/data/datagrid/datagrid-footer.mjs +79 -0
  168. package/esm2020/data/datagrid/datagrid-hideable-column.mjs +104 -0
  169. package/esm2020/data/datagrid/datagrid-if-detail.mjs +63 -0
  170. package/esm2020/data/datagrid/datagrid-if-expanded.service.mjs +54 -0
  171. package/esm2020/data/datagrid/datagrid-items-trackby.mjs +32 -0
  172. package/esm2020/data/datagrid/datagrid-items.mjs +63 -0
  173. package/esm2020/data/datagrid/datagrid-page-size.mjs +47 -0
  174. package/esm2020/data/datagrid/datagrid-pagination.mjs +362 -0
  175. package/esm2020/data/datagrid/datagrid-placeholder.mjs +41 -0
  176. package/esm2020/data/datagrid/datagrid-row-detail.mjs +90 -0
  177. package/esm2020/data/datagrid/datagrid-row.mjs +241 -0
  178. package/esm2020/data/datagrid/datagrid.mjs +349 -0
  179. package/esm2020/data/datagrid/datagrid.module.mjs +237 -0
  180. package/esm2020/data/datagrid/enums/column-changes.enum.mjs +14 -0
  181. package/{esm2015/data/datagrid/enums/display-mode.enum.js → esm2020/data/datagrid/enums/display-mode.enum.mjs} +0 -0
  182. package/{esm2015/data/datagrid/enums/render-step.enum.js → esm2020/data/datagrid/enums/render-step.enum.mjs} +0 -0
  183. package/{esm2015/data/datagrid/enums/selection-type.js → esm2020/data/datagrid/enums/selection-type.mjs} +0 -0
  184. package/{esm2015/data/datagrid/enums/sort-order.enum.js → esm2020/data/datagrid/enums/sort-order.enum.mjs} +0 -0
  185. package/{esm2015/data/datagrid/index.js → esm2020/data/datagrid/index.mjs} +0 -0
  186. package/{esm2015/data/datagrid/interfaces/column-state.interface.js → esm2020/data/datagrid/interfaces/column-state.interface.mjs} +0 -0
  187. package/{esm2015/data/datagrid/interfaces/comparator.interface.js → esm2020/data/datagrid/interfaces/comparator.interface.mjs} +0 -0
  188. package/{esm2015/data/datagrid/interfaces/filter.interface.js → esm2020/data/datagrid/interfaces/filter.interface.mjs} +0 -0
  189. package/{esm2015/data/datagrid/interfaces/numeric-filter.interface.js → esm2020/data/datagrid/interfaces/numeric-filter.interface.mjs} +0 -0
  190. package/{esm2015/data/datagrid/interfaces/state.interface.js → esm2020/data/datagrid/interfaces/state.interface.mjs} +0 -0
  191. package/{esm2015/data/datagrid/interfaces/string-filter.interface.js → esm2020/data/datagrid/interfaces/string-filter.interface.mjs} +0 -0
  192. package/esm2020/data/datagrid/providers/column-resizer.service.mjs +57 -0
  193. package/{esm2015/data/datagrid/providers/column-state.provider.js → esm2020/data/datagrid/providers/column-state.provider.mjs} +0 -0
  194. package/esm2020/data/datagrid/providers/columns.service.mjs +53 -0
  195. package/{esm2015/data/datagrid/providers/custom-filter.js → esm2020/data/datagrid/providers/custom-filter.mjs} +0 -0
  196. package/esm2020/data/datagrid/providers/detail.service.mjs +61 -0
  197. package/esm2020/data/datagrid/providers/display-mode.service.mjs +35 -0
  198. package/esm2020/data/datagrid/providers/filters.mjs +111 -0
  199. package/esm2020/data/datagrid/providers/global-expandable-rows.mjs +33 -0
  200. package/esm2020/data/datagrid/providers/items.mjs +173 -0
  201. package/esm2020/data/datagrid/providers/page.mjs +155 -0
  202. package/esm2020/data/datagrid/providers/row-action-service.mjs +30 -0
  203. package/esm2020/data/datagrid/providers/selection.mjs +374 -0
  204. package/esm2020/data/datagrid/providers/sort.mjs +85 -0
  205. package/esm2020/data/datagrid/providers/state-debouncer.provider.mjs +42 -0
  206. package/esm2020/data/datagrid/providers/state.provider.mjs +74 -0
  207. package/esm2020/data/datagrid/providers/table-size.service.mjs +44 -0
  208. package/esm2020/data/datagrid/render/cell-renderer.mjs +81 -0
  209. package/{esm2015/data/datagrid/render/constants.js → esm2020/data/datagrid/render/constants.mjs} +0 -0
  210. package/esm2020/data/datagrid/render/header-renderer.mjs +132 -0
  211. package/esm2020/data/datagrid/render/main-renderer.mjs +198 -0
  212. package/esm2020/data/datagrid/render/noop-dom-adapter.mjs +54 -0
  213. package/esm2020/data/datagrid/render/render-organizer.mjs +38 -0
  214. package/esm2020/data/datagrid/render/row-renderer.mjs +58 -0
  215. package/esm2020/data/datagrid/utils/datagrid-filter-registrar.mjs +42 -0
  216. package/esm2020/data/datagrid/wrapped-cell.mjs +39 -0
  217. package/esm2020/data/datagrid/wrapped-column.mjs +40 -0
  218. package/esm2020/data/datagrid/wrapped-row.mjs +40 -0
  219. package/{esm2015/data/index.js → esm2020/data/index.mjs} +0 -0
  220. package/{esm2015/data/stack-view/index.js → esm2020/data/stack-view/index.mjs} +0 -0
  221. package/esm2020/data/stack-view/stack-block.mjs +214 -0
  222. package/esm2020/data/stack-view/stack-content-input.mjs +29 -0
  223. package/{esm2015/data/stack-view/stack-control.js → esm2020/data/stack-view/stack-control.mjs} +0 -0
  224. package/esm2020/data/stack-view/stack-header.mjs +68 -0
  225. package/{esm2015/data/stack-view/stack-input.js → esm2020/data/stack-view/stack-input.mjs} +20 -14
  226. package/esm2020/data/stack-view/stack-select.mjs +48 -0
  227. package/esm2020/data/stack-view/stack-view-custom-tags.mjs +16 -0
  228. package/esm2020/data/stack-view/stack-view.mjs +57 -0
  229. package/esm2020/data/stack-view/stack-view.module.mjs +69 -0
  230. package/{esm2015/data/tree-view/index.js → esm2020/data/tree-view/index.mjs} +0 -0
  231. package/{esm2015/data/tree-view/models/async-array.js → esm2020/data/tree-view/models/async-array.mjs} +0 -0
  232. package/{esm2015/data/tree-view/models/declarative-tree-node.model.js → esm2020/data/tree-view/models/declarative-tree-node.model.mjs} +0 -0
  233. package/{esm2015/data/tree-view/models/recursive-tree-node.model.js → esm2020/data/tree-view/models/recursive-tree-node.model.mjs} +0 -0
  234. package/{esm2015/data/tree-view/models/selected-state.enum.js → esm2020/data/tree-view/models/selected-state.enum.mjs} +0 -0
  235. package/{esm2015/data/tree-view/models/tree-node.model.js → esm2020/data/tree-view/models/tree-node.model.mjs} +0 -0
  236. package/esm2020/data/tree-view/recursive-children.mjs +81 -0
  237. package/esm2020/data/tree-view/recursive-for-of.mjs +54 -0
  238. package/esm2020/data/tree-view/tree-features.service.mjs +37 -0
  239. package/esm2020/data/tree-view/tree-focus-manager.service.mjs +121 -0
  240. package/esm2020/data/tree-view/tree-node-link.mjs +26 -0
  241. package/esm2020/data/tree-view/tree-node.mjs +279 -0
  242. package/esm2020/data/tree-view/tree-view.module.mjs +34 -0
  243. package/esm2020/data/tree-view/tree.mjs +91 -0
  244. package/esm2020/emphasis/alert/alert-item.mjs +43 -0
  245. package/esm2020/emphasis/alert/alert-text.mjs +22 -0
  246. package/esm2020/emphasis/alert/alert.mjs +107 -0
  247. package/esm2020/emphasis/alert/alert.module.mjs +34 -0
  248. package/esm2020/emphasis/alert/alerts-pager.mjs +72 -0
  249. package/esm2020/emphasis/alert/alerts.mjs +100 -0
  250. package/{esm2015/emphasis/alert/index.js → esm2020/emphasis/alert/index.mjs} +0 -0
  251. package/esm2020/emphasis/alert/providers/icon-and-types.service.mjs +74 -0
  252. package/esm2020/emphasis/alert/providers/multi-alert.service.mjs +79 -0
  253. package/{esm2015/emphasis/alert/utils/alert-info-object.js → esm2020/emphasis/alert/utils/alert-info-object.mjs} +0 -0
  254. package/{esm2015/emphasis/alert/utils/alert-types.js → esm2020/emphasis/alert/utils/alert-types.mjs} +0 -0
  255. package/esm2020/emphasis/emphasis.module.mjs +18 -0
  256. package/{esm2015/emphasis/index.js → esm2020/emphasis/index.mjs} +0 -0
  257. package/esm2020/forms/checkbox/checkbox-container.mjs +127 -0
  258. package/esm2020/forms/checkbox/checkbox-wrapper.mjs +68 -0
  259. package/esm2020/forms/checkbox/checkbox.mjs +43 -0
  260. package/esm2020/forms/checkbox/checkbox.module.mjs +33 -0
  261. package/{esm2015/forms/checkbox/index.js → esm2020/forms/checkbox/index.mjs} +0 -0
  262. package/esm2020/forms/combobox/combobox-container.mjs +109 -0
  263. package/esm2020/forms/combobox/combobox.mjs +363 -0
  264. package/esm2020/forms/combobox/combobox.module.mjs +81 -0
  265. package/{esm2015/forms/combobox/index.js → esm2020/forms/combobox/index.mjs} +0 -0
  266. package/{esm2015/forms/combobox/model/combobox.model.js → esm2020/forms/combobox/model/combobox.model.mjs} +0 -0
  267. package/{esm2015/forms/combobox/model/multi-select-combobox.model.js → esm2020/forms/combobox/model/multi-select-combobox.model.mjs} +0 -0
  268. package/{esm2015/forms/combobox/model/pseudo-focus.model.js → esm2020/forms/combobox/model/pseudo-focus.model.mjs} +0 -0
  269. package/{esm2015/forms/combobox/model/single-select-combobox.model.js → esm2020/forms/combobox/model/single-select-combobox.model.mjs} +0 -0
  270. package/esm2020/forms/combobox/option-items.directive.mjs +97 -0
  271. package/esm2020/forms/combobox/option-selected.directive.mjs +22 -0
  272. package/esm2020/forms/combobox/option.mjs +102 -0
  273. package/esm2020/forms/combobox/options.mjs +152 -0
  274. package/esm2020/forms/combobox/providers/combobox-container.service.mjs +18 -0
  275. package/esm2020/forms/combobox/providers/combobox-focus-handler.service.mjs +215 -0
  276. package/esm2020/forms/combobox/providers/option-selection.service.mjs +81 -0
  277. package/esm2020/forms/common/abstract-container.mjs +119 -0
  278. package/esm2020/forms/common/abstract-control.mjs +50 -0
  279. package/esm2020/forms/common/common.module.mjs +78 -0
  280. package/esm2020/forms/common/control-container.mjs +83 -0
  281. package/esm2020/forms/common/control.mjs +27 -0
  282. package/esm2020/forms/common/error.mjs +36 -0
  283. package/esm2020/forms/common/form.mjs +53 -0
  284. package/esm2020/forms/common/helper.mjs +36 -0
  285. package/esm2020/forms/common/if-control-state/abstract-if-state.mjs +44 -0
  286. package/esm2020/forms/common/if-control-state/if-control-state.service.mjs +56 -0
  287. package/esm2020/forms/common/if-control-state/if-error.mjs +68 -0
  288. package/esm2020/forms/common/if-control-state/if-success.mjs +45 -0
  289. package/{esm2015/forms/common/index.js → esm2020/forms/common/index.mjs} +0 -0
  290. package/esm2020/forms/common/label.mjs +67 -0
  291. package/esm2020/forms/common/layout.mjs +31 -0
  292. package/esm2020/forms/common/providers/container-id.service.mjs +33 -0
  293. package/esm2020/forms/common/providers/control-class.service.mjs +52 -0
  294. package/esm2020/forms/common/providers/control-id.service.mjs +31 -0
  295. package/esm2020/forms/common/providers/focus.service.mjs +25 -0
  296. package/esm2020/forms/common/providers/layout.service.mjs +57 -0
  297. package/esm2020/forms/common/providers/mark-control.service.mjs +25 -0
  298. package/esm2020/forms/common/providers/ng-control.service.mjs +33 -0
  299. package/esm2020/forms/common/success.mjs +36 -0
  300. package/esm2020/forms/common/wrapped-control.mjs +156 -0
  301. package/esm2020/forms/datalist/datalist-container.mjs +122 -0
  302. package/esm2020/forms/datalist/datalist-input.mjs +62 -0
  303. package/esm2020/forms/datalist/datalist.mjs +48 -0
  304. package/esm2020/forms/datalist/datalist.module.mjs +31 -0
  305. package/{esm2015/forms/datalist/index.js → esm2020/forms/datalist/index.mjs} +0 -0
  306. package/esm2020/forms/datalist/providers/datalist-id.service.mjs +31 -0
  307. package/esm2020/forms/datepicker/calendar.mjs +118 -0
  308. package/esm2020/forms/datepicker/date-container.mjs +249 -0
  309. package/esm2020/forms/datepicker/date-input.mjs +290 -0
  310. package/esm2020/forms/datepicker/datepicker-view-manager.mjs +46 -0
  311. package/esm2020/forms/datepicker/datepicker.module.mjs +87 -0
  312. package/esm2020/forms/datepicker/day.mjs +86 -0
  313. package/esm2020/forms/datepicker/daypicker.mjs +80 -0
  314. package/{esm2015/forms/datepicker/index.js → esm2020/forms/datepicker/index.mjs} +0 -0
  315. package/{esm2015/forms/datepicker/interfaces/date-range.interface.js → esm2020/forms/datepicker/interfaces/date-range.interface.mjs} +0 -0
  316. package/{esm2015/forms/datepicker/interfaces/day-of-week.interface.js → esm2020/forms/datepicker/interfaces/day-of-week.interface.mjs} +0 -0
  317. package/{esm2015/forms/datepicker/model/calendar-view.model.js → esm2020/forms/datepicker/model/calendar-view.model.mjs} +0 -0
  318. package/{esm2015/forms/datepicker/model/calendar.model.js → esm2020/forms/datepicker/model/calendar.model.mjs} +0 -0
  319. package/{esm2015/forms/datepicker/model/day-view.model.js → esm2020/forms/datepicker/model/day-view.model.mjs} +0 -0
  320. package/{esm2015/forms/datepicker/model/day.model.js → esm2020/forms/datepicker/model/day.model.mjs} +0 -0
  321. package/{esm2015/forms/datepicker/model/year-range.model.js → esm2020/forms/datepicker/model/year-range.model.mjs} +0 -0
  322. package/esm2020/forms/datepicker/monthpicker.mjs +125 -0
  323. package/esm2020/forms/datepicker/providers/date-form-control.service.mjs +36 -0
  324. package/esm2020/forms/datepicker/providers/date-io.service.mjs +176 -0
  325. package/esm2020/forms/datepicker/providers/date-navigation.service.mjs +130 -0
  326. package/esm2020/forms/datepicker/providers/datepicker-enabled.service.mjs +46 -0
  327. package/esm2020/forms/datepicker/providers/datepicker-focus.service.mjs +47 -0
  328. package/esm2020/forms/datepicker/providers/locale-helper.service.mjs +101 -0
  329. package/esm2020/forms/datepicker/providers/view-manager.service.mjs +41 -0
  330. package/{esm2015/forms/datepicker/utils/constants.js → esm2020/forms/datepicker/utils/constants.mjs} +0 -0
  331. package/{esm2015/forms/datepicker/utils/date-utils.js → esm2020/forms/datepicker/utils/date-utils.mjs} +0 -0
  332. package/esm2020/forms/datepicker/yearpicker.mjs +231 -0
  333. package/esm2020/forms/forms.module.mjs +64 -0
  334. package/{esm2015/forms/index.js → esm2020/forms/index.mjs} +0 -0
  335. package/{esm2015/forms/input/index.js → esm2020/forms/input/index.mjs} +0 -0
  336. package/{esm2015/forms/input/input-container.js → esm2020/forms/input/input-container.mjs} +44 -13
  337. package/esm2020/forms/input/input.mjs +27 -0
  338. package/esm2020/forms/input/input.module.mjs +33 -0
  339. package/{esm2015/forms/password/index.js → esm2020/forms/password/index.mjs} +0 -0
  340. package/esm2020/forms/password/password-container.mjs +175 -0
  341. package/esm2020/forms/password/password.mjs +61 -0
  342. package/esm2020/forms/password/password.module.mjs +32 -0
  343. package/{esm2015/forms/radio/index.js → esm2020/forms/radio/index.mjs} +0 -0
  344. package/esm2020/forms/radio/radio-container.mjs +127 -0
  345. package/esm2020/forms/radio/radio-wrapper.mjs +49 -0
  346. package/esm2020/forms/radio/radio.mjs +26 -0
  347. package/esm2020/forms/radio/radio.module.mjs +33 -0
  348. package/{esm2015/forms/range/index.js → esm2020/forms/range/index.mjs} +0 -0
  349. package/esm2020/forms/range/range-container.mjs +124 -0
  350. package/esm2020/forms/range/range.mjs +26 -0
  351. package/esm2020/forms/range/range.module.mjs +32 -0
  352. package/{esm2015/forms/select/index.js → esm2020/forms/select/index.mjs} +0 -0
  353. package/esm2020/forms/select/select-container.mjs +113 -0
  354. package/esm2020/forms/select/select.mjs +27 -0
  355. package/esm2020/forms/select/select.module.mjs +32 -0
  356. package/{esm2015/forms/textarea/index.js → esm2020/forms/textarea/index.mjs} +0 -0
  357. package/esm2020/forms/textarea/textarea-container.mjs +83 -0
  358. package/esm2020/forms/textarea/textarea.mjs +27 -0
  359. package/esm2020/forms/textarea/textarea.module.mjs +32 -0
  360. package/esm2020/icon/icon.mjs +24 -0
  361. package/esm2020/icon/icon.module.mjs +20 -0
  362. package/{esm2015/icon/index.js → esm2020/icon/index.mjs} +0 -0
  363. package/{esm2015/index.js → esm2020/index.mjs} +0 -0
  364. package/{esm2015/layout/index.js → esm2020/layout/index.mjs} +0 -0
  365. package/esm2020/layout/layout.module.mjs +21 -0
  366. package/{esm2015/layout/main-container/index.js → esm2020/layout/main-container/index.mjs} +0 -0
  367. package/esm2020/layout/main-container/main-container.mjs +58 -0
  368. package/esm2020/layout/main-container/main-container.module.mjs +25 -0
  369. package/{esm2015/layout/nav/chocolate/index.js → esm2020/layout/nav/chocolate/index.mjs} +0 -0
  370. package/esm2020/layout/nav/chocolate/main-container-willy-wonka.mjs +17 -0
  371. package/esm2020/layout/nav/chocolate/nav-detection-oompa-loompa.mjs +33 -0
  372. package/esm2020/layout/nav/header.mjs +120 -0
  373. package/{esm2015/layout/nav/index.js → esm2020/layout/nav/index.mjs} +0 -0
  374. package/esm2020/layout/nav/nav-level.mjs +81 -0
  375. package/esm2020/layout/nav/navigation.module.mjs +40 -0
  376. package/{esm2015/layout/nav/providers/responsive-navigation.service.js → esm2020/layout/nav/providers/responsive-navigation.service.mjs} +7 -6
  377. package/{esm2015/layout/nav/responsive-nav-codes.js → esm2020/layout/nav/responsive-nav-codes.mjs} +0 -0
  378. package/{esm2015/layout/nav/responsive-nav-control-message.js → esm2020/layout/nav/responsive-nav-control-message.mjs} +0 -0
  379. package/esm2020/layout/tabs/chocolate/active-oompa-loompa.mjs +36 -0
  380. package/esm2020/layout/tabs/chocolate/tabs-willy-wonka.mjs +17 -0
  381. package/{esm2015/layout/tabs/enums/tabs-layout.enum.js → esm2020/layout/tabs/enums/tabs-layout.enum.mjs} +0 -0
  382. package/{esm2015/layout/tabs/index.js → esm2020/layout/tabs/index.mjs} +0 -0
  383. package/esm2020/layout/tabs/providers/tabs.service.mjs +45 -0
  384. package/esm2020/layout/tabs/tab-content.mjs +96 -0
  385. package/esm2020/layout/tabs/tab-link.directive.mjs +115 -0
  386. package/esm2020/layout/tabs/tab-overflow-content.mjs +22 -0
  387. package/esm2020/layout/tabs/tab.mjs +47 -0
  388. package/{esm2015/layout/tabs/tabs-id.provider.js → esm2020/layout/tabs/tabs-id.provider.mjs} +0 -0
  389. package/esm2020/layout/tabs/tabs.mjs +312 -0
  390. package/esm2020/layout/tabs/tabs.module.mjs +58 -0
  391. package/{esm2015/layout/vertical-nav/index.js → esm2020/layout/vertical-nav/index.mjs} +0 -0
  392. package/esm2020/layout/vertical-nav/providers/vertical-nav-group-registration.service.mjs +24 -0
  393. package/esm2020/layout/vertical-nav/providers/vertical-nav-group.service.mjs +25 -0
  394. package/esm2020/layout/vertical-nav/providers/vertical-nav-icon.service.mjs +27 -0
  395. package/esm2020/layout/vertical-nav/providers/vertical-nav.service.mjs +54 -0
  396. package/esm2020/layout/vertical-nav/vertical-nav-group-children.mjs +19 -0
  397. package/esm2020/layout/vertical-nav/vertical-nav-group.mjs +162 -0
  398. package/esm2020/layout/vertical-nav/vertical-nav-icon.mjs +24 -0
  399. package/esm2020/layout/vertical-nav/vertical-nav-link.mjs +44 -0
  400. package/esm2020/layout/vertical-nav/vertical-nav.mjs +79 -0
  401. package/esm2020/layout/vertical-nav/vertical-nav.module.mjs +49 -0
  402. package/{esm2015/modal/index.js → esm2020/modal/index.mjs} +0 -0
  403. package/esm2020/modal/modal-body.mjs +59 -0
  404. package/esm2020/modal/modal.mjs +145 -0
  405. package/esm2020/modal/modal.module.mjs +32 -0
  406. package/esm2020/popover/common/abstract-popover.mjs +143 -0
  407. package/{esm2015/popover/common/popover-host-anchor.token.js → esm2020/popover/common/popover-host-anchor.token.mjs} +0 -0
  408. package/{esm2015/popover/common/popover-options.interface.js → esm2020/popover/common/popover-options.interface.mjs} +0 -0
  409. package/{esm2015/popover/common/popover.js → esm2020/popover/common/popover.mjs} +0 -0
  410. package/esm2020/popover/dropdown/dropdown-item.mjs +88 -0
  411. package/esm2020/popover/dropdown/dropdown-menu.mjs +114 -0
  412. package/esm2020/popover/dropdown/dropdown-trigger.mjs +48 -0
  413. package/esm2020/popover/dropdown/dropdown.mjs +62 -0
  414. package/esm2020/popover/dropdown/dropdown.module.mjs +29 -0
  415. package/{esm2015/popover/dropdown/index.js → esm2020/popover/dropdown/index.mjs} +0 -0
  416. package/{esm2015/popover/dropdown/menu-positions.js → esm2020/popover/dropdown/menu-positions.mjs} +0 -0
  417. package/esm2020/popover/dropdown/providers/dropdown-focus-handler.service.mjs +186 -0
  418. package/esm2020/popover/dropdown/providers/dropdown.service.mjs +33 -0
  419. package/{esm2015/popover/index.js → esm2020/popover/index.mjs} +0 -0
  420. package/esm2020/popover/popover.module.mjs +20 -0
  421. package/{esm2015/popover/signpost/index.js → esm2020/popover/signpost/index.mjs} +0 -0
  422. package/esm2020/popover/signpost/providers/signpost-focus-manager.service.mjs +23 -0
  423. package/esm2020/popover/signpost/providers/signpost-id.service.mjs +26 -0
  424. package/esm2020/popover/signpost/signpost-content.mjs +177 -0
  425. package/{esm2015/popover/signpost/signpost-positions.js → esm2020/popover/signpost/signpost-positions.mjs} +0 -0
  426. package/esm2020/popover/signpost/signpost-trigger.mjs +96 -0
  427. package/esm2020/popover/signpost/signpost.mjs +89 -0
  428. package/esm2020/popover/signpost/signpost.module.mjs +33 -0
  429. package/{esm2015/popover/tooltip/index.js → esm2020/popover/tooltip/index.mjs} +0 -0
  430. package/esm2020/popover/tooltip/providers/tooltip-id.service.mjs +25 -0
  431. package/esm2020/popover/tooltip/tooltip-content.mjs +132 -0
  432. package/esm2020/popover/tooltip/tooltip-trigger.mjs +54 -0
  433. package/esm2020/popover/tooltip/tooltip.mjs +41 -0
  434. package/esm2020/popover/tooltip/tooltip.module.mjs +28 -0
  435. package/{esm2015/progress/progress-bars/index.js → esm2020/progress/progress-bars/index.mjs} +0 -0
  436. package/{esm2015/progress/progress-bars/progress-bar.js → esm2020/progress/progress-bars/progress-bar.mjs} +75 -30
  437. package/esm2020/progress/progress-bars/progress-bar.module.mjs +24 -0
  438. package/{esm2015/progress/spinner/index.js → esm2020/progress/spinner/index.mjs} +0 -0
  439. package/esm2020/progress/spinner/spinner.mjs +83 -0
  440. package/esm2020/progress/spinner/spinner.module.mjs +24 -0
  441. package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
  442. package/{esm2015/timeline/enums/timeline-layout.enum.js → esm2020/timeline/enums/timeline-layout.enum.mjs} +0 -0
  443. package/{esm2015/timeline/enums/timeline-step-state.enum.js → esm2020/timeline/enums/timeline-step-state.enum.mjs} +0 -0
  444. package/{esm2015/timeline/index.js → esm2020/timeline/index.mjs} +0 -0
  445. package/{esm2015/timeline/interface/icon-attribute.interface.js → esm2020/timeline/interface/icon-attribute.interface.mjs} +0 -0
  446. package/esm2020/timeline/providers/timeline-icon-attribute.service.mjs +54 -0
  447. package/esm2020/timeline/timeline-step-description.mjs +20 -0
  448. package/esm2020/timeline/timeline-step-header.mjs +20 -0
  449. package/esm2020/timeline/timeline-step-title.mjs +30 -0
  450. package/esm2020/timeline/timeline-step.mjs +101 -0
  451. package/esm2020/timeline/timeline.mjs +35 -0
  452. package/esm2020/timeline/timeline.module.mjs +48 -0
  453. package/esm2020/utils/a11y/aria-live.service.mjs +163 -0
  454. package/{esm2015/utils/a11y/index.js → esm2020/utils/a11y/index.mjs} +0 -0
  455. package/{esm2015/utils/animations/collapse/collapse.js → esm2020/utils/animations/collapse/collapse.mjs} +0 -0
  456. package/{esm2015/utils/animations/collapse/index.js → esm2020/utils/animations/collapse/index.mjs} +0 -0
  457. package/{esm2015/utils/animations/constants.js → esm2020/utils/animations/constants.mjs} +0 -0
  458. package/esm2020/utils/animations/expandable-animation/expandable-animation.mjs +70 -0
  459. package/esm2020/utils/animations/expandable-animation/expandable-animation.module.mjs +24 -0
  460. package/{esm2015/utils/animations/expandable-animation/index.js → esm2020/utils/animations/expandable-animation/index.mjs} +0 -0
  461. package/{esm2015/utils/animations/fade/fade.js → esm2020/utils/animations/fade/fade.mjs} +0 -0
  462. package/{esm2015/utils/animations/fade/index.js → esm2020/utils/animations/fade/index.mjs} +0 -0
  463. package/{esm2015/utils/animations/fade-slide/fade-slide.js → esm2020/utils/animations/fade-slide/fade-slide.mjs} +0 -0
  464. package/{esm2015/utils/animations/fade-slide/index.js → esm2020/utils/animations/fade-slide/index.mjs} +0 -0
  465. package/{esm2015/utils/animations/index.js → esm2020/utils/animations/index.mjs} +0 -0
  466. package/{esm2015/utils/animations/slide/index.js → esm2020/utils/animations/slide/index.mjs} +0 -0
  467. package/{esm2015/utils/animations/slide/slide.js → esm2020/utils/animations/slide/slide.mjs} +0 -0
  468. package/esm2020/utils/aria/aria.service.mjs +16 -0
  469. package/{esm2015/utils/breakpoints/breakpoints.js → esm2020/utils/breakpoints/breakpoints.mjs} +0 -0
  470. package/esm2020/utils/chocolate/oompa-loompa.mjs +32 -0
  471. package/esm2020/utils/chocolate/willy-wonka.mjs +36 -0
  472. package/{esm2015/utils/component/is-boolean-attribute-set.js → esm2020/utils/component/is-boolean-attribute-set.mjs} +0 -0
  473. package/esm2020/utils/conditional/conditional.module.mjs +22 -0
  474. package/esm2020/utils/conditional/if-active.directive.mjs +104 -0
  475. package/esm2020/utils/conditional/if-active.service.mjs +77 -0
  476. package/esm2020/utils/conditional/if-expanded.directive.mjs +92 -0
  477. package/esm2020/utils/conditional/if-expanded.service.mjs +58 -0
  478. package/esm2020/utils/conditional/if-open.directive.mjs +87 -0
  479. package/{esm2015/utils/conditional/index.js → esm2020/utils/conditional/index.mjs} +0 -0
  480. package/esm2020/utils/dom-adapter/dom-adapter.mjs +52 -0
  481. package/esm2020/utils/drag-and-drop/drag-and-drop.module.mjs +43 -0
  482. package/{esm2015/utils/drag-and-drop/drag-event.js → esm2020/utils/drag-and-drop/drag-event.mjs} +0 -0
  483. package/esm2020/utils/drag-and-drop/drag-handle.mjs +32 -0
  484. package/esm2020/utils/drag-and-drop/draggable/draggable.mjs +135 -0
  485. package/esm2020/utils/drag-and-drop/draggable-ghost.mjs +124 -0
  486. package/esm2020/utils/drag-and-drop/droppable/droppable.mjs +222 -0
  487. package/esm2020/utils/drag-and-drop/if-dragged.mjs +45 -0
  488. package/{esm2015/utils/drag-and-drop/index.js → esm2020/utils/drag-and-drop/index.mjs} +0 -0
  489. package/{esm2015/utils/drag-and-drop/interfaces/drag-event.interface.js → esm2020/utils/drag-and-drop/interfaces/drag-event.interface.mjs} +0 -0
  490. package/{esm2015/utils/drag-and-drop/interfaces/drop-tolerance.interface.js → esm2020/utils/drag-and-drop/interfaces/drop-tolerance.interface.mjs} +0 -0
  491. package/{esm2015/utils/drag-and-drop/providers/drag-and-drop-event-bus.service.js → esm2020/utils/drag-and-drop/providers/drag-and-drop-event-bus.service.mjs} +7 -5
  492. package/esm2020/utils/drag-and-drop/providers/drag-event-listener.service.mjs +179 -0
  493. package/esm2020/utils/drag-and-drop/providers/drag-handle-registrar.service.mjs +60 -0
  494. package/esm2020/utils/drag-and-drop/providers/draggable-snapshot.service.mjs +38 -0
  495. package/esm2020/utils/drag-and-drop/providers/global-drag-mode.service.mjs +26 -0
  496. package/{esm2015/utils/enums/key-codes.enum.js → esm2020/utils/enums/key-codes.enum.mjs} +0 -0
  497. package/{esm2015/utils/focus/arrow-key-direction.enum.js → esm2020/utils/focus/arrow-key-direction.enum.mjs} +0 -0
  498. package/esm2020/utils/focus/focus-on-view-init/focus-on-view-init.mjs +84 -0
  499. package/esm2020/utils/focus/focus-on-view-init/focus-on-view-init.module.mjs +26 -0
  500. package/{esm2015/utils/focus/focus-on-view-init/focus-on-view-init.provider.js → esm2020/utils/focus/focus-on-view-init/focus-on-view-init.provider.mjs} +0 -0
  501. package/{esm2015/utils/focus/focus-on-view-init/index.js → esm2020/utils/focus/focus-on-view-init/index.mjs} +0 -0
  502. package/esm2020/utils/focus/focus.service.mjs +94 -0
  503. package/esm2020/utils/focus/focusable-item/basic-focusable-item.service.mjs +58 -0
  504. package/{esm2015/utils/focus/focusable-item/custom-focusable-item-provider.js → esm2020/utils/focus/focusable-item/custom-focusable-item-provider.mjs} +0 -0
  505. package/{esm2015/utils/focus/focusable-item/focusable-item.js → esm2020/utils/focus/focusable-item/focusable-item.mjs} +0 -0
  506. package/{esm2015/utils/focus/focusable-item/linkers.js → esm2020/utils/focus/focusable-item/linkers.mjs} +0 -0
  507. package/{esm2015/utils/focus/key-focus/enums/focus-direction.enum.js → esm2020/utils/focus/key-focus/enums/focus-direction.enum.mjs} +0 -0
  508. package/{esm2015/utils/focus/key-focus/interfaces.js → esm2020/utils/focus/key-focus/interfaces.mjs} +0 -0
  509. package/esm2020/utils/focus/key-focus/key-focus-item.mjs +34 -0
  510. package/esm2020/utils/focus/key-focus/key-focus.mjs +194 -0
  511. package/esm2020/utils/focus/key-focus/key-focus.module.mjs +26 -0
  512. package/esm2020/utils/focus/key-focus/roving-tabindex.mjs +102 -0
  513. package/{esm2015/utils/focus/key-focus/util.js → esm2020/utils/focus/key-focus/util.mjs} +0 -0
  514. package/{esm2015/utils/focus/wrap-observable.js → esm2020/utils/focus/wrap-observable.mjs} +0 -0
  515. package/{esm2015/utils/focus-trap/focus-trap-config.interface.js → esm2020/utils/focus-trap/focus-trap-config.interface.mjs} +0 -0
  516. package/esm2020/utils/focus-trap/focus-trap-tracker.service.mjs +32 -0
  517. package/esm2020/utils/focus-trap/focus-trap.directive.mjs +156 -0
  518. package/esm2020/utils/focus-trap/focus-trap.module.mjs +24 -0
  519. package/{esm2015/utils/focus-trap/index.js → esm2020/utils/focus-trap/index.mjs} +0 -0
  520. package/{esm2015/utils/forms/validation.js → esm2020/utils/forms/validation.mjs} +0 -0
  521. package/{esm2015/utils/host-wrapping/dynamic-wrapper.js → esm2020/utils/host-wrapping/dynamic-wrapper.mjs} +0 -0
  522. package/esm2020/utils/host-wrapping/empty-anchor.mjs +18 -0
  523. package/{esm2015/utils/host-wrapping/host-wrapper.js → esm2020/utils/host-wrapping/host-wrapper.mjs} +0 -0
  524. package/esm2020/utils/host-wrapping/host-wrapping.module.mjs +21 -0
  525. package/{esm2015/utils/i18n/common-strings.default.js → esm2020/utils/i18n/common-strings.default.mjs} +2 -2
  526. package/{esm2015/utils/i18n/common-strings.interface.js → esm2020/utils/i18n/common-strings.interface.mjs} +0 -0
  527. package/esm2020/utils/i18n/common-strings.service.mjs +47 -0
  528. package/{esm2015/utils/i18n/index.js → esm2020/utils/i18n/index.mjs} +0 -0
  529. package/{esm2015/utils/id-generator/id-generator.service.js → esm2020/utils/id-generator/id-generator.service.mjs} +0 -0
  530. package/{esm2015/utils/index.js → esm2020/utils/index.mjs} +0 -0
  531. package/{esm2015/utils/key-codes/key-codes.js → esm2020/utils/key-codes/key-codes.mjs} +0 -0
  532. package/{esm2015/utils/loading/index.js → esm2020/utils/loading/index.mjs} +0 -0
  533. package/{esm2015/utils/loading/loading-listener.js → esm2020/utils/loading/loading-listener.mjs} +0 -0
  534. package/esm2020/utils/loading/loading.mjs +55 -0
  535. package/esm2020/utils/loading/loading.module.mjs +20 -0
  536. package/{esm2015/utils/outside-click/index.js → esm2020/utils/outside-click/index.mjs} +0 -0
  537. package/esm2020/utils/outside-click/outside-click.mjs +46 -0
  538. package/esm2020/utils/outside-click/outside-click.module.mjs +20 -0
  539. package/{esm2015/utils/popover/enums/alignment.enum.js → esm2020/utils/popover/enums/alignment.enum.mjs} +0 -0
  540. package/{esm2015/utils/popover/enums/axis.enum.js → esm2020/utils/popover/enums/axis.enum.mjs} +0 -0
  541. package/{esm2015/utils/popover/enums/positions.enum.js → esm2020/utils/popover/enums/positions.enum.mjs} +0 -0
  542. package/{esm2015/utils/popover/enums/side.enum.js → esm2020/utils/popover/enums/side.enum.mjs} +0 -0
  543. package/{esm2015/utils/popover/enums/viewport-violation.enum.js → esm2020/utils/popover/enums/viewport-violation.enum.mjs} +0 -0
  544. package/{esm2015/utils/popover/index.js → esm2020/utils/popover/index.mjs} +0 -0
  545. package/{esm2015/utils/popover/interfaces/popover-content-offset.interface.js → esm2020/utils/popover/interfaces/popover-content-offset.interface.mjs} +0 -0
  546. package/{esm2015/utils/popover/interfaces/popover-position.interface.js → esm2020/utils/popover/interfaces/popover-position.interface.mjs} +0 -0
  547. package/{esm2015/utils/popover/interfaces/visibility-coords.interface.js → esm2020/utils/popover/interfaces/visibility-coords.interface.mjs} +0 -0
  548. package/esm2020/utils/popover/popover-anchor.mjs +26 -0
  549. package/esm2020/utils/popover/popover-close-button.mjs +52 -0
  550. package/esm2020/utils/popover/popover-content.mjs +150 -0
  551. package/esm2020/utils/popover/popover-open-close-button.mjs +43 -0
  552. package/esm2020/utils/popover/popover.module.mjs +26 -0
  553. package/esm2020/utils/popover/position-operators.mjs +180 -0
  554. package/esm2020/utils/popover/providers/popover-events.service.mjs +160 -0
  555. package/esm2020/utils/popover/providers/popover-position.service.mjs +215 -0
  556. package/esm2020/utils/popover/providers/popover-toggle.service.mjs +70 -0
  557. package/esm2020/utils/scrolling/scrolling-service.mjs +30 -0
  558. package/{esm2015/utils/template-ref/index.js → esm2020/utils/template-ref/index.mjs} +0 -0
  559. package/esm2020/utils/template-ref/template-ref-container.mjs +29 -0
  560. package/esm2020/utils/template-ref/template-ref.module.mjs +25 -0
  561. package/{esm2015/wizard/index.js → esm2020/wizard/index.mjs} +0 -0
  562. package/esm2020/wizard/providers/button-hub.service.mjs +63 -0
  563. package/esm2020/wizard/providers/header-actions.service.mjs +37 -0
  564. package/esm2020/wizard/providers/page-collection.service.mjs +361 -0
  565. package/esm2020/wizard/providers/wizard-navigation.service.mjs +574 -0
  566. package/esm2020/wizard/wizard-button.mjs +187 -0
  567. package/esm2020/wizard/wizard-custom-tags.mjs +16 -0
  568. package/esm2020/wizard/wizard-header-action.mjs +76 -0
  569. package/esm2020/wizard/wizard-page-buttons.mjs +19 -0
  570. package/esm2020/wizard/wizard-page-header-actions.mjs +19 -0
  571. package/esm2020/wizard/wizard-page-navtitle.mjs +19 -0
  572. package/esm2020/wizard/wizard-page-title.mjs +19 -0
  573. package/{esm2015/wizard/wizard-page.js → esm2020/wizard/wizard-page.mjs} +90 -47
  574. package/esm2020/wizard/wizard-stepnav-item.mjs +122 -0
  575. package/esm2020/wizard/wizard-stepnav.mjs +48 -0
  576. package/esm2020/wizard/wizard.mjs +475 -0
  577. package/esm2020/wizard/wizard.module.mjs +72 -0
  578. package/fesm2015/clr-angular.mjs +26633 -0
  579. package/fesm2015/clr-angular.mjs.map +1 -0
  580. package/{fesm2015/clr-angular.js → fesm2020/clr-angular.mjs} +9190 -6711
  581. package/fesm2020/clr-angular.mjs.map +1 -0
  582. package/forms/checkbox/checkbox-container.d.ts +3 -0
  583. package/forms/checkbox/checkbox-wrapper.d.ts +3 -0
  584. package/forms/checkbox/checkbox.d.ts +3 -0
  585. package/forms/checkbox/checkbox.module.d.ts +11 -5
  586. package/forms/combobox/combobox-container.d.ts +3 -0
  587. package/forms/combobox/combobox.d.ts +3 -5
  588. package/forms/combobox/combobox.module.d.ts +18 -5
  589. package/forms/combobox/option-items.directive.d.ts +3 -0
  590. package/forms/combobox/option-selected.directive.d.ts +3 -0
  591. package/forms/combobox/option.d.ts +3 -0
  592. package/forms/combobox/options.d.ts +3 -0
  593. package/forms/combobox/providers/combobox-container.service.d.ts +3 -0
  594. package/forms/combobox/providers/combobox-focus-handler.service.d.ts +4 -1
  595. package/forms/combobox/providers/option-selection.service.d.ts +3 -0
  596. package/forms/common/abstract-container.d.ts +3 -0
  597. package/forms/common/abstract-control.d.ts +3 -5
  598. package/forms/common/common.module.d.ts +16 -5
  599. package/forms/common/control-container.d.ts +3 -5
  600. package/forms/common/control.d.ts +3 -0
  601. package/forms/common/error.d.ts +3 -5
  602. package/forms/common/form.d.ts +3 -0
  603. package/forms/common/helper.d.ts +3 -5
  604. package/forms/common/if-control-state/abstract-if-state.d.ts +3 -0
  605. package/forms/common/if-control-state/if-control-state.service.d.ts +3 -0
  606. package/forms/common/if-control-state/if-error.d.ts +3 -0
  607. package/forms/common/if-control-state/if-success.d.ts +3 -0
  608. package/forms/common/label.d.ts +3 -0
  609. package/forms/common/layout.d.ts +3 -0
  610. package/forms/common/providers/container-id.service.d.ts +3 -0
  611. package/forms/common/providers/control-class.service.d.ts +3 -0
  612. package/forms/common/providers/control-id.service.d.ts +3 -0
  613. package/forms/common/providers/focus.service.d.ts +3 -0
  614. package/forms/common/providers/layout.service.d.ts +3 -0
  615. package/forms/common/providers/mark-control.service.d.ts +3 -0
  616. package/forms/common/providers/ng-control.service.d.ts +3 -0
  617. package/forms/common/success.d.ts +3 -5
  618. package/forms/common/wrapped-control.d.ts +3 -0
  619. package/forms/datalist/datalist-container.d.ts +3 -5
  620. package/forms/datalist/datalist-input.d.ts +3 -0
  621. package/forms/datalist/datalist.d.ts +3 -0
  622. package/forms/datalist/datalist.module.d.ts +10 -0
  623. package/forms/datalist/providers/datalist-id.service.d.ts +3 -0
  624. package/forms/datepicker/calendar.d.ts +3 -0
  625. package/forms/datepicker/date-container.d.ts +3 -0
  626. package/forms/datepicker/date-input.d.ts +3 -0
  627. package/forms/datepicker/datepicker-view-manager.d.ts +3 -0
  628. package/forms/datepicker/datepicker.module.d.ts +19 -0
  629. package/forms/datepicker/day.d.ts +3 -0
  630. package/forms/datepicker/daypicker.d.ts +3 -0
  631. package/forms/datepicker/monthpicker.d.ts +3 -0
  632. package/forms/datepicker/providers/date-form-control.service.d.ts +3 -0
  633. package/forms/datepicker/providers/date-io.service.d.ts +3 -0
  634. package/forms/datepicker/providers/date-navigation.service.d.ts +3 -0
  635. package/forms/datepicker/providers/datepicker-enabled.service.d.ts +3 -0
  636. package/forms/datepicker/providers/datepicker-focus.service.d.ts +3 -0
  637. package/forms/datepicker/providers/locale-helper.service.d.ts +3 -0
  638. package/forms/datepicker/providers/view-manager.service.d.ts +3 -0
  639. package/forms/datepicker/yearpicker.d.ts +3 -0
  640. package/forms/forms.module.d.ts +16 -0
  641. package/forms/input/input-container.d.ts +3 -5
  642. package/forms/input/input.d.ts +3 -0
  643. package/forms/input/input.module.d.ts +10 -5
  644. package/forms/password/password-container.d.ts +3 -0
  645. package/forms/password/password.d.ts +3 -0
  646. package/forms/password/password.module.d.ts +10 -5
  647. package/forms/radio/radio-container.d.ts +3 -0
  648. package/forms/radio/radio-wrapper.d.ts +3 -0
  649. package/forms/radio/radio.d.ts +3 -0
  650. package/forms/radio/radio.module.d.ts +11 -5
  651. package/forms/range/range-container.d.ts +3 -0
  652. package/forms/range/range.d.ts +3 -0
  653. package/forms/range/range.module.d.ts +10 -5
  654. package/forms/select/select-container.d.ts +3 -5
  655. package/forms/select/select.d.ts +3 -0
  656. package/forms/select/select.module.d.ts +10 -5
  657. package/forms/textarea/textarea-container.d.ts +3 -5
  658. package/forms/textarea/textarea.d.ts +3 -0
  659. package/forms/textarea/textarea.module.d.ts +10 -5
  660. package/icon/icon.d.ts +5 -0
  661. package/icon/icon.module.d.ts +6 -0
  662. package/layout/layout.module.d.ts +8 -0
  663. package/layout/main-container/main-container.d.ts +3 -0
  664. package/layout/main-container/main-container.module.d.ts +7 -0
  665. package/layout/nav/chocolate/main-container-willy-wonka.d.ts +3 -0
  666. package/layout/nav/chocolate/nav-detection-oompa-loompa.d.ts +3 -0
  667. package/layout/nav/header.d.ts +3 -0
  668. package/layout/nav/nav-level.d.ts +3 -0
  669. package/layout/nav/navigation.module.d.ts +11 -0
  670. package/layout/nav/providers/responsive-navigation.service.d.ts +3 -0
  671. package/layout/tabs/chocolate/active-oompa-loompa.d.ts +3 -0
  672. package/layout/tabs/chocolate/tabs-willy-wonka.d.ts +3 -0
  673. package/layout/tabs/providers/tabs.service.d.ts +3 -0
  674. package/layout/tabs/tab-content.d.ts +3 -0
  675. package/layout/tabs/tab-link.directive.d.ts +3 -0
  676. package/layout/tabs/tab-overflow-content.d.ts +3 -0
  677. package/layout/tabs/tab.d.ts +3 -0
  678. package/layout/tabs/tabs.d.ts +3 -0
  679. package/layout/tabs/tabs.module.d.ts +16 -0
  680. package/layout/vertical-nav/providers/vertical-nav-group-registration.service.d.ts +3 -0
  681. package/layout/vertical-nav/providers/vertical-nav-group.service.d.ts +3 -0
  682. package/layout/vertical-nav/providers/vertical-nav-icon.service.d.ts +3 -0
  683. package/layout/vertical-nav/providers/vertical-nav.service.d.ts +3 -0
  684. package/layout/vertical-nav/vertical-nav-group-children.d.ts +3 -0
  685. package/layout/vertical-nav/vertical-nav-group.d.ts +3 -0
  686. package/layout/vertical-nav/vertical-nav-icon.d.ts +3 -0
  687. package/layout/vertical-nav/vertical-nav-link.d.ts +3 -0
  688. package/layout/vertical-nav/vertical-nav.d.ts +3 -0
  689. package/layout/vertical-nav/vertical-nav.module.d.ts +13 -0
  690. package/modal/modal-body.d.ts +9 -1
  691. package/modal/modal.d.ts +3 -0
  692. package/modal/modal.module.d.ts +10 -0
  693. package/package.json +24 -12
  694. package/popover/common/abstract-popover.d.ts +5 -0
  695. package/popover/dropdown/dropdown-item.d.ts +3 -0
  696. package/popover/dropdown/dropdown-menu.d.ts +3 -0
  697. package/popover/dropdown/dropdown-trigger.d.ts +3 -0
  698. package/popover/dropdown/dropdown.d.ts +3 -0
  699. package/popover/dropdown/dropdown.module.d.ts +11 -0
  700. package/popover/dropdown/providers/dropdown-focus-handler.service.d.ts +3 -0
  701. package/popover/dropdown/providers/dropdown.service.d.ts +3 -0
  702. package/popover/popover.module.d.ts +7 -0
  703. package/popover/signpost/providers/signpost-focus-manager.service.d.ts +3 -0
  704. package/popover/signpost/providers/signpost-id.service.d.ts +3 -0
  705. package/popover/signpost/signpost-content.d.ts +3 -0
  706. package/popover/signpost/signpost-trigger.d.ts +3 -0
  707. package/popover/signpost/signpost.d.ts +3 -0
  708. package/popover/signpost/signpost.module.d.ts +11 -0
  709. package/popover/tooltip/providers/tooltip-id.service.d.ts +3 -0
  710. package/popover/tooltip/tooltip-content.d.ts +3 -0
  711. package/popover/tooltip/tooltip-trigger.d.ts +3 -0
  712. package/popover/tooltip/tooltip.d.ts +3 -0
  713. package/popover/tooltip/tooltip.module.d.ts +10 -0
  714. package/progress/progress-bars/progress-bar.d.ts +3 -0
  715. package/progress/progress-bars/progress-bar.module.d.ts +6 -0
  716. package/progress/spinner/spinner.d.ts +3 -0
  717. package/progress/spinner/spinner.module.d.ts +6 -0
  718. package/schematics/add/index.js +9 -9
  719. package/schematics/add/index.js.map +1 -1
  720. package/schematics/add/index.spec.js +13 -13
  721. package/schematics/add/index.spec.js.map +1 -1
  722. package/schematics/add/schema.json +1 -1
  723. package/schematics/migration-collection.json +5 -0
  724. package/schematics/update/update-13.0.0.js +37 -0
  725. package/schematics/update/update-13.0.0.js.map +1 -0
  726. package/schematics/update/update-13.0.0.spec.js +71 -0
  727. package/schematics/update/update-13.0.0.spec.js.map +1 -0
  728. package/schematics/update/update-3.0.0.js +1 -1
  729. package/schematics/update/update-3.0.0.js.map +1 -1
  730. package/schematics/update/update-5.0.0.js +1 -1
  731. package/schematics/update/update-5.0.0.js.map +1 -1
  732. package/schematics/update/update-5.0.0.spec.js +4 -4
  733. package/schematics/update/update-5.0.0.spec.js.map +1 -1
  734. package/schematics/utility/add-module-import-to-module.js +2 -2
  735. package/schematics/utility/add-module-import-to-module.js.map +1 -1
  736. package/schematics/utility/find-app-module.js +2 -2
  737. package/schematics/utility/find-app-module.js.map +1 -1
  738. package/schematics/utility/update-json-file.js +1 -1
  739. package/schematics/utility/update-json-file.js.map +1 -1
  740. package/src/utils/popover/README.md +139 -0
  741. package/timeline/providers/timeline-icon-attribute.service.d.ts +3 -0
  742. package/timeline/timeline-step-description.d.ts +3 -0
  743. package/timeline/timeline-step-header.d.ts +3 -0
  744. package/timeline/timeline-step-title.d.ts +3 -0
  745. package/timeline/timeline-step.d.ts +3 -0
  746. package/timeline/timeline.d.ts +3 -0
  747. package/timeline/timeline.module.d.ts +12 -0
  748. package/utils/a11y/aria-live.service.d.ts +3 -0
  749. package/utils/animations/expandable-animation/expandable-animation.d.ts +3 -0
  750. package/utils/animations/expandable-animation/expandable-animation.module.d.ts +6 -0
  751. package/utils/aria/aria.service.d.ts +3 -0
  752. package/utils/chocolate/oompa-loompa.d.ts +3 -0
  753. package/utils/chocolate/willy-wonka.d.ts +3 -0
  754. package/utils/conditional/conditional.module.d.ts +8 -0
  755. package/utils/conditional/if-active.directive.d.ts +3 -0
  756. package/utils/conditional/if-active.service.d.ts +3 -0
  757. package/utils/conditional/if-expanded.directive.d.ts +3 -0
  758. package/utils/conditional/if-expanded.service.d.ts +3 -0
  759. package/utils/conditional/if-open.directive.d.ts +3 -0
  760. package/utils/dom-adapter/dom-adapter.d.ts +4 -1
  761. package/utils/drag-and-drop/drag-and-drop.module.d.ts +10 -0
  762. package/utils/drag-and-drop/drag-handle.d.ts +3 -0
  763. package/utils/drag-and-drop/draggable/draggable.d.ts +3 -0
  764. package/utils/drag-and-drop/draggable-ghost.d.ts +3 -0
  765. package/utils/drag-and-drop/droppable/droppable.d.ts +3 -0
  766. package/utils/drag-and-drop/if-dragged.d.ts +3 -0
  767. package/utils/drag-and-drop/providers/drag-and-drop-event-bus.service.d.ts +3 -0
  768. package/utils/drag-and-drop/providers/drag-event-listener.service.d.ts +3 -0
  769. package/utils/drag-and-drop/providers/drag-handle-registrar.service.d.ts +3 -0
  770. package/utils/drag-and-drop/providers/draggable-snapshot.service.d.ts +3 -0
  771. package/utils/drag-and-drop/providers/global-drag-mode.service.d.ts +3 -0
  772. package/utils/focus/focus-on-view-init/focus-on-view-init.d.ts +3 -0
  773. package/utils/focus/focus-on-view-init/focus-on-view-init.module.d.ts +6 -0
  774. package/utils/focus/focus.service.d.ts +3 -0
  775. package/utils/focus/focusable-item/basic-focusable-item.service.d.ts +3 -0
  776. package/utils/focus/key-focus/key-focus-item.d.ts +3 -0
  777. package/utils/focus/key-focus/key-focus.d.ts +3 -0
  778. package/utils/focus/key-focus/key-focus.module.d.ts +8 -0
  779. package/utils/focus/key-focus/roving-tabindex.d.ts +3 -0
  780. package/utils/focus-trap/focus-trap-tracker.service.d.ts +3 -0
  781. package/utils/focus-trap/focus-trap.directive.d.ts +3 -0
  782. package/utils/focus-trap/focus-trap.module.d.ts +6 -0
  783. package/utils/host-wrapping/empty-anchor.d.ts +3 -5
  784. package/utils/host-wrapping/host-wrapping.module.d.ts +5 -5
  785. package/utils/i18n/common-strings.service.d.ts +3 -0
  786. package/utils/loading/loading.d.ts +3 -0
  787. package/utils/loading/loading.module.d.ts +6 -0
  788. package/utils/outside-click/outside-click.d.ts +3 -0
  789. package/utils/outside-click/outside-click.module.d.ts +6 -0
  790. package/utils/popover/popover-anchor.d.ts +3 -0
  791. package/utils/popover/popover-close-button.d.ts +3 -0
  792. package/utils/popover/popover-content.d.ts +3 -0
  793. package/utils/popover/popover-open-close-button.d.ts +3 -0
  794. package/utils/popover/popover.module.d.ts +8 -0
  795. package/utils/popover/providers/popover-events.service.d.ts +3 -0
  796. package/utils/popover/providers/popover-position.service.d.ts +3 -0
  797. package/utils/popover/providers/popover-toggle.service.d.ts +3 -0
  798. package/utils/scrolling/scrolling-service.d.ts +3 -0
  799. package/utils/template-ref/template-ref-container.d.ts +3 -0
  800. package/utils/template-ref/template-ref.module.d.ts +6 -0
  801. package/wizard/providers/button-hub.service.d.ts +3 -0
  802. package/wizard/providers/header-actions.service.d.ts +3 -0
  803. package/wizard/providers/page-collection.service.d.ts +3 -0
  804. package/wizard/providers/wizard-navigation.service.d.ts +3 -0
  805. package/wizard/wizard-button.d.ts +3 -0
  806. package/wizard/wizard-custom-tags.d.ts +3 -0
  807. package/wizard/wizard-header-action.d.ts +3 -0
  808. package/wizard/wizard-page-buttons.d.ts +3 -0
  809. package/wizard/wizard-page-header-actions.d.ts +3 -0
  810. package/wizard/wizard-page-navtitle.d.ts +3 -0
  811. package/wizard/wizard-page-title.d.ts +3 -0
  812. package/wizard/wizard-page.d.ts +3 -0
  813. package/wizard/wizard-stepnav-item.d.ts +3 -0
  814. package/wizard/wizard-stepnav.d.ts +3 -0
  815. package/wizard/wizard.d.ts +3 -0
  816. package/wizard/wizard.module.d.ts +18 -0
  817. package/bundles/clr-angular.umd.js +0 -26095
  818. package/bundles/clr-angular.umd.js.map +0 -1
  819. package/clr-angular.metadata.json +0 -1
  820. package/esm2015/accordion/accordion-content.js +0 -16
  821. package/esm2015/accordion/accordion-description.js +0 -17
  822. package/esm2015/accordion/accordion-panel.js +0 -105
  823. package/esm2015/accordion/accordion-title.js +0 -17
  824. package/esm2015/accordion/accordion.js +0 -57
  825. package/esm2015/accordion/accordion.module.js +0 -39
  826. package/esm2015/accordion/chocolate/accordion-oompa-loompa.js +0 -30
  827. package/esm2015/accordion/chocolate/accordion-willy-wonka.js +0 -13
  828. package/esm2015/accordion/models/accordion.model.js +0 -59
  829. package/esm2015/accordion/providers/accordion.service.js +0 -44
  830. package/esm2015/accordion/stepper/chocolate/stepper-oompa-loompa.js +0 -30
  831. package/esm2015/accordion/stepper/chocolate/stepper-willy-wonka.js +0 -13
  832. package/esm2015/accordion/stepper/providers/stepper.service.js +0 -52
  833. package/esm2015/accordion/stepper/step-button.js +0 -47
  834. package/esm2015/accordion/stepper/stepper-panel.js +0 -88
  835. package/esm2015/accordion/stepper/stepper.js +0 -87
  836. package/esm2015/accordion/stepper/stepper.module.js +0 -25
  837. package/esm2015/button/button-group/button-group.js +0 -129
  838. package/esm2015/button/button-group/button-group.module.js +0 -22
  839. package/esm2015/button/button-loading/loading-button.js +0 -109
  840. package/esm2015/button/button-loading/loading-button.module.js +0 -19
  841. package/esm2015/button/button.module.js +0 -21
  842. package/esm2015/button/providers/button-in-group.service.js +0 -22
  843. package/esm2015/clr-angular.js +0 -108
  844. package/esm2015/clr-angular.module.js +0 -55
  845. package/esm2015/data/data.module.js +0 -15
  846. package/esm2015/data/datagrid/built-in/filters/datagrid-numeric-filter.js +0 -169
  847. package/esm2015/data/datagrid/built-in/filters/datagrid-string-filter.js +0 -111
  848. package/esm2015/data/datagrid/chocolate/actionable-oompa-loompa.js +0 -30
  849. package/esm2015/data/datagrid/chocolate/datagrid-willy-wonka.js +0 -13
  850. package/esm2015/data/datagrid/chocolate/expandable-oompa-loompa.js +0 -30
  851. package/esm2015/data/datagrid/datagrid-action-bar.js +0 -16
  852. package/esm2015/data/datagrid/datagrid-action-overflow.js +0 -123
  853. package/esm2015/data/datagrid/datagrid-cell.js +0 -38
  854. package/esm2015/data/datagrid/datagrid-column-separator.js +0 -151
  855. package/esm2015/data/datagrid/datagrid-column-toggle-button.js +0 -53
  856. package/esm2015/data/datagrid/datagrid-column-toggle-title.js +0 -16
  857. package/esm2015/data/datagrid/datagrid-column-toggle.js +0 -149
  858. package/esm2015/data/datagrid/datagrid-column.js +0 -374
  859. package/esm2015/data/datagrid/datagrid-detail-body.js +0 -22
  860. package/esm2015/data/datagrid/datagrid-detail-header.js +0 -45
  861. package/esm2015/data/datagrid/datagrid-detail-registerer.js +0 -31
  862. package/esm2015/data/datagrid/datagrid-detail.js +0 -52
  863. package/esm2015/data/datagrid/datagrid-filter.js +0 -131
  864. package/esm2015/data/datagrid/datagrid-footer.js +0 -58
  865. package/esm2015/data/datagrid/datagrid-hideable-column.js +0 -97
  866. package/esm2015/data/datagrid/datagrid-if-detail.js +0 -62
  867. package/esm2015/data/datagrid/datagrid-if-expanded.service.js +0 -52
  868. package/esm2015/data/datagrid/datagrid-items-trackby.js +0 -29
  869. package/esm2015/data/datagrid/datagrid-items.js +0 -63
  870. package/esm2015/data/datagrid/datagrid-page-size.js +0 -37
  871. package/esm2015/data/datagrid/datagrid-pagination.js +0 -258
  872. package/esm2015/data/datagrid/datagrid-placeholder.js +0 -34
  873. package/esm2015/data/datagrid/datagrid-row-detail.js +0 -81
  874. package/esm2015/data/datagrid/datagrid-row.js +0 -218
  875. package/esm2015/data/datagrid/datagrid.js +0 -295
  876. package/esm2015/data/datagrid/datagrid.module.js +0 -127
  877. package/esm2015/data/datagrid/enums/column-changes.enum.js +0 -16
  878. package/esm2015/data/datagrid/providers/column-resizer.service.js +0 -59
  879. package/esm2015/data/datagrid/providers/columns.service.js +0 -50
  880. package/esm2015/data/datagrid/providers/detail.service.js +0 -58
  881. package/esm2015/data/datagrid/providers/display-mode.service.js +0 -35
  882. package/esm2015/data/datagrid/providers/filters.js +0 -112
  883. package/esm2015/data/datagrid/providers/global-expandable-rows.js +0 -33
  884. package/esm2015/data/datagrid/providers/items.js +0 -175
  885. package/esm2015/data/datagrid/providers/page.js +0 -155
  886. package/esm2015/data/datagrid/providers/row-action-service.js +0 -27
  887. package/esm2015/data/datagrid/providers/selection.js +0 -376
  888. package/esm2015/data/datagrid/providers/sort.js +0 -85
  889. package/esm2015/data/datagrid/providers/state-debouncer.provider.js +0 -39
  890. package/esm2015/data/datagrid/providers/state.provider.js +0 -77
  891. package/esm2015/data/datagrid/providers/table-size.service.js +0 -41
  892. package/esm2015/data/datagrid/render/cell-renderer.js +0 -82
  893. package/esm2015/data/datagrid/render/header-renderer.js +0 -133
  894. package/esm2015/data/datagrid/render/main-renderer.js +0 -199
  895. package/esm2015/data/datagrid/render/noop-dom-adapter.js +0 -51
  896. package/esm2015/data/datagrid/render/render-organizer.js +0 -35
  897. package/esm2015/data/datagrid/render/row-renderer.js +0 -57
  898. package/esm2015/data/datagrid/utils/datagrid-filter-registrar.js +0 -41
  899. package/esm2015/data/datagrid/wrapped-cell.js +0 -31
  900. package/esm2015/data/datagrid/wrapped-column.js +0 -32
  901. package/esm2015/data/datagrid/wrapped-row.js +0 -32
  902. package/esm2015/data/stack-view/stack-block.js +0 -146
  903. package/esm2015/data/stack-view/stack-content-input.js +0 -25
  904. package/esm2015/data/stack-view/stack-header.js +0 -45
  905. package/esm2015/data/stack-view/stack-select.js +0 -38
  906. package/esm2015/data/stack-view/stack-view-custom-tags.js +0 -12
  907. package/esm2015/data/stack-view/stack-view.js +0 -50
  908. package/esm2015/data/stack-view/stack-view.module.js +0 -47
  909. package/esm2015/data/tree-view/recursive-children.js +0 -70
  910. package/esm2015/data/tree-view/recursive-for-of.js +0 -53
  911. package/esm2015/data/tree-view/tree-features.service.js +0 -34
  912. package/esm2015/data/tree-view/tree-focus-manager.service.js +0 -118
  913. package/esm2015/data/tree-view/tree-node-link.js +0 -25
  914. package/esm2015/data/tree-view/tree-node.js +0 -252
  915. package/esm2015/data/tree-view/tree-view.module.js +0 -30
  916. package/esm2015/data/tree-view/tree.js +0 -78
  917. package/esm2015/emphasis/alert/alert-item.js +0 -32
  918. package/esm2015/emphasis/alert/alert-text.js +0 -18
  919. package/esm2015/emphasis/alert/alert.js +0 -96
  920. package/esm2015/emphasis/alert/alert.module.js +0 -30
  921. package/esm2015/emphasis/alert/alerts-pager.js +0 -69
  922. package/esm2015/emphasis/alert/alerts.js +0 -94
  923. package/esm2015/emphasis/alert/providers/icon-and-types.service.js +0 -74
  924. package/esm2015/emphasis/alert/providers/multi-alert.service.js +0 -76
  925. package/esm2015/emphasis/emphasis.module.js +0 -13
  926. package/esm2015/forms/checkbox/checkbox-container.js +0 -95
  927. package/esm2015/forms/checkbox/checkbox-wrapper.js +0 -57
  928. package/esm2015/forms/checkbox/checkbox.js +0 -40
  929. package/esm2015/forms/checkbox/checkbox.module.js +0 -29
  930. package/esm2015/forms/combobox/combobox-container.js +0 -79
  931. package/esm2015/forms/combobox/combobox.js +0 -329
  932. package/esm2015/forms/combobox/combobox.module.js +0 -53
  933. package/esm2015/forms/combobox/option-items.directive.js +0 -96
  934. package/esm2015/forms/combobox/option-selected.directive.js +0 -21
  935. package/esm2015/forms/combobox/option.js +0 -91
  936. package/esm2015/forms/combobox/options.js +0 -125
  937. package/esm2015/forms/combobox/providers/combobox-container.service.js +0 -15
  938. package/esm2015/forms/combobox/providers/combobox-focus-handler.service.js +0 -213
  939. package/esm2015/forms/combobox/providers/option-selection.service.js +0 -78
  940. package/esm2015/forms/common/abstract-container.js +0 -113
  941. package/esm2015/forms/common/abstract-control.js +0 -47
  942. package/esm2015/forms/common/common.module.js +0 -56
  943. package/esm2015/forms/common/control-container.js +0 -51
  944. package/esm2015/forms/common/control.js +0 -26
  945. package/esm2015/forms/common/error.js +0 -32
  946. package/esm2015/forms/common/form.js +0 -47
  947. package/esm2015/forms/common/helper.js +0 -32
  948. package/esm2015/forms/common/if-control-state/abstract-if-state.js +0 -41
  949. package/esm2015/forms/common/if-control-state/if-control-state.service.js +0 -56
  950. package/esm2015/forms/common/if-control-state/if-error.js +0 -65
  951. package/esm2015/forms/common/if-control-state/if-success.js +0 -42
  952. package/esm2015/forms/common/label.js +0 -61
  953. package/esm2015/forms/common/layout.js +0 -30
  954. package/esm2015/forms/common/providers/container-id.service.js +0 -30
  955. package/esm2015/forms/common/providers/control-class.service.js +0 -50
  956. package/esm2015/forms/common/providers/control-id.service.js +0 -28
  957. package/esm2015/forms/common/providers/focus.service.js +0 -22
  958. package/esm2015/forms/common/providers/layout.service.js +0 -54
  959. package/esm2015/forms/common/providers/mark-control.service.js +0 -22
  960. package/esm2015/forms/common/providers/ng-control.service.js +0 -30
  961. package/esm2015/forms/common/success.js +0 -32
  962. package/esm2015/forms/common/wrapped-control.js +0 -158
  963. package/esm2015/forms/datalist/datalist-container.js +0 -79
  964. package/esm2015/forms/datalist/datalist-input.js +0 -59
  965. package/esm2015/forms/datalist/datalist.js +0 -46
  966. package/esm2015/forms/datalist/datalist.module.js +0 -27
  967. package/esm2015/forms/datalist/providers/datalist-id.service.js +0 -28
  968. package/esm2015/forms/datepicker/calendar.js +0 -119
  969. package/esm2015/forms/datepicker/date-container.js +0 -179
  970. package/esm2015/forms/datepicker/date-input.js +0 -256
  971. package/esm2015/forms/datepicker/datepicker-view-manager.js +0 -46
  972. package/esm2015/forms/datepicker/datepicker.module.js +0 -55
  973. package/esm2015/forms/datepicker/day.js +0 -72
  974. package/esm2015/forms/datepicker/daypicker.js +0 -84
  975. package/esm2015/forms/datepicker/monthpicker.js +0 -116
  976. package/esm2015/forms/datepicker/providers/date-form-control.service.js +0 -33
  977. package/esm2015/forms/datepicker/providers/date-io.service.js +0 -176
  978. package/esm2015/forms/datepicker/providers/date-navigation.service.js +0 -127
  979. package/esm2015/forms/datepicker/providers/datepicker-enabled.service.js +0 -43
  980. package/esm2015/forms/datepicker/providers/datepicker-focus.service.js +0 -45
  981. package/esm2015/forms/datepicker/providers/locale-helper.service.js +0 -98
  982. package/esm2015/forms/datepicker/providers/view-manager.service.js +0 -38
  983. package/esm2015/forms/datepicker/yearpicker.js +0 -193
  984. package/esm2015/forms/forms.module.js +0 -39
  985. package/esm2015/forms/input/input.js +0 -26
  986. package/esm2015/forms/input/input.module.js +0 -29
  987. package/esm2015/forms/password/password-container.js +0 -120
  988. package/esm2015/forms/password/password.js +0 -53
  989. package/esm2015/forms/password/password.module.js +0 -28
  990. package/esm2015/forms/radio/radio-container.js +0 -95
  991. package/esm2015/forms/radio/radio-wrapper.js +0 -39
  992. package/esm2015/forms/radio/radio.js +0 -25
  993. package/esm2015/forms/radio/radio.module.js +0 -29
  994. package/esm2015/forms/range/range-container.js +0 -93
  995. package/esm2015/forms/range/range.js +0 -25
  996. package/esm2015/forms/range/range.module.js +0 -28
  997. package/esm2015/forms/select/select-container.js +0 -82
  998. package/esm2015/forms/select/select.js +0 -26
  999. package/esm2015/forms/select/select.module.js +0 -28
  1000. package/esm2015/forms/textarea/textarea-container.js +0 -51
  1001. package/esm2015/forms/textarea/textarea.js +0 -26
  1002. package/esm2015/forms/textarea/textarea.module.js +0 -28
  1003. package/esm2015/icon/icon.js +0 -17
  1004. package/esm2015/icon/icon.module.js +0 -15
  1005. package/esm2015/layout/layout.module.js +0 -16
  1006. package/esm2015/layout/main-container/main-container.js +0 -58
  1007. package/esm2015/layout/main-container/main-container.module.js +0 -20
  1008. package/esm2015/layout/nav/chocolate/main-container-willy-wonka.js +0 -13
  1009. package/esm2015/layout/nav/chocolate/nav-detection-oompa-loompa.js +0 -32
  1010. package/esm2015/layout/nav/header.js +0 -94
  1011. package/esm2015/layout/nav/nav-level.js +0 -79
  1012. package/esm2015/layout/nav/navigation.module.js +0 -29
  1013. package/esm2015/layout/tabs/chocolate/active-oompa-loompa.js +0 -32
  1014. package/esm2015/layout/tabs/chocolate/tabs-willy-wonka.js +0 -13
  1015. package/esm2015/layout/tabs/providers/tabs.service.js +0 -42
  1016. package/esm2015/layout/tabs/tab-content.js +0 -77
  1017. package/esm2015/layout/tabs/tab-link.directive.js +0 -93
  1018. package/esm2015/layout/tabs/tab-overflow-content.js +0 -18
  1019. package/esm2015/layout/tabs/tab.js +0 -42
  1020. package/esm2015/layout/tabs/tabs.js +0 -235
  1021. package/esm2015/layout/tabs/tabs.module.js +0 -42
  1022. package/esm2015/layout/vertical-nav/providers/vertical-nav-group-registration.service.js +0 -21
  1023. package/esm2015/layout/vertical-nav/providers/vertical-nav-group.service.js +0 -22
  1024. package/esm2015/layout/vertical-nav/providers/vertical-nav-icon.service.js +0 -24
  1025. package/esm2015/layout/vertical-nav/providers/vertical-nav.service.js +0 -51
  1026. package/esm2015/layout/vertical-nav/vertical-nav-group-children.js +0 -15
  1027. package/esm2015/layout/vertical-nav/vertical-nav-group.js +0 -158
  1028. package/esm2015/layout/vertical-nav/vertical-nav-icon.js +0 -23
  1029. package/esm2015/layout/vertical-nav/vertical-nav-link.js +0 -36
  1030. package/esm2015/layout/vertical-nav/vertical-nav.js +0 -77
  1031. package/esm2015/layout/vertical-nav/vertical-nav.module.js +0 -37
  1032. package/esm2015/modal/modal-body.js +0 -43
  1033. package/esm2015/modal/modal.js +0 -111
  1034. package/esm2015/modal/modal.module.js +0 -28
  1035. package/esm2015/popover/common/abstract-popover.js +0 -133
  1036. package/esm2015/popover/dropdown/dropdown-item.js +0 -87
  1037. package/esm2015/popover/dropdown/dropdown-menu.js +0 -105
  1038. package/esm2015/popover/dropdown/dropdown-trigger.js +0 -50
  1039. package/esm2015/popover/dropdown/dropdown.js +0 -52
  1040. package/esm2015/popover/dropdown/dropdown.module.js +0 -24
  1041. package/esm2015/popover/dropdown/providers/dropdown-focus-handler.service.js +0 -181
  1042. package/esm2015/popover/dropdown/providers/dropdown.service.js +0 -30
  1043. package/esm2015/popover/popover.module.js +0 -15
  1044. package/esm2015/popover/signpost/providers/signpost-focus-manager.service.js +0 -20
  1045. package/esm2015/popover/signpost/providers/signpost-id.service.js +0 -23
  1046. package/esm2015/popover/signpost/signpost-content.js +0 -150
  1047. package/esm2015/popover/signpost/signpost-trigger.js +0 -95
  1048. package/esm2015/popover/signpost/signpost.js +0 -72
  1049. package/esm2015/popover/signpost/signpost.module.js +0 -29
  1050. package/esm2015/popover/tooltip/providers/tooltip-id.service.js +0 -22
  1051. package/esm2015/popover/tooltip/tooltip-content.js +0 -123
  1052. package/esm2015/popover/tooltip/tooltip-trigger.js +0 -46
  1053. package/esm2015/popover/tooltip/tooltip.js +0 -30
  1054. package/esm2015/popover/tooltip/tooltip.module.js +0 -23
  1055. package/esm2015/progress/progress-bars/progress-bar.module.js +0 -19
  1056. package/esm2015/progress/spinner/spinner.js +0 -63
  1057. package/esm2015/progress/spinner/spinner.module.js +0 -19
  1058. package/esm2015/timeline/providers/timeline-icon-attribute.service.js +0 -54
  1059. package/esm2015/timeline/timeline-step-description.js +0 -16
  1060. package/esm2015/timeline/timeline-step-header.js +0 -16
  1061. package/esm2015/timeline/timeline-step-title.js +0 -26
  1062. package/esm2015/timeline/timeline-step.js +0 -73
  1063. package/esm2015/timeline/timeline.js +0 -29
  1064. package/esm2015/timeline/timeline.module.js +0 -36
  1065. package/esm2015/utils/a11y/aria-live.service.js +0 -161
  1066. package/esm2015/utils/animations/expandable-animation/expandable-animation.js +0 -57
  1067. package/esm2015/utils/animations/expandable-animation/expandable-animation.module.js +0 -18
  1068. package/esm2015/utils/aria/aria.service.js +0 -13
  1069. package/esm2015/utils/chocolate/oompa-loompa.js +0 -33
  1070. package/esm2015/utils/chocolate/willy-wonka.js +0 -33
  1071. package/esm2015/utils/conditional/conditional.module.js +0 -17
  1072. package/esm2015/utils/conditional/if-active.directive.js +0 -100
  1073. package/esm2015/utils/conditional/if-active.service.js +0 -74
  1074. package/esm2015/utils/conditional/if-expanded.directive.js +0 -91
  1075. package/esm2015/utils/conditional/if-expanded.service.js +0 -55
  1076. package/esm2015/utils/conditional/if-open.directive.js +0 -86
  1077. package/esm2015/utils/dom-adapter/dom-adapter.js +0 -49
  1078. package/esm2015/utils/drag-and-drop/drag-and-drop.module.js +0 -30
  1079. package/esm2015/utils/drag-and-drop/drag-handle.js +0 -30
  1080. package/esm2015/utils/drag-and-drop/draggable/draggable.js +0 -119
  1081. package/esm2015/utils/drag-and-drop/draggable-ghost.js +0 -116
  1082. package/esm2015/utils/drag-and-drop/droppable/droppable.js +0 -209
  1083. package/esm2015/utils/drag-and-drop/if-dragged.js +0 -40
  1084. package/esm2015/utils/drag-and-drop/providers/drag-event-listener.service.js +0 -181
  1085. package/esm2015/utils/drag-and-drop/providers/drag-handle-registrar.service.js +0 -61
  1086. package/esm2015/utils/drag-and-drop/providers/draggable-snapshot.service.js +0 -38
  1087. package/esm2015/utils/drag-and-drop/providers/global-drag-mode.service.js +0 -26
  1088. package/esm2015/utils/focus/focus-on-view-init/focus-on-view-init.js +0 -76
  1089. package/esm2015/utils/focus/focus-on-view-init/focus-on-view-init.module.js +0 -21
  1090. package/esm2015/utils/focus/focus.service.js +0 -94
  1091. package/esm2015/utils/focus/focusable-item/basic-focusable-item.service.js +0 -55
  1092. package/esm2015/utils/focus/key-focus/key-focus-item.js +0 -31
  1093. package/esm2015/utils/focus/key-focus/key-focus.js +0 -181
  1094. package/esm2015/utils/focus/key-focus/key-focus.module.js +0 -21
  1095. package/esm2015/utils/focus/key-focus/roving-tabindex.js +0 -100
  1096. package/esm2015/utils/focus-trap/focus-trap-tracker.service.js +0 -30
  1097. package/esm2015/utils/focus-trap/focus-trap.directive.js +0 -154
  1098. package/esm2015/utils/focus-trap/focus-trap.module.js +0 -19
  1099. package/esm2015/utils/host-wrapping/empty-anchor.js +0 -14
  1100. package/esm2015/utils/host-wrapping/host-wrapping.module.js +0 -16
  1101. package/esm2015/utils/i18n/common-strings.service.js +0 -45
  1102. package/esm2015/utils/loading/loading.js +0 -52
  1103. package/esm2015/utils/loading/loading.module.js +0 -15
  1104. package/esm2015/utils/outside-click/outside-click.js +0 -45
  1105. package/esm2015/utils/outside-click/outside-click.module.js +0 -14
  1106. package/esm2015/utils/popover/popover-anchor.js +0 -26
  1107. package/esm2015/utils/popover/popover-close-button.js +0 -51
  1108. package/esm2015/utils/popover/popover-content.js +0 -146
  1109. package/esm2015/utils/popover/popover-open-close-button.js +0 -40
  1110. package/esm2015/utils/popover/popover.module.js +0 -21
  1111. package/esm2015/utils/popover/position-operators.js +0 -171
  1112. package/esm2015/utils/popover/providers/popover-events.service.js +0 -159
  1113. package/esm2015/utils/popover/providers/popover-position.service.js +0 -213
  1114. package/esm2015/utils/popover/providers/popover-toggle.service.js +0 -67
  1115. package/esm2015/utils/scrolling/scrolling-service.js +0 -27
  1116. package/esm2015/utils/template-ref/template-ref-container.js +0 -21
  1117. package/esm2015/utils/template-ref/template-ref.module.js +0 -19
  1118. package/esm2015/wizard/providers/button-hub.service.js +0 -60
  1119. package/esm2015/wizard/providers/header-actions.service.js +0 -37
  1120. package/esm2015/wizard/providers/page-collection.service.js +0 -358
  1121. package/esm2015/wizard/providers/wizard-navigation.service.js +0 -575
  1122. package/esm2015/wizard/wizard-button.js +0 -163
  1123. package/esm2015/wizard/wizard-custom-tags.js +0 -12
  1124. package/esm2015/wizard/wizard-header-action.js +0 -55
  1125. package/esm2015/wizard/wizard-page-buttons.js +0 -18
  1126. package/esm2015/wizard/wizard-page-header-actions.js +0 -18
  1127. package/esm2015/wizard/wizard-page-navtitle.js +0 -18
  1128. package/esm2015/wizard/wizard-page-title.js +0 -18
  1129. package/esm2015/wizard/wizard-stepnav-item.js +0 -100
  1130. package/esm2015/wizard/wizard-stepnav.js +0 -34
  1131. package/esm2015/wizard/wizard.js +0 -438
  1132. package/esm2015/wizard/wizard.module.js +0 -48
  1133. package/fesm2015/clr-angular.js.map +0 -1
@@ -0,0 +1,74 @@
1
+ /*
2
+ * Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
3
+ * This software is released under MIT license.
4
+ * The full license information can be found in LICENSE in the root directory of this project.
5
+ */
6
+ import { Injectable } from '@angular/core';
7
+ import { map } from 'rxjs/operators';
8
+ import { DatagridPropertyComparator } from '../built-in/comparators/datagrid-property-comparator';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "./filters";
11
+ import * as i2 from "./sort";
12
+ import * as i3 from "./page";
13
+ import * as i4 from "./state-debouncer.provider";
14
+ /**
15
+ * This provider aggregates state changes from the various providers of the Datagrid
16
+ */
17
+ export class StateProvider {
18
+ constructor(filters, sort, page, debouncer) {
19
+ this.filters = filters;
20
+ this.sort = sort;
21
+ this.page = page;
22
+ this.debouncer = debouncer;
23
+ /**
24
+ * The Observable that lets other classes subscribe to global state changes
25
+ */
26
+ this.change = this.debouncer.change.pipe(map(() => this.state));
27
+ }
28
+ /*
29
+ * By making this a getter, we open the possibility for a setter in the future.
30
+ * It's been requested a couple times.
31
+ */
32
+ get state() {
33
+ const state = {};
34
+ if (this.page.size > 0) {
35
+ state.page = {
36
+ from: this.page.firstItem,
37
+ to: this.page.lastItem,
38
+ size: this.page.size,
39
+ current: this.page.current,
40
+ };
41
+ }
42
+ if (this.sort.comparator) {
43
+ if (this.sort.comparator instanceof DatagridPropertyComparator) {
44
+ /*
45
+ * Special case for the default object property comparator,
46
+ * we give the property name instead of the actual comparator.
47
+ */
48
+ state.sort = { by: this.sort.comparator.prop, reverse: this.sort.reverse };
49
+ }
50
+ else {
51
+ state.sort = { by: this.sort.comparator, reverse: this.sort.reverse };
52
+ }
53
+ }
54
+ const activeFilters = this.filters.getActiveFilters();
55
+ if (activeFilters.length > 0) {
56
+ state.filters = [];
57
+ for (const filter of activeFilters) {
58
+ if (filter.state) {
59
+ state.filters.push(filter.state);
60
+ }
61
+ else {
62
+ state.filters.push(filter);
63
+ }
64
+ }
65
+ }
66
+ return state;
67
+ }
68
+ }
69
+ StateProvider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: StateProvider, deps: [{ token: i1.FiltersProvider }, { token: i2.Sort }, { token: i3.Page }, { token: i4.StateDebouncer }], target: i0.ɵɵFactoryTarget.Injectable });
70
+ StateProvider.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: StateProvider });
71
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: StateProvider, decorators: [{
72
+ type: Injectable
73
+ }], ctorParameters: function () { return [{ type: i1.FiltersProvider }, { type: i2.Sort }, { type: i3.Page }, { type: i4.StateDebouncer }]; } });
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy9kYXRhL2RhdGFncmlkL3Byb3ZpZGVycy9zdGF0ZS5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBQ0gsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0RBQXNELENBQUM7Ozs7OztBQVFsRzs7R0FFRztBQUVILE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFlBQ1UsT0FBMkIsRUFDM0IsSUFBYSxFQUNiLElBQVUsRUFDVixTQUF5QjtRQUh6QixZQUFPLEdBQVAsT0FBTyxDQUFvQjtRQUMzQixTQUFJLEdBQUosSUFBSSxDQUFTO1FBQ2IsU0FBSSxHQUFKLElBQUksQ0FBTTtRQUNWLGNBQVMsR0FBVCxTQUFTLENBQWdCO1FBR25DOztXQUVHO1FBQ0gsV0FBTSxHQUE2QyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBTGxHLENBQUM7SUFPSjs7O09BR0c7SUFDSCxJQUFJLEtBQUs7UUFDUCxNQUFNLEtBQUssR0FBaUMsRUFBRSxDQUFDO1FBQy9DLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFO1lBQ3RCLEtBQUssQ0FBQyxJQUFJLEdBQUc7Z0JBQ1gsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUztnQkFDekIsRUFBRSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUTtnQkFDdEIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtnQkFDcEIsT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTzthQUMzQixDQUFDO1NBQ0g7UUFDRCxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3hCLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLFlBQVksMEJBQTBCLEVBQUU7Z0JBQzlEOzs7bUJBR0c7Z0JBQ0gsS0FBSyxDQUFDLElBQUksR0FBRyxFQUFFLEVBQUUsRUFBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQTRDLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2FBQy9HO2lCQUFNO2dCQUNMLEtBQUssQ0FBQyxJQUFJLEdBQUcsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7YUFDdkU7U0FDRjtRQUVELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN0RCxJQUFJLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQzVCLEtBQUssQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ25CLEtBQUssTUFBTSxNQUFNLElBQUksYUFBYSxFQUFFO2dCQUNsQyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUU7b0JBQ2hCLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDbEM7cUJBQU07b0JBQ0wsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7aUJBQzVCO2FBQ0Y7U0FDRjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7MEdBbkRVLGFBQWE7OEdBQWIsYUFBYTsyRkFBYixhQUFhO2tCQUR6QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxNi0yMDIxIFZNd2FyZSwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICogVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZS5cbiAqIFRoZSBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIGluIExJQ0VOU0UgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgcHJvamVjdC5cbiAqL1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBEYXRhZ3JpZFByb3BlcnR5Q29tcGFyYXRvciB9IGZyb20gJy4uL2J1aWx0LWluL2NvbXBhcmF0b3JzL2RhdGFncmlkLXByb3BlcnR5LWNvbXBhcmF0b3InO1xuaW1wb3J0IHsgQ2xyRGF0YWdyaWRTdGF0ZUludGVyZmFjZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvc3RhdGUuaW50ZXJmYWNlJztcblxuaW1wb3J0IHsgRmlsdGVyc1Byb3ZpZGVyIH0gZnJvbSAnLi9maWx0ZXJzJztcbmltcG9ydCB7IFBhZ2UgfSBmcm9tICcuL3BhZ2UnO1xuaW1wb3J0IHsgU29ydCB9IGZyb20gJy4vc29ydCc7XG5pbXBvcnQgeyBTdGF0ZURlYm91bmNlciB9IGZyb20gJy4vc3RhdGUtZGVib3VuY2VyLnByb3ZpZGVyJztcblxuLyoqXG4gKiBUaGlzIHByb3ZpZGVyIGFnZ3JlZ2F0ZXMgc3RhdGUgY2hhbmdlcyBmcm9tIHRoZSB2YXJpb3VzIHByb3ZpZGVycyBvZiB0aGUgRGF0YWdyaWRcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFN0YXRlUHJvdmlkZXI8VD4ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZpbHRlcnM6IEZpbHRlcnNQcm92aWRlcjxUPixcbiAgICBwcml2YXRlIHNvcnQ6IFNvcnQ8VD4sXG4gICAgcHJpdmF0ZSBwYWdlOiBQYWdlLFxuICAgIHByaXZhdGUgZGVib3VuY2VyOiBTdGF0ZURlYm91bmNlclxuICApIHt9XG5cbiAgLyoqXG4gICAqIFRoZSBPYnNlcnZhYmxlIHRoYXQgbGV0cyBvdGhlciBjbGFzc2VzIHN1YnNjcmliZSB0byBnbG9iYWwgc3RhdGUgY2hhbmdlc1xuICAgKi9cbiAgY2hhbmdlOiBPYnNlcnZhYmxlPENsckRhdGFncmlkU3RhdGVJbnRlcmZhY2U8VD4+ID0gdGhpcy5kZWJvdW5jZXIuY2hhbmdlLnBpcGUobWFwKCgpID0+IHRoaXMuc3RhdGUpKTtcblxuICAvKlxuICAgKiBCeSBtYWtpbmcgdGhpcyBhIGdldHRlciwgd2Ugb3BlbiB0aGUgcG9zc2liaWxpdHkgZm9yIGEgc2V0dGVyIGluIHRoZSBmdXR1cmUuXG4gICAqIEl0J3MgYmVlbiByZXF1ZXN0ZWQgYSBjb3VwbGUgdGltZXMuXG4gICAqL1xuICBnZXQgc3RhdGUoKTogQ2xyRGF0YWdyaWRTdGF0ZUludGVyZmFjZTxUPiB7XG4gICAgY29uc3Qgc3RhdGU6IENsckRhdGFncmlkU3RhdGVJbnRlcmZhY2U8VD4gPSB7fTtcbiAgICBpZiAodGhpcy5wYWdlLnNpemUgPiAwKSB7XG4gICAgICBzdGF0ZS5wYWdlID0ge1xuICAgICAgICBmcm9tOiB0aGlzLnBhZ2UuZmlyc3RJdGVtLFxuICAgICAgICB0bzogdGhpcy5wYWdlLmxhc3RJdGVtLFxuICAgICAgICBzaXplOiB0aGlzLnBhZ2Uuc2l6ZSxcbiAgICAgICAgY3VycmVudDogdGhpcy5wYWdlLmN1cnJlbnQsXG4gICAgICB9O1xuICAgIH1cbiAgICBpZiAodGhpcy5zb3J0LmNvbXBhcmF0b3IpIHtcbiAgICAgIGlmICh0aGlzLnNvcnQuY29tcGFyYXRvciBpbnN0YW5jZW9mIERhdGFncmlkUHJvcGVydHlDb21wYXJhdG9yKSB7XG4gICAgICAgIC8qXG4gICAgICAgICAqIFNwZWNpYWwgY2FzZSBmb3IgdGhlIGRlZmF1bHQgb2JqZWN0IHByb3BlcnR5IGNvbXBhcmF0b3IsXG4gICAgICAgICAqIHdlIGdpdmUgdGhlIHByb3BlcnR5IG5hbWUgaW5zdGVhZCBvZiB0aGUgYWN0dWFsIGNvbXBhcmF0b3IuXG4gICAgICAgICAqL1xuICAgICAgICBzdGF0ZS5zb3J0ID0geyBieTogKHRoaXMuc29ydC5jb21wYXJhdG9yIGFzIERhdGFncmlkUHJvcGVydHlDb21wYXJhdG9yPFQ+KS5wcm9wLCByZXZlcnNlOiB0aGlzLnNvcnQucmV2ZXJzZSB9O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3RhdGUuc29ydCA9IHsgYnk6IHRoaXMuc29ydC5jb21wYXJhdG9yLCByZXZlcnNlOiB0aGlzLnNvcnQucmV2ZXJzZSB9O1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGFjdGl2ZUZpbHRlcnMgPSB0aGlzLmZpbHRlcnMuZ2V0QWN0aXZlRmlsdGVycygpO1xuICAgIGlmIChhY3RpdmVGaWx0ZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgIHN0YXRlLmZpbHRlcnMgPSBbXTtcbiAgICAgIGZvciAoY29uc3QgZmlsdGVyIG9mIGFjdGl2ZUZpbHRlcnMpIHtcbiAgICAgICAgaWYgKGZpbHRlci5zdGF0ZSkge1xuICAgICAgICAgIHN0YXRlLmZpbHRlcnMucHVzaChmaWx0ZXIuc3RhdGUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHN0YXRlLmZpbHRlcnMucHVzaChmaWx0ZXIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBzdGF0ZTtcbiAgfVxufVxuIl19
@@ -0,0 +1,44 @@
1
+ /*
2
+ * Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
3
+ * This software is released under MIT license.
4
+ * The full license information can be found in LICENSE in the root directory of this project.
5
+ */
6
+ import { isPlatformBrowser } from '@angular/common';
7
+ import { Inject, Injectable, PLATFORM_ID } from '@angular/core';
8
+ import * as i0 from "@angular/core";
9
+ /**
10
+ * @description
11
+ * Internal datagrid service that holds a reference to the clr-dg-table element and exposes a method to get height.
12
+ */
13
+ export class TableSizeService {
14
+ constructor(platformId) {
15
+ this.platformId = platformId;
16
+ }
17
+ get tableRef() {
18
+ return this._tableRef;
19
+ }
20
+ set tableRef(element) {
21
+ this._tableRef = element;
22
+ }
23
+ set table(table) {
24
+ if (isPlatformBrowser(this.platformId) && table.nativeElement) {
25
+ this.tableRef = table.nativeElement.querySelector('.datagrid-table');
26
+ }
27
+ }
28
+ // Used when resizing columns to show the column border being dragged.
29
+ getColumnDragHeight() {
30
+ if (!this.tableRef) {
31
+ return null;
32
+ }
33
+ return `${this.tableRef.clientHeight}px`;
34
+ }
35
+ }
36
+ TableSizeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: TableSizeService, deps: [{ token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable });
37
+ TableSizeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: TableSizeService });
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: TableSizeService, decorators: [{
39
+ type: Injectable
40
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
41
+ type: Inject,
42
+ args: [PLATFORM_ID]
43
+ }] }]; } });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtc2l6ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvZGF0YS9kYXRhZ3JpZC9wcm92aWRlcnMvdGFibGUtc2l6ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQWMsTUFBTSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTVFOzs7R0FHRztBQUVILE1BQU0sT0FBTyxnQkFBZ0I7SUFXM0IsWUFBeUMsVUFBZTtRQUFmLGVBQVUsR0FBVixVQUFVLENBQUs7SUFBRyxDQUFDO0lBUjVELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQVcsUUFBUSxDQUFDLE9BQW9CO1FBQ3RDLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDO0lBQzNCLENBQUM7SUFHRCxJQUFXLEtBQUssQ0FBQyxLQUFpQjtRQUNoQyxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxLQUFLLENBQUMsYUFBYSxFQUFFO1lBQzdELElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsQ0FBQztTQUN0RTtJQUNILENBQUM7SUFFRCxzRUFBc0U7SUFDdEUsbUJBQW1CO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLElBQUksQ0FBQztJQUMzQyxDQUFDOzs2R0F4QlUsZ0JBQWdCLGtCQVdQLFdBQVc7aUhBWHBCLGdCQUFnQjsyRkFBaEIsZ0JBQWdCO2tCQUQ1QixVQUFVOzswQkFZSSxNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE2LTIwMjEgVk13YXJlLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5pbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3QsIEluamVjdGFibGUsIFBMQVRGT1JNX0lEIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKiBJbnRlcm5hbCBkYXRhZ3JpZCBzZXJ2aWNlIHRoYXQgaG9sZHMgYSByZWZlcmVuY2UgdG8gdGhlIGNsci1kZy10YWJsZSBlbGVtZW50IGFuZCBleHBvc2VzIGEgbWV0aG9kIHRvIGdldCBoZWlnaHQuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUYWJsZVNpemVTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBfdGFibGVSZWY6IEhUTUxFbGVtZW50O1xuXG4gIHB1YmxpYyBnZXQgdGFibGVSZWYoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLl90YWJsZVJlZjtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgdGFibGVSZWYoZWxlbWVudDogSFRNTEVsZW1lbnQpIHtcbiAgICB0aGlzLl90YWJsZVJlZiA9IGVsZW1lbnQ7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IGFueSkge31cbiAgcHVibGljIHNldCB0YWJsZSh0YWJsZTogRWxlbWVudFJlZikge1xuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpICYmIHRhYmxlLm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIHRoaXMudGFibGVSZWYgPSB0YWJsZS5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5kYXRhZ3JpZC10YWJsZScpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFVzZWQgd2hlbiByZXNpemluZyBjb2x1bW5zIHRvIHNob3cgdGhlIGNvbHVtbiBib3JkZXIgYmVpbmcgZHJhZ2dlZC5cbiAgZ2V0Q29sdW1uRHJhZ0hlaWdodCgpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy50YWJsZVJlZikge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiBgJHt0aGlzLnRhYmxlUmVmLmNsaWVudEhlaWdodH1weGA7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,81 @@
1
+ /*
2
+ * Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
3
+ * This software is released under MIT license.
4
+ * The full license information can be found in LICENSE in the root directory of this project.
5
+ */
6
+ import { Directive } from '@angular/core';
7
+ import { DatagridRenderStep } from '../enums/render-step.enum';
8
+ import { HIDDEN_COLUMN_CLASS, STRICT_WIDTH_CLASS } from './constants';
9
+ import { ALL_COLUMN_CHANGES, DatagridColumnChanges } from '../enums/column-changes.enum';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "./render-organizer";
12
+ export class DatagridCellRenderer {
13
+ constructor(el, renderer, organizer) {
14
+ this.el = el;
15
+ this.renderer = renderer;
16
+ this.subscriptions = [];
17
+ this.subscriptions.push(organizer.filterRenderSteps(DatagridRenderStep.CLEAR_WIDTHS).subscribe(() => this.clearWidth()));
18
+ }
19
+ // @TODO(JEREMY) Work out how to dedupe some of this code between header and cell renderers
20
+ set columnState(columnState) {
21
+ if (this.stateSubscription) {
22
+ this.stateSubscription.unsubscribe();
23
+ }
24
+ this.runAllChanges = ALL_COLUMN_CHANGES;
25
+ this.stateSubscription = columnState.subscribe(state => this.stateChanges(state));
26
+ }
27
+ ngOnDestroy() {
28
+ this.subscriptions.forEach(sub => sub.unsubscribe());
29
+ if (this.stateSubscription) {
30
+ this.stateSubscription.unsubscribe();
31
+ }
32
+ }
33
+ stateChanges(state) {
34
+ if (this.runAllChanges) {
35
+ state.changes = this.runAllChanges;
36
+ delete this.runAllChanges;
37
+ }
38
+ if (state.changes && state.changes.length) {
39
+ state.changes.forEach(change => {
40
+ switch (change) {
41
+ case DatagridColumnChanges.WIDTH:
42
+ this.setWidth(state);
43
+ break;
44
+ case DatagridColumnChanges.HIDDEN:
45
+ this.setHidden(state);
46
+ break;
47
+ default:
48
+ break;
49
+ }
50
+ });
51
+ }
52
+ }
53
+ clearWidth() {
54
+ this.renderer.removeClass(this.el.nativeElement, STRICT_WIDTH_CLASS);
55
+ this.renderer.setStyle(this.el.nativeElement, 'width', null);
56
+ }
57
+ setWidth(state) {
58
+ if (state.strictWidth) {
59
+ this.renderer.addClass(this.el.nativeElement, STRICT_WIDTH_CLASS);
60
+ }
61
+ else {
62
+ this.renderer.removeClass(this.el.nativeElement, STRICT_WIDTH_CLASS);
63
+ }
64
+ this.renderer.setStyle(this.el.nativeElement, 'width', state.width + 'px');
65
+ }
66
+ setHidden(state) {
67
+ if (state.hidden) {
68
+ this.renderer.addClass(this.el.nativeElement, HIDDEN_COLUMN_CLASS);
69
+ }
70
+ else {
71
+ this.renderer.removeClass(this.el.nativeElement, HIDDEN_COLUMN_CLASS);
72
+ }
73
+ }
74
+ }
75
+ DatagridCellRenderer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: DatagridCellRenderer, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.DatagridRenderOrganizer }], target: i0.ɵɵFactoryTarget.Directive });
76
+ DatagridCellRenderer.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0", type: DatagridCellRenderer, selector: "clr-dg-cell", ngImport: i0 });
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: DatagridCellRenderer, decorators: [{
78
+ type: Directive,
79
+ args: [{ selector: 'clr-dg-cell' }]
80
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.DatagridRenderOrganizer }]; } });
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC1yZW5kZXJlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2RhdGEvZGF0YWdyaWQvcmVuZGVyL2NlbGwtcmVuZGVyZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUNILE9BQU8sRUFBRSxTQUFTLEVBQW9DLE1BQU0sZUFBZSxDQUFDO0FBRzVFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRS9ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUd0RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7O0FBR3pGLE1BQU0sT0FBTyxvQkFBb0I7SUFlL0IsWUFBb0IsRUFBYyxFQUFVLFFBQW1CLEVBQUUsU0FBa0M7UUFBL0UsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUFNdkQsa0JBQWEsR0FBbUIsRUFBRSxDQUFDO1FBTHpDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUNyQixTQUFTLENBQUMsaUJBQWlCLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUNoRyxDQUFDO0lBQ0osQ0FBQztJQWRELDJGQUEyRjtJQUMzRixJQUFJLFdBQVcsQ0FBQyxXQUF5QztRQUN2RCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUMxQixJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDdEM7UUFFRCxJQUFJLENBQUMsYUFBYSxHQUFHLGtCQUFrQixDQUFDO1FBQ3hDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFVRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUNyRCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUMxQixJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDdEM7SUFDSCxDQUFDO0lBRU8sWUFBWSxDQUFDLEtBQWtCO1FBQ3JDLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN0QixLQUFLLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7WUFDbkMsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO1NBQzNCO1FBQ0QsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ3pDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUM3QixRQUFRLE1BQU0sRUFBRTtvQkFDZCxLQUFLLHFCQUFxQixDQUFDLEtBQUs7d0JBQzlCLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQ3JCLE1BQU07b0JBQ1IsS0FBSyxxQkFBcUIsQ0FBQyxNQUFNO3dCQUMvQixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO3dCQUN0QixNQUFNO29CQUNSO3dCQUNFLE1BQU07aUJBQ1Q7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVPLFVBQVU7UUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztRQUNyRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVPLFFBQVEsQ0FBQyxLQUFrQjtRQUNqQyxJQUFJLEtBQUssQ0FBQyxXQUFXLEVBQUU7WUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztTQUNuRTthQUFNO1lBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztTQUN0RTtRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFTyxTQUFTLENBQUMsS0FBa0I7UUFDbEMsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFO1lBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLG1CQUFtQixDQUFDLENBQUM7U0FDcEU7YUFBTTtZQUNMLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLG1CQUFtQixDQUFDLENBQUM7U0FDdkU7SUFDSCxDQUFDOztpSEF2RVUsb0JBQW9CO3FHQUFwQixvQkFBb0I7MkZBQXBCLG9CQUFvQjtrQkFEaEMsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE2LTIwMjEgVk13YXJlLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5pbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBEYXRhZ3JpZFJlbmRlclN0ZXAgfSBmcm9tICcuLi9lbnVtcy9yZW5kZXItc3RlcC5lbnVtJztcblxuaW1wb3J0IHsgSElEREVOX0NPTFVNTl9DTEFTUywgU1RSSUNUX1dJRFRIX0NMQVNTIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgRGF0YWdyaWRSZW5kZXJPcmdhbml6ZXIgfSBmcm9tICcuL3JlbmRlci1vcmdhbml6ZXInO1xuaW1wb3J0IHsgQ29sdW1uU3RhdGUgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2NvbHVtbi1zdGF0ZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQUxMX0NPTFVNTl9DSEFOR0VTLCBEYXRhZ3JpZENvbHVtbkNoYW5nZXMgfSBmcm9tICcuLi9lbnVtcy9jb2x1bW4tY2hhbmdlcy5lbnVtJztcblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnY2xyLWRnLWNlbGwnIH0pXG5leHBvcnQgY2xhc3MgRGF0YWdyaWRDZWxsUmVuZGVyZXIgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHN0YXRlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgcHJpdmF0ZSBydW5BbGxDaGFuZ2VzOiBEYXRhZ3JpZENvbHVtbkNoYW5nZXNbXTtcblxuICAvLyBAVE9ETyhKRVJFTVkpIFdvcmsgb3V0IGhvdyB0byBkZWR1cGUgc29tZSBvZiB0aGlzIGNvZGUgYmV0d2VlbiBoZWFkZXIgYW5kIGNlbGwgcmVuZGVyZXJzXG4gIHNldCBjb2x1bW5TdGF0ZShjb2x1bW5TdGF0ZTogQmVoYXZpb3JTdWJqZWN0PENvbHVtblN0YXRlPikge1xuICAgIGlmICh0aGlzLnN0YXRlU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLnN0YXRlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgdGhpcy5ydW5BbGxDaGFuZ2VzID0gQUxMX0NPTFVNTl9DSEFOR0VTO1xuICAgIHRoaXMuc3RhdGVTdWJzY3JpcHRpb24gPSBjb2x1bW5TdGF0ZS5zdWJzY3JpYmUoc3RhdGUgPT4gdGhpcy5zdGF0ZUNoYW5nZXMoc3RhdGUpKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMiwgb3JnYW5pemVyOiBEYXRhZ3JpZFJlbmRlck9yZ2FuaXplcikge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgb3JnYW5pemVyLmZpbHRlclJlbmRlclN0ZXBzKERhdGFncmlkUmVuZGVyU3RlcC5DTEVBUl9XSURUSFMpLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNsZWFyV2lkdGgoKSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHN1YiA9PiBzdWIudW5zdWJzY3JpYmUoKSk7XG4gICAgaWYgKHRoaXMuc3RhdGVTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuc3RhdGVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN0YXRlQ2hhbmdlcyhzdGF0ZTogQ29sdW1uU3RhdGUpIHtcbiAgICBpZiAodGhpcy5ydW5BbGxDaGFuZ2VzKSB7XG4gICAgICBzdGF0ZS5jaGFuZ2VzID0gdGhpcy5ydW5BbGxDaGFuZ2VzO1xuICAgICAgZGVsZXRlIHRoaXMucnVuQWxsQ2hhbmdlcztcbiAgICB9XG4gICAgaWYgKHN0YXRlLmNoYW5nZXMgJiYgc3RhdGUuY2hhbmdlcy5sZW5ndGgpIHtcbiAgICAgIHN0YXRlLmNoYW5nZXMuZm9yRWFjaChjaGFuZ2UgPT4ge1xuICAgICAgICBzd2l0Y2ggKGNoYW5nZSkge1xuICAgICAgICAgIGNhc2UgRGF0YWdyaWRDb2x1bW5DaGFuZ2VzLldJRFRIOlxuICAgICAgICAgICAgdGhpcy5zZXRXaWR0aChzdGF0ZSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIERhdGFncmlkQ29sdW1uQ2hhbmdlcy5ISURERU46XG4gICAgICAgICAgICB0aGlzLnNldEhpZGRlbihzdGF0ZSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY2xlYXJXaWR0aCgpIHtcbiAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgU1RSSUNUX1dJRFRIX0NMQVNTKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ3dpZHRoJywgbnVsbCk7XG4gIH1cblxuICBwcml2YXRlIHNldFdpZHRoKHN0YXRlOiBDb2x1bW5TdGF0ZSkge1xuICAgIGlmIChzdGF0ZS5zdHJpY3RXaWR0aCkge1xuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsIFNUUklDVF9XSURUSF9DTEFTUyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5lbC5uYXRpdmVFbGVtZW50LCBTVFJJQ1RfV0lEVEhfQ0xBU1MpO1xuICAgIH1cbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ3dpZHRoJywgc3RhdGUud2lkdGggKyAncHgnKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0SGlkZGVuKHN0YXRlOiBDb2x1bW5TdGF0ZSkge1xuICAgIGlmIChzdGF0ZS5oaWRkZW4pIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbC5uYXRpdmVFbGVtZW50LCBISURERU5fQ09MVU1OX0NMQVNTKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsIEhJRERFTl9DT0xVTU5fQ0xBU1MpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -0,0 +1,132 @@
1
+ /*
2
+ * Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
3
+ * This software is released under MIT license.
4
+ * The full license information can be found in LICENSE in the root directory of this project.
5
+ */
6
+ import { Directive, EventEmitter, Inject, Output } from '@angular/core';
7
+ import { DatagridRenderStep } from '../enums/render-step.enum';
8
+ import { ColumnResizerService } from '../providers/column-resizer.service';
9
+ import { HIDDEN_COLUMN_CLASS, STRICT_WIDTH_CLASS } from './constants';
10
+ import { DatagridColumnChanges } from '../enums/column-changes.enum';
11
+ import { COLUMN_STATE, COLUMN_STATE_PROVIDER } from '../providers/column-state.provider';
12
+ import * as i0 from "@angular/core";
13
+ import * as i1 from "./render-organizer";
14
+ import * as i2 from "../../../utils/dom-adapter/dom-adapter";
15
+ import * as i3 from "../providers/column-resizer.service";
16
+ import * as i4 from "../providers/columns.service";
17
+ import * as i5 from "rxjs";
18
+ export class DatagridHeaderRenderer {
19
+ constructor(el, renderer, organizer, domAdapter, columnResizerService, columnsService, columnState) {
20
+ this.el = el;
21
+ this.renderer = renderer;
22
+ this.organizer = organizer;
23
+ this.domAdapter = domAdapter;
24
+ this.columnResizerService = columnResizerService;
25
+ this.columnsService = columnsService;
26
+ this.columnState = columnState;
27
+ this.resizeEmitter = new EventEmitter();
28
+ /**
29
+ * Indicates if the column has a strict width, so it doesn't shrink or expand based on the content.
30
+ */
31
+ this.widthSet = false;
32
+ this.autoSet = false;
33
+ this.subscriptions = [];
34
+ this.subscriptions.push(this.organizer.filterRenderSteps(DatagridRenderStep.CLEAR_WIDTHS).subscribe(() => this.clearWidth()));
35
+ this.subscriptions.push(columnState.subscribe(state => this.stateChanges(state)));
36
+ }
37
+ ngOnDestroy() {
38
+ this.subscriptions.forEach(sub => sub.unsubscribe());
39
+ }
40
+ stateChanges(state) {
41
+ if (state.changes && state.changes.length) {
42
+ state.changes.forEach(change => {
43
+ switch (change) {
44
+ case DatagridColumnChanges.WIDTH:
45
+ this.setWidth(state);
46
+ break;
47
+ case DatagridColumnChanges.HIDDEN:
48
+ this.setHidden(state);
49
+ break;
50
+ default:
51
+ break;
52
+ }
53
+ });
54
+ }
55
+ }
56
+ clearWidth() {
57
+ // remove the width only if we set it, and it is not changed by dragging.
58
+ if (this.widthSet && !this.columnResizerService.resizedBy) {
59
+ this.renderer.setStyle(this.el.nativeElement, 'width', null);
60
+ }
61
+ if (this.autoSet) {
62
+ this.renderer.removeClass(this.el.nativeElement, STRICT_WIDTH_CLASS);
63
+ }
64
+ }
65
+ detectStrictWidth() {
66
+ if (this.columnResizerService.resizedBy) {
67
+ return this.columnResizerService.widthAfterResize;
68
+ }
69
+ else if (this.autoSet) {
70
+ return 0;
71
+ }
72
+ else {
73
+ return this.domAdapter.userDefinedWidth(this.el.nativeElement);
74
+ }
75
+ }
76
+ computeWidth(strictWidth) {
77
+ let width = strictWidth;
78
+ if (!width) {
79
+ width = this.domAdapter.scrollWidth(this.el.nativeElement);
80
+ }
81
+ return width;
82
+ }
83
+ getColumnWidthState() {
84
+ const strictWidth = this.detectStrictWidth();
85
+ return {
86
+ width: this.computeWidth(strictWidth),
87
+ strictWidth: strictWidth,
88
+ };
89
+ }
90
+ setColumnState(index) {
91
+ this.columnsService.columns[index] = this.columnState;
92
+ }
93
+ setWidth(state) {
94
+ if (state.strictWidth) {
95
+ if (this.columnResizerService.resizedBy) {
96
+ this.resizeEmitter.emit(state.width);
97
+ this.renderer.setStyle(this.el.nativeElement, 'width', state.width + 'px');
98
+ this.widthSet = false;
99
+ }
100
+ // Don't set width if there is a user-defined one. Just add the strict width class.
101
+ this.renderer.addClass(this.el.nativeElement, STRICT_WIDTH_CLASS);
102
+ this.autoSet = false;
103
+ }
104
+ else {
105
+ this.renderer.removeClass(this.el.nativeElement, STRICT_WIDTH_CLASS);
106
+ this.renderer.setStyle(this.el.nativeElement, 'width', state.width + 'px');
107
+ this.widthSet = true;
108
+ this.autoSet = true;
109
+ }
110
+ }
111
+ setHidden(state) {
112
+ if (state.hidden) {
113
+ this.renderer.addClass(this.el.nativeElement, HIDDEN_COLUMN_CLASS);
114
+ }
115
+ else {
116
+ this.renderer.removeClass(this.el.nativeElement, HIDDEN_COLUMN_CLASS);
117
+ }
118
+ }
119
+ }
120
+ DatagridHeaderRenderer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: DatagridHeaderRenderer, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.DatagridRenderOrganizer }, { token: i2.DomAdapter }, { token: i3.ColumnResizerService }, { token: i4.ColumnsService }, { token: COLUMN_STATE }], target: i0.ɵɵFactoryTarget.Directive });
121
+ DatagridHeaderRenderer.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0", type: DatagridHeaderRenderer, selector: "clr-dg-column", outputs: { resizeEmitter: "clrDgColumnResize" }, providers: [ColumnResizerService, COLUMN_STATE_PROVIDER], ngImport: i0 });
122
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: DatagridHeaderRenderer, decorators: [{
123
+ type: Directive,
124
+ args: [{ selector: 'clr-dg-column', providers: [ColumnResizerService, COLUMN_STATE_PROVIDER] }]
125
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.DatagridRenderOrganizer }, { type: i2.DomAdapter }, { type: i3.ColumnResizerService }, { type: i4.ColumnsService }, { type: i5.BehaviorSubject, decorators: [{
126
+ type: Inject,
127
+ args: [COLUMN_STATE]
128
+ }] }]; }, propDecorators: { resizeEmitter: [{
129
+ type: Output,
130
+ args: ['clrDgColumnResize']
131
+ }] } });
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLXJlbmRlcmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvZGF0YS9kYXRhZ3JpZC9yZW5kZXIvaGVhZGVyLXJlbmRlcmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxNQUFNLEVBQWEsTUFBTSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBSTFHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUd0RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsWUFBWSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7Ozs7Ozs7QUFJekYsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQyxZQUNVLEVBQWMsRUFDZCxRQUFtQixFQUNuQixTQUFrQyxFQUNsQyxVQUFzQixFQUN0QixvQkFBMEMsRUFDMUMsY0FBOEIsRUFDUixXQUF5QztRQU4vRCxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ2QsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixjQUFTLEdBQVQsU0FBUyxDQUF5QjtRQUNsQyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQ1IsZ0JBQVcsR0FBWCxXQUFXLENBQThCO1FBUzVDLGtCQUFhLEdBQXlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFdEY7O1dBRUc7UUFDSyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLFlBQU8sR0FBRyxL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QUFDLENBQUM7U0FDcEU7YUFBTTtZQUNMLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLG1CQUFtQixDQUFDLENBQUM7U0FDdkU7SUFDSCxDQUFDOzttSEFoSFUsc0JBQXNCLHdNQVF2QixZQUFZO3VHQVJYLHNCQUFzQix5RkFEZ0IsQ0FBQyxvQkFBb0IsRUFBRSxxQkFBcUIsQ0FBQzsyRkFDbkYsc0JBQXNCO2tCQURsQyxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxxQkFBcUIsQ0FBQyxFQUFFOzswQkFTN0YsTUFBTTsyQkFBQyxZQUFZOzRDQVNPLGFBQWE7c0JBQXpDLE1BQU07dUJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxNi0yMDIxIFZNd2FyZSwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICogVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZS5cbiAqIFRoZSBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIGluIExJQ0VOU0UgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgcHJvamVjdC5cbiAqL1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEluamVjdCwgT25EZXN0cm95LCBPdXRwdXQsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRG9tQWRhcHRlciB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2RvbS1hZGFwdGVyL2RvbS1hZGFwdGVyJztcbmltcG9ydCB7IERhdGFncmlkUmVuZGVyU3RlcCB9IGZyb20gJy4uL2VudW1zL3JlbmRlci1zdGVwLmVudW0nO1xuaW1wb3J0IHsgQ29sdW1uUmVzaXplclNlcnZpY2UgfSBmcm9tICcuLi9wcm92aWRlcnMvY29sdW1uLXJlc2l6ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBISURERU5fQ09MVU1OX0NMQVNTLCBTVFJJQ1RfV0lEVEhfQ0xBU1MgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBEYXRhZ3JpZFJlbmRlck9yZ2FuaXplciB9IGZyb20gJy4vcmVuZGVyLW9yZ2FuaXplcic7XG5pbXBvcnQgeyBDb2x1bW5TdGF0ZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvY29sdW1uLXN0YXRlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBEYXRhZ3JpZENvbHVtbkNoYW5nZXMgfSBmcm9tICcuLi9lbnVtcy9jb2x1bW4tY2hhbmdlcy5lbnVtJztcbmltcG9ydCB7IENPTFVNTl9TVEFURSwgQ09MVU1OX1NUQVRFX1BST1ZJREVSIH0gZnJvbSAnLi4vcHJvdmlkZXJzL2NvbHVtbi1zdGF0ZS5wcm92aWRlcic7XG5pbXBvcnQgeyBDb2x1bW5zU2VydmljZSB9IGZyb20gJy4uL3Byb3ZpZGVycy9jb2x1bW5zLnNlcnZpY2UnO1xuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdjbHItZGctY29sdW1uJywgcHJvdmlkZXJzOiBbQ29sdW1uUmVzaXplclNlcnZpY2UsIENPTFVNTl9TVEFURV9QUk9WSURFUl0gfSlcbmV4cG9ydCBjbGFzcyBEYXRhZ3JpZEhlYWRlclJlbmRlcmVyIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBvcmdhbml6ZXI6IERhdGFncmlkUmVuZGVyT3JnYW5pemVyLFxuICAgIHByaXZhdGUgZG9tQWRhcHRlcjogRG9tQWRhcHRlcixcbiAgICBwcml2YXRlIGNvbHVtblJlc2l6ZXJTZXJ2aWNlOiBDb2x1bW5SZXNpemVyU2VydmljZSxcbiAgICBwcml2YXRlIGNvbHVtbnNTZXJ2aWNlOiBDb2x1bW5zU2VydmljZSxcbiAgICBASW5qZWN0KENPTFVNTl9TVEFURSkgcHJpdmF0ZSBjb2x1bW5TdGF0ZTogQmVoYXZpb3JTdWJqZWN0PENvbHVtblN0YXRlPlxuICApIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMub3JnYW5pemVyLmZpbHRlclJlbmRlclN0ZXBzKERhdGFncmlkUmVuZGVyU3RlcC5DTEVBUl9XSURUSFMpLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNsZWFyV2lkdGgoKSlcbiAgICApO1xuXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goY29sdW1uU3RhdGUuc3Vic2NyaWJlKHN0YXRlID0+IHRoaXMuc3RhdGVDaGFuZ2VzKHN0YXRlKSkpO1xuICB9XG5cbiAgQE91dHB1dCgnY2xyRGdDb2x1bW5SZXNpemUnKSByZXNpemVFbWl0dGVyOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBjb2x1bW4gaGFzIGEgc3RyaWN0IHdpZHRoLCBzbyBpdCBkb2Vzbid0IHNocmluayBvciBleHBhbmQgYmFzZWQgb24gdGhlIGNvbnRlbnQuXG4gICAqL1xuICBwcml2YXRlIHdpZHRoU2V0ID0gZmFsc2U7XG4gIHByaXZhdGUgYXV0b1NldCA9IGZhbHNlO1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaChzdWIgPT4gc3ViLnVuc3Vic2NyaWJlKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0ZUNoYW5nZXMoc3RhdGU6IENvbHVtblN0YXRlKSB7XG4gICAgaWYgKHN0YXRlLmNoYW5nZXMgJiYgc3RhdGUuY2hhbmdlcy5sZW5ndGgpIHtcbiAgICAgIHN0YXRlLmNoYW5nZXMuZm9yRWFjaChjaGFuZ2UgPT4ge1xuICAgICAgICBzd2l0Y2ggKGNoYW5nZSkge1xuICAgICAgICAgIGNhc2UgRGF0YWdyaWRDb2x1bW5DaGFuZ2VzLldJRFRIOlxuICAgICAgICAgICAgdGhpcy5zZXRXaWR0aChzdGF0ZSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIERhdGFncmlkQ29sdW1uQ2hhbmdlcy5ISURERU46XG4gICAgICAgICAgICB0aGlzLnNldEhpZGRlbihzdGF0ZSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY2xlYXJXaWR0aCgpIHtcbiAgICAvLyByZW1vdmUgdGhlIHdpZHRoIG9ubHkgaWYgd2Ugc2V0IGl0LCBhbmQgaXQgaXMgbm90IGNoYW5nZWQgYnkgZHJhZ2dpbmcuXG4gICAgaWYgKHRoaXMud2lkdGhTZXQgJiYgIXRoaXMuY29sdW1uUmVzaXplclNlcnZpY2UucmVzaXplZEJ5KSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ3dpZHRoJywgbnVsbCk7XG4gICAgfVxuICAgIGlmICh0aGlzLmF1dG9TZXQpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5lbC5uYXRpdmVFbGVtZW50LCBTVFJJQ1RfV0lEVEhfQ0xBU1MpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZGV0ZWN0U3RyaWN0V2lkdGgoKTogbnVtYmVyIHtcbiAgICBpZiAodGhpcy5jb2x1bW5SZXNpemVyU2VydmljZS5yZXNpemVkQnkpIHtcbiAgICAgIHJldHVybiB0aGlzLmNvbHVtblJlc2l6ZXJTZXJ2aWNlLndpZHRoQWZ0ZXJSZXNpemU7XG4gICAgfSBlbHNlIGlmICh0aGlzLmF1dG9TZXQpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5kb21BZGFwdGVyLnVzZXJEZWZpbmVkV2lkdGgodGhpcy5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNvbXB1dGVXaWR0aChzdHJpY3RXaWR0aDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBsZXQgd2lkdGg6IG51bWJlciA9IHN0cmljdFdpZHRoO1xuICAgIGlmICghd2lkdGgpIHtcbiAgICAgIHdpZHRoID0gdGhpcy5kb21BZGFwdGVyLnNjcm9sbFdpZHRoKHRoaXMuZWwubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuICAgIHJldHVybiB3aWR0aDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDb2x1bW5XaWR0aFN0YXRlKCk6IFBhcnRpYWw8Q29sdW1uU3RhdGU+IHtcbiAgICBjb25zdCBzdHJpY3RXaWR0aCA9IHRoaXMuZGV0ZWN0U3RyaWN0V2lkdGgoKTtcbiAgICByZXR1cm4ge1xuICAgICAgd2lkdGg6IHRoaXMuY29tcHV0ZVdpZHRoKHN0cmljdFdpZHRoKSxcbiAgICAgIHN0cmljdFdpZHRoOiBzdHJpY3RXaWR0aCxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHNldENvbHVtblN0YXRlKGluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLmNvbHVtbnNTZXJ2aWNlLmNvbHVtbnNbaW5kZXhdID0gdGhpcy5jb2x1bW5TdGF0ZTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0V2lkdGgoc3RhdGU6IENvbHVtblN0YXRlKSB7XG4gICAgaWYgKHN0YXRlLnN0cmljdFdpZHRoKSB7XG4gICAgICBpZiAodGhpcy5jb2x1bW5SZXNpemVyU2VydmljZS5yZXNpemVkQnkpIHtcbiAgICAgICAgdGhpcy5yZXNpemVFbWl0dGVyLmVtaXQoc3RhdGUud2lkdGgpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ3dpZHRoJywgc3RhdGUud2lkdGggKyAncHgnKTtcbiAgICAgICAgdGhpcy53aWR0aFNldCA9IGZhbHNlO1xuICAgICAgfVxuICAgICAgLy8gRG9uJ3Qgc2V0IHdpZHRoIGlmIHRoZXJlIGlzIGEgdXNlci1kZWZpbmVkIG9uZS4gSnVzdCBhZGQgdGhlIHN0cmljdCB3aWR0aCBjbGFzcy5cbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbC5uYXRpdmVFbGVtZW50LCBTVFJJQ1RfV0lEVEhfQ0xBU1MpO1xuICAgICAgdGhpcy5hdXRvU2V0ID0gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5lbC5uYXRpdmVFbGVtZW50LCBTVFJJQ1RfV0lEVEhfQ0xBU1MpO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICd3aWR0aCcsIHN0YXRlLndpZHRoICsgJ3B4Jyk7XG4gICAgICB0aGlzLndpZHRoU2V0ID0gdHJ1ZTtcbiAgICAgIHRoaXMuYXV0b1NldCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRIaWRkZW4oc3RhdGU6IENvbHVtblN0YXRlKSB7XG4gICAgaWYgKHN0YXRlLmhpZGRlbikge1xuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsIEhJRERFTl9DT0xVTU5fQ0xBU1MpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgSElEREVOX0NPTFVNTl9DTEFTUyk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,198 @@
1
+ /*
2
+ * Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
3
+ * This software is released under MIT license.
4
+ * The full license information can be found in LICENSE in the root directory of this project.
5
+ */
6
+ import { isPlatformBrowser } from '@angular/common';
7
+ import { ContentChildren, Directive, PLATFORM_ID, } from '@angular/core';
8
+ import { DatagridRenderStep } from '../enums/render-step.enum';
9
+ import { DomAdapter } from '../../../utils/dom-adapter/dom-adapter';
10
+ import { DatagridHeaderRenderer } from './header-renderer';
11
+ import { NoopDomAdapter } from './noop-dom-adapter';
12
+ import { DatagridColumnChanges } from '../enums/column-changes.enum';
13
+ import { DatagridRowRenderer } from './row-renderer';
14
+ import * as i0 from "@angular/core";
15
+ import * as i1 from "./render-organizer";
16
+ import * as i2 from "../providers/items";
17
+ import * as i3 from "../providers/page";
18
+ import * as i4 from "../../../utils/dom-adapter/dom-adapter";
19
+ import * as i5 from "../providers/detail.service";
20
+ import * as i6 from "../providers/table-size.service";
21
+ import * as i7 from "../providers/columns.service";
22
+ // Fixes build error
23
+ // @dynamic (https://github.com/angular/angular/issues/19698#issuecomment-338340211)
24
+ export const domAdapterFactory = (platformId) => {
25
+ if (isPlatformBrowser(platformId)) {
26
+ return new DomAdapter();
27
+ }
28
+ else {
29
+ return new NoopDomAdapter();
30
+ }
31
+ };
32
+ // Fixes build error
33
+ // @dynamic (https://github.com/angular/angular/issues/19698#issuecomment-338340211)
34
+ export class DatagridMainRenderer {
35
+ constructor(organizer, items, page, domAdapter, el, renderer, detailService, tableSizeService, columnsService) {
36
+ this.organizer = organizer;
37
+ this.items = items;
38
+ this.page = page;
39
+ this.domAdapter = domAdapter;
40
+ this.el = el;
41
+ this.renderer = renderer;
42
+ this.detailService = detailService;
43
+ this.tableSizeService = tableSizeService;
44
+ this.columnsService = columnsService;
45
+ this._heightSet = false;
46
+ this.subscriptions = [];
47
+ /**
48
+ * Indicates if we want to re-compute columns width. This should only happen:
49
+ * 1) When headers change, with columns being added or removed
50
+ * 2) When rows are lazily loaded for the first time
51
+ */
52
+ this.columnsSizesStable = false;
53
+ this.shouldStabilizeColumns = true;
54
+ this.subscriptions.push(this.organizer
55
+ .filterRenderSteps(DatagridRenderStep.COMPUTE_COLUMN_WIDTHS)
56
+ .subscribe(() => this.computeHeadersWidth()));
57
+ this.subscriptions.push(this.page.sizeChange.subscribe(() => {
58
+ if (this._heightSet) {
59
+ this.resetDatagridHeight();
60
+ }
61
+ }));
62
+ this.subscriptions.push(this.detailService.stateChange.subscribe(state => this.toggleDetailPane(state)));
63
+ this.subscriptions.push(this.items.change.subscribe(() => (this.shouldStabilizeColumns = true)));
64
+ }
65
+ ngAfterContentInit() {
66
+ this.setupColumns();
67
+ this.subscriptions.push(this.headers.changes.subscribe(() => {
68
+ // TODO: only re-stabilize if a column was added or removed. Reordering is fine.
69
+ // Need to setup columns before stabalizing them
70
+ this.setupColumns();
71
+ this.columnsSizesStable = false;
72
+ this.stabilizeColumns();
73
+ }));
74
+ }
75
+ // Initialize and set Table width for horizontal scrolling here.
76
+ ngAfterViewInit() {
77
+ this.tableSizeService.table = this.el;
78
+ }
79
+ ngAfterViewChecked() {
80
+ if (this.shouldStabilizeColumns) {
81
+ this.stabilizeColumns();
82
+ }
83
+ if (this.shouldComputeHeight()) {
84
+ setTimeout(() => {
85
+ this.computeDatagridHeight();
86
+ });
87
+ }
88
+ }
89
+ setupColumns() {
90
+ this.headers.forEach((header, index) => header.setColumnState(index));
91
+ this.columnsService.columns.splice(this.headers.length); // Trim any old columns
92
+ this.rows.forEach(row => row.setColumnState());
93
+ }
94
+ shouldComputeHeight() {
95
+ if (!this._heightSet && this.page.size > 0) {
96
+ if (this.items.displayed.length === this.page.size) {
97
+ return true;
98
+ }
99
+ }
100
+ return false;
101
+ }
102
+ toggleDetailPane(state) {
103
+ if (this.headers) {
104
+ if (state && !this.columnsService.hasCache()) {
105
+ this.columnsService.cache();
106
+ this.headers.forEach((_header, index) => {
107
+ if (index > 0) {
108
+ this.columnsService.emitStateChangeAt(index, {
109
+ changes: [DatagridColumnChanges.HIDDEN],
110
+ hidden: state,
111
+ });
112
+ }
113
+ });
114
+ }
115
+ else if (!state) {
116
+ this.columnsService.resetToLastCache();
117
+ }
118
+ }
119
+ }
120
+ /**
121
+ * Computes the height of the datagrid.
122
+ *
123
+ * NOTE: We had to choose to set the height instead of the min-height because
124
+ * IE 11 requires the height on the parent for the children flex grow/shrink properties to work.
125
+ * When we used min-height, 1 1 auto doesn't used to work in IE11 :-(
126
+ * But this doesn't affect the fix. It works in both fixed & variable height datagrids.
127
+ *
128
+ * Refer: http://stackoverflow.com/questions/24396205/flex-grow-not-working-in-internet-explorer-11-0
129
+ */
130
+ computeDatagridHeight() {
131
+ // IE doesn't return correct value for getComputedStyle(element).getPropertyValue("height")
132
+ const value = this.domAdapter.clientRect(this.el.nativeElement).height;
133
+ this.renderer.setStyle(this.el.nativeElement, 'height', value + 'px');
134
+ this._heightSet = true;
135
+ }
136
+ resetDatagridHeight() {
137
+ this.renderer.setStyle(this.el.nativeElement, 'height', '');
138
+ this._heightSet = false;
139
+ }
140
+ ngOnDestroy() {
141
+ this.subscriptions.forEach(sub => sub.unsubscribe());
142
+ }
143
+ /**
144
+ * Makes each header compute its width.
145
+ */
146
+ computeHeadersWidth() {
147
+ const nbColumns = this.headers.length;
148
+ let allStrict = true;
149
+ this.headers.forEach((header, index) => {
150
+ // On the last header column check whether all columns have strict widths.
151
+ // If all columns have strict widths, remove the strict width from the last column and make it the column's
152
+ // minimum width so that when all previous columns shrink, it will get a flexible width and cover the empty
153
+ // gap in the Datagrid.
154
+ const state = {
155
+ changes: [DatagridColumnChanges.WIDTH],
156
+ ...header.getColumnWidthState(),
157
+ };
158
+ if (!state.strictWidth) {
159
+ allStrict = false;
160
+ }
161
+ if (nbColumns === index + 1 && allStrict) {
162
+ state.strictWidth = 0;
163
+ }
164
+ this.columnsService.emitStateChangeAt(index, state);
165
+ });
166
+ }
167
+ /**
168
+ * Triggers a whole re-rendring cycle to set column sizes, if needed.
169
+ */
170
+ stabilizeColumns() {
171
+ this.shouldStabilizeColumns = false;
172
+ if (this.columnsSizesStable) {
173
+ // Nothing to do.
174
+ return;
175
+ }
176
+ // Resize when the rows are loaded.
177
+ if (this.items.displayed.length > 0) {
178
+ this.organizer.resize();
179
+ this.columnsSizesStable = true;
180
+ }
181
+ }
182
+ }
183
+ DatagridMainRenderer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: DatagridMainRenderer, deps: [{ token: i1.DatagridRenderOrganizer }, { token: i2.Items }, { token: i3.Page }, { token: i4.DomAdapter }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i5.DetailService }, { token: i6.TableSizeService }, { token: i7.ColumnsService }], target: i0.ɵɵFactoryTarget.Directive });
184
+ DatagridMainRenderer.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0", type: DatagridMainRenderer, selector: "clr-datagrid", providers: [{ provide: DomAdapter, useFactory: domAdapterFactory, deps: [PLATFORM_ID] }], queries: [{ propertyName: "headers", predicate: DatagridHeaderRenderer }, { propertyName: "rows", predicate: DatagridRowRenderer, descendants: true }], ngImport: i0 });
185
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: DatagridMainRenderer, decorators: [{
186
+ type: Directive,
187
+ args: [{
188
+ selector: 'clr-datagrid',
189
+ providers: [{ provide: DomAdapter, useFactory: domAdapterFactory, deps: [PLATFORM_ID] }],
190
+ }]
191
+ }], ctorParameters: function () { return [{ type: i1.DatagridRenderOrganizer }, { type: i2.Items }, { type: i3.Page }, { type: i4.DomAdapter }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i5.DetailService }, { type: i6.TableSizeService }, { type: i7.ColumnsService }]; }, propDecorators: { headers: [{
192
+ type: ContentChildren,
193
+ args: [DatagridHeaderRenderer]
194
+ }], rows: [{
195
+ type: ContentChildren,
196
+ args: [DatagridRowRenderer, { descendants: true }]
197
+ }] } });
198
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1yZW5kZXJlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2RhdGEvZGF0YWdyaWQvcmVuZGVyL21haW4tcmVuZGVyZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUNILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFJTCxlQUFlLEVBQ2YsU0FBUyxFQUdULFdBQVcsR0FHWixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUsvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBR3BELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7QUFJckQsb0JBQW9CO0FBQ3BCLG9GQUFvRjtBQUNwRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLFVBQWUsRUFBRSxFQUFFO0lBQ25ELElBQUksaUJBQWlCLENBQUMsVUFBVSxDQUFDLEVBQUU7UUFDakMsT0FBTyxJQUFJLFVBQVUsRUFBRSxDQUFDO0tBQ3pCO1NBQU07UUFDTCxPQUFPLElBQUksY0FBYyxFQUFFLENBQUM7S0FDN0I7QUFDSCxDQUFDLENBQUM7QUFFRixvQkFBb0I7QUFDcEIsb0ZBQW9GO0FBS3BGLE1BQU0sT0FBTyxvQkFBb0I7SUFDL0IsWUFDVSxTQUFrQyxFQUNsQyxLQUFZLEVBQ1osSUFBVSxFQUNWLFVBQXNCLEVBQ3RCLEVBQWMsRUFDZCxRQUFtQixFQUNuQixhQUE0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QUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMSBWTXdhcmUsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cbmltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIEFmdGVyVmlld0NoZWNrZWQsXG4gIEFmdGVyVmlld0luaXQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBPbkRlc3Ryb3ksXG4gIFBMQVRGT1JNX0lELFxuICBRdWVyeUxpc3QsXG4gIFJlbmRlcmVyMixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRGF0YWdyaWRSZW5kZXJTdGVwIH0gZnJvbSAnLi4vZW51bXMvcmVuZGVyLXN0ZXAuZW51bSc7XG5pbXBvcnQgeyBJdGVtcyB9IGZyb20gJy4uL3Byb3ZpZGVycy9pdGVtcyc7XG5pbXBvcnQgeyBQYWdlIH0gZnJvbSAnLi4vcHJvdmlkZXJzL3BhZ2UnO1xuaW1wb3J0IHsgVGFibGVTaXplU2VydmljZSB9IGZyb20gJy4uL3Byb3ZpZGVycy90YWJsZS1zaXplLnNlcnZpY2UnO1xuXG5pbXBvcnQgeyBEb21BZGFwdGVyIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvZG9tLWFkYXB0ZXIvZG9tLWFkYXB0ZXInO1xuaW1wb3J0IHsgRGF0YWdyaWRIZWFkZXJSZW5kZXJlciB9IGZyb20gJy4vaGVhZGVyLXJlbmRlcmVyJztcbmltcG9ydCB7IE5vb3BEb21BZGFwdGVyIH0gZnJvbSAnLi9ub29wLWRvbS1hZGFwdGVyJztcbmltcG9ydCB7IERhdGFncmlkUmVuZGVyT3JnYW5pemVyIH0gZnJvbSAnLi9yZW5kZXItb3JnYW5pemVyJztcbmltcG9ydCB7IENvbHVtbnNTZXJ2aWNlIH0gZnJvbSAnLi4vcHJvdmlkZXJzL2NvbHVtbnMuc2VydmljZSc7XG5pbXBvcnQgeyBEYXRhZ3JpZENvbHVtbkNoYW5nZXMgfSBmcm9tICcuLi9lbnVtcy9jb2x1bW4tY2hhbmdlcy5lbnVtJztcbmltcG9ydCB7IERhdGFncmlkUm93UmVuZGVyZXIgfSBmcm9tICcuL3Jvdy1yZW5kZXJlcic7XG5pbXBvcnQgeyBDb2x1bW5TdGF0ZURpZmYgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2NvbHVtbi1zdGF0ZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRGV0YWlsU2VydmljZSB9IGZyb20gJy4uL3Byb3ZpZGVycy9kZXRhaWwuc2VydmljZSc7XG5cbi8vIEZpeGVzIGJ1aWxkIGVycm9yXG4vLyBAZHluYW1pYyAoaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMTk2OTgjaXNzdWVjb21tZW50LTMzODM0MDIxMSlcbmV4cG9ydCBjb25zdCBkb21BZGFwdGVyRmFjdG9yeSA9IChwbGF0Zm9ybUlkOiBhbnkpID0+IHtcbiAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHBsYXRmb3JtSWQpKSB7XG4gICAgcmV0dXJuIG5ldyBEb21BZGFwdGVyKCk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIG5ldyBOb29wRG9tQWRhcHRlcigpO1xuICB9XG59O1xuXG4vLyBGaXhlcyBidWlsZCBlcnJvclxuLy8gQGR5bmFtaWMgKGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzE5Njk4I2lzc3VlY29tbWVudC0zMzgzNDAyMTEpXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdjbHItZGF0YWdyaWQnLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IERvbUFkYXB0ZXIsIHVzZUZhY3Rvcnk6IGRvbUFkYXB0ZXJGYWN0b3J5LCBkZXBzOiBbUExBVEZPUk1fSURdIH1dLFxufSlcbmV4cG9ydCBjbGFzcyBEYXRhZ3JpZE1haW5SZW5kZXJlciBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIEFmdGVyVmlld0luaXQsIEFmdGVyVmlld0NoZWNrZWQsIE9uRGVzdHJveSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgb3JnYW5pemVyOiBEYXRhZ3JpZFJlbmRlck9yZ2FuaXplcixcbiAgICBwcml2YXRlIGl0ZW1zOiBJdGVtcyxcbiAgICBwcml2YXRlIHBhZ2U6IFBhZ2UsXG4gICAgcHJpdmF0ZSBkb21BZGFwdGVyOiBEb21BZGFwdGVyLFxuICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgZGV0YWlsU2VydmljZTogRGV0YWlsU2VydmljZSxcbiAgICBwcml2YXRlIHRhYmxlU2l6ZVNlcnZpY2U6IFRhYmxlU2l6ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb2x1bW5zU2VydmljZTogQ29sdW1uc1NlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICB0aGlzLm9yZ2FuaXplclxuICAgICAgICAuZmlsdGVyUmVuZGVyU3RlcHMoRGF0YWdyaWRSZW5kZXJTdGVwLkNPTVBVVEVfQ09MVU1OX1dJRFRIUylcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNvbXB1dGVIZWFkZXJzV2lkdGgoKSlcbiAgICApO1xuXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICB0aGlzLnBhZ2Uuc2l6ZUNoYW5nZS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5faGVpZ2h0U2V0KSB7XG4gICAgICAgICAgdGhpcy5yZXNldERhdGFncmlkSGVpZ2h0KCk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaCh0aGlzLmRldGFpbFNlcnZpY2Uuc3RhdGVDaGFuZ2Uuc3Vic2NyaWJlKHN0YXRlID0+IHRoaXMudG9nZ2xlRGV0YWlsUGFuZShzdGF0ZSkpKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaCh0aGlzLml0ZW1zLmNoYW5nZS5zdWJzY3JpYmUoKCkgPT4gKHRoaXMuc2hvdWxkU3RhYmlsaXplQ29sdW1ucyA9IHRydWUpKSk7XG4gIH1cblxuICBAQ29udGVudENoaWxkcmVuKERhdGFncmlkSGVhZGVyUmVuZGVyZXIpIHByaXZhdGUgaGVhZGVyczogUXVlcnlMaXN0PERhdGFncmlkSGVhZGVyUmVuZGVyZXI+O1xuICBAQ29udGVudENoaWxkcmVuKERhdGFncmlkUm93UmVuZGVyZXIsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgcHJpdmF0ZSByb3dzOiBRdWVyeUxpc3Q8RGF0YWdyaWRSb3dSZW5kZXJlcj47IC8vIGlmIGV4cGFuZGFibGUgcm93IGlzIGV4cGFuZGVkIGluaXRpYWxseSwgcXVlcnkgaXRzIGNlbGxzIHRvby5cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgdGhpcy5zZXR1cENvbHVtbnMoKTtcblxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy5oZWFkZXJzLmNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgLy8gVE9ETzogb25seSByZS1zdGFiaWxpemUgaWYgYSBjb2x1bW4gd2FzIGFkZGVkIG9yIHJlbW92ZWQuIFJlb3JkZXJpbmcgaXMgZmluZS5cbiAgICAgICAgLy8gTmVlZCB0byBzZXR1cCBjb2x1bW5zIGJlZm9yZSBzdGFiYWxpemluZyB0aGVtXG4gICAgICAgIHRoaXMuc2V0dXBDb2x1bW5zKCk7XG4gICAgICAgIHRoaXMuY29sdW1uc1NpemVzU3RhYmxlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc3RhYmlsaXplQ29sdW1ucygpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLy8gSW5pdGlhbGl6ZSBhbmQgc2V0IFRhYmxlIHdpZHRoIGZvciBob3Jpem9udGFsIHNjcm9sbGluZyBoZXJlLlxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy50YWJsZVNpemVTZXJ2aWNlLnRhYmxlID0gdGhpcy5lbDtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpIHtcbiAgICBpZiAodGhpcy5zaG91bGRTdGFiaWxpemVDb2x1bW5zKSB7XG4gICAgICB0aGlzLnN0YWJpbGl6ZUNvbHVtbnMoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuc2hvdWxkQ29tcHV0ZUhlaWdodCgpKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5jb21wdXRlRGF0YWdyaWRIZWlnaHQoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBDb2x1bW5zKCkge1xuICAgIHRoaXMuaGVhZGVycy5mb3JFYWNoKChoZWFkZXIsIGluZGV4KSA9PiBoZWFkZXIuc2V0Q29sdW1uU3RhdGUoaW5kZXgpKTtcbiAgICB0aGlzLmNvbHVtbnNTZXJ2aWNlLmNvbHVtbnMuc3BsaWNlKHRoaXMuaGVhZGVycy5sZW5ndGgpOyAvLyBUcmltIGFueSBvbGQgY29sdW1uc1xuICAgIHRoaXMucm93cy5mb3JFYWNoKHJvdyA9PiByb3cuc2V0Q29sdW1uU3RhdGUoKSk7XG4gIH1cblxuICBwcml2YXRlIF9oZWlnaHRTZXQgPSBmYWxzZTtcblxuICBwcml2YXRlIHNob3VsZENvbXB1dGVIZWlnaHQoKTogYm9vbGVhbiB7XG4gICAgaWYgKCF0aGlzLl9oZWlnaHRTZXQgJiYgdGhpcy5wYWdlLnNpemUgPiAwKSB7XG4gICAgICBpZiAodGhpcy5pdGVtcy5kaXNwbGF5ZWQubGVuZ3RoID09PSB0aGlzLnBhZ2Uuc2l6ZSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHVibGljIHRvZ2dsZURldGFpbFBhbmUoc3RhdGU6IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy5oZWFkZXJzKSB7XG4gICAgICBpZiAoc3RhdGUgJiYgIXRoaXMuY29sdW1uc1NlcnZpY2UuaGFzQ2FjaGUoKSkge1xuICAgICAgICB0aGlzLmNvbHVtbnNTZXJ2aWNlLmNhY2hlKCk7XG4gICAgICAgIHRoaXMuaGVhZGVycy5mb3JFYWNoKChfaGVhZGVyLCBpbmRleCkgPT4ge1xuICAgICAgICAgIGlmIChpbmRleCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuY29sdW1uc1NlcnZpY2UuZW1pdFN0YXRlQ2hhbmdlQXQoaW5kZXgsIHtcbiAgICAgICAgICAgICAgY2hhbmdlczogW0RhdGFncmlkQ29sdW1uQ2hhbmdlcy5ISURERU5dLFxuICAgICAgICAgICAgICBoaWRkZW46IHN0YXRlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSBpZiAoIXN0YXRlKSB7XG4gICAgICAgIHRoaXMuY29sdW1uc1NlcnZpY2UucmVzZXRUb0xhc3RDYWNoZSgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDb21wdXRlcyB0aGUgaGVpZ2h0IG9mIHRoZSBkYXRhZ3JpZC5cbiAgICpcbiAgICogTk9URTogV2UgaGFkIHRvIGNob29zZSB0byBzZXQgdGhlIGhlaWdodCBpbnN0ZWFkIG9mIHRoZSBtaW4taGVpZ2h0IGJlY2F1c2VcbiAgICogSUUgMTEgcmVxdWlyZXMgdGhlIGhlaWdodCBvbiB0aGUgcGFyZW50IGZvciB0aGUgY2hpbGRyZW4gZmxleCBncm93L3NocmluayBwcm9wZXJ0aWVzIHRvIHdvcmsuXG4gICAqIFdoZW4gd2UgdXNlZCBtaW4taGVpZ2h0LCAxIDEgYXV0byBkb2Vzbid0IHVzZWQgdG8gd29yayBpbiBJRTExIDotKFxuICAgKiBCdXQgdGhpcyBkb2Vzbid0IGFmZmVjdCB0aGUgZml4LiBJdCB3b3JrcyBpbiBib3RoIGZpeGVkICYgdmFyaWFibGUgaGVpZ2h0IGRhdGFncmlkcy5cbiAgICpcbiAgICogUmVmZXI6IGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMjQzOTYyMDUvZmxleC1ncm93LW5vdC13b3JraW5nLWluLWludGVybmV0LWV4cGxvcmVyLTExLTBcbiAgICovXG4gIHByaXZhdGUgY29tcHV0ZURhdGFncmlkSGVpZ2h0KCkge1xuICAgIC8vIElFIGRvZXNuJ3QgcmV0dXJuIGNvcnJlY3QgdmFsdWUgZm9yIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1ZShcImhlaWdodFwiKVxuICAgIGNvbnN0IHZhbHVlOiBudW1iZXIgPSB0aGlzLmRvbUFkYXB0ZXIuY2xpZW50UmVjdCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpLmhlaWdodDtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ2hlaWdodCcsIHZhbHVlICsgJ3B4Jyk7XG4gICAgdGhpcy5faGVpZ2h0U2V0ID0gdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzZXREYXRhZ3JpZEhlaWdodCgpIHtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ2hlaWdodCcsICcnKTtcbiAgICB0aGlzLl9oZWlnaHRTZXQgPSBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaChzdWIgPT4gc3ViLnVuc3Vic2NyaWJlKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1ha2VzIGVhY2ggaGVhZGVyIGNvbXB1dGUgaXRzIHdpZHRoLlxuICAgKi9cbiAgcHJpdmF0ZSBjb21wdXRlSGVhZGVyc1dpZHRoKCkge1xuICAgIGNvbnN0IG5iQ29sdW1uczogbnVtYmVyID0gdGhpcy5oZWFkZXJzLmxlbmd0aDtcbiAgICBsZXQgYWxsU3RyaWN0ID0gdHJ1ZTtcbiAgICB0aGlzLmhlYWRlcnMuZm9yRWFjaCgoaGVhZGVyLCBpbmRleCkgPT4ge1xuICAgICAgLy8gT24gdGhlIGxhc3QgaGVhZGVyIGNvbHVtbiBjaGVjayB3aGV0aGVyIGFsbCBjb2x1bW5zIGhhdmUgc3RyaWN0IHdpZHRocy5cbiAgICAgIC8vIElmIGFsbCBjb2x1bW5zIGhhdmUgc3RyaWN0IHdpZHRocywgcmVtb3ZlIHRoZSBzdHJpY3Qgd2lkdGggZnJvbSB0aGUgbGFzdCBjb2x1bW4gYW5kIG1ha2UgaXQgdGhlIGNvbHVtbidzXG4gICAgICAvLyBtaW5pbXVtIHdpZHRoIHNvIHRoYXQgd2hlbiBhbGwgcHJldmlvdXMgY29sdW1ucyBzaHJpbmssIGl0IHdpbGwgZ2V0IGEgZmxleGlibGUgd2lkdGggYW5kIGNvdmVyIHRoZSBlbXB0eVxuICAgICAgLy8gZ2FwIGluIHRoZSBEYXRhZ3JpZC5cbiAgICAgIGNvbnN0IHN0YXRlOiBDb2x1bW5TdGF0ZURpZmYgPSB7XG4gICAgICAgIGNoYW5nZXM6IFtEYXRhZ3JpZENvbHVtbkNoYW5nZXMuV0lEVEhdLFxuICAgICAgICAuLi5oZWFkZXIuZ2V0Q29sdW1uV2lkdGhTdGF0ZSgpLFxuICAgICAgfTtcblxuICAgICAgaWYgKCFzdGF0ZS5zdHJpY3RXaWR0aCkge1xuICAgICAgICBhbGxTdHJpY3QgPSBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgaWYgKG5iQ29sdW1ucyA9PT0gaW5kZXggKyAxICYmIGFsbFN0cmljdCkge1xuICAgICAgICBzdGF0ZS5zdHJpY3RXaWR0aCA9IDA7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuY29sdW1uc1NlcnZpY2UuZW1pdFN0YXRlQ2hhbmdlQXQoaW5kZXgsIHN0YXRlKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgd2Ugd2FudCB0byByZS1jb21wdXRlIGNvbHVtbnMgd2lkdGguIFRoaXMgc2hvdWxkIG9ubHkgaGFwcGVuOlxuICAgKiAxKSBXaGVuIGhlYWRlcnMgY2hhbmdlLCB3aXRoIGNvbHVtbnMgYmVpbmcgYWRkZWQgb3IgcmVtb3ZlZFxuICAgKiAyKSBXaGVuIHJvd3MgYXJlIGxhemlseSBsb2FkZWQgZm9yIHRoZSBmaXJzdCB0aW1lXG4gICAqL1xuICBwcml2YXRlIGNvbHVtbnNTaXplc1N0YWJsZSA9IGZhbHNlO1xuXG4gIHByaXZhdGUgc2hvdWxkU3RhYmlsaXplQ29sdW1ucyA9IHRydWU7XG5cbiAgLyoqXG4gICAqIFRyaWdnZXJzIGEgd2hvbGUgcmUtcmVuZHJpbmcgY3ljbGUgdG8gc2V0IGNvbHVtbiBzaXplcywgaWYgbmVlZGVkLlxuICAgKi9cbiAgcHJpdmF0ZSBzdGFiaWxpemVDb2x1bW5zKCkge1xuICAgIHRoaXMuc2hvdWxkU3RhYmlsaXplQ29sdW1ucyA9IGZhbHNlO1xuICAgIGlmICh0aGlzLmNvbHVtbnNTaXplc1N0YWJsZSkge1xuICAgICAgLy8gTm90aGluZyB0byBkby5cbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gUmVzaXplIHdoZW4gdGhlIHJvd3MgYXJlIGxvYWRlZC5cbiAgICBpZiAodGhpcy5pdGVtcy5kaXNwbGF5ZWQubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5vcmdhbml6ZXIucmVzaXplKCk7XG4gICAgICB0aGlzLmNvbHVtbnNTaXplc1N0YWJsZSA9IHRydWU7XG4gICAgfVxuICB9XG59XG4iXX0=