@ptsecurity/mosaic 12.3.0 → 13.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (905) hide show
  1. package/_theming.scss +978 -781
  2. package/_visual.scss +848 -692
  3. package/autocomplete/README.md +0 -0
  4. package/autocomplete/package.json +5 -5
  5. package/button/README.md +0 -0
  6. package/button/button.component.d.ts +17 -14
  7. package/button/button.module.d.ts +1 -1
  8. package/button/package.json +5 -5
  9. package/button-toggle/README.md +0 -0
  10. package/button-toggle/package.json +5 -5
  11. package/card/README.md +0 -0
  12. package/card/package.json +5 -5
  13. package/checkbox/README.md +1 -0
  14. package/checkbox/package.json +5 -5
  15. package/core/formatters/date/formatter.d.ts +41 -17
  16. package/core/formatters/date/templates/en-US.d.ts +8 -8
  17. package/core/formatters/date/templates/ru-RU.d.ts +8 -8
  18. package/core/package.json +5 -5
  19. package/core/pop-up/pop-up.d.ts +1 -0
  20. package/core/public-api.d.ts +1 -0
  21. package/core/version.d.ts +2 -0
  22. package/datepicker/README.md +0 -0
  23. package/datepicker/package.json +5 -5
  24. package/design-tokens/{tokens → legacy-2017/tokens}/components/alert.json5 +0 -0
  25. package/design-tokens/{tokens → legacy-2017/tokens}/components/autocomplete.json5 +0 -0
  26. package/design-tokens/{tokens → legacy-2017/tokens}/components/badge.json5 +0 -0
  27. package/design-tokens/{tokens → legacy-2017/tokens}/components/button-toggle.json5 +0 -0
  28. package/design-tokens/{tokens → legacy-2017/tokens}/components/button.json5 +0 -0
  29. package/design-tokens/{tokens → legacy-2017/tokens}/components/card.json5 +0 -0
  30. package/design-tokens/legacy-2017/tokens/components/checkbox.json5 +39 -0
  31. package/design-tokens/{tokens → legacy-2017/tokens}/components/datepicker.json5 +0 -0
  32. package/design-tokens/{tokens → legacy-2017/tokens}/components/divider.json5 +0 -0
  33. package/design-tokens/{tokens → legacy-2017/tokens}/components/dropdown.json5 +0 -0
  34. package/design-tokens/{tokens → legacy-2017/tokens}/components/form-field.json5 +0 -0
  35. package/design-tokens/{tokens → legacy-2017/tokens}/components/forms.json5 +0 -0
  36. package/design-tokens/{tokens → legacy-2017/tokens}/components/input.json5 +0 -0
  37. package/design-tokens/{tokens → legacy-2017/tokens}/components/link.json5 +0 -0
  38. package/design-tokens/{tokens → legacy-2017/tokens}/components/list.json5 +0 -0
  39. package/design-tokens/legacy-2017/tokens/components/modal.json5 +79 -0
  40. package/design-tokens/legacy-2017/tokens/components/navbar.json5 +69 -0
  41. package/design-tokens/{tokens → legacy-2017/tokens}/components/optgroup.json5 +0 -0
  42. package/design-tokens/{tokens → legacy-2017/tokens}/components/option.json5 +0 -0
  43. package/design-tokens/{tokens → legacy-2017/tokens}/components/popover.json5 +0 -0
  44. package/design-tokens/{tokens → legacy-2017/tokens}/components/popup.json5 +0 -0
  45. package/design-tokens/{tokens → legacy-2017/tokens}/components/progress-bar.json5 +0 -0
  46. package/design-tokens/{tokens → legacy-2017/tokens}/components/progress-spinner.json5 +0 -0
  47. package/design-tokens/legacy-2017/tokens/components/radio.json5 +44 -0
  48. package/design-tokens/{tokens → legacy-2017/tokens}/components/select.json5 +0 -0
  49. package/design-tokens/{tokens → legacy-2017/tokens}/components/sidepanel.json5 +0 -0
  50. package/design-tokens/{tokens → legacy-2017/tokens}/components/table.json5 +0 -0
  51. package/design-tokens/{tokens → legacy-2017/tokens}/components/tabs.json5 +0 -0
  52. package/design-tokens/legacy-2017/tokens/components/tags.json5 +132 -0
  53. package/design-tokens/{tokens → legacy-2017/tokens}/components/textarea.json5 +0 -0
  54. package/design-tokens/{tokens → legacy-2017/tokens}/components/timepicker.json5 +0 -0
  55. package/design-tokens/legacy-2017/tokens/components/toggle.json5 +79 -0
  56. package/design-tokens/{tokens → legacy-2017/tokens}/components/tooltip.json5 +0 -0
  57. package/design-tokens/{tokens → legacy-2017/tokens}/components/tree.json5 +0 -0
  58. package/design-tokens/{tokens → legacy-2017/tokens}/properties/aliases.json5 +0 -0
  59. package/design-tokens/{tokens → legacy-2017/tokens}/properties/colors.json5 +0 -0
  60. package/design-tokens/{tokens → legacy-2017/tokens}/properties/font.json5 +0 -0
  61. package/design-tokens/{tokens → legacy-2017/tokens}/properties/globals.json5 +0 -0
  62. package/design-tokens/{tokens → legacy-2017/tokens}/properties/padding.json5 +0 -0
  63. package/design-tokens/{tokens → legacy-2017/tokens}/properties/palette.json5 +0 -0
  64. package/design-tokens/{tokens → legacy-2017/tokens}/properties/typography.json5 +0 -0
  65. package/design-tokens/legacy-2017/tokens.d.ts +7659 -0
  66. package/design-tokens/package.json +5 -5
  67. package/design-tokens/pt-2022/tokens/components/alert.json5 +83 -0
  68. package/design-tokens/pt-2022/tokens/components/autocomplete.json5 +11 -0
  69. package/design-tokens/pt-2022/tokens/components/badge.json5 +184 -0
  70. package/design-tokens/pt-2022/tokens/components/button-toggle.json5 +10 -0
  71. package/design-tokens/pt-2022/tokens/components/button.json5 +143 -0
  72. package/design-tokens/pt-2022/tokens/components/card.json5 +51 -0
  73. package/design-tokens/pt-2022/tokens/components/checkbox.json5 +39 -0
  74. package/design-tokens/pt-2022/tokens/components/datepicker.json5 +64 -0
  75. package/design-tokens/pt-2022/tokens/components/divider.json5 +8 -0
  76. package/design-tokens/pt-2022/tokens/components/dropdown.json5 +47 -0
  77. package/design-tokens/pt-2022/tokens/components/form-field.json5 +52 -0
  78. package/design-tokens/pt-2022/tokens/components/forms.json5 +52 -0
  79. package/design-tokens/pt-2022/tokens/components/input.json5 +13 -0
  80. package/design-tokens/pt-2022/tokens/components/link.json5 +56 -0
  81. package/design-tokens/pt-2022/tokens/components/list.json5 +15 -0
  82. package/design-tokens/pt-2022/tokens/components/modal.json5 +79 -0
  83. package/design-tokens/pt-2022/tokens/components/navbar.json5 +69 -0
  84. package/design-tokens/pt-2022/tokens/components/optgroup.json5 +10 -0
  85. package/design-tokens/pt-2022/tokens/components/option.json5 +12 -0
  86. package/design-tokens/pt-2022/tokens/components/popover.json5 +68 -0
  87. package/design-tokens/pt-2022/tokens/components/popup.json5 +18 -0
  88. package/design-tokens/pt-2022/tokens/components/progress-bar.json5 +13 -0
  89. package/design-tokens/pt-2022/tokens/components/progress-spinner.json5 +7 -0
  90. package/design-tokens/pt-2022/tokens/components/radio.json5 +44 -0
  91. package/design-tokens/pt-2022/tokens/components/select.json5 +25 -0
  92. package/design-tokens/pt-2022/tokens/components/sidepanel.json5 +30 -0
  93. package/design-tokens/pt-2022/tokens/components/table.json5 +15 -0
  94. package/design-tokens/pt-2022/tokens/components/tabs.json5 +25 -0
  95. package/design-tokens/pt-2022/tokens/components/tags.json5 +132 -0
  96. package/design-tokens/pt-2022/tokens/components/textarea.json5 +12 -0
  97. package/design-tokens/pt-2022/tokens/components/timepicker.json5 +7 -0
  98. package/design-tokens/pt-2022/tokens/components/toggle.json5 +79 -0
  99. package/design-tokens/pt-2022/tokens/components/tooltip.json5 +83 -0
  100. package/design-tokens/pt-2022/tokens/components/tree.json5 +12 -0
  101. package/design-tokens/pt-2022/tokens/properties/aliases.json5 +3 -0
  102. package/design-tokens/pt-2022/tokens/properties/colors.json5 +112 -0
  103. package/design-tokens/pt-2022/tokens/properties/font.json5 +15 -0
  104. package/design-tokens/pt-2022/tokens/properties/globals.json5 +30 -0
  105. package/design-tokens/pt-2022/tokens/properties/padding.json5 +3 -0
  106. package/design-tokens/pt-2022/tokens/properties/palette.json5 +226 -0
  107. package/design-tokens/pt-2022/tokens/properties/typography.json5 +140 -0
  108. package/design-tokens/pt-2022/tokens.d.ts +8696 -0
  109. package/design-tokens/public-api.d.ts +3 -1
  110. package/divider/README.md +0 -0
  111. package/divider/package.json +5 -5
  112. package/dropdown/package.json +5 -5
  113. package/esm2020/autocomplete/autocomplete-origin.directive.mjs +21 -0
  114. package/esm2020/autocomplete/autocomplete-trigger.directive.mjs +555 -0
  115. package/esm2020/autocomplete/autocomplete.component.mjs +154 -0
  116. package/esm2020/autocomplete/autocomplete.module.mjs +34 -0
  117. package/{esm2015/autocomplete/index.js → esm2020/autocomplete/index.mjs} +0 -0
  118. package/{esm2015/autocomplete/ptsecurity-mosaic-autocomplete.js → esm2020/autocomplete/ptsecurity-mosaic-autocomplete.mjs} +0 -0
  119. package/{esm2015/autocomplete/public-api.js → esm2020/autocomplete/public-api.mjs} +0 -0
  120. package/esm2020/button/button.component.mjs +129 -0
  121. package/esm2020/button/button.module.mjs +38 -0
  122. package/{esm2015/button/index.js → esm2020/button/index.mjs} +0 -0
  123. package/{esm2015/button/ptsecurity-mosaic-button.js → esm2020/button/ptsecurity-mosaic-button.mjs} +0 -0
  124. package/{esm2015/button/public-api.js → esm2020/button/public-api.mjs} +0 -0
  125. package/esm2020/button-toggle/button-toggle.component.mjs +362 -0
  126. package/esm2020/button-toggle/button-toggle.module.mjs +19 -0
  127. package/{esm2015/button-toggle/index.js → esm2020/button-toggle/index.mjs} +0 -0
  128. package/{esm2015/button-toggle/ptsecurity-mosaic-button-toggle.js → esm2020/button-toggle/ptsecurity-mosaic-button-toggle.mjs} +0 -0
  129. package/{esm2015/button-toggle/public-api.js → esm2020/button-toggle/public-api.mjs} +0 -0
  130. package/esm2020/card/card.component.mjs +80 -0
  131. package/esm2020/card/card.module.mjs +30 -0
  132. package/{esm2015/card/index.js → esm2020/card/index.mjs} +0 -0
  133. package/{esm2015/card/ptsecurity-mosaic-card.js → esm2020/card/ptsecurity-mosaic-card.mjs} +0 -0
  134. package/{esm2015/card/public-api.js → esm2020/card/public-api.mjs} +0 -0
  135. package/{esm2015/checkbox/checkbox-config.js → esm2020/checkbox/checkbox-config.mjs} +0 -0
  136. package/esm2020/checkbox/checkbox-module.mjs +19 -0
  137. package/esm2020/checkbox/checkbox-required-validator.mjs +27 -0
  138. package/esm2020/checkbox/checkbox.mjs +315 -0
  139. package/{esm2015/checkbox/index.js → esm2020/checkbox/index.mjs} +0 -0
  140. package/{esm2015/checkbox/ptsecurity-mosaic-checkbox.js → esm2020/checkbox/ptsecurity-mosaic-checkbox.mjs} +0 -0
  141. package/{esm2015/checkbox/public-api.js → esm2020/checkbox/public-api.mjs} +0 -0
  142. package/{esm2015/core/animation/animation.js → esm2020/core/animation/animation.mjs} +0 -0
  143. package/{esm2015/core/animation/fade-animations.js → esm2020/core/animation/fade-animations.mjs} +0 -0
  144. package/{esm2015/core/animation/index.js → esm2020/core/animation/index.mjs} +0 -0
  145. package/{esm2015/core/animation/select-animations.js → esm2020/core/animation/select-animations.mjs} +0 -0
  146. package/{esm2015/core/common-behaviors/color.js → esm2020/core/common-behaviors/color.mjs} +0 -0
  147. package/esm2020/core/common-behaviors/common-module.mjs +83 -0
  148. package/{esm2015/core/common-behaviors/constructor.js → esm2020/core/common-behaviors/constructor.mjs} +0 -0
  149. package/{esm2015/core/common-behaviors/disabled.js → esm2020/core/common-behaviors/disabled.mjs} +0 -0
  150. package/{esm2015/core/common-behaviors/error-state.js → esm2020/core/common-behaviors/error-state.mjs} +0 -0
  151. package/{esm2015/core/common-behaviors/index.js → esm2020/core/common-behaviors/index.mjs} +0 -0
  152. package/{esm2015/core/common-behaviors/tabindex.js → esm2020/core/common-behaviors/tabindex.mjs} +0 -0
  153. package/esm2020/core/error/error-options.mjs +26 -0
  154. package/esm2020/core/formatters/date/formatter.mjs +359 -0
  155. package/esm2020/core/formatters/date/templates/en-US.mjs +281 -0
  156. package/esm2020/core/formatters/date/templates/ru-RU.mjs +281 -0
  157. package/esm2020/core/formatters/index.mjs +20 -0
  158. package/esm2020/core/formatters/number/formatter.mjs +105 -0
  159. package/esm2020/core/forms/forms-module.mjs +24 -0
  160. package/esm2020/core/forms/forms.directive.mjs +66 -0
  161. package/{esm2015/core/forms/index.js → esm2020/core/forms/index.mjs} +0 -0
  162. package/esm2020/core/highlight/highlight.pipe.mjs +17 -0
  163. package/esm2020/core/highlight/index.mjs +19 -0
  164. package/{esm2015/core/index.js → esm2020/core/index.mjs} +0 -0
  165. package/{esm2015/core/label/label-options.js → esm2020/core/label/label-options.mjs} +0 -0
  166. package/esm2020/core/line/line.mjs +70 -0
  167. package/esm2020/core/option/action.mjs +121 -0
  168. package/{esm2015/core/option/index.js → esm2020/core/option/index.mjs} +0 -0
  169. package/esm2020/core/option/optgroup.mjs +31 -0
  170. package/esm2020/core/option/option-module.mjs +21 -0
  171. package/esm2020/core/option/option.mjs +254 -0
  172. package/{esm2015/core/overlay/overlay-position-map.js → esm2020/core/overlay/overlay-position-map.mjs} +0 -0
  173. package/{esm2015/core/pop-up/constants.js → esm2020/core/pop-up/constants.mjs} +0 -0
  174. package/{esm2015/core/pop-up/index.js → esm2020/core/pop-up/index.mjs} +0 -0
  175. package/esm2020/core/pop-up/pop-up-trigger.mjs +239 -0
  176. package/esm2020/core/pop-up/pop-up.mjs +94 -0
  177. package/{esm2015/core/ptsecurity-mosaic-core.js → esm2020/core/ptsecurity-mosaic-core.mjs} +0 -0
  178. package/esm2020/core/public-api.mjs +18 -0
  179. package/{esm2015/core/select/constants.js → esm2020/core/select/constants.mjs} +0 -0
  180. package/{esm2015/core/select/errors.js → esm2020/core/select/errors.mjs} +0 -0
  181. package/{esm2015/core/select/events.js → esm2020/core/select/events.mjs} +0 -0
  182. package/{esm2015/core/select/index.js → esm2020/core/select/index.mjs} +0 -0
  183. package/{esm2015/core/selection/constants.js → esm2020/core/selection/constants.mjs} +0 -0
  184. package/{esm2015/core/selection/index.js → esm2020/core/selection/index.mjs} +0 -0
  185. package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +37 -0
  186. package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox.module.mjs +18 -0
  187. package/esm2020/core/services/measure-scrollbar.service.mjs +48 -0
  188. package/{esm2015/core/utils/index.js → esm2020/core/utils/index.mjs} +0 -0
  189. package/{esm2015/core/utils/public-api.js → esm2020/core/utils/public-api.mjs} +0 -0
  190. package/{esm2015/core/utils/utils.js → esm2020/core/utils/utils.mjs} +0 -0
  191. package/{esm2015/core/validation/index.js → esm2020/core/validation/index.mjs} +0 -0
  192. package/{esm2015/core/validation/validation.js → esm2020/core/validation/validation.mjs} +0 -0
  193. package/esm2020/core/version.mjs +3 -0
  194. package/esm2020/datepicker/calendar-body.component.mjs +106 -0
  195. package/esm2020/datepicker/calendar.component.mjs +362 -0
  196. package/{esm2015/datepicker/datepicker-animations.js → esm2020/datepicker/datepicker-animations.mjs} +0 -0
  197. package/{esm2015/datepicker/datepicker-errors.js → esm2020/datepicker/datepicker-errors.mjs} +0 -0
  198. package/esm2020/datepicker/datepicker-input.directive.mjs +900 -0
  199. package/esm2020/datepicker/datepicker-intl.mjs +40 -0
  200. package/esm2020/datepicker/datepicker-module.mjs +107 -0
  201. package/esm2020/datepicker/datepicker-toggle.component.mjs +86 -0
  202. package/esm2020/datepicker/datepicker.component.mjs +408 -0
  203. package/{esm2015/datepicker/index.js → esm2020/datepicker/index.mjs} +0 -0
  204. package/esm2020/datepicker/month-view.component.mjs +257 -0
  205. package/esm2020/datepicker/multi-year-view.component.mjs +218 -0
  206. package/{esm2015/datepicker/ptsecurity-mosaic-datepicker.js → esm2020/datepicker/ptsecurity-mosaic-datepicker.mjs} +0 -0
  207. package/{esm2015/datepicker/public-api.js → esm2020/datepicker/public-api.mjs} +0 -0
  208. package/esm2020/datepicker/year-view.component.mjs +253 -0
  209. package/{esm2015/design-tokens/index.js → esm2020/design-tokens/index.mjs} +0 -0
  210. package/esm2020/design-tokens/legacy-2017/tokens.mjs +953 -0
  211. package/esm2020/design-tokens/pt-2022/tokens.mjs +1013 -0
  212. package/{esm2015/design-tokens/ptsecurity-mosaic-design-tokens.js → esm2020/design-tokens/ptsecurity-mosaic-design-tokens.mjs} +0 -0
  213. package/esm2020/design-tokens/public-api.mjs +4 -0
  214. package/esm2020/divider/divider.component.mjs +39 -0
  215. package/esm2020/divider/divider.module.mjs +18 -0
  216. package/{esm2015/divider/index.js → esm2020/divider/index.mjs} +0 -0
  217. package/{esm2015/divider/ptsecurity-mosaic-divider.js → esm2020/divider/ptsecurity-mosaic-divider.mjs} +0 -0
  218. package/{esm2015/divider/public-api.js → esm2020/divider/public-api.mjs} +0 -0
  219. package/{esm2015/dropdown/dropdown-animations.js → esm2020/dropdown/dropdown-animations.mjs} +0 -0
  220. package/esm2020/dropdown/dropdown-content.directive.mjs +64 -0
  221. package/{esm2015/dropdown/dropdown-errors.js → esm2020/dropdown/dropdown-errors.mjs} +0 -0
  222. package/esm2020/dropdown/dropdown-item.component.mjs +139 -0
  223. package/esm2020/dropdown/dropdown-trigger.directive.mjs +485 -0
  224. package/esm2020/dropdown/dropdown.component.mjs +292 -0
  225. package/esm2020/dropdown/dropdown.module.mjs +50 -0
  226. package/{esm2015/dropdown/dropdown.types.js → esm2020/dropdown/dropdown.types.mjs} +0 -0
  227. package/{esm2015/dropdown/index.js → esm2020/dropdown/index.mjs} +0 -0
  228. package/{esm2015/dropdown/ptsecurity-mosaic-dropdown.js → esm2020/dropdown/ptsecurity-mosaic-dropdown.mjs} +0 -0
  229. package/{esm2015/dropdown/public-api.js → esm2020/dropdown/public-api.mjs} +0 -0
  230. package/esm2020/form-field/cleaner.mjs +23 -0
  231. package/{esm2015/form-field/form-field-control.js → esm2020/form-field/form-field-control.mjs} +0 -0
  232. package/{esm2015/form-field/form-field-errors.js → esm2020/form-field/form-field-errors.mjs} +0 -0
  233. package/esm2020/form-field/form-field.mjs +205 -0
  234. package/esm2020/form-field/form-field.module.mjs +52 -0
  235. package/esm2020/form-field/hint.mjs +23 -0
  236. package/{esm2015/form-field/index.js → esm2020/form-field/index.mjs} +0 -0
  237. package/esm2020/form-field/prefix.mjs +13 -0
  238. package/{esm2015/form-field/ptsecurity-mosaic-form-field.js → esm2020/form-field/ptsecurity-mosaic-form-field.mjs} +0 -0
  239. package/{esm2015/form-field/public-api.js → esm2020/form-field/public-api.mjs} +0 -0
  240. package/esm2020/form-field/stepper.mjs +55 -0
  241. package/esm2020/form-field/suffix.mjs +13 -0
  242. package/esm2020/icon/icon.component.mjs +44 -0
  243. package/esm2020/icon/icon.module.mjs +38 -0
  244. package/{esm2015/icon/index.js → esm2020/icon/index.mjs} +0 -0
  245. package/{esm2015/icon/ptsecurity-mosaic-icon.js → esm2020/icon/ptsecurity-mosaic-icon.mjs} +0 -0
  246. package/{esm2015/icon/public-api.js → esm2020/icon/public-api.mjs} +0 -0
  247. package/{esm2015/index.js → esm2020/index.mjs} +0 -0
  248. package/{esm2015/input/index.js → esm2020/input/index.mjs} +0 -0
  249. package/{esm2015/input/input-errors.js → esm2020/input/input-errors.mjs} +0 -0
  250. package/esm2020/input/input-number-validators.mjs +92 -0
  251. package/esm2020/input/input-number.mjs +163 -0
  252. package/{esm2015/input/input-value-accessor.js → esm2020/input/input-value-accessor.mjs} +0 -0
  253. package/esm2020/input/input.mjs +333 -0
  254. package/esm2020/input/input.module.mjs +23 -0
  255. package/{esm2015/input/ptsecurity-mosaic-input.js → esm2020/input/ptsecurity-mosaic-input.mjs} +0 -0
  256. package/{esm2015/input/public-api.js → esm2020/input/public-api.mjs} +0 -0
  257. package/{esm2015/link/index.js → esm2020/link/index.mjs} +0 -0
  258. package/esm2020/link/link.component.mjs +107 -0
  259. package/esm2020/link/link.module.mjs +26 -0
  260. package/{esm2015/link/ptsecurity-mosaic-link.js → esm2020/link/ptsecurity-mosaic-link.mjs} +0 -0
  261. package/{esm2015/link/public-api.js → esm2020/link/public-api.mjs} +0 -0
  262. package/{esm2015/list/index.js → esm2020/list/index.mjs} +0 -0
  263. package/esm2020/list/list-selection.component.mjs +687 -0
  264. package/esm2020/list/list.component.mjs +44 -0
  265. package/esm2020/list/list.module.mjs +55 -0
  266. package/{esm2015/list/ptsecurity-mosaic-list.js → esm2020/list/ptsecurity-mosaic-list.mjs} +0 -0
  267. package/{esm2015/list/public-api.js → esm2020/list/public-api.mjs} +0 -0
  268. package/esm2020/modal/css-unit.pipe.mjs +17 -0
  269. package/{esm2015/modal/index.js → esm2020/modal/index.mjs} +0 -0
  270. package/esm2020/modal/modal-control.service.mjs +85 -0
  271. package/{esm2015/modal/modal-ref.class.js → esm2020/modal/modal-ref.class.mjs} +0 -0
  272. package/{esm2015/modal/modal-util.js → esm2020/modal/modal-util.mjs} +0 -0
  273. package/esm2020/modal/modal.component.mjs +501 -0
  274. package/esm2020/modal/modal.directive.mjs +52 -0
  275. package/esm2020/modal/modal.module.mjs +72 -0
  276. package/esm2020/modal/modal.service.mjs +124 -0
  277. package/{esm2015/modal/modal.type.js → esm2020/modal/modal.type.mjs} +0 -0
  278. package/{esm2015/modal/ptsecurity-mosaic-modal.js → esm2020/modal/ptsecurity-mosaic-modal.mjs} +0 -0
  279. package/{esm2015/modal/public-api.js → esm2020/modal/public-api.mjs} +0 -0
  280. package/{esm2015/navbar/index.js → esm2020/navbar/index.mjs} +0 -0
  281. package/esm2020/navbar/navbar-item.component.mjs +583 -0
  282. package/esm2020/navbar/navbar.component.mjs +237 -0
  283. package/esm2020/navbar/navbar.module.mjs +92 -0
  284. package/{esm2015/navbar/ptsecurity-mosaic-navbar.js → esm2020/navbar/ptsecurity-mosaic-navbar.mjs} +0 -0
  285. package/{esm2015/navbar/public-api.js → esm2020/navbar/public-api.mjs} +0 -0
  286. package/esm2020/navbar/vertical-navbar.animation.mjs +10 -0
  287. package/esm2020/navbar/vertical-navbar.component.mjs +114 -0
  288. package/{esm2015/popover/index.js → esm2020/popover/index.mjs} +0 -0
  289. package/{esm2015/popover/popover-animations.js → esm2020/popover/popover-animations.mjs} +0 -0
  290. package/esm2020/popover/popover-confirm.component.mjs +108 -0
  291. package/esm2020/popover/popover.component.mjs +253 -0
  292. package/esm2020/popover/popover.module.mjs +24 -0
  293. package/{esm2015/popover/ptsecurity-mosaic-popover.js → esm2020/popover/ptsecurity-mosaic-popover.mjs} +0 -0
  294. package/{esm2015/popover/public-api.js → esm2020/popover/public-api.mjs} +0 -0
  295. package/{esm2015/progress-bar/index.js → esm2020/progress-bar/index.mjs} +0 -0
  296. package/esm2020/progress-bar/progress-bar.component.mjs +42 -0
  297. package/esm2020/progress-bar/progress-bar.module.mjs +30 -0
  298. package/{esm2015/progress-bar/ptsecurity-mosaic-progress-bar.js → esm2020/progress-bar/ptsecurity-mosaic-progress-bar.mjs} +0 -0
  299. package/{esm2015/progress-bar/public-api.js → esm2020/progress-bar/public-api.mjs} +0 -0
  300. package/{esm2015/progress-spinner/index.js → esm2020/progress-spinner/index.mjs} +0 -0
  301. package/esm2020/progress-spinner/progress-spinner.component.mjs +46 -0
  302. package/esm2020/progress-spinner/progress-spinner.module.mjs +30 -0
  303. package/{esm2015/progress-spinner/ptsecurity-mosaic-progress-spinner.js → esm2020/progress-spinner/ptsecurity-mosaic-progress-spinner.mjs} +0 -0
  304. package/{esm2015/progress-spinner/public-api.js → esm2020/progress-spinner/public-api.mjs} +0 -0
  305. package/{esm2015/ptsecurity-mosaic.js → esm2020/ptsecurity-mosaic.mjs} +0 -0
  306. package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
  307. package/{esm2015/radio/index.js → esm2020/radio/index.mjs} +0 -0
  308. package/{esm2015/radio/ptsecurity-mosaic-radio.js → esm2020/radio/ptsecurity-mosaic-radio.mjs} +0 -0
  309. package/{esm2015/radio/public-api.js → esm2020/radio/public-api.mjs} +0 -0
  310. package/esm2020/radio/radio.component.mjs +458 -0
  311. package/esm2020/radio/radio.module.mjs +20 -0
  312. package/{esm2015/select/index.js → esm2020/select/index.mjs} +0 -0
  313. package/{esm2015/select/ptsecurity-mosaic-select.js → esm2020/select/ptsecurity-mosaic-select.mjs} +0 -0
  314. package/{esm2015/select/public-api.js → esm2020/select/public-api.mjs} +0 -0
  315. package/esm2020/select/select.component.mjs +1110 -0
  316. package/esm2020/select/select.module.mjs +64 -0
  317. package/{esm2015/sidebar/index.js → esm2020/sidebar/index.mjs} +0 -0
  318. package/{esm2015/sidebar/ptsecurity-mosaic-sidebar.js → esm2020/sidebar/ptsecurity-mosaic-sidebar.mjs} +0 -0
  319. package/{esm2015/sidebar/public-api.js → esm2020/sidebar/public-api.mjs} +0 -0
  320. package/{esm2015/sidebar/sidebar-animations.js → esm2020/sidebar/sidebar-animations.mjs} +0 -0
  321. package/esm2020/sidebar/sidebar.component.mjs +146 -0
  322. package/esm2020/sidebar/sidebar.module.mjs +30 -0
  323. package/{esm2015/sidepanel/index.js → esm2020/sidepanel/index.mjs} +0 -0
  324. package/{esm2015/sidepanel/ptsecurity-mosaic-sidepanel.js → esm2020/sidepanel/ptsecurity-mosaic-sidepanel.mjs} +0 -0
  325. package/{esm2015/sidepanel/public-api.js → esm2020/sidepanel/public-api.mjs} +0 -0
  326. package/{esm2015/sidepanel/sidepanel-animations.js → esm2020/sidepanel/sidepanel-animations.mjs} +0 -0
  327. package/{esm2015/sidepanel/sidepanel-config.js → esm2020/sidepanel/sidepanel-config.mjs} +0 -0
  328. package/esm2020/sidepanel/sidepanel-container.component.mjs +106 -0
  329. package/esm2020/sidepanel/sidepanel-directives.mjs +159 -0
  330. package/{esm2015/sidepanel/sidepanel-ref.js → esm2020/sidepanel/sidepanel-ref.mjs} +0 -0
  331. package/esm2020/sidepanel/sidepanel.module.mjs +74 -0
  332. package/esm2020/sidepanel/sidepanel.service.mjs +167 -0
  333. package/{esm2015/splitter/index.js → esm2020/splitter/index.mjs} +0 -0
  334. package/{esm2015/splitter/ptsecurity-mosaic-splitter.js → esm2020/splitter/ptsecurity-mosaic-splitter.mjs} +0 -0
  335. package/{esm2015/splitter/public-api.js → esm2020/splitter/public-api.mjs} +0 -0
  336. package/esm2020/splitter/splitter.component.mjs +482 -0
  337. package/esm2020/splitter/splitter.module.mjs +40 -0
  338. package/{esm2015/table/index.js → esm2020/table/index.mjs} +0 -0
  339. package/{esm2015/table/ptsecurity-mosaic-table.js → esm2020/table/ptsecurity-mosaic-table.mjs} +0 -0
  340. package/{esm2015/table/public-api.js → esm2020/table/public-api.mjs} +0 -0
  341. package/esm2020/table/table.component.mjs +16 -0
  342. package/esm2020/table/table.module.mjs +30 -0
  343. package/{esm2015/tabs/index.js → esm2020/tabs/index.mjs} +0 -0
  344. package/esm2020/tabs/paginated-tab-header.mjs +479 -0
  345. package/{esm2015/tabs/ptsecurity-mosaic-tabs.js → esm2020/tabs/ptsecurity-mosaic-tabs.mjs} +0 -0
  346. package/{esm2015/tabs/public-api.js → esm2020/tabs/public-api.mjs} +0 -0
  347. package/esm2020/tabs/tab-body.component.mjs +178 -0
  348. package/esm2020/tabs/tab-content.directive.mjs +15 -0
  349. package/esm2020/tabs/tab-group.component.mjs +350 -0
  350. package/esm2020/tabs/tab-header.component.mjs +67 -0
  351. package/esm2020/tabs/tab-label-wrapper.directive.mjs +78 -0
  352. package/esm2020/tabs/tab-label.directive.mjs +17 -0
  353. package/{esm2015/tabs/tab-nav-bar/index.js → esm2020/tabs/tab-nav-bar/index.mjs} +0 -0
  354. package/esm2020/tabs/tab-nav-bar/tab-nav-bar.mjs +110 -0
  355. package/esm2020/tabs/tab.component.mjs +133 -0
  356. package/{esm2015/tabs/tabs-animations.js → esm2020/tabs/tabs-animations.mjs} +0 -0
  357. package/esm2020/tabs/tabs.module.mjs +104 -0
  358. package/{esm2015/tags/index.js → esm2020/tags/index.mjs} +0 -0
  359. package/{esm2015/tags/ptsecurity-mosaic-tags.js → esm2020/tags/ptsecurity-mosaic-tags.mjs} +0 -0
  360. package/{esm2015/tags/public-api.js → esm2020/tags/public-api.mjs} +0 -0
  361. package/{esm2015/tags/tag-default-options.js → esm2020/tags/tag-default-options.mjs} +0 -0
  362. package/esm2020/tags/tag-input.mjs +229 -0
  363. package/esm2020/tags/tag-list.component.mjs +722 -0
  364. package/{esm2015/tags/tag-text-control.js → esm2020/tags/tag-text-control.mjs} +0 -0
  365. package/esm2020/tags/tag.component.mjs +377 -0
  366. package/esm2020/tags/tag.module.mjs +56 -0
  367. package/{esm2015/textarea/index.js → esm2020/textarea/index.mjs} +0 -0
  368. package/{esm2015/textarea/ptsecurity-mosaic-textarea.js → esm2020/textarea/ptsecurity-mosaic-textarea.mjs} +0 -0
  369. package/{esm2015/textarea/public-api.js → esm2020/textarea/public-api.mjs} +0 -0
  370. package/esm2020/textarea/textarea.component.mjs +268 -0
  371. package/esm2020/textarea/textarea.module.mjs +21 -0
  372. package/{esm2015/timepicker/index.js → esm2020/timepicker/index.mjs} +0 -0
  373. package/{esm2015/timepicker/ptsecurity-mosaic-timepicker.js → esm2020/timepicker/ptsecurity-mosaic-timepicker.mjs} +0 -0
  374. package/{esm2015/timepicker/public-api.js → esm2020/timepicker/public-api.mjs} +0 -0
  375. package/{esm2015/timepicker/timepicker.constants.js → esm2020/timepicker/timepicker.constants.mjs} +0 -0
  376. package/esm2020/timepicker/timepicker.directive.mjs +653 -0
  377. package/esm2020/timepicker/timepicker.module.mjs +34 -0
  378. package/{esm2015/toggle/index.js → esm2020/toggle/index.mjs} +0 -0
  379. package/{esm2015/toggle/ptsecurity-mosaic-toggle.js → esm2020/toggle/ptsecurity-mosaic-toggle.mjs} +0 -0
  380. package/{esm2015/toggle/public-api.js → esm2020/toggle/public-api.mjs} +0 -0
  381. package/esm2020/toggle/toggle.component.mjs +158 -0
  382. package/esm2020/toggle/toggle.module.mjs +20 -0
  383. package/{esm2015/tooltip/index.js → esm2020/tooltip/index.mjs} +0 -0
  384. package/{esm2015/tooltip/ptsecurity-mosaic-tooltip.js → esm2020/tooltip/ptsecurity-mosaic-tooltip.mjs} +0 -0
  385. package/{esm2015/tooltip/public-api.js → esm2020/tooltip/public-api.mjs} +0 -0
  386. package/{esm2015/tooltip/tooltip.animations.js → esm2020/tooltip/tooltip.animations.mjs} +0 -0
  387. package/esm2020/tooltip/tooltip.component.mjs +294 -0
  388. package/esm2020/tooltip/tooltip.module.mjs +43 -0
  389. package/{esm2015/tree/control/base-tree-control.js → esm2020/tree/control/base-tree-control.mjs} +0 -0
  390. package/{esm2015/tree/control/flat-tree-control.js → esm2020/tree/control/flat-tree-control.mjs} +0 -0
  391. package/{esm2015/tree/control/nested-tree-control.js → esm2020/tree/control/nested-tree-control.mjs} +0 -0
  392. package/{esm2015/tree/control/tree-control.js → esm2020/tree/control/tree-control.mjs} +0 -0
  393. package/esm2020/tree/data-source/flat-data-source.mjs +162 -0
  394. package/{esm2015/tree/data-source/nested-data-source.js → esm2020/tree/data-source/nested-data-source.mjs} +0 -0
  395. package/{esm2015/tree/index.js → esm2020/tree/index.mjs} +0 -0
  396. package/esm2020/tree/node.mjs +31 -0
  397. package/esm2020/tree/outlet.mjs +15 -0
  398. package/esm2020/tree/padding.directive.mjs +110 -0
  399. package/{esm2015/tree/ptsecurity-mosaic-tree.js → esm2020/tree/ptsecurity-mosaic-tree.mjs} +0 -0
  400. package/{esm2015/tree/public-api.js → esm2020/tree/public-api.mjs} +0 -0
  401. package/esm2020/tree/toggle.mjs +80 -0
  402. package/esm2020/tree/tree-base.mjs +243 -0
  403. package/{esm2015/tree/tree-errors.js → esm2020/tree/tree-errors.mjs} +0 -0
  404. package/esm2020/tree/tree-option.component.mjs +234 -0
  405. package/esm2020/tree/tree-selection.component.mjs +533 -0
  406. package/esm2020/tree/tree.mjs +15 -0
  407. package/esm2020/tree/tree.module.mjs +53 -0
  408. package/{esm2015/tree-select/index.js → esm2020/tree-select/index.mjs} +0 -0
  409. package/{esm2015/tree-select/ptsecurity-mosaic-tree-select.js → esm2020/tree-select/ptsecurity-mosaic-tree-select.mjs} +0 -0
  410. package/{esm2015/tree-select/public-api.js → esm2020/tree-select/public-api.mjs} +0 -0
  411. package/esm2020/tree-select/tree-select.component.mjs +925 -0
  412. package/esm2020/tree-select/tree-select.module.mjs +47 -0
  413. package/fesm2015/ptsecurity-mosaic-autocomplete.mjs +756 -0
  414. package/fesm2015/ptsecurity-mosaic-autocomplete.mjs.map +1 -0
  415. package/fesm2015/ptsecurity-mosaic-button-toggle.mjs +385 -0
  416. package/fesm2015/ptsecurity-mosaic-button-toggle.mjs.map +1 -0
  417. package/fesm2015/ptsecurity-mosaic-button.mjs +170 -0
  418. package/fesm2015/ptsecurity-mosaic-button.mjs.map +1 -0
  419. package/fesm2015/ptsecurity-mosaic-card.mjs +113 -0
  420. package/fesm2015/ptsecurity-mosaic-card.mjs.map +1 -0
  421. package/fesm2015/ptsecurity-mosaic-checkbox.mjs +366 -0
  422. package/fesm2015/ptsecurity-mosaic-checkbox.mjs.map +1 -0
  423. package/fesm2015/ptsecurity-mosaic-core.mjs +2704 -0
  424. package/fesm2015/ptsecurity-mosaic-core.mjs.map +1 -0
  425. package/fesm2015/ptsecurity-mosaic-datepicker.mjs +2700 -0
  426. package/fesm2015/ptsecurity-mosaic-datepicker.mjs.map +1 -0
  427. package/fesm2015/ptsecurity-mosaic-design-tokens.mjs +2925 -0
  428. package/fesm2015/ptsecurity-mosaic-design-tokens.mjs.map +1 -0
  429. package/fesm2015/ptsecurity-mosaic-divider.mjs +61 -0
  430. package/fesm2015/ptsecurity-mosaic-divider.mjs.map +1 -0
  431. package/fesm2015/ptsecurity-mosaic-dropdown.mjs +1106 -0
  432. package/fesm2015/ptsecurity-mosaic-dropdown.mjs.map +1 -0
  433. package/fesm2015/ptsecurity-mosaic-form-field.mjs +378 -0
  434. package/fesm2015/ptsecurity-mosaic-form-field.mjs.map +1 -0
  435. package/fesm2015/ptsecurity-mosaic-icon.mjs +88 -0
  436. package/fesm2015/ptsecurity-mosaic-icon.mjs.map +1 -0
  437. package/fesm2015/ptsecurity-mosaic-input.mjs +609 -0
  438. package/fesm2015/ptsecurity-mosaic-input.mjs.map +1 -0
  439. package/fesm2015/ptsecurity-mosaic-link.mjs +137 -0
  440. package/fesm2015/ptsecurity-mosaic-link.mjs.map +1 -0
  441. package/fesm2015/ptsecurity-mosaic-list.mjs +791 -0
  442. package/fesm2015/ptsecurity-mosaic-list.mjs.map +1 -0
  443. package/fesm2015/ptsecurity-mosaic-modal.mjs +864 -0
  444. package/fesm2015/ptsecurity-mosaic-modal.mjs.map +1 -0
  445. package/fesm2015/ptsecurity-mosaic-navbar.mjs +1031 -0
  446. package/fesm2015/ptsecurity-mosaic-navbar.mjs.map +1 -0
  447. package/fesm2015/ptsecurity-mosaic-popover.mjs +393 -0
  448. package/fesm2015/ptsecurity-mosaic-popover.mjs.map +1 -0
  449. package/fesm2015/ptsecurity-mosaic-progress-bar.mjs +76 -0
  450. package/fesm2015/ptsecurity-mosaic-progress-bar.mjs.map +1 -0
  451. package/fesm2015/ptsecurity-mosaic-progress-spinner.mjs +80 -0
  452. package/fesm2015/ptsecurity-mosaic-progress-spinner.mjs.map +1 -0
  453. package/fesm2015/ptsecurity-mosaic-radio.mjs +481 -0
  454. package/fesm2015/ptsecurity-mosaic-radio.mjs.map +1 -0
  455. package/fesm2015/ptsecurity-mosaic-select.mjs +1175 -0
  456. package/fesm2015/ptsecurity-mosaic-select.mjs.map +1 -0
  457. package/fesm2015/ptsecurity-mosaic-sidebar.mjs +202 -0
  458. package/fesm2015/ptsecurity-mosaic-sidebar.mjs.map +1 -0
  459. package/fesm2015/ptsecurity-mosaic-sidepanel.mjs +592 -0
  460. package/fesm2015/ptsecurity-mosaic-sidepanel.mjs.map +1 -0
  461. package/fesm2015/ptsecurity-mosaic-splitter.mjs +526 -0
  462. package/fesm2015/ptsecurity-mosaic-splitter.mjs.map +1 -0
  463. package/fesm2015/ptsecurity-mosaic-table.mjs +50 -0
  464. package/fesm2015/ptsecurity-mosaic-table.mjs.map +1 -0
  465. package/fesm2015/ptsecurity-mosaic-tabs.mjs +1511 -0
  466. package/fesm2015/ptsecurity-mosaic-tabs.mjs.map +1 -0
  467. package/fesm2015/ptsecurity-mosaic-tags.mjs +1377 -0
  468. package/fesm2015/ptsecurity-mosaic-tags.mjs.map +1 -0
  469. package/fesm2015/ptsecurity-mosaic-textarea.mjs +293 -0
  470. package/fesm2015/ptsecurity-mosaic-textarea.mjs.map +1 -0
  471. package/fesm2015/ptsecurity-mosaic-timepicker.mjs +715 -0
  472. package/fesm2015/ptsecurity-mosaic-timepicker.mjs.map +1 -0
  473. package/fesm2015/ptsecurity-mosaic-toggle.mjs +180 -0
  474. package/fesm2015/ptsecurity-mosaic-toggle.mjs.map +1 -0
  475. package/fesm2015/ptsecurity-mosaic-tooltip.mjs +365 -0
  476. package/fesm2015/ptsecurity-mosaic-tooltip.mjs.map +1 -0
  477. package/fesm2015/ptsecurity-mosaic-tree-select.mjs +972 -0
  478. package/fesm2015/ptsecurity-mosaic-tree-select.mjs.map +1 -0
  479. package/fesm2015/ptsecurity-mosaic-tree.mjs +1718 -0
  480. package/fesm2015/ptsecurity-mosaic-tree.mjs.map +1 -0
  481. package/fesm2015/ptsecurity-mosaic.mjs +4 -0
  482. package/fesm2015/ptsecurity-mosaic.mjs.map +1 -0
  483. package/fesm2020/ptsecurity-mosaic-autocomplete.mjs +752 -0
  484. package/fesm2020/ptsecurity-mosaic-autocomplete.mjs.map +1 -0
  485. package/fesm2020/ptsecurity-mosaic-button-toggle.mjs +383 -0
  486. package/fesm2020/ptsecurity-mosaic-button-toggle.mjs.map +1 -0
  487. package/fesm2020/ptsecurity-mosaic-button.mjs +170 -0
  488. package/fesm2020/ptsecurity-mosaic-button.mjs.map +1 -0
  489. package/fesm2020/ptsecurity-mosaic-card.mjs +113 -0
  490. package/fesm2020/ptsecurity-mosaic-card.mjs.map +1 -0
  491. package/fesm2020/ptsecurity-mosaic-checkbox.mjs +364 -0
  492. package/fesm2020/ptsecurity-mosaic-checkbox.mjs.map +1 -0
  493. package/fesm2020/ptsecurity-mosaic-core.mjs +2733 -0
  494. package/fesm2020/ptsecurity-mosaic-core.mjs.map +1 -0
  495. package/fesm2020/ptsecurity-mosaic-datepicker.mjs +2687 -0
  496. package/fesm2020/ptsecurity-mosaic-datepicker.mjs.map +1 -0
  497. package/fesm2020/ptsecurity-mosaic-design-tokens.mjs +2925 -0
  498. package/fesm2020/ptsecurity-mosaic-design-tokens.mjs.map +1 -0
  499. package/fesm2020/ptsecurity-mosaic-divider.mjs +61 -0
  500. package/fesm2020/ptsecurity-mosaic-divider.mjs.map +1 -0
  501. package/fesm2020/ptsecurity-mosaic-dropdown.mjs +1093 -0
  502. package/fesm2020/ptsecurity-mosaic-dropdown.mjs.map +1 -0
  503. package/fesm2020/ptsecurity-mosaic-form-field.mjs +377 -0
  504. package/fesm2020/ptsecurity-mosaic-form-field.mjs.map +1 -0
  505. package/fesm2020/ptsecurity-mosaic-icon.mjs +86 -0
  506. package/fesm2020/ptsecurity-mosaic-icon.mjs.map +1 -0
  507. package/fesm2020/ptsecurity-mosaic-input.mjs +605 -0
  508. package/fesm2020/ptsecurity-mosaic-input.mjs.map +1 -0
  509. package/fesm2020/ptsecurity-mosaic-link.mjs +136 -0
  510. package/fesm2020/ptsecurity-mosaic-link.mjs.map +1 -0
  511. package/fesm2020/ptsecurity-mosaic-list.mjs +784 -0
  512. package/fesm2020/ptsecurity-mosaic-list.mjs.map +1 -0
  513. package/fesm2020/ptsecurity-mosaic-modal.mjs +860 -0
  514. package/fesm2020/ptsecurity-mosaic-modal.mjs.map +1 -0
  515. package/fesm2020/ptsecurity-mosaic-navbar.mjs +1015 -0
  516. package/fesm2020/ptsecurity-mosaic-navbar.mjs.map +1 -0
  517. package/fesm2020/ptsecurity-mosaic-popover.mjs +389 -0
  518. package/fesm2020/ptsecurity-mosaic-popover.mjs.map +1 -0
  519. package/fesm2020/ptsecurity-mosaic-progress-bar.mjs +76 -0
  520. package/fesm2020/ptsecurity-mosaic-progress-bar.mjs.map +1 -0
  521. package/fesm2020/ptsecurity-mosaic-progress-spinner.mjs +80 -0
  522. package/fesm2020/ptsecurity-mosaic-progress-spinner.mjs.map +1 -0
  523. package/fesm2020/ptsecurity-mosaic-radio.mjs +479 -0
  524. package/fesm2020/ptsecurity-mosaic-radio.mjs.map +1 -0
  525. package/fesm2020/ptsecurity-mosaic-select.mjs +1173 -0
  526. package/fesm2020/ptsecurity-mosaic-select.mjs.map +1 -0
  527. package/fesm2020/ptsecurity-mosaic-sidebar.mjs +202 -0
  528. package/fesm2020/ptsecurity-mosaic-sidebar.mjs.map +1 -0
  529. package/fesm2020/ptsecurity-mosaic-sidepanel.mjs +589 -0
  530. package/fesm2020/ptsecurity-mosaic-sidepanel.mjs.map +1 -0
  531. package/fesm2020/ptsecurity-mosaic-splitter.mjs +526 -0
  532. package/fesm2020/ptsecurity-mosaic-splitter.mjs.map +1 -0
  533. package/fesm2020/ptsecurity-mosaic-table.mjs +50 -0
  534. package/fesm2020/ptsecurity-mosaic-table.mjs.map +1 -0
  535. package/fesm2020/ptsecurity-mosaic-tabs.mjs +1496 -0
  536. package/fesm2020/ptsecurity-mosaic-tabs.mjs.map +1 -0
  537. package/fesm2020/ptsecurity-mosaic-tags.mjs +1370 -0
  538. package/fesm2020/ptsecurity-mosaic-tags.mjs.map +1 -0
  539. package/fesm2020/ptsecurity-mosaic-textarea.mjs +291 -0
  540. package/fesm2020/ptsecurity-mosaic-textarea.mjs.map +1 -0
  541. package/fesm2020/ptsecurity-mosaic-timepicker.mjs +713 -0
  542. package/fesm2020/ptsecurity-mosaic-timepicker.mjs.map +1 -0
  543. package/fesm2020/ptsecurity-mosaic-toggle.mjs +180 -0
  544. package/fesm2020/ptsecurity-mosaic-toggle.mjs.map +1 -0
  545. package/fesm2020/ptsecurity-mosaic-tooltip.mjs +357 -0
  546. package/fesm2020/ptsecurity-mosaic-tooltip.mjs.map +1 -0
  547. package/fesm2020/ptsecurity-mosaic-tree-select.mjs +970 -0
  548. package/fesm2020/ptsecurity-mosaic-tree-select.mjs.map +1 -0
  549. package/fesm2020/ptsecurity-mosaic-tree.mjs +1705 -0
  550. package/fesm2020/ptsecurity-mosaic-tree.mjs.map +1 -0
  551. package/fesm2020/ptsecurity-mosaic.mjs +4 -0
  552. package/fesm2020/ptsecurity-mosaic.mjs.map +1 -0
  553. package/form-field/README.md +0 -0
  554. package/form-field/package.json +5 -5
  555. package/icon/README.md +0 -0
  556. package/icon/package.json +5 -5
  557. package/input/package.json +5 -5
  558. package/link/README.md +0 -0
  559. package/link/package.json +5 -5
  560. package/list/README.md +0 -0
  561. package/list/package.json +5 -5
  562. package/modal/README.md +34 -0
  563. package/modal/modal-control.service.d.ts +1 -0
  564. package/modal/package.json +5 -5
  565. package/navbar/README.md +41 -0
  566. package/navbar/navbar-item.component.d.ts +123 -34
  567. package/navbar/navbar.component.d.ts +37 -9
  568. package/navbar/navbar.module.d.ts +2 -1
  569. package/navbar/package.json +5 -5
  570. package/navbar/vertical-navbar.component.d.ts +15 -26
  571. package/package.json +299 -14
  572. package/popover/README.md +32 -0
  573. package/popover/package.json +5 -5
  574. package/prebuilt-themes/dark-theme.css +1 -1
  575. package/prebuilt-themes/default-theme.css +1 -1
  576. package/prebuilt-visual/default-visual.css +1 -1
  577. package/progress-bar/README.md +0 -0
  578. package/progress-bar/package.json +5 -5
  579. package/progress-spinner/README.md +0 -0
  580. package/progress-spinner/package.json +5 -5
  581. package/radio/package.json +5 -5
  582. package/schematics/README.md +35 -0
  583. package/schematics/ng-update/data/index.d.ts +1 -0
  584. package/schematics/ng-update/data/index.js +10 -9
  585. package/schematics/ng-update/data/index.js.map +1 -1
  586. package/schematics/ng-update/data/symbol-removal.d.ts +2 -0
  587. package/schematics/ng-update/data/symbol-removal.js +5 -0
  588. package/schematics/ng-update/data/symbol-removal.js.map +1 -0
  589. package/schematics/ng-update/index.js +3 -3
  590. package/schematics/ng-update/index.js.map +1 -1
  591. package/schematics/ng-update/update-9.0.0/secondary-entry-points-migration.js +1 -2
  592. package/schematics/ng-update/update-9.0.0/secondary-entry-points-migration.js.map +1 -1
  593. package/schematics/ng-update/upgrade-data.js +2 -1
  594. package/schematics/ng-update/upgrade-data.js.map +1 -1
  595. package/schematics/tsconfig.lib.json +2 -2
  596. package/select/README.md +0 -0
  597. package/select/package.json +5 -5
  598. package/sidebar/package.json +5 -5
  599. package/sidepanel/package.json +5 -5
  600. package/splitter/package.json +5 -5
  601. package/table/README.md +0 -0
  602. package/table/package.json +5 -5
  603. package/tabs/README.md +0 -0
  604. package/tabs/package.json +5 -5
  605. package/tags/README.md +0 -0
  606. package/tags/package.json +5 -5
  607. package/textarea/README.md +0 -0
  608. package/textarea/package.json +5 -5
  609. package/timepicker/README.md +0 -0
  610. package/timepicker/package.json +5 -5
  611. package/toggle/package.json +5 -5
  612. package/tooltip/package.json +5 -5
  613. package/tree/data-source/flat-data-source.d.ts +2 -2
  614. package/tree/package.json +5 -5
  615. package/tree/tree-option.component.d.ts +5 -3
  616. package/tree/tree-selection.component.d.ts +1 -0
  617. package/tree-select/README.md +0 -0
  618. package/tree-select/package.json +5 -5
  619. package/tree-select/tree-select.component.d.ts +9 -1
  620. package/tree-select/tree-select.module.d.ts +2 -1
  621. package/bundles/ptsecurity-mosaic-autocomplete.umd.js +0 -1160
  622. package/bundles/ptsecurity-mosaic-autocomplete.umd.js.map +0 -1
  623. package/bundles/ptsecurity-mosaic-button-toggle.umd.js +0 -755
  624. package/bundles/ptsecurity-mosaic-button-toggle.umd.js.map +0 -1
  625. package/bundles/ptsecurity-mosaic-button.umd.js +0 -533
  626. package/bundles/ptsecurity-mosaic-button.umd.js.map +0 -1
  627. package/bundles/ptsecurity-mosaic-card.umd.js +0 -479
  628. package/bundles/ptsecurity-mosaic-card.umd.js.map +0 -1
  629. package/bundles/ptsecurity-mosaic-checkbox.umd.js +0 -762
  630. package/bundles/ptsecurity-mosaic-checkbox.umd.js.map +0 -1
  631. package/bundles/ptsecurity-mosaic-core.umd.js +0 -2841
  632. package/bundles/ptsecurity-mosaic-core.umd.js.map +0 -1
  633. package/bundles/ptsecurity-mosaic-datepicker.umd.js +0 -3362
  634. package/bundles/ptsecurity-mosaic-datepicker.umd.js.map +0 -1
  635. package/bundles/ptsecurity-mosaic-design-tokens.umd.js +0 -1871
  636. package/bundles/ptsecurity-mosaic-design-tokens.umd.js.map +0 -1
  637. package/bundles/ptsecurity-mosaic-divider.umd.js +0 -106
  638. package/bundles/ptsecurity-mosaic-divider.umd.js.map +0 -1
  639. package/bundles/ptsecurity-mosaic-dropdown.umd.js +0 -1532
  640. package/bundles/ptsecurity-mosaic-dropdown.umd.js.map +0 -1
  641. package/bundles/ptsecurity-mosaic-form-field.umd.js +0 -788
  642. package/bundles/ptsecurity-mosaic-form-field.umd.js.map +0 -1
  643. package/bundles/ptsecurity-mosaic-icon.umd.js +0 -450
  644. package/bundles/ptsecurity-mosaic-icon.umd.js.map +0 -1
  645. package/bundles/ptsecurity-mosaic-input.umd.js +0 -1008
  646. package/bundles/ptsecurity-mosaic-input.umd.js.map +0 -1
  647. package/bundles/ptsecurity-mosaic-link.umd.js +0 -515
  648. package/bundles/ptsecurity-mosaic-link.umd.js.map +0 -1
  649. package/bundles/ptsecurity-mosaic-list.umd.js +0 -1251
  650. package/bundles/ptsecurity-mosaic-list.umd.js.map +0 -1
  651. package/bundles/ptsecurity-mosaic-modal.umd.js +0 -1312
  652. package/bundles/ptsecurity-mosaic-modal.umd.js.map +0 -1
  653. package/bundles/ptsecurity-mosaic-navbar.umd.js +0 -930
  654. package/bundles/ptsecurity-mosaic-navbar.umd.js.map +0 -1
  655. package/bundles/ptsecurity-mosaic-popover.umd.js +0 -836
  656. package/bundles/ptsecurity-mosaic-popover.umd.js.map +0 -1
  657. package/bundles/ptsecurity-mosaic-progress-bar.umd.js +0 -440
  658. package/bundles/ptsecurity-mosaic-progress-bar.umd.js.map +0 -1
  659. package/bundles/ptsecurity-mosaic-progress-spinner.umd.js +0 -448
  660. package/bundles/ptsecurity-mosaic-progress-spinner.umd.js.map +0 -1
  661. package/bundles/ptsecurity-mosaic-radio.umd.js +0 -901
  662. package/bundles/ptsecurity-mosaic-radio.umd.js.map +0 -1
  663. package/bundles/ptsecurity-mosaic-select.umd.js +0 -1606
  664. package/bundles/ptsecurity-mosaic-select.umd.js.map +0 -1
  665. package/bundles/ptsecurity-mosaic-sidebar.umd.js +0 -254
  666. package/bundles/ptsecurity-mosaic-sidebar.umd.js.map +0 -1
  667. package/bundles/ptsecurity-mosaic-sidepanel.umd.js +0 -954
  668. package/bundles/ptsecurity-mosaic-sidepanel.umd.js.map +0 -1
  669. package/bundles/ptsecurity-mosaic-splitter.umd.js +0 -635
  670. package/bundles/ptsecurity-mosaic-splitter.umd.js.map +0 -1
  671. package/bundles/ptsecurity-mosaic-table.umd.js +0 -81
  672. package/bundles/ptsecurity-mosaic-table.umd.js.map +0 -1
  673. package/bundles/ptsecurity-mosaic-tabs.umd.js +0 -2013
  674. package/bundles/ptsecurity-mosaic-tabs.umd.js.map +0 -1
  675. package/bundles/ptsecurity-mosaic-tags.umd.js +0 -1917
  676. package/bundles/ptsecurity-mosaic-tags.umd.js.map +0 -1
  677. package/bundles/ptsecurity-mosaic-textarea.umd.js +0 -664
  678. package/bundles/ptsecurity-mosaic-textarea.umd.js.map +0 -1
  679. package/bundles/ptsecurity-mosaic-timepicker.umd.js +0 -821
  680. package/bundles/ptsecurity-mosaic-timepicker.umd.js.map +0 -1
  681. package/bundles/ptsecurity-mosaic-toggle.umd.js +0 -557
  682. package/bundles/ptsecurity-mosaic-toggle.umd.js.map +0 -1
  683. package/bundles/ptsecurity-mosaic-tooltip.umd.js +0 -777
  684. package/bundles/ptsecurity-mosaic-tooltip.umd.js.map +0 -1
  685. package/bundles/ptsecurity-mosaic-tree-select.umd.js +0 -1369
  686. package/bundles/ptsecurity-mosaic-tree-select.umd.js.map +0 -1
  687. package/bundles/ptsecurity-mosaic-tree.umd.js +0 -2301
  688. package/bundles/ptsecurity-mosaic-tree.umd.js.map +0 -1
  689. package/bundles/ptsecurity-mosaic.umd.js +0 -11
  690. package/bundles/ptsecurity-mosaic.umd.js.map +0 -1
  691. package/design-tokens/tokens/components/checkbox.json5 +0 -39
  692. package/design-tokens/tokens/components/modal.json5 +0 -67
  693. package/design-tokens/tokens/components/navbar.json5 +0 -64
  694. package/design-tokens/tokens/components/radio.json5 +0 -45
  695. package/design-tokens/tokens/components/tags.json5 +0 -126
  696. package/design-tokens/tokens/components/toggle.json5 +0 -55
  697. package/design-tokens/tokens.d.ts +0 -7636
  698. package/esm2015/autocomplete/autocomplete-origin.directive.js +0 -21
  699. package/esm2015/autocomplete/autocomplete-trigger.directive.js +0 -555
  700. package/esm2015/autocomplete/autocomplete.component.js +0 -163
  701. package/esm2015/autocomplete/autocomplete.module.js +0 -34
  702. package/esm2015/button/button.component.js +0 -129
  703. package/esm2015/button/button.module.js +0 -42
  704. package/esm2015/button-toggle/button-toggle.component.js +0 -370
  705. package/esm2015/button-toggle/button-toggle.module.js +0 -19
  706. package/esm2015/card/card.component.js +0 -88
  707. package/esm2015/card/card.module.js +0 -30
  708. package/esm2015/checkbox/checkbox-module.js +0 -19
  709. package/esm2015/checkbox/checkbox-required-validator.js +0 -27
  710. package/esm2015/checkbox/checkbox.js +0 -325
  711. package/esm2015/core/common-behaviors/common-module.js +0 -83
  712. package/esm2015/core/error/error-options.js +0 -26
  713. package/esm2015/core/formatters/date/formatter.js +0 -288
  714. package/esm2015/core/formatters/date/templates/en-US.js +0 -280
  715. package/esm2015/core/formatters/date/templates/ru-RU.js +0 -280
  716. package/esm2015/core/formatters/index.js +0 -20
  717. package/esm2015/core/formatters/number/formatter.js +0 -99
  718. package/esm2015/core/forms/forms-module.js +0 -24
  719. package/esm2015/core/forms/forms.directive.js +0 -66
  720. package/esm2015/core/highlight/highlight.pipe.js +0 -17
  721. package/esm2015/core/highlight/index.js +0 -19
  722. package/esm2015/core/line/line.js +0 -70
  723. package/esm2015/core/option/action.js +0 -131
  724. package/esm2015/core/option/optgroup.js +0 -40
  725. package/esm2015/core/option/option-module.js +0 -21
  726. package/esm2015/core/option/option.js +0 -262
  727. package/esm2015/core/pop-up/pop-up-trigger.js +0 -239
  728. package/esm2015/core/pop-up/pop-up.js +0 -87
  729. package/esm2015/core/public-api.js +0 -17
  730. package/esm2015/core/selection/pseudo-checkbox/pseudo-checkbox.js +0 -45
  731. package/esm2015/core/selection/pseudo-checkbox/pseudo-checkbox.module.js +0 -18
  732. package/esm2015/core/services/measure-scrollbar.service.js +0 -48
  733. package/esm2015/datepicker/calendar-body.component.js +0 -114
  734. package/esm2015/datepicker/calendar.component.js +0 -377
  735. package/esm2015/datepicker/datepicker-input.directive.js +0 -892
  736. package/esm2015/datepicker/datepicker-intl.js +0 -40
  737. package/esm2015/datepicker/datepicker-module.js +0 -107
  738. package/esm2015/datepicker/datepicker-toggle.component.js +0 -94
  739. package/esm2015/datepicker/datepicker.component.js +0 -418
  740. package/esm2015/datepicker/month-view.component.js +0 -263
  741. package/esm2015/datepicker/multi-year-view.component.js +0 -224
  742. package/esm2015/datepicker/year-view.component.js +0 -259
  743. package/esm2015/design-tokens/public-api.js +0 -2
  744. package/esm2015/design-tokens/tokens.js +0 -930
  745. package/esm2015/divider/divider.component.js +0 -46
  746. package/esm2015/divider/divider.module.js +0 -18
  747. package/esm2015/dropdown/dropdown-content.directive.js +0 -66
  748. package/esm2015/dropdown/dropdown-item.component.js +0 -149
  749. package/esm2015/dropdown/dropdown-trigger.directive.js +0 -486
  750. package/esm2015/dropdown/dropdown.component.js +0 -302
  751. package/esm2015/dropdown/dropdown.module.js +0 -50
  752. package/esm2015/form-field/cleaner.js +0 -23
  753. package/esm2015/form-field/form-field.js +0 -224
  754. package/esm2015/form-field/form-field.module.js +0 -52
  755. package/esm2015/form-field/hint.js +0 -23
  756. package/esm2015/form-field/prefix.js +0 -13
  757. package/esm2015/form-field/stepper.js +0 -55
  758. package/esm2015/form-field/suffix.js +0 -13
  759. package/esm2015/icon/icon.component.js +0 -51
  760. package/esm2015/icon/icon.module.js +0 -38
  761. package/esm2015/input/input-number-validators.js +0 -92
  762. package/esm2015/input/input-number.js +0 -163
  763. package/esm2015/input/input.js +0 -333
  764. package/esm2015/input/input.module.js +0 -23
  765. package/esm2015/link/link.component.js +0 -108
  766. package/esm2015/link/link.module.js +0 -26
  767. package/esm2015/list/list-selection.component.js +0 -711
  768. package/esm2015/list/list.component.js +0 -58
  769. package/esm2015/list/list.module.js +0 -55
  770. package/esm2015/modal/css-unit.pipe.js +0 -17
  771. package/esm2015/modal/modal-control.service.js +0 -63
  772. package/esm2015/modal/modal.component.js +0 -508
  773. package/esm2015/modal/modal.directive.js +0 -52
  774. package/esm2015/modal/modal.module.js +0 -72
  775. package/esm2015/modal/modal.service.js +0 -124
  776. package/esm2015/navbar/navbar-item.component.js +0 -209
  777. package/esm2015/navbar/navbar.component.js +0 -118
  778. package/esm2015/navbar/navbar.module.js +0 -76
  779. package/esm2015/navbar/vertical-navbar.animation.js +0 -10
  780. package/esm2015/navbar/vertical-navbar.component.js +0 -140
  781. package/esm2015/popover/popover-confirm.component.js +0 -116
  782. package/esm2015/popover/popover.component.js +0 -262
  783. package/esm2015/popover/popover.module.js +0 -24
  784. package/esm2015/progress-bar/progress-bar.component.js +0 -50
  785. package/esm2015/progress-bar/progress-bar.module.js +0 -30
  786. package/esm2015/progress-spinner/progress-spinner.component.js +0 -54
  787. package/esm2015/progress-spinner/progress-spinner.module.js +0 -30
  788. package/esm2015/radio/radio.component.js +0 -467
  789. package/esm2015/radio/radio.module.js +0 -20
  790. package/esm2015/select/select.component.js +0 -1122
  791. package/esm2015/select/select.module.js +0 -64
  792. package/esm2015/sidebar/sidebar.component.js +0 -155
  793. package/esm2015/sidebar/sidebar.module.js +0 -30
  794. package/esm2015/sidepanel/sidepanel-container.component.js +0 -114
  795. package/esm2015/sidepanel/sidepanel-directives.js +0 -159
  796. package/esm2015/sidepanel/sidepanel.module.js +0 -74
  797. package/esm2015/sidepanel/sidepanel.service.js +0 -164
  798. package/esm2015/splitter/splitter.component.js +0 -489
  799. package/esm2015/splitter/splitter.module.js +0 -40
  800. package/esm2015/table/table.component.js +0 -16
  801. package/esm2015/table/table.module.js +0 -30
  802. package/esm2015/tabs/paginated-tab-header.js +0 -482
  803. package/esm2015/tabs/tab-body.component.js +0 -186
  804. package/esm2015/tabs/tab-content.directive.js +0 -15
  805. package/esm2015/tabs/tab-group.component.js +0 -359
  806. package/esm2015/tabs/tab-header.component.js +0 -76
  807. package/esm2015/tabs/tab-label-wrapper.directive.js +0 -78
  808. package/esm2015/tabs/tab-label.directive.js +0 -17
  809. package/esm2015/tabs/tab-nav-bar/tab-nav-bar.js +0 -118
  810. package/esm2015/tabs/tab.component.js +0 -133
  811. package/esm2015/tabs/tabs.module.js +0 -104
  812. package/esm2015/tags/tag-input.js +0 -229
  813. package/esm2015/tags/tag-list.component.js +0 -732
  814. package/esm2015/tags/tag.component.js +0 -386
  815. package/esm2015/tags/tag.module.js +0 -56
  816. package/esm2015/textarea/textarea.component.js +0 -268
  817. package/esm2015/textarea/textarea.module.js +0 -21
  818. package/esm2015/timepicker/timepicker.directive.js +0 -653
  819. package/esm2015/timepicker/timepicker.module.js +0 -34
  820. package/esm2015/toggle/toggle.component.js +0 -169
  821. package/esm2015/toggle/toggle.module.js +0 -20
  822. package/esm2015/tooltip/tooltip.component.js +0 -299
  823. package/esm2015/tooltip/tooltip.module.js +0 -43
  824. package/esm2015/tree/data-source/flat-data-source.js +0 -162
  825. package/esm2015/tree/node.js +0 -31
  826. package/esm2015/tree/outlet.js +0 -15
  827. package/esm2015/tree/padding.directive.js +0 -111
  828. package/esm2015/tree/toggle.js +0 -89
  829. package/esm2015/tree/tree-base.js +0 -243
  830. package/esm2015/tree/tree-option.component.js +0 -238
  831. package/esm2015/tree/tree-selection.component.js +0 -541
  832. package/esm2015/tree/tree.js +0 -23
  833. package/esm2015/tree/tree.module.js +0 -53
  834. package/esm2015/tree-select/tree-select.component.js +0 -901
  835. package/esm2015/tree-select/tree-select.module.js +0 -43
  836. package/fesm2015/ptsecurity-mosaic-autocomplete.js +0 -761
  837. package/fesm2015/ptsecurity-mosaic-autocomplete.js.map +0 -1
  838. package/fesm2015/ptsecurity-mosaic-button-toggle.js +0 -391
  839. package/fesm2015/ptsecurity-mosaic-button-toggle.js.map +0 -1
  840. package/fesm2015/ptsecurity-mosaic-button.js +0 -174
  841. package/fesm2015/ptsecurity-mosaic-button.js.map +0 -1
  842. package/fesm2015/ptsecurity-mosaic-card.js +0 -121
  843. package/fesm2015/ptsecurity-mosaic-card.js.map +0 -1
  844. package/fesm2015/ptsecurity-mosaic-checkbox.js +0 -374
  845. package/fesm2015/ptsecurity-mosaic-checkbox.js.map +0 -1
  846. package/fesm2015/ptsecurity-mosaic-core.js +0 -2680
  847. package/fesm2015/ptsecurity-mosaic-core.js.map +0 -1
  848. package/fesm2015/ptsecurity-mosaic-datepicker.js +0 -2738
  849. package/fesm2015/ptsecurity-mosaic-datepicker.js.map +0 -1
  850. package/fesm2015/ptsecurity-mosaic-design-tokens.js +0 -936
  851. package/fesm2015/ptsecurity-mosaic-design-tokens.js.map +0 -1
  852. package/fesm2015/ptsecurity-mosaic-divider.js +0 -68
  853. package/fesm2015/ptsecurity-mosaic-divider.js.map +0 -1
  854. package/fesm2015/ptsecurity-mosaic-dropdown.js +0 -1116
  855. package/fesm2015/ptsecurity-mosaic-dropdown.js.map +0 -1
  856. package/fesm2015/ptsecurity-mosaic-form-field.js +0 -396
  857. package/fesm2015/ptsecurity-mosaic-form-field.js.map +0 -1
  858. package/fesm2015/ptsecurity-mosaic-icon.js +0 -93
  859. package/fesm2015/ptsecurity-mosaic-icon.js.map +0 -1
  860. package/fesm2015/ptsecurity-mosaic-input.js +0 -605
  861. package/fesm2015/ptsecurity-mosaic-input.js.map +0 -1
  862. package/fesm2015/ptsecurity-mosaic-link.js +0 -137
  863. package/fesm2015/ptsecurity-mosaic-link.js.map +0 -1
  864. package/fesm2015/ptsecurity-mosaic-list.js +0 -822
  865. package/fesm2015/ptsecurity-mosaic-list.js.map +0 -1
  866. package/fesm2015/ptsecurity-mosaic-modal.js +0 -845
  867. package/fesm2015/ptsecurity-mosaic-modal.js.map +0 -1
  868. package/fesm2015/ptsecurity-mosaic-navbar.js +0 -539
  869. package/fesm2015/ptsecurity-mosaic-navbar.js.map +0 -1
  870. package/fesm2015/ptsecurity-mosaic-popover.js +0 -406
  871. package/fesm2015/ptsecurity-mosaic-popover.js.map +0 -1
  872. package/fesm2015/ptsecurity-mosaic-progress-bar.js +0 -84
  873. package/fesm2015/ptsecurity-mosaic-progress-bar.js.map +0 -1
  874. package/fesm2015/ptsecurity-mosaic-progress-spinner.js +0 -88
  875. package/fesm2015/ptsecurity-mosaic-progress-spinner.js.map +0 -1
  876. package/fesm2015/ptsecurity-mosaic-radio.js +0 -488
  877. package/fesm2015/ptsecurity-mosaic-radio.js.map +0 -1
  878. package/fesm2015/ptsecurity-mosaic-select.js +0 -1185
  879. package/fesm2015/ptsecurity-mosaic-select.js.map +0 -1
  880. package/fesm2015/ptsecurity-mosaic-sidebar.js +0 -211
  881. package/fesm2015/ptsecurity-mosaic-sidebar.js.map +0 -1
  882. package/fesm2015/ptsecurity-mosaic-sidepanel.js +0 -594
  883. package/fesm2015/ptsecurity-mosaic-sidepanel.js.map +0 -1
  884. package/fesm2015/ptsecurity-mosaic-splitter.js +0 -533
  885. package/fesm2015/ptsecurity-mosaic-splitter.js.map +0 -1
  886. package/fesm2015/ptsecurity-mosaic-table.js +0 -50
  887. package/fesm2015/ptsecurity-mosaic-table.js.map +0 -1
  888. package/fesm2015/ptsecurity-mosaic-tabs.js +0 -1533
  889. package/fesm2015/ptsecurity-mosaic-tabs.js.map +0 -1
  890. package/fesm2015/ptsecurity-mosaic-tags.js +0 -1389
  891. package/fesm2015/ptsecurity-mosaic-tags.js.map +0 -1
  892. package/fesm2015/ptsecurity-mosaic-textarea.js +0 -291
  893. package/fesm2015/ptsecurity-mosaic-textarea.js.map +0 -1
  894. package/fesm2015/ptsecurity-mosaic-timepicker.js +0 -713
  895. package/fesm2015/ptsecurity-mosaic-timepicker.js.map +0 -1
  896. package/fesm2015/ptsecurity-mosaic-toggle.js +0 -191
  897. package/fesm2015/ptsecurity-mosaic-toggle.js.map +0 -1
  898. package/fesm2015/ptsecurity-mosaic-tooltip.js +0 -362
  899. package/fesm2015/ptsecurity-mosaic-tooltip.js.map +0 -1
  900. package/fesm2015/ptsecurity-mosaic-tree-select.js +0 -943
  901. package/fesm2015/ptsecurity-mosaic-tree-select.js.map +0 -1
  902. package/fesm2015/ptsecurity-mosaic-tree.js +0 -1735
  903. package/fesm2015/ptsecurity-mosaic-tree.js.map +0 -1
  904. package/fesm2015/ptsecurity-mosaic.js +0 -4
  905. package/fesm2015/ptsecurity-mosaic.js.map +0 -1
@@ -1,262 +0,0 @@
1
- import { coerceBooleanProperty } from '@angular/cdk/coercion';
2
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Inject, InjectionToken, Input, Optional, Output, ViewEncapsulation } from '@angular/core';
3
- import { ENTER, SPACE } from '@ptsecurity/cdk/keycodes';
4
- import { Subject } from 'rxjs';
5
- import { McOptgroup } from './optgroup';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "./optgroup";
8
- import * as i2 from "../selection/pseudo-checkbox/pseudo-checkbox";
9
- import * as i3 from "@angular/common";
10
- /**
11
- * Option IDs need to be unique across components, so this counter exists outside of
12
- * the component definition.
13
- */
14
- let uniqueIdCounter = 0;
15
- /** Event object emitted by McOption when selected or deselected. */
16
- export class McOptionSelectionChange {
17
- constructor(source, isUserInput = false) {
18
- this.source = source;
19
- this.isUserInput = isUserInput;
20
- }
21
- }
22
- /**
23
- * Injection token used to provide the parent component to options.
24
- */
25
- export const MC_OPTION_PARENT_COMPONENT = new InjectionToken('MC_OPTION_PARENT_COMPONENT');
26
- /**
27
- * Single option inside of a `<mc-select>` element.
28
- */
29
- export class McOption {
30
- constructor(element, changeDetectorRef, parent, group) {
31
- this.element = element;
32
- this.changeDetectorRef = changeDetectorRef;
33
- this.parent = parent;
34
- this.group = group;
35
- /** Event emitted when the option is selected or deselected. */
36
- // tslint:disable-next-line:no-output-on-prefix
37
- this.onSelectionChange = new EventEmitter();
38
- /** Emits when the state of the option changes and any parents have to be notified. */
39
- this.stateChanges = new Subject();
40
- this._id = `mc-option-${uniqueIdCounter++}`;
41
- this._selected = false;
42
- this._disabled = false;
43
- this._active = false;
44
- this.mostRecentViewValue = '';
45
- }
46
- get showCheckbox() {
47
- return this._showCheckbox === undefined ? this.multiple : this._showCheckbox;
48
- }
49
- set showCheckbox(value) {
50
- this._showCheckbox = coerceBooleanProperty(value);
51
- }
52
- /**
53
- * The displayed value of the option. It is necessary to show the selected option in the
54
- * select's trigger.
55
- */
56
- get viewValue() {
57
- // TODO: Add input property alternative for node envs.
58
- return (this.getHostElement().textContent || '').trim();
59
- }
60
- /** Whether the wrapping component is in multiple selection mode. */
61
- get multiple() {
62
- return this.parent && this.parent.multiple;
63
- }
64
- get id() {
65
- return this._id;
66
- }
67
- get selected() {
68
- return this._selected;
69
- }
70
- get disabled() {
71
- return (this.group && this.group.disabled) || this._disabled;
72
- }
73
- set disabled(value) {
74
- this._disabled = coerceBooleanProperty(value);
75
- }
76
- /**
77
- * Whether or not the option is currently active and ready to be selected.
78
- * An active option displays styles as if it is focused, but the
79
- * focus is actually retained somewhere else. This comes in handy
80
- * for components like autocomplete where focus must remain on the input.
81
- */
82
- get active() {
83
- return this._active;
84
- }
85
- ngAfterViewChecked() {
86
- // Since parent components could be using the option's label to display the selected values
87
- // (e.g. `mc-select`) and they don't have a way of knowing if the option's label has changed
88
- // we have to check for changes in the DOM ourselves and dispatch an event. These checks are
89
- // relatively cheap, however we still limit them only to selected options in order to avoid
90
- // hitting the DOM too often.
91
- if (this._selected) {
92
- const viewValue = this.viewValue;
93
- if (viewValue !== this.mostRecentViewValue) {
94
- this.mostRecentViewValue = viewValue;
95
- this.stateChanges.next();
96
- }
97
- }
98
- }
99
- ngOnDestroy() {
100
- this.stateChanges.complete();
101
- }
102
- getHeight() {
103
- // tslint:disable-next-line:naming-convention
104
- const DOMRect = this.element.nativeElement.getClientRects()[0];
105
- return DOMRect ? DOMRect.height : 0;
106
- }
107
- select() {
108
- if (!this._selected) {
109
- this._selected = true;
110
- this.changeDetectorRef.markForCheck();
111
- this.emitSelectionChangeEvent();
112
- }
113
- }
114
- deselect() {
115
- if (this._selected) {
116
- this._selected = false;
117
- this.changeDetectorRef.markForCheck();
118
- this.emitSelectionChangeEvent();
119
- }
120
- }
121
- focus() {
122
- const element = this.getHostElement();
123
- if (typeof element.focus === 'function') {
124
- element.focus();
125
- }
126
- }
127
- /**
128
- * This method sets display styles on the option to make it appear
129
- * active. This is used by the ActiveDescendantKeyManager so key
130
- * events will display the proper options as active on arrow key events.
131
- */
132
- setActiveStyles() {
133
- if (!this._active) {
134
- this._active = true;
135
- this.changeDetectorRef.markForCheck();
136
- }
137
- }
138
- /**
139
- * This method removes display styles on the option that made it appear
140
- * active. This is used by the ActiveDescendantKeyManager so key
141
- * events will display the proper options as active on arrow key events.
142
- */
143
- setInactiveStyles() {
144
- if (this._active) {
145
- this._active = false;
146
- this.changeDetectorRef.markForCheck();
147
- }
148
- }
149
- /** Gets the label to be used when determining whether the option should be focused. */
150
- getLabel() {
151
- return this.viewValue;
152
- }
153
- /** Ensures the option is selected when activated from the keyboard. */
154
- handleKeydown(event) {
155
- // tslint:disable-next-line
156
- if (event.keyCode === ENTER || event.keyCode === SPACE) {
157
- this.selectViaInteraction();
158
- // Prevent the page from scrolling down and form submits.
159
- event.preventDefault();
160
- }
161
- }
162
- /**
163
- * `Selects the option while indicating the selection came from the user. Used to
164
- * determine if the select's view -> model callback should be invoked.`
165
- */
166
- selectViaInteraction() {
167
- if (!this.disabled) {
168
- this._selected = this.multiple ? !this._selected : true;
169
- this.changeDetectorRef.markForCheck();
170
- this.emitSelectionChangeEvent(true);
171
- }
172
- }
173
- getTabIndex() {
174
- return this.disabled ? '-1' : '0';
175
- }
176
- getHostElement() {
177
- return this.element.nativeElement;
178
- }
179
- /** Emits the selection change event. */
180
- emitSelectionChangeEvent(isUserInput = false) {
181
- this.onSelectionChange.emit(new McOptionSelectionChange(this, isUserInput));
182
- }
183
- }
184
- /** @nocollapse */ McOption.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McOption, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: MC_OPTION_PARENT_COMPONENT, optional: true }, { token: i1.McOptgroup, optional: true }], target: i0.ɵɵFactoryTarget.Component });
185
- /** @nocollapse */ McOption.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: McOption, selector: "mc-option", inputs: { value: "value", showCheckbox: "showCheckbox", disabled: "disabled" }, outputs: { onSelectionChange: "onSelectionChange" }, host: { listeners: { "click": "selectViaInteraction()", "keydown": "handleKeydown($event)" }, properties: { "attr.tabindex": "getTabIndex()", "class.mc-selected": "selected", "class.mc-option-multiple": "multiple", "class.mc-active": "active", "class.mc-disabled": "disabled", "id": "id" }, classAttribute: "mc-option" }, exportAs: ["mcOption"], ngImport: i0, template: "<mc-pseudo-checkbox\n *ngIf=\"showCheckbox\"\n [state]=\"selected ? 'checked' : 'unchecked'\"\n [disabled]=\"disabled\">\n</mc-pseudo-checkbox>\n\n<span class=\"mc-option-text\"><ng-content></ng-content></span>\n\n<div class=\"mc-option-overlay\"></div>\n", styles: [".mc-option{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;position:relative;max-width:100%;height:32px;height:var(--mc-option-size-height, 32px);border:2px solid transparent;border:var(--mc-option-size-border-width, 2px) solid transparent;cursor:pointer;outline:none;padding-left:16px;padding-left:var(--mc-option-size-horizontal-padding, 16px);padding-right:16px;padding-right:var(--mc-option-size-horizontal-padding, 16px);-webkit-tap-highlight-color:transparent}.mc-option.mc-disabled{cursor:default}.mc-option .mc-pseudo-checkbox{margin-right:8px}.mc-option .mc-option-overlay{position:absolute;top:calc(-1 * 2px);top:calc(-1 * var(--mc-option-size-border-width, 2px));left:calc(-1 * 2px);left:calc(-1 * var(--mc-option-size-border-width, 2px));right:calc(-1 * 2px);right:calc(-1 * var(--mc-option-size-border-width, 2px));bottom:calc(-1 * 2px);bottom:calc(-1 * var(--mc-option-size-border-width, 2px));pointer-events:none;border-radius:inherit}.mc-option-text{display:inline-block;flex-grow:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}\n"], components: [{ type: i2.McPseudoCheckbox, selector: "mc-pseudo-checkbox", inputs: ["state", "disabled"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
186
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McOption, decorators: [{
187
- type: Component,
188
- args: [{
189
- selector: 'mc-option',
190
- exportAs: 'mcOption',
191
- host: {
192
- '[attr.tabindex]': 'getTabIndex()',
193
- class: 'mc-option',
194
- '[class.mc-selected]': 'selected',
195
- '[class.mc-option-multiple]': 'multiple',
196
- '[class.mc-active]': 'active',
197
- '[class.mc-disabled]': 'disabled',
198
- '[id]': 'id',
199
- '(click)': 'selectViaInteraction()',
200
- '(keydown)': 'handleKeydown($event)'
201
- },
202
- styleUrls: ['option.scss'],
203
- templateUrl: 'option.html',
204
- encapsulation: ViewEncapsulation.None,
205
- changeDetection: ChangeDetectionStrategy.OnPush
206
- }]
207
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
208
- type: Optional
209
- }, {
210
- type: Inject,
211
- args: [MC_OPTION_PARENT_COMPONENT]
212
- }] }, { type: i1.McOptgroup, decorators: [{
213
- type: Optional
214
- }] }]; }, propDecorators: { value: [{
215
- type: Input
216
- }], showCheckbox: [{
217
- type: Input
218
- }], onSelectionChange: [{
219
- type: Output
220
- }], disabled: [{
221
- type: Input
222
- }] } });
223
- /**
224
- * Counts the amount of option group labels that precede the specified option.
225
- * @param optionIndex Index of the option at which to start counting.
226
- * @param options Flat list of all of the options.
227
- * @param optionGroups Flat list of all of the option groups.
228
- * @docs-private
229
- */
230
- export function countGroupLabelsBeforeOption(optionIndex, options, optionGroups) {
231
- if (optionGroups.length) {
232
- const optionsArray = options.toArray();
233
- const groups = optionGroups.toArray();
234
- let groupCounter = 0;
235
- for (let i = 0; i < optionIndex + 1; i++) {
236
- if (optionsArray[i].group && optionsArray[i].group === groups[groupCounter]) {
237
- groupCounter++;
238
- }
239
- }
240
- return groupCounter;
241
- }
242
- return 0;
243
- }
244
- /**
245
- * Determines the position to which to scroll a panel in order for an option to be into view.
246
- * @param optionIndex Index of the option to be scrolled into the view.
247
- * @param optionHeight Height of the options.
248
- * @param currentScrollPosition Current scroll position of the panel.
249
- * @param panelHeight Height of the panel.
250
- * @docs-private
251
- */
252
- export function getOptionScrollPosition(optionIndex, optionHeight, currentScrollPosition, panelHeight) {
253
- const optionOffset = optionIndex * optionHeight;
254
- if (optionOffset < currentScrollPosition) {
255
- return optionOffset;
256
- }
257
- if (optionOffset + optionHeight > currentScrollPosition + panelHeight) {
258
- return Math.max(0, optionOffset - panelHeight + optionHeight);
259
- }
260
- return currentScrollPosition;
261
- }
262
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbW9zYWljL2NvcmUvb3B0aW9uL29wdGlvbi50cyIsIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL21vc2FpYy9jb3JlL29wdGlvbi9vcHRpb24uaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sY0FBYyxFQUNkLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxFQUVOLGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0IsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFlBQVksQ0FBQzs7Ozs7QUFHeEM7OztHQUdHO0FBQ0gsSUFBSSxlQUFlLEdBQUcsQ0FBQyxDQUFDO0FBRXhCLG9FQUFvRTtBQUNwRSxNQUFNLE9BQU8sdUJBQXVCO0lBQ2hDLFlBQW1CLE1BQWdCLEVBQVMsY0FBYyxLQUFLO1FBQTVDLFdBQU0sR0FBTixNQUFNLENBQVU7UUFBUyxnQkFBVyxHQUFYLFdBQVcsQ0FBUTtJQUFHLENBQUM7Q0FDdEU7QUFZRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUNuQyxJQUFJLGNBQWMsQ0FBMEIsNEJBQTRCLENBQUMsQ0FBQztBQUU5RTs7R0FFRztBQXFCSCxNQUFNLE9BQU8sUUFBUTtJQXlFakIsWUFDcUIsT0FBbUIsRUFDbkIsaUJBQW9DLEVBQ1ksTUFBK0IsRUFDM0UsS0FBaUI7UUFIckIsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUNuQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ1ksV0FBTSxHQUFOLE1BQU0sQ0FBeUI7UUFDM0UsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQTlEMUMsK0RBQStEO1FBQy9ELCtDQUErQztRQUM1QixzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBMkIsQ0FBQztRQUVuRixzRkFBc0Y7UUFDN0UsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBb0JwQyxRQUFHLEdBQUcsYUFBYSxlQUFlLEVBQUUsRUFBRSxDQUFDO1FBTXZDLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFXbEIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQVlsQixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBRWhCLHdCQUFtQixHQUFHLEVBQUUsQ0FBQztJQU85QixDQUFDO0lBMUVKLElBQ0ksWUFBWTtRQUNaLE9BQU8sSUFBSSxDQUFDLGFBQWEsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDakYsQ0FBQztJQUVELElBQUksWUFBWSxDQUFDLEtBQUs7UUFDbEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBV0Q7OztPQUdHO0lBQ0gsSUFBSSxTQUFTO1FBQ1Qsc0RBQXNEO1FBQ3RELE9BQU8sQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzVELENBQUM7SUFFRCxvRUFBb0U7SUFDcEUsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO0lBQy9DLENBQUM7SUFFRCxJQUFJLEVBQUU7UUFDRixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDcEIsQ0FBQztJQUlELElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBSUQsSUFDSSxRQUFRO1FBQ1IsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxJQUFJLFFBQVEsQ0FBQyxLQUFVO1FBQ25CLElBQUksQ0FBQyxTQUFTLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUlEOzs7OztPQUtHO0lBQ0gsSUFBSSxNQUFNO1FBQ04sT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7SUFhRCxrQkFBa0I7UUFDZCwyRkFBMkY7UUFDM0YsNEZBQTRGO1FBQzVGLDRGQUE0RjtRQUM1RiwyRkFBMkY7UUFDM0YsNkJBQTZCO1FBQzdCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNoQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBRWpDLElBQUksU0FBUyxLQUFLLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtnQkFDeEMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLFNBQVMsQ0FBQztnQkFDckMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQzthQUM1QjtTQUNKO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxTQUFTO1FBQ0wsNkNBQTZDO1FBQzdDLE1BQU0sT0FBTyxHQUFZLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXhFLE9BQU8sT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELE1BQU07UUFDRixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNqQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztZQUV0QixJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdEMsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7U0FDbkM7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNoQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUV2QixJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdEMsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7U0FDbkM7SUFDTCxDQUFDO0lBRUQsS0FBSztRQUNELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUV0QyxJQUFJLE9BQU8sT0FBTyxDQUFDLEtBQUssS0FBSyxVQUFVLEVBQUU7WUFDckMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ25CO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxlQUFlO1FBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDZixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUNwQixJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDekM7SUFDTCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGlCQUFpQjtRQUNiLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNkLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUN6QztJQUNMLENBQUM7SUFFRCx1RkFBdUY7SUFDdkYsUUFBUTtRQUNKLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBRUQsdUVBQXVFO0lBQ3ZFLGFBQWEsQ0FBQyxLQUFvQjtRQUM5QiwyQkFBMkI7UUFDM0IsSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLEtBQUssSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLEtBQUssRUFBRTtZQUNwRCxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUU1Qix5REFBeUQ7WUFDekQsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQzFCO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNILG9CQUFvQjtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNoQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBRXhELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN0QyxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDdkM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNQLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDdEMsQ0FBQztJQUVELGNBQWM7UUFDVixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDO0lBQ3RDLENBQUM7SUFFRCx3Q0FBd0M7SUFDaEMsd0JBQXdCLENBQUMsV0FBVyxHQUFHLEtBQUs7UUFDaEQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLHVCQUF1QixDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7O3lIQXJNUSxRQUFRLDZFQTRFTywwQkFBMEI7NkdBNUV6QyxRQUFRLGdoQkN6RXJCLDBRQVNBOzRGRGdFYSxRQUFRO2tCQXBCcEIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsV0FBVztvQkFDckIsUUFBUSxFQUFFLFVBQVU7b0JBQ3BCLElBQUksRUFBRTt3QkFDRixpQkFBaUIsRUFBRSxlQUFlO3dCQUNsQyxLQUFLLEVBQUUsV0FBVzt3QkFDbEIscUJBQXFCLEVBQUUsVUFBVTt3QkFDakMsNEJBQTRCLEVBQUUsVUFBVTt3QkFDeEMsbUJBQW1CLEVBQUUsUUFBUTt3QkFDN0IscUJBQXFCLEVBQUUsVUFBVTt3QkFDakMsTUFBTSxFQUFFLElBQUk7d0JBRVosU0FBUyxFQUFFLHdCQUF3Qjt3QkFDbkMsV0FBVyxFQUFFLHVCQUF1QjtxQkFDdkM7b0JBQ0QsU0FBUyxFQUFFLENBQUMsYUFBYSxDQUFDO29CQUMxQixXQUFXLEVBQUUsYUFBYTtvQkFDMUIsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRDs7MEJBNkVRLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsMEJBQTBCOzswQkFDN0MsUUFBUTs0Q0EzRUosS0FBSztzQkFBYixLQUFLO2dCQUdGLFlBQVk7c0JBRGYsS0FBSztnQkFhYSxpQkFBaUI7c0JBQW5DLE1BQU07Z0JBZ0NILFFBQVE7c0JBRFgsS0FBSzs7QUF3SlY7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLDRCQUE0QixDQUN4QyxXQUFtQixFQUNuQixPQUE0QixFQUM1QixZQUFtQztJQUduQyxJQUFJLFlBQVksQ0FBQyxNQUFNLEVBQUU7UUFDckIsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3ZDLE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUV0QyxJQUFJLFlBQVksR0FBRyxDQUFDLENBQUM7UUFFckIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFdBQVcsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDdEMsSUFBSSxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFFO2dCQUN6RSxZQUFZLEVBQUUsQ0FBQzthQUNsQjtTQUNKO1FBRUQsT0FBTyxZQUFZLENBQUM7S0FDdkI7SUFFRCxPQUFPLENBQUMsQ0FBQztBQUNiLENBQUM7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxVQUFVLHVCQUF1QixDQUNuQyxXQUFtQixFQUNuQixZQUFvQixFQUNwQixxQkFBNkIsRUFDN0IsV0FBbUI7SUFFbkIsTUFBTSxZQUFZLEdBQUcsV0FBVyxHQUFHLFlBQVksQ0FBQztJQUVoRCxJQUFJLFlBQVksR0FBRyxxQkFBcUIsRUFBRTtRQUFFLE9BQU8sWUFBWSxDQUFDO0tBQUU7SUFFbEUsSUFBSSxZQUFZLEdBQUcsWUFBWSxHQUFHLHFCQUFxQixHQUFHLFdBQVcsRUFBRTtRQUNuRSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLFlBQVksR0FBRyxXQUFXLEdBQUcsWUFBWSxDQUFDLENBQUM7S0FDakU7SUFFRCxPQUFPLHFCQUFxQixDQUFDO0FBQ2pDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdDaGVja2VkLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbmplY3QsXG4gICAgSW5qZWN0aW9uVG9rZW4sXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFTlRFUiwgU1BBQ0UgfSBmcm9tICdAcHRzZWN1cml0eS9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBNY09wdGdyb3VwIH0gZnJvbSAnLi9vcHRncm91cCc7XG5cblxuLyoqXG4gKiBPcHRpb24gSURzIG5lZWQgdG8gYmUgdW5pcXVlIGFjcm9zcyBjb21wb25lbnRzLCBzbyB0aGlzIGNvdW50ZXIgZXhpc3RzIG91dHNpZGUgb2ZcbiAqIHRoZSBjb21wb25lbnQgZGVmaW5pdGlvbi5cbiAqL1xubGV0IHVuaXF1ZUlkQ291bnRlciA9IDA7XG5cbi8qKiBFdmVudCBvYmplY3QgZW1pdHRlZCBieSBNY09wdGlvbiB3aGVuIHNlbGVjdGVkIG9yIGRlc2VsZWN0ZWQuICovXG5leHBvcnQgY2xhc3MgTWNPcHRpb25TZWxlY3Rpb25DaGFuZ2Uge1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBzb3VyY2U6IE1jT3B0aW9uLCBwdWJsaWMgaXNVc2VySW5wdXQgPSBmYWxzZSkge31cbn1cblxuLyoqXG4gKiBEZXNjcmliZXMgYSBwYXJlbnQgY29tcG9uZW50IHRoYXQgbWFuYWdlcyBhIGxpc3Qgb2Ygb3B0aW9ucy5cbiAqIENvbnRhaW5zIHByb3BlcnRpZXMgdGhhdCB0aGUgb3B0aW9ucyBjYW4gaW5oZXJpdC5cbiAqIEBkb2NzLXByaXZhdGVcbiAqL1xuLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBuYW1pbmctY29udmVudGlvblxuZXhwb3J0IGludGVyZmFjZSBNY09wdGlvblBhcmVudENvbXBvbmVudCB7XG4gICAgbXVsdGlwbGU/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEluamVjdGlvbiB0b2tlbiB1c2VkIHRvIHByb3ZpZGUgdGhlIHBhcmVudCBjb21wb25lbnQgdG8gb3B0aW9ucy5cbiAqL1xuZXhwb3J0IGNvbnN0IE1DX09QVElPTl9QQVJFTlRfQ09NUE9ORU5UID1cbiAgICBuZXcgSW5qZWN0aW9uVG9rZW48TWNPcHRpb25QYXJlbnRDb21wb25lbnQ+KCdNQ19PUFRJT05fUEFSRU5UX0NPTVBPTkVOVCcpO1xuXG4vKipcbiAqIFNpbmdsZSBvcHRpb24gaW5zaWRlIG9mIGEgYDxtYy1zZWxlY3Q+YCBlbGVtZW50LlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ21jLW9wdGlvbicsXG4gICAgZXhwb3J0QXM6ICdtY09wdGlvbicsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2F0dHIudGFiaW5kZXhdJzogJ2dldFRhYkluZGV4KCknLFxuICAgICAgICBjbGFzczogJ21jLW9wdGlvbicsXG4gICAgICAgICdbY2xhc3MubWMtc2VsZWN0ZWRdJzogJ3NlbGVjdGVkJyxcbiAgICAgICAgJ1tjbGFzcy5tYy1vcHRpb24tbXVsdGlwbGVdJzogJ211bHRpcGxlJyxcbiAgICAgICAgJ1tjbGFzcy5tYy1hY3RpdmVdJzogJ2FjdGl2ZScsXG4gICAgICAgICdbY2xhc3MubWMtZGlzYWJsZWRdJzogJ2Rpc2FibGVkJyxcbiAgICAgICAgJ1tpZF0nOiAnaWQnLFxuXG4gICAgICAgICcoY2xpY2spJzogJ3NlbGVjdFZpYUludGVyYWN0aW9uKCknLFxuICAgICAgICAnKGtleWRvd24pJzogJ2hhbmRsZUtleWRvd24oJGV2ZW50KSdcbiAgICB9LFxuICAgIHN0eWxlVXJsczogWydvcHRpb24uc2NzcyddLFxuICAgIHRlbXBsYXRlVXJsOiAnb3B0aW9uLmh0bWwnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTWNPcHRpb24gaW1wbGVtZW50cyBBZnRlclZpZXdDaGVja2VkLCBPbkRlc3Ryb3kge1xuICAgIC8qKiBUaGUgZm9ybSB2YWx1ZSBvZiB0aGUgb3B0aW9uLiAqL1xuICAgIEBJbnB1dCgpIHZhbHVlOiBhbnk7XG5cbiAgICBASW5wdXQoKVxuICAgIGdldCBzaG93Q2hlY2tib3goKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zaG93Q2hlY2tib3ggPT09IHVuZGVmaW5lZCA/IHRoaXMubXVsdGlwbGUgOiB0aGlzLl9zaG93Q2hlY2tib3g7XG4gICAgfVxuXG4gICAgc2V0IHNob3dDaGVja2JveCh2YWx1ZSkge1xuICAgICAgICB0aGlzLl9zaG93Q2hlY2tib3ggPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3Nob3dDaGVja2JveDogYm9vbGVhbjtcblxuICAgIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIG9wdGlvbiBpcyBzZWxlY3RlZCBvciBkZXNlbGVjdGVkLiAqL1xuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1vdXRwdXQtb24tcHJlZml4XG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IG9uU2VsZWN0aW9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxNY09wdGlvblNlbGVjdGlvbkNoYW5nZT4oKTtcblxuICAgIC8qKiBFbWl0cyB3aGVuIHRoZSBzdGF0ZSBvZiB0aGUgb3B0aW9uIGNoYW5nZXMgYW5kIGFueSBwYXJlbnRzIGhhdmUgdG8gYmUgbm90aWZpZWQuICovXG4gICAgcmVhZG9ubHkgc3RhdGVDaGFuZ2VzID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBkaXNwbGF5ZWQgdmFsdWUgb2YgdGhlIG9wdGlvbi4gSXQgaXMgbmVjZXNzYXJ5IHRvIHNob3cgdGhlIHNlbGVjdGVkIG9wdGlvbiBpbiB0aGVcbiAgICAgKiBzZWxlY3QncyB0cmlnZ2VyLlxuICAgICAqL1xuICAgIGdldCB2aWV3VmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgLy8gVE9ETzogQWRkIGlucHV0IHByb3BlcnR5IGFsdGVybmF0aXZlIGZvciBub2RlIGVudnMuXG4gICAgICAgIHJldHVybiAodGhpcy5nZXRIb3N0RWxlbWVudCgpLnRleHRDb250ZW50IHx8ICcnKS50cmltKCk7XG4gICAgfVxuXG4gICAgLyoqIFdoZXRoZXIgdGhlIHdyYXBwaW5nIGNvbXBvbmVudCBpcyBpbiBtdWx0aXBsZSBzZWxlY3Rpb24gbW9kZS4gKi9cbiAgICBnZXQgbXVsdGlwbGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnBhcmVudCAmJiB0aGlzLnBhcmVudC5tdWx0aXBsZTtcbiAgICB9XG5cbiAgICBnZXQgaWQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lkO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2lkID0gYG1jLW9wdGlvbi0ke3VuaXF1ZUlkQ291bnRlcisrfWA7XG5cbiAgICBnZXQgc2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9zZWxlY3RlZCA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBnZXQgZGlzYWJsZWQoKSB7XG4gICAgICAgIHJldHVybiAodGhpcy5ncm91cCAmJiB0aGlzLmdyb3VwLmRpc2FibGVkKSB8fCB0aGlzLl9kaXNhYmxlZDtcbiAgICB9XG5cbiAgICBzZXQgZGlzYWJsZWQodmFsdWU6IGFueSkge1xuICAgICAgICB0aGlzLl9kaXNhYmxlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgb3Igbm90IHRoZSBvcHRpb24gaXMgY3VycmVudGx5IGFjdGl2ZSBhbmQgcmVhZHkgdG8gYmUgc2VsZWN0ZWQuXG4gICAgICogQW4gYWN0aXZlIG9wdGlvbiBkaXNwbGF5cyBzdHlsZXMgYXMgaWYgaXQgaXMgZm9jdXNlZCwgYnV0IHRoZVxuICAgICAqIGZvY3VzIGlzIGFjdHVhbGx5IHJldGFpbmVkIHNvbWV3aGVyZSBlbHNlLiBUaGlzIGNvbWVzIGluIGhhbmR5XG4gICAgICogZm9yIGNvbXBvbmVudHMgbGlrZSBhdXRvY29tcGxldGUgd2hlcmUgZm9jdXMgbXVzdCByZW1haW4gb24gdGhlIGlucHV0LlxuICAgICAqL1xuICAgIGdldCBhY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hY3RpdmU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfYWN0aXZlID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIG1vc3RSZWNlbnRWaWV3VmFsdWUgPSAnJztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnQ6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE1DX09QVElPTl9QQVJFTlRfQ09NUE9ORU5UKSBwcml2YXRlIHJlYWRvbmx5IHBhcmVudDogTWNPcHRpb25QYXJlbnRDb21wb25lbnQsXG4gICAgICAgIEBPcHRpb25hbCgpIHJlYWRvbmx5IGdyb3VwOiBNY09wdGdyb3VwXG4gICAgKSB7fVxuXG4gICAgbmdBZnRlclZpZXdDaGVja2VkKCkge1xuICAgICAgICAvLyBTaW5jZSBwYXJlbnQgY29tcG9uZW50cyBjb3VsZCBiZSB1c2luZyB0aGUgb3B0aW9uJ3MgbGFiZWwgdG8gZGlzcGxheSB0aGUgc2VsZWN0ZWQgdmFsdWVzXG4gICAgICAgIC8vIChlLmcuIGBtYy1zZWxlY3RgKSBhbmQgdGhleSBkb24ndCBoYXZlIGEgd2F5IG9mIGtub3dpbmcgaWYgdGhlIG9wdGlvbidzIGxhYmVsIGhhcyBjaGFuZ2VkXG4gICAgICAgIC8vIHdlIGhhdmUgdG8gY2hlY2sgZm9yIGNoYW5nZXMgaW4gdGhlIERPTSBvdXJzZWx2ZXMgYW5kIGRpc3BhdGNoIGFuIGV2ZW50LiBUaGVzZSBjaGVja3MgYXJlXG4gICAgICAgIC8vIHJlbGF0aXZlbHkgY2hlYXAsIGhvd2V2ZXIgd2Ugc3RpbGwgbGltaXQgdGhlbSBvbmx5IHRvIHNlbGVjdGVkIG9wdGlvbnMgaW4gb3JkZXIgdG8gYXZvaWRcbiAgICAgICAgLy8gaGl0dGluZyB0aGUgRE9NIHRvbyBvZnRlbi5cbiAgICAgICAgaWYgKHRoaXMuX3NlbGVjdGVkKSB7XG4gICAgICAgICAgICBjb25zdCB2aWV3VmFsdWUgPSB0aGlzLnZpZXdWYWx1ZTtcblxuICAgICAgICAgICAgaWYgKHZpZXdWYWx1ZSAhPT0gdGhpcy5tb3N0UmVjZW50Vmlld1ZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tb3N0UmVjZW50Vmlld1ZhbHVlID0gdmlld1ZhbHVlO1xuICAgICAgICAgICAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIGdldEhlaWdodCgpOiBudW1iZXIge1xuICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bmFtaW5nLWNvbnZlbnRpb25cbiAgICAgICAgY29uc3QgRE9NUmVjdDogRE9NUmVjdCA9IHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmdldENsaWVudFJlY3RzKClbMF07XG5cbiAgICAgICAgcmV0dXJuIERPTVJlY3QgPyBET01SZWN0LmhlaWdodCA6IDA7XG4gICAgfVxuXG4gICAgc2VsZWN0KCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX3NlbGVjdGVkKSB7XG4gICAgICAgICAgICB0aGlzLl9zZWxlY3RlZCA9IHRydWU7XG5cbiAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB0aGlzLmVtaXRTZWxlY3Rpb25DaGFuZ2VFdmVudCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZGVzZWxlY3QoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9zZWxlY3RlZCkge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWQgPSBmYWxzZTtcblxuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgIHRoaXMuZW1pdFNlbGVjdGlvbkNoYW5nZUV2ZW50KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmb2N1cygpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKTtcblxuICAgICAgICBpZiAodHlwZW9mIGVsZW1lbnQuZm9jdXMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIGVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIHNldHMgZGlzcGxheSBzdHlsZXMgb24gdGhlIG9wdGlvbiB0byBtYWtlIGl0IGFwcGVhclxuICAgICAqIGFjdGl2ZS4gVGhpcyBpcyB1c2VkIGJ5IHRoZSBBY3RpdmVEZXNjZW5kYW50S2V5TWFuYWdlciBzbyBrZXlcbiAgICAgKiBldmVudHMgd2lsbCBkaXNwbGF5IHRoZSBwcm9wZXIgb3B0aW9ucyBhcyBhY3RpdmUgb24gYXJyb3cga2V5IGV2ZW50cy5cbiAgICAgKi9cbiAgICBzZXRBY3RpdmVTdHlsZXMoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fYWN0aXZlKSB7XG4gICAgICAgICAgICB0aGlzLl9hY3RpdmUgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIHJlbW92ZXMgZGlzcGxheSBzdHlsZXMgb24gdGhlIG9wdGlvbiB0aGF0IG1hZGUgaXQgYXBwZWFyXG4gICAgICogYWN0aXZlLiBUaGlzIGlzIHVzZWQgYnkgdGhlIEFjdGl2ZURlc2NlbmRhbnRLZXlNYW5hZ2VyIHNvIGtleVxuICAgICAqIGV2ZW50cyB3aWxsIGRpc3BsYXkgdGhlIHByb3BlciBvcHRpb25zIGFzIGFjdGl2ZSBvbiBhcnJvdyBrZXkgZXZlbnRzLlxuICAgICAqL1xuICAgIHNldEluYWN0aXZlU3R5bGVzKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fYWN0aXZlKSB7XG4gICAgICAgICAgICB0aGlzLl9hY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogR2V0cyB0aGUgbGFiZWwgdG8gYmUgdXNlZCB3aGVuIGRldGVybWluaW5nIHdoZXRoZXIgdGhlIG9wdGlvbiBzaG91bGQgYmUgZm9jdXNlZC4gKi9cbiAgICBnZXRMYWJlbCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy52aWV3VmFsdWU7XG4gICAgfVxuXG4gICAgLyoqIEVuc3VyZXMgdGhlIG9wdGlvbiBpcyBzZWxlY3RlZCB3aGVuIGFjdGl2YXRlZCBmcm9tIHRoZSBrZXlib2FyZC4gKi9cbiAgICBoYW5kbGVLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZVxuICAgICAgICBpZiAoZXZlbnQua2V5Q29kZSA9PT0gRU5URVIgfHwgZXZlbnQua2V5Q29kZSA9PT0gU1BBQ0UpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0VmlhSW50ZXJhY3Rpb24oKTtcblxuICAgICAgICAgICAgLy8gUHJldmVudCB0aGUgcGFnZSBmcm9tIHNjcm9sbGluZyBkb3duIGFuZCBmb3JtIHN1Ym1pdHMuXG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogYFNlbGVjdHMgdGhlIG9wdGlvbiB3aGlsZSBpbmRpY2F0aW5nIHRoZSBzZWxlY3Rpb24gY2FtZSBmcm9tIHRoZSB1c2VyLiBVc2VkIHRvXG4gICAgICogZGV0ZXJtaW5lIGlmIHRoZSBzZWxlY3QncyB2aWV3IC0+IG1vZGVsIGNhbGxiYWNrIHNob3VsZCBiZSBpbnZva2VkLmBcbiAgICAgKi9cbiAgICBzZWxlY3RWaWFJbnRlcmFjdGlvbigpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICB0aGlzLl9zZWxlY3RlZCA9IHRoaXMubXVsdGlwbGUgPyAhdGhpcy5fc2VsZWN0ZWQgOiB0cnVlO1xuXG4gICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgdGhpcy5lbWl0U2VsZWN0aW9uQ2hhbmdlRXZlbnQodHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRUYWJJbmRleCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kaXNhYmxlZCA/ICctMScgOiAnMCc7XG4gICAgfVxuXG4gICAgZ2V0SG9zdEVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgLyoqIEVtaXRzIHRoZSBzZWxlY3Rpb24gY2hhbmdlIGV2ZW50LiAqL1xuICAgIHByaXZhdGUgZW1pdFNlbGVjdGlvbkNoYW5nZUV2ZW50KGlzVXNlcklucHV0ID0gZmFsc2UpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblNlbGVjdGlvbkNoYW5nZS5lbWl0KG5ldyBNY09wdGlvblNlbGVjdGlvbkNoYW5nZSh0aGlzLCBpc1VzZXJJbnB1dCkpO1xuICAgIH1cbn1cblxuLyoqXG4gKiBDb3VudHMgdGhlIGFtb3VudCBvZiBvcHRpb24gZ3JvdXAgbGFiZWxzIHRoYXQgcHJlY2VkZSB0aGUgc3BlY2lmaWVkIG9wdGlvbi5cbiAqIEBwYXJhbSBvcHRpb25JbmRleCBJbmRleCBvZiB0aGUgb3B0aW9uIGF0IHdoaWNoIHRvIHN0YXJ0IGNvdW50aW5nLlxuICogQHBhcmFtIG9wdGlvbnMgRmxhdCBsaXN0IG9mIGFsbCBvZiB0aGUgb3B0aW9ucy5cbiAqIEBwYXJhbSBvcHRpb25Hcm91cHMgRmxhdCBsaXN0IG9mIGFsbCBvZiB0aGUgb3B0aW9uIGdyb3Vwcy5cbiAqIEBkb2NzLXByaXZhdGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvdW50R3JvdXBMYWJlbHNCZWZvcmVPcHRpb24oXG4gICAgb3B0aW9uSW5kZXg6IG51bWJlcixcbiAgICBvcHRpb25zOiBRdWVyeUxpc3Q8TWNPcHRpb24+LFxuICAgIG9wdGlvbkdyb3VwczogUXVlcnlMaXN0PE1jT3B0Z3JvdXA+XG4pOiBudW1iZXIge1xuXG4gICAgaWYgKG9wdGlvbkdyb3Vwcy5sZW5ndGgpIHtcbiAgICAgICAgY29uc3Qgb3B0aW9uc0FycmF5ID0gb3B0aW9ucy50b0FycmF5KCk7XG4gICAgICAgIGNvbnN0IGdyb3VwcyA9IG9wdGlvbkdyb3Vwcy50b0FycmF5KCk7XG5cbiAgICAgICAgbGV0IGdyb3VwQ291bnRlciA9IDA7XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBvcHRpb25JbmRleCArIDE7IGkrKykge1xuICAgICAgICAgICAgaWYgKG9wdGlvbnNBcnJheVtpXS5ncm91cCAmJiBvcHRpb25zQXJyYXlbaV0uZ3JvdXAgPT09IGdyb3Vwc1tncm91cENvdW50ZXJdKSB7XG4gICAgICAgICAgICAgICAgZ3JvdXBDb3VudGVyKys7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZ3JvdXBDb3VudGVyO1xuICAgIH1cblxuICAgIHJldHVybiAwO1xufVxuXG4vKipcbiAqIERldGVybWluZXMgdGhlIHBvc2l0aW9uIHRvIHdoaWNoIHRvIHNjcm9sbCBhIHBhbmVsIGluIG9yZGVyIGZvciBhbiBvcHRpb24gdG8gYmUgaW50byB2aWV3LlxuICogQHBhcmFtIG9wdGlvbkluZGV4IEluZGV4IG9mIHRoZSBvcHRpb24gdG8gYmUgc2Nyb2xsZWQgaW50byB0aGUgdmlldy5cbiAqIEBwYXJhbSBvcHRpb25IZWlnaHQgSGVpZ2h0IG9mIHRoZSBvcHRpb25zLlxuICogQHBhcmFtIGN1cnJlbnRTY3JvbGxQb3NpdGlvbiBDdXJyZW50IHNjcm9sbCBwb3NpdGlvbiBvZiB0aGUgcGFuZWwuXG4gKiBAcGFyYW0gcGFuZWxIZWlnaHQgSGVpZ2h0IG9mIHRoZSBwYW5lbC5cbiAqIEBkb2NzLXByaXZhdGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldE9wdGlvblNjcm9sbFBvc2l0aW9uKFxuICAgIG9wdGlvbkluZGV4OiBudW1iZXIsXG4gICAgb3B0aW9uSGVpZ2h0OiBudW1iZXIsXG4gICAgY3VycmVudFNjcm9sbFBvc2l0aW9uOiBudW1iZXIsXG4gICAgcGFuZWxIZWlnaHQ6IG51bWJlclxuKTogbnVtYmVyIHtcbiAgICBjb25zdCBvcHRpb25PZmZzZXQgPSBvcHRpb25JbmRleCAqIG9wdGlvbkhlaWdodDtcblxuICAgIGlmIChvcHRpb25PZmZzZXQgPCBjdXJyZW50U2Nyb2xsUG9zaXRpb24pIHsgcmV0dXJuIG9wdGlvbk9mZnNldDsgfVxuXG4gICAgaWYgKG9wdGlvbk9mZnNldCArIG9wdGlvbkhlaWdodCA+IGN1cnJlbnRTY3JvbGxQb3NpdGlvbiArIHBhbmVsSGVpZ2h0KSB7XG4gICAgICAgIHJldHVybiBNYXRoLm1heCgwLCBvcHRpb25PZmZzZXQgLSBwYW5lbEhlaWdodCArIG9wdGlvbkhlaWdodCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGN1cnJlbnRTY3JvbGxQb3NpdGlvbjtcbn1cblxuIiwiPG1jLXBzZXVkby1jaGVja2JveFxuICAgICpuZ0lmPVwic2hvd0NoZWNrYm94XCJcbiAgICBbc3RhdGVdPVwic2VsZWN0ZWQgPyAnY2hlY2tlZCcgOiAndW5jaGVja2VkJ1wiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+XG48L21jLXBzZXVkby1jaGVja2JveD5cblxuPHNwYW4gY2xhc3M9XCJtYy1vcHRpb24tdGV4dFwiPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L3NwYW4+XG5cbjxkaXYgY2xhc3M9XCJtYy1vcHRpb24tb3ZlcmxheVwiPjwvZGl2PlxuIl19
@@ -1,239 +0,0 @@
1
- import { Directionality } from '@angular/cdk/bidi';
2
- import { coerceBooleanProperty } from '@angular/cdk/coercion';
3
- import { Overlay, ScrollDispatcher } from '@angular/cdk/overlay';
4
- import { ComponentPortal } from '@angular/cdk/portal';
5
- import { Directive, ElementRef, NgZone, ViewContainerRef } from '@angular/core';
6
- import { ESCAPE } from '@ptsecurity/cdk/keycodes';
7
- import { Subject } from 'rxjs';
8
- import { delay as rxDelay, distinctUntilChanged, takeUntil } from 'rxjs/operators';
9
- import { EXTENDED_OVERLAY_POSITIONS, POSITION_MAP, POSITION_PRIORITY_STRATEGY, POSITION_TO_CSS_MAP } from '../overlay/overlay-position-map';
10
- import { PopUpPlacements, PopUpTriggers } from './constants';
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "@angular/cdk/overlay";
13
- import * as i2 from "@angular/cdk/bidi";
14
- // tslint:disable-next-line:naming-convention
15
- export class McPopUpTrigger {
16
- constructor(overlay, elementRef, ngZone, scrollDispatcher, hostView, scrollStrategy, direction) {
17
- this.overlay = overlay;
18
- this.elementRef = elementRef;
19
- this.ngZone = ngZone;
20
- this.scrollDispatcher = scrollDispatcher;
21
- this.hostView = hostView;
22
- this.scrollStrategy = scrollStrategy;
23
- this.direction = direction;
24
- this.isOpen = false;
25
- this.enterDelay = 0;
26
- this.leaveDelay = 0;
27
- this.placement = PopUpPlacements.Top;
28
- this.placementPriority = null;
29
- this.visible = false;
30
- // tslint:disable-next-line:naming-convention orthodox-getter-and-setter
31
- this._disabled = false;
32
- this.listeners = new Map();
33
- this.destroyed = new Subject();
34
- this.detach = () => {
35
- if (this.overlayRef && this.overlayRef.hasAttached()) {
36
- this.overlayRef.detach();
37
- }
38
- this.instance = null;
39
- };
40
- this.onPositionChange = ($event) => {
41
- if (!this.instance) {
42
- return;
43
- }
44
- let newPlacement = this.placement;
45
- const { originX, originY, overlayX, overlayY } = $event.connectionPair;
46
- Object.keys(this.availablePositions).some((key) => {
47
- if (originX === this.availablePositions[key].originX && originY === this.availablePositions[key].originY &&
48
- overlayX === this.availablePositions[key].overlayX && overlayY === this.availablePositions[key].overlayY) {
49
- newPlacement = key;
50
- return true;
51
- }
52
- return false;
53
- });
54
- this.placementChange.emit(newPlacement);
55
- this.updateClassMap(newPlacement);
56
- if ($event.scrollableViewProperties.isOverlayClipped && this.instance.isVisible()) {
57
- // After position changes occur and the overlay is clipped by
58
- // a parent scrollable then close the tooltip.
59
- this.ngZone.run(() => this.hide());
60
- }
61
- };
62
- this.addEventListener = (listener, event) => {
63
- this.elementRef.nativeElement.addEventListener(event, listener);
64
- };
65
- this.removeEventListener = (listener, event) => {
66
- this.elementRef.nativeElement.removeEventListener(event, listener);
67
- };
68
- this.availablePositions = POSITION_MAP;
69
- }
70
- ngOnInit() {
71
- this.initListeners();
72
- }
73
- ngOnDestroy() {
74
- if (this.overlayRef) {
75
- this.overlayRef.dispose();
76
- }
77
- this.listeners.forEach(this.removeEventListener);
78
- this.listeners.clear();
79
- this.destroyed.next();
80
- this.destroyed.complete();
81
- }
82
- updatePlacement(value) {
83
- if (POSITION_TO_CSS_MAP[value]) {
84
- this.placement = value;
85
- this.updateClassMap();
86
- }
87
- else {
88
- this.placement = PopUpPlacements.Top;
89
- console.warn(`Unknown position: ${value}. Will used default position: ${this.placement}`);
90
- }
91
- if (this.visible) {
92
- this.updatePosition();
93
- }
94
- }
95
- updatePlacementPriority(value) {
96
- if (value && value.length > 0) {
97
- this.placementPriority = value;
98
- }
99
- else {
100
- this.placementPriority = null;
101
- }
102
- }
103
- updateVisible(externalValue) {
104
- const value = coerceBooleanProperty(externalValue);
105
- if (this.visible !== value) {
106
- this.visible = value;
107
- if (value) {
108
- this.show();
109
- }
110
- else {
111
- this.hide();
112
- }
113
- }
114
- }
115
- handleKeydown(event) {
116
- if (this.isOpen && event.keyCode === ESCAPE) { // tslint:disable-line
117
- this.hide();
118
- }
119
- }
120
- handleTouchend() {
121
- this.hide();
122
- }
123
- show(delay = this.enterDelay) {
124
- if (this.disabled || this.instance) {
125
- return;
126
- }
127
- this.overlayRef = this.createOverlay();
128
- this.detach();
129
- this.portal = this.portal || new ComponentPortal(this.getOverlayHandleComponentType(), this.hostView);
130
- this.instance = this.overlayRef.attach(this.portal).instance;
131
- this.instance.afterHidden()
132
- .pipe(takeUntil(this.destroyed))
133
- .subscribe(this.detach);
134
- this.updateClassMap();
135
- this.updateData();
136
- this.instance.visibleChange
137
- .pipe(takeUntil(this.destroyed), distinctUntilChanged())
138
- .subscribe((value) => {
139
- this.visible = value;
140
- this.visibleChange.emit(value);
141
- this.isOpen = value;
142
- });
143
- this.updatePosition();
144
- this.instance.show(delay);
145
- }
146
- hide(delay = this.leaveDelay) {
147
- if (this.instance) {
148
- this.instance.hide(delay);
149
- }
150
- }
151
- /** Create the overlay config and position strategy */
152
- createOverlay() {
153
- if (this.overlayRef) {
154
- return this.overlayRef;
155
- }
156
- // Create connected position strategy that listens for scroll events to reposition.
157
- const strategy = this.overlay.position()
158
- .flexibleConnectedTo(this.elementRef)
159
- .withTransformOriginOn(this.originSelector)
160
- .withFlexibleDimensions(false)
161
- .withPositions([...EXTENDED_OVERLAY_POSITIONS])
162
- .withScrollableContainers(this.scrollDispatcher.getAncestorScrollContainers(this.elementRef));
163
- strategy.positionChanges
164
- .pipe(takeUntil(this.destroyed))
165
- .subscribe(this.onPositionChange);
166
- this.overlayRef = this.overlay.create(Object.assign(Object.assign({}, this.overlayConfig), { direction: this.direction, positionStrategy: strategy, scrollStrategy: this.scrollStrategy() }));
167
- this.closingActions()
168
- .pipe(takeUntil(this.destroyed))
169
- .pipe(rxDelay(0))
170
- .subscribe(() => this.hide());
171
- this.overlayRef.outsidePointerEvents()
172
- .subscribe(() => this.instance.handleBodyInteraction());
173
- this.overlayRef.detachments()
174
- .pipe(takeUntil(this.destroyed))
175
- .subscribe(this.detach);
176
- return this.overlayRef;
177
- }
178
- initListeners() {
179
- this.clearListeners();
180
- if (this.trigger.includes(PopUpTriggers.Click)) {
181
- this.listeners
182
- .set('click', () => this.show())
183
- .forEach(this.addEventListener);
184
- }
185
- if (this.trigger.includes(PopUpTriggers.Hover)) {
186
- this.listeners
187
- .set('mouseenter', () => this.show())
188
- .set('mouseleave', () => this.hide())
189
- .forEach(this.addEventListener);
190
- }
191
- if (this.trigger.includes(PopUpTriggers.Focus)) {
192
- this.listeners
193
- .set('focus', () => this.show())
194
- .set('blur', () => this.hide())
195
- .forEach(this.addEventListener);
196
- }
197
- }
198
- /** Updates the position of the current popover. */
199
- updatePosition(reapplyPosition = false) {
200
- this.overlayRef = this.createOverlay();
201
- const position = this.overlayRef.getConfig().positionStrategy
202
- .withPositions(this.getPrioritizedPositions())
203
- .withPush(true);
204
- if (reapplyPosition) {
205
- setTimeout(() => position.reapplyLastPosition());
206
- }
207
- }
208
- getPriorityPlacementStrategy(value) {
209
- const result = [];
210
- const possiblePositions = Object.keys(this.availablePositions);
211
- if (Array.isArray(value)) {
212
- value.forEach((position) => {
213
- if (possiblePositions.includes(position)) {
214
- result.push(this.availablePositions[position]);
215
- }
216
- });
217
- }
218
- else if (possiblePositions.includes(value)) {
219
- result.push(this.availablePositions[value]);
220
- }
221
- return result;
222
- }
223
- getPrioritizedPositions() {
224
- if (this.placementPriority) {
225
- return this.getPriorityPlacementStrategy(this.placementPriority);
226
- }
227
- return POSITION_PRIORITY_STRATEGY[this.placement];
228
- }
229
- clearListeners() {
230
- this.listeners.forEach(this.removeEventListener);
231
- this.listeners.clear();
232
- }
233
- }
234
- /** @nocollapse */ McPopUpTrigger.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McPopUpTrigger, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
235
- /** @nocollapse */ McPopUpTrigger.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: McPopUpTrigger, ngImport: i0 });
236
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McPopUpTrigger, decorators: [{
237
- type: Directive
238
- }], ctorParameters: function () { return [{ type: i1.Overlay }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i1.ScrollDispatcher }, { type: i0.ViewContainerRef }, { type: undefined }, { type: i2.Directionality }]; } });
239
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wLXVwLXRyaWdnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9tb3NhaWMvY29yZS9wb3AtdXAvcG9wLXVwLXRyaWdnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFJSCxPQUFPLEVBRVAsZ0JBQWdCLEVBQ25CLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFDSCxTQUFTLEVBQ1QsVUFBVSxFQUVWLE1BQU0sRUFHTixnQkFBZ0IsRUFDbkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xELE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLEtBQUssSUFBSSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkYsT0FBTyxFQUNILDBCQUEwQixFQUMxQixZQUFZLEVBQ1osMEJBQTBCLEVBQzFCLG1CQUFtQixFQUN0QixNQUFNLGlDQUFpQyxDQUFDO0FBRXpDLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7O0FBSTdELDZDQUE2QztBQUM3QyxNQUFNLE9BQWdCLGNBQWM7SUFzQ2hDLFlBQ2MsT0FBZ0IsRUFDaEIsVUFBc0IsRUFDdEIsTUFBYyxFQUNkLGdCQUFrQyxFQUNsQyxRQUEwQixFQUMxQixjQUFjLEVBQ2QsU0FBMEI7UUFOMUIsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFdBQU0sR0FBTixN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QUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBRWpELElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7K0hBL1NpQixjQUFjO21IQUFkLGNBQWM7NEZBQWQsY0FBYztrQkFGbkMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGlvbmFsaXR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7XG4gICAgQ29ubmVjdGVkT3ZlcmxheVBvc2l0aW9uQ2hhbmdlLFxuICAgIENvbm5lY3Rpb25Qb3NpdGlvblBhaXIsXG4gICAgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5LFxuICAgIE92ZXJsYXksXG4gICAgT3ZlcmxheVJlZixcbiAgICBTY3JvbGxEaXNwYXRjaGVyXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IE92ZXJsYXlDb25maWcgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheS9vdmVybGF5LWNvbmZpZyc7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7XG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIE5nWm9uZSxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBUeXBlLFxuICAgIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFU0NBUEUgfSBmcm9tICdAcHRzZWN1cml0eS9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVsYXkgYXMgcnhEZWxheSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtcbiAgICBFWFRFTkRFRF9PVkVSTEFZX1BPU0lUSU9OUyxcbiAgICBQT1NJVElPTl9NQVAsXG4gICAgUE9TSVRJT05fUFJJT1JJVFlfU1RSQVRFR1ksXG4gICAgUE9TSVRJT05fVE9fQ1NTX01BUFxufSBmcm9tICcuLi9vdmVybGF5L292ZXJsYXktcG9zaXRpb24tbWFwJztcblxuaW1wb3J0IHsgUG9wVXBQbGFjZW1lbnRzLCBQb3BVcFRyaWdnZXJzIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuXG5cbkBEaXJlY3RpdmUoKVxuLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5hbWluZy1jb252ZW50aW9uXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTWNQb3BVcFRyaWdnZXI8VD4ge1xuICAgIGlzT3BlbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgZW50ZXJEZWxheTogbnVtYmVyID0gMDtcbiAgICBsZWF2ZURlbGF5OiBudW1iZXIgPSAwO1xuXG4gICAgYWJzdHJhY3QgZGlzYWJsZWQ6IGJvb2xlYW47XG4gICAgYWJzdHJhY3QgdHJpZ2dlcjogc3RyaW5nO1xuICAgIGFic3RyYWN0IGN1c3RvbUNsYXNzOiBzdHJpbmc7XG4gICAgYWJzdHJhY3QgY29udGVudDogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIGFic3RyYWN0IHBsYWNlbWVudENoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz47XG4gICAgYWJzdHJhY3QgdmlzaWJsZUNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+O1xuXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IG9yaWdpblNlbGVjdG9yOiBzdHJpbmc7XG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IG92ZXJsYXlDb25maWc6IE92ZXJsYXlDb25maWc7XG5cbiAgICBwcm90ZWN0ZWQgcGxhY2VtZW50ID0gUG9wVXBQbGFjZW1lbnRzLlRvcDtcbiAgICBwcm90ZWN0ZWQgcGxhY2VtZW50UHJpb3JpdHk6IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbCA9IG51bGw7XG5cbiAgICBwcm90ZWN0ZWQgdmlzaWJsZSA9IGZhbHNlO1xuXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5hbWluZy1jb252ZW50aW9uIG9ydGhvZG94LWdldHRlci1hbmQtc2V0dGVyXG4gICAgcHJvdGVjdGVkIF9jb250ZW50OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuYW1pbmctY29udmVudGlvbiBvcnRob2RveC1nZXR0ZXItYW5kLXNldHRlclxuICAgIHByb3RlY3RlZCBfZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bmFtaW5nLWNvbnZlbnRpb24gb3J0aG9kb3gtZ2V0dGVyLWFuZC1zZXR0ZXJcbiAgICBwcm90ZWN0ZWQgX2N1c3RvbUNsYXNzOiBzdHJpbmc7XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcmxheVJlZjogT3ZlcmxheVJlZiB8IG51bGw7XG4gICAgcHJvdGVjdGVkIHBvcnRhbDogQ29tcG9uZW50UG9ydGFsPFQ+O1xuICAgIHByb3RlY3RlZCBpbnN0YW5jZTogYW55IHwgbnVsbDtcblxuICAgIHByb3RlY3RlZCBsaXN0ZW5lcnMgPSBuZXcgTWFwPHN0cmluZywgRXZlbnRMaXN0ZW5lck9yRXZlbnRMaXN0ZW5lck9iamVjdD4oKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBhdmFpbGFibGVQb3NpdGlvbnM6IHsgW2tleTogc3RyaW5nXTogQ29ubmVjdGlvblBvc2l0aW9uUGFpciB9O1xuICAgIHByb3RlY3RlZCByZWFkb25seSBkZXN0cm95ZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgb3ZlcmxheTogT3ZlcmxheSxcbiAgICAgICAgcHJvdGVjdGVkIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByb3RlY3RlZCBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgcHJvdGVjdGVkIHNjcm9sbERpc3BhdGNoZXI6IFNjcm9sbERpc3BhdGNoZXIsXG4gICAgICAgIHByb3RlY3RlZCBob3N0VmlldzogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgcHJvdGVjdGVkIHNjcm9sbFN0cmF0ZWd5LFxuICAgICAgICBwcm90ZWN0ZWQgZGlyZWN0aW9uPzogRGlyZWN0aW9uYWxpdHlcbiAgICApIHtcbiAgICAgICAgdGhpcy5hdmFpbGFibGVQb3NpdGlvbnMgPSBQT1NJVElPTl9NQVA7XG4gICAgfVxuXG4gICAgYWJzdHJhY3QgdXBkYXRlQ2xhc3NNYXAobmV3UGxhY2VtZW50Pzogc3RyaW5nKTogdm9pZDtcblxuICAgIGFic3RyYWN0IHVwZGF0ZURhdGEoKTogdm9pZDtcblxuICAgIGFic3RyYWN0IGNsb3NpbmdBY3Rpb25zKCk6IE9ic2VydmFibGU8YW55PjtcblxuICAgIGFic3RyYWN0IGdldE92ZXJsYXlIYW5kbGVDb21wb25lbnRUeXBlKCk6IFR5cGU8VD47XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbml0TGlzdGVuZXJzKCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm92ZXJsYXlSZWYpIHtcbiAgICAgICAgICAgIHRoaXMub3ZlcmxheVJlZi5kaXNwb3NlKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmxpc3RlbmVycy5mb3JFYWNoKHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcik7XG5cbiAgICAgICAgdGhpcy5saXN0ZW5lcnMuY2xlYXIoKTtcblxuICAgICAgICB0aGlzLmRlc3Ryb3llZC5uZXh0KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveWVkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgdXBkYXRlUGxhY2VtZW50KHZhbHVlOiBQb3BVcFBsYWNlbWVudHMpIHtcbiAgICAgICAgaWYgKFBPU0lUSU9OX1RPX0NTU19NQVBbdmFsdWVdKSB7XG4gICAgICAgICAgICB0aGlzLnBsYWNlbWVudCA9IHZhbHVlO1xuXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUNsYXNzTWFwKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnBsYWNlbWVudCA9IFBvcFVwUGxhY2VtZW50cy5Ub3A7XG5cbiAgICAgICAgICAgIGNvbnNvbGUud2FybihgVW5rbm93biBwb3NpdGlvbjogJHt2YWx1ZX0uIFdpbGwgdXNlZCBkZWZhdWx0IHBvc2l0aW9uOiAke3RoaXMucGxhY2VtZW50fWApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMudmlzaWJsZSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVQb3NpdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXBkYXRlUGxhY2VtZW50UHJpb3JpdHkodmFsdWUpIHtcbiAgICAgICAgaWYgKHZhbHVlICYmIHZhbHVlLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMucGxhY2VtZW50UHJpb3JpdHkgPSB2YWx1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucGxhY2VtZW50UHJpb3JpdHkgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXBkYXRlVmlzaWJsZShleHRlcm5hbFZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KGV4dGVybmFsVmFsdWUpO1xuXG4gICAgICAgIGlmICh0aGlzLnZpc2libGUgIT09IHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnZpc2libGUgPSB2YWx1ZTtcblxuICAgICAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zaG93KCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuaGlkZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgaGFuZGxlS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAodGhpcy5pc09wZW4gJiYgZXZlbnQua2V5Q29kZSA9PT0gRVNDQVBFKSB7IC8vIHRzbGludDpkaXNhYmxlLWxpbmVcbiAgICAgICAgICAgIHRoaXMuaGlkZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaGFuZGxlVG91Y2hlbmQoKSB7XG4gICAgICAgIHRoaXMuaGlkZSgpO1xuICAgIH1cblxuICAgIHNob3coZGVsYXk6IG51bWJlciA9IHRoaXMuZW50ZXJEZWxheSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCB0aGlzLmluc3RhbmNlKSB7IHJldHVybjsgfVxuXG4gICAgICAgIHRoaXMub3ZlcmxheVJlZiA9IHRoaXMuY3JlYXRlT3ZlcmxheSgpO1xuICAgICAgICB0aGlzLmRldGFjaCgpO1xuXG4gICAgICAgIHRoaXMucG9ydGFsID0gdGhpcy5wb3J0YWwgfHwgbmV3IENvbXBvbmVudFBvcnRhbCh0aGlzLmdldE92ZXJsYXlIYW5kbGVDb21wb25lbnRUeXBlKCksIHRoaXMuaG9zdFZpZXcpO1xuXG4gICAgICAgIHRoaXMuaW5zdGFuY2UgPSB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKHRoaXMucG9ydGFsKS5pbnN0YW5jZTtcblxuICAgICAgICB0aGlzLmluc3RhbmNlLmFmdGVySGlkZGVuKClcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHRoaXMuZGV0YWNoKTtcblxuICAgICAgICB0aGlzLnVwZGF0ZUNsYXNzTWFwKCk7XG5cbiAgICAgICAgdGhpcy51cGRhdGVEYXRhKCk7XG5cbiAgICAgICAgdGhpcy5pbnN0YW5jZS52aXNpYmxlQ2hhbmdlXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnZpc2libGUgPSB2YWx1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5pc09wZW4gPSB2YWx1ZTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMudXBkYXRlUG9zaXRpb24oKTtcblxuICAgICAgICB0aGlzLmluc3RhbmNlLnNob3coZGVsYXkpO1xuICAgIH1cblxuICAgIGhpZGUoZGVsYXk6IG51bWJlciA9IHRoaXMubGVhdmVEZWxheSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pbnN0YW5jZSkge1xuICAgICAgICAgICAgdGhpcy5pbnN0YW5jZS5oaWRlKGRlbGF5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRldGFjaCA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgaWYgKHRoaXMub3ZlcmxheVJlZiAmJiB0aGlzLm92ZXJsYXlSZWYuaGFzQXR0YWNoZWQoKSkge1xuICAgICAgICAgICAgdGhpcy5vdmVybGF5UmVmLmRldGFjaCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pbnN0YW5jZSA9IG51bGw7XG4gICAgfVxuXG4gICAgLyoqIENyZWF0ZSB0aGUgb3ZlcmxheSBjb25maWcgYW5kIHBvc2l0aW9uIHN0cmF0ZWd5ICovXG4gICAgY3JlYXRlT3ZlcmxheSgpOiBPdmVybGF5UmVmIHtcbiAgICAgICAgaWYgKHRoaXMub3ZlcmxheVJlZikgeyByZXR1cm4gdGhpcy5vdmVybGF5UmVmOyB9XG5cbiAgICAgICAgLy8gQ3JlYXRlIGNvbm5lY3RlZCBwb3NpdGlvbiBzdHJhdGVneSB0aGF0IGxpc3RlbnMgZm9yIHNjcm9sbCBldmVudHMgdG8gcmVwb3NpdGlvbi5cbiAgICAgICAgY29uc3Qgc3RyYXRlZ3kgPSB0aGlzLm92ZXJsYXkucG9zaXRpb24oKVxuICAgICAgICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8odGhpcy5lbGVtZW50UmVmKVxuICAgICAgICAgICAgLndpdGhUcmFuc2Zvcm1PcmlnaW5Pbih0aGlzLm9yaWdpblNlbGVjdG9yKVxuICAgICAgICAgICAgLndpdGhGbGV4aWJsZURpbWVuc2lvbnMoZmFsc2UpXG4gICAgICAgICAgICAud2l0aFBvc2l0aW9ucyhbLi4uRVhURU5ERURfT1ZFUkxBWV9QT1NJVElPTlNdKVxuICAgICAgICAgICAgLndpdGhTY3JvbGxhYmxlQ29udGFpbmVycyh0aGlzLnNjcm9sbERpc3BhdGNoZXIuZ2V0QW5jZXN0b3JTY3JvbGxDb250YWluZXJzKHRoaXMuZWxlbWVudFJlZikpO1xuXG4gICAgICAgIHN0cmF0ZWd5LnBvc2l0aW9uQ2hhbmdlc1xuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUodGhpcy5vblBvc2l0aW9uQ2hhbmdlKTtcblxuICAgICAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKHtcbiAgICAgICAgICAgIC4uLnRoaXMub3ZlcmxheUNvbmZpZyxcbiAgICAgICAgICAgIGRpcmVjdGlvbjogdGhpcy5kaXJlY3Rpb24sXG4gICAgICAgICAgICBwb3NpdGlvblN0cmF0ZWd5OiBzdHJhdGVneSxcbiAgICAgICAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLnNjcm9sbFN0cmF0ZWd5KClcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5jbG9zaW5nQWN0aW9ucygpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpKVxuICAgICAgICAgICAgLnBpcGUocnhEZWxheSgwKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5oaWRlKCkpO1xuXG4gICAgICAgIHRoaXMub3ZlcmxheVJlZi5vdXRzaWRlUG9pbnRlckV2ZW50cygpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuaW5zdGFuY2UhLmhhbmRsZUJvZHlJbnRlcmFjdGlvbigpKTtcblxuICAgICAgICB0aGlzLm92ZXJsYXlSZWYuZGV0YWNobWVudHMoKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUodGhpcy5kZXRhY2gpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLm92ZXJsYXlSZWY7XG4gICAgfVxuXG4gICAgb25Qb3NpdGlvbkNoYW5nZSA9ICgkZXZlbnQ6IENvbm5lY3RlZE92ZXJsYXlQb3NpdGlvbkNoYW5nZSk6IHZvaWQgPT4ge1xuICAgICAgICBpZiAoIXRoaXMuaW5zdGFuY2UpIHsgcmV0dXJuOyB9XG5cbiAgICAgICAgbGV0IG5ld1BsYWNlbWVudCA9IHRoaXMucGxhY2VtZW50O1xuXG4gICAgICAgIGNvbnN0IHsgb3JpZ2luWCwgb3JpZ2luWSwgb3ZlcmxheVgsIG92ZXJsYXlZIH0gPSAkZXZlbnQuY29ubmVjdGlvblBhaXI7XG5cbiAgICAgICAgT2JqZWN0LmtleXModGhpcy5hdmFpbGFibGVQb3NpdGlvbnMpLnNvbWUoKGtleSkgPT4ge1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIG9yaWdpblggPT09IHRoaXMuYXZhaWxhYmxlUG9zaXRpb25zW2tleV0ub3JpZ2luWCAmJiBvcmlnaW5ZID09PSB0aGlzLmF2YWlsYWJsZVBvc2l0aW9uc1trZXldLm9yaWdpblkgJiZcbiAgICAgICAgICAgICAgICBvdmVybGF5WCA9PT0gdGhpcy5hdmFpbGFibGVQb3NpdGlvbnNba2V5XS5vdmVybGF5WCAmJiBvdmVybGF5WSA9PT0gdGhpcy5hdmFpbGFibGVQb3NpdGlvbnNba2V5XS5vdmVybGF5WVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgbmV3UGxhY2VtZW50ID0ga2V5IGFzIFBvcFVwUGxhY2VtZW50cztcblxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMucGxhY2VtZW50Q2hhbmdlLmVtaXQobmV3UGxhY2VtZW50KTtcblxuICAgICAgICB0aGlzLnVwZGF0ZUNsYXNzTWFwKG5ld1BsYWNlbWVudCk7XG5cbiAgICAgICAgaWYgKCRldmVudC5zY3JvbGxhYmxlVmlld1Byb3BlcnRpZXMuaXNPdmVybGF5Q2xpcHBlZCAmJiB0aGlzLmluc3RhbmNlLmlzVmlzaWJsZSgpKSB7XG4gICAgICAgICAgICAvLyBBZnRlciBwb3NpdGlvbiBjaGFuZ2VzIG9jY3VyIGFuZCB0aGUgb3ZlcmxheSBpcyBjbGlwcGVkIGJ5XG4gICAgICAgICAgICAvLyBhIHBhcmVudCBzY3JvbGxhYmxlIHRoZW4gY2xvc2UgdGhlIHRvb2x0aXAuXG4gICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4gdGhpcy5oaWRlKCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW5pdExpc3RlbmVycygpIHtcbiAgICAgICAgdGhpcy5jbGVhckxpc3RlbmVycygpO1xuXG4gICAgICAgIGlmICh0aGlzLnRyaWdnZXIuaW5jbHVkZXMoUG9wVXBUcmlnZ2Vycy5DbGljaykpIHtcbiAgICAgICAgICAgIHRoaXMubGlzdGVuZXJzXG4gICAgICAgICAgICAgICAgLnNldCgnY2xpY2snLCAoKSA9PiB0aGlzLnNob3coKSlcbiAgICAgICAgICAgICAgICAuZm9yRWFjaCh0aGlzLmFkZEV2ZW50TGlzdGVuZXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMudHJpZ2dlci5pbmNsdWRlcyhQb3BVcFRyaWdnZXJzLkhvdmVyKSkge1xuICAgICAgICAgICAgdGhpcy5saXN0ZW5lcnNcbiAgICAgICAgICAgICAgICAuc2V0KCdtb3VzZWVudGVyJywgKCkgPT4gdGhpcy5zaG93KCkpXG4gICAgICAgICAgICAgICAgLnNldCgnbW91c2VsZWF2ZScsICgpID0+IHRoaXMuaGlkZSgpKVxuICAgICAgICAgICAgICAgIC5mb3JFYWNoKHRoaXMuYWRkRXZlbnRMaXN0ZW5lcik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy50cmlnZ2VyLmluY2x1ZGVzKFBvcFVwVHJpZ2dlcnMuRm9jdXMpKSB7XG4gICAgICAgICAgICB0aGlzLmxpc3RlbmVyc1xuICAgICAgICAgICAgICAgIC5zZXQoJ2ZvY3VzJywgKCkgPT4gdGhpcy5zaG93KCkpXG4gICAgICAgICAgICAgICAgLnNldCgnYmx1cicsICgpID0+IHRoaXMuaGlkZSgpKVxuICAgICAgICAgICAgICAgIC5mb3JFYWNoKHRoaXMuYWRkRXZlbnRMaXN0ZW5lcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogVXBkYXRlcyB0aGUgcG9zaXRpb24gb2YgdGhlIGN1cnJlbnQgcG9wb3Zlci4gKi9cbiAgICB1cGRhdGVQb3NpdGlvbihyZWFwcGx5UG9zaXRpb246IGJvb2xlYW4gPSBmYWxzZSkge1xuICAgICAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLmNyZWF0ZU92ZXJsYXkoKTtcblxuICAgICAgICBjb25zdCBwb3NpdGlvbiA9ICh0aGlzLm92ZXJsYXlSZWYuZ2V0Q29uZmlnKCkucG9zaXRpb25TdHJhdGVneSBhcyBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3kpXG4gICAgICAgICAgICAud2l0aFBvc2l0aW9ucyh0aGlzLmdldFByaW9yaXRpemVkUG9zaXRpb25zKCkpXG4gICAgICAgICAgICAud2l0aFB1c2godHJ1ZSk7XG5cbiAgICAgICAgaWYgKHJlYXBwbHlQb3NpdGlvbikge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiBwb3NpdGlvbi5yZWFwcGx5TGFzdFBvc2l0aW9uKCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldFByaW9yaXR5UGxhY2VtZW50U3RyYXRlZ3kodmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdKTogQ29ubmVjdGlvblBvc2l0aW9uUGFpcltdIHtcbiAgICAgICAgY29uc3QgcmVzdWx0OiBDb25uZWN0aW9uUG9zaXRpb25QYWlyW10gPSBbXTtcbiAgICAgICAgY29uc3QgcG9zc2libGVQb3NpdGlvbnMgPSBPYmplY3Qua2V5cyh0aGlzLmF2YWlsYWJsZVBvc2l0aW9ucyk7XG5cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgICB2YWx1ZS5mb3JFYWNoKChwb3NpdGlvbjogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHBvc3NpYmxlUG9zaXRpb25zLmluY2x1ZGVzKHBvc2l0aW9uKSkge1xuICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaCh0aGlzLmF2YWlsYWJsZVBvc2l0aW9uc1twb3NpdGlvbl0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2UgaWYgKHBvc3NpYmxlUG9zaXRpb25zLmluY2x1ZGVzKHZhbHVlKSkge1xuICAgICAgICAgICAgcmVzdWx0LnB1c2godGhpcy5hdmFpbGFibGVQb3NpdGlvbnNbdmFsdWVdKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldFByaW9yaXRpemVkUG9zaXRpb25zKCkge1xuICAgICAgICBpZiAodGhpcy5wbGFjZW1lbnRQcmlvcml0eSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0UHJpb3JpdHlQbGFjZW1lbnRTdHJhdGVneSh0aGlzLnBsYWNlbWVudFByaW9yaXR5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBQT1NJVElPTl9QUklPUklUWV9TVFJBVEVHWVt0aGlzLnBsYWNlbWVudF07XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNsZWFyTGlzdGVuZXJzKCkge1xuICAgICAgICB0aGlzLmxpc3RlbmVycy5mb3JFYWNoKHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcik7XG5cbiAgICAgICAgdGhpcy5saXN0ZW5lcnMuY2xlYXIoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFkZEV2ZW50TGlzdGVuZXIgPSAobGlzdGVuZXI6IEV2ZW50TGlzdGVuZXIgfCBFdmVudExpc3RlbmVyT2JqZWN0LCBldmVudDogc3RyaW5nKSA9PiB7XG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnQsIGxpc3RlbmVyKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlbW92ZUV2ZW50TGlzdGVuZXIgPSAobGlzdGVuZXI6IEV2ZW50TGlzdGVuZXIgfCBFdmVudExpc3RlbmVyT2JqZWN0LCBldmVudDogc3RyaW5nKSA9PiB7XG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnQsIGxpc3RlbmVyKTtcbiAgICB9XG59XG4iXX0=