@ptsecurity/mosaic 12.2.1 → 13.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (913) hide show
  1. package/_theming.scss +1000 -934
  2. package/_visual.scss +849 -694
  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/public-api.d.ts +1 -0
  20. package/core/version.d.ts +2 -0
  21. package/datepicker/README.md +0 -0
  22. package/datepicker/package.json +5 -5
  23. package/design-tokens/{tokens → legacy-2017/tokens}/components/alert.json5 +0 -0
  24. package/design-tokens/{tokens → legacy-2017/tokens}/components/autocomplete.json5 +0 -0
  25. package/design-tokens/{tokens → legacy-2017/tokens}/components/badge.json5 +0 -0
  26. package/design-tokens/{tokens → legacy-2017/tokens}/components/button-toggle.json5 +0 -0
  27. package/design-tokens/{tokens → legacy-2017/tokens}/components/button.json5 +0 -0
  28. package/design-tokens/{tokens → legacy-2017/tokens}/components/card.json5 +0 -0
  29. package/design-tokens/legacy-2017/tokens/components/checkbox.json5 +39 -0
  30. package/design-tokens/{tokens → legacy-2017/tokens}/components/datepicker.json5 +0 -0
  31. package/design-tokens/{tokens → legacy-2017/tokens}/components/divider.json5 +0 -0
  32. package/design-tokens/{tokens → legacy-2017/tokens}/components/dropdown.json5 +0 -0
  33. package/design-tokens/{tokens → legacy-2017/tokens}/components/form-field.json5 +0 -0
  34. package/design-tokens/{tokens → legacy-2017/tokens}/components/forms.json5 +0 -0
  35. package/design-tokens/{tokens → legacy-2017/tokens}/components/input.json5 +0 -0
  36. package/design-tokens/{tokens → legacy-2017/tokens}/components/link.json5 +0 -0
  37. package/design-tokens/{tokens → legacy-2017/tokens}/components/list.json5 +0 -0
  38. package/design-tokens/legacy-2017/tokens/components/modal.json5 +79 -0
  39. package/design-tokens/legacy-2017/tokens/components/navbar.json5 +69 -0
  40. package/design-tokens/{tokens → legacy-2017/tokens}/components/optgroup.json5 +0 -0
  41. package/design-tokens/{tokens → legacy-2017/tokens}/components/option.json5 +0 -0
  42. package/design-tokens/{tokens → legacy-2017/tokens}/components/popover.json5 +0 -0
  43. package/design-tokens/{tokens → legacy-2017/tokens}/components/popup.json5 +0 -0
  44. package/design-tokens/{tokens → legacy-2017/tokens}/components/progress-bar.json5 +0 -0
  45. package/design-tokens/{tokens → legacy-2017/tokens}/components/progress-spinner.json5 +0 -0
  46. package/design-tokens/legacy-2017/tokens/components/radio.json5 +44 -0
  47. package/design-tokens/{tokens → legacy-2017/tokens}/components/select.json5 +0 -0
  48. package/design-tokens/{tokens → legacy-2017/tokens}/components/sidepanel.json5 +0 -0
  49. package/design-tokens/{tokens → legacy-2017/tokens}/components/table.json5 +0 -0
  50. package/design-tokens/{tokens → legacy-2017/tokens}/components/tabs.json5 +0 -0
  51. package/design-tokens/legacy-2017/tokens/components/tags.json5 +132 -0
  52. package/design-tokens/{tokens → legacy-2017/tokens}/components/textarea.json5 +0 -0
  53. package/design-tokens/{tokens → legacy-2017/tokens}/components/timepicker.json5 +0 -0
  54. package/design-tokens/legacy-2017/tokens/components/toggle.json5 +79 -0
  55. package/design-tokens/{tokens → legacy-2017/tokens}/components/tooltip.json5 +0 -0
  56. package/design-tokens/{tokens → legacy-2017/tokens}/components/tree.json5 +0 -0
  57. package/design-tokens/{tokens → legacy-2017/tokens}/properties/aliases.json5 +0 -0
  58. package/design-tokens/{tokens → legacy-2017/tokens}/properties/colors.json5 +0 -0
  59. package/design-tokens/{tokens → legacy-2017/tokens}/properties/font.json5 +0 -0
  60. package/design-tokens/{tokens → legacy-2017/tokens}/properties/globals.json5 +0 -0
  61. package/design-tokens/{tokens → legacy-2017/tokens}/properties/padding.json5 +0 -0
  62. package/design-tokens/{tokens → legacy-2017/tokens}/properties/palette.json5 +0 -0
  63. package/design-tokens/{tokens → legacy-2017/tokens}/properties/typography.json5 +0 -0
  64. package/design-tokens/legacy-2017/tokens.d.ts +7659 -0
  65. package/design-tokens/package.json +5 -5
  66. package/design-tokens/pt-2022/tokens/components/alert.json5 +83 -0
  67. package/design-tokens/pt-2022/tokens/components/autocomplete.json5 +11 -0
  68. package/design-tokens/pt-2022/tokens/components/badge.json5 +184 -0
  69. package/design-tokens/pt-2022/tokens/components/button-toggle.json5 +10 -0
  70. package/design-tokens/pt-2022/tokens/components/button.json5 +143 -0
  71. package/design-tokens/pt-2022/tokens/components/card.json5 +51 -0
  72. package/design-tokens/pt-2022/tokens/components/checkbox.json5 +39 -0
  73. package/design-tokens/pt-2022/tokens/components/datepicker.json5 +64 -0
  74. package/design-tokens/pt-2022/tokens/components/divider.json5 +8 -0
  75. package/design-tokens/pt-2022/tokens/components/dropdown.json5 +47 -0
  76. package/design-tokens/pt-2022/tokens/components/form-field.json5 +52 -0
  77. package/design-tokens/pt-2022/tokens/components/forms.json5 +52 -0
  78. package/design-tokens/pt-2022/tokens/components/input.json5 +13 -0
  79. package/design-tokens/pt-2022/tokens/components/link.json5 +56 -0
  80. package/design-tokens/pt-2022/tokens/components/list.json5 +15 -0
  81. package/design-tokens/pt-2022/tokens/components/modal.json5 +79 -0
  82. package/design-tokens/pt-2022/tokens/components/navbar.json5 +69 -0
  83. package/design-tokens/pt-2022/tokens/components/optgroup.json5 +10 -0
  84. package/design-tokens/pt-2022/tokens/components/option.json5 +12 -0
  85. package/design-tokens/pt-2022/tokens/components/popover.json5 +68 -0
  86. package/design-tokens/pt-2022/tokens/components/popup.json5 +18 -0
  87. package/design-tokens/pt-2022/tokens/components/progress-bar.json5 +13 -0
  88. package/design-tokens/pt-2022/tokens/components/progress-spinner.json5 +7 -0
  89. package/design-tokens/pt-2022/tokens/components/radio.json5 +44 -0
  90. package/design-tokens/pt-2022/tokens/components/select.json5 +25 -0
  91. package/design-tokens/pt-2022/tokens/components/sidepanel.json5 +30 -0
  92. package/design-tokens/pt-2022/tokens/components/table.json5 +15 -0
  93. package/design-tokens/pt-2022/tokens/components/tabs.json5 +25 -0
  94. package/design-tokens/pt-2022/tokens/components/tags.json5 +132 -0
  95. package/design-tokens/pt-2022/tokens/components/textarea.json5 +12 -0
  96. package/design-tokens/pt-2022/tokens/components/timepicker.json5 +7 -0
  97. package/design-tokens/pt-2022/tokens/components/toggle.json5 +79 -0
  98. package/design-tokens/pt-2022/tokens/components/tooltip.json5 +83 -0
  99. package/design-tokens/pt-2022/tokens/components/tree.json5 +12 -0
  100. package/design-tokens/pt-2022/tokens/properties/aliases.json5 +3 -0
  101. package/design-tokens/pt-2022/tokens/properties/colors.json5 +112 -0
  102. package/design-tokens/pt-2022/tokens/properties/font.json5 +15 -0
  103. package/design-tokens/pt-2022/tokens/properties/globals.json5 +30 -0
  104. package/design-tokens/pt-2022/tokens/properties/padding.json5 +3 -0
  105. package/design-tokens/pt-2022/tokens/properties/palette.json5 +226 -0
  106. package/design-tokens/pt-2022/tokens/properties/typography.json5 +140 -0
  107. package/design-tokens/pt-2022/tokens.d.ts +8696 -0
  108. package/design-tokens/public-api.d.ts +3 -1
  109. package/design-tokens/style-dictionary/build.js +6 -0
  110. package/design-tokens/style-dictionary/configs/index.js +2 -1
  111. package/divider/README.md +0 -0
  112. package/divider/package.json +5 -5
  113. package/dropdown/dropdown-item.component.d.ts +1 -0
  114. package/dropdown/package.json +5 -5
  115. package/esm2020/autocomplete/autocomplete-origin.directive.mjs +21 -0
  116. package/esm2020/autocomplete/autocomplete-trigger.directive.mjs +555 -0
  117. package/esm2020/autocomplete/autocomplete.component.mjs +154 -0
  118. package/esm2020/autocomplete/autocomplete.module.mjs +34 -0
  119. package/{esm2015/autocomplete/index.js → esm2020/autocomplete/index.mjs} +0 -0
  120. package/{esm2015/autocomplete/ptsecurity-mosaic-autocomplete.js → esm2020/autocomplete/ptsecurity-mosaic-autocomplete.mjs} +0 -0
  121. package/{esm2015/autocomplete/public-api.js → esm2020/autocomplete/public-api.mjs} +0 -0
  122. package/esm2020/button/button.component.mjs +129 -0
  123. package/esm2020/button/button.module.mjs +38 -0
  124. package/{esm2015/button/index.js → esm2020/button/index.mjs} +0 -0
  125. package/{esm2015/button/ptsecurity-mosaic-button.js → esm2020/button/ptsecurity-mosaic-button.mjs} +0 -0
  126. package/{esm2015/button/public-api.js → esm2020/button/public-api.mjs} +0 -0
  127. package/esm2020/button-toggle/button-toggle.component.mjs +362 -0
  128. package/esm2020/button-toggle/button-toggle.module.mjs +19 -0
  129. package/{esm2015/button-toggle/index.js → esm2020/button-toggle/index.mjs} +0 -0
  130. package/{esm2015/button-toggle/ptsecurity-mosaic-button-toggle.js → esm2020/button-toggle/ptsecurity-mosaic-button-toggle.mjs} +0 -0
  131. package/{esm2015/button-toggle/public-api.js → esm2020/button-toggle/public-api.mjs} +0 -0
  132. package/esm2020/card/card.component.mjs +80 -0
  133. package/esm2020/card/card.module.mjs +30 -0
  134. package/{esm2015/card/index.js → esm2020/card/index.mjs} +0 -0
  135. package/{esm2015/card/ptsecurity-mosaic-card.js → esm2020/card/ptsecurity-mosaic-card.mjs} +0 -0
  136. package/{esm2015/card/public-api.js → esm2020/card/public-api.mjs} +0 -0
  137. package/{esm2015/checkbox/checkbox-config.js → esm2020/checkbox/checkbox-config.mjs} +0 -0
  138. package/esm2020/checkbox/checkbox-module.mjs +19 -0
  139. package/esm2020/checkbox/checkbox-required-validator.mjs +27 -0
  140. package/esm2020/checkbox/checkbox.mjs +315 -0
  141. package/{esm2015/checkbox/index.js → esm2020/checkbox/index.mjs} +0 -0
  142. package/{esm2015/checkbox/ptsecurity-mosaic-checkbox.js → esm2020/checkbox/ptsecurity-mosaic-checkbox.mjs} +0 -0
  143. package/{esm2015/checkbox/public-api.js → esm2020/checkbox/public-api.mjs} +0 -0
  144. package/{esm2015/core/animation/animation.js → esm2020/core/animation/animation.mjs} +0 -0
  145. package/{esm2015/core/animation/fade-animations.js → esm2020/core/animation/fade-animations.mjs} +0 -0
  146. package/{esm2015/core/animation/index.js → esm2020/core/animation/index.mjs} +0 -0
  147. package/{esm2015/core/animation/select-animations.js → esm2020/core/animation/select-animations.mjs} +0 -0
  148. package/{esm2015/core/common-behaviors/color.js → esm2020/core/common-behaviors/color.mjs} +0 -0
  149. package/esm2020/core/common-behaviors/common-module.mjs +83 -0
  150. package/{esm2015/core/common-behaviors/constructor.js → esm2020/core/common-behaviors/constructor.mjs} +0 -0
  151. package/{esm2015/core/common-behaviors/disabled.js → esm2020/core/common-behaviors/disabled.mjs} +0 -0
  152. package/{esm2015/core/common-behaviors/error-state.js → esm2020/core/common-behaviors/error-state.mjs} +0 -0
  153. package/{esm2015/core/common-behaviors/index.js → esm2020/core/common-behaviors/index.mjs} +0 -0
  154. package/{esm2015/core/common-behaviors/tabindex.js → esm2020/core/common-behaviors/tabindex.mjs} +0 -0
  155. package/esm2020/core/error/error-options.mjs +26 -0
  156. package/esm2020/core/formatters/date/formatter.mjs +359 -0
  157. package/esm2020/core/formatters/date/templates/en-US.mjs +281 -0
  158. package/esm2020/core/formatters/date/templates/ru-RU.mjs +281 -0
  159. package/esm2020/core/formatters/index.mjs +20 -0
  160. package/esm2020/core/formatters/number/formatter.mjs +105 -0
  161. package/esm2020/core/forms/forms-module.mjs +24 -0
  162. package/esm2020/core/forms/forms.directive.mjs +66 -0
  163. package/{esm2015/core/forms/index.js → esm2020/core/forms/index.mjs} +0 -0
  164. package/esm2020/core/highlight/highlight.pipe.mjs +17 -0
  165. package/esm2020/core/highlight/index.mjs +19 -0
  166. package/{esm2015/core/index.js → esm2020/core/index.mjs} +0 -0
  167. package/{esm2015/core/label/label-options.js → esm2020/core/label/label-options.mjs} +0 -0
  168. package/esm2020/core/line/line.mjs +70 -0
  169. package/esm2020/core/option/action.mjs +121 -0
  170. package/{esm2015/core/option/index.js → esm2020/core/option/index.mjs} +0 -0
  171. package/esm2020/core/option/optgroup.mjs +31 -0
  172. package/esm2020/core/option/option-module.mjs +21 -0
  173. package/esm2020/core/option/option.mjs +254 -0
  174. package/{esm2015/core/overlay/overlay-position-map.js → esm2020/core/overlay/overlay-position-map.mjs} +0 -0
  175. package/{esm2015/core/pop-up/constants.js → esm2020/core/pop-up/constants.mjs} +0 -0
  176. package/{esm2015/core/pop-up/index.js → esm2020/core/pop-up/index.mjs} +0 -0
  177. package/esm2020/core/pop-up/pop-up-trigger.mjs +244 -0
  178. package/esm2020/core/pop-up/pop-up.mjs +91 -0
  179. package/{esm2015/core/ptsecurity-mosaic-core.js → esm2020/core/ptsecurity-mosaic-core.mjs} +0 -0
  180. package/esm2020/core/public-api.mjs +18 -0
  181. package/{esm2015/core/select/constants.js → esm2020/core/select/constants.mjs} +0 -0
  182. package/{esm2015/core/select/errors.js → esm2020/core/select/errors.mjs} +0 -0
  183. package/{esm2015/core/select/events.js → esm2020/core/select/events.mjs} +0 -0
  184. package/{esm2015/core/select/index.js → esm2020/core/select/index.mjs} +0 -0
  185. package/{esm2015/core/selection/constants.js → esm2020/core/selection/constants.mjs} +0 -0
  186. package/{esm2015/core/selection/index.js → esm2020/core/selection/index.mjs} +0 -0
  187. package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +37 -0
  188. package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox.module.mjs +18 -0
  189. package/esm2020/core/services/measure-scrollbar.service.mjs +48 -0
  190. package/{esm2015/core/utils/index.js → esm2020/core/utils/index.mjs} +0 -0
  191. package/{esm2015/core/utils/public-api.js → esm2020/core/utils/public-api.mjs} +0 -0
  192. package/{esm2015/core/utils/utils.js → esm2020/core/utils/utils.mjs} +0 -0
  193. package/{esm2015/core/validation/index.js → esm2020/core/validation/index.mjs} +0 -0
  194. package/{esm2015/core/validation/validation.js → esm2020/core/validation/validation.mjs} +0 -0
  195. package/esm2020/core/version.mjs +3 -0
  196. package/esm2020/datepicker/calendar-body.component.mjs +106 -0
  197. package/esm2020/datepicker/calendar.component.mjs +362 -0
  198. package/{esm2015/datepicker/datepicker-animations.js → esm2020/datepicker/datepicker-animations.mjs} +0 -0
  199. package/{esm2015/datepicker/datepicker-errors.js → esm2020/datepicker/datepicker-errors.mjs} +0 -0
  200. package/esm2020/datepicker/datepicker-input.directive.mjs +900 -0
  201. package/esm2020/datepicker/datepicker-intl.mjs +40 -0
  202. package/esm2020/datepicker/datepicker-module.mjs +107 -0
  203. package/esm2020/datepicker/datepicker-toggle.component.mjs +86 -0
  204. package/esm2020/datepicker/datepicker.component.mjs +408 -0
  205. package/{esm2015/datepicker/index.js → esm2020/datepicker/index.mjs} +0 -0
  206. package/esm2020/datepicker/month-view.component.mjs +257 -0
  207. package/esm2020/datepicker/multi-year-view.component.mjs +218 -0
  208. package/{esm2015/datepicker/ptsecurity-mosaic-datepicker.js → esm2020/datepicker/ptsecurity-mosaic-datepicker.mjs} +0 -0
  209. package/{esm2015/datepicker/public-api.js → esm2020/datepicker/public-api.mjs} +0 -0
  210. package/esm2020/datepicker/year-view.component.mjs +253 -0
  211. package/{esm2015/design-tokens/index.js → esm2020/design-tokens/index.mjs} +0 -0
  212. package/esm2020/design-tokens/legacy-2017/tokens.mjs +953 -0
  213. package/esm2020/design-tokens/pt-2022/tokens.mjs +1013 -0
  214. package/{esm2015/design-tokens/ptsecurity-mosaic-design-tokens.js → esm2020/design-tokens/ptsecurity-mosaic-design-tokens.mjs} +0 -0
  215. package/esm2020/design-tokens/public-api.mjs +4 -0
  216. package/esm2020/divider/divider.component.mjs +39 -0
  217. package/esm2020/divider/divider.module.mjs +18 -0
  218. package/{esm2015/divider/index.js → esm2020/divider/index.mjs} +0 -0
  219. package/{esm2015/divider/ptsecurity-mosaic-divider.js → esm2020/divider/ptsecurity-mosaic-divider.mjs} +0 -0
  220. package/{esm2015/divider/public-api.js → esm2020/divider/public-api.mjs} +0 -0
  221. package/{esm2015/dropdown/dropdown-animations.js → esm2020/dropdown/dropdown-animations.mjs} +0 -0
  222. package/esm2020/dropdown/dropdown-content.directive.mjs +64 -0
  223. package/{esm2015/dropdown/dropdown-errors.js → esm2020/dropdown/dropdown-errors.mjs} +0 -0
  224. package/esm2020/dropdown/dropdown-item.component.mjs +139 -0
  225. package/esm2020/dropdown/dropdown-trigger.directive.mjs +485 -0
  226. package/esm2020/dropdown/dropdown.component.mjs +292 -0
  227. package/esm2020/dropdown/dropdown.module.mjs +50 -0
  228. package/{esm2015/dropdown/dropdown.types.js → esm2020/dropdown/dropdown.types.mjs} +0 -0
  229. package/{esm2015/dropdown/index.js → esm2020/dropdown/index.mjs} +0 -0
  230. package/{esm2015/dropdown/ptsecurity-mosaic-dropdown.js → esm2020/dropdown/ptsecurity-mosaic-dropdown.mjs} +0 -0
  231. package/{esm2015/dropdown/public-api.js → esm2020/dropdown/public-api.mjs} +0 -0
  232. package/esm2020/form-field/cleaner.mjs +23 -0
  233. package/{esm2015/form-field/form-field-control.js → esm2020/form-field/form-field-control.mjs} +0 -0
  234. package/{esm2015/form-field/form-field-errors.js → esm2020/form-field/form-field-errors.mjs} +0 -0
  235. package/esm2020/form-field/form-field.mjs +205 -0
  236. package/esm2020/form-field/form-field.module.mjs +52 -0
  237. package/esm2020/form-field/hint.mjs +23 -0
  238. package/{esm2015/form-field/index.js → esm2020/form-field/index.mjs} +0 -0
  239. package/esm2020/form-field/prefix.mjs +13 -0
  240. package/{esm2015/form-field/ptsecurity-mosaic-form-field.js → esm2020/form-field/ptsecurity-mosaic-form-field.mjs} +0 -0
  241. package/{esm2015/form-field/public-api.js → esm2020/form-field/public-api.mjs} +0 -0
  242. package/esm2020/form-field/stepper.mjs +55 -0
  243. package/esm2020/form-field/suffix.mjs +13 -0
  244. package/esm2020/icon/icon.component.mjs +44 -0
  245. package/esm2020/icon/icon.module.mjs +38 -0
  246. package/{esm2015/icon/index.js → esm2020/icon/index.mjs} +0 -0
  247. package/{esm2015/icon/ptsecurity-mosaic-icon.js → esm2020/icon/ptsecurity-mosaic-icon.mjs} +0 -0
  248. package/{esm2015/icon/public-api.js → esm2020/icon/public-api.mjs} +0 -0
  249. package/{esm2015/index.js → esm2020/index.mjs} +0 -0
  250. package/{esm2015/input/index.js → esm2020/input/index.mjs} +0 -0
  251. package/{esm2015/input/input-errors.js → esm2020/input/input-errors.mjs} +0 -0
  252. package/esm2020/input/input-number-validators.mjs +92 -0
  253. package/esm2020/input/input-number.mjs +163 -0
  254. package/{esm2015/input/input-value-accessor.js → esm2020/input/input-value-accessor.mjs} +0 -0
  255. package/esm2020/input/input.mjs +333 -0
  256. package/esm2020/input/input.module.mjs +23 -0
  257. package/{esm2015/input/ptsecurity-mosaic-input.js → esm2020/input/ptsecurity-mosaic-input.mjs} +0 -0
  258. package/{esm2015/input/public-api.js → esm2020/input/public-api.mjs} +0 -0
  259. package/{esm2015/link/index.js → esm2020/link/index.mjs} +0 -0
  260. package/esm2020/link/link.component.mjs +107 -0
  261. package/esm2020/link/link.module.mjs +26 -0
  262. package/{esm2015/link/ptsecurity-mosaic-link.js → esm2020/link/ptsecurity-mosaic-link.mjs} +0 -0
  263. package/{esm2015/link/public-api.js → esm2020/link/public-api.mjs} +0 -0
  264. package/{esm2015/list/index.js → esm2020/list/index.mjs} +0 -0
  265. package/esm2020/list/list-selection.component.mjs +687 -0
  266. package/esm2020/list/list.component.mjs +44 -0
  267. package/esm2020/list/list.module.mjs +55 -0
  268. package/{esm2015/list/ptsecurity-mosaic-list.js → esm2020/list/ptsecurity-mosaic-list.mjs} +0 -0
  269. package/{esm2015/list/public-api.js → esm2020/list/public-api.mjs} +0 -0
  270. package/esm2020/modal/css-unit.pipe.mjs +17 -0
  271. package/{esm2015/modal/index.js → esm2020/modal/index.mjs} +0 -0
  272. package/esm2020/modal/modal-control.service.mjs +85 -0
  273. package/{esm2015/modal/modal-ref.class.js → esm2020/modal/modal-ref.class.mjs} +0 -0
  274. package/{esm2015/modal/modal-util.js → esm2020/modal/modal-util.mjs} +0 -0
  275. package/esm2020/modal/modal.component.mjs +501 -0
  276. package/esm2020/modal/modal.directive.mjs +52 -0
  277. package/esm2020/modal/modal.module.mjs +72 -0
  278. package/esm2020/modal/modal.service.mjs +124 -0
  279. package/{esm2015/modal/modal.type.js → esm2020/modal/modal.type.mjs} +0 -0
  280. package/{esm2015/modal/ptsecurity-mosaic-modal.js → esm2020/modal/ptsecurity-mosaic-modal.mjs} +0 -0
  281. package/{esm2015/modal/public-api.js → esm2020/modal/public-api.mjs} +0 -0
  282. package/{esm2015/navbar/index.js → esm2020/navbar/index.mjs} +0 -0
  283. package/esm2020/navbar/navbar-item.component.mjs +577 -0
  284. package/esm2020/navbar/navbar.component.mjs +237 -0
  285. package/esm2020/navbar/navbar.module.mjs +92 -0
  286. package/{esm2015/navbar/ptsecurity-mosaic-navbar.js → esm2020/navbar/ptsecurity-mosaic-navbar.mjs} +0 -0
  287. package/{esm2015/navbar/public-api.js → esm2020/navbar/public-api.mjs} +0 -0
  288. package/esm2020/navbar/vertical-navbar.animation.mjs +10 -0
  289. package/esm2020/navbar/vertical-navbar.component.mjs +114 -0
  290. package/{esm2015/popover/index.js → esm2020/popover/index.mjs} +0 -0
  291. package/{esm2015/popover/popover-animations.js → esm2020/popover/popover-animations.mjs} +0 -0
  292. package/esm2020/popover/popover-confirm.component.mjs +108 -0
  293. package/esm2020/popover/popover.component.mjs +253 -0
  294. package/esm2020/popover/popover.module.mjs +24 -0
  295. package/{esm2015/popover/ptsecurity-mosaic-popover.js → esm2020/popover/ptsecurity-mosaic-popover.mjs} +0 -0
  296. package/{esm2015/popover/public-api.js → esm2020/popover/public-api.mjs} +0 -0
  297. package/{esm2015/progress-bar/index.js → esm2020/progress-bar/index.mjs} +0 -0
  298. package/esm2020/progress-bar/progress-bar.component.mjs +42 -0
  299. package/esm2020/progress-bar/progress-bar.module.mjs +30 -0
  300. package/{esm2015/progress-bar/ptsecurity-mosaic-progress-bar.js → esm2020/progress-bar/ptsecurity-mosaic-progress-bar.mjs} +0 -0
  301. package/{esm2015/progress-bar/public-api.js → esm2020/progress-bar/public-api.mjs} +0 -0
  302. package/{esm2015/progress-spinner/index.js → esm2020/progress-spinner/index.mjs} +0 -0
  303. package/esm2020/progress-spinner/progress-spinner.component.mjs +46 -0
  304. package/esm2020/progress-spinner/progress-spinner.module.mjs +30 -0
  305. package/{esm2015/progress-spinner/ptsecurity-mosaic-progress-spinner.js → esm2020/progress-spinner/ptsecurity-mosaic-progress-spinner.mjs} +0 -0
  306. package/{esm2015/progress-spinner/public-api.js → esm2020/progress-spinner/public-api.mjs} +0 -0
  307. package/{esm2015/ptsecurity-mosaic.js → esm2020/ptsecurity-mosaic.mjs} +0 -0
  308. package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
  309. package/{esm2015/radio/index.js → esm2020/radio/index.mjs} +0 -0
  310. package/{esm2015/radio/ptsecurity-mosaic-radio.js → esm2020/radio/ptsecurity-mosaic-radio.mjs} +0 -0
  311. package/{esm2015/radio/public-api.js → esm2020/radio/public-api.mjs} +0 -0
  312. package/esm2020/radio/radio.component.mjs +458 -0
  313. package/esm2020/radio/radio.module.mjs +20 -0
  314. package/{esm2015/select/index.js → esm2020/select/index.mjs} +0 -0
  315. package/{esm2015/select/ptsecurity-mosaic-select.js → esm2020/select/ptsecurity-mosaic-select.mjs} +0 -0
  316. package/{esm2015/select/public-api.js → esm2020/select/public-api.mjs} +0 -0
  317. package/esm2020/select/select.component.mjs +1110 -0
  318. package/esm2020/select/select.module.mjs +64 -0
  319. package/{esm2015/sidebar/index.js → esm2020/sidebar/index.mjs} +0 -0
  320. package/{esm2015/sidebar/ptsecurity-mosaic-sidebar.js → esm2020/sidebar/ptsecurity-mosaic-sidebar.mjs} +0 -0
  321. package/{esm2015/sidebar/public-api.js → esm2020/sidebar/public-api.mjs} +0 -0
  322. package/{esm2015/sidebar/sidebar-animations.js → esm2020/sidebar/sidebar-animations.mjs} +0 -0
  323. package/esm2020/sidebar/sidebar.component.mjs +146 -0
  324. package/esm2020/sidebar/sidebar.module.mjs +30 -0
  325. package/{esm2015/sidepanel/index.js → esm2020/sidepanel/index.mjs} +0 -0
  326. package/{esm2015/sidepanel/ptsecurity-mosaic-sidepanel.js → esm2020/sidepanel/ptsecurity-mosaic-sidepanel.mjs} +0 -0
  327. package/{esm2015/sidepanel/public-api.js → esm2020/sidepanel/public-api.mjs} +0 -0
  328. package/{esm2015/sidepanel/sidepanel-animations.js → esm2020/sidepanel/sidepanel-animations.mjs} +0 -0
  329. package/{esm2015/sidepanel/sidepanel-config.js → esm2020/sidepanel/sidepanel-config.mjs} +0 -0
  330. package/esm2020/sidepanel/sidepanel-container.component.mjs +106 -0
  331. package/esm2020/sidepanel/sidepanel-directives.mjs +159 -0
  332. package/{esm2015/sidepanel/sidepanel-ref.js → esm2020/sidepanel/sidepanel-ref.mjs} +0 -0
  333. package/esm2020/sidepanel/sidepanel.module.mjs +74 -0
  334. package/esm2020/sidepanel/sidepanel.service.mjs +167 -0
  335. package/{esm2015/splitter/index.js → esm2020/splitter/index.mjs} +0 -0
  336. package/{esm2015/splitter/ptsecurity-mosaic-splitter.js → esm2020/splitter/ptsecurity-mosaic-splitter.mjs} +0 -0
  337. package/{esm2015/splitter/public-api.js → esm2020/splitter/public-api.mjs} +0 -0
  338. package/esm2020/splitter/splitter.component.mjs +480 -0
  339. package/esm2020/splitter/splitter.module.mjs +40 -0
  340. package/{esm2015/table/index.js → esm2020/table/index.mjs} +0 -0
  341. package/{esm2015/table/ptsecurity-mosaic-table.js → esm2020/table/ptsecurity-mosaic-table.mjs} +0 -0
  342. package/{esm2015/table/public-api.js → esm2020/table/public-api.mjs} +0 -0
  343. package/esm2020/table/table.component.mjs +16 -0
  344. package/esm2020/table/table.module.mjs +30 -0
  345. package/{esm2015/tabs/index.js → esm2020/tabs/index.mjs} +0 -0
  346. package/esm2020/tabs/paginated-tab-header.mjs +479 -0
  347. package/{esm2015/tabs/ptsecurity-mosaic-tabs.js → esm2020/tabs/ptsecurity-mosaic-tabs.mjs} +0 -0
  348. package/{esm2015/tabs/public-api.js → esm2020/tabs/public-api.mjs} +0 -0
  349. package/esm2020/tabs/tab-body.component.mjs +178 -0
  350. package/esm2020/tabs/tab-content.directive.mjs +15 -0
  351. package/esm2020/tabs/tab-group.component.mjs +350 -0
  352. package/esm2020/tabs/tab-header.component.mjs +67 -0
  353. package/esm2020/tabs/tab-label-wrapper.directive.mjs +78 -0
  354. package/esm2020/tabs/tab-label.directive.mjs +17 -0
  355. package/{esm2015/tabs/tab-nav-bar/index.js → esm2020/tabs/tab-nav-bar/index.mjs} +0 -0
  356. package/esm2020/tabs/tab-nav-bar/tab-nav-bar.mjs +110 -0
  357. package/esm2020/tabs/tab.component.mjs +133 -0
  358. package/{esm2015/tabs/tabs-animations.js → esm2020/tabs/tabs-animations.mjs} +0 -0
  359. package/esm2020/tabs/tabs.module.mjs +104 -0
  360. package/{esm2015/tags/index.js → esm2020/tags/index.mjs} +0 -0
  361. package/{esm2015/tags/ptsecurity-mosaic-tags.js → esm2020/tags/ptsecurity-mosaic-tags.mjs} +0 -0
  362. package/{esm2015/tags/public-api.js → esm2020/tags/public-api.mjs} +0 -0
  363. package/{esm2015/tags/tag-default-options.js → esm2020/tags/tag-default-options.mjs} +0 -0
  364. package/esm2020/tags/tag-input.mjs +229 -0
  365. package/esm2020/tags/tag-list.component.mjs +722 -0
  366. package/{esm2015/tags/tag-text-control.js → esm2020/tags/tag-text-control.mjs} +0 -0
  367. package/esm2020/tags/tag.component.mjs +377 -0
  368. package/esm2020/tags/tag.module.mjs +56 -0
  369. package/{esm2015/textarea/index.js → esm2020/textarea/index.mjs} +0 -0
  370. package/{esm2015/textarea/ptsecurity-mosaic-textarea.js → esm2020/textarea/ptsecurity-mosaic-textarea.mjs} +0 -0
  371. package/{esm2015/textarea/public-api.js → esm2020/textarea/public-api.mjs} +0 -0
  372. package/esm2020/textarea/textarea.component.mjs +268 -0
  373. package/esm2020/textarea/textarea.module.mjs +21 -0
  374. package/{esm2015/timepicker/index.js → esm2020/timepicker/index.mjs} +0 -0
  375. package/{esm2015/timepicker/ptsecurity-mosaic-timepicker.js → esm2020/timepicker/ptsecurity-mosaic-timepicker.mjs} +0 -0
  376. package/{esm2015/timepicker/public-api.js → esm2020/timepicker/public-api.mjs} +0 -0
  377. package/{esm2015/timepicker/timepicker.constants.js → esm2020/timepicker/timepicker.constants.mjs} +0 -0
  378. package/esm2020/timepicker/timepicker.directive.mjs +653 -0
  379. package/esm2020/timepicker/timepicker.module.mjs +34 -0
  380. package/{esm2015/toggle/index.js → esm2020/toggle/index.mjs} +0 -0
  381. package/{esm2015/toggle/ptsecurity-mosaic-toggle.js → esm2020/toggle/ptsecurity-mosaic-toggle.mjs} +0 -0
  382. package/{esm2015/toggle/public-api.js → esm2020/toggle/public-api.mjs} +0 -0
  383. package/esm2020/toggle/toggle.component.mjs +158 -0
  384. package/esm2020/toggle/toggle.module.mjs +20 -0
  385. package/{esm2015/tooltip/index.js → esm2020/tooltip/index.mjs} +0 -0
  386. package/{esm2015/tooltip/ptsecurity-mosaic-tooltip.js → esm2020/tooltip/ptsecurity-mosaic-tooltip.mjs} +0 -0
  387. package/{esm2015/tooltip/public-api.js → esm2020/tooltip/public-api.mjs} +0 -0
  388. package/{esm2015/tooltip/tooltip.animations.js → esm2020/tooltip/tooltip.animations.mjs} +0 -0
  389. package/esm2020/tooltip/tooltip.component.mjs +291 -0
  390. package/esm2020/tooltip/tooltip.module.mjs +43 -0
  391. package/{esm2015/tree/control/base-tree-control.js → esm2020/tree/control/base-tree-control.mjs} +0 -0
  392. package/{esm2015/tree/control/flat-tree-control.js → esm2020/tree/control/flat-tree-control.mjs} +0 -0
  393. package/{esm2015/tree/control/nested-tree-control.js → esm2020/tree/control/nested-tree-control.mjs} +0 -0
  394. package/{esm2015/tree/control/tree-control.js → esm2020/tree/control/tree-control.mjs} +0 -0
  395. package/esm2020/tree/data-source/flat-data-source.mjs +162 -0
  396. package/{esm2015/tree/data-source/nested-data-source.js → esm2020/tree/data-source/nested-data-source.mjs} +0 -0
  397. package/{esm2015/tree/index.js → esm2020/tree/index.mjs} +0 -0
  398. package/esm2020/tree/node.mjs +31 -0
  399. package/esm2020/tree/outlet.mjs +15 -0
  400. package/esm2020/tree/padding.directive.mjs +110 -0
  401. package/{esm2015/tree/ptsecurity-mosaic-tree.js → esm2020/tree/ptsecurity-mosaic-tree.mjs} +0 -0
  402. package/{esm2015/tree/public-api.js → esm2020/tree/public-api.mjs} +0 -0
  403. package/esm2020/tree/toggle.mjs +80 -0
  404. package/esm2020/tree/tree-base.mjs +243 -0
  405. package/{esm2015/tree/tree-errors.js → esm2020/tree/tree-errors.mjs} +0 -0
  406. package/esm2020/tree/tree-option.component.mjs +234 -0
  407. package/esm2020/tree/tree-selection.component.mjs +533 -0
  408. package/esm2020/tree/tree.mjs +15 -0
  409. package/esm2020/tree/tree.module.mjs +53 -0
  410. package/{esm2015/tree-select/index.js → esm2020/tree-select/index.mjs} +0 -0
  411. package/{esm2015/tree-select/ptsecurity-mosaic-tree-select.js → esm2020/tree-select/ptsecurity-mosaic-tree-select.mjs} +0 -0
  412. package/{esm2015/tree-select/public-api.js → esm2020/tree-select/public-api.mjs} +0 -0
  413. package/esm2020/tree-select/tree-select.component.mjs +925 -0
  414. package/esm2020/tree-select/tree-select.module.mjs +47 -0
  415. package/fesm2015/ptsecurity-mosaic-autocomplete.mjs +756 -0
  416. package/fesm2015/ptsecurity-mosaic-autocomplete.mjs.map +1 -0
  417. package/fesm2015/ptsecurity-mosaic-button-toggle.mjs +385 -0
  418. package/fesm2015/ptsecurity-mosaic-button-toggle.mjs.map +1 -0
  419. package/fesm2015/ptsecurity-mosaic-button.mjs +170 -0
  420. package/fesm2015/ptsecurity-mosaic-button.mjs.map +1 -0
  421. package/fesm2015/ptsecurity-mosaic-card.mjs +113 -0
  422. package/fesm2015/ptsecurity-mosaic-card.mjs.map +1 -0
  423. package/fesm2015/ptsecurity-mosaic-checkbox.mjs +366 -0
  424. package/fesm2015/ptsecurity-mosaic-checkbox.mjs.map +1 -0
  425. package/fesm2015/ptsecurity-mosaic-core.mjs +2706 -0
  426. package/fesm2015/ptsecurity-mosaic-core.mjs.map +1 -0
  427. package/fesm2015/ptsecurity-mosaic-datepicker.mjs +2700 -0
  428. package/fesm2015/ptsecurity-mosaic-datepicker.mjs.map +1 -0
  429. package/fesm2015/ptsecurity-mosaic-design-tokens.mjs +2925 -0
  430. package/fesm2015/ptsecurity-mosaic-design-tokens.mjs.map +1 -0
  431. package/fesm2015/ptsecurity-mosaic-divider.mjs +61 -0
  432. package/fesm2015/ptsecurity-mosaic-divider.mjs.map +1 -0
  433. package/fesm2015/ptsecurity-mosaic-dropdown.mjs +1106 -0
  434. package/fesm2015/ptsecurity-mosaic-dropdown.mjs.map +1 -0
  435. package/fesm2015/ptsecurity-mosaic-form-field.mjs +378 -0
  436. package/fesm2015/ptsecurity-mosaic-form-field.mjs.map +1 -0
  437. package/fesm2015/ptsecurity-mosaic-icon.mjs +88 -0
  438. package/fesm2015/ptsecurity-mosaic-icon.mjs.map +1 -0
  439. package/fesm2015/ptsecurity-mosaic-input.mjs +609 -0
  440. package/fesm2015/ptsecurity-mosaic-input.mjs.map +1 -0
  441. package/fesm2015/ptsecurity-mosaic-link.mjs +137 -0
  442. package/fesm2015/ptsecurity-mosaic-link.mjs.map +1 -0
  443. package/fesm2015/ptsecurity-mosaic-list.mjs +791 -0
  444. package/fesm2015/ptsecurity-mosaic-list.mjs.map +1 -0
  445. package/fesm2015/ptsecurity-mosaic-modal.mjs +864 -0
  446. package/fesm2015/ptsecurity-mosaic-modal.mjs.map +1 -0
  447. package/fesm2015/ptsecurity-mosaic-navbar.mjs +1025 -0
  448. package/fesm2015/ptsecurity-mosaic-navbar.mjs.map +1 -0
  449. package/fesm2015/ptsecurity-mosaic-popover.mjs +393 -0
  450. package/fesm2015/ptsecurity-mosaic-popover.mjs.map +1 -0
  451. package/fesm2015/ptsecurity-mosaic-progress-bar.mjs +76 -0
  452. package/fesm2015/ptsecurity-mosaic-progress-bar.mjs.map +1 -0
  453. package/fesm2015/ptsecurity-mosaic-progress-spinner.mjs +80 -0
  454. package/fesm2015/ptsecurity-mosaic-progress-spinner.mjs.map +1 -0
  455. package/fesm2015/ptsecurity-mosaic-radio.mjs +481 -0
  456. package/fesm2015/ptsecurity-mosaic-radio.mjs.map +1 -0
  457. package/fesm2015/ptsecurity-mosaic-select.mjs +1175 -0
  458. package/fesm2015/ptsecurity-mosaic-select.mjs.map +1 -0
  459. package/fesm2015/ptsecurity-mosaic-sidebar.mjs +202 -0
  460. package/fesm2015/ptsecurity-mosaic-sidebar.mjs.map +1 -0
  461. package/fesm2015/ptsecurity-mosaic-sidepanel.mjs +592 -0
  462. package/fesm2015/ptsecurity-mosaic-sidepanel.mjs.map +1 -0
  463. package/fesm2015/ptsecurity-mosaic-splitter.mjs +524 -0
  464. package/fesm2015/ptsecurity-mosaic-splitter.mjs.map +1 -0
  465. package/fesm2015/ptsecurity-mosaic-table.mjs +50 -0
  466. package/fesm2015/ptsecurity-mosaic-table.mjs.map +1 -0
  467. package/fesm2015/ptsecurity-mosaic-tabs.mjs +1511 -0
  468. package/fesm2015/ptsecurity-mosaic-tabs.mjs.map +1 -0
  469. package/fesm2015/ptsecurity-mosaic-tags.mjs +1377 -0
  470. package/fesm2015/ptsecurity-mosaic-tags.mjs.map +1 -0
  471. package/fesm2015/ptsecurity-mosaic-textarea.mjs +293 -0
  472. package/fesm2015/ptsecurity-mosaic-textarea.mjs.map +1 -0
  473. package/fesm2015/ptsecurity-mosaic-timepicker.mjs +715 -0
  474. package/fesm2015/ptsecurity-mosaic-timepicker.mjs.map +1 -0
  475. package/fesm2015/ptsecurity-mosaic-toggle.mjs +180 -0
  476. package/fesm2015/ptsecurity-mosaic-toggle.mjs.map +1 -0
  477. package/fesm2015/ptsecurity-mosaic-tooltip.mjs +362 -0
  478. package/fesm2015/ptsecurity-mosaic-tooltip.mjs.map +1 -0
  479. package/fesm2015/ptsecurity-mosaic-tree-select.mjs +972 -0
  480. package/fesm2015/ptsecurity-mosaic-tree-select.mjs.map +1 -0
  481. package/fesm2015/ptsecurity-mosaic-tree.mjs +1718 -0
  482. package/fesm2015/ptsecurity-mosaic-tree.mjs.map +1 -0
  483. package/fesm2015/ptsecurity-mosaic.mjs +4 -0
  484. package/fesm2015/ptsecurity-mosaic.mjs.map +1 -0
  485. package/fesm2020/ptsecurity-mosaic-autocomplete.mjs +752 -0
  486. package/fesm2020/ptsecurity-mosaic-autocomplete.mjs.map +1 -0
  487. package/fesm2020/ptsecurity-mosaic-button-toggle.mjs +383 -0
  488. package/fesm2020/ptsecurity-mosaic-button-toggle.mjs.map +1 -0
  489. package/fesm2020/ptsecurity-mosaic-button.mjs +170 -0
  490. package/fesm2020/ptsecurity-mosaic-button.mjs.map +1 -0
  491. package/fesm2020/ptsecurity-mosaic-card.mjs +113 -0
  492. package/fesm2020/ptsecurity-mosaic-card.mjs.map +1 -0
  493. package/fesm2020/ptsecurity-mosaic-checkbox.mjs +364 -0
  494. package/fesm2020/ptsecurity-mosaic-checkbox.mjs.map +1 -0
  495. package/fesm2020/ptsecurity-mosaic-core.mjs +2735 -0
  496. package/fesm2020/ptsecurity-mosaic-core.mjs.map +1 -0
  497. package/fesm2020/ptsecurity-mosaic-datepicker.mjs +2687 -0
  498. package/fesm2020/ptsecurity-mosaic-datepicker.mjs.map +1 -0
  499. package/fesm2020/ptsecurity-mosaic-design-tokens.mjs +2925 -0
  500. package/fesm2020/ptsecurity-mosaic-design-tokens.mjs.map +1 -0
  501. package/fesm2020/ptsecurity-mosaic-divider.mjs +61 -0
  502. package/fesm2020/ptsecurity-mosaic-divider.mjs.map +1 -0
  503. package/fesm2020/ptsecurity-mosaic-dropdown.mjs +1093 -0
  504. package/fesm2020/ptsecurity-mosaic-dropdown.mjs.map +1 -0
  505. package/fesm2020/ptsecurity-mosaic-form-field.mjs +377 -0
  506. package/fesm2020/ptsecurity-mosaic-form-field.mjs.map +1 -0
  507. package/fesm2020/ptsecurity-mosaic-icon.mjs +86 -0
  508. package/fesm2020/ptsecurity-mosaic-icon.mjs.map +1 -0
  509. package/fesm2020/ptsecurity-mosaic-input.mjs +605 -0
  510. package/fesm2020/ptsecurity-mosaic-input.mjs.map +1 -0
  511. package/fesm2020/ptsecurity-mosaic-link.mjs +136 -0
  512. package/fesm2020/ptsecurity-mosaic-link.mjs.map +1 -0
  513. package/fesm2020/ptsecurity-mosaic-list.mjs +784 -0
  514. package/fesm2020/ptsecurity-mosaic-list.mjs.map +1 -0
  515. package/fesm2020/ptsecurity-mosaic-modal.mjs +860 -0
  516. package/fesm2020/ptsecurity-mosaic-modal.mjs.map +1 -0
  517. package/fesm2020/ptsecurity-mosaic-navbar.mjs +1009 -0
  518. package/fesm2020/ptsecurity-mosaic-navbar.mjs.map +1 -0
  519. package/fesm2020/ptsecurity-mosaic-popover.mjs +389 -0
  520. package/fesm2020/ptsecurity-mosaic-popover.mjs.map +1 -0
  521. package/fesm2020/ptsecurity-mosaic-progress-bar.mjs +76 -0
  522. package/fesm2020/ptsecurity-mosaic-progress-bar.mjs.map +1 -0
  523. package/fesm2020/ptsecurity-mosaic-progress-spinner.mjs +80 -0
  524. package/fesm2020/ptsecurity-mosaic-progress-spinner.mjs.map +1 -0
  525. package/fesm2020/ptsecurity-mosaic-radio.mjs +479 -0
  526. package/fesm2020/ptsecurity-mosaic-radio.mjs.map +1 -0
  527. package/fesm2020/ptsecurity-mosaic-select.mjs +1173 -0
  528. package/fesm2020/ptsecurity-mosaic-select.mjs.map +1 -0
  529. package/fesm2020/ptsecurity-mosaic-sidebar.mjs +202 -0
  530. package/fesm2020/ptsecurity-mosaic-sidebar.mjs.map +1 -0
  531. package/fesm2020/ptsecurity-mosaic-sidepanel.mjs +589 -0
  532. package/fesm2020/ptsecurity-mosaic-sidepanel.mjs.map +1 -0
  533. package/fesm2020/ptsecurity-mosaic-splitter.mjs +524 -0
  534. package/fesm2020/ptsecurity-mosaic-splitter.mjs.map +1 -0
  535. package/fesm2020/ptsecurity-mosaic-table.mjs +50 -0
  536. package/fesm2020/ptsecurity-mosaic-table.mjs.map +1 -0
  537. package/fesm2020/ptsecurity-mosaic-tabs.mjs +1496 -0
  538. package/fesm2020/ptsecurity-mosaic-tabs.mjs.map +1 -0
  539. package/fesm2020/ptsecurity-mosaic-tags.mjs +1370 -0
  540. package/fesm2020/ptsecurity-mosaic-tags.mjs.map +1 -0
  541. package/fesm2020/ptsecurity-mosaic-textarea.mjs +291 -0
  542. package/fesm2020/ptsecurity-mosaic-textarea.mjs.map +1 -0
  543. package/fesm2020/ptsecurity-mosaic-timepicker.mjs +713 -0
  544. package/fesm2020/ptsecurity-mosaic-timepicker.mjs.map +1 -0
  545. package/fesm2020/ptsecurity-mosaic-toggle.mjs +180 -0
  546. package/fesm2020/ptsecurity-mosaic-toggle.mjs.map +1 -0
  547. package/fesm2020/ptsecurity-mosaic-tooltip.mjs +354 -0
  548. package/fesm2020/ptsecurity-mosaic-tooltip.mjs.map +1 -0
  549. package/fesm2020/ptsecurity-mosaic-tree-select.mjs +970 -0
  550. package/fesm2020/ptsecurity-mosaic-tree-select.mjs.map +1 -0
  551. package/fesm2020/ptsecurity-mosaic-tree.mjs +1705 -0
  552. package/fesm2020/ptsecurity-mosaic-tree.mjs.map +1 -0
  553. package/fesm2020/ptsecurity-mosaic.mjs +4 -0
  554. package/fesm2020/ptsecurity-mosaic.mjs.map +1 -0
  555. package/form-field/README.md +0 -0
  556. package/form-field/package.json +5 -5
  557. package/icon/README.md +0 -0
  558. package/icon/package.json +5 -5
  559. package/input/package.json +5 -5
  560. package/link/README.md +0 -0
  561. package/link/package.json +5 -5
  562. package/list/README.md +0 -0
  563. package/list/package.json +5 -5
  564. package/modal/README.md +34 -0
  565. package/modal/modal-control.service.d.ts +1 -0
  566. package/modal/package.json +5 -5
  567. package/navbar/README.md +41 -0
  568. package/navbar/navbar-item.component.d.ts +122 -34
  569. package/navbar/navbar.component.d.ts +37 -9
  570. package/navbar/navbar.module.d.ts +2 -1
  571. package/navbar/package.json +5 -5
  572. package/navbar/vertical-navbar.component.d.ts +15 -26
  573. package/package.json +299 -14
  574. package/popover/README.md +32 -0
  575. package/popover/package.json +5 -5
  576. package/popover/popover.component.d.ts +2 -0
  577. package/popover/popover.module.d.ts +2 -1
  578. package/prebuilt-themes/dark-theme.css +1 -1
  579. package/prebuilt-themes/default-theme.css +1 -1
  580. package/prebuilt-visual/default-visual.css +1 -1
  581. package/progress-bar/README.md +0 -0
  582. package/progress-bar/package.json +5 -5
  583. package/progress-spinner/README.md +0 -0
  584. package/progress-spinner/package.json +5 -5
  585. package/radio/package.json +5 -5
  586. package/schematics/README.md +35 -0
  587. package/schematics/ng-update/data/index.d.ts +1 -0
  588. package/schematics/ng-update/data/index.js +10 -9
  589. package/schematics/ng-update/data/index.js.map +1 -1
  590. package/schematics/ng-update/data/symbol-removal.d.ts +2 -0
  591. package/schematics/ng-update/data/symbol-removal.js +5 -0
  592. package/schematics/ng-update/data/symbol-removal.js.map +1 -0
  593. package/schematics/ng-update/index.js +3 -3
  594. package/schematics/ng-update/index.js.map +1 -1
  595. package/schematics/ng-update/update-9.0.0/secondary-entry-points-migration.js +1 -2
  596. package/schematics/ng-update/update-9.0.0/secondary-entry-points-migration.js.map +1 -1
  597. package/schematics/ng-update/upgrade-data.js +2 -1
  598. package/schematics/ng-update/upgrade-data.js.map +1 -1
  599. package/schematics/tsconfig.lib.json +2 -2
  600. package/select/README.md +0 -0
  601. package/select/package.json +5 -5
  602. package/sidebar/package.json +5 -5
  603. package/sidepanel/package.json +5 -5
  604. package/splitter/package.json +5 -5
  605. package/splitter/splitter.component.d.ts +46 -5
  606. package/splitter/splitter.module.d.ts +1 -1
  607. package/table/README.md +0 -0
  608. package/table/package.json +5 -5
  609. package/tabs/README.md +0 -0
  610. package/tabs/package.json +5 -5
  611. package/tags/README.md +0 -0
  612. package/tags/package.json +5 -5
  613. package/tags/tag.component.d.ts +20 -20
  614. package/textarea/README.md +0 -0
  615. package/textarea/package.json +5 -5
  616. package/timepicker/README.md +0 -0
  617. package/timepicker/package.json +5 -5
  618. package/toggle/package.json +5 -5
  619. package/tooltip/package.json +5 -5
  620. package/tree/data-source/flat-data-source.d.ts +2 -2
  621. package/tree/package.json +5 -5
  622. package/tree/toggle.d.ts +1 -1
  623. package/tree/tree-option.component.d.ts +5 -3
  624. package/tree/tree-selection.component.d.ts +1 -0
  625. package/tree-select/README.md +0 -0
  626. package/tree-select/package.json +5 -5
  627. package/tree-select/tree-select.component.d.ts +9 -1
  628. package/tree-select/tree-select.module.d.ts +2 -1
  629. package/bundles/ptsecurity-mosaic-autocomplete.umd.js +0 -1160
  630. package/bundles/ptsecurity-mosaic-autocomplete.umd.js.map +0 -1
  631. package/bundles/ptsecurity-mosaic-button-toggle.umd.js +0 -755
  632. package/bundles/ptsecurity-mosaic-button-toggle.umd.js.map +0 -1
  633. package/bundles/ptsecurity-mosaic-button.umd.js +0 -533
  634. package/bundles/ptsecurity-mosaic-button.umd.js.map +0 -1
  635. package/bundles/ptsecurity-mosaic-card.umd.js +0 -479
  636. package/bundles/ptsecurity-mosaic-card.umd.js.map +0 -1
  637. package/bundles/ptsecurity-mosaic-checkbox.umd.js +0 -762
  638. package/bundles/ptsecurity-mosaic-checkbox.umd.js.map +0 -1
  639. package/bundles/ptsecurity-mosaic-core.umd.js +0 -2843
  640. package/bundles/ptsecurity-mosaic-core.umd.js.map +0 -1
  641. package/bundles/ptsecurity-mosaic-datepicker.umd.js +0 -3355
  642. package/bundles/ptsecurity-mosaic-datepicker.umd.js.map +0 -1
  643. package/bundles/ptsecurity-mosaic-design-tokens.umd.js +0 -1872
  644. package/bundles/ptsecurity-mosaic-design-tokens.umd.js.map +0 -1
  645. package/bundles/ptsecurity-mosaic-divider.umd.js +0 -106
  646. package/bundles/ptsecurity-mosaic-divider.umd.js.map +0 -1
  647. package/bundles/ptsecurity-mosaic-dropdown.umd.js +0 -1517
  648. package/bundles/ptsecurity-mosaic-dropdown.umd.js.map +0 -1
  649. package/bundles/ptsecurity-mosaic-form-field.umd.js +0 -788
  650. package/bundles/ptsecurity-mosaic-form-field.umd.js.map +0 -1
  651. package/bundles/ptsecurity-mosaic-icon.umd.js +0 -450
  652. package/bundles/ptsecurity-mosaic-icon.umd.js.map +0 -1
  653. package/bundles/ptsecurity-mosaic-input.umd.js +0 -1008
  654. package/bundles/ptsecurity-mosaic-input.umd.js.map +0 -1
  655. package/bundles/ptsecurity-mosaic-link.umd.js +0 -515
  656. package/bundles/ptsecurity-mosaic-link.umd.js.map +0 -1
  657. package/bundles/ptsecurity-mosaic-list.umd.js +0 -1256
  658. package/bundles/ptsecurity-mosaic-list.umd.js.map +0 -1
  659. package/bundles/ptsecurity-mosaic-modal.umd.js +0 -1305
  660. package/bundles/ptsecurity-mosaic-modal.umd.js.map +0 -1
  661. package/bundles/ptsecurity-mosaic-navbar.umd.js +0 -930
  662. package/bundles/ptsecurity-mosaic-navbar.umd.js.map +0 -1
  663. package/bundles/ptsecurity-mosaic-popover.umd.js +0 -830
  664. package/bundles/ptsecurity-mosaic-popover.umd.js.map +0 -1
  665. package/bundles/ptsecurity-mosaic-progress-bar.umd.js +0 -440
  666. package/bundles/ptsecurity-mosaic-progress-bar.umd.js.map +0 -1
  667. package/bundles/ptsecurity-mosaic-progress-spinner.umd.js +0 -448
  668. package/bundles/ptsecurity-mosaic-progress-spinner.umd.js.map +0 -1
  669. package/bundles/ptsecurity-mosaic-radio.umd.js +0 -901
  670. package/bundles/ptsecurity-mosaic-radio.umd.js.map +0 -1
  671. package/bundles/ptsecurity-mosaic-select.umd.js +0 -1606
  672. package/bundles/ptsecurity-mosaic-select.umd.js.map +0 -1
  673. package/bundles/ptsecurity-mosaic-sidebar.umd.js +0 -254
  674. package/bundles/ptsecurity-mosaic-sidebar.umd.js.map +0 -1
  675. package/bundles/ptsecurity-mosaic-sidepanel.umd.js +0 -954
  676. package/bundles/ptsecurity-mosaic-sidepanel.umd.js.map +0 -1
  677. package/bundles/ptsecurity-mosaic-splitter.umd.js +0 -436
  678. package/bundles/ptsecurity-mosaic-splitter.umd.js.map +0 -1
  679. package/bundles/ptsecurity-mosaic-table.umd.js +0 -81
  680. package/bundles/ptsecurity-mosaic-table.umd.js.map +0 -1
  681. package/bundles/ptsecurity-mosaic-tabs.umd.js +0 -2013
  682. package/bundles/ptsecurity-mosaic-tabs.umd.js.map +0 -1
  683. package/bundles/ptsecurity-mosaic-tags.umd.js +0 -1911
  684. package/bundles/ptsecurity-mosaic-tags.umd.js.map +0 -1
  685. package/bundles/ptsecurity-mosaic-textarea.umd.js +0 -664
  686. package/bundles/ptsecurity-mosaic-textarea.umd.js.map +0 -1
  687. package/bundles/ptsecurity-mosaic-timepicker.umd.js +0 -820
  688. package/bundles/ptsecurity-mosaic-timepicker.umd.js.map +0 -1
  689. package/bundles/ptsecurity-mosaic-toggle.umd.js +0 -557
  690. package/bundles/ptsecurity-mosaic-toggle.umd.js.map +0 -1
  691. package/bundles/ptsecurity-mosaic-tooltip.umd.js +0 -777
  692. package/bundles/ptsecurity-mosaic-tooltip.umd.js.map +0 -1
  693. package/bundles/ptsecurity-mosaic-tree-select.umd.js +0 -1368
  694. package/bundles/ptsecurity-mosaic-tree-select.umd.js.map +0 -1
  695. package/bundles/ptsecurity-mosaic-tree.umd.js +0 -2301
  696. package/bundles/ptsecurity-mosaic-tree.umd.js.map +0 -1
  697. package/bundles/ptsecurity-mosaic.umd.js +0 -11
  698. package/bundles/ptsecurity-mosaic.umd.js.map +0 -1
  699. package/design-tokens/tokens/components/checkbox.json5 +0 -39
  700. package/design-tokens/tokens/components/modal.json5 +0 -67
  701. package/design-tokens/tokens/components/navbar.json5 +0 -64
  702. package/design-tokens/tokens/components/radio.json5 +0 -45
  703. package/design-tokens/tokens/components/tags.json5 +0 -126
  704. package/design-tokens/tokens/components/toggle.json5 +0 -55
  705. package/design-tokens/tokens.d.ts +0 -7637
  706. package/esm2015/autocomplete/autocomplete-origin.directive.js +0 -21
  707. package/esm2015/autocomplete/autocomplete-trigger.directive.js +0 -555
  708. package/esm2015/autocomplete/autocomplete.component.js +0 -163
  709. package/esm2015/autocomplete/autocomplete.module.js +0 -34
  710. package/esm2015/button/button.component.js +0 -129
  711. package/esm2015/button/button.module.js +0 -42
  712. package/esm2015/button-toggle/button-toggle.component.js +0 -370
  713. package/esm2015/button-toggle/button-toggle.module.js +0 -19
  714. package/esm2015/card/card.component.js +0 -88
  715. package/esm2015/card/card.module.js +0 -30
  716. package/esm2015/checkbox/checkbox-module.js +0 -19
  717. package/esm2015/checkbox/checkbox-required-validator.js +0 -27
  718. package/esm2015/checkbox/checkbox.js +0 -325
  719. package/esm2015/core/common-behaviors/common-module.js +0 -83
  720. package/esm2015/core/error/error-options.js +0 -26
  721. package/esm2015/core/formatters/date/formatter.js +0 -288
  722. package/esm2015/core/formatters/date/templates/en-US.js +0 -280
  723. package/esm2015/core/formatters/date/templates/ru-RU.js +0 -280
  724. package/esm2015/core/formatters/index.js +0 -20
  725. package/esm2015/core/formatters/number/formatter.js +0 -99
  726. package/esm2015/core/forms/forms-module.js +0 -24
  727. package/esm2015/core/forms/forms.directive.js +0 -66
  728. package/esm2015/core/highlight/highlight.pipe.js +0 -17
  729. package/esm2015/core/highlight/index.js +0 -19
  730. package/esm2015/core/line/line.js +0 -70
  731. package/esm2015/core/option/action.js +0 -131
  732. package/esm2015/core/option/optgroup.js +0 -40
  733. package/esm2015/core/option/option-module.js +0 -21
  734. package/esm2015/core/option/option.js +0 -262
  735. package/esm2015/core/pop-up/pop-up-trigger.js +0 -241
  736. package/esm2015/core/pop-up/pop-up.js +0 -87
  737. package/esm2015/core/public-api.js +0 -17
  738. package/esm2015/core/selection/pseudo-checkbox/pseudo-checkbox.js +0 -45
  739. package/esm2015/core/selection/pseudo-checkbox/pseudo-checkbox.module.js +0 -18
  740. package/esm2015/core/services/measure-scrollbar.service.js +0 -48
  741. package/esm2015/datepicker/calendar-body.component.js +0 -114
  742. package/esm2015/datepicker/calendar.component.js +0 -377
  743. package/esm2015/datepicker/datepicker-input.directive.js +0 -885
  744. package/esm2015/datepicker/datepicker-intl.js +0 -40
  745. package/esm2015/datepicker/datepicker-module.js +0 -107
  746. package/esm2015/datepicker/datepicker-toggle.component.js +0 -94
  747. package/esm2015/datepicker/datepicker.component.js +0 -418
  748. package/esm2015/datepicker/month-view.component.js +0 -263
  749. package/esm2015/datepicker/multi-year-view.component.js +0 -224
  750. package/esm2015/datepicker/year-view.component.js +0 -259
  751. package/esm2015/design-tokens/public-api.js +0 -2
  752. package/esm2015/design-tokens/tokens.js +0 -931
  753. package/esm2015/divider/divider.component.js +0 -46
  754. package/esm2015/divider/divider.module.js +0 -18
  755. package/esm2015/dropdown/dropdown-content.directive.js +0 -66
  756. package/esm2015/dropdown/dropdown-item.component.js +0 -142
  757. package/esm2015/dropdown/dropdown-trigger.directive.js +0 -478
  758. package/esm2015/dropdown/dropdown.component.js +0 -302
  759. package/esm2015/dropdown/dropdown.module.js +0 -50
  760. package/esm2015/form-field/cleaner.js +0 -23
  761. package/esm2015/form-field/form-field.js +0 -224
  762. package/esm2015/form-field/form-field.module.js +0 -52
  763. package/esm2015/form-field/hint.js +0 -23
  764. package/esm2015/form-field/prefix.js +0 -13
  765. package/esm2015/form-field/stepper.js +0 -55
  766. package/esm2015/form-field/suffix.js +0 -13
  767. package/esm2015/icon/icon.component.js +0 -51
  768. package/esm2015/icon/icon.module.js +0 -38
  769. package/esm2015/input/input-number-validators.js +0 -92
  770. package/esm2015/input/input-number.js +0 -163
  771. package/esm2015/input/input.js +0 -333
  772. package/esm2015/input/input.module.js +0 -23
  773. package/esm2015/link/link.component.js +0 -108
  774. package/esm2015/link/link.module.js +0 -26
  775. package/esm2015/list/list-selection.component.js +0 -716
  776. package/esm2015/list/list.component.js +0 -58
  777. package/esm2015/list/list.module.js +0 -55
  778. package/esm2015/modal/css-unit.pipe.js +0 -17
  779. package/esm2015/modal/modal-control.service.js +0 -63
  780. package/esm2015/modal/modal.component.js +0 -508
  781. package/esm2015/modal/modal.directive.js +0 -52
  782. package/esm2015/modal/modal.module.js +0 -72
  783. package/esm2015/modal/modal.service.js +0 -117
  784. package/esm2015/navbar/navbar-item.component.js +0 -209
  785. package/esm2015/navbar/navbar.component.js +0 -118
  786. package/esm2015/navbar/navbar.module.js +0 -76
  787. package/esm2015/navbar/vertical-navbar.animation.js +0 -10
  788. package/esm2015/navbar/vertical-navbar.component.js +0 -140
  789. package/esm2015/popover/popover-confirm.component.js +0 -115
  790. package/esm2015/popover/popover.component.js +0 -256
  791. package/esm2015/popover/popover.module.js +0 -23
  792. package/esm2015/progress-bar/progress-bar.component.js +0 -50
  793. package/esm2015/progress-bar/progress-bar.module.js +0 -30
  794. package/esm2015/progress-spinner/progress-spinner.component.js +0 -54
  795. package/esm2015/progress-spinner/progress-spinner.module.js +0 -30
  796. package/esm2015/radio/radio.component.js +0 -467
  797. package/esm2015/radio/radio.module.js +0 -20
  798. package/esm2015/select/select.component.js +0 -1122
  799. package/esm2015/select/select.module.js +0 -64
  800. package/esm2015/sidebar/sidebar.component.js +0 -155
  801. package/esm2015/sidebar/sidebar.module.js +0 -30
  802. package/esm2015/sidepanel/sidepanel-container.component.js +0 -114
  803. package/esm2015/sidepanel/sidepanel-directives.js +0 -159
  804. package/esm2015/sidepanel/sidepanel.module.js +0 -74
  805. package/esm2015/sidepanel/sidepanel.service.js +0 -164
  806. package/esm2015/splitter/splitter.component.js +0 -331
  807. package/esm2015/splitter/splitter.module.js +0 -38
  808. package/esm2015/table/table.component.js +0 -16
  809. package/esm2015/table/table.module.js +0 -30
  810. package/esm2015/tabs/paginated-tab-header.js +0 -482
  811. package/esm2015/tabs/tab-body.component.js +0 -186
  812. package/esm2015/tabs/tab-content.directive.js +0 -15
  813. package/esm2015/tabs/tab-group.component.js +0 -359
  814. package/esm2015/tabs/tab-header.component.js +0 -76
  815. package/esm2015/tabs/tab-label-wrapper.directive.js +0 -78
  816. package/esm2015/tabs/tab-label.directive.js +0 -17
  817. package/esm2015/tabs/tab-nav-bar/tab-nav-bar.js +0 -118
  818. package/esm2015/tabs/tab.component.js +0 -133
  819. package/esm2015/tabs/tabs.module.js +0 -104
  820. package/esm2015/tags/tag-input.js +0 -229
  821. package/esm2015/tags/tag-list.component.js +0 -732
  822. package/esm2015/tags/tag.component.js +0 -382
  823. package/esm2015/tags/tag.module.js +0 -56
  824. package/esm2015/textarea/textarea.component.js +0 -268
  825. package/esm2015/textarea/textarea.module.js +0 -21
  826. package/esm2015/timepicker/timepicker.directive.js +0 -652
  827. package/esm2015/timepicker/timepicker.module.js +0 -34
  828. package/esm2015/toggle/toggle.component.js +0 -169
  829. package/esm2015/toggle/toggle.module.js +0 -20
  830. package/esm2015/tooltip/tooltip.component.js +0 -299
  831. package/esm2015/tooltip/tooltip.module.js +0 -43
  832. package/esm2015/tree/data-source/flat-data-source.js +0 -162
  833. package/esm2015/tree/node.js +0 -31
  834. package/esm2015/tree/outlet.js +0 -15
  835. package/esm2015/tree/padding.directive.js +0 -111
  836. package/esm2015/tree/toggle.js +0 -89
  837. package/esm2015/tree/tree-base.js +0 -243
  838. package/esm2015/tree/tree-option.component.js +0 -238
  839. package/esm2015/tree/tree-selection.component.js +0 -541
  840. package/esm2015/tree/tree.js +0 -23
  841. package/esm2015/tree/tree.module.js +0 -53
  842. package/esm2015/tree-select/tree-select.component.js +0 -900
  843. package/esm2015/tree-select/tree-select.module.js +0 -43
  844. package/fesm2015/ptsecurity-mosaic-autocomplete.js +0 -761
  845. package/fesm2015/ptsecurity-mosaic-autocomplete.js.map +0 -1
  846. package/fesm2015/ptsecurity-mosaic-button-toggle.js +0 -391
  847. package/fesm2015/ptsecurity-mosaic-button-toggle.js.map +0 -1
  848. package/fesm2015/ptsecurity-mosaic-button.js +0 -174
  849. package/fesm2015/ptsecurity-mosaic-button.js.map +0 -1
  850. package/fesm2015/ptsecurity-mosaic-card.js +0 -121
  851. package/fesm2015/ptsecurity-mosaic-card.js.map +0 -1
  852. package/fesm2015/ptsecurity-mosaic-checkbox.js +0 -374
  853. package/fesm2015/ptsecurity-mosaic-checkbox.js.map +0 -1
  854. package/fesm2015/ptsecurity-mosaic-core.js +0 -2682
  855. package/fesm2015/ptsecurity-mosaic-core.js.map +0 -1
  856. package/fesm2015/ptsecurity-mosaic-datepicker.js +0 -2731
  857. package/fesm2015/ptsecurity-mosaic-datepicker.js.map +0 -1
  858. package/fesm2015/ptsecurity-mosaic-design-tokens.js +0 -937
  859. package/fesm2015/ptsecurity-mosaic-design-tokens.js.map +0 -1
  860. package/fesm2015/ptsecurity-mosaic-divider.js +0 -68
  861. package/fesm2015/ptsecurity-mosaic-divider.js.map +0 -1
  862. package/fesm2015/ptsecurity-mosaic-dropdown.js +0 -1101
  863. package/fesm2015/ptsecurity-mosaic-dropdown.js.map +0 -1
  864. package/fesm2015/ptsecurity-mosaic-form-field.js +0 -396
  865. package/fesm2015/ptsecurity-mosaic-form-field.js.map +0 -1
  866. package/fesm2015/ptsecurity-mosaic-icon.js +0 -93
  867. package/fesm2015/ptsecurity-mosaic-icon.js.map +0 -1
  868. package/fesm2015/ptsecurity-mosaic-input.js +0 -605
  869. package/fesm2015/ptsecurity-mosaic-input.js.map +0 -1
  870. package/fesm2015/ptsecurity-mosaic-link.js +0 -137
  871. package/fesm2015/ptsecurity-mosaic-link.js.map +0 -1
  872. package/fesm2015/ptsecurity-mosaic-list.js +0 -827
  873. package/fesm2015/ptsecurity-mosaic-list.js.map +0 -1
  874. package/fesm2015/ptsecurity-mosaic-modal.js +0 -838
  875. package/fesm2015/ptsecurity-mosaic-modal.js.map +0 -1
  876. package/fesm2015/ptsecurity-mosaic-navbar.js +0 -539
  877. package/fesm2015/ptsecurity-mosaic-navbar.js.map +0 -1
  878. package/fesm2015/ptsecurity-mosaic-popover.js +0 -399
  879. package/fesm2015/ptsecurity-mosaic-popover.js.map +0 -1
  880. package/fesm2015/ptsecurity-mosaic-progress-bar.js +0 -84
  881. package/fesm2015/ptsecurity-mosaic-progress-bar.js.map +0 -1
  882. package/fesm2015/ptsecurity-mosaic-progress-spinner.js +0 -88
  883. package/fesm2015/ptsecurity-mosaic-progress-spinner.js.map +0 -1
  884. package/fesm2015/ptsecurity-mosaic-radio.js +0 -488
  885. package/fesm2015/ptsecurity-mosaic-radio.js.map +0 -1
  886. package/fesm2015/ptsecurity-mosaic-select.js +0 -1185
  887. package/fesm2015/ptsecurity-mosaic-select.js.map +0 -1
  888. package/fesm2015/ptsecurity-mosaic-sidebar.js +0 -211
  889. package/fesm2015/ptsecurity-mosaic-sidebar.js.map +0 -1
  890. package/fesm2015/ptsecurity-mosaic-sidepanel.js +0 -594
  891. package/fesm2015/ptsecurity-mosaic-sidepanel.js.map +0 -1
  892. package/fesm2015/ptsecurity-mosaic-splitter.js +0 -373
  893. package/fesm2015/ptsecurity-mosaic-splitter.js.map +0 -1
  894. package/fesm2015/ptsecurity-mosaic-table.js +0 -50
  895. package/fesm2015/ptsecurity-mosaic-table.js.map +0 -1
  896. package/fesm2015/ptsecurity-mosaic-tabs.js +0 -1533
  897. package/fesm2015/ptsecurity-mosaic-tabs.js.map +0 -1
  898. package/fesm2015/ptsecurity-mosaic-tags.js +0 -1385
  899. package/fesm2015/ptsecurity-mosaic-tags.js.map +0 -1
  900. package/fesm2015/ptsecurity-mosaic-textarea.js +0 -291
  901. package/fesm2015/ptsecurity-mosaic-textarea.js.map +0 -1
  902. package/fesm2015/ptsecurity-mosaic-timepicker.js +0 -712
  903. package/fesm2015/ptsecurity-mosaic-timepicker.js.map +0 -1
  904. package/fesm2015/ptsecurity-mosaic-toggle.js +0 -191
  905. package/fesm2015/ptsecurity-mosaic-toggle.js.map +0 -1
  906. package/fesm2015/ptsecurity-mosaic-tooltip.js +0 -362
  907. package/fesm2015/ptsecurity-mosaic-tooltip.js.map +0 -1
  908. package/fesm2015/ptsecurity-mosaic-tree-select.js +0 -942
  909. package/fesm2015/ptsecurity-mosaic-tree-select.js.map +0 -1
  910. package/fesm2015/ptsecurity-mosaic-tree.js +0 -1735
  911. package/fesm2015/ptsecurity-mosaic-tree.js.map +0 -1
  912. package/fesm2015/ptsecurity-mosaic.js +0 -4
  913. package/fesm2015/ptsecurity-mosaic.js.map +0 -1
@@ -0,0 +1,229 @@
1
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
2
+ import { Directive, ElementRef, EventEmitter, Inject, Input, Optional, Output, Renderer2, Self } from '@angular/core';
3
+ import { NgControl } from '@angular/forms';
4
+ import { hasModifierKey, ENTER, TAB, SPACE, COMMA } from '@ptsecurity/cdk/keycodes';
5
+ import { MC_TAGS_DEFAULT_OPTIONS } from './tag-default-options';
6
+ import { McTagList } from './tag-list.component';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/forms";
9
+ // Increasing integer for generating unique ids.
10
+ let nextUniqueId = 0;
11
+ /**
12
+ * Directive that adds tag-specific behaviors to an input element inside `<mc-form-field>`.
13
+ * May be placed inside or outside of an `<mc-tag-list>`.
14
+ */
15
+ export class McTagInput {
16
+ constructor(elementRef, renderer, defaultOptions, ngControl) {
17
+ this.elementRef = elementRef;
18
+ this.renderer = renderer;
19
+ this.defaultOptions = defaultOptions;
20
+ this.ngControl = ngControl;
21
+ /** Whether the control is focused. */
22
+ this.focused = false;
23
+ /**
24
+ * The list of key codes that will trigger a tagEnd event.
25
+ *
26
+ * Defaults to `[ENTER]`.
27
+ */
28
+ this.separatorKeyCodes = this.defaultOptions.separatorKeyCodes;
29
+ /** Emitted when a tag is to be added. */
30
+ this.tagEnd = new EventEmitter();
31
+ /** The input's placeholder text. */
32
+ this.placeholder = '';
33
+ /** Unique id for the input. */
34
+ this.id = `mc-tag-list-input-${nextUniqueId++}`;
35
+ this._addOnBlur = true;
36
+ this._disabled = false;
37
+ this.countOfSymbolsForUpdateWidth = 3;
38
+ // tslint:disable-next-line: no-unnecessary-type-assertion
39
+ this.inputElement = this.elementRef.nativeElement;
40
+ this.setDefaultInputWidth();
41
+ }
42
+ /** Register input for tag list */
43
+ set tagList(value) {
44
+ if (value) {
45
+ this._tagList = value;
46
+ this._tagList.registerInput(this);
47
+ }
48
+ }
49
+ /**
50
+ * Whether or not the tagEnd event will be emitted when the input is blurred.
51
+ */
52
+ get addOnBlur() {
53
+ return this._addOnBlur;
54
+ }
55
+ set addOnBlur(value) {
56
+ this._addOnBlur = coerceBooleanProperty(value);
57
+ }
58
+ /** Whether the input is disabled. */
59
+ get disabled() {
60
+ return this._disabled || (this._tagList && this._tagList.disabled);
61
+ }
62
+ set disabled(value) {
63
+ this._disabled = coerceBooleanProperty(value);
64
+ }
65
+ /** Whether the input is empty. */
66
+ get empty() {
67
+ return !this.inputElement.value;
68
+ }
69
+ ngOnChanges() {
70
+ this._tagList.stateChanges.next();
71
+ }
72
+ onKeydown(event) {
73
+ if (!this.inputElement.value) {
74
+ this._tagList.keydown(event);
75
+ }
76
+ if (this.isSeparatorKey(event)) {
77
+ this.emitTagEnd();
78
+ event.preventDefault();
79
+ }
80
+ }
81
+ /** Checks to see if the blur should emit the (tagEnd) event. */
82
+ blur() {
83
+ this.focused = false;
84
+ // Blur the tag list if it is not focused
85
+ if (!this._tagList.focused) {
86
+ this.triggerValidation();
87
+ this._tagList.blur();
88
+ }
89
+ // tslint:disable-next-line: no-unnecessary-type-assertion
90
+ if (this.addOnBlur) {
91
+ this.emitTagEnd();
92
+ }
93
+ this._tagList.stateChanges.next();
94
+ }
95
+ triggerValidation() {
96
+ if (!this.hasControl()) {
97
+ return;
98
+ }
99
+ this.ngControl.statusChanges.emit(this.ngControl.status);
100
+ }
101
+ /** Checks to see if the (tagEnd) event needs to be emitted. */
102
+ emitTagEnd() {
103
+ if (!this.hasControl() || (this.hasControl() && !this.ngControl.invalid)) {
104
+ this.tagEnd.emit({ input: this.inputElement, value: this.inputElement.value });
105
+ this.updateInputWidth();
106
+ }
107
+ }
108
+ onInput() {
109
+ this.updateInputWidth();
110
+ // Let tag list know whenever the value changes.
111
+ this._tagList.stateChanges.next();
112
+ }
113
+ onPaste($event) {
114
+ if (!$event.clipboardData) {
115
+ return;
116
+ }
117
+ const data = $event.clipboardData.getData('text');
118
+ if (data && data.length === 0) {
119
+ return;
120
+ }
121
+ const items = [];
122
+ for (const key of this.separatorKeyCodes) {
123
+ const separator = this.separatorKeyToSymbol(key);
124
+ if (data.search(separator) > -1) {
125
+ items.push(...data.split(separator));
126
+ break;
127
+ }
128
+ }
129
+ if (items.length === 0) {
130
+ items.push(data);
131
+ }
132
+ items.forEach((item) => this.tagEnd.emit({ input: this.inputElement, value: item }));
133
+ this.updateInputWidth();
134
+ $event.preventDefault();
135
+ $event.stopPropagation();
136
+ }
137
+ updateInputWidth() {
138
+ const length = this.inputElement.value.length;
139
+ this.renderer.setStyle(this.inputElement, 'max-width', 0);
140
+ this.oneSymbolWidth = this.inputElement.scrollWidth / length;
141
+ this.renderer.setStyle(this.inputElement, 'max-width', '');
142
+ if (length > this.countOfSymbolsForUpdateWidth) {
143
+ this.renderer.setStyle(this.inputElement, 'width', `${length * this.oneSymbolWidth}px`);
144
+ }
145
+ else {
146
+ this.setDefaultInputWidth();
147
+ }
148
+ }
149
+ onFocus() {
150
+ this.focused = true;
151
+ this._tagList.stateChanges.next();
152
+ }
153
+ /** Focuses the input. */
154
+ focus() {
155
+ this.inputElement.focus();
156
+ }
157
+ separatorKeyToSymbol(k) {
158
+ const sep = {
159
+ [ENTER]: /\r?\n/,
160
+ [TAB]: /\t/,
161
+ [SPACE]: / /,
162
+ [COMMA]: /,/
163
+ }[k];
164
+ if (sep) {
165
+ return sep;
166
+ }
167
+ return k;
168
+ }
169
+ hasControl() {
170
+ return !!this.ngControl;
171
+ }
172
+ setDefaultInputWidth() {
173
+ this.renderer.setStyle(this.inputElement, 'width', '30px');
174
+ }
175
+ /** Checks whether a keycode is one of the configured separators. */
176
+ isSeparatorKey(event) {
177
+ if (hasModifierKey(event)) {
178
+ return false;
179
+ }
180
+ // tslint:disable-next-line: deprecation
181
+ return this.separatorKeyCodes.indexOf(event.keyCode) > -1;
182
+ }
183
+ }
184
+ /** @nocollapse */ /** @nocollapse */ McTagInput.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: McTagInput, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: MC_TAGS_DEFAULT_OPTIONS }, { token: i1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive });
185
+ /** @nocollapse */ /** @nocollapse */ McTagInput.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: McTagInput, selector: "input[mcTagInputFor]", inputs: { separatorKeyCodes: ["mcTagInputSeparatorKeyCodes", "separatorKeyCodes"], placeholder: "placeholder", id: "id", tagList: ["mcTagInputFor", "tagList"], addOnBlur: ["mcTagInputAddOnBlur", "addOnBlur"], disabled: "disabled" }, outputs: { tagEnd: "mcTagInputTokenEnd" }, host: { listeners: { "keydown": "onKeydown($event)", "blur": "blur()", "focus": "onFocus()", "input": "onInput()", "paste": "onPaste($event)" }, properties: { "id": "id", "attr.disabled": "disabled || null", "attr.placeholder": "placeholder || null" }, classAttribute: "mc-tag-input" }, exportAs: ["mcTagInput", "mcTagInputFor"], usesOnChanges: true, ngImport: i0 });
186
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: McTagInput, decorators: [{
187
+ type: Directive,
188
+ args: [{
189
+ selector: 'input[mcTagInputFor]',
190
+ exportAs: 'mcTagInput, mcTagInputFor',
191
+ host: {
192
+ class: 'mc-tag-input',
193
+ '[id]': 'id',
194
+ '[attr.disabled]': 'disabled || null',
195
+ '[attr.placeholder]': 'placeholder || null',
196
+ '(keydown)': 'onKeydown($event)',
197
+ '(blur)': 'blur()',
198
+ '(focus)': 'onFocus()',
199
+ '(input)': 'onInput()',
200
+ '(paste)': 'onPaste($event)'
201
+ }
202
+ }]
203
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
204
+ type: Inject,
205
+ args: [MC_TAGS_DEFAULT_OPTIONS]
206
+ }] }, { type: i1.NgControl, decorators: [{
207
+ type: Optional
208
+ }, {
209
+ type: Self
210
+ }] }]; }, propDecorators: { separatorKeyCodes: [{
211
+ type: Input,
212
+ args: ['mcTagInputSeparatorKeyCodes']
213
+ }], tagEnd: [{
214
+ type: Output,
215
+ args: ['mcTagInputTokenEnd']
216
+ }], placeholder: [{
217
+ type: Input
218
+ }], id: [{
219
+ type: Input
220
+ }], tagList: [{
221
+ type: Input,
222
+ args: ['mcTagInputFor']
223
+ }], addOnBlur: [{
224
+ type: Input,
225
+ args: ['mcTagInputAddOnBlur']
226
+ }], disabled: [{
227
+ type: Input
228
+ }] } });
229
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLWlucHV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvbW9zYWljL3RhZ3MvdGFnLWlucHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFDSCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUVMLFFBQVEsRUFDUixNQUFNLEVBQ04sU0FBUyxFQUNULElBQUksRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVwRixPQUFPLEVBQUUsdUJBQXVCLEVBQXdCLE1BQU0sdUJBQXVCLENBQUM7QUFDdEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7QUFjakQsZ0RBQWdEO0FBQ2hELElBQUksWUFBWSxHQUFHLENBQUMsQ0FBQztBQUVyQjs7O0dBR0c7QUFrQkgsTUFBTSxPQUFPLFVBQVU7SUF3RW5CLFlBQ1ksVUFBd0MsRUFDeEMsUUFBbUIsRUFDYyxjQUFvQyxFQUNsRCxTQUFvQjtRQUh2QyxlQUFVLEdBQVYsVUFBVSxDQUE4QjtRQUN4QyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ2MsbUJBQWMsR0FBZCxjQUFjLENBQXNCO1FBQ2xELGNBQVMsR0FBVCxTQUFTLENBQVc7UUEzRW5ELHNDQUFzQztRQUN0QyxZQUFPLEdBQVksS0FBSyxDQUFDO1FBRXpCOzs7O1dBSUc7UUFFSCxzQkFBaUIsR0FBYSxJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDO1FBRXBFLHlDQUF5QztRQUV6QyxXQUFNLEdBQWtDLElBQUksWUFBWSxFQUFtQixDQUFDO1FBRTVFLG9DQUFvQztRQUMzQixnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUVsQywrQkFBK0I7UUFDdEIsT0FBRSxHQUFXLHFCQUFxQixZQUFZLEVBQUUsRUFBRSxDQUFDO1FBMEJwRCxlQUFVLEdBQVksSUFBSSxDQUFDO1FBWTNCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFPbkMsaUNBQTRCLEdBQVcsQ0FBQyxDQUFDO1FBYXJDLDBEQUEwRDtRQUMxRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBaUMsQ0FBQztRQUV0RSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBNURELGtDQUFrQztJQUNsQyxJQUNJLE9BQU8sQ0FBQyxLQUFnQjtRQUN4QixJQUFJLEtBQUssRUFBRTtZQUNQLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1lBQ3RCLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3JDO0lBQ0wsQ0FBQztJQUtEOztPQUVHO0lBQ0gsSUFDSSxTQUFTO1FBQ1QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJLFNBQVMsQ0FBQyxLQUFjO1FBQ3hCLElBQUksQ0FBQyxVQUFVLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUlELHFDQUFxQztJQUNyQyxJQUNJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVELElBQUksUUFBUSxDQUFDLEtBQWM7UUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBSUQsa0NBQWtDO0lBQ2xDLElBQUksS0FBSztRQUNMLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQztJQUNwQyxDQUFDO0lBcUJELFdBQVc7UUFDUCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQW9CO1FBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRTtZQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNoQztRQUVELElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUM1QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFFbEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQzFCO0lBQ0wsQ0FBQztJQUVELGdFQUFnRTtJQUNoRSxJQUFJO1FBQ0EsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIseUNBQXlDO1FBQ3pDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRTtZQUN4QixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUV6QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ3hCO1FBRUQsMERBQTBEO1FBQzFELElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNoQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDckI7UUFFRCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsaUJBQWlCO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUFFLE9BQU87U0FBRTtRQUVsQyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQTZDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDOUYsQ0FBQztJQUVELCtEQUErRDtJQUMvRCxVQUFVO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDdEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQy9FLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1NBQzNCO0lBQ0wsQ0FBQztJQUVELE9BQU87UUFDSCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixnREFBZ0Q7UUFDaEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELE9BQU8sQ0FBQyxNQUFzQjtRQUMxQixJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRTtZQUFFLE9BQU87U0FBRTtRQUV0QyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVsRCxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUFFLE9BQU87U0FBRTtRQUUxQyxNQUFNLEtBQUssR0FBYSxFQUFFLENBQUM7UUFFM0IsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDdEMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRWpELElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTtnQkFDN0IsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztnQkFFckMsTUFBTTthQUNUO1NBQ0o7UUFFRCxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ3BCLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDcEI7UUFFRCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFckYsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFFeEIsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3hCLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsZ0JBQWdCO1FBQ1osTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBRTlDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDO1FBQzdELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRTNELElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyw0QkFBNEIsRUFBRTtZQUM1QyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRSxHQUFHLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsQ0FBQztTQUMzRjthQUFNO1lBQ0gsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7U0FDL0I7SUFDTCxDQUFDO0lBRUQsT0FBTztRQUNILElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCx5QkFBeUI7SUFDekIsS0FBSztRQUNELElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVPLG9CQUFvQixDQUFDLENBQUM7UUFDMUIsTUFBTSxHQUFHLEdBQUc7WUFDUixDQUFDLEtBQUssQ0FBQyxFQUFFLE9BQU87WUFDaEIsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJO1lBQ1gsQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFHO1lBQ1osQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFHO1NBQ2YsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVMLElBQUksR0FBRyxFQUFFO1lBQUUsT0FBTyxHQUFHLENBQUM7U0FBRTtRQUV4QixPQUFPLENBQUMsQ0FBQztJQUNiLENBQUM7SUFFTyxVQUFVO1FBQ2QsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUM1QixDQUFDO0lBRU8sb0JBQW9CO1FBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxvRUFBb0U7SUFDNUQsY0FBYyxDQUFDLEtBQW9CO1FBQ3ZDLElBQUksY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQUUsT0FBTyxLQUFLLENBQUM7U0FBRTtRQUU1Qyx3Q0FBd0M7UUFDeEMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM5RCxDQUFDOzs2SUE1TlEsVUFBVSxxRUEyRVAsdUJBQXVCO2lJQTNFMUIsVUFBVTsyRkFBVixVQUFVO2tCQWpCdEIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxJQUFJLEVBQUU7d0JBQ0YsS0FBSyxFQUFFLGNBQWM7d0JBRXJCLE1BQU0sRUFBRSxJQUFJO3dCQUNaLGlCQUFpQixFQUFFLGtCQUFrQjt3QkFDckMsb0JBQW9CLEVBQUUscUJBQXFCO3dCQUUzQyxXQUFXLEVBQUUsbUJBQW1CO3dCQUNoQyxRQUFRLEVBQUUsUUFBUTt3QkFDbEIsU0FBUyxFQUFFLFdBQVc7d0JBQ3RCLFNBQVMsRUFBRSxXQUFXO3dCQUN0QixTQUFTLEVBQUUsaUJBQWlCO3FCQUMvQjtpQkFDSjs7MEJBNEVRLE1BQU07MkJBQUMsdUJBQXVCOzswQkFDOUIsUUFBUTs7MEJBQUksSUFBSTs0Q0FsRXJCLGlCQUFpQjtzQkFEaEIsS0FBSzt1QkFBQyw2QkFBNkI7Z0JBS3BDLE1BQU07c0JBREwsTUFBTTt1QkFBQyxvQkFBb0I7Z0JBSW5CLFdBQVc7c0JBQW5CLEtBQUs7Z0JBR0csRUFBRTtzQkFBVixLQUFLO2dCQUlGLE9BQU87c0JBRFYsS0FBSzt1QkFBQyxlQUFlO2dCQWVsQixTQUFTO3NCQURaLEtBQUs7dUJBQUMscUJBQXFCO2dCQWF4QixRQUFRO3NCQURYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPcHRpb25hbCxcbiAgICBPdXRwdXQsXG4gICAgUmVuZGVyZXIyLFxuICAgIFNlbGZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBoYXNNb2RpZmllcktleSwgRU5URVIsIFRBQiwgU1BBQ0UsIENPTU1BIH0gZnJvbSAnQHB0c2VjdXJpdHkvY2RrL2tleWNvZGVzJztcblxuaW1wb3J0IHsgTUNfVEFHU19ERUZBVUxUX09QVElPTlMsIE1jVGFnc0RlZmF1bHRPcHRpb25zIH0gZnJvbSAnLi90YWctZGVmYXVsdC1vcHRpb25zJztcbmltcG9ydCB7IE1jVGFnTGlzdCB9IGZyb20gJy4vdGFnLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IE1jVGFnVGV4dENvbnRyb2wgfSBmcm9tICcuL3RhZy10ZXh0LWNvbnRyb2wnO1xuXG5cbi8qKiBSZXByZXNlbnRzIGFuIGlucHV0IGV2ZW50IG9uIGEgYG1jVGFnSW5wdXRgLiAqL1xuLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBuYW1pbmctY29udmVudGlvblxuZXhwb3J0IGludGVyZmFjZSBNY1RhZ0lucHV0RXZlbnQge1xuICAgIC8qKiBUaGUgbmF0aXZlIGA8aW5wdXQ+YCBlbGVtZW50IHRoYXQgdGhlIGV2ZW50IGlzIGJlaW5nIGZpcmVkIGZvci4gKi9cbiAgICBpbnB1dDogSFRNTElucHV0RWxlbWVudDtcblxuICAgIC8qKiBUaGUgdmFsdWUgb2YgdGhlIGlucHV0LiAqL1xuICAgIHZhbHVlOiBzdHJpbmc7XG59XG5cbi8vIEluY3JlYXNpbmcgaW50ZWdlciBmb3IgZ2VuZXJhdGluZyB1bmlxdWUgaWRzLlxubGV0IG5leHRVbmlxdWVJZCA9IDA7XG5cbi8qKlxuICogRGlyZWN0aXZlIHRoYXQgYWRkcyB0YWctc3BlY2lmaWMgYmVoYXZpb3JzIHRvIGFuIGlucHV0IGVsZW1lbnQgaW5zaWRlIGA8bWMtZm9ybS1maWVsZD5gLlxuICogTWF5IGJlIHBsYWNlZCBpbnNpZGUgb3Igb3V0c2lkZSBvZiBhbiBgPG1jLXRhZy1saXN0PmAuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnaW5wdXRbbWNUYWdJbnB1dEZvcl0nLFxuICAgIGV4cG9ydEFzOiAnbWNUYWdJbnB1dCwgbWNUYWdJbnB1dEZvcicsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ21jLXRhZy1pbnB1dCcsXG5cbiAgICAgICAgJ1tpZF0nOiAnaWQnLFxuICAgICAgICAnW2F0dHIuZGlzYWJsZWRdJzogJ2Rpc2FibGVkIHx8IG51bGwnLFxuICAgICAgICAnW2F0dHIucGxhY2Vob2xkZXJdJzogJ3BsYWNlaG9sZGVyIHx8IG51bGwnLFxuXG4gICAgICAgICcoa2V5ZG93biknOiAnb25LZXlkb3duKCRldmVudCknLFxuICAgICAgICAnKGJsdXIpJzogJ2JsdXIoKScsXG4gICAgICAgICcoZm9jdXMpJzogJ29uRm9jdXMoKScsXG4gICAgICAgICcoaW5wdXQpJzogJ29uSW5wdXQoKScsXG4gICAgICAgICcocGFzdGUpJzogJ29uUGFzdGUoJGV2ZW50KSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIE1jVGFnSW5wdXQgaW1wbGVtZW50cyBNY1RhZ1RleHRDb250cm9sLCBPbkNoYW5nZXMge1xuICAgIC8qKiBXaGV0aGVyIHRoZSBjb250cm9sIGlzIGZvY3VzZWQuICovXG4gICAgZm9jdXNlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGxpc3Qgb2Yga2V5IGNvZGVzIHRoYXQgd2lsbCB0cmlnZ2VyIGEgdGFnRW5kIGV2ZW50LlxuICAgICAqXG4gICAgICogRGVmYXVsdHMgdG8gYFtFTlRFUl1gLlxuICAgICAqL1xuICAgIEBJbnB1dCgnbWNUYWdJbnB1dFNlcGFyYXRvcktleUNvZGVzJylcbiAgICBzZXBhcmF0b3JLZXlDb2RlczogbnVtYmVyW10gPSB0aGlzLmRlZmF1bHRPcHRpb25zLnNlcGFyYXRvcktleUNvZGVzO1xuXG4gICAgLyoqIEVtaXR0ZWQgd2hlbiBhIHRhZyBpcyB0byBiZSBhZGRlZC4gKi9cbiAgICBAT3V0cHV0KCdtY1RhZ0lucHV0VG9rZW5FbmQnKVxuICAgIHRhZ0VuZDogRXZlbnRFbWl0dGVyPE1jVGFnSW5wdXRFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPE1jVGFnSW5wdXRFdmVudD4oKTtcblxuICAgIC8qKiBUaGUgaW5wdXQncyBwbGFjZWhvbGRlciB0ZXh0LiAqL1xuICAgIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnJztcblxuICAgIC8qKiBVbmlxdWUgaWQgZm9yIHRoZSBpbnB1dC4gKi9cbiAgICBASW5wdXQoKSBpZDogc3RyaW5nID0gYG1jLXRhZy1saXN0LWlucHV0LSR7bmV4dFVuaXF1ZUlkKyt9YDtcblxuICAgIC8qKiBSZWdpc3RlciBpbnB1dCBmb3IgdGFnIGxpc3QgKi9cbiAgICBASW5wdXQoJ21jVGFnSW5wdXRGb3InKVxuICAgIHNldCB0YWdMaXN0KHZhbHVlOiBNY1RhZ0xpc3QpIHtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLl90YWdMaXN0ID0gdmFsdWU7XG4gICAgICAgICAgICB0aGlzLl90YWdMaXN0LnJlZ2lzdGVySW5wdXQodGhpcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5hbWluZy1jb252ZW50aW9uXG4gICAgcHJpdmF0ZSBfdGFnTGlzdDogTWNUYWdMaXN0O1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciBvciBub3QgdGhlIHRhZ0VuZCBldmVudCB3aWxsIGJlIGVtaXR0ZWQgd2hlbiB0aGUgaW5wdXQgaXMgYmx1cnJlZC5cbiAgICAgKi9cbiAgICBASW5wdXQoJ21jVGFnSW5wdXRBZGRPbkJsdXInKVxuICAgIGdldCBhZGRPbkJsdXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hZGRPbkJsdXI7XG4gICAgfVxuXG4gICAgc2V0IGFkZE9uQmx1cih2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9hZGRPbkJsdXIgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2FkZE9uQmx1cjogYm9vbGVhbiA9IHRydWU7XG5cbiAgICAvKiogV2hldGhlciB0aGUgaW5wdXQgaXMgZGlzYWJsZWQuICovXG4gICAgQElucHV0KClcbiAgICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZCB8fCAodGhpcy5fdGFnTGlzdCAmJiB0aGlzLl90YWdMaXN0LmRpc2FibGVkKTtcbiAgICB9XG5cbiAgICBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fZGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciB0aGUgaW5wdXQgaXMgZW1wdHkuICovXG4gICAgZ2V0IGVtcHR5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuaW5wdXRFbGVtZW50LnZhbHVlO1xuICAgIH1cblxuICAgIGNvdW50T2ZTeW1ib2xzRm9yVXBkYXRlV2lkdGg6IG51bWJlciA9IDM7XG5cbiAgICBwcml2YXRlIG9uZVN5bWJvbFdpZHRoOiBudW1iZXI7XG5cbiAgICAvKiogVGhlIG5hdGl2ZSBpbnB1dCBlbGVtZW50IHRvIHdoaWNoIHRoaXMgZGlyZWN0aXZlIGlzIGF0dGFjaGVkLiAqL1xuICAgIHByaXZhdGUgaW5wdXRFbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PixcbiAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBASW5qZWN0KE1DX1RBR1NfREVGQVVMVF9PUFRJT05TKSBwcml2YXRlIGRlZmF1bHRPcHRpb25zOiBNY1RhZ3NEZWZhdWx0T3B0aW9ucyxcbiAgICAgICAgQE9wdGlvbmFsKCkgQFNlbGYoKSBwdWJsaWMgbmdDb250cm9sOiBOZ0NvbnRyb2xcbiAgICApIHtcbiAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBuby11bm5lY2Vzc2FyeS10eXBlLWFzc2VydGlvblxuICAgICAgICB0aGlzLmlucHV0RWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG5cbiAgICAgICAgdGhpcy5zZXREZWZhdWx0SW5wdXRXaWR0aCgpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKCkge1xuICAgICAgICB0aGlzLl90YWdMaXN0LnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gICAgfVxuXG4gICAgb25LZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGlmICghdGhpcy5pbnB1dEVsZW1lbnQudmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuX3RhZ0xpc3Qua2V5ZG93bihldmVudCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5pc1NlcGFyYXRvcktleShldmVudCkpIHtcbiAgICAgICAgICAgIHRoaXMuZW1pdFRhZ0VuZCgpO1xuXG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIENoZWNrcyB0byBzZWUgaWYgdGhlIGJsdXIgc2hvdWxkIGVtaXQgdGhlICh0YWdFbmQpIGV2ZW50LiAqL1xuICAgIGJsdXIoKSB7XG4gICAgICAgIHRoaXMuZm9jdXNlZCA9IGZhbHNlO1xuICAgICAgICAvLyBCbHVyIHRoZSB0YWcgbGlzdCBpZiBpdCBpcyBub3QgZm9jdXNlZFxuICAgICAgICBpZiAoIXRoaXMuX3RhZ0xpc3QuZm9jdXNlZCkge1xuICAgICAgICAgICAgdGhpcy50cmlnZ2VyVmFsaWRhdGlvbigpO1xuXG4gICAgICAgICAgICB0aGlzLl90YWdMaXN0LmJsdXIoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tdW5uZWNlc3NhcnktdHlwZS1hc3NlcnRpb25cbiAgICAgICAgaWYgKHRoaXMuYWRkT25CbHVyKSB7XG4gICAgICAgICAgICB0aGlzLmVtaXRUYWdFbmQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX3RhZ0xpc3Quc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgICB9XG5cbiAgICB0cmlnZ2VyVmFsaWRhdGlvbigpIHtcbiAgICAgICAgaWYgKCF0aGlzLmhhc0NvbnRyb2woKSkgeyByZXR1cm47IH1cblxuICAgICAgICAodGhpcy5uZ0NvbnRyb2wuc3RhdHVzQ2hhbmdlcyBhcyBFdmVudEVtaXR0ZXI8c3RyaW5nIHwgbnVsbD4pLmVtaXQodGhpcy5uZ0NvbnRyb2wuc3RhdHVzKTtcbiAgICB9XG5cbiAgICAvKiogQ2hlY2tzIHRvIHNlZSBpZiB0aGUgKHRhZ0VuZCkgZXZlbnQgbmVlZHMgdG8gYmUgZW1pdHRlZC4gKi9cbiAgICBlbWl0VGFnRW5kKCkge1xuICAgICAgICBpZiAoIXRoaXMuaGFzQ29udHJvbCgpIHx8ICh0aGlzLmhhc0NvbnRyb2woKSAmJiAhdGhpcy5uZ0NvbnRyb2wuaW52YWxpZCkpIHtcbiAgICAgICAgICAgIHRoaXMudGFnRW5kLmVtaXQoeyBpbnB1dDogdGhpcy5pbnB1dEVsZW1lbnQsIHZhbHVlOiB0aGlzLmlucHV0RWxlbWVudC52YWx1ZSB9KTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlSW5wdXRXaWR0aCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25JbnB1dCgpIHtcbiAgICAgICAgdGhpcy51cGRhdGVJbnB1dFdpZHRoKCk7XG4gICAgICAgIC8vIExldCB0YWcgbGlzdCBrbm93IHdoZW5ldmVyIHRoZSB2YWx1ZSBjaGFuZ2VzLlxuICAgICAgICB0aGlzLl90YWdMaXN0LnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gICAgfVxuXG4gICAgb25QYXN0ZSgkZXZlbnQ6IENsaXBib2FyZEV2ZW50KSB7XG4gICAgICAgIGlmICghJGV2ZW50LmNsaXBib2FyZERhdGEpIHsgcmV0dXJuOyB9XG5cbiAgICAgICAgY29uc3QgZGF0YSA9ICRldmVudC5jbGlwYm9hcmREYXRhLmdldERhdGEoJ3RleHQnKTtcblxuICAgICAgICBpZiAoZGF0YSAmJiBkYXRhLmxlbmd0aCA9PT0gMCkgeyByZXR1cm47IH1cblxuICAgICAgICBjb25zdCBpdGVtczogc3RyaW5nW10gPSBbXTtcblxuICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiB0aGlzLnNlcGFyYXRvcktleUNvZGVzKSB7XG4gICAgICAgICAgICBjb25zdCBzZXBhcmF0b3IgPSB0aGlzLnNlcGFyYXRvcktleVRvU3ltYm9sKGtleSk7XG5cbiAgICAgICAgICAgIGlmIChkYXRhLnNlYXJjaChzZXBhcmF0b3IpID4gLTEpIHtcbiAgICAgICAgICAgICAgICBpdGVtcy5wdXNoKC4uLmRhdGEuc3BsaXQoc2VwYXJhdG9yKSk7XG5cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpdGVtcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIGl0ZW1zLnB1c2goZGF0YSk7XG4gICAgICAgIH1cblxuICAgICAgICBpdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB0aGlzLnRhZ0VuZC5lbWl0KHsgaW5wdXQ6IHRoaXMuaW5wdXRFbGVtZW50LCB2YWx1ZTogaXRlbSB9KSk7XG5cbiAgICAgICAgdGhpcy51cGRhdGVJbnB1dFdpZHRoKCk7XG5cbiAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cbiAgICB1cGRhdGVJbnB1dFdpZHRoKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBsZW5ndGggPSB0aGlzLmlucHV0RWxlbWVudC52YWx1ZS5sZW5ndGg7XG5cbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmlucHV0RWxlbWVudCwgJ21heC13aWR0aCcsIDApO1xuICAgICAgICB0aGlzLm9uZVN5bWJvbFdpZHRoID0gdGhpcy5pbnB1dEVsZW1lbnQuc2Nyb2xsV2lkdGggLyBsZW5ndGg7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5pbnB1dEVsZW1lbnQsICdtYXgtd2lkdGgnLCAnJyk7XG5cbiAgICAgICAgaWYgKGxlbmd0aCA+IHRoaXMuY291bnRPZlN5bWJvbHNGb3JVcGRhdGVXaWR0aCkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmlucHV0RWxlbWVudCwgJ3dpZHRoJywgYCR7bGVuZ3RoICogdGhpcy5vbmVTeW1ib2xXaWR0aH1weGApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZXREZWZhdWx0SW5wdXRXaWR0aCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Gb2N1cygpIHtcbiAgICAgICAgdGhpcy5mb2N1c2VkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5fdGFnTGlzdC5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICAgIH1cblxuICAgIC8qKiBGb2N1c2VzIHRoZSBpbnB1dC4gKi9cbiAgICBmb2N1cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbnB1dEVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNlcGFyYXRvcktleVRvU3ltYm9sKGspOiBSZWdFeHAgfCBzdHJpbmcge1xuICAgICAgICBjb25zdCBzZXAgPSB7XG4gICAgICAgICAgICBbRU5URVJdOiAvXFxyP1xcbi8sXG4gICAgICAgICAgICBbVEFCXTogL1xcdC8sXG4gICAgICAgICAgICBbU1BBQ0VdOiAvIC8sXG4gICAgICAgICAgICBbQ09NTUFdOiAvLC9cbiAgICAgICAgfVtrXTtcblxuICAgICAgICBpZiAoc2VwKSB7IHJldHVybiBzZXA7IH1cblxuICAgICAgICByZXR1cm4gaztcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhc0NvbnRyb2woKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMubmdDb250cm9sO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0RGVmYXVsdElucHV0V2lkdGgoKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5pbnB1dEVsZW1lbnQsICd3aWR0aCcsICczMHB4Jyk7XG4gICAgfVxuXG4gICAgLyoqIENoZWNrcyB3aGV0aGVyIGEga2V5Y29kZSBpcyBvbmUgb2YgdGhlIGNvbmZpZ3VyZWQgc2VwYXJhdG9ycy4gKi9cbiAgICBwcml2YXRlIGlzU2VwYXJhdG9yS2V5KGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGlmIChoYXNNb2RpZmllcktleShldmVudCkpIHsgcmV0dXJuIGZhbHNlOyB9XG5cbiAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBkZXByZWNhdGlvblxuICAgICAgICByZXR1cm4gdGhpcy5zZXBhcmF0b3JLZXlDb2Rlcy5pbmRleE9mKGV2ZW50LmtleUNvZGUpID4gLTE7XG4gICAgfVxufVxuIl19