@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
@@ -1,181 +0,0 @@
1
- /*
2
- * Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
3
- * This software is released under MIT license.
4
- * The full license information can be found in LICENSE in the root directory of this project.
5
- */
6
- import { Injectable, NgZone, Renderer2 } from '@angular/core';
7
- import { Subject } from 'rxjs';
8
- import { DragEventType } from '../interfaces/drag-event.interface';
9
- import { DragAndDropEventBusService } from './drag-and-drop-event-bus.service';
10
- export class DragEventListenerService {
11
- constructor(ngZone, renderer, eventBus) {
12
- this.ngZone = ngZone;
13
- this.renderer = renderer;
14
- this.eventBus = eventBus;
15
- // contains listeners for the starting events such as mousedown and touchstart
16
- this.listeners = [];
17
- this.dragStart = new Subject();
18
- this.dragMove = new Subject();
19
- this.dragEnd = new Subject();
20
- this.hasDragStarted = false;
21
- this.dragStartDelay = 0;
22
- }
23
- get dragStarted() {
24
- return this.dragStart.asObservable();
25
- }
26
- get dragMoved() {
27
- return this.dragMove.asObservable();
28
- }
29
- get dragEnded() {
30
- return this.dragEnd.asObservable();
31
- }
32
- get dragStartPosition() {
33
- return this.initialPosition;
34
- }
35
- attachDragListeners(draggableEl) {
36
- this.draggableEl = draggableEl;
37
- this.listeners.push(this.customDragEvent(this.draggableEl, 'mousedown', 'mousemove', 'mouseup'));
38
- this.listeners.push(this.customDragEvent(this.draggableEl, 'touchstart', 'touchmove', 'touchend'));
39
- }
40
- detachDragListeners() {
41
- if (this.listeners) {
42
- this.listeners.map(event => event());
43
- }
44
- // In most cases, once users start dragging with mousedown/touchstart events,
45
- // they will end dragging at one point with mouseup/touchend.
46
- // However, there might be a few cases where mousedown/touchstart events get registered,
47
- // but the draggable element gets removed before user ends dragging.
48
- // In that case, we need to remove the attached listeners that happened during the mousedown/touchstart events.
49
- if (this.nestedListeners) {
50
- this.nestedListeners.map(event => event());
51
- }
52
- if (this.checkDragStartBoundaryListener) {
53
- this.checkDragStartBoundaryListener();
54
- }
55
- }
56
- getNativeEventObject(event) {
57
- if (event.hasOwnProperty('changedTouches')) {
58
- return event.changedTouches[0];
59
- }
60
- else {
61
- return event;
62
- }
63
- }
64
- customDragEvent(element, startOnEvent, moveOnEvent, endOnEvent) {
65
- return this.renderer.listen(element, startOnEvent, (startEvent) => {
66
- // save the initial point to initialPosition
67
- // this will be used to calculate how far the draggable has been dragged from its initial position
68
- this.initialPosition = {
69
- pageX: this.getNativeEventObject(startEvent).pageX,
70
- pageY: this.getNativeEventObject(startEvent).pageY,
71
- };
72
- // Initialize nested listeners' property with a new empty array;
73
- this.nestedListeners = [];
74
- // This is needed to disable selection during dragging (especially in EDGE/IE11).
75
- this.nestedListeners.push(this.renderer.listen('document', 'selectstart', (selectEvent) => {
76
- selectEvent.preventDefault();
77
- selectEvent.stopImmediatePropagation();
78
- }));
79
- // Listen to mousemove/touchmove events outside of angular zone.
80
- this.ngZone.runOutsideAngular(() => {
81
- // During the drag start delay, pointer should stay within the boundary.
82
- this.checkDragStartBoundary(moveOnEvent);
83
- this.dragStartDelayTimeout = setTimeout(() => {
84
- if (this.checkDragStartBoundaryListener) {
85
- this.checkDragStartBoundaryListener();
86
- }
87
- this.hasDragStarted = true;
88
- // Fire "dragstart"
89
- this.broadcast(startEvent, DragEventType.DRAG_START);
90
- this.nestedListeners.push(this.renderer.listen('document', moveOnEvent, (moveEvent) => {
91
- // Event.stopImmediatePropagation() is needed here to prevent nested draggables from getting dragged
92
- // altogether. We shouldn't use Event.stopPropagation() here as we are listening to the events
93
- // on the global element level.
94
- // With Event.stopImmediatePropagation(), it registers the events sent from the inner most draggable
95
- // first. Then immediately after that, it stops listening to the same type of events on the same
96
- // element. So this will help us to not register the same events that would come from the parent
97
- // level draggables eventually.
98
- moveEvent.stopImmediatePropagation();
99
- if (this.hasDragStarted) {
100
- // Fire "dragmove"
101
- this.broadcast(moveEvent, DragEventType.DRAG_MOVE);
102
- }
103
- }));
104
- }, this.dragStartDelay);
105
- });
106
- // Listen to mouseup/touchend events.
107
- this.nestedListeners.push(this.renderer.listen('document', endOnEvent, (endEvent) => {
108
- if (this.hasDragStarted) {
109
- // Fire "dragend" only if dragstart is registered
110
- this.hasDragStarted = false;
111
- this.broadcast(endEvent, DragEventType.DRAG_END);
112
- }
113
- clearTimeout(this.dragStartDelayTimeout);
114
- // We must remove the the nested listeners every time drag completes.
115
- this.nestedListeners.map(event => event());
116
- // We must remove the event listener from checkDragStartBoundary
117
- if (this.checkDragStartBoundaryListener) {
118
- this.checkDragStartBoundaryListener();
119
- }
120
- }));
121
- });
122
- }
123
- checkDragStartBoundary(eventType) {
124
- this.checkDragStartBoundaryListener = this.renderer.listen('document', eventType, (moveEvent) => {
125
- const deltaX = Math.abs(this.getNativeEventObject(moveEvent).pageX - this.initialPosition.pageX);
126
- const deltaY = Math.abs(this.getNativeEventObject(moveEvent).pageY - this.initialPosition.pageY);
127
- // If pointer move delta exceeds horizontal or vertical threshold,
128
- // we should cancel drag initiation.
129
- if (deltaX > 1 || deltaY > 1) {
130
- clearTimeout(this.dragStartDelayTimeout);
131
- if (this.checkDragStartBoundaryListener) {
132
- this.checkDragStartBoundaryListener();
133
- }
134
- }
135
- });
136
- }
137
- broadcast(event, eventType) {
138
- const dragEvent = this.generateDragEvent(event, eventType);
139
- switch (dragEvent.type) {
140
- case DragEventType.DRAG_START:
141
- this.dragStart.next(dragEvent);
142
- break;
143
- case DragEventType.DRAG_MOVE:
144
- this.dragMove.next(dragEvent);
145
- break;
146
- case DragEventType.DRAG_END:
147
- this.dragEnd.next(dragEvent);
148
- break;
149
- default:
150
- break;
151
- }
152
- // The following properties are set after they are broadcasted to the DraggableGhost component.
153
- dragEvent.ghostElement = this.ghostElement;
154
- dragEvent.dropPointPosition = this.dropPointPosition;
155
- this.eventBus.broadcast(dragEvent);
156
- }
157
- generateDragEvent(event, eventType) {
158
- const nativeEvent = this.getNativeEventObject(event);
159
- return {
160
- type: eventType,
161
- dragPosition: {
162
- pageX: nativeEvent.pageX,
163
- pageY: nativeEvent.pageY,
164
- moveX: nativeEvent.pageX - this.initialPosition.pageX,
165
- moveY: nativeEvent.pageY - this.initialPosition.pageY,
166
- },
167
- group: this.group,
168
- dragDataTransfer: this.dragDataTransfer,
169
- ghostElement: this.ghostElement,
170
- };
171
- }
172
- }
173
- DragEventListenerService.decorators = [
174
- { type: Injectable }
175
- ];
176
- DragEventListenerService.ctorParameters = () => [
177
- { type: NgZone },
178
- { type: Renderer2 },
179
- { type: DragAndDropEventBusService }
180
- ];
181
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1ldmVudC1saXN0ZW5lci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvdXRpbHMvZHJhZy1hbmQtZHJvcC9wcm92aWRlcnMvZHJhZy1ldmVudC1saXN0ZW5lci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUzQyxPQUFPLEVBQXNCLGFBQWEsRUFBcUIsTUFBTSxvQ0FBb0MsQ0FBQztBQUMxRyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUcvRSxNQUFNLE9BQU8sd0JBQXdCO0lBb0NuQyxZQUFvQixNQUFjLEVBQVUsUUFBbUIsRUFBVSxRQUF1QztRQUE1RixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUFVLGFBQVEsR0FBUixRQUFRLENBQStCO1FBakNoSCw4RUFBOEU7UUFDdEUsY0FBUyxHQUFtQixFQUFFLENBQUM7UUFRL0IsY0FBUyxHQUFtQyxJQUFJLE9BQU8sRUFBeUIsQ0FBQztRQUNqRixhQUFRLEdBQW1DLElBQUksT0FBTyxFQUF5QixDQUFDO1FBQ2hGLFlBQU8sR0FBbUMsSUFBSSxPQUFPLEVBQXlCLENBQUM7UUFFL0UsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUEyQnhCLG1CQUFjLEdBQUcsQ0FBQyxDQUFDO0lBUHlGLENBQUM7SUFoQnBILElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxD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Z0JBQWdCO1lBQ3ZDLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtTQUNoQyxDQUFDO0lBQ0osQ0FBQzs7O1lBN05GLFVBQVU7OztZQU5VLE1BQU07WUFBRSxTQUFTO1lBSTdCLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMSBWTXdhcmUsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cbmltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IERyYWdFdmVudEludGVyZmFjZSwgRHJhZ0V2ZW50VHlwZSwgRHJhZ1BvaW50UG9zaXRpb24gfSBmcm9tICcuLi9pbnRlcmZhY2VzL2RyYWctZXZlbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7IERyYWdBbmREcm9wRXZlbnRCdXNTZXJ2aWNlIH0gZnJvbSAnLi9kcmFnLWFuZC1kcm9wLWV2ZW50LWJ1cy5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERyYWdFdmVudExpc3RlbmVyU2VydmljZTxUPiB7XG4gIHByaXZhdGUgZHJhZ2dhYmxlRWw6IGFueTtcblxuICAvLyBjb250YWlucyBsaXN0ZW5lcnMgZm9yIHRoZSBzdGFydGluZyBldmVudHMgc3VjaCBhcyBtb3VzZWRvd24gYW5kIHRvdWNoc3RhcnRcbiAgcHJpdmF0ZSBsaXN0ZW5lcnM6ICgoKSA9PiB2b2lkKVtdID0gW107XG4gIC8vIGNvbnRhaW5zIGxpc3RlbmVycyBmb3IgbmVzdGVkIGV2ZW50cyB0aGF0IGhhcHBlbnMgYWZ0ZXIvaW5zaWRlIHRoZSBzdGFydGluZyBldmVudHNcbiAgLy8gc3VjaCBhcyBzZWxlY3RzdGFydCwgbW91c2Vtb3ZlL3RvdWNobW92ZSwgbW91c2V1cC90b3VjaGVuZFxuICBwcml2YXRlIG5lc3RlZExpc3RlbmVyczogKCgpID0+IHZvaWQpW107XG5cbiAgLy8gY29udGFpbnMgbGlzdGVuZXIgZm9yIG1vdXNlbW92ZS90b3VjaG1vdmUgYmVmb3JlIGRlbGF5XG4gIHByaXZhdGUgY2hlY2tEcmFnU3RhcnRCb3VuZGFyeUxpc3RlbmVyOiAoKSA9PiB2b2lkO1xuXG4gIHByaXZhdGUgZHJhZ1N0YXJ0OiBTdWJqZWN0PERyYWdFdmVudEludGVyZmFjZTxUPj4gPSBuZXcgU3ViamVjdDxEcmFnRXZlbnRJbnRlcmZhY2U8VD4+KCk7XG4gIHByaXZhdGUgZHJhZ01vdmU6IFN1YmplY3Q8RHJhZ0V2ZW50SW50ZXJmYWNlPFQ+PiA9IG5ldyBTdWJqZWN0PERyYWdFdmVudEludGVyZmFjZTxUPj4oKTtcbiAgcHJpdmF0ZSBkcmFnRW5kOiBTdWJqZWN0PERyYWdFdmVudEludGVyZmFjZTxUPj4gPSBuZXcgU3ViamVjdDxEcmFnRXZlbnRJbnRlcmZhY2U8VD4+KCk7XG5cbiAgcHJpdmF0ZSBoYXNEcmFnU3RhcnRlZCA9IGZhbHNlO1xuXG4gIHByaXZhdGUgZHJhZ1N0YXJ0RGVsYXlUaW1lb3V0OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PjtcblxuICBnZXQgZHJhZ1N0YXJ0ZWQoKTogT2JzZXJ2YWJsZTxEcmFnRXZlbnRJbnRlcmZhY2U8VD4+IHtcbiAgICByZXR1cm4gdGhpcy5kcmFnU3RhcnQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgZHJhZ01vdmVkKCk6IE9ic2VydmFibGU8RHJhZ0V2ZW50SW50ZXJmYWNlPFQ+PiB7XG4gICAgcmV0dXJuIHRoaXMuZHJhZ01vdmUuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgZHJhZ0VuZGVkKCk6IE9ic2VydmFibGU8RHJhZ0V2ZW50SW50ZXJmYWNlPFQ+PiB7XG4gICAgcmV0dXJuIHRoaXMuZHJhZ0VuZC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBkcmFnU3RhcnRQb3NpdGlvbigpOiBEcmFnUG9pbnRQb3NpdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuaW5pdGlhbFBvc2l0aW9uO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLCBwcml2YXRlIGV2ZW50QnVzOiBEcmFnQW5kRHJvcEV2ZW50QnVzU2VydmljZTxUPikge31cblxuICBwcml2YXRlIGluaXRpYWxQb3NpdGlvbjogRHJhZ1BvaW50UG9zaXRpb247XG5cbiAgLy8gRHJhZ2dhYmxlIGNvbXBvbmVudCBzZXRzIHRoZXNlIHByb3BlcnRpZXM6XG4gIHB1YmxpYyBkcmFnRGF0YVRyYW5zZmVyPzogVDtcbiAgcHVibGljIGdyb3VwPzogc3RyaW5nIHwgc3RyaW5nW107XG4gIHB1YmxpYyBkcmFnU3RhcnREZWxheSA9IDA7XG5cbiAgLy8gRHJhZ2dhYmxlR2hvc3QgY29tcG9uZW50IHNldHMgdGhlc2UgcHJvcGVydGllczpcbiAgcHVibGljIGdob3N0RWxlbWVudD86IGFueTtcbiAgcHVibGljIGRyb3BQb2ludFBvc2l0aW9uPzogRHJhZ1BvaW50UG9zaXRpb247XG5cbiAgcHVibGljIGF0dGFjaERyYWdMaXN0ZW5lcnMoZHJhZ2dhYmxlRWw6IE5vZGUpIHtcbiAgICB0aGlzLmRyYWdnYWJsZUVsID0gZHJhZ2dhYmxlRWw7XG4gICAgdGhpcy5saXN0ZW5lcnMucHVzaCh0aGlzLmN1c3RvbURyYWdFdmVudCh0aGlzLmRyYWdnYWJsZUVsLCAnbW91c2Vkb3duJywgJ21vdXNlbW92ZScsICdtb3VzZXVwJykpO1xuICAgIHRoaXMubGlzdGVuZXJzLnB1c2godGhpcy5jdXN0b21EcmFnRXZlbnQodGhpcy5kcmFnZ2FibGVFbCwgJ3RvdWNoc3RhcnQnLCAndG91Y2htb3ZlJywgJ3RvdWNoZW5kJykpO1xuICB9XG5cbiAgcHVibGljIGRldGFjaERyYWdMaXN0ZW5lcnMoKSB7XG4gICAgaWYgKHRoaXMubGlzdGVuZXJzKSB7XG4gICAgICB0aGlzLmxpc3RlbmVycy5tYXAoZXZlbnQgPT4gZXZlbnQoKSk7XG4gICAgfVxuXG4gICAgLy8gSW4gbW9zdCBjYXNlcywgb25jZSB1c2VycyBzdGFydCBkcmFnZ2luZyB3aXRoIG1vdXNlZG93bi90b3VjaHN0YXJ0IGV2ZW50cyxcbiAgICAvLyB0aGV5IHdpbGwgZW5kIGRyYWdnaW5nIGF0IG9uZSBwb2ludCB3aXRoIG1vdXNldXAvdG91Y2hlbmQuXG4gICAgLy8gSG93ZXZlciwgdGhlcmUgbWlnaHQgYmUgYSBmZXcgY2FzZXMgd2hlcmUgbW91c2Vkb3duL3RvdWNoc3RhcnQgZXZlbnRzIGdldCByZWdpc3RlcmVkLFxuICAgIC8vIGJ1dCB0aGUgZHJhZ2dhYmxlIGVsZW1lbnQgZ2V0cyByZW1vdmVkIGJlZm9yZSB1c2VyIGVuZHMgZHJhZ2dpbmcuXG4gICAgLy8gSW4gdGhhdCBjYXNlLCB3ZSBuZWVkIHRvIHJlbW92ZSB0aGUgYXR0YWNoZWQgbGlzdGVuZXJzIHRoYXQgaGFwcGVuZWQgZHVyaW5nIHRoZSBtb3VzZWRvd24vdG91Y2hzdGFydCBldmVudHMuXG4gICAgaWYgKHRoaXMubmVzdGVkTGlzdGVuZXJzKSB7XG4gICAgICB0aGlzLm5lc3RlZExpc3RlbmVycy5tYXAoZXZlbnQgPT4gZXZlbnQoKSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY2hlY2tEcmFnU3RhcnRCb3VuZGFyeUxpc3RlbmVyKSB7XG4gICAgICB0aGlzLmNoZWNrRHJhZ1N0YXJ0Qm91bmRhcnlMaXN0ZW5lcigpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0TmF0aXZlRXZlbnRPYmplY3QoZXZlbnQ6IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KTogYW55IHtcbiAgICBpZiAoKGV2ZW50IGFzIFRvdWNoRXZlbnQpLmhhc093blByb3BlcnR5KCdjaGFuZ2VkVG91Y2hlcycpKSB7XG4gICAgICByZXR1cm4gKGV2ZW50IGFzIFRvdWNoRXZlbnQpLmNoYW5nZWRUb3VjaGVzWzBdO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZXZlbnQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjdXN0b21EcmFnRXZlbnQoZWxlbWVudDogTm9kZSwgc3RhcnRPbkV2ZW50OiBzdHJpbmcsIG1vdmVPbkV2ZW50OiBzdHJpbmcsIGVuZE9uRXZlbnQ6IHN0cmluZyk6ICgpID0+IHZvaWQge1xuICAgIHJldHVybiB0aGlzLnJlbmRlcmVyLmxpc3RlbihlbGVtZW50LCBzdGFydE9uRXZlbnQsIChzdGFydEV2ZW50OiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCkgPT4ge1xuICAgICAgLy8gc2F2ZSB0aGUgaW5pdGlhbCBwb2ludCB0byBpbml0aWFsUG9zaXRpb25cbiAgICAgIC8vIHRoaXMgd2lsbCBiZSB1c2VkIHRvIGNhbGN1bGF0ZSBob3cgZmFyIHRoZSBkcmFnZ2FibGUgaGFzIGJlZW4gZHJhZ2dlZCBmcm9tIGl0cyBpbml0aWFsIHBvc2l0aW9uXG4gICAgICB0aGlzLmluaXRpYWxQb3NpdGlvbiA9IHtcbiAgICAgICAgcGFnZVg6IHRoaXMuZ2V0TmF0aXZlRXZlbnRPYmplY3Qoc3RhcnRFdmVudCkucGFnZVgsXG4gICAgICAgIHBhZ2VZOiB0aGlzLmdldE5hdGl2ZUV2ZW50T2JqZWN0KHN0YXJ0RXZlbnQpLnBhZ2VZLFxuICAgICAgfTtcblxuICAgICAgLy8gSW5pdGlhbGl6ZSBuZXN0ZWQgbGlzdGVuZXJzJyBwcm9wZXJ0eSB3aXRoIGEgbmV3IGVtcHR5IGFycmF5O1xuICAgICAgdGhpcy5uZXN0ZWRMaXN0ZW5lcnMgPSBbXTtcblxuICAgICAgLy8gVGhpcyBpcyBuZWVkZWQgdG8gZGlzYWJsZSBzZWxlY3Rpb24gZHVyaW5nIGRyYWdnaW5nIChlc3BlY2lhbGx5IGluIEVER0UvSUUxMSkuXG4gICAgICB0aGlzLm5lc3RlZExpc3RlbmVycy5wdXNoKFxuICAgICAgICB0aGlzLnJlbmRlcmVyLmxpc3RlbignZG9jdW1lbnQnLCAnc2VsZWN0c3RhcnQnLCAoc2VsZWN0RXZlbnQ6IEV2ZW50KSA9PiB7XG4gICAgICAgICAgc2VsZWN0RXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICBzZWxlY3RFdmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG5cbiAgICAgIC8vIExpc3RlbiB0byBtb3VzZW1vdmUvdG91Y2htb3ZlIGV2ZW50cyBvdXRzaWRlIG9mIGFuZ3VsYXIgem9uZS5cbiAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgLy8gRHVyaW5nIHRoZSBkcmFnIHN0YXJ0IGRlbGF5LCBwb2ludGVyIHNob3VsZCBzdGF5IHdpdGhpbiB0aGUgYm91bmRhcnkuXG4gICAgICAgIHRoaXMuY2hlY2tEcmFnU3RhcnRCb3VuZGFyeShtb3ZlT25FdmVudCk7XG5cbiAgICAgICAgdGhpcy5kcmFnU3RhcnREZWxheVRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5jaGVja0RyYWdTdGFydEJvdW5kYXJ5TGlzdGVuZXIpIHtcbiAgICAgICAgICAgIHRoaXMuY2hlY2tEcmFnU3RhcnRCb3VuZGFyeUxpc3RlbmVyKCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhpcy5oYXNEcmFnU3RhcnRlZCA9IHRydWU7XG4gICAgICAgICAgLy8gRmlyZSBcImRyYWdzdGFydFwiXG4gICAgICAgICAgdGhpcy5icm9hZGNhc3Qoc3RhcnRFdmVudCwgRHJhZ0V2ZW50VHlwZS5EUkFHX1NUQVJUKTtcblxuICAgICAgICAgIHRoaXMubmVzdGVkTGlzdGVuZXJzLnB1c2goXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmxpc3RlbignZG9jdW1lbnQnLCBtb3ZlT25FdmVudCwgKG1vdmVFdmVudDogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgLy8gRXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCkgaXMgbmVlZGVkIGhlcmUgdG8gcHJldmVudCBuZXN0ZWQgZHJhZ2dhYmxlcyBmcm9tIGdldHRpbmcgZHJhZ2dlZFxuICAgICAgICAgICAgICAvLyBhbHRvZ2V0aGVyLiBXZSBzaG91bGRuJ3QgdXNlIEV2ZW50LnN0b3BQcm9wYWdhdGlvbigpIGhlcmUgYXMgd2UgYXJlIGxpc3RlbmluZyB0byB0aGUgZXZlbnRzXG4gICAgICAgICAgICAgIC8vIG9uIHRoZSBnbG9iYWwgZWxlbWVudCBsZXZlbC5cblxuICAgICAgICAgICAgICAvLyBXaXRoIEV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpLCBpdCByZWdpc3RlcnMgdGhlIGV2ZW50cyBzZW50IGZyb20gdGhlIGlubmVyIG1vc3QgZHJhZ2dhYmxlXG4gICAgICAgICAgICAgIC8vIGZpcnN0LiBUaGVuIGltbWVkaWF0ZWx5IGFmdGVyIHRoYXQsIGl0IHN0b3BzIGxpc3RlbmluZyB0byB0aGUgc2FtZSB0eXBlIG9mIGV2ZW50cyBvbiB0aGUgc2FtZVxuICAgICAgICAgICAgICAvLyBlbGVtZW50LiBTbyB0aGlzIHdpbGwgaGVscCB1cyB0byBub3QgcmVnaXN0ZXIgdGhlIHNhbWUgZXZlbnRzIHRoYXQgd291bGQgY29tZSBmcm9tIHRoZSBwYXJlbnRcbiAgICAgICAgICAgICAgLy8gbGV2ZWwgZHJhZ2dhYmxlcyBldmVudHVhbGx5LlxuXG4gICAgICAgICAgICAgIG1vdmVFdmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcblxuICAgICAgICAgICAgICBpZiAodGhpcy5oYXNEcmFnU3RhcnRlZCkge1xuICAgICAgICAgICAgICAgIC8vIEZpcmUgXCJkcmFnbW92ZVwiXG4gICAgICAgICAgICAgICAgdGhpcy5icm9hZGNhc3QobW92ZUV2ZW50LCBEcmFnRXZlbnRUeXBlLkRSQUdfTU9WRSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKTtcbiAgICAgICAgfSwgdGhpcy5kcmFnU3RhcnREZWxheSk7XG4gICAgICB9KTtcblxuICAgICAgLy8gTGlzdGVuIHRvIG1vdXNldXAvdG91Y2hlbmQgZXZlbnRzLlxuICAgICAgdGhpcy5uZXN0ZWRMaXN0ZW5lcnMucHVzaChcbiAgICAgICAgdGhpcy5yZW5kZXJlci5saXN0ZW4oJ2RvY3VtZW50JywgZW5kT25FdmVudCwgKGVuZEV2ZW50OiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCkgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLmhhc0RyYWdTdGFydGVkKSB7XG4gICAgICAgICAgICAvLyBGaXJlIFwiZHJhZ2VuZFwiIG9ubHkgaWYgZHJhZ3N0YXJ0IGlzIHJlZ2lzdGVyZWRcbiAgICAgICAgICAgIHRoaXMuaGFzRHJhZ1N0YXJ0ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuYnJvYWRjYXN0KGVuZEV2ZW50LCBEcmFnRXZlbnRUeXBlLkRSQUdfRU5EKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5kcmFnU3RhcnREZWxheVRpbWVvdXQpO1xuXG4gICAgICAgICAgLy8gV2UgbXVzdCByZW1vdmUgdGhlIHRoZSBuZXN0ZWQgbGlzdGVuZXJzIGV2ZXJ5IHRpbWUgZHJhZyBjb21wbGV0ZXMuXG4gICAgICAgICAgdGhpcy5uZXN0ZWRMaXN0ZW5lcnMubWFwKGV2ZW50ID0+IGV2ZW50KCkpO1xuXG4gICAgICAgICAgLy8gV2UgbXVzdCByZW1vdmUgdGhlIGV2ZW50IGxpc3RlbmVyIGZyb20gY2hlY2tEcmFnU3RhcnRCb3VuZGFyeVxuICAgICAgICAgIGlmICh0aGlzLmNoZWNrRHJhZ1N0YXJ0Qm91bmRhcnlMaXN0ZW5lcikge1xuICAgICAgICAgICAgdGhpcy5jaGVja0RyYWdTdGFydEJvdW5kYXJ5TGlzdGVuZXIoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGVja0RyYWdTdGFydEJvdW5kYXJ5KGV2ZW50VHlwZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5jaGVja0RyYWdTdGFydEJvdW5kYXJ5TGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3RlbihcbiAgICAgICdkb2N1bWVudCcsXG4gICAgICBldmVudFR5cGUsXG4gICAgICAobW92ZUV2ZW50OiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCkgPT4ge1xuICAgICAgICBjb25zdCBkZWx0YVggPSBNYXRoLmFicyh0aGlzLmdldE5hdGl2ZUV2ZW50T2JqZWN0KG1vdmVFdmVudCkucGFnZVggLSB0aGlzLmluaXRpYWxQb3NpdGlvbi5wYWdlWCk7XG4gICAgICAgIGNvbnN0IGRlbHRhWSA9IE1hdGguYWJzKHRoaXMuZ2V0TmF0aXZlRXZlbnRPYmplY3QobW92ZUV2ZW50KS5wYWdlWSAtIHRoaXMuaW5pdGlhbFBvc2l0aW9uLnBhZ2VZKTtcblxuICAgICAgICAvLyBJZiBwb2ludGVyIG1vdmUgZGVsdGEgZXhjZWVkcyBob3Jpem9udGFsIG9yIHZlcnRpY2FsIHRocmVzaG9sZCxcbiAgICAgICAgLy8gd2Ugc2hvdWxkIGNhbmNlbCBkcmFnIGluaXRpYXRpb24uXG4gICAgICAgIGlmIChkZWx0YVggPiAxIHx8IGRlbHRhWSA+IDEpIHtcbiAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5kcmFnU3RhcnREZWxheVRpbWVvdXQpO1xuICAgICAgICAgIGlmICh0aGlzLmNoZWNrRHJhZ1N0YXJ0Qm91bmRhcnlMaXN0ZW5lcikge1xuICAgICAgICAgICAgdGhpcy5jaGVja0RyYWdTdGFydEJvdW5kYXJ5TGlzdGVuZXIoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBicm9hZGNhc3QoZXZlbnQ6IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50LCBldmVudFR5cGU6IERyYWdFdmVudFR5cGUpOiB2b2lkIHtcbiAgICBjb25zdCBkcmFnRXZlbnQ6IERyYWdFdmVudEludGVyZmFjZTxUPiA9IHRoaXMuZ2VuZXJhdGVEcmFnRXZlbnQoZXZlbnQsIGV2ZW50VHlwZSk7XG5cbiAgICBzd2l0Y2ggKGRyYWdFdmVudC50eXBlKSB7XG4gICAgICBjYXNlIERyYWdFdmVudFR5cGUuRFJBR19TVEFSVDpcbiAgICAgICAgdGhpcy5kcmFnU3RhcnQubmV4dChkcmFnRXZlbnQpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgRHJhZ0V2ZW50VHlwZS5EUkFHX01PVkU6XG4gICAgICAgIHRoaXMuZHJhZ01vdmUubmV4dChkcmFnRXZlbnQpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgRHJhZ0V2ZW50VHlwZS5EUkFHX0VORDpcbiAgICAgICAgdGhpcy5kcmFnRW5kLm5leHQoZHJhZ0V2ZW50KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICAvLyBUaGUgZm9sbG93aW5nIHByb3BlcnRpZXMgYXJlIHNldCBhZnRlciB0aGV5IGFyZSBicm9hZGNhc3RlZCB0byB0aGUgRHJhZ2dhYmxlR2hvc3QgY29tcG9uZW50LlxuICAgIGRyYWdFdmVudC5naG9zdEVsZW1lbnQgPSB0aGlzLmdob3N0RWxlbWVudDtcbiAgICBkcmFnRXZlbnQuZHJvcFBvaW50UG9zaXRpb24gPSB0aGlzLmRyb3BQb2ludFBvc2l0aW9uO1xuXG4gICAgdGhpcy5ldmVudEJ1cy5icm9hZGNhc3QoZHJhZ0V2ZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVEcmFnRXZlbnQoZXZlbnQ6IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50LCBldmVudFR5cGU6IERyYWdFdmVudFR5cGUpOiBEcmFnRXZlbnRJbnRlcmZhY2U8VD4ge1xuICAgIGNvbnN0IG5hdGl2ZUV2ZW50OiBhbnkgPSB0aGlzLmdldE5hdGl2ZUV2ZW50T2JqZWN0KGV2ZW50KTtcblxuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiBldmVudFR5cGUsXG4gICAgICBkcmFnUG9zaXRpb246IHtcbiAgICAgICAgcGFnZVg6IG5hdGl2ZUV2ZW50LnBhZ2VYLFxuICAgICAgICBwYWdlWTogbmF0aXZlRXZlbnQucGFnZVksXG4gICAgICAgIG1vdmVYOiBuYXRpdmVFdmVudC5wYWdlWCAtIHRoaXMuaW5pdGlhbFBvc2l0aW9uLnBhZ2VYLFxuICAgICAgICBtb3ZlWTogbmF0aXZlRXZlbnQucGFnZVkgLSB0aGlzLmluaXRpYWxQb3NpdGlvbi5wYWdlWSxcbiAgICAgIH0sXG4gICAgICBncm91cDogdGhpcy5ncm91cCxcbiAgICAgIGRyYWdEYXRhVHJhbnNmZXI6IHRoaXMuZHJhZ0RhdGFUcmFuc2ZlcixcbiAgICAgIGdob3N0RWxlbWVudDogdGhpcy5naG9zdEVsZW1lbnQsXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -1,61 +0,0 @@
1
- /*
2
- * Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
3
- * This software is released under MIT license.
4
- * The full license information can be found in LICENSE in the root directory of this project.
5
- */
6
- import { Injectable, Renderer2 } from '@angular/core';
7
- import { DragEventListenerService } from './drag-event-listener.service';
8
- // This provider registers the drag handle element.
9
- // When it registers a element as a drag handle, it attaches that element to the listeners from ClrDragEventListener.
10
- // Also, it adds the "drag-handle" css class to the registered element through Renderer.
11
- export class DragHandleRegistrarService {
12
- constructor(dragEventListener, renderer) {
13
- this.dragEventListener = dragEventListener;
14
- this.renderer = renderer;
15
- }
16
- get defaultHandleEl() {
17
- return this._defaultHandleEl;
18
- }
19
- set defaultHandleEl(el) {
20
- this._defaultHandleEl = el; // defaultHandleEl will be usually the clrDraggable element.
21
- // If the customHandleEl has been registered,
22
- // don't make the defaultHandleEl the drag handle yet until the customHandleEl is unregistered.
23
- if (!this._customHandleEl) {
24
- this.makeElementHandle(this._defaultHandleEl);
25
- }
26
- }
27
- makeElementHandle(el) {
28
- if (this._defaultHandleEl && this._defaultHandleEl !== el) {
29
- // Before making an element the custom handle element,
30
- // we should remove the existing drag-handle class from the draggable element.
31
- this.renderer.removeClass(this._defaultHandleEl, 'drag-handle');
32
- }
33
- this.dragEventListener.attachDragListeners(el);
34
- this.renderer.addClass(el, 'drag-handle');
35
- }
36
- get customHandleEl() {
37
- return this._customHandleEl;
38
- }
39
- registerCustomHandle(el) {
40
- this.dragEventListener.detachDragListeners(); // removes the existing listeners
41
- this._customHandleEl = el;
42
- this.makeElementHandle(this._customHandleEl);
43
- }
44
- unregisterCustomHandle() {
45
- this.dragEventListener.detachDragListeners(); // removes the existing listeners
46
- this.renderer.removeClass(this._customHandleEl, 'drag-handle');
47
- delete this._customHandleEl;
48
- // if default handle is set, make that handle
49
- if (this._defaultHandleEl) {
50
- this.makeElementHandle(this._defaultHandleEl);
51
- }
52
- }
53
- }
54
- DragHandleRegistrarService.decorators = [
55
- { type: Injectable }
56
- ];
57
- DragHandleRegistrarService.ctorParameters = () => [
58
- { type: DragEventListenerService },
59
- { type: Renderer2 }
60
- ];
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1oYW5kbGUtcmVnaXN0cmFyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy91dGlscy9kcmFnLWFuZC1kcm9wL3Byb3ZpZGVycy9kcmFnLWhhbmRsZS1yZWdpc3RyYXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBQ0gsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdEQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFekUsbURBQW1EO0FBQ25ELHFIQUFxSDtBQUNySCx3RkFBd0Y7QUFFeEYsTUFBTSxPQUFPLDBCQUEwQjtJQWtCckMsWUFBb0IsaUJBQThDLEVBQVUsUUFBbUI7UUFBM0Usc0JBQWlCLEdBQWpCLGlCQUFpQixDQUE2QjtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7SUFBRyxDQUFDO0lBZG5HLElBQUksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSxlQUFlLENBQUMsRUFBUTtRQUMxQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDLENBQUMsNERBQTREO1FBRXhGLDZDQUE2QztRQUM3QywrRkFBK0Y7UUFDL0YsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDekIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1NBQy9DO0lBQ0gsQ0FBQztJQUlPLGlCQUFpQixDQUFDLEVBQVE7UUFDaEMsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLElBQUksSUFBSSxDQUFDLGdCQUFnQixLQUFLLEVBQUUsRUFBRTtZQUN6RCxzREFBc0Q7WUFDdEQsOEVBQThFO1lBQzlFLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLENBQUMsQ0FBQztTQUNqRTtRQUNELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQztJQUVNLG9CQUFvQixDQUFDLEVBQVE7UUFDbEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxpQ0FBaUM7UUFDL0UsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRU0sc0JBQXNCO1FBQzNCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLENBQUMsaUNBQWlDO1FBQy9FLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDL0QsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQzVCLDZDQUE2QztRQUM3QyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUN6QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7U0FDL0M7SUFDSCxDQUFDOzs7WUFqREYsVUFBVTs7O1lBTEYsd0JBQXdCO1lBRlosU0FBUyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMSBWTXdhcmUsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cbmltcG9ydCB7IEluamVjdGFibGUsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBEcmFnRXZlbnRMaXN0ZW5lclNlcnZpY2UgfSBmcm9tICcuL2RyYWctZXZlbnQtbGlzdGVuZXIuc2VydmljZSc7XG5cbi8vIFRoaXMgcHJvdmlkZXIgcmVnaXN0ZXJzIHRoZSBkcmFnIGhhbmRsZSBlbGVtZW50LlxuLy8gV2hlbiBpdCByZWdpc3RlcnMgYSBlbGVtZW50IGFzIGEgZHJhZyBoYW5kbGUsIGl0IGF0dGFjaGVzIHRoYXQgZWxlbWVudCB0byB0aGUgbGlzdGVuZXJzIGZyb20gQ2xyRHJhZ0V2ZW50TGlzdGVuZXIuXG4vLyBBbHNvLCBpdCBhZGRzIHRoZSBcImRyYWctaGFuZGxlXCIgY3NzIGNsYXNzIHRvIHRoZSByZWdpc3RlcmVkIGVsZW1lbnQgdGhyb3VnaCBSZW5kZXJlci5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEcmFnSGFuZGxlUmVnaXN0cmFyU2VydmljZTxUPiB7XG4gIHByaXZhdGUgX2N1c3RvbUhhbmRsZUVsOiBhbnk7XG4gIHByaXZhdGUgX2RlZmF1bHRIYW5kbGVFbDogYW55O1xuXG4gIGdldCBkZWZhdWx0SGFuZGxlRWwoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2RlZmF1bHRIYW5kbGVFbDtcbiAgfVxuXG4gIHNldCBkZWZhdWx0SGFuZGxlRWwoZWw6IE5vZGUpIHtcbiAgICB0aGlzLl9kZWZhdWx0SGFuZGxlRWwgPSBlbDsgLy8gZGVmYXVsdEhhbmRsZUVsIHdpbGwgYmUgdXN1YWxseSB0aGUgY2xyRHJhZ2dhYmxlIGVsZW1lbnQuXG5cbiAgICAvLyBJZiB0aGUgY3VzdG9tSGFuZGxlRWwgaGFzIGJlZW4gcmVnaXN0ZXJlZCxcbiAgICAvLyBkb24ndCBtYWtlIHRoZSBkZWZhdWx0SGFuZGxlRWwgdGhlIGRyYWcgaGFuZGxlIHlldCB1bnRpbCB0aGUgY3VzdG9tSGFuZGxlRWwgaXMgdW5yZWdpc3RlcmVkLlxuICAgIGlmICghdGhpcy5fY3VzdG9tSGFuZGxlRWwpIHtcbiAgICAgIHRoaXMubWFrZUVsZW1lbnRIYW5kbGUodGhpcy5fZGVmYXVsdEhhbmRsZUVsKTtcbiAgICB9XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRyYWdFdmVudExpc3RlbmVyOiBEcmFnRXZlbnRMaXN0ZW5lclNlcnZpY2U8VD4sIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge31cblxuICBwcml2YXRlIG1ha2VFbGVtZW50SGFuZGxlKGVsOiBOb2RlKSB7XG4gICAgaWYgKHRoaXMuX2RlZmF1bHRIYW5kbGVFbCAmJiB0aGlzLl9kZWZhdWx0SGFuZGxlRWwgIT09IGVsKSB7XG4gICAgICAvLyBCZWZvcmUgbWFraW5nIGFuIGVsZW1lbnQgdGhlIGN1c3RvbSBoYW5kbGUgZWxlbWVudCxcbiAgICAgIC8vIHdlIHNob3VsZCByZW1vdmUgdGhlIGV4aXN0aW5nIGRyYWctaGFuZGxlIGNsYXNzIGZyb20gdGhlIGRyYWdnYWJsZSBlbGVtZW50LlxuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLl9kZWZhdWx0SGFuZGxlRWwsICdkcmFnLWhhbmRsZScpO1xuICAgIH1cbiAgICB0aGlzLmRyYWdFdmVudExpc3RlbmVyLmF0dGFjaERyYWdMaXN0ZW5lcnMoZWwpO1xuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoZWwsICdkcmFnLWhhbmRsZScpO1xuICB9XG5cbiAgZ2V0IGN1c3RvbUhhbmRsZUVsKCkge1xuICAgIHJldHVybiB0aGlzLl9jdXN0b21IYW5kbGVFbDtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3RlckN1c3RvbUhhbmRsZShlbDogTm9kZSkge1xuICAgIHRoaXMuZHJhZ0V2ZW50TGlzdGVuZXIuZGV0YWNoRHJhZ0xpc3RlbmVycygpOyAvLyByZW1vdmVzIHRoZSBleGlzdGluZyBsaXN0ZW5lcnNcbiAgICB0aGlzLl9jdXN0b21IYW5kbGVFbCA9IGVsO1xuICAgIHRoaXMubWFrZUVsZW1lbnRIYW5kbGUodGhpcy5fY3VzdG9tSGFuZGxlRWwpO1xuICB9XG5cbiAgcHVibGljIHVucmVnaXN0ZXJDdXN0b21IYW5kbGUoKSB7XG4gICAgdGhpcy5kcmFnRXZlbnRMaXN0ZW5lci5kZXRhY2hEcmFnTGlzdGVuZXJzKCk7IC8vIHJlbW92ZXMgdGhlIGV4aXN0aW5nIGxpc3RlbmVyc1xuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5fY3VzdG9tSGFuZGxlRWwsICdkcmFnLWhhbmRsZScpO1xuICAgIGRlbGV0ZSB0aGlzLl9jdXN0b21IYW5kbGVFbDtcbiAgICAvLyBpZiBkZWZhdWx0IGhhbmRsZSBpcyBzZXQsIG1ha2UgdGhhdCBoYW5kbGVcbiAgICBpZiAodGhpcy5fZGVmYXVsdEhhbmRsZUVsKSB7XG4gICAgICB0aGlzLm1ha2VFbGVtZW50SGFuZGxlKHRoaXMuX2RlZmF1bHRIYW5kbGVFbCk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,38 +0,0 @@
1
- /*
2
- * Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
3
- * This software is released under MIT license.
4
- * The full license information can be found in LICENSE in the root directory of this project.
5
- */
6
- import { Injectable } from '@angular/core';
7
- import { DomAdapter } from '../../dom-adapter/dom-adapter';
8
- // This service is used to capture the state of clrDraggable element
9
- // at a certain event and passes it to clrDraggableGhost component.
10
- export class DraggableSnapshotService {
11
- constructor(domAdapter) {
12
- this.domAdapter = domAdapter;
13
- }
14
- capture(el, event) {
15
- this.draggableElClientRect = this.domAdapter.clientRect(el);
16
- this.snapshotDragEvent = event;
17
- }
18
- discard() {
19
- delete this.draggableElClientRect;
20
- delete this.snapshotDragEvent;
21
- }
22
- get hasDraggableState() {
23
- return !!this.snapshotDragEvent && !!this.draggableElClientRect;
24
- }
25
- get clientRect() {
26
- return this.draggableElClientRect;
27
- }
28
- get dragEvent() {
29
- return this.snapshotDragEvent;
30
- }
31
- }
32
- DraggableSnapshotService.decorators = [
33
- { type: Injectable }
34
- ];
35
- DraggableSnapshotService.ctorParameters = () => [
36
- { type: DomAdapter }
37
- ];
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZ2dhYmxlLXNuYXBzaG90LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy91dGlscy9kcmFnLWFuZC1kcm9wL3Byb3ZpZGVycy9kcmFnZ2FibGUtc25hcHNob3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBQ0gsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFHM0Qsb0VBQW9FO0FBQ3BFLG1FQUFtRTtBQUVuRSxNQUFNLE9BQU8sd0JBQXdCO0lBQ25DLFlBQW9CLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7SUFBRyxDQUFDO0lBS3ZDLE9BQU8sQ0FBQyxFQUFRLEVBQUUsS0FBNEI7UUFDbkQsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7SUFDakMsQ0FBQztJQUNNLE9BQU87UUFDWixPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQztRQUNsQyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUNoQyxDQUFDO0lBQ0QsSUFBSSxpQkFBaUI7UUFDbkIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUM7SUFDbEUsQ0FBQztJQUNELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDO0lBQ3BDLENBQUM7SUFDRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUNoQyxDQUFDOzs7WUF2QkYsVUFBVTs7O1lBTEYsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMSBWTXdhcmUsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbUFkYXB0ZXIgfSBmcm9tICcuLi8uLi9kb20tYWRhcHRlci9kb20tYWRhcHRlcic7XG5pbXBvcnQgeyBEcmFnRXZlbnRJbnRlcmZhY2UgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2RyYWctZXZlbnQuaW50ZXJmYWNlJztcblxuLy8gVGhpcyBzZXJ2aWNlIGlzIHVzZWQgdG8gY2FwdHVyZSB0aGUgc3RhdGUgb2YgY2xyRHJhZ2dhYmxlIGVsZW1lbnRcbi8vIGF0IGEgY2VydGFpbiBldmVudCBhbmQgcGFzc2VzIGl0IHRvIGNsckRyYWdnYWJsZUdob3N0IGNvbXBvbmVudC5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEcmFnZ2FibGVTbmFwc2hvdFNlcnZpY2U8VD4ge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRvbUFkYXB0ZXI6IERvbUFkYXB0ZXIpIHt9XG5cbiAgcHJpdmF0ZSBkcmFnZ2FibGVFbENsaWVudFJlY3Q6IENsaWVudFJlY3Q7XG4gIHByaXZhdGUgc25hcHNob3REcmFnRXZlbnQ6IERyYWdFdmVudEludGVyZmFjZTxUPjtcblxuICBwdWJsaWMgY2FwdHVyZShlbDogTm9kZSwgZXZlbnQ6IERyYWdFdmVudEludGVyZmFjZTxUPik6IHZvaWQge1xuICAgIHRoaXMuZHJhZ2dhYmxlRWxDbGllbnRSZWN0ID0gdGhpcy5kb21BZGFwdGVyLmNsaWVudFJlY3QoZWwpO1xuICAgIHRoaXMuc25hcHNob3REcmFnRXZlbnQgPSBldmVudDtcbiAgfVxuICBwdWJsaWMgZGlzY2FyZCgpOiB2b2lkIHtcbiAgICBkZWxldGUgdGhpcy5kcmFnZ2FibGVFbENsaWVudFJlY3Q7XG4gICAgZGVsZXRlIHRoaXMuc25hcHNob3REcmFnRXZlbnQ7XG4gIH1cbiAgZ2V0IGhhc0RyYWdnYWJsZVN0YXRlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuc25hcHNob3REcmFnRXZlbnQgJiYgISF0aGlzLmRyYWdnYWJsZUVsQ2xpZW50UmVjdDtcbiAgfVxuICBnZXQgY2xpZW50UmVjdCgpOiBDbGllbnRSZWN0IHtcbiAgICByZXR1cm4gdGhpcy5kcmFnZ2FibGVFbENsaWVudFJlY3Q7XG4gIH1cbiAgZ2V0IGRyYWdFdmVudCgpOiBEcmFnRXZlbnRJbnRlcmZhY2U8VD4ge1xuICAgIHJldHVybiB0aGlzLnNuYXBzaG90RHJhZ0V2ZW50O1xuICB9XG59XG4iXX0=
@@ -1,26 +0,0 @@
1
- /*
2
- * Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
3
- * This software is released under MIT license.
4
- * The full license information can be found in LICENSE in the root directory of this project.
5
- */
6
- import { Injectable, Renderer2 } from '@angular/core';
7
- // This service class adds and removes the "in-drag" class to the document body element
8
- // through its public enter() and exit() methods.
9
- export class GlobalDragModeService {
10
- constructor(renderer) {
11
- this.renderer = renderer;
12
- }
13
- enter() {
14
- this.renderer.addClass(document.body, 'in-drag');
15
- }
16
- exit() {
17
- this.renderer.removeClass(document.body, 'in-drag');
18
- }
19
- }
20
- GlobalDragModeService.decorators = [
21
- { type: Injectable }
22
- ];
23
- GlobalDragModeService.ctorParameters = () => [
24
- { type: Renderer2 }
25
- ];
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLWRyYWctbW9kZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvdXRpbHMvZHJhZy1hbmQtZHJvcC9wcm92aWRlcnMvZ2xvYmFsLWRyYWctbW9kZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV0RCx1RkFBdUY7QUFDdkYsaURBQWlEO0FBRWpELE1BQU0sT0FBTyxxQkFBcUI7SUFDaEMsWUFBb0IsUUFBbUI7UUFBbkIsYUFBUSxHQUFSLFFBQVEsQ0FBVztJQUFHLENBQUM7SUFFM0MsS0FBSztRQUNILElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELElBQUk7UUFDRixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7OztZQVZGLFVBQVU7OztZQUpVLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE2LTIwMjEgVk13YXJlLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLy8gVGhpcyBzZXJ2aWNlIGNsYXNzIGFkZHMgYW5kIHJlbW92ZXMgdGhlIFwiaW4tZHJhZ1wiIGNsYXNzIHRvIHRoZSBkb2N1bWVudCBib2R5IGVsZW1lbnRcbi8vIHRocm91Z2ggaXRzIHB1YmxpYyBlbnRlcigpIGFuZCBleGl0KCkgbWV0aG9kcy5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBHbG9iYWxEcmFnTW9kZVNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHt9XG5cbiAgZW50ZXIoKTogdm9pZCB7XG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhkb2N1bWVudC5ib2R5LCAnaW4tZHJhZycpO1xuICB9XG5cbiAgZXhpdCgpOiB2b2lkIHtcbiAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKGRvY3VtZW50LmJvZHksICdpbi1kcmFnJyk7XG4gIH1cbn1cbiJdfQ==
@@ -1,76 +0,0 @@
1
- /*
2
- * Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
3
- * This software is released under MIT license.
4
- * The full license information can be found in LICENSE in the root directory of this project.
5
- */
6
- import { DOCUMENT, isPlatformBrowser } from '@angular/common';
7
- import { Directive, ElementRef, HostListener, Inject, Input, PLATFORM_ID, Renderer2, } from '@angular/core';
8
- import { FOCUS_ON_VIEW_INIT } from './focus-on-view-init.provider';
9
- /* This directive is for guiding the document focus to the newly added content when its view is initialized
10
- so that assistive technologies can read its content. */
11
- export class ClrFocusOnViewInit {
12
- constructor(el, platformId, focusOnViewInit, document, renderer) {
13
- this.el = el;
14
- this.platformId = platformId;
15
- this.focusOnViewInit = focusOnViewInit;
16
- this.renderer = renderer;
17
- this.directFocus = true; // true if the element gets focused without need to set tabindex;
18
- this._isEnabled = this.focusOnViewInit;
19
- // Angular compiler doesn't understand the type Document
20
- // when working out the metadata for injectable parameters,
21
- // even though it understands the injection token DOCUMENT
22
- // https://github.com/angular/angular/issues/20351
23
- this.document = document;
24
- }
25
- onFocusout() {
26
- if (!this.directFocus) {
27
- // manually set attributes and styles should be removed
28
- this.renderer.removeAttribute(this.el.nativeElement, 'tabindex');
29
- this.renderer.setStyle(this.el.nativeElement, 'outline', null);
30
- }
31
- }
32
- set isEnabled(value) {
33
- if (this.focusOnViewInit && typeof value === 'boolean') {
34
- this._isEnabled = value;
35
- }
36
- }
37
- ngAfterViewInit() {
38
- this.focus();
39
- }
40
- focus() {
41
- if (!isPlatformBrowser(this.platformId)) {
42
- return;
43
- }
44
- if (!this._isEnabled) {
45
- return;
46
- }
47
- if (this.document && this.document.activeElement !== this.el.nativeElement) {
48
- this.el.nativeElement.focus();
49
- if (this.document.activeElement !== this.el.nativeElement) {
50
- // if it's not directly focused now, it means it was a non-interactive element
51
- // so we need to give it a tabindex.
52
- this.directFocus = false;
53
- this.renderer.setAttribute(this.el.nativeElement, 'tabindex', '-1');
54
- this.renderer.setStyle(this.el.nativeElement, 'outline', 'none');
55
- this.el.nativeElement.focus();
56
- }
57
- }
58
- }
59
- }
60
- ClrFocusOnViewInit.decorators = [
61
- { type: Directive, args: [{
62
- selector: '[clrFocusOnViewInit]',
63
- },] }
64
- ];
65
- ClrFocusOnViewInit.ctorParameters = () => [
66
- { type: ElementRef },
67
- { type: undefined, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] },
68
- { type: Boolean, decorators: [{ type: Inject, args: [FOCUS_ON_VIEW_INIT,] }] },
69
- { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },
70
- { type: Renderer2 }
71
- ];
72
- ClrFocusOnViewInit.propDecorators = {
73
- onFocusout: [{ type: HostListener, args: ['focusout',] }],
74
- isEnabled: [{ type: Input, args: ['clrFocusOnViewInit',] }]
75
- };
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXMtb24tdmlldy1pbml0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvdXRpbHMvZm9jdXMvZm9jdXMtb24tdmlldy1pbml0L2ZvY3VzLW9uLXZpZXctaW5pdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsT0FBTyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlELE9BQU8sRUFFTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFdBQVcsRUFDWCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFbkU7MkRBQzJEO0FBSTNELE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsWUFDVSxFQUFjLEVBQ08sVUFBZSxFQUNSLGVBQXdCLEVBQzFDLFFBQWEsRUFDdkIsUUFBbUI7UUFKbkIsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNPLGVBQVUsR0FBVixVQUFVLENBQUs7UUFDUixvQkFBZSxHQUFmLGVBQWUsQ0FBUztRQUVwRCxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBWXJCLGdCQUFXLEdBQUcsSUFBSSxDQUFDLENBQUMsaUVBQWlFO1FBVjNGLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUV2Qyx3REFBd0Q7UUFDeEQsMkRBQTJEO1FBQzNELDBEQUEwRDtRQUMxRCxrREFBa0Q7UUFDbEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDM0IsQ0FBQztJQU1ELFVBQVU7UUFDUixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNyQix1REFBdUQ7WUFDdkQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDakUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ2hFO0lBQ0gsQ0FBQztJQUdELElBQ0ksU0FBUyxDQUFDLEtBQXVCO1FBQ25DLElBQUksSUFBSSxDQUFDLGVBQWUsSUFBSSxPQUFPLEtBQUssS0FBSyxTQUFTLEVBQUU7WUFDdEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7U0FDekI7SUFDSCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNmLENBQUM7SUFFTyxLQUFLO1FBQ1gsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUN2QyxPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNwQixPQUFPO1NBQ1I7UUFDRCxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUU7WUFDMUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDOUIsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRTtnQkFDekQsOEVBQThFO2dCQUM5RSxvQ0FBb0M7Z0JBQ3BDLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO2dCQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ3BFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDakUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7YUFDL0I7U0FDRjtJQUNILENBQUM7OztZQTlERixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjthQUNqQzs7O1lBYkMsVUFBVTs0Q0FpQlAsTUFBTSxTQUFDLFdBQVc7MENBQ2xCLE1BQU0sU0FBQyxrQkFBa0I7NENBQ3pCLE1BQU0sU0FBQyxRQUFRO1lBZGxCLFNBQVM7Ozt5QkE2QlIsWUFBWSxTQUFDLFVBQVU7d0JBVXZCLEtBQUssU0FBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE2LTIwMjEgVk13YXJlLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IERPQ1VNRU5ULCBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgUExBVEZPUk1fSUQsXG4gIFJlbmRlcmVyMixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGT0NVU19PTl9WSUVXX0lOSVQgfSBmcm9tICcuL2ZvY3VzLW9uLXZpZXctaW5pdC5wcm92aWRlcic7XG5cbi8qICBUaGlzIGRpcmVjdGl2ZSBpcyBmb3IgZ3VpZGluZyB0aGUgZG9jdW1lbnQgZm9jdXMgdG8gdGhlIG5ld2x5IGFkZGVkIGNvbnRlbnQgd2hlbiBpdHMgdmlldyBpcyBpbml0aWFsaXplZFxuICAgIHNvIHRoYXQgYXNzaXN0aXZlIHRlY2hub2xvZ2llcyBjYW4gcmVhZCBpdHMgY29udGVudC4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tjbHJGb2N1c09uVmlld0luaXRdJyxcbn0pXG5leHBvcnQgY2xhc3MgQ2xyRm9jdXNPblZpZXdJbml0IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBhbnksXG4gICAgQEluamVjdChGT0NVU19PTl9WSUVXX0lOSVQpIHByaXZhdGUgZm9jdXNPblZpZXdJbml0OiBib29sZWFuLFxuICAgIEBJbmplY3QoRE9DVU1FTlQpIGRvY3VtZW50OiBhbnksXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyXG4gICkge1xuICAgIHRoaXMuX2lzRW5hYmxlZCA9IHRoaXMuZm9jdXNPblZpZXdJbml0O1xuXG4gICAgLy8gQW5ndWxhciBjb21waWxlciBkb2Vzbid0IHVuZGVyc3RhbmQgdGhlIHR5cGUgRG9jdW1lbnRcbiAgICAvLyB3aGVuIHdvcmtpbmcgb3V0IHRoZSBtZXRhZGF0YSBmb3IgaW5qZWN0YWJsZSBwYXJhbWV0ZXJzLFxuICAgIC8vIGV2ZW4gdGhvdWdoIGl0IHVuZGVyc3RhbmRzIHRoZSBpbmplY3Rpb24gdG9rZW4gRE9DVU1FTlRcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy8yMDM1MVxuICAgIHRoaXMuZG9jdW1lbnQgPSBkb2N1bWVudDtcbiAgfVxuXG4gIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50O1xuICBwcml2YXRlIGRpcmVjdEZvY3VzID0gdHJ1ZTsgLy8gdHJ1ZSBpZiB0aGUgZWxlbWVudCBnZXRzIGZvY3VzZWQgd2l0aG91dCBuZWVkIHRvIHNldCB0YWJpbmRleDtcblxuICBASG9zdExpc3RlbmVyKCdmb2N1c291dCcpXG4gIG9uRm9jdXNvdXQoKSB7XG4gICAgaWYgKCF0aGlzLmRpcmVjdEZvY3VzKSB7XG4gICAgICAvLyBtYW51YWxseSBzZXQgYXR0cmlidXRlcyBhbmQgc3R5bGVzIHNob3VsZCBiZSByZW1vdmVkXG4gICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUF0dHJpYnV0ZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICd0YWJpbmRleCcpO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdvdXRsaW5lJywgbnVsbCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaXNFbmFibGVkOiBib29sZWFuO1xuICBASW5wdXQoJ2NsckZvY3VzT25WaWV3SW5pdCcpXG4gIHNldCBpc0VuYWJsZWQodmFsdWU6IGJvb2xlYW4gfCBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5mb2N1c09uVmlld0luaXQgJiYgdHlwZW9mIHZhbHVlID09PSAnYm9vbGVhbicpIHtcbiAgICAgIHRoaXMuX2lzRW5hYmxlZCA9IHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmZvY3VzKCk7XG4gIH1cblxuICBwcml2YXRlIGZvY3VzKCkge1xuICAgIGlmICghaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuX2lzRW5hYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5kb2N1bWVudCAmJiB0aGlzLmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgIT09IHRoaXMuZWwubmF0aXZlRWxlbWVudCkge1xuICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICBpZiAodGhpcy5kb2N1bWVudC5hY3RpdmVFbGVtZW50ICE9PSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgLy8gaWYgaXQncyBub3QgZGlyZWN0bHkgZm9jdXNlZCBub3csIGl0IG1lYW5zIGl0IHdhcyBhIG5vbi1pbnRlcmFjdGl2ZSBlbGVtZW50XG4gICAgICAgIC8vIHNvIHdlIG5lZWQgdG8gZ2l2ZSBpdCBhIHRhYmluZGV4LlxuICAgICAgICB0aGlzLmRpcmVjdEZvY3VzID0gZmFsc2U7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ3RhYmluZGV4JywgJy0xJyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnb3V0bGluZScsICdub25lJyk7XG4gICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
@@ -1,21 +0,0 @@
1
- /*
2
- * Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
3
- * This software is released under MIT license.
4
- * The full license information can be found in LICENSE in the root directory of this project.
5
- */
6
- import { CommonModule } from '@angular/common';
7
- import { NgModule } from '@angular/core';
8
- import { ClrFocusOnViewInit } from './focus-on-view-init';
9
- import { FOCUS_ON_VIEW_INIT_PROVIDER } from './focus-on-view-init.provider';
10
- export const FOCUS_ON_VIEW_INIT_DIRECTIVES = [ClrFocusOnViewInit];
11
- export class ClrFocusOnViewInitModule {
12
- }
13
- ClrFocusOnViewInitModule.decorators = [
14
- { type: NgModule, args: [{
15
- imports: [CommonModule],
16
- declarations: [FOCUS_ON_VIEW_INIT_DIRECTIVES],
17
- providers: [FOCUS_ON_VIEW_INIT_PROVIDER],
18
- exports: [FOCUS_ON_VIEW_INIT_DIRECTIVES],
19
- },] }
20
- ];
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXMtb24tdmlldy1pbml0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL3V0aWxzL2ZvY3VzL2ZvY3VzLW9uLXZpZXctaW5pdC9mb2N1cy1vbi12aWV3LWluaXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUU1RSxNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0FBUS9FLE1BQU0sT0FBTyx3QkFBd0I7OztZQU5wQyxRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2dCQUN2QixZQUFZLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQztnQkFDN0MsU0FBUyxFQUFFLENBQUMsMkJBQTJCLENBQUM7Z0JBQ3hDLE9BQU8sRUFBRSxDQUFDLDZCQUE2QixDQUFDO2FBQ3pDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxNi0yMDIxIFZNd2FyZSwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICogVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZS5cbiAqIFRoZSBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIGluIExJQ0VOU0UgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgcHJvamVjdC5cbiAqL1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDbHJGb2N1c09uVmlld0luaXQgfSBmcm9tICcuL2ZvY3VzLW9uLXZpZXctaW5pdCc7XG5pbXBvcnQgeyBGT0NVU19PTl9WSUVXX0lOSVRfUFJPVklERVIgfSBmcm9tICcuL2ZvY3VzLW9uLXZpZXctaW5pdC5wcm92aWRlcic7XG5cbmV4cG9ydCBjb25zdCBGT0NVU19PTl9WSUVXX0lOSVRfRElSRUNUSVZFUzogVHlwZTxhbnk+W10gPSBbQ2xyRm9jdXNPblZpZXdJbml0XTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogW0ZPQ1VTX09OX1ZJRVdfSU5JVF9ESVJFQ1RJVkVTXSxcbiAgcHJvdmlkZXJzOiBbRk9DVVNfT05fVklFV19JTklUX1BST1ZJREVSXSxcbiAgZXhwb3J0czogW0ZPQ1VTX09OX1ZJRVdfSU5JVF9ESVJFQ1RJVkVTXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2xyRm9jdXNPblZpZXdJbml0TW9kdWxlIHt9XG4iXX0=
@@ -1,94 +0,0 @@
1
- /*
2
- * Copyright (c) 2016-2021 VMware, Inc. All Rights Reserved.
3
- * This software is released under MIT license.
4
- * The full license information can be found in LICENSE in the root directory of this project.
5
- */
6
- import { Injectable, Optional, Renderer2, SkipSelf } from '@angular/core';
7
- import { isObservable, of } from 'rxjs';
8
- import { ArrowKeyDirection } from './arrow-key-direction.enum';
9
- export class FocusService {
10
- constructor(renderer) {
11
- this.renderer = renderer;
12
- this._unlistenFuncs = [];
13
- }
14
- get current() {
15
- return this._current;
16
- }
17
- reset(first) {
18
- this._current = first;
19
- }
20
- listenToArrowKeys(el) {
21
- // The following listeners return false when there was an action to take for the key pressed,
22
- // in order to prevent the default behavior of that key.
23
- this._unlistenFuncs.push(this.renderer.listen(el, 'keydown.arrowup', () => !this.move(ArrowKeyDirection.UP)));
24
- this._unlistenFuncs.push(this.renderer.listen(el, 'keydown.arrowdown', () => !this.move(ArrowKeyDirection.DOWN)));
25
- this._unlistenFuncs.push(this.renderer.listen(el, 'keydown.arrowleft', () => !this.move(ArrowKeyDirection.LEFT)));
26
- this._unlistenFuncs.push(this.renderer.listen(el, 'keydown.arrowright', () => !this.move(ArrowKeyDirection.RIGHT)));
27
- }
28
- registerContainer(el) {
29
- this.renderer.setAttribute(el, 'tabindex', '0');
30
- this.listenToArrowKeys(el);
31
- // The following listeners return false when there was an action to take for the key pressed,
32
- // in order to prevent the default behavior of that key.
33
- this._unlistenFuncs.push(this.renderer.listen(el, 'keydown.space', () => !this.activateCurrent()));
34
- this._unlistenFuncs.push(this.renderer.listen(el, 'keydown.enter', () => !this.activateCurrent()));
35
- }
36
- moveTo(item) {
37
- /**
38
- * Make sure that item is not undefined,
39
- * This is safety net in the case that someone sometime decide to
40
- * call this method without having FocusableItem.
41
- */
42
- if (item === undefined) {
43
- return;
44
- }
45
- if (this.current) {
46
- this.current.blur();
47
- }
48
- item.focus();
49
- this._current = item;
50
- }
51
- move(direction) {
52
- let moved = false;
53
- if (this.current) {
54
- const next = this.current[direction];
55
- if (next) {
56
- // Turning the value into an Observable isn't great, but it's the fastest way to avoid code duplication.
57
- // If performance ever matters for this, we can refactor using additional private methods.
58
- const nextObs = isObservable(next) ? next : of(next);
59
- nextObs.subscribe(item => {
60
- if (item) {
61
- this.moveTo(item);
62
- moved = true;
63
- }
64
- });
65
- }
66
- }
67
- return moved;
68
- }
69
- activateCurrent() {
70
- if (this.current && this.current.activate) {
71
- this.current.activate();
72
- return true;
73
- }
74
- return false;
75
- }
76
- detachListeners() {
77
- this._unlistenFuncs.forEach(unlisten => unlisten());
78
- }
79
- }
80
- FocusService.decorators = [
81
- { type: Injectable }
82
- ];
83
- FocusService.ctorParameters = () => [
84
- { type: Renderer2 }
85
- ];
86
- export function clrFocusServiceFactory(existing, renderer) {
87
- return existing || new FocusService(renderer);
88
- }
89
- export const FOCUS_SERVICE_PROVIDER = {
90
- provide: FocusService,
91
- useFactory: clrFocusServiceFactory,
92
- deps: [[new Optional(), new SkipSelf(), FocusService], Renderer2],
93
- };
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL3V0aWxzL2ZvY3VzL2ZvY3VzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFeEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFJL0QsTUFBTSxPQUFPLFlBQVk7SUFDdkIsWUFBb0IsUUFBbUI7UUFBbkIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUUvQixtQkFBYyxHQUFtQixFQUFFLENBQUM7SUFGRixDQUFDO0lBSTNDLElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFvQjtRQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBZTtRQUMvQiw2RkFBNkY7UUFDN0Ysd0RBQXdEO1FBQ3hELElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxpQkFBaUIsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxtQkFBbUIsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJ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QUFFLENBQUMsQ0FBQztJQUN0RCxDQUFDOzs7WUE5RUYsVUFBVTs7O1lBTm9CLFNBQVM7O0FBdUZ4QyxNQUFNLFVBQVUsc0JBQXNCLENBQUMsUUFBc0IsRUFBRSxRQUFtQjtJQUNoRixPQUFPLFFBQVEsSUFBSSxJQUFJLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUNoRCxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUc7SUFDcEMsT0FBTyxFQUFFLFlBQVk7SUFDckIsVUFBVSxFQUFFLHNCQUFzQjtJQUNsQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksUUFBUSxFQUFFLEVBQUUsSUFBSSxRQUFRLEVBQUUsRUFBRSxZQUFZLENBQUMsRUFBRSxTQUFTLENBQUM7Q0FDbEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMSBWTXdhcmUsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cblxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgT3B0aW9uYWwsIFJlbmRlcmVyMiwgU2tpcFNlbGYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQXJyb3dLZXlEaXJlY3Rpb24gfSBmcm9tICcuL2Fycm93LWtleS1kaXJlY3Rpb24uZW51bSc7XG5pbXBvcnQgeyBGb2N1c2FibGVJdGVtIH0gZnJvbSAnLi9mb2N1c2FibGUtaXRlbS9mb2N1c2FibGUtaXRlbSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGb2N1c1NlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHt9XG5cbiAgcHJpdmF0ZSBfdW5saXN0ZW5GdW5jczogKCgpID0+IHZvaWQpW10gPSBbXTtcbiAgcHJpdmF0ZSBfY3VycmVudDogRm9jdXNhYmxlSXRlbTtcbiAgcHVibGljIGdldCBjdXJyZW50KCkge1xuICAgIHJldHVybiB0aGlzLl9jdXJyZW50O1xuICB9XG5cbiAgcmVzZXQoZmlyc3Q6IEZvY3VzYWJsZUl0ZW0pIHtcbiAgICB0aGlzLl9jdXJyZW50ID0gZmlyc3Q7XG4gIH1cblxuICBsaXN0ZW5Ub0Fycm93S2V5cyhlbDogSFRNTEVsZW1lbnQpIHtcbiAgICAvLyBUaGUgZm9sbG93aW5nIGxpc3RlbmVycyByZXR1cm4gZmFsc2Ugd2hlbiB0aGVyZSB3YXMgYW4gYWN0aW9uIHRvIHRha2UgZm9yIHRoZSBrZXkgcHJlc3NlZCxcbiAgICAvLyBpbiBvcmRlciB0byBwcmV2ZW50IHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRoYXQga2V5LlxuICAgIHRoaXMuX3VubGlzdGVuRnVuY3MucHVzaCh0aGlzLnJlbmRlcmVyLmxpc3RlbihlbCwgJ2tleWRvd24uYXJyb3d1cCcsICgpID0+ICF0aGlzLm1vdmUoQXJyb3dLZXlEaXJlY3Rpb24uVVApKSk7XG4gICAgdGhpcy5fdW5saXN0ZW5GdW5jcy5wdXNoKHRoaXMucmVuZGVyZXIubGlzdGVuKGVsLCAna2V5ZG93bi5hcnJvd2Rvd24nLCAoKSA9PiAhdGhpcy5tb3ZlKEFycm93S2V5RGlyZWN0aW9uLkRPV04pKSk7XG4gICAgdGhpcy5fdW5saXN0ZW5GdW5jcy5wdXNoKHRoaXMucmVuZGVyZXIubGlzdGVuKGVsLCAna2V5ZG93bi5hcnJvd2xlZnQnLCAoKSA9PiAhdGhpcy5tb3ZlKEFycm93S2V5RGlyZWN0aW9uLkxFRlQpKSk7XG4gICAgdGhpcy5fdW5saXN0ZW5GdW5jcy5wdXNoKHRoaXMucmVuZGVyZXIubGlzdGVuKGVsLCAna2V5ZG93bi5hcnJvd3JpZ2h0JywgKCkgPT4gIXRoaXMubW92ZShBcnJvd0tleURpcmVjdGlvbi5SSUdIVCkpKTtcbiAgfVxuXG4gIHJlZ2lzdGVyQ29udGFpbmVyKGVsOiBIVE1MRWxlbWVudCkge1xuICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKGVsLCAndGFiaW5kZXgnLCAnMCcpO1xuICAgIHRoaXMubGlzdGVuVG9BcnJvd0tleXMoZWwpO1xuICAgIC8vIFRoZSBmb2xsb3dpbmcgbGlzdGVuZXJzIHJldHVybiBmYWxzZSB3aGVuIHRoZXJlIHdhcyBhbiBhY3Rpb24gdG8gdGFrZSBmb3IgdGhlIGtleSBwcmVzc2VkLFxuICAgIC8vIGluIG9yZGVyIHRvIHByZXZlbnQgdGhlIGRlZmF1bHQgYmVoYXZpb3Igb2YgdGhhdCBrZXkuXG4gICAgdGhpcy5fdW5saXN0ZW5GdW5jcy5wdXNoKHRoaXMucmVuZGVyZXIubGlzdGVuKGVsLCAna2V5ZG93bi5zcGFjZScsICgpID0+ICF0aGlzLmFjdGl2YXRlQ3VycmVudCgpKSk7XG4gICAgdGhpcy5fdW5saXN0ZW5GdW5jcy5wdXNoKHRoaXMucmVuZGVyZXIubGlzdGVuKGVsLCAna2V5ZG93bi5lbnRlcicsICgpID0+ICF0aGlzLmFjdGl2YXRlQ3VycmVudCgpKSk7XG4gIH1cblxuICBtb3ZlVG8oaXRlbTogRm9jdXNhYmxlSXRlbSkge1xuICAgIC8qKlxuICAgICAqIE1ha2Ugc3VyZSB0aGF0IGl0ZW0gaXMgbm90IHVuZGVmaW5lZCxcbiAgICAgKiBUaGlzIGlzIHNhZmV0eSBuZXQgaW4gdGhlIGNhc2UgdGhhdCBzb21lb25lIHNvbWV0aW1lIGRlY2lkZSB0b1xuICAgICAqIGNhbGwgdGhpcyBtZXRob2Qgd2l0aG91dCBoYXZpbmcgRm9jdXNhYmxlSXRlbS5cbiAgICAgKi9cbiAgICBpZiAoaXRlbSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY3VycmVudCkge1xuICAgICAgdGhpcy5jdXJyZW50LmJsdXIoKTtcbiAgICB9XG4gICAgaXRlbS5mb2N1cygpO1xuICAgIHRoaXMuX2N1cnJlbnQgPSBpdGVtO1xuICB9XG5cbiAgbW92ZShkaXJlY3Rpb246IEFycm93S2V5RGlyZWN0aW9uKTogYm9vbGVhbiB7XG4gICAgbGV0IG1vdmVkID0gZmFsc2U7XG4gICAgaWYgKHRoaXMuY3VycmVudCkge1xuICAgICAgY29uc3QgbmV4dCA9IHRoaXMuY3VycmVudFtkaXJlY3Rpb25dO1xuICAgICAgaWYgKG5leHQpIHtcbiAgICAgICAgLy8gVHVybmluZyB0aGUgdmFsdWUgaW50byBhbiBPYnNlcnZhYmxlIGlzbid0IGdyZWF0LCBidXQgaXQncyB0aGUgZmFzdGVzdCB3YXkgdG8gYXZvaWQgY29kZSBkdXBsaWNhdGlvbi5cbiAgICAgICAgLy8gSWYgcGVyZm9ybWFuY2UgZXZlciBtYXR0ZXJzIGZvciB0aGlzLCB3ZSBjYW4gcmVmYWN0b3IgdXNpbmcgYWRkaXRpb25hbCBwcml2YXRlIG1ldGhvZHMuXG4gICAgICAgIGNvbnN0IG5leHRPYnMgPSBpc09ic2VydmFibGUobmV4dCkgPyBuZXh0IDogb2YobmV4dCk7XG4gICAgICAgIG5leHRPYnMuc3Vic2NyaWJlKGl0ZW0gPT4ge1xuICAgICAgICAgIGlmIChpdGVtKSB7XG4gICAgICAgICAgICB0aGlzLm1vdmVUbyhpdGVtKTtcbiAgICAgICAgICAgIG1vdmVkID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbW92ZWQ7XG4gIH1cblxuICBhY3RpdmF0ZUN1cnJlbnQoKSB7XG4gICAgaWYgKHRoaXMuY3VycmVudCAmJiB0aGlzLmN1cnJlbnQuYWN0aXZhdGUpIHtcbiAgICAgIHRoaXMuY3VycmVudC5hY3RpdmF0ZSgpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBkZXRhY2hMaXN0ZW5lcnMoKSB7XG4gICAgdGhpcy5fdW5saXN0ZW5GdW5jcy5mb3JFYWNoKHVubGlzdGVuID0+IHVubGlzdGVuKCkpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbHJGb2N1c1NlcnZpY2VGYWN0b3J5KGV4aXN0aW5nOiBGb2N1c1NlcnZpY2UsIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcbiAgcmV0dXJuIGV4aXN0aW5nIHx8IG5ldyBGb2N1c1NlcnZpY2UocmVuZGVyZXIpO1xufVxuXG5leHBvcnQgY29uc3QgRk9DVVNfU0VSVklDRV9QUk9WSURFUiA9IHtcbiAgcHJvdmlkZTogRm9jdXNTZXJ2aWNlLFxuICB1c2VGYWN0b3J5OiBjbHJGb2N1c1NlcnZpY2VGYWN0b3J5LFxuICBkZXBzOiBbW25ldyBPcHRpb25hbCgpLCBuZXcgU2tpcFNlbGYoKSwgRm9jdXNTZXJ2aWNlXSwgUmVuZGVyZXIyXSxcbn07XG4iXX0=