@clr/angular 12.0.8 → 13.0.0-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1132) 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/{esm2015/accordion/models/accordion.model.js → esm2020/accordion/models/accordion.model.mjs} +0 -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 +42 -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 +134 -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 +26606 -0
  579. package/fesm2015/clr-angular.mjs.map +1 -0
  580. package/{fesm2015/clr-angular.js → fesm2020/clr-angular.mjs} +8969 -6517
  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 +3 -0
  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 +3 -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/providers/accordion.service.js +0 -44
  829. package/esm2015/accordion/stepper/chocolate/stepper-oompa-loompa.js +0 -30
  830. package/esm2015/accordion/stepper/chocolate/stepper-willy-wonka.js +0 -13
  831. package/esm2015/accordion/stepper/providers/stepper.service.js +0 -52
  832. package/esm2015/accordion/stepper/step-button.js +0 -47
  833. package/esm2015/accordion/stepper/stepper-panel.js +0 -88
  834. package/esm2015/accordion/stepper/stepper.js +0 -87
  835. package/esm2015/accordion/stepper/stepper.module.js +0 -25
  836. package/esm2015/button/button-group/button-group.js +0 -129
  837. package/esm2015/button/button-group/button-group.module.js +0 -22
  838. package/esm2015/button/button-loading/loading-button.js +0 -109
  839. package/esm2015/button/button-loading/loading-button.module.js +0 -19
  840. package/esm2015/button/button.module.js +0 -21
  841. package/esm2015/button/providers/button-in-group.service.js +0 -22
  842. package/esm2015/clr-angular.js +0 -108
  843. package/esm2015/clr-angular.module.js +0 -55
  844. package/esm2015/data/data.module.js +0 -15
  845. package/esm2015/data/datagrid/built-in/filters/datagrid-numeric-filter.js +0 -169
  846. package/esm2015/data/datagrid/built-in/filters/datagrid-string-filter.js +0 -111
  847. package/esm2015/data/datagrid/chocolate/actionable-oompa-loompa.js +0 -30
  848. package/esm2015/data/datagrid/chocolate/datagrid-willy-wonka.js +0 -13
  849. package/esm2015/data/datagrid/chocolate/expandable-oompa-loompa.js +0 -30
  850. package/esm2015/data/datagrid/datagrid-action-bar.js +0 -16
  851. package/esm2015/data/datagrid/datagrid-action-overflow.js +0 -123
  852. package/esm2015/data/datagrid/datagrid-cell.js +0 -38
  853. package/esm2015/data/datagrid/datagrid-column-separator.js +0 -151
  854. package/esm2015/data/datagrid/datagrid-column-toggle-button.js +0 -53
  855. package/esm2015/data/datagrid/datagrid-column-toggle-title.js +0 -16
  856. package/esm2015/data/datagrid/datagrid-column-toggle.js +0 -149
  857. package/esm2015/data/datagrid/datagrid-column.js +0 -374
  858. package/esm2015/data/datagrid/datagrid-detail-body.js +0 -22
  859. package/esm2015/data/datagrid/datagrid-detail-header.js +0 -45
  860. package/esm2015/data/datagrid/datagrid-detail-registerer.js +0 -31
  861. package/esm2015/data/datagrid/datagrid-detail.js +0 -52
  862. package/esm2015/data/datagrid/datagrid-filter.js +0 -131
  863. package/esm2015/data/datagrid/datagrid-footer.js +0 -58
  864. package/esm2015/data/datagrid/datagrid-hideable-column.js +0 -97
  865. package/esm2015/data/datagrid/datagrid-if-detail.js +0 -62
  866. package/esm2015/data/datagrid/datagrid-if-expanded.service.js +0 -52
  867. package/esm2015/data/datagrid/datagrid-items-trackby.js +0 -29
  868. package/esm2015/data/datagrid/datagrid-items.js +0 -63
  869. package/esm2015/data/datagrid/datagrid-page-size.js +0 -37
  870. package/esm2015/data/datagrid/datagrid-pagination.js +0 -258
  871. package/esm2015/data/datagrid/datagrid-placeholder.js +0 -34
  872. package/esm2015/data/datagrid/datagrid-row-detail.js +0 -81
  873. package/esm2015/data/datagrid/datagrid-row.js +0 -218
  874. package/esm2015/data/datagrid/datagrid.js +0 -295
  875. package/esm2015/data/datagrid/datagrid.module.js +0 -127
  876. package/esm2015/data/datagrid/enums/column-changes.enum.js +0 -16
  877. package/esm2015/data/datagrid/providers/column-resizer.service.js +0 -59
  878. package/esm2015/data/datagrid/providers/columns.service.js +0 -50
  879. package/esm2015/data/datagrid/providers/detail.service.js +0 -58
  880. package/esm2015/data/datagrid/providers/display-mode.service.js +0 -35
  881. package/esm2015/data/datagrid/providers/filters.js +0 -112
  882. package/esm2015/data/datagrid/providers/global-expandable-rows.js +0 -33
  883. package/esm2015/data/datagrid/providers/items.js +0 -175
  884. package/esm2015/data/datagrid/providers/page.js +0 -155
  885. package/esm2015/data/datagrid/providers/row-action-service.js +0 -27
  886. package/esm2015/data/datagrid/providers/selection.js +0 -376
  887. package/esm2015/data/datagrid/providers/sort.js +0 -85
  888. package/esm2015/data/datagrid/providers/state-debouncer.provider.js +0 -39
  889. package/esm2015/data/datagrid/providers/state.provider.js +0 -77
  890. package/esm2015/data/datagrid/providers/table-size.service.js +0 -41
  891. package/esm2015/data/datagrid/render/cell-renderer.js +0 -82
  892. package/esm2015/data/datagrid/render/header-renderer.js +0 -133
  893. package/esm2015/data/datagrid/render/main-renderer.js +0 -199
  894. package/esm2015/data/datagrid/render/noop-dom-adapter.js +0 -51
  895. package/esm2015/data/datagrid/render/render-organizer.js +0 -35
  896. package/esm2015/data/datagrid/render/row-renderer.js +0 -57
  897. package/esm2015/data/datagrid/utils/datagrid-filter-registrar.js +0 -41
  898. package/esm2015/data/datagrid/wrapped-cell.js +0 -31
  899. package/esm2015/data/datagrid/wrapped-column.js +0 -32
  900. package/esm2015/data/datagrid/wrapped-row.js +0 -32
  901. package/esm2015/data/stack-view/stack-block.js +0 -146
  902. package/esm2015/data/stack-view/stack-content-input.js +0 -25
  903. package/esm2015/data/stack-view/stack-header.js +0 -45
  904. package/esm2015/data/stack-view/stack-select.js +0 -38
  905. package/esm2015/data/stack-view/stack-view-custom-tags.js +0 -12
  906. package/esm2015/data/stack-view/stack-view.js +0 -50
  907. package/esm2015/data/stack-view/stack-view.module.js +0 -47
  908. package/esm2015/data/tree-view/recursive-children.js +0 -70
  909. package/esm2015/data/tree-view/recursive-for-of.js +0 -53
  910. package/esm2015/data/tree-view/tree-features.service.js +0 -34
  911. package/esm2015/data/tree-view/tree-focus-manager.service.js +0 -118
  912. package/esm2015/data/tree-view/tree-node-link.js +0 -25
  913. package/esm2015/data/tree-view/tree-node.js +0 -252
  914. package/esm2015/data/tree-view/tree-view.module.js +0 -30
  915. package/esm2015/data/tree-view/tree.js +0 -78
  916. package/esm2015/emphasis/alert/alert-item.js +0 -32
  917. package/esm2015/emphasis/alert/alert-text.js +0 -18
  918. package/esm2015/emphasis/alert/alert.js +0 -96
  919. package/esm2015/emphasis/alert/alert.module.js +0 -30
  920. package/esm2015/emphasis/alert/alerts-pager.js +0 -69
  921. package/esm2015/emphasis/alert/alerts.js +0 -94
  922. package/esm2015/emphasis/alert/providers/icon-and-types.service.js +0 -74
  923. package/esm2015/emphasis/alert/providers/multi-alert.service.js +0 -76
  924. package/esm2015/emphasis/emphasis.module.js +0 -13
  925. package/esm2015/forms/checkbox/checkbox-container.js +0 -95
  926. package/esm2015/forms/checkbox/checkbox-wrapper.js +0 -57
  927. package/esm2015/forms/checkbox/checkbox.js +0 -40
  928. package/esm2015/forms/checkbox/checkbox.module.js +0 -29
  929. package/esm2015/forms/combobox/combobox-container.js +0 -79
  930. package/esm2015/forms/combobox/combobox.js +0 -329
  931. package/esm2015/forms/combobox/combobox.module.js +0 -53
  932. package/esm2015/forms/combobox/option-items.directive.js +0 -96
  933. package/esm2015/forms/combobox/option-selected.directive.js +0 -21
  934. package/esm2015/forms/combobox/option.js +0 -91
  935. package/esm2015/forms/combobox/options.js +0 -125
  936. package/esm2015/forms/combobox/providers/combobox-container.service.js +0 -15
  937. package/esm2015/forms/combobox/providers/combobox-focus-handler.service.js +0 -213
  938. package/esm2015/forms/combobox/providers/option-selection.service.js +0 -78
  939. package/esm2015/forms/common/abstract-container.js +0 -113
  940. package/esm2015/forms/common/abstract-control.js +0 -47
  941. package/esm2015/forms/common/common.module.js +0 -56
  942. package/esm2015/forms/common/control-container.js +0 -51
  943. package/esm2015/forms/common/control.js +0 -26
  944. package/esm2015/forms/common/error.js +0 -32
  945. package/esm2015/forms/common/form.js +0 -47
  946. package/esm2015/forms/common/helper.js +0 -32
  947. package/esm2015/forms/common/if-control-state/abstract-if-state.js +0 -41
  948. package/esm2015/forms/common/if-control-state/if-control-state.service.js +0 -56
  949. package/esm2015/forms/common/if-control-state/if-error.js +0 -65
  950. package/esm2015/forms/common/if-control-state/if-success.js +0 -42
  951. package/esm2015/forms/common/label.js +0 -61
  952. package/esm2015/forms/common/layout.js +0 -30
  953. package/esm2015/forms/common/providers/container-id.service.js +0 -30
  954. package/esm2015/forms/common/providers/control-class.service.js +0 -50
  955. package/esm2015/forms/common/providers/control-id.service.js +0 -28
  956. package/esm2015/forms/common/providers/focus.service.js +0 -22
  957. package/esm2015/forms/common/providers/layout.service.js +0 -54
  958. package/esm2015/forms/common/providers/mark-control.service.js +0 -22
  959. package/esm2015/forms/common/providers/ng-control.service.js +0 -30
  960. package/esm2015/forms/common/success.js +0 -32
  961. package/esm2015/forms/common/wrapped-control.js +0 -158
  962. package/esm2015/forms/datalist/datalist-container.js +0 -79
  963. package/esm2015/forms/datalist/datalist-input.js +0 -59
  964. package/esm2015/forms/datalist/datalist.js +0 -46
  965. package/esm2015/forms/datalist/datalist.module.js +0 -27
  966. package/esm2015/forms/datalist/providers/datalist-id.service.js +0 -28
  967. package/esm2015/forms/datepicker/calendar.js +0 -119
  968. package/esm2015/forms/datepicker/date-container.js +0 -179
  969. package/esm2015/forms/datepicker/date-input.js +0 -256
  970. package/esm2015/forms/datepicker/datepicker-view-manager.js +0 -46
  971. package/esm2015/forms/datepicker/datepicker.module.js +0 -55
  972. package/esm2015/forms/datepicker/day.js +0 -72
  973. package/esm2015/forms/datepicker/daypicker.js +0 -84
  974. package/esm2015/forms/datepicker/monthpicker.js +0 -116
  975. package/esm2015/forms/datepicker/providers/date-form-control.service.js +0 -33
  976. package/esm2015/forms/datepicker/providers/date-io.service.js +0 -176
  977. package/esm2015/forms/datepicker/providers/date-navigation.service.js +0 -127
  978. package/esm2015/forms/datepicker/providers/datepicker-enabled.service.js +0 -43
  979. package/esm2015/forms/datepicker/providers/datepicker-focus.service.js +0 -45
  980. package/esm2015/forms/datepicker/providers/locale-helper.service.js +0 -98
  981. package/esm2015/forms/datepicker/providers/view-manager.service.js +0 -38
  982. package/esm2015/forms/datepicker/yearpicker.js +0 -193
  983. package/esm2015/forms/forms.module.js +0 -39
  984. package/esm2015/forms/input/input.js +0 -26
  985. package/esm2015/forms/input/input.module.js +0 -29
  986. package/esm2015/forms/password/password-container.js +0 -120
  987. package/esm2015/forms/password/password.js +0 -53
  988. package/esm2015/forms/password/password.module.js +0 -28
  989. package/esm2015/forms/radio/radio-container.js +0 -95
  990. package/esm2015/forms/radio/radio-wrapper.js +0 -39
  991. package/esm2015/forms/radio/radio.js +0 -25
  992. package/esm2015/forms/radio/radio.module.js +0 -29
  993. package/esm2015/forms/range/range-container.js +0 -93
  994. package/esm2015/forms/range/range.js +0 -25
  995. package/esm2015/forms/range/range.module.js +0 -28
  996. package/esm2015/forms/select/select-container.js +0 -82
  997. package/esm2015/forms/select/select.js +0 -26
  998. package/esm2015/forms/select/select.module.js +0 -28
  999. package/esm2015/forms/textarea/textarea-container.js +0 -51
  1000. package/esm2015/forms/textarea/textarea.js +0 -26
  1001. package/esm2015/forms/textarea/textarea.module.js +0 -28
  1002. package/esm2015/icon/icon.js +0 -17
  1003. package/esm2015/icon/icon.module.js +0 -15
  1004. package/esm2015/layout/layout.module.js +0 -16
  1005. package/esm2015/layout/main-container/main-container.js +0 -58
  1006. package/esm2015/layout/main-container/main-container.module.js +0 -20
  1007. package/esm2015/layout/nav/chocolate/main-container-willy-wonka.js +0 -13
  1008. package/esm2015/layout/nav/chocolate/nav-detection-oompa-loompa.js +0 -32
  1009. package/esm2015/layout/nav/header.js +0 -94
  1010. package/esm2015/layout/nav/nav-level.js +0 -79
  1011. package/esm2015/layout/nav/navigation.module.js +0 -29
  1012. package/esm2015/layout/tabs/chocolate/active-oompa-loompa.js +0 -32
  1013. package/esm2015/layout/tabs/chocolate/tabs-willy-wonka.js +0 -13
  1014. package/esm2015/layout/tabs/providers/tabs.service.js +0 -42
  1015. package/esm2015/layout/tabs/tab-content.js +0 -77
  1016. package/esm2015/layout/tabs/tab-link.directive.js +0 -93
  1017. package/esm2015/layout/tabs/tab-overflow-content.js +0 -18
  1018. package/esm2015/layout/tabs/tab.js +0 -42
  1019. package/esm2015/layout/tabs/tabs.js +0 -235
  1020. package/esm2015/layout/tabs/tabs.module.js +0 -42
  1021. package/esm2015/layout/vertical-nav/providers/vertical-nav-group-registration.service.js +0 -21
  1022. package/esm2015/layout/vertical-nav/providers/vertical-nav-group.service.js +0 -22
  1023. package/esm2015/layout/vertical-nav/providers/vertical-nav-icon.service.js +0 -24
  1024. package/esm2015/layout/vertical-nav/providers/vertical-nav.service.js +0 -51
  1025. package/esm2015/layout/vertical-nav/vertical-nav-group-children.js +0 -15
  1026. package/esm2015/layout/vertical-nav/vertical-nav-group.js +0 -158
  1027. package/esm2015/layout/vertical-nav/vertical-nav-icon.js +0 -23
  1028. package/esm2015/layout/vertical-nav/vertical-nav-link.js +0 -36
  1029. package/esm2015/layout/vertical-nav/vertical-nav.js +0 -77
  1030. package/esm2015/layout/vertical-nav/vertical-nav.module.js +0 -37
  1031. package/esm2015/modal/modal-body.js +0 -43
  1032. package/esm2015/modal/modal.js +0 -111
  1033. package/esm2015/modal/modal.module.js +0 -28
  1034. package/esm2015/popover/common/abstract-popover.js +0 -133
  1035. package/esm2015/popover/dropdown/dropdown-item.js +0 -87
  1036. package/esm2015/popover/dropdown/dropdown-menu.js +0 -105
  1037. package/esm2015/popover/dropdown/dropdown-trigger.js +0 -50
  1038. package/esm2015/popover/dropdown/dropdown.js +0 -52
  1039. package/esm2015/popover/dropdown/dropdown.module.js +0 -24
  1040. package/esm2015/popover/dropdown/providers/dropdown-focus-handler.service.js +0 -181
  1041. package/esm2015/popover/dropdown/providers/dropdown.service.js +0 -30
  1042. package/esm2015/popover/popover.module.js +0 -15
  1043. package/esm2015/popover/signpost/providers/signpost-focus-manager.service.js +0 -20
  1044. package/esm2015/popover/signpost/providers/signpost-id.service.js +0 -23
  1045. package/esm2015/popover/signpost/signpost-content.js +0 -150
  1046. package/esm2015/popover/signpost/signpost-trigger.js +0 -95
  1047. package/esm2015/popover/signpost/signpost.js +0 -72
  1048. package/esm2015/popover/signpost/signpost.module.js +0 -29
  1049. package/esm2015/popover/tooltip/providers/tooltip-id.service.js +0 -22
  1050. package/esm2015/popover/tooltip/tooltip-content.js +0 -123
  1051. package/esm2015/popover/tooltip/tooltip-trigger.js +0 -46
  1052. package/esm2015/popover/tooltip/tooltip.js +0 -30
  1053. package/esm2015/popover/tooltip/tooltip.module.js +0 -23
  1054. package/esm2015/progress/progress-bars/progress-bar.module.js +0 -19
  1055. package/esm2015/progress/spinner/spinner.js +0 -63
  1056. package/esm2015/progress/spinner/spinner.module.js +0 -19
  1057. package/esm2015/timeline/providers/timeline-icon-attribute.service.js +0 -54
  1058. package/esm2015/timeline/timeline-step-description.js +0 -16
  1059. package/esm2015/timeline/timeline-step-header.js +0 -16
  1060. package/esm2015/timeline/timeline-step-title.js +0 -26
  1061. package/esm2015/timeline/timeline-step.js +0 -73
  1062. package/esm2015/timeline/timeline.js +0 -29
  1063. package/esm2015/timeline/timeline.module.js +0 -36
  1064. package/esm2015/utils/a11y/aria-live.service.js +0 -161
  1065. package/esm2015/utils/animations/expandable-animation/expandable-animation.js +0 -57
  1066. package/esm2015/utils/animations/expandable-animation/expandable-animation.module.js +0 -18
  1067. package/esm2015/utils/aria/aria.service.js +0 -13
  1068. package/esm2015/utils/chocolate/oompa-loompa.js +0 -33
  1069. package/esm2015/utils/chocolate/willy-wonka.js +0 -33
  1070. package/esm2015/utils/conditional/conditional.module.js +0 -17
  1071. package/esm2015/utils/conditional/if-active.directive.js +0 -100
  1072. package/esm2015/utils/conditional/if-active.service.js +0 -74
  1073. package/esm2015/utils/conditional/if-expanded.directive.js +0 -91
  1074. package/esm2015/utils/conditional/if-expanded.service.js +0 -55
  1075. package/esm2015/utils/conditional/if-open.directive.js +0 -86
  1076. package/esm2015/utils/dom-adapter/dom-adapter.js +0 -49
  1077. package/esm2015/utils/drag-and-drop/drag-and-drop.module.js +0 -30
  1078. package/esm2015/utils/drag-and-drop/drag-handle.js +0 -30
  1079. package/esm2015/utils/drag-and-drop/draggable/draggable.js +0 -119
  1080. package/esm2015/utils/drag-and-drop/draggable-ghost.js +0 -116
  1081. package/esm2015/utils/drag-and-drop/droppable/droppable.js +0 -209
  1082. package/esm2015/utils/drag-and-drop/if-dragged.js +0 -40
  1083. package/esm2015/utils/drag-and-drop/providers/drag-event-listener.service.js +0 -181
  1084. package/esm2015/utils/drag-and-drop/providers/drag-handle-registrar.service.js +0 -61
  1085. package/esm2015/utils/drag-and-drop/providers/draggable-snapshot.service.js +0 -38
  1086. package/esm2015/utils/drag-and-drop/providers/global-drag-mode.service.js +0 -26
  1087. package/esm2015/utils/focus/focus-on-view-init/focus-on-view-init.js +0 -76
  1088. package/esm2015/utils/focus/focus-on-view-init/focus-on-view-init.module.js +0 -21
  1089. package/esm2015/utils/focus/focus.service.js +0 -94
  1090. package/esm2015/utils/focus/focusable-item/basic-focusable-item.service.js +0 -55
  1091. package/esm2015/utils/focus/key-focus/key-focus-item.js +0 -31
  1092. package/esm2015/utils/focus/key-focus/key-focus.js +0 -181
  1093. package/esm2015/utils/focus/key-focus/key-focus.module.js +0 -21
  1094. package/esm2015/utils/focus/key-focus/roving-tabindex.js +0 -100
  1095. package/esm2015/utils/focus-trap/focus-trap-tracker.service.js +0 -30
  1096. package/esm2015/utils/focus-trap/focus-trap.directive.js +0 -154
  1097. package/esm2015/utils/focus-trap/focus-trap.module.js +0 -19
  1098. package/esm2015/utils/host-wrapping/empty-anchor.js +0 -14
  1099. package/esm2015/utils/host-wrapping/host-wrapping.module.js +0 -16
  1100. package/esm2015/utils/i18n/common-strings.service.js +0 -45
  1101. package/esm2015/utils/loading/loading.js +0 -52
  1102. package/esm2015/utils/loading/loading.module.js +0 -15
  1103. package/esm2015/utils/outside-click/outside-click.js +0 -45
  1104. package/esm2015/utils/outside-click/outside-click.module.js +0 -14
  1105. package/esm2015/utils/popover/popover-anchor.js +0 -26
  1106. package/esm2015/utils/popover/popover-close-button.js +0 -51
  1107. package/esm2015/utils/popover/popover-content.js +0 -146
  1108. package/esm2015/utils/popover/popover-open-close-button.js +0 -40
  1109. package/esm2015/utils/popover/popover.module.js +0 -21
  1110. package/esm2015/utils/popover/position-operators.js +0 -171
  1111. package/esm2015/utils/popover/providers/popover-events.service.js +0 -159
  1112. package/esm2015/utils/popover/providers/popover-position.service.js +0 -213
  1113. package/esm2015/utils/popover/providers/popover-toggle.service.js +0 -67
  1114. package/esm2015/utils/scrolling/scrolling-service.js +0 -27
  1115. package/esm2015/utils/template-ref/template-ref-container.js +0 -21
  1116. package/esm2015/utils/template-ref/template-ref.module.js +0 -19
  1117. package/esm2015/wizard/providers/button-hub.service.js +0 -60
  1118. package/esm2015/wizard/providers/header-actions.service.js +0 -37
  1119. package/esm2015/wizard/providers/page-collection.service.js +0 -358
  1120. package/esm2015/wizard/providers/wizard-navigation.service.js +0 -575
  1121. package/esm2015/wizard/wizard-button.js +0 -163
  1122. package/esm2015/wizard/wizard-custom-tags.js +0 -12
  1123. package/esm2015/wizard/wizard-header-action.js +0 -55
  1124. package/esm2015/wizard/wizard-page-buttons.js +0 -18
  1125. package/esm2015/wizard/wizard-page-header-actions.js +0 -18
  1126. package/esm2015/wizard/wizard-page-navtitle.js +0 -18
  1127. package/esm2015/wizard/wizard-page-title.js +0 -18
  1128. package/esm2015/wizard/wizard-stepnav-item.js +0 -100
  1129. package/esm2015/wizard/wizard-stepnav.js +0 -34
  1130. package/esm2015/wizard/wizard.js +0 -438
  1131. package/esm2015/wizard/wizard.module.js +0 -48
  1132. package/fesm2015/clr-angular.js.map +0 -1
@@ -0,0 +1,26 @@
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
+ */
7
+ import { Directive } from '@angular/core';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "./providers/popover-events.service";
10
+ export class ClrPopoverAnchor {
11
+ constructor(smartEventService, element) {
12
+ smartEventService.anchorButtonRef = element;
13
+ }
14
+ }
15
+ ClrPopoverAnchor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrPopoverAnchor, deps: [{ token: i1.ClrPopoverEventsService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
16
+ ClrPopoverAnchor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0", type: ClrPopoverAnchor, selector: "[clrPopoverAnchor]", host: { properties: { "class.clr-anchor": "true" } }, ngImport: i0 });
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrPopoverAnchor, decorators: [{
18
+ type: Directive,
19
+ args: [{
20
+ selector: '[clrPopoverAnchor]',
21
+ host: {
22
+ '[class.clr-anchor]': 'true',
23
+ },
24
+ }]
25
+ }], ctorParameters: function () { return [{ type: i1.ClrPopoverEventsService }, { type: i0.ElementRef }]; } });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1hbmNob3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy91dGlscy9wb3BvdmVyL3BvcG92ZXItYW5jaG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBYyxNQUFNLGVBQWUsQ0FBQzs7O0FBU3RELE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsWUFBWSxpQkFBMEMsRUFBRSxPQUFtQjtRQUN6RSxpQkFBaUIsQ0FBQyxlQUFlLEdBQUcsT0FBTyxDQUFDO0lBQzlDLENBQUM7OzZHQUhVLGdCQUFnQjtpR0FBaEIsZ0JBQWdCOzJGQUFoQixnQkFBZ0I7a0JBTjVCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsSUFBSSxFQUFFO3dCQUNKLG9CQUFvQixFQUFFLE1BQU07cUJBQzdCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxNi0yMDIxIFZNd2FyZSwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICogVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZS5cbiAqIFRoZSBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIGluIExJQ0VOU0UgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgcHJvamVjdC5cbiAqXG4gKi9cblxuaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDbHJQb3BvdmVyRXZlbnRzU2VydmljZSB9IGZyb20gJy4vcHJvdmlkZXJzL3BvcG92ZXItZXZlbnRzLnNlcnZpY2UnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbY2xyUG9wb3ZlckFuY2hvcl0nLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzcy5jbHItYW5jaG9yXSc6ICd0cnVlJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgQ2xyUG9wb3ZlckFuY2hvciB7XG4gIGNvbnN0cnVjdG9yKHNtYXJ0RXZlbnRTZXJ2aWNlOiBDbHJQb3BvdmVyRXZlbnRzU2VydmljZSwgZWxlbWVudDogRWxlbWVudFJlZikge1xuICAgIHNtYXJ0RXZlbnRTZXJ2aWNlLmFuY2hvckJ1dHRvblJlZiA9IGVsZW1lbnQ7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,52 @@
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
+ */
7
+ import { Directive, EventEmitter, Output, HostListener } from '@angular/core';
8
+ import { filter } from 'rxjs/operators';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "./providers/popover-events.service";
11
+ import * as i2 from "./providers/popover-toggle.service";
12
+ export class ClrPopoverCloseButton {
13
+ constructor(elementRef, smartEventsService, smartOpenService) {
14
+ this.elementRef = elementRef;
15
+ this.smartEventsService = smartEventsService;
16
+ this.smartOpenService = smartOpenService;
17
+ this.subscriptions = [];
18
+ this.closeChange = new EventEmitter();
19
+ this.subscriptions.push(smartOpenService.openChange.pipe(filter(value => !value)).subscribe(() => {
20
+ this.closeChange.next();
21
+ }));
22
+ }
23
+ handleClick(event) {
24
+ this.smartOpenService.toggleWithEvent(event);
25
+ this.smartEventsService.setAnchorFocus();
26
+ }
27
+ ngAfterViewInit() {
28
+ this.smartEventsService.closeButtonRef = this.elementRef;
29
+ this.smartEventsService.setCloseFocus();
30
+ }
31
+ ngOnDestroy() {
32
+ this.subscriptions.forEach(sub => sub.unsubscribe());
33
+ }
34
+ }
35
+ ClrPopoverCloseButton.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrPopoverCloseButton, deps: [{ token: i0.ElementRef }, { token: i1.ClrPopoverEventsService }, { token: i2.ClrPopoverToggleService }], target: i0.ɵɵFactoryTarget.Directive });
36
+ ClrPopoverCloseButton.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0", type: ClrPopoverCloseButton, selector: "[clrPopoverCloseButton]", outputs: { closeChange: "clrPopoverOnCloseChange" }, host: { listeners: { "click": "handleClick($event)" }, properties: { "class.clr-smart-close-button": "true" } }, ngImport: i0 });
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrPopoverCloseButton, decorators: [{
38
+ type: Directive,
39
+ args: [{
40
+ selector: '[clrPopoverCloseButton]',
41
+ host: {
42
+ '[class.clr-smart-close-button]': 'true',
43
+ },
44
+ }]
45
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.ClrPopoverEventsService }, { type: i2.ClrPopoverToggleService }]; }, propDecorators: { closeChange: [{
46
+ type: Output,
47
+ args: ['clrPopoverOnCloseChange']
48
+ }], handleClick: [{
49
+ type: HostListener,
50
+ args: ['click', ['$event']]
51
+ }] } });
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1jbG9zZS1idXR0b24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy91dGlscy9wb3BvdmVyL3BvcG92ZXItY2xvc2UtYnV0dG9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFJcEgsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBUXhDLE1BQU0sT0FBTyxxQkFBcUI7SUFHaEMsWUFDVSxVQUFzQixFQUN0QixrQkFBMkMsRUFDM0MsZ0JBQXlDO1FBRnpDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUF5QjtRQUMzQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXlCO1FBTDNDLGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztRQWNSLGdCQUFXLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFQNUYsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQ3JCLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDdkUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUtELFdBQVcsQ0FBQyxLQUFpQjtRQUMzQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUN6RCxJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7O2tIQTdCVSxxQkFBcUI7c0dBQXJCLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQU5qQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx5QkFBeUI7b0JBQ25DLElBQUksRUFBRTt3QkFDSixnQ0FBZ0MsRUFBRSxNQUFNO3FCQUN6QztpQkFDRjs2S0FnQm9DLFdBQVc7c0JBQTdDLE1BQU07dUJBQUMseUJBQXlCO2dCQUdqQyxXQUFXO3NCQURWLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxNi0yMDIxIFZNd2FyZSwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICogVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZS5cbiAqIFRoZSBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIGluIExJQ0VOU0UgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgcHJvamVjdC5cbiAqXG4gKi9cblxuaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIE91dHB1dCwgSG9zdExpc3RlbmVyLCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ2xyUG9wb3ZlckV2ZW50c1NlcnZpY2UgfSBmcm9tICcuL3Byb3ZpZGVycy9wb3BvdmVyLWV2ZW50cy5zZXJ2aWNlJztcbmltcG9ydCB7IENsclBvcG92ZXJUb2dnbGVTZXJ2aWNlIH0gZnJvbSAnLi9wcm92aWRlcnMvcG9wb3Zlci10b2dnbGUuc2VydmljZSc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tjbHJQb3BvdmVyQ2xvc2VCdXR0b25dJyxcbiAgaG9zdDoge1xuICAgICdbY2xhc3MuY2xyLXNtYXJ0LWNsb3NlLWJ1dHRvbl0nOiAndHJ1ZScsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIENsclBvcG92ZXJDbG9zZUJ1dHRvbiBpbXBsZW1lbnRzIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBzbWFydEV2ZW50c1NlcnZpY2U6IENsclBvcG92ZXJFdmVudHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgc21hcnRPcGVuU2VydmljZTogQ2xyUG9wb3ZlclRvZ2dsZVNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICBzbWFydE9wZW5TZXJ2aWNlLm9wZW5DaGFuZ2UucGlwZShmaWx0ZXIodmFsdWUgPT4gIXZhbHVlKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5jbG9zZUNoYW5nZS5uZXh0KCk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBAT3V0cHV0KCdjbHJQb3BvdmVyT25DbG9zZUNoYW5nZScpIGNsb3NlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuICBoYW5kbGVDbGljayhldmVudDogTW91c2VFdmVudCkge1xuICAgIHRoaXMuc21hcnRPcGVuU2VydmljZS50b2dnbGVXaXRoRXZlbnQoZXZlbnQpO1xuICAgIHRoaXMuc21hcnRFdmVudHNTZXJ2aWNlLnNldEFuY2hvckZvY3VzKCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5zbWFydEV2ZW50c1NlcnZpY2UuY2xvc2VCdXR0b25SZWYgPSB0aGlzLmVsZW1lbnRSZWY7XG4gICAgdGhpcy5zbWFydEV2ZW50c1NlcnZpY2Uuc2V0Q2xvc2VGb2N1cygpO1xuICB9XG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHN1YiA9PiBzdWIudW5zdWJzY3JpYmUoKSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,150 @@
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
+ */
7
+ import { Directive, Inject, Input, EventEmitter, } from '@angular/core';
8
+ import { DOCUMENT } from '@angular/common';
9
+ import { debounceTime } from 'rxjs/operators';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "./providers/popover-position.service";
12
+ import * as i2 from "./providers/popover-events.service";
13
+ import * as i3 from "./providers/popover-toggle.service";
14
+ // https://github.com/angular/angular/issues/20351#issuecomment-344009887
15
+ /** @dynamic */
16
+ export class ClrPopoverContent {
17
+ constructor(document, container, template, renderer, smartPositionService, smartEventsService, smartOpenService) {
18
+ this.document = document;
19
+ this.container = container;
20
+ this.template = template;
21
+ this.renderer = renderer;
22
+ this.smartPositionService = smartPositionService;
23
+ this.smartEventsService = smartEventsService;
24
+ this.smartOpenService = smartOpenService;
25
+ this.subscriptions = [];
26
+ this.shouldRealign = false;
27
+ // Check-collector pattern:
28
+ // In order to get accurate content height/width values, we cannot calculate alignment offsets until
29
+ // after the projected content has stabilized.
30
+ // As multiple check events may happen in the same rendering cycle, we need to collect all events
31
+ // and only act after the content is really stable. Or we may get wrong intermediate positioning values.
32
+ // We will channel subsequent content check events through this observable.
33
+ this.checkCollector = new EventEmitter();
34
+ }
35
+ set open(value) {
36
+ this.smartOpenService.open = !!value;
37
+ }
38
+ set contentAt(position) {
39
+ this.smartPositionService.position = position;
40
+ }
41
+ set outsideClickClose(clickToClose) {
42
+ this.smartEventsService.outsideClickClose = !!clickToClose;
43
+ }
44
+ set scrollToClose(scrollToClose) {
45
+ this.smartEventsService.scrollToClose = !!scrollToClose;
46
+ }
47
+ ngAfterViewInit() {
48
+ this.subscriptions.push(this.smartOpenService.openChange.subscribe(change => {
49
+ if (change) {
50
+ this.addContent();
51
+ }
52
+ else {
53
+ this.removeContent();
54
+ }
55
+ }), this.smartPositionService.shouldRealign.subscribe(() => {
56
+ this.shouldRealign = true;
57
+ // Avoid flickering on initialization, caused by the asynchronous nature of the
58
+ // check-collector pattern.
59
+ if (this.view) {
60
+ this.renderer.setStyle(this.view.rootNodes[0], 'opacity', '0');
61
+ }
62
+ }),
63
+ // Here we collect subsequent synchronously received content-check events and only take action
64
+ // at the end of the cycle. See below for details on the check-collector pattern.
65
+ this.checkCollector.pipe(debounceTime(0)).subscribe(() => {
66
+ this.alignContent();
67
+ this.shouldRealign = false;
68
+ if (this.view) {
69
+ this.renderer.setStyle(this.view.rootNodes[0], 'opacity', '1');
70
+ }
71
+ }));
72
+ }
73
+ ngOnDestroy() {
74
+ this.removeContent();
75
+ this.subscriptions.forEach(sub => sub.unsubscribe());
76
+ }
77
+ removeContent() {
78
+ if (!this.view) {
79
+ return;
80
+ }
81
+ this.view.rootNodes.forEach(node => this.renderer.removeChild(this.document.body, node));
82
+ this.container.clear();
83
+ delete this.view;
84
+ }
85
+ /**
86
+ * TODO(matt): investigate why DebugElement retains a reference to the nodes and causes a memory leak.
87
+ * A note about the use of appendChild/removeChild
88
+ * The DebugElement is keeping a reference to the detached node and its unclear why.
89
+ * This does warrant further investigation. But, since it doesn't happen in production mode
90
+ * it is a low priority issue for now.
91
+ */
92
+ addContent() {
93
+ // Create the view container
94
+ this.view = this.container.createEmbeddedView(this.template);
95
+ this.smartEventsService.contentRef = this.view.rootNodes[0]; // So we know where/what to set close focus on
96
+ this.renderer.addClass(this.view.rootNodes[0], 'clr-popover-content');
97
+ // Reset to the begining of the document to be available for sizing/positioning calculations.
98
+ // If we add new content to the bottom it triggers changes in the layout that may lead to false anchor
99
+ // coordinates values.
100
+ this.renderer.setStyle(this.view.rootNodes[0], 'top', '0px');
101
+ this.renderer.setStyle(this.view.rootNodes[0], 'left', '0px');
102
+ // We need to hide it during the calculation phase, while it's not yet finally positioned.
103
+ this.renderer.setStyle(this.view.rootNodes[0], 'opacity', '0');
104
+ this.renderer.listen(this.view.rootNodes[0], 'click', event => {
105
+ this.smartOpenService.openEvent = event;
106
+ });
107
+ this.view.rootNodes.forEach(node => {
108
+ this.renderer.appendChild(this.document.body, node);
109
+ });
110
+ // Mark for realingment on the next content-check cycle.
111
+ this.shouldRealign = true;
112
+ }
113
+ ngAfterContentChecked() {
114
+ if (this.smartOpenService.open && this.view && this.shouldRealign) {
115
+ // Channel content-check event through the check-collector
116
+ this.checkCollector.emit();
117
+ }
118
+ }
119
+ alignContent() {
120
+ if (!this.view) {
121
+ return;
122
+ }
123
+ const positionCoords = this.smartPositionService.alignContent(this.view.rootNodes[0]);
124
+ this.renderer.setStyle(this.view.rootNodes[0], 'top', `${positionCoords.yOffset}px`);
125
+ this.renderer.setStyle(this.view.rootNodes[0], 'left', `${positionCoords.xOffset}px`);
126
+ this.smartOpenService.popoverAlignedEmit(this.view.rootNodes[0]);
127
+ }
128
+ }
129
+ ClrPopoverContent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrPopoverContent, deps: [{ token: DOCUMENT }, { token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: i0.Renderer2 }, { token: i1.ClrPopoverPositionService }, { token: i2.ClrPopoverEventsService }, { token: i3.ClrPopoverToggleService }], target: i0.ɵɵFactoryTarget.Directive });
130
+ ClrPopoverContent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0", type: ClrPopoverContent, selector: "[clrPopoverContent]", inputs: { open: ["clrPopoverContent", "open"], contentAt: ["clrPopoverContentAt", "contentAt"], outsideClickClose: ["clrPopoverContentOutsideClickToClose", "outsideClickClose"], scrollToClose: ["clrPopoverContentScrollToClose", "scrollToClose"] }, ngImport: i0 });
131
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrPopoverContent, decorators: [{
132
+ type: Directive,
133
+ args: [{ selector: '[clrPopoverContent]' }]
134
+ }], ctorParameters: function () { return [{ type: HTMLDocument, decorators: [{
135
+ type: Inject,
136
+ args: [DOCUMENT]
137
+ }] }, { type: i0.ViewContainerRef }, { type: i0.TemplateRef }, { type: i0.Renderer2 }, { type: i1.ClrPopoverPositionService }, { type: i2.ClrPopoverEventsService }, { type: i3.ClrPopoverToggleService }]; }, propDecorators: { open: [{
138
+ type: Input,
139
+ args: ['clrPopoverContent']
140
+ }], contentAt: [{
141
+ type: Input,
142
+ args: ['clrPopoverContentAt']
143
+ }], outsideClickClose: [{
144
+ type: Input,
145
+ args: ['clrPopoverContentOutsideClickToClose']
146
+ }], scrollToClose: [{
147
+ type: Input,
148
+ args: ['clrPopoverContentScrollToClose']
149
+ }] } });
150
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1jb250ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvdXRpbHMvcG9wb3Zlci9wb3BvdmVyLWNvbnRlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFDSCxPQUFPLEVBQ0wsU0FBUyxFQUVULE1BQU0sRUFDTixLQUFLLEVBTUwsWUFBWSxHQUNiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQU8zQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBRTlDLHlFQUF5RTtBQUN6RSxlQUFlO0FBRWYsTUFBTSxPQUFPLGlCQUFpQjtJQXdCNUIsWUFDNEIsUUFBc0IsRUFDeEMsU0FBMkIsRUFDM0IsUUFBMEIsRUFDMUIsUUFBbUIsRUFDbkIsb0JBQStDLEVBQy9DLGtCQUEyQyxFQUMzQyxnQkFBeUM7UUFOdkIsYUFBUSxHQUFSLFFBQVEsQ0FBYztRQUN4QyxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixhQUFRLEdBQVIsUUFBUSxDQUFrQjtRQUMxQixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBMkI7UUFDL0MsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUF5QjtRQUMzQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXlCO1FBN0IzQyxrQkFBYSxHQUFtQixFQUFFLENBQUM7UUF3R25DLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBRTlCLDJCQUEyQjtRQUMzQixvR0FBb0c7UUFDcEcsOENBQThDO1FBQzlDLGlHQUFpRztRQUNqRyx3R0FBd0c7UUFDeEcsMkVBQTJFO1FBQ25FLG1CQUFjLEdBQXVCLElBQUksWUFBWSxFQUFFLENBQUM7SUFsRjdELENBQUM7SUE1QkosSUFDVyxJQUFJLENBQUMsS0FBYztRQUM1QixJQUFJ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QkFEcEIsS0FBSzt1QkFBQyxzQ0FBc0M7Z0JBTXpDLGFBQWE7c0JBRGhCLEtBQUs7dUJBQUMsZ0NBQWdDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxNi0yMDIxIFZNd2FyZSwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICogVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZS5cbiAqIFRoZSBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIGluIExJQ0VOU0UgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgcHJvamVjdC5cbiAqXG4gKi9cbmltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgRW1iZWRkZWRWaWV3UmVmLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIFJlbmRlcmVyMixcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDb250YWluZXJSZWYsXG4gIEFmdGVyQ29udGVudENoZWNrZWQsXG4gIEV2ZW50RW1pdHRlcixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQ2xyUG9wb3ZlclRvZ2dsZVNlcnZpY2UgfSBmcm9tICcuL3Byb3ZpZGVycy9wb3BvdmVyLXRvZ2dsZS5zZXJ2aWNlJztcbmltcG9ydCB7IENsclBvcG92ZXJFdmVudHNTZXJ2aWNlIH0gZnJvbSAnLi9wcm92aWRlcnMvcG9wb3Zlci1ldmVudHMuc2VydmljZSc7XG5pbXBvcnQgeyBDbHJQb3BvdmVyUG9zaXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9wcm92aWRlcnMvcG9wb3Zlci1wb3NpdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IENsclBvcG92ZXJQb3NpdGlvbiB9IGZyb20gJy4vaW50ZXJmYWNlcy9wb3BvdmVyLXBvc2l0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzIwMzUxI2lzc3VlY29tbWVudC0zNDQwMDk4ODdcbi8qKiBAZHluYW1pYyAqL1xuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW2NsclBvcG92ZXJDb250ZW50XScgfSlcbmV4cG9ydCBjbGFzcyBDbHJQb3BvdmVyQ29udGVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudENoZWNrZWQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgdmlldzogRW1iZWRkZWRWaWV3UmVmPHZvaWQ+O1xuICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgQElucHV0KCdjbHJQb3BvdmVyQ29udGVudCcpXG4gIHB1YmxpYyBzZXQgb3Blbih2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuc21hcnRPcGVuU2VydmljZS5vcGVuID0gISF2YWx1ZTtcbiAgfVxuXG4gIEBJbnB1dCgnY2xyUG9wb3ZlckNvbnRlbnRBdCcpXG4gIHNldCBjb250ZW50QXQocG9zaXRpb246IENsclBvcG92ZXJQb3NpdGlvbikge1xuICAgIHRoaXMuc21hcnRQb3NpdGlvblNlcnZpY2UucG9zaXRpb24gPSBwb3NpdGlvbjtcbiAgfVxuXG4gIEBJbnB1dCgnY2xyUG9wb3ZlckNvbnRlbnRPdXRzaWRlQ2xpY2tUb0Nsb3NlJylcbiAgc2V0IG91dHNpZGVDbGlja0Nsb3NlKGNsaWNrVG9DbG9zZTogYm9vbGVhbikge1xuICAgIHRoaXMuc21hcnRFdmVudHNTZXJ2aWNlLm91dHNpZGVDbGlja0Nsb3NlID0gISFjbGlja1RvQ2xvc2U7XG4gIH1cblxuICBASW5wdXQoJ2NsclBvcG92ZXJDb250ZW50U2Nyb2xsVG9DbG9zZScpXG4gIHNldCBzY3JvbGxUb0Nsb3NlKHNjcm9sbFRvQ2xvc2U6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnNtYXJ0RXZlbnRzU2VydmljZS5zY3JvbGxUb0Nsb3NlID0gISFzY3JvbGxUb0Nsb3NlO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogSFRNTERvY3VtZW50LFxuICAgIHByaXZhdGUgY29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHByaXZhdGUgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4sXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgc21hcnRQb3NpdGlvblNlcnZpY2U6IENsclBvcG92ZXJQb3NpdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzbWFydEV2ZW50c1NlcnZpY2U6IENsclBvcG92ZXJFdmVudHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgc21hcnRPcGVuU2VydmljZTogQ2xyUG9wb3ZlclRvZ2dsZVNlcnZpY2VcbiAgKSB7fVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMuc21hcnRPcGVuU2VydmljZS5vcGVuQ2hhbmdlLnN1YnNjcmliZShjaGFuZ2UgPT4ge1xuICAgICAgICBpZiAoY2hhbmdlKSB7XG4gICAgICAgICAgdGhpcy5hZGRDb250ZW50KCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5yZW1vdmVDb250ZW50KCk7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAgdGhpcy5zbWFydFBvc2l0aW9uU2VydmljZS5zaG91bGRSZWFsaWduLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuc2hvdWxkUmVhbGlnbiA9IHRydWU7XG4gICAgICAgIC8vIEF2b2lkIGZsaWNrZXJpbmcgb24gaW5pdGlhbGl6YXRpb24sIGNhdXNlZCBieSB0aGUgYXN5bmNocm9ub3VzIG5hdHVyZSBvZiB0aGVcbiAgICAgICAgLy8gY2hlY2stY29sbGVjdG9yIHBhdHRlcm4uXG4gICAgICAgIGlmICh0aGlzLnZpZXcpIHtcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMudmlldy5yb290Tm9kZXNbMF0sICdvcGFjaXR5JywgJzAnKTtcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgICAvLyBIZXJlIHdlIGNvbGxlY3Qgc3Vic2VxdWVudCBzeW5jaHJvbm91c2x5IHJlY2VpdmVkIGNvbnRlbnQtY2hlY2sgZXZlbnRzIGFuZCBvbmx5IHRha2UgYWN0aW9uXG4gICAgICAvLyBhdCB0aGUgZW5kIG9mIHRoZSBjeWNsZS4gU2VlIGJlbG93IGZvciBkZXRhaWxzIG9uIHRoZSBjaGVjay1jb2xsZWN0b3IgcGF0dGVybi5cbiAgICAgIHRoaXMuY2hlY2tDb2xsZWN0b3IucGlwZShkZWJvdW5jZVRpbWUoMCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuYWxpZ25Db250ZW50KCk7XG4gICAgICAgIHRoaXMuc2hvdWxkUmVhbGlnbiA9IGZhbHNlO1xuICAgICAgICBpZiAodGhpcy52aWV3KSB7XG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnZpZXcucm9vdE5vZGVzWzBdLCAnb3BhY2l0eScsICcxJyk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMucmVtb3ZlQ29udGVudCgpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHN1YiA9PiBzdWIudW5zdWJzY3JpYmUoKSk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUNvbnRlbnQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnZpZXcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy52aWV3LnJvb3ROb2Rlcy5mb3JFYWNoKG5vZGUgPT4gdGhpcy5yZW5kZXJlci5yZW1vdmVDaGlsZCh0aGlzLmRvY3VtZW50LmJvZHksIG5vZGUpKTtcbiAgICB0aGlzLmNvbnRhaW5lci5jbGVhcigpO1xuICAgIGRlbGV0ZSB0aGlzLnZpZXc7XG4gIH1cblxuICAvKipcbiAgICogVE9ETyhtYXR0KTogaW52ZXN0aWdhdGUgd2h5IERlYnVnRWxlbWVudCByZXRhaW5zIGEgcmVmZXJlbmNlIHRvIHRoZSBub2RlcyBhbmQgY2F1c2VzIGEgbWVtb3J5IGxlYWsuXG4gICAqIEEgbm90ZSBhYm91dCB0aGUgdXNlIG9mIGFwcGVuZENoaWxkL3JlbW92ZUNoaWxkXG4gICAqIFRoZSBEZWJ1Z0VsZW1lbnQgaXMga2VlcGluZyBhIHJlZmVyZW5jZSB0byB0aGUgZGV0YWNoZWQgbm9kZSBhbmQgaXRzIHVuY2xlYXIgd2h5LlxuICAgKiBUaGlzIGRvZXMgd2FycmFudCBmdXJ0aGVyIGludmVzdGlnYXRpb24uIEJ1dCwgc2luY2UgaXQgZG9lc24ndCBoYXBwZW4gaW4gcHJvZHVjdGlvbiBtb2RlXG4gICAqIGl0IGlzIGEgbG93IHByaW9yaXR5IGlzc3VlIGZvciBub3cuXG4gICAqL1xuICBwcml2YXRlIGFkZENvbnRlbnQoKSB7XG4gICAgLy8gQ3JlYXRlIHRoZSB2aWV3IGNvbnRhaW5lclxuICAgIHRoaXMudmlldyA9IHRoaXMuY29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLnRlbXBsYXRlKTtcbiAgICB0aGlzLnNtYXJ0RXZlbnRzU2VydmljZS5jb250ZW50UmVmID0gdGhpcy52aWV3LnJvb3ROb2Rlc1swXTsgLy8gU28gd2Uga25vdyB3aGVyZS93aGF0IHRvIHNldCBjbG9zZSBmb2N1cyBvblxuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy52aWV3LnJvb3ROb2Rlc1swXSwgJ2Nsci1wb3BvdmVyLWNvbnRlbnQnKTtcbiAgICAvLyBSZXNldCB0byB0aGUgYmVnaW5pbmcgb2YgdGhlIGRvY3VtZW50IHRvIGJlIGF2YWlsYWJsZSBmb3Igc2l6aW5nL3Bvc2l0aW9uaW5nIGNhbGN1bGF0aW9ucy5cbiAgICAvLyBJZiB3ZSBhZGQgbmV3IGNvbnRlbnQgdG8gdGhlIGJvdHRvbSBpdCB0cmlnZ2VycyBjaGFuZ2VzIGluIHRoZSBsYXlvdXQgdGhhdCBtYXkgbGVhZCB0byBmYWxzZSBhbmNob3JcbiAgICAvLyBjb29yZGluYXRlcyB2YWx1ZXMuXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnZpZXcucm9vdE5vZGVzWzBdLCAndG9wJywgJzBweCcpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy52aWV3LnJvb3ROb2Rlc1swXSwgJ2xlZnQnLCAnMHB4Jyk7XG4gICAgLy8gV2UgbmVlZCB0byBoaWRlIGl0IGR1cmluZyB0aGUgY2FsY3VsYXRpb24gcGhhc2UsIHdoaWxlIGl0J3Mgbm90IHlldCBmaW5hbGx5IHBvc2l0aW9uZWQuXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnZpZXcucm9vdE5vZGVzWzBdLCAnb3BhY2l0eScsICcwJyk7XG4gICAgdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy52aWV3LnJvb3ROb2Rlc1swXSwgJ2NsaWNrJywgZXZlbnQgPT4ge1xuICAgICAgdGhpcy5zbWFydE9wZW5TZXJ2aWNlLm9wZW5FdmVudCA9IGV2ZW50O1xuICAgIH0pO1xuICAgIHRoaXMudmlldy5yb290Tm9kZXMuZm9yRWFjaChub2RlID0+IHtcbiAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5kb2N1bWVudC5ib2R5LCBub2RlKTtcbiAgICB9KTtcbiAgICAvLyBNYXJrIGZvciByZWFsaW5nbWVudCBvbiB0aGUgbmV4dCBjb250ZW50LWNoZWNrIGN5Y2xlLlxuICAgIHRoaXMuc2hvdWxkUmVhbGlnbiA9IHRydWU7XG4gIH1cblxuICBwcml2YXRlIHNob3VsZFJlYWxpZ24gPSBmYWxzZTtcblxuICAvLyBDaGVjay1jb2xsZWN0b3IgcGF0dGVybjpcbiAgLy8gSW4gb3JkZXIgdG8gZ2V0IGFjY3VyYXRlIGNvbnRlbnQgaGVpZ2h0L3dpZHRoIHZhbHVlcywgd2UgY2Fubm90IGNhbGN1bGF0ZSBhbGlnbm1lbnQgb2Zmc2V0cyB1bnRpbFxuICAvLyBhZnRlciB0aGUgcHJvamVjdGVkIGNvbnRlbnQgaGFzIHN0YWJpbGl6ZWQuXG4gIC8vIEFzIG11bHRpcGxlIGNoZWNrIGV2ZW50cyBtYXkgaGFwcGVuIGluIHRoZSBzYW1lIHJlbmRlcmluZyBjeWNsZSwgd2UgbmVlZCB0byBjb2xsZWN0IGFsbCBldmVudHNcbiAgLy8gYW5kIG9ubHkgYWN0IGFmdGVyIHRoZSBjb250ZW50IGlzIHJlYWxseSBzdGFibGUuIE9yIHdlIG1heSBnZXQgd3JvbmcgaW50ZXJtZWRpYXRlIHBvc2l0aW9uaW5nIHZhbHVlcy5cbiAgLy8gV2Ugd2lsbCBjaGFubmVsIHN1YnNlcXVlbnQgY29udGVudCBjaGVjayBldmVudHMgdGhyb3VnaCB0aGlzIG9ic2VydmFibGUuXG4gIHByaXZhdGUgY2hlY2tDb2xsZWN0b3I6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc21hcnRPcGVuU2VydmljZS5vcGVuICYmIHRoaXMudmlldyAmJiB0aGlzLnNob3VsZFJlYWxpZ24pIHtcbiAgICAgIC8vIENoYW5uZWwgY29udGVudC1jaGVjayBldmVudCB0aHJvdWdoIHRoZSBjaGVjay1jb2xsZWN0b3JcbiAgICAgIHRoaXMuY2hlY2tDb2xsZWN0b3IuZW1pdCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYWxpZ25Db250ZW50KCkge1xuICAgIGlmICghdGhpcy52aWV3KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHBvc2l0aW9uQ29vcmRzID0gdGhpcy5zbWFydFBvc2l0aW9uU2VydmljZS5hbGlnbkNvbnRlbnQodGhpcy52aWV3LnJvb3ROb2Rlc1swXSk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnZpZXcucm9vdE5vZGVzWzBdLCAndG9wJywgYCR7cG9zaXRpb25Db29yZHMueU9mZnNldH1weGApO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy52aWV3LnJvb3ROb2Rlc1swXSwgJ2xlZnQnLCBgJHtwb3NpdGlvbkNvb3Jkcy54T2Zmc2V0fXB4YCk7XG4gICAgdGhpcy5zbWFydE9wZW5TZXJ2aWNlLnBvcG92ZXJBbGlnbmVkRW1pdCh0aGlzLnZpZXcucm9vdE5vZGVzWzBdKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,43 @@
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
+ */
7
+ import { Directive, EventEmitter, HostListener, Output } from '@angular/core';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "./providers/popover-toggle.service";
10
+ export class ClrPopoverOpenCloseButton {
11
+ constructor(smartOpenService) {
12
+ this.smartOpenService = smartOpenService;
13
+ this.subscriptions = [];
14
+ this.openCloseChange = new EventEmitter();
15
+ this.subscriptions.push(this.smartOpenService.openChange.subscribe(change => {
16
+ this.openCloseChange.next(change);
17
+ }));
18
+ }
19
+ handleClick(event) {
20
+ this.smartOpenService.toggleWithEvent(event);
21
+ }
22
+ ngOnDestroy() {
23
+ this.subscriptions.forEach(sub => sub.unsubscribe());
24
+ }
25
+ }
26
+ ClrPopoverOpenCloseButton.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrPopoverOpenCloseButton, deps: [{ token: i1.ClrPopoverToggleService }], target: i0.ɵɵFactoryTarget.Directive });
27
+ ClrPopoverOpenCloseButton.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0", type: ClrPopoverOpenCloseButton, selector: "[clrPopoverOpenCloseButton]", outputs: { openCloseChange: "clrPopoverOpenCloseChange" }, host: { listeners: { "click": "handleClick($event)" }, properties: { "class.clr-smart-open-close": "true" } }, ngImport: i0 });
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrPopoverOpenCloseButton, decorators: [{
29
+ type: Directive,
30
+ args: [{
31
+ selector: '[clrPopoverOpenCloseButton]',
32
+ host: {
33
+ '[class.clr-smart-open-close]': 'true',
34
+ },
35
+ }]
36
+ }], ctorParameters: function () { return [{ type: i1.ClrPopoverToggleService }]; }, propDecorators: { openCloseChange: [{
37
+ type: Output,
38
+ args: ['clrPopoverOpenCloseChange']
39
+ }], handleClick: [{
40
+ type: HostListener,
41
+ args: ['click', ['$event']]
42
+ }] } });
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1vcGVuLWNsb3NlLWJ1dHRvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL3V0aWxzL3BvcG92ZXIvcG9wb3Zlci1vcGVuLWNsb3NlLWJ1dHRvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBYSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVV6RixNQUFNLE9BQU8seUJBQXlCO0lBR3BDLFlBQW9CLGdCQUF5QztRQUF6QyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXlCO1FBRnJELGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztRQVVOLG9CQUFlLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7UUFQeEcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQ3JCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2xELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBS0QsV0FBVyxDQUFDLEtBQWlCO1FBQzNCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7O3NIQXBCVSx5QkFBeUI7MEdBQXpCLHlCQUF5QjsyRkFBekIseUJBQXlCO2tCQU5yQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw2QkFBNkI7b0JBQ3ZDLElBQUksRUFBRTt3QkFDSiw4QkFBOEIsRUFBRSxNQUFNO3FCQUN2QztpQkFDRjs4R0FZc0MsZUFBZTtzQkFBbkQsTUFBTTt1QkFBQywyQkFBMkI7Z0JBR25DLFdBQVc7c0JBRFYsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE2LTIwMjEgVk13YXJlLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICpcbiAqL1xuXG5pbXBvcnQgeyBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBPbkRlc3Ryb3ksIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2xyUG9wb3ZlclRvZ2dsZVNlcnZpY2UgfSBmcm9tICcuL3Byb3ZpZGVycy9wb3BvdmVyLXRvZ2dsZS5zZXJ2aWNlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbY2xyUG9wb3Zlck9wZW5DbG9zZUJ1dHRvbl0nLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzcy5jbHItc21hcnQtb3Blbi1jbG9zZV0nOiAndHJ1ZScsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIENsclBvcG92ZXJPcGVuQ2xvc2VCdXR0b24gaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzbWFydE9wZW5TZXJ2aWNlOiBDbHJQb3BvdmVyVG9nZ2xlU2VydmljZSkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy5zbWFydE9wZW5TZXJ2aWNlLm9wZW5DaGFuZ2Uuc3Vic2NyaWJlKGNoYW5nZSA9PiB7XG4gICAgICAgIHRoaXMub3BlbkNsb3NlQ2hhbmdlLm5leHQoY2hhbmdlKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIEBPdXRwdXQoJ2NsclBvcG92ZXJPcGVuQ2xvc2VDaGFuZ2UnKSBvcGVuQ2xvc2VDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIGhhbmRsZUNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5zbWFydE9wZW5TZXJ2aWNlLnRvZ2dsZVdpdGhFdmVudChldmVudCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaChzdWIgPT4gc3ViLnVuc3Vic2NyaWJlKCkpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,26 @@
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
+ */
7
+ import { NgModule } from '@angular/core';
8
+ import { ClrPopoverContent } from './popover-content';
9
+ import { ClrPopoverOpenCloseButton } from './popover-open-close-button';
10
+ import { ClrPopoverCloseButton } from './popover-close-button';
11
+ import { ClrPopoverAnchor } from './popover-anchor';
12
+ import * as i0 from "@angular/core";
13
+ export class ClrPopoverModuleNext {
14
+ }
15
+ ClrPopoverModuleNext.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrPopoverModuleNext, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
16
+ ClrPopoverModuleNext.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrPopoverModuleNext, declarations: [ClrPopoverAnchor, ClrPopoverCloseButton, ClrPopoverOpenCloseButton, ClrPopoverContent], exports: [ClrPopoverAnchor, ClrPopoverCloseButton, ClrPopoverOpenCloseButton, ClrPopoverContent] });
17
+ ClrPopoverModuleNext.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrPopoverModuleNext, imports: [[]] });
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ClrPopoverModuleNext, decorators: [{
19
+ type: NgModule,
20
+ args: [{
21
+ imports: [],
22
+ declarations: [ClrPopoverAnchor, ClrPopoverCloseButton, ClrPopoverOpenCloseButton, ClrPopoverContent],
23
+ exports: [ClrPopoverAnchor, ClrPopoverCloseButton, ClrPopoverOpenCloseButton, ClrPopoverContent],
24
+ }]
25
+ }] });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy91dGlscy9wb3BvdmVyL3BvcG92ZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHO0FBRUgsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN4RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFPcEQsTUFBTSxPQUFPLG9CQUFvQjs7aUhBQXBCLG9CQUFvQjtrSEFBcEIsb0JBQW9CLGlCQUhoQixnQkFBZ0IsRUFBRSxxQkFBcUIsRUFBRSx5QkFBeUIsRUFBRSxpQkFBaUIsYUFDMUYsZ0JBQWdCLEVBQUUscUJBQXFCLEVBQUUseUJBQXlCLEVBQUUsaUJBQWlCO2tIQUVwRixvQkFBb0IsWUFKdEIsRUFBRTsyRkFJQSxvQkFBb0I7a0JBTGhDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsWUFBWSxFQUFFLENBQUMsZ0JBQWdCLEVBQUUscUJBQXFCLEVBQUUseUJBQXlCLEVBQUUsaUJBQWlCLENBQUM7b0JBQ3JHLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixFQUFFLHFCQUFxQixFQUFFLHlCQUF5QixFQUFFLGlCQUFpQixDQUFDO2lCQUNqRyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMSBWTXdhcmUsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKlxuICovXG5cbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDbHJQb3BvdmVyQ29udGVudCB9IGZyb20gJy4vcG9wb3Zlci1jb250ZW50JztcbmltcG9ydCB7IENsclBvcG92ZXJPcGVuQ2xvc2VCdXR0b24gfSBmcm9tICcuL3BvcG92ZXItb3Blbi1jbG9zZS1idXR0b24nO1xuaW1wb3J0IHsgQ2xyUG9wb3ZlckNsb3NlQnV0dG9uIH0gZnJvbSAnLi9wb3BvdmVyLWNsb3NlLWJ1dHRvbic7XG5pbXBvcnQgeyBDbHJQb3BvdmVyQW5jaG9yIH0gZnJvbSAnLi9wb3BvdmVyLWFuY2hvcic7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtdLFxuICBkZWNsYXJhdGlvbnM6IFtDbHJQb3BvdmVyQW5jaG9yLCBDbHJQb3BvdmVyQ2xvc2VCdXR0b24sIENsclBvcG92ZXJPcGVuQ2xvc2VCdXR0b24sIENsclBvcG92ZXJDb250ZW50XSxcbiAgZXhwb3J0czogW0NsclBvcG92ZXJBbmNob3IsIENsclBvcG92ZXJDbG9zZUJ1dHRvbiwgQ2xyUG9wb3Zlck9wZW5DbG9zZUJ1dHRvbiwgQ2xyUG9wb3ZlckNvbnRlbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBDbHJQb3BvdmVyTW9kdWxlTmV4dCB7fVxuIl19
@@ -0,0 +1,180 @@
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
+ */
7
+ import { ClrViewportViolation } from './enums/viewport-violation.enum';
8
+ import { ClrAlignment } from './enums/alignment.enum';
9
+ export const flipSides = position => {
10
+ return {
11
+ ...position,
12
+ side: -1 * position.side,
13
+ };
14
+ };
15
+ // This could be used in more advanced positioning algorithms.
16
+ // flipAxisFlipSideAndNudgeContent(flipAxis, flipSide, nudge, nudgeForward?): ClrTransform {...}
17
+ // I would like to keep it for now.
18
+ export const flipAxis = position => {
19
+ return {
20
+ ...position,
21
+ axis: position.axis === 0 ? 1 : 0,
22
+ };
23
+ };
24
+ export const nudgeContent = (position, forward) => {
25
+ const nextAlignment = position.content + (forward ? 0.5 : -0.5);
26
+ if (nextAlignment < 0 || nextAlignment > 1) {
27
+ return position;
28
+ }
29
+ else {
30
+ return {
31
+ ...position,
32
+ content: nextAlignment,
33
+ };
34
+ }
35
+ };
36
+ export function flipSidesAndNudgeContent(flip, nudge, nudgeBack) {
37
+ return (position) => nudge(flip(position), nudgeBack);
38
+ }
39
+ export function align(position, anchor, content) {
40
+ let xDiff = anchor.left;
41
+ let yDiff = anchor.top;
42
+ // When ClrAxis is VERTICAL BEFORE = left, AFTER = right
43
+ // When ClrAxis is HORIZONTAL BEFORE is top, AFTER is bottom
44
+ switch (position.axis + position.side) {
45
+ case -1: {
46
+ // ClrAxis.VERTICAL + ClrSide.BEFORE
47
+ xDiff += alignHorizontal(position, anchor, content);
48
+ yDiff -= content.height; // pull content up to the top of the anchor
49
+ break;
50
+ }
51
+ case 1: {
52
+ // ClrAxis.VERTICAL + ClrSide.AFTER
53
+ xDiff += alignHorizontal(position, anchor, content);
54
+ yDiff += anchor.height; // push the content down to below the anchor
55
+ break;
56
+ }
57
+ case 0: {
58
+ // ClrAxis.HORIZONTAL + ClrSide.BEFORE
59
+ xDiff -= content.width; // pull the content left of the anchor
60
+ yDiff += alignVertical(position, anchor, content);
61
+ break;
62
+ }
63
+ case 2: {
64
+ // ClrAxis.HORIZONTAL + ClrSide.AFTER
65
+ xDiff += anchor.width; // push the content right of of the anchor
66
+ yDiff += alignVertical(position, anchor, content);
67
+ break;
68
+ }
69
+ default: {
70
+ break;
71
+ }
72
+ }
73
+ return { xOffset: xDiff, yOffset: yDiff };
74
+ }
75
+ function alignHorizontal(position, anchor, content) {
76
+ let horizontalOffset = 0;
77
+ // horizontal offset for the anchor position
78
+ switch (position.anchor /*calculate for the anchor alignment*/) {
79
+ case ClrAlignment.START: {
80
+ // nothing to calculate here
81
+ break;
82
+ }
83
+ case ClrAlignment.CENTER: {
84
+ horizontalOffset += anchor.width / 2; // push content over 1/2 anchor width
85
+ break;
86
+ }
87
+ case ClrAlignment.END: {
88
+ horizontalOffset += anchor.width; // push content over width of the anchor
89
+ break;
90
+ }
91
+ default: {
92
+ break;
93
+ }
94
+ }
95
+ // horizontal offsets for anchor alignment
96
+ switch (position.content // calculate for the content alignment
97
+ ) {
98
+ case ClrAlignment.START: {
99
+ // Nothing to calculate here
100
+ break;
101
+ }
102
+ case ClrAlignment.CENTER: {
103
+ horizontalOffset -= content.width / 2; // pull content left by a value of 1/2 content width
104
+ break;
105
+ }
106
+ case ClrAlignment.END: {
107
+ // subtract the width of currentContent from horizontalOffset to pull it back
108
+ horizontalOffset -= content.width;
109
+ break;
110
+ }
111
+ default: {
112
+ break;
113
+ }
114
+ }
115
+ return horizontalOffset;
116
+ }
117
+ function alignVertical(position, anchor, content) {
118
+ // y axis offsets for anchor alignment
119
+ let verticalOffset = 0;
120
+ // Calculate y offset for anchor position
121
+ switch (position.anchor) {
122
+ case ClrAlignment.START: {
123
+ // nothing to calculate here
124
+ break;
125
+ }
126
+ case ClrAlignment.CENTER: {
127
+ verticalOffset += anchor.height / 2; // push content down to the middle of the anchor rect
128
+ break;
129
+ }
130
+ case ClrAlignment.END: {
131
+ verticalOffset += anchor.height; // push content down to the bottom of the anchor
132
+ break;
133
+ }
134
+ default: {
135
+ break;
136
+ }
137
+ }
138
+ // Calculate y offsets for content alignment
139
+ switch (position.content) {
140
+ case ClrAlignment.START: {
141
+ // aligned to the top of the content rect
142
+ break;
143
+ }
144
+ case ClrAlignment.CENTER: {
145
+ verticalOffset -= content.height / 2; // pull content back up to the middle of the content rect
146
+ break;
147
+ }
148
+ case ClrAlignment.END: {
149
+ verticalOffset -= content.height; // pull content back up to the bottom of the content rect
150
+ break;
151
+ }
152
+ default: {
153
+ break;
154
+ }
155
+ }
156
+ return verticalOffset;
157
+ }
158
+ export function testVisibility(offset, content) {
159
+ const violations = [];
160
+ const mockCoords = {
161
+ bottom: offset.yOffset + content.height,
162
+ left: offset.xOffset,
163
+ right: offset.xOffset + content.width,
164
+ top: offset.yOffset,
165
+ };
166
+ if (!(mockCoords.top >= 0)) {
167
+ violations.push(ClrViewportViolation.TOP);
168
+ }
169
+ if (!(mockCoords.left >= 0)) {
170
+ violations.push(ClrViewportViolation.LEFT);
171
+ }
172
+ if (!(mockCoords.bottom <= (window.innerHeight || document.documentElement.clientHeight))) {
173
+ violations.push(ClrViewportViolation.BOTTOM);
174
+ }
175
+ if (!(mockCoords.right <= (window.innerWidth || document.documentElement.clientWidth))) {
176
+ violations.push(ClrViewportViolation.RIGHT);
177
+ }
178
+ return violations;
179
+ }
180
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zaXRpb24tb3BlcmF0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvdXRpbHMvcG9wb3Zlci9wb3NpdGlvbi1vcGVyYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFJSCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUV2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFLdEQsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFpQixRQUFRLENBQUMsRUFBRTtJQUNoRCxPQUFPO1FBQ0wsR0FBRyxRQUFRO1FBQ1gsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxJQUFJO0tBQ3pCLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRiw4REFBOEQ7QUFDOUQsZ0dBQWdHO0FBQ2hHLG1DQUFtQztBQUNuQyxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQWlCLFFBQVEsQ0FBQyxFQUFFO0lBQy9DLE9BQU87UUFDTCxHQUFHLFFBQVE7UUFDWCxJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUNsQyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFpQixDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsRUFBRTtJQUM5RCxNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDaEUsSUFBSSxhQUFhLEdBQUcsQ0FBQyxJQUFJLGFBQWEsR0FBRyxDQUFDLEVBQUU7UUFDMUMsT0FBTyxRQUFRLENBQUM7S0FDakI7U0FBTTtRQUNMLE9BQU87WUFDTCxHQUFH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QyxVQUFVLElBQUksUUFBUSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFO1FBQ3RGLFVBQVUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDN0M7SUFFRCxPQUFPLFVBQVUsQ0FBQztBQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxNi0yMDIxIFZNd2FyZSwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICogVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZS5cbiAqIFRoZSBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIGluIExJQ0VOU0UgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgcHJvamVjdC5cbiAqXG4gKi9cblxuaW1wb3J0IHsgQ2xyUG9wb3ZlclBvc2l0aW9uIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvcG92ZXItcG9zaXRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IENsclBvcG92ZXJDb250ZW50T2Zmc2V0IH0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvcG92ZXItY29udGVudC1vZmZzZXQuaW50ZXJmYWNlJztcbmltcG9ydCB7IENsclZpZXdwb3J0VmlvbGF0aW9uIH0gZnJvbSAnLi9lbnVtcy92aWV3cG9ydC12aW9sYXRpb24uZW51bSc7XG5pbXBvcnQgeyBDbHJWaXNpYmlsaXR5Q29vcmRzIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3Zpc2liaWxpdHktY29vcmRzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDbHJBbGlnbm1lbnQgfSBmcm9tICcuL2VudW1zL2FsaWdubWVudC5lbnVtJztcblxuLy8gUHV0IHRoZSBmb3J3YXJkIGFyZyBoZXJlIGJ1dCBpdCBpcyBvbmx5IG5lZWRlZCB3aGVuIG51ZGdpbmcgY29udGVudCBvciBhbmNob3JzLlxuZXhwb3J0IHR5cGUgQ2xyVHJhbnNmb3JtID0gKHBvc2l0aW9uOiBDbHJQb3BvdmVyUG9zaXRpb24sIGJhY2s/OiBib29sZWFuKSA9PiBDbHJQb3BvdmVyUG9zaXRpb247XG5cbmV4cG9ydCBjb25zdCBmbGlwU2lkZXM6IENsclRyYW5zZm9ybSA9IHBvc2l0aW9uID0+IHtcbiAgcmV0dXJuIHtcbiAgICAuLi5wb3NpdGlvbixcbiAgICBzaWRlOiAtMSAqIHBvc2l0aW9uLnNpZGUsXG4gIH07XG59O1xuXG4vLyBUaGlzIGNvdWxkIGJlIHVzZWQgaW4gbW9yZSBhZHZhbmNlZCBwb3NpdGlvbmluZyBhbGdvcml0aG1zLlxuLy8gZmxpcEF4aXNGbGlwU2lkZUFuZE51ZGdlQ29udGVudChmbGlwQXhpcywgZmxpcFNpZGUsIG51ZGdlLCBudWRnZUZvcndhcmQ/KTogQ2xyVHJhbnNmb3JtIHsuLi59XG4vLyBJIHdvdWxkIGxpa2UgdG8ga2VlcCBpdCBmb3Igbm93LlxuZXhwb3J0IGNvbnN0IGZsaXBBeGlzOiBDbHJUcmFuc2Zvcm0gPSBwb3NpdGlvbiA9PiB7XG4gIHJldHVybiB7XG4gICAgLi4ucG9zaXRpb24sXG4gICAgYXhpczogcG9zaXRpb24uYXhpcyA9PT0gMCA/IDEgOiAwLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IG51ZGdlQ29udGVudDogQ2xyVHJhbnNmb3JtID0gKHBvc2l0aW9uLCBmb3J3YXJkKSA9PiB7XG4gIGNvbnN0IG5leHRBbGlnbm1lbnQgPSBwb3NpdGlvbi5jb250ZW50ICsgKGZvcndhcmQgPyAwLjUgOiAtMC41KTtcbiAgaWYgKG5leHRBbGlnbm1lbnQgPCAwIHx8IG5leHRBbGlnbm1lbnQgPiAxKSB7XG4gICAgcmV0dXJuIHBvc2l0aW9uO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5wb3NpdGlvbixcbiAgICAgIGNvbnRlbnQ6IG5leHRBbGlnbm1lbnQsXG4gICAgfTtcbiAgfVxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGZsaXBTaWRlc0FuZE51ZGdlQ29udGVudChmbGlwOiBDbHJUcmFuc2Zvcm0sIG51ZGdlOiBDbHJUcmFuc2Zvcm0sIG51ZGdlQmFjaz86IGJvb2xlYW4pOiBDbHJUcmFuc2Zvcm0ge1xuICByZXR1cm4gKHBvc2l0aW9uOiBDbHJQb3BvdmVyUG9zaXRpb24pOiBDbHJQb3BvdmVyUG9zaXRpb24gPT4gbnVkZ2UoZmxpcChwb3NpdGlvbiksIG51ZGdlQmFjayk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhbGlnbihwb3NpdGlvbjogQ2xyUG9wb3ZlclBvc2l0aW9uLCBhbmNob3I6IENsaWVudFJlY3QsIGNvbnRlbnQ6IENsaWVudFJlY3QpOiBDbHJQb3BvdmVyQ29udGVudE9mZnNldCB7XG4gIGxldCB4RGlmZiA9IGFuY2hvci5sZWZ0O1xuICBsZXQgeURpZmYgPSBhbmNob3IudG9wO1xuXG4gIC8vIFdoZW4gQ2xyQXhpcyBpcyBWRVJUSUNBTCBCRUZPUkUgPSBsZWZ0LCBBRlRFUiA9IHJpZ2h0XG4gIC8vIFdoZW4gQ2xyQXhpcyBpcyBIT1JJWk9OVEFMIEJFRk9SRSBpcyB0b3AsIEFGVEVSIGlzIGJvdHRvbVxuICBzd2l0Y2ggKHBvc2l0aW9uLmF4aXMgKyBwb3NpdGlvbi5zaWRlKSB7XG4gICAgY2FzZSAtMToge1xuICAgICAgLy8gQ2xyQXhpcy5WRVJUSUNBTCArIENsclNpZGUuQkVGT1JFXG4gICAgICB4RGlmZiArPSBhbGlnbkhvcml6b250YWwocG9zaXRpb24sIGFuY2hvciwgY29udGVudCk7XG4gICAgICB5RGlmZiAtPSBjb250ZW50LmhlaWdodDsgLy8gcHVsbCBjb250ZW50IHVwIHRvIHRoZSB0b3Agb2YgdGhlIGFuY2hvclxuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGNhc2UgMToge1xuICAgICAgLy8gQ2xyQXhpcy5WRVJUSUNBTCArIENsclNpZGUuQUZURVJcbiAgICAgIHhEaWZmICs9IGFsaWduSG9yaXpvbnRhbChwb3NpdGlvbiwgYW5jaG9yLCBjb250ZW50KTtcbiAgICAgIHlEaWZmICs9IGFuY2hvci5oZWlnaHQ7IC8vIHB1c2ggdGhlIGNvbnRlbnQgZG93biB0byBiZWxvdyB0aGUgYW5jaG9yXG4gICAgICBicmVhaztcbiAgICB9XG4gICAgY2FzZSAwOiB7XG4gICAgICAvLyBDbHJBeGlzLkhPUklaT05UQUwgKyBDbHJTaWRlLkJFRk9SRVxuICAgICAgeERpZmYgLT0gY29udGVudC53aWR0aDsgLy8gcHVsbCB0aGUgY29udGVudCBsZWZ0IG9mIHRoZSBhbmNob3JcbiAgICAgIHlEaWZmICs9IGFsaWduVmVydGljYWwocG9zaXRpb24sIGFuY2hvciwgY29udGVudCk7XG4gICAgICBicmVhaztcbiAgICB9XG4gICAgY2FzZSAyOiB7XG4gICAgICAvLyBDbHJBeGlzLkhPUklaT05UQUwgKyBDbHJTaWRlLkFGVEVSXG4gICAgICB4RGlmZiArPSBhbmNob3Iud2lkdGg7IC8vIHB1c2ggdGhlIGNvbnRlbnQgcmlnaHQgb2Ygb2YgdGhlIGFuY2hvclxuICAgICAgeURpZmYgKz0gYWxpZ25WZXJ0aWNhbChwb3NpdGlvbiwgYW5jaG9yLCBjb250ZW50KTtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBkZWZhdWx0OiB7XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHsgeE9mZnNldDogeERpZmYsIHlPZmZzZXQ6IHlEaWZmIH07XG59XG5cbmZ1bmN0aW9uIGFsaWduSG9yaXpvbnRhbChwb3NpdGlvbjogQ2xyUG9wb3ZlclBvc2l0aW9uLCBhbmNob3I6IENsaWVudFJlY3QsIGNvbnRlbnQ6IENsaWVudFJlY3QpOiBudW1iZXIge1xuICBsZXQgaG9yaXpvbnRhbE9mZnNldCA9IDA7XG4gIC8vIGhvcml6b250YWwgb2Zmc2V0IGZvciB0aGUgYW5jaG9yIHBvc2l0aW9uXG4gIHN3aXRjaCAocG9zaXRpb24uYW5jaG9yIC8qY2FsY3VsYXRlIGZvciB0aGUgYW5jaG9yIGFsaWdubWVudCovKSB7XG4gICAgY2FzZSBDbHJBbGlnbm1lbnQuU1RBUlQ6IHtcbiAgICAgIC8vIG5vdGhpbmcgdG8gY2FsY3VsYXRlIGhlcmVcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBjYXNlIENsckFsaWdubWVudC5DRU5URVI6IHtcbiAgICAgIGhvcml6b250YWxPZmZzZXQgKz0gYW5jaG9yLndpZHRoIC8gMjsgLy8gcHVzaCBjb250ZW50IG92ZXIgMS8yIGFuY2hvciB3aWR0aFxuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGNhc2UgQ2xyQWxpZ25tZW50LkVORDoge1xuICAgICAgaG9yaXpvbnRhbE9mZnNldCArPSBhbmNob3Iud2lkdGg7IC8vICBwdXNoIGNvbnRlbnQgb3ZlciB3aWR0aCBvZiB0aGUgYW5jaG9yXG4gICAgICBicmVhaztcbiAgICB9XG4gICAgZGVmYXVsdDoge1xuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgLy8gaG9yaXpvbnRhbCBvZmZzZXRzIGZvciBhbmNob3IgYWxpZ25tZW50XG4gIHN3aXRjaCAoXG4gICAgcG9zaXRpb24uY29udGVudCAvLyBjYWxjdWxhdGUgZm9yIHRoZSBjb250ZW50IGFsaWdubWVudFxuICApIHtcbiAgICBjYXNlIENsckFsaWdubWVudC5TVEFSVDoge1xuICAgICAgLy8gTm90aGluZyB0byBjYWxjdWxhdGUgaGVyZVxuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGNhc2UgQ2xyQWxpZ25tZW50LkNFTlRFUjoge1xuICAgICAgaG9yaXpvbnRhbE9mZnNldCAtPSBjb250ZW50LndpZHRoIC8gMjsgLy8gcHVsbCBjb250ZW50IGxlZnQgYnkgYSB2YWx1ZSBvZiAxLzIgY29udGVudCB3aWR0aFxuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGNhc2UgQ2xyQWxpZ25tZW50LkVORDoge1xuICAgICAgLy8gc3VidHJhY3QgdGhlIHdpZHRoIG9mIGN1cnJlbnRDb250ZW50IGZyb20gaG9yaXpvbnRhbE9mZnNldCB0byBwdWxsIGl0IGJhY2tcbiAgICAgIGhvcml6b250YWxPZmZzZXQgLT0gY29udGVudC53aWR0aDtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBkZWZhdWx0OiB7XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICByZXR1cm4gaG9yaXpvbnRhbE9mZnNldDtcbn1cblxuZnVuY3Rpb24gYWxpZ25WZXJ0aWNhbChwb3NpdGlvbjogQ2xyUG9wb3ZlclBvc2l0aW9uLCBhbmNob3I6IENsaWVudFJlY3QsIGNvbnRlbnQ6IENsaWVudFJlY3QpOiBudW1iZXIge1xuICAvLyB5IGF4aXMgb2Zmc2V0cyBmb3IgYW5jaG9yIGFsaWdubWVudFxuICBsZXQgdmVydGljYWxPZmZzZXQgPSAwO1xuXG4gIC8vIENhbGN1bGF0ZSB5IG9mZnNldCBmb3IgYW5jaG9yIHBvc2l0aW9uXG4gIHN3aXRjaCAocG9zaXRpb24uYW5jaG9yKSB7XG4gICAgY2FzZSBDbHJBbGlnbm1lbnQuU1RBUlQ6IHtcbiAgICAgIC8vIG5vdGhpbmcgdG8gY2FsY3VsYXRlIGhlcmVcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBjYXNlIENsckFsaWdubWVudC5DRU5URVI6IHtcbiAgICAgIHZlcnRpY2FsT2Zmc2V0ICs9IGFuY2hvci5oZWlnaHQgLyAyOyAvLyBwdXNoIGNvbnRlbnQgZG93biB0byB0aGUgbWlkZGxlIG9mIHRoZSBhbmNob3IgcmVjdFxuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGNhc2UgQ2xyQWxpZ25tZW50LkVORDoge1xuICAgICAgdmVydGljYWxPZmZzZXQgKz0gYW5jaG9yLmhlaWdodDsgLy8gcHVzaCBjb250ZW50IGRvd24gdG8gdGhlIGJvdHRvbSBvZiB0aGUgYW5jaG9yXG4gICAgICBicmVhaztcbiAgICB9XG4gICAgZGVmYXVsdDoge1xuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHkgb2Zmc2V0cyBmb3IgY29udGVudCBhbGlnbm1lbnRcbiAgc3dpdGNoIChwb3NpdGlvbi5jb250ZW50KSB7XG4gICAgY2FzZSBDbHJBbGlnbm1lbnQuU1RBUlQ6IHtcbiAgICAgIC8vIGFsaWduZWQgdG8gdGhlIHRvcCBvZiB0aGUgY29udGVudCByZWN0XG4gICAgICBicmVhaztcbiAgICB9XG4gICAgY2FzZSBDbHJBbGlnbm1lbnQuQ0VOVEVSOiB7XG4gICAgICB2ZXJ0aWNhbE9mZnNldCAtPSBjb250ZW50LmhlaWdodCAvIDI7IC8vIHB1bGwgY29udGVudCBiYWNrIHVwIHRvIHRoZSBtaWRkbGUgb2YgdGhlIGNvbnRlbnQgcmVjdFxuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGNhc2UgQ2xyQWxpZ25tZW50LkVORDoge1xuICAgICAgdmVydGljYWxPZmZzZXQgLT0gY29udGVudC5oZWlnaHQ7IC8vIHB1bGwgY29udGVudCBiYWNrIHVwIHRvIHRoZSBib3R0b20gb2YgdGhlIGNvbnRlbnQgcmVjdFxuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuICByZXR1cm4gdmVydGljYWxPZmZzZXQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0ZXN0VmlzaWJpbGl0eShvZmZzZXQ6IENsclBvcG92ZXJDb250ZW50T2Zmc2V0LCBjb250ZW50OiBDbGllbnRSZWN0KTogQ2xyVmlld3BvcnRWaW9sYXRpb25bXSB7XG4gIGNvbnN0IHZpb2xhdGlvbnM6IENsclZpZXdwb3J0VmlvbGF0aW9uW10gPSBbXTtcbiAgY29uc3QgbW9ja0Nvb3JkczogQ2xyVmlzaWJpbGl0eUNvb3JkcyA9IHtcbiAgICBib3R0b206IG9mZnNldC55T2Zmc2V0ICsgY29udGVudC5oZWlnaHQsXG4gICAgbGVmdDogb2Zmc2V0LnhPZmZzZXQsXG4gICAgcmlnaHQ6IG9mZnNldC54T2Zmc2V0ICsgY29udGVudC53aWR0aCxcbiAgICB0b3A6IG9mZnNldC55T2Zmc2V0LFxuICB9O1xuXG4gIGlmICghKG1vY2tDb29yZHMudG9wID49IDApKSB7XG4gICAgdmlvbGF0aW9ucy5wdXNoKENsclZpZXdwb3J0VmlvbGF0aW9uLlRPUCk7XG4gIH1cbiAgaWYgKCEobW9ja0Nvb3Jkcy5sZWZ0ID49IDApKSB7XG4gICAgdmlvbGF0aW9ucy5wdXNoKENsclZpZXdwb3J0VmlvbGF0aW9uLkxFRlQpO1xuICB9XG4gIGlmICghKG1vY2tDb29yZHMuYm90dG9tIDw9ICh3aW5kb3cuaW5uZXJIZWlnaHQgfHwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCkpKSB7XG4gICAgdmlvbGF0aW9ucy5wdXNoKENsclZpZXdwb3J0VmlvbGF0aW9uLkJPVFRPTSk7XG4gIH1cbiAgaWYgKCEobW9ja0Nvb3Jkcy5yaWdodCA8PSAod2luZG93LmlubmVyV2lkdGggfHwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoKSkpIHtcbiAgICB2aW9sYXRpb25zLnB1c2goQ2xyVmlld3BvcnRWaW9sYXRpb24uUklHSFQpO1xuICB9XG5cbiAgcmV0dXJuIHZpb2xhdGlvbnM7XG59XG4iXX0=