@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
@@ -0,0 +1,31 @@
1
+ import { Directive, Input, TemplateRef } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ /** Context provided to the tree node component. */
4
+ export class McTreeNodeOutletContext {
5
+ constructor(data) {
6
+ this.$implicit = data;
7
+ }
8
+ }
9
+ /**
10
+ * Data node definition for the McTree.
11
+ * Captures the node's template and a when predicate that describes when this node should be used.
12
+ */
13
+ export class McTreeNodeDef {
14
+ /** @docs-private */
15
+ constructor(template) {
16
+ this.template = template;
17
+ }
18
+ }
19
+ /** @nocollapse */ /** @nocollapse */ McTreeNodeDef.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: McTreeNodeDef, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
20
+ /** @nocollapse */ /** @nocollapse */ McTreeNodeDef.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.0", type: McTreeNodeDef, selector: "[mcTreeNodeDef]", inputs: { when: ["mcTreeNodeDefWhen", "when"], data: ["mcTreeNode", "data"] }, ngImport: i0 });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: McTreeNodeDef, decorators: [{
22
+ type: Directive,
23
+ args: [{
24
+ selector: '[mcTreeNodeDef]',
25
+ inputs: ['when: mcTreeNodeDefWhen']
26
+ }]
27
+ }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; }, propDecorators: { data: [{
28
+ type: Input,
29
+ args: ['mcTreeNode']
30
+ }] } });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21vc2FpYy90cmVlL25vZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUc5RCxtREFBbUQ7QUFDbkQsTUFBTSxPQUFPLHVCQUF1QjtJQWFoQyxZQUFZLElBQU87UUFDZixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztJQUMxQixDQUFDO0NBQ0o7QUFFRDs7O0dBR0c7QUFLSCxNQUFNLE9BQU8sYUFBYTtJQVl0QixvQkFBb0I7SUFDcEIsWUFBbUIsUUFBMEI7UUFBMUIsYUFBUSxHQUFSLFFBQVEsQ0FBa0I7SUFBRyxDQUFDOztnSkFieEMsYUFBYTtvSUFBYixhQUFhOzJGQUFiLGFBQWE7a0JBSnpCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsTUFBTSxFQUFFLENBQUMseUJBQXlCLENBQUM7aUJBQ3RDO2tHQUV3QixJQUFJO3NCQUF4QixLQUFLO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5cbi8qKiBDb250ZXh0IHByb3ZpZGVkIHRvIHRoZSB0cmVlIG5vZGUgY29tcG9uZW50LiAqL1xuZXhwb3J0IGNsYXNzIE1jVHJlZU5vZGVPdXRsZXRDb250ZXh0PFQ+IHtcbiAgICAvKiogRGF0YSBmb3IgdGhlIG5vZGUuICovXG4gICAgJGltcGxpY2l0OiBUO1xuXG4gICAgLyoqIERlcHRoIG9mIHRoZSBub2RlLiAqL1xuICAgIGxldmVsOiBudW1iZXI7XG5cbiAgICAvKiogSW5kZXggbG9jYXRpb24gb2YgdGhlIG5vZGUuICovXG4gICAgaW5kZXg/OiBudW1iZXI7XG5cbiAgICAvKiogTGVuZ3RoIG9mIHRoZSBudW1iZXIgb2YgdG90YWwgZGF0YU5vZGVzLiAqL1xuICAgIGNvdW50PzogbnVtYmVyO1xuXG4gICAgY29uc3RydWN0b3IoZGF0YTogVCkge1xuICAgICAgICB0aGlzLiRpbXBsaWNpdCA9IGRhdGE7XG4gICAgfVxufVxuXG4vKipcbiAqIERhdGEgbm9kZSBkZWZpbml0aW9uIGZvciB0aGUgTWNUcmVlLlxuICogQ2FwdHVyZXMgdGhlIG5vZGUncyB0ZW1wbGF0ZSBhbmQgYSB3aGVuIHByZWRpY2F0ZSB0aGF0IGRlc2NyaWJlcyB3aGVuIHRoaXMgbm9kZSBzaG91bGQgYmUgdXNlZC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbbWNUcmVlTm9kZURlZl0nLFxuICAgIGlucHV0czogWyd3aGVuOiBtY1RyZWVOb2RlRGVmV2hlbiddXG59KVxuZXhwb3J0IGNsYXNzIE1jVHJlZU5vZGVEZWY8VD4ge1xuICAgIEBJbnB1dCgnbWNUcmVlTm9kZScpIGRhdGE6IFQ7XG5cbiAgICAvKipcbiAgICAgKiBGdW5jdGlvbiB0aGF0IHNob3VsZCByZXR1cm4gdHJ1ZSBpZiB0aGlzIG5vZGUgdGVtcGxhdGUgc2hvdWxkIGJlIHVzZWQgZm9yIHRoZSBwcm92aWRlZCBub2RlXG4gICAgICogZGF0YSBhbmQgaW5kZXguIElmIGxlZnQgdW5kZWZpbmVkLCB0aGlzIG5vZGUgd2lsbCBiZSBjb25zaWRlcmVkIHRoZSBkZWZhdWx0IG5vZGUgdGVtcGxhdGUgdG9cbiAgICAgKiB1c2Ugd2hlbiBubyBvdGhlciB3aGVuIGZ1bmN0aW9ucyByZXR1cm4gdHJ1ZSBmb3IgdGhlIGRhdGEuXG4gICAgICogRm9yIGV2ZXJ5IG5vZGUsIHRoZXJlIG11c3QgYmUgYXQgbGVhc3Qgb25lIHdoZW4gZnVuY3Rpb24gdGhhdCBwYXNzZXMgb3IgYW4gdW5kZWZpbmVkIHRvXG4gICAgICogZGVmYXVsdC5cbiAgICAgKi9cbiAgICB3aGVuOiAoaW5kZXg6IG51bWJlciwgbm9kZURhdGE6IFQpID0+IGJvb2xlYW47XG5cbiAgICAvKiogQGRvY3MtcHJpdmF0ZSAqL1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pikge31cbn1cbiJdfQ==
@@ -0,0 +1,15 @@
1
+ import { ChangeDetectorRef, Directive, ViewContainerRef } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class McTreeNodeOutlet {
4
+ constructor(viewContainer, changeDetectorRef) {
5
+ this.viewContainer = viewContainer;
6
+ this.changeDetectorRef = changeDetectorRef;
7
+ }
8
+ }
9
+ /** @nocollapse */ /** @nocollapse */ McTreeNodeOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: McTreeNodeOutlet, deps: [{ token: i0.ViewContainerRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
10
+ /** @nocollapse */ /** @nocollapse */ McTreeNodeOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.0", type: McTreeNodeOutlet, selector: "[mcTreeNodeOutlet]", ngImport: i0 });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: McTreeNodeOutlet, decorators: [{
12
+ type: Directive,
13
+ args: [{ selector: '[mcTreeNodeOutlet]' }]
14
+ }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.ChangeDetectorRef }]; } });
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0bGV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvbW9zYWljL3RyZWUvb3V0bGV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSS9FLE1BQU0sT0FBTyxnQkFBZ0I7SUFDekIsWUFBbUIsYUFBK0IsRUFBUyxpQkFBb0M7UUFBNUUsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBQVMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtJQUFHLENBQUM7O21KQUQxRixnQkFBZ0I7dUlBQWhCLGdCQUFnQjsyRkFBaEIsZ0JBQWdCO2tCQUQ1QixTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLG9CQUFvQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIERpcmVjdGl2ZSwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1ttY1RyZWVOb2RlT3V0bGV0XScgfSlcbmV4cG9ydCBjbGFzcyBNY1RyZWVOb2RlT3V0bGV0IHtcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZiwgcHVibGljIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge31cbn1cbiJdfQ==
@@ -0,0 +1,110 @@
1
+ import { Directionality } from '@angular/cdk/bidi';
2
+ import { coerceNumberProperty } from '@angular/cdk/coercion';
3
+ import { Directive, ElementRef, Input, Optional, Renderer2 } from '@angular/core';
4
+ import { TreeSizePaddingLeft } from '@ptsecurity/mosaic/design-tokens';
5
+ import { Subject } from 'rxjs';
6
+ import { takeUntil } from 'rxjs/operators';
7
+ import { McTreeBase, McTreeNode } from './tree-base';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "./tree-base";
10
+ import * as i2 from "@angular/cdk/bidi";
11
+ /** Regex used to split a string on its CSS units. */
12
+ const cssUnitPattern = /([A-Za-z%]+)$/;
13
+ export class McTreeNodePadding {
14
+ constructor(treeNode, tree, renderer, element, dir) {
15
+ this.treeNode = treeNode;
16
+ this.tree = tree;
17
+ this.renderer = renderer;
18
+ this.element = element;
19
+ this.dir = dir;
20
+ this._indent = 20;
21
+ /** CSS units used for the indentation value. */
22
+ this.indentUnits = 'px';
23
+ this.baseLeftPadding = parseInt(TreeSizePaddingLeft);
24
+ this.iconWidth = 24;
25
+ this.destroyed = new Subject();
26
+ this.dir?.change?.pipe(takeUntil(this.destroyed))
27
+ .subscribe(() => this.setPadding());
28
+ }
29
+ get level() {
30
+ return this._level;
31
+ }
32
+ set level(value) {
33
+ this.setLevelInput(value);
34
+ }
35
+ get indent() {
36
+ return this._indent;
37
+ }
38
+ set indent(indent) {
39
+ this.setIndentInput(indent);
40
+ }
41
+ get leftPadding() {
42
+ return (this.withIcon ? 0 : this.iconWidth) + this.baseLeftPadding;
43
+ }
44
+ ngOnInit() {
45
+ this.withIcon = this.tree.treeControl.isExpandable(this.treeNode.data);
46
+ this.setPadding();
47
+ }
48
+ ngOnDestroy() {
49
+ this.destroyed.next();
50
+ this.destroyed.complete();
51
+ }
52
+ paddingIndent() {
53
+ const nodeLevel = (this.treeNode.data && this.tree.treeControl.getLevel)
54
+ ? this.tree.treeControl.getLevel(this.treeNode.data)
55
+ : 0;
56
+ const level = this.level || nodeLevel;
57
+ return level > 0 ? `${(level * this._indent) + this.leftPadding}px` : `${this.leftPadding}px`;
58
+ }
59
+ /**
60
+ * This has been extracted to a util because of TS 4 and VE.
61
+ * View Engine doesn't support property rename inheritance.
62
+ * TS 4.0 doesn't allow properties to override accessors or vice-versa.
63
+ * @docs-private
64
+ */
65
+ setLevelInput(value) {
66
+ // Set to null as the fallback value so that _setPadding can fall back to the node level if the
67
+ // consumer set the directive as `mcTreeNodePadding=""`. We still want to take this value if
68
+ // they set 0 explicitly.
69
+ this._level = coerceNumberProperty(value, null);
70
+ this.setPadding();
71
+ }
72
+ /**
73
+ * This has been extracted to a util because of TS 4 and VE.
74
+ * View Engine doesn't support property rename inheritance.
75
+ * TS 4.0 doesn't allow properties to override accessors or vice-versa.
76
+ * @docs-private
77
+ */
78
+ setIndentInput(indent) {
79
+ let value = indent;
80
+ let units = 'px';
81
+ if (typeof indent === 'string') {
82
+ const parts = indent.split(cssUnitPattern);
83
+ value = parts[0];
84
+ units = parts[1] || units;
85
+ }
86
+ this.indentUnits = units;
87
+ this._indent = coerceNumberProperty(value);
88
+ this.setPadding();
89
+ }
90
+ setPadding() {
91
+ const padding = this.paddingIndent();
92
+ const paddingProp = this.dir?.value === 'rtl' ? 'paddingRight' : 'paddingLeft';
93
+ this.renderer.setStyle(this.element.nativeElement, paddingProp, padding);
94
+ }
95
+ }
96
+ /** @nocollapse */ /** @nocollapse */ McTreeNodePadding.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: McTreeNodePadding, deps: [{ token: i1.McTreeNode }, { token: i1.McTreeBase }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i2.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
97
+ /** @nocollapse */ /** @nocollapse */ McTreeNodePadding.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.0", type: McTreeNodePadding, selector: "[mcTreeNodePadding]", inputs: { indent: ["mcTreeNodePaddingIndent", "indent"] }, exportAs: ["mcTreeNodePadding"], ngImport: i0 });
98
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: McTreeNodePadding, decorators: [{
99
+ type: Directive,
100
+ args: [{
101
+ selector: '[mcTreeNodePadding]',
102
+ exportAs: 'mcTreeNodePadding'
103
+ }]
104
+ }], ctorParameters: function () { return [{ type: i1.McTreeNode }, { type: i1.McTreeBase }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i2.Directionality, decorators: [{
105
+ type: Optional
106
+ }] }]; }, propDecorators: { indent: [{
107
+ type: Input,
108
+ args: ['mcTreeNodePaddingIndent']
109
+ }] } });
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFkZGluZy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9tb3NhaWMvdHJlZS9wYWRkaW5nLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0QsT0FBTyxFQUNILFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUdMLFFBQVEsRUFDUixTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7QUFHckQscURBQXFEO0FBQ3JELE1BQU0sY0FBYyxHQUFHLGVBQWUsQ0FBQztBQU92QyxNQUFNLE9BQU8saUJBQWlCO0lBb0MxQixZQUNjLFFBQXVCLEVBQ3ZCLElBQW1CLEVBQ3JCLFFBQW1CLEVBQ25CLE9BQWdDLEVBQ3BCLEdBQW1CO1FBSjdCLGFBQVEsR0FBUixRQUFRLENBQWU7UUFDdkIsU0FBSSxHQUFKLElBQUksQ0FBZTtRQUNyQixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLFlBQU8sR0FBUCxPQUFPLENBQXlCO1FBQ3BCLFFBQUcsR0FBSCxHQUFHLENBQWdCO1FBckJuQyxZQUFPLEdBQVcsRUFBRSxDQUFDO1FBTTdCLGdEQUFnRDtRQUNoRCxnQkFBVyxHQUFHLElBQUksQ0FBQztRQUVuQixvQkFBZSxHQUFXLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBR3hELGNBQVMsR0FBVyxFQUFFLENB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R0FBRyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVPLFVBQVU7UUFDZCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQztRQUUvRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDN0UsQ0FBQzs7b0pBNUdRLGlCQUFpQjt3SUFBakIsaUJBQWlCOzJGQUFqQixpQkFBaUI7a0JBSjdCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsUUFBUSxFQUFFLG1CQUFtQjtpQkFDaEM7OzBCQTBDUSxRQUFROzRDQTdCVCxNQUFNO3NCQURULEtBQUs7dUJBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aW9uYWxpdHkgfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XG5pbXBvcnQgeyBjb2VyY2VOdW1iZXJQcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge1xuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3B0aW9uYWwsXG4gICAgUmVuZGVyZXIyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJlZVNpemVQYWRkaW5nTGVmdCB9IGZyb20gJ0BwdHNlY3VyaXR5L21vc2FpYy9kZXNpZ24tdG9rZW5zJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgTWNUcmVlQmFzZSwgTWNUcmVlTm9kZSB9IGZyb20gJy4vdHJlZS1iYXNlJztcblxuXG4vKiogUmVnZXggdXNlZCB0byBzcGxpdCBhIHN0cmluZyBvbiBpdHMgQ1NTIHVuaXRzLiAqL1xuY29uc3QgY3NzVW5pdFBhdHRlcm4gPSAvKFtBLVphLXolXSspJC87XG5cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbbWNUcmVlTm9kZVBhZGRpbmddJyxcbiAgICBleHBvcnRBczogJ21jVHJlZU5vZGVQYWRkaW5nJ1xufSlcbmV4cG9ydCBjbGFzcyBNY1RyZWVOb2RlUGFkZGluZzxUPiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBnZXQgbGV2ZWwoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xldmVsO1xuICAgIH1cblxuICAgIHNldCBsZXZlbCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc2V0TGV2ZWxJbnB1dCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfbGV2ZWw6IG51bWJlcjtcblxuICAgIEBJbnB1dCgnbWNUcmVlTm9kZVBhZGRpbmdJbmRlbnQnKVxuICAgIGdldCBpbmRlbnQoKTogbnVtYmVyIHwgc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2luZGVudDtcbiAgICB9XG5cbiAgICBzZXQgaW5kZW50KGluZGVudDogbnVtYmVyIHwgc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc2V0SW5kZW50SW5wdXQoaW5kZW50KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9pbmRlbnQ6IG51bWJlciA9IDIwO1xuXG4gICAgZ2V0IGxlZnRQYWRkaW5nKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAodGhpcy53aXRoSWNvbiA/IDAgOiB0aGlzLmljb25XaWR0aCkgKyB0aGlzLmJhc2VMZWZ0UGFkZGluZztcbiAgICB9XG5cbiAgICAvKiogQ1NTIHVuaXRzIHVzZWQgZm9yIHRoZSBpbmRlbnRhdGlvbiB2YWx1ZS4gKi9cbiAgICBpbmRlbnRVbml0cyA9ICdweCc7XG5cbiAgICBiYXNlTGVmdFBhZGRpbmc6IG51bWJlciA9IHBhcnNlSW50KFRyZWVTaXplUGFkZGluZ0xlZnQpO1xuXG4gICAgd2l0aEljb246IGJvb2xlYW47XG4gICAgaWNvbldpZHRoOiBudW1iZXIgPSAyNDtcblxuICAgIHByaXZhdGUgZGVzdHJveWVkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgdHJlZU5vZGU6IE1jVHJlZU5vZGU8VD4sXG4gICAgICAgIHByb3RlY3RlZCB0cmVlOiBNY1RyZWVCYXNlPFQ+LFxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgZGlyOiBEaXJlY3Rpb25hbGl0eVxuICAgICkge1xuICAgICAgICB0aGlzLmRpcj8uY2hhbmdlPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuc2V0UGFkZGluZygpKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy53aXRoSWNvbiA9IHRoaXMudHJlZS50cmVlQ29udHJvbC5pc0V4cGFuZGFibGUodGhpcy50cmVlTm9kZS5kYXRhKTtcblxuICAgICAgICB0aGlzLnNldFBhZGRpbmcoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5kZXN0cm95ZWQubmV4dCgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3llZC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHBhZGRpbmdJbmRlbnQoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IG5vZGVMZXZlbCA9ICh0aGlzLnRyZWVOb2RlLmRhdGEgJiYgdGhpcy50cmVlLnRyZWVDb250cm9sLmdldExldmVsKVxuICAgICAgICAgICAgPyB0aGlzLnRyZWUudHJlZUNvbnRyb2wuZ2V0TGV2ZWwodGhpcy50cmVlTm9kZS5kYXRhKVxuICAgICAgICAgICAgOiAwO1xuXG4gICAgICAgIGNvbnN0IGxldmVsID0gdGhpcy5sZXZlbCB8fCBub2RlTGV2ZWw7XG5cbiAgICAgICAgcmV0dXJuIGxldmVsID4gMCA/IGAkeyhsZXZlbCAqIHRoaXMuX2luZGVudCkgKyB0aGlzLmxlZnRQYWRkaW5nfXB4YCA6IGAke3RoaXMubGVmdFBhZGRpbmd9cHhgO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgaGFzIGJlZW4gZXh0cmFjdGVkIHRvIGEgdXRpbCBiZWNhdXNlIG9mIFRTIDQgYW5kIFZFLlxuICAgICAqIFZpZXcgRW5naW5lIGRvZXNuJ3Qgc3VwcG9ydCBwcm9wZXJ0eSByZW5hbWUgaW5oZXJpdGFuY2UuXG4gICAgICogVFMgNC4wIGRvZXNuJ3QgYWxsb3cgcHJvcGVydGllcyB0byBvdmVycmlkZSBhY2Nlc3NvcnMgb3IgdmljZS12ZXJzYS5cbiAgICAgKiBAZG9jcy1wcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBzZXRMZXZlbElucHV0KHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgLy8gU2V0IHRvIG51bGwgYXMgdGhlIGZhbGxiYWNrIHZhbHVlIHNvIHRoYXQgX3NldFBhZGRpbmcgY2FuIGZhbGwgYmFjayB0byB0aGUgbm9kZSBsZXZlbCBpZiB0aGVcbiAgICAgICAgLy8gY29uc3VtZXIgc2V0IHRoZSBkaXJlY3RpdmUgYXMgYG1jVHJlZU5vZGVQYWRkaW5nPVwiXCJgLiBXZSBzdGlsbCB3YW50IHRvIHRha2UgdGhpcyB2YWx1ZSBpZlxuICAgICAgICAvLyB0aGV5IHNldCAwIGV4cGxpY2l0bHkuXG4gICAgICAgIHRoaXMuX2xldmVsID0gY29lcmNlTnVtYmVyUHJvcGVydHkodmFsdWUsIG51bGwpITtcbiAgICAgICAgdGhpcy5zZXRQYWRkaW5nKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBoYXMgYmVlbiBleHRyYWN0ZWQgdG8gYSB1dGlsIGJlY2F1c2Ugb2YgVFMgNCBhbmQgVkUuXG4gICAgICogVmlldyBFbmdpbmUgZG9lc24ndCBzdXBwb3J0IHByb3BlcnR5IHJlbmFtZSBpbmhlcml0YW5jZS5cbiAgICAgKiBUUyA0LjAgZG9lc24ndCBhbGxvdyBwcm9wZXJ0aWVzIHRvIG92ZXJyaWRlIGFjY2Vzc29ycyBvciB2aWNlLXZlcnNhLlxuICAgICAqIEBkb2NzLXByaXZhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIHNldEluZGVudElucHV0KGluZGVudDogbnVtYmVyIHwgc3RyaW5nKSB7XG4gICAgICAgIGxldCB2YWx1ZSA9IGluZGVudDtcbiAgICAgICAgbGV0IHVuaXRzID0gJ3B4JztcblxuICAgICAgICBpZiAodHlwZW9mIGluZGVudCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIGNvbnN0IHBhcnRzID0gaW5kZW50LnNwbGl0KGNzc1VuaXRQYXR0ZXJuKTtcbiAgICAgICAgICAgIHZhbHVlID0gcGFydHNbMF07XG4gICAgICAgICAgICB1bml0cyA9IHBhcnRzWzFdIHx8IHVuaXRzO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pbmRlbnRVbml0cyA9IHVuaXRzO1xuICAgICAgICB0aGlzLl9pbmRlbnQgPSBjb2VyY2VOdW1iZXJQcm9wZXJ0eSh2YWx1ZSk7XG4gICAgICAgIHRoaXMuc2V0UGFkZGluZygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0UGFkZGluZygpIHtcbiAgICAgICAgY29uc3QgcGFkZGluZyA9IHRoaXMucGFkZGluZ0luZGVudCgpO1xuICAgICAgICBjb25zdCBwYWRkaW5nUHJvcCA9IHRoaXMuZGlyPy52YWx1ZSA9PT0gJ3J0bCcgPyAncGFkZGluZ1JpZ2h0JyA6ICdwYWRkaW5nTGVmdCc7XG5cbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCwgcGFkZGluZ1Byb3AsIHBhZGRpbmcpO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,80 @@
1
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
2
+ import { ChangeDetectionStrategy, Component, Directive, Input, ViewEncapsulation } from '@angular/core';
3
+ import { mixinDisabled } from '@ptsecurity/mosaic/core';
4
+ import { map } from 'rxjs/operators';
5
+ import { McTreeBase, McTreeNode } from './tree-base';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "./tree-base";
8
+ export class McTreeNodeToggleBase {
9
+ }
10
+ // tslint:disable-next-line:naming-convention
11
+ export const McTreeNodeToggleMixinBase = mixinDisabled(McTreeNodeToggleBase);
12
+ /** @docs-private */
13
+ export class McTreeNodeToggleBaseDirective extends McTreeNodeToggleMixinBase {
14
+ constructor(tree, treeNode) {
15
+ super();
16
+ this.tree = tree;
17
+ this.treeNode = treeNode;
18
+ this._recursive = false;
19
+ this.tree.treeControl.filterValue
20
+ .pipe(map((value) => value?.length > 0))
21
+ .subscribe((state) => this.disabled = state);
22
+ }
23
+ get recursive() {
24
+ return this._recursive;
25
+ }
26
+ set recursive(value) {
27
+ this._recursive = coerceBooleanProperty(value);
28
+ }
29
+ get iconState() {
30
+ return this.tree.treeControl.isExpanded(this.node);
31
+ }
32
+ toggle(event) {
33
+ if (this.disabled) {
34
+ return;
35
+ }
36
+ this.recursive
37
+ ? this.tree.treeControl.toggleDescendants(this.treeNode.data)
38
+ : this.tree.treeControl.toggle(this.treeNode.data);
39
+ event.stopPropagation();
40
+ }
41
+ }
42
+ /** @nocollapse */ /** @nocollapse */ McTreeNodeToggleBaseDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: McTreeNodeToggleBaseDirective, deps: [{ token: i1.McTreeBase }, { token: i1.McTreeNode }], target: i0.ɵɵFactoryTarget.Directive });
43
+ /** @nocollapse */ /** @nocollapse */ McTreeNodeToggleBaseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.0", type: McTreeNodeToggleBaseDirective, inputs: { node: "node", recursive: ["mcTreeNodeToggleRecursive", "recursive"] }, usesInheritance: true, ngImport: i0 });
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: McTreeNodeToggleBaseDirective, decorators: [{
45
+ type: Directive
46
+ }], ctorParameters: function () { return [{ type: i1.McTreeBase }, { type: i1.McTreeNode }]; }, propDecorators: { node: [{
47
+ type: Input
48
+ }], recursive: [{
49
+ type: Input,
50
+ args: ['mcTreeNodeToggleRecursive']
51
+ }] } });
52
+ export class McTreeNodeToggleComponent extends McTreeNodeToggleBaseDirective {
53
+ }
54
+ /** @nocollapse */ /** @nocollapse */ McTreeNodeToggleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: McTreeNodeToggleComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
55
+ /** @nocollapse */ /** @nocollapse */ McTreeNodeToggleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: McTreeNodeToggleComponent, selector: "mc-tree-node-toggle", inputs: { disabled: "disabled" }, host: { listeners: { "click": "toggle($event)" }, properties: { "class.mc-expanded": "iconState", "attr.disabled": "disabled || null" }, classAttribute: "mc-tree-node-toggle" }, exportAs: ["mcTreeNodeToggle"], usesInheritance: true, ngImport: i0, template: `<i class="mc mc-icon mc-angle-down-S_16"></i>`, isInline: true, styles: [".mc-tree-node-toggle{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:100%;cursor:pointer}.mc-tree-node-toggle .mc-icon{transform:rotate(-90deg)}.mc-tree-node-toggle.mc-expanded .mc-icon{transform:rotate(0)}.mc-tree-node-toggle[disabled]{cursor:default}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: McTreeNodeToggleComponent, decorators: [{
57
+ type: Component,
58
+ args: [{ selector: 'mc-tree-node-toggle', exportAs: 'mcTreeNodeToggle', template: `<i class="mc mc-icon mc-angle-down-S_16"></i>`, host: {
59
+ class: 'mc-tree-node-toggle',
60
+ '[class.mc-expanded]': 'iconState',
61
+ '[attr.disabled]': 'disabled || null',
62
+ '(click)': 'toggle($event)'
63
+ }, inputs: ['disabled'], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".mc-tree-node-toggle{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:100%;cursor:pointer}.mc-tree-node-toggle .mc-icon{transform:rotate(-90deg)}.mc-tree-node-toggle.mc-expanded .mc-icon{transform:rotate(0)}.mc-tree-node-toggle[disabled]{cursor:default}\n"] }]
64
+ }] });
65
+ export class McTreeNodeToggleDirective extends McTreeNodeToggleBaseDirective {
66
+ }
67
+ /** @nocollapse */ /** @nocollapse */ McTreeNodeToggleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: McTreeNodeToggleDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
68
+ /** @nocollapse */ /** @nocollapse */ McTreeNodeToggleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.0", type: McTreeNodeToggleDirective, selector: "[mc-tree-node-toggle], [mcTreeNodeToggle]", host: { listeners: { "click": "toggle($event)" }, properties: { "attr.disabled": "disabled || null" } }, exportAs: ["mcTreeNodeToggle"], usesInheritance: true, ngImport: i0 });
69
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: McTreeNodeToggleDirective, decorators: [{
70
+ type: Directive,
71
+ args: [{
72
+ selector: '[mc-tree-node-toggle], [mcTreeNodeToggle]',
73
+ exportAs: 'mcTreeNodeToggle',
74
+ host: {
75
+ '[attr.disabled]': 'disabled || null',
76
+ '(click)': 'toggle($event)'
77
+ }
78
+ }]
79
+ }] });
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvbW9zYWljL3RyZWUvdG9nZ2xlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RyxPQUFPLEVBQThCLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7O0FBR3JELE1BQU0sT0FBTyxvQkFBb0I7Q0FBRztBQUdwQyw2Q0FBNkM7QUFDN0MsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQ2EsYUFBYSxDQUFDLG9CQUFvQixDQUFDLENBQUM7QUFFdkYsb0JBQW9CO0FBRXBCLE1BQU0sT0FBTyw2QkFBaUMsU0FBUSx5QkFBeUI7SUFrQjNFLFlBQW9CLElBQW1CLEVBQVUsUUFBdUI7UUFDcEUsS0FBSyxFQUFFLENBQUM7UUFEUSxTQUFJLEdBQUosSUFBSSxDQUFlO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBZTtRQU5oRSxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBU3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVc7YUFDNUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQzthQUN2QyxTQUFTLENBQUMsQ0FBQyxLQUFjLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQXJCRCxJQUNJLFNBQVM7UUFDVCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQUksU0FBUyxDQUFDLEtBQVU7UUFDcEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBSUQsSUFBSSxTQUFTO1FBQ1QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFVRCxNQUFNLENBQUMsS0FBWTtRQUNmLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUFFLE9BQU87U0FBRTtRQUU5QixJQUFJLENBQUMsU0FBUztZQUNWLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztZQUM3RCxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFdkQsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzVCLENBQUM7O2dLQWxDUSw2QkFBNkI7b0pBQTdCLDZCQUE2QjsyRkFBN0IsNkJBQTZCO2tCQUR6QyxTQUFTOzBIQUVHLElBQUk7c0JBQVosS0FBSztnQkFHRixTQUFTO3NCQURaLEtBQUs7dUJBQUMsMkJBQTJCOztBQW9EdEMsTUFBTSxPQUFPLHlCQUE2QixTQUFRLDZCQUFnQzs7NEpBQXJFLHlCQUF5QjtnSkFBekIseUJBQXlCLHNVQWR4QiwrQ0FBK0M7MkZBY2hELHlCQUF5QjtrQkFqQnJDLFNBQVM7K0JBQ0kscUJBQXFCLFlBQ3JCLGtCQUFrQixZQUNsQiwrQ0FBK0MsUUFFbkQ7d0JBQ0YsS0FBSyxFQUFFLHFCQUFxQjt3QkFDNUIscUJBQXFCLEVBQUUsV0FBVzt3QkFFbEMsaUJBQWlCLEVBQUUsa0JBQWtCO3dCQUVyQyxTQUFTLEVBQUUsZ0JBQWdCO3FCQUM5QixVQUNPLENBQUMsVUFBVSxDQUFDLGlCQUNMLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07O0FBYW5ELE1BQU0sT0FBTyx5QkFBNkIsU0FBUSw2QkFBZ0M7OzRKQUFyRSx5QkFBeUI7Z0pBQXpCLHlCQUF5QjsyRkFBekIseUJBQXlCO2tCQVJyQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSwyQ0FBMkM7b0JBQ3JELFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLElBQUksRUFBRTt3QkFDRixpQkFBaUIsRUFBRSxrQkFBa0I7d0JBQ3JDLFNBQVMsRUFBRSxnQkFBZ0I7cUJBQzlCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIERpcmVjdGl2ZSwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDYW5EaXNhYmxlLCBDYW5EaXNhYmxlQ3RvciwgbWl4aW5EaXNhYmxlZCB9IGZyb20gJ0BwdHNlY3VyaXR5L21vc2FpYy9jb3JlJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgTWNUcmVlQmFzZSwgTWNUcmVlTm9kZSB9IGZyb20gJy4vdHJlZS1iYXNlJztcblxuXG5leHBvcnQgY2xhc3MgTWNUcmVlTm9kZVRvZ2dsZUJhc2Uge31cblxuXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBNY1RyZWVOb2RlVG9nZ2xlTWl4aW5CYXNlOlxuICAgIENhbkRpc2FibGVDdG9yICYgdHlwZW9mIE1jVHJlZU5vZGVUb2dnbGVCYXNlID0gbWl4aW5EaXNhYmxlZChNY1RyZWVOb2RlVG9nZ2xlQmFzZSk7XG5cbi8qKiBAZG9jcy1wcml2YXRlICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBNY1RyZWVOb2RlVG9nZ2xlQmFzZURpcmVjdGl2ZTxUPiBleHRlbmRzIE1jVHJlZU5vZGVUb2dnbGVNaXhpbkJhc2UgaW1wbGVtZW50cyBDYW5EaXNhYmxlIHtcbiAgICBASW5wdXQoKSBub2RlOiBUO1xuXG4gICAgQElucHV0KCdtY1RyZWVOb2RlVG9nZ2xlUmVjdXJzaXZlJylcbiAgICBnZXQgcmVjdXJzaXZlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVjdXJzaXZlO1xuICAgIH1cblxuICAgIHNldCByZWN1cnNpdmUodmFsdWU6IGFueSkge1xuICAgICAgICB0aGlzLl9yZWN1cnNpdmUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3JlY3Vyc2l2ZSA9IGZhbHNlO1xuXG4gICAgZ2V0IGljb25TdGF0ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJlZS50cmVlQ29udHJvbC5pc0V4cGFuZGVkKHRoaXMubm9kZSk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB0cmVlOiBNY1RyZWVCYXNlPFQ+LCBwcml2YXRlIHRyZWVOb2RlOiBNY1RyZWVOb2RlPFQ+KSB7XG4gICAgICAgIHN1cGVyKCk7XG5cbiAgICAgICAgdGhpcy50cmVlLnRyZWVDb250cm9sLmZpbHRlclZhbHVlXG4gICAgICAgICAgICAucGlwZShtYXAoKHZhbHVlKSA9PiB2YWx1ZT8ubGVuZ3RoID4gMCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChzdGF0ZTogYm9vbGVhbikgPT4gdGhpcy5kaXNhYmxlZCA9IHN0YXRlKTtcbiAgICB9XG5cbiAgICB0b2dnbGUoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7IHJldHVybjsgfVxuXG4gICAgICAgIHRoaXMucmVjdXJzaXZlXG4gICAgICAgICAgICA/IHRoaXMudHJlZS50cmVlQ29udHJvbC50b2dnbGVEZXNjZW5kYW50cyh0aGlzLnRyZWVOb2RlLmRhdGEpXG4gICAgICAgICAgICA6IHRoaXMudHJlZS50cmVlQ29udHJvbC50b2dnbGUodGhpcy50cmVlTm9kZS5kYXRhKTtcblxuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG59XG5cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdtYy10cmVlLW5vZGUtdG9nZ2xlJyxcbiAgICBleHBvcnRBczogJ21jVHJlZU5vZGVUb2dnbGUnLFxuICAgIHRlbXBsYXRlOiBgPGkgY2xhc3M9XCJtYyBtYy1pY29uIG1jLWFuZ2xlLWRvd24tU18xNlwiPjwvaT5gLFxuICAgIHN0eWxlVXJsczogWycuL3RvZ2dsZS5zY3NzJ10sXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ21jLXRyZWUtbm9kZS10b2dnbGUnLFxuICAgICAgICAnW2NsYXNzLm1jLWV4cGFuZGVkXSc6ICdpY29uU3RhdGUnLFxuXG4gICAgICAgICdbYXR0ci5kaXNhYmxlZF0nOiAnZGlzYWJsZWQgfHwgbnVsbCcsXG5cbiAgICAgICAgJyhjbGljayknOiAndG9nZ2xlKCRldmVudCknXG4gICAgfSxcbiAgICBpbnB1dHM6IFsnZGlzYWJsZWQnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE1jVHJlZU5vZGVUb2dnbGVDb21wb25lbnQ8VD4gZXh0ZW5kcyBNY1RyZWVOb2RlVG9nZ2xlQmFzZURpcmVjdGl2ZTxUPiB7fVxuXG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW21jLXRyZWUtbm9kZS10b2dnbGVdLCBbbWNUcmVlTm9kZVRvZ2dsZV0nLFxuICAgIGV4cG9ydEFzOiAnbWNUcmVlTm9kZVRvZ2dsZScsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2F0dHIuZGlzYWJsZWRdJzogJ2Rpc2FibGVkIHx8IG51bGwnLFxuICAgICAgICAnKGNsaWNrKSc6ICd0b2dnbGUoJGV2ZW50KSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIE1jVHJlZU5vZGVUb2dnbGVEaXJlY3RpdmU8VD4gZXh0ZW5kcyBNY1RyZWVOb2RlVG9nZ2xlQmFzZURpcmVjdGl2ZTxUPiB7fVxuIl19
@@ -0,0 +1,243 @@
1
+ import { ChangeDetectorRef, ContentChildren, ElementRef, Input, IterableDiffers, QueryList, ViewChild, Inject, forwardRef, Directive } from '@angular/core';
2
+ import { BehaviorSubject, Observable, of as observableOf, Subject } from 'rxjs';
3
+ import { takeUntil } from 'rxjs/operators';
4
+ import { McTreeNodeDef, McTreeNodeOutletContext } from './node';
5
+ import { McTreeNodeOutlet } from './outlet';
6
+ import { getTreeControlMissingError, getTreeMissingMatchingNodeDefError, getTreeMultipleDefaultNodeDefsError, getTreeNoValidDataSourceError } from './tree-errors';
7
+ import * as i0 from "@angular/core";
8
+ export class McTreeBase {
9
+ constructor(differs, changeDetectorRef) {
10
+ this.differs = differs;
11
+ this.changeDetectorRef = changeDetectorRef;
12
+ // TODO(tinayuangao): Setup a listener for scrolling, emit the calculated view to viewChange.
13
+ // Remove the MAX_VALUE in viewChange
14
+ /**
15
+ * Stream containing the latest information on what rows are being displayed on screen.
16
+ * Can be used by the data source to as a heuristic of what data should be provided.
17
+ */
18
+ this.viewChange = new BehaviorSubject({ start: 0, end: Number.MAX_VALUE });
19
+ /** Subject that emits when the component has been destroyed. */
20
+ this.onDestroy = new Subject();
21
+ /** Level of nodes */
22
+ this.levels = new Map();
23
+ }
24
+ /**
25
+ * Provides a stream containing the latest data array to render. Influenced by the tree's
26
+ * stream of view window (what dataNodes are currently on screen).
27
+ * Data source can be an observable of data array, or a dara array to render.
28
+ */
29
+ get dataSource() {
30
+ return this._dataSource;
31
+ }
32
+ set dataSource(dataSource) {
33
+ if (this._dataSource !== dataSource) {
34
+ this.switchDataSource(dataSource);
35
+ }
36
+ }
37
+ ngOnInit() {
38
+ this.dataDiffer = this.differs.find([]).create(this.trackBy);
39
+ if (!this.treeControl) {
40
+ throw getTreeControlMissingError();
41
+ }
42
+ }
43
+ ngOnDestroy() {
44
+ this.nodeOutlet.viewContainer.clear();
45
+ this.onDestroy.next();
46
+ this.onDestroy.complete();
47
+ // tslint:disable-next-line:no-unbound-method
48
+ if (this._dataSource && typeof this.dataSource.disconnect === 'function') {
49
+ this.dataSource.disconnect(this);
50
+ }
51
+ if (this.dataSubscription) {
52
+ this.dataSubscription.unsubscribe();
53
+ this.dataSubscription = null;
54
+ }
55
+ }
56
+ ngAfterContentChecked() {
57
+ const defaultNodeDefs = this.nodeDefs.filter((def) => !def.when);
58
+ if (defaultNodeDefs.length > 1) {
59
+ throw getTreeMultipleDefaultNodeDefsError();
60
+ }
61
+ this.defaultNodeDef = defaultNodeDefs[0];
62
+ if (this.dataSource && this.nodeDefs && !this.dataSubscription) {
63
+ this.observeRenderChanges();
64
+ }
65
+ }
66
+ /** Check for changes made in the data and render each change (node added/removed/moved). */
67
+ renderNodeChanges(data, dataDiffer = this.dataDiffer, viewContainer = this.nodeOutlet.viewContainer, parentData) {
68
+ const changes = dataDiffer.diff(data);
69
+ if (!changes) {
70
+ return;
71
+ }
72
+ changes.forEachOperation((item, adjustedPreviousIndex, currentIndex) => {
73
+ if (item.previousIndex == null) {
74
+ this.insertNode(data[currentIndex], currentIndex, viewContainer, parentData);
75
+ }
76
+ else if (currentIndex == null) {
77
+ viewContainer.remove(adjustedPreviousIndex);
78
+ this.levels.delete(item.item);
79
+ }
80
+ else {
81
+ const view = viewContainer.get(adjustedPreviousIndex);
82
+ viewContainer.move(view, currentIndex);
83
+ }
84
+ });
85
+ this.changeDetectorRef.detectChanges();
86
+ }
87
+ /**
88
+ * Finds the matching node definition that should be used for this node data. If there is only
89
+ * one node definition, it is returned. Otherwise, find the node definition that has a when
90
+ * predicate that returns true with the data. If none return true, return the default node
91
+ * definition.
92
+ */
93
+ getNodeDef(data, i) {
94
+ if (this.nodeDefs.length === 1) {
95
+ return this.nodeDefs.first;
96
+ }
97
+ const nodeDef = this.nodeDefs.find((def) => def.when && def.when(i, data)) || this.defaultNodeDef;
98
+ if (!nodeDef) {
99
+ throw getTreeMissingMatchingNodeDefError();
100
+ }
101
+ return nodeDef;
102
+ }
103
+ /**
104
+ * Create the embedded view for the data node template and place it in the correct index location
105
+ * within the data node view container.
106
+ */
107
+ insertNode(nodeData, index, viewContainer, parentData) {
108
+ const node = this.getNodeDef(nodeData, index);
109
+ // Node context that will be provided to created embedded view
110
+ const context = new McTreeNodeOutletContext(nodeData);
111
+ // If the tree is flat tree, then use the `getLevel` function in flat tree control
112
+ // Otherwise, use the level of parent node.
113
+ if (this.treeControl.getLevel) {
114
+ context.level = this.treeControl.getLevel(nodeData);
115
+ /* tslint:disable-next-line:no-typeof-undefined */
116
+ }
117
+ else if (typeof parentData !== 'undefined' && this.levels.has(parentData)) {
118
+ context.level = this.levels.get(parentData) + 1;
119
+ }
120
+ else {
121
+ context.level = 0;
122
+ }
123
+ this.levels.set(nodeData, context.level);
124
+ // Use default tree nodeOutlet, or nested node's nodeOutlet
125
+ const container = viewContainer ? viewContainer : this.nodeOutlet.viewContainer;
126
+ container.createEmbeddedView(node.template, context, index);
127
+ // Set the data to just created `McTreeNode`.
128
+ // The `McTreeNode` created from `createEmbeddedView` will be saved in static variable
129
+ // `mostRecentTreeNode`. We get it from static variable and pass the node data to it.
130
+ if (McTreeNode.mostRecentTreeNode) {
131
+ McTreeNode.mostRecentTreeNode.data = nodeData;
132
+ }
133
+ }
134
+ /** Set up a subscription for the data provided by the data source. */
135
+ observeRenderChanges() {
136
+ let dataStream;
137
+ // Cannot use `instanceof DataSource` since the data source could be a literal with
138
+ // `connect` function and may not extends DataSource.
139
+ // tslint:disable-next-line:no-unbound-method
140
+ if (typeof this._dataSource.connect === 'function') {
141
+ dataStream = this._dataSource.connect(this);
142
+ }
143
+ else if (this._dataSource instanceof Observable) {
144
+ dataStream = this._dataSource;
145
+ }
146
+ else if (Array.isArray(this._dataSource)) {
147
+ dataStream = observableOf(this._dataSource);
148
+ }
149
+ if (dataStream) {
150
+ this.dataSubscription = dataStream
151
+ .pipe(takeUntil(this.onDestroy))
152
+ .subscribe((data) => this.renderNodeChanges(data));
153
+ }
154
+ else {
155
+ throw getTreeNoValidDataSourceError();
156
+ }
157
+ }
158
+ /**
159
+ * Switch to the provided data source by resetting the data and unsubscribing from the current
160
+ * render change subscription if one exists. If the data source is null, interpret this by
161
+ * clearing the node outlet. Otherwise start listening for new data.
162
+ */
163
+ switchDataSource(dataSource) {
164
+ // tslint:disable-next-line:no-unbound-method
165
+ if (this._dataSource && typeof this._dataSource.disconnect === 'function') {
166
+ this.dataSource.disconnect(this);
167
+ }
168
+ if (this.dataSubscription) {
169
+ this.dataSubscription.unsubscribe();
170
+ this.dataSubscription = null;
171
+ }
172
+ // Remove the all dataNodes if there is now no data source
173
+ if (!dataSource) {
174
+ this.nodeOutlet.viewContainer.clear();
175
+ }
176
+ this._dataSource = dataSource;
177
+ if (this.nodeDefs) {
178
+ this.observeRenderChanges();
179
+ }
180
+ }
181
+ }
182
+ /** @nocollapse */ /** @nocollapse */ McTreeBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: McTreeBase, deps: [{ token: i0.IterableDiffers }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
183
+ /** @nocollapse */ /** @nocollapse */ McTreeBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.0", type: McTreeBase, inputs: { treeControl: "treeControl", trackBy: "trackBy", dataSource: "dataSource" }, queries: [{ propertyName: "nodeDefs", predicate: McTreeNodeDef }], viewQueries: [{ propertyName: "nodeOutlet", first: true, predicate: McTreeNodeOutlet, descendants: true, static: true }], ngImport: i0 });
184
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: McTreeBase, decorators: [{
185
+ type: Directive
186
+ }], ctorParameters: function () { return [{ type: i0.IterableDiffers }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { treeControl: [{
187
+ type: Input
188
+ }], trackBy: [{
189
+ type: Input
190
+ }], nodeOutlet: [{
191
+ type: ViewChild,
192
+ args: [McTreeNodeOutlet, { static: true }]
193
+ }], nodeDefs: [{
194
+ type: ContentChildren,
195
+ args: [McTreeNodeDef]
196
+ }], dataSource: [{
197
+ type: Input
198
+ }] } });
199
+ export class McTreeNode {
200
+ constructor(elementRef, tree) {
201
+ this.elementRef = elementRef;
202
+ this.tree = tree;
203
+ this.destroyed = new Subject();
204
+ McTreeNode.mostRecentTreeNode = this;
205
+ }
206
+ get data() {
207
+ return this._data;
208
+ }
209
+ set data(value) {
210
+ this._data = value;
211
+ }
212
+ get isExpanded() {
213
+ return this.tree.treeControl.isExpanded(this.data);
214
+ }
215
+ get level() {
216
+ return this.tree.treeControl.getLevel ? this.tree.treeControl.getLevel(this._data) : 0;
217
+ }
218
+ ngOnDestroy() {
219
+ this.destroyed.next();
220
+ this.destroyed.complete();
221
+ }
222
+ focus() {
223
+ this.elementRef.nativeElement.focus();
224
+ }
225
+ }
226
+ /**
227
+ * The most recently created `McTreeNode`. We save it in static variable so we can retrieve it
228
+ * in `McTree` and set the data to it.
229
+ */
230
+ McTreeNode.mostRecentTreeNode = null;
231
+ /** @nocollapse */ /** @nocollapse */ McTreeNode.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: McTreeNode, deps: [{ token: i0.ElementRef }, { token: forwardRef(() => McTreeBase) }], target: i0.ɵɵFactoryTarget.Directive });
232
+ /** @nocollapse */ /** @nocollapse */ McTreeNode.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.0", type: McTreeNode, selector: "mc-tree-node", exportAs: ["mcTreeNode"], ngImport: i0 });
233
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: McTreeNode, decorators: [{
234
+ type: Directive,
235
+ args: [{
236
+ selector: 'mc-tree-node',
237
+ exportAs: 'mcTreeNode'
238
+ }]
239
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: McTreeBase, decorators: [{
240
+ type: Inject,
241
+ args: [forwardRef(() => McTreeBase)]
242
+ }] }]; } });
243
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvbW9zYWljL3RyZWUvdHJlZS1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFFSCxpQkFBaUIsRUFDakIsZUFBZSxFQUNmLFVBQVUsRUFDVixLQUFLLEVBR0wsZUFBZSxFQUdmLFNBQVMsRUFDVCxTQUFTLEVBR1QsTUFBTSxFQUNOLFVBQVUsRUFBRSxTQUFTLEVBQ3hCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLEVBQUUsSUFBSSxZQUFZLEVBQUUsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUM5RixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDNUMsT0FBTyxFQUNILDBCQUEwQixFQUMxQixrQ0FBa0MsRUFDbEMsbUNBQW1DLEVBQ25DLDZCQUE2QixFQUNoQyxNQUFNLGVBQWUsQ0FBQzs7QUFJdkIsTUFBTSxPQUFPLFVBQVU7SUEwRG5CLFlBQXNCLE9BQXdCLEVBQVksaUJBQW9DO1FBQXhFLFlBQU8sR0FBUCxPQUFPLENBQWlCO1FBQVksc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQXpDOUYsNkZBQTZGO1FBQzdGLHlDQUF5QztRQUN6Qzs7O1dBR0c7UUFDSCxlQUFVLEdBQUcsSUFBSSxlQUFlLENBQWlDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFLdEcsZ0VBQWdFO1FBQ3hELGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBUXhDLHFCQUFxQjtRQUNiLFdBQU0sR0FBbUIsSUFB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O0lBRUQsS0FBSztRQUNELElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzFDLENBQUM7O0FBeENEOzs7R0FHRztBQUNJLDZCQUFrQixHQUEyQixJQUFLLENBQUE7NklBTGhELFVBQVUsNENBNkJQLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUM7aUlBN0IvQixVQUFVOzJGQUFWLFVBQVU7a0JBSnRCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLFFBQVEsRUFBRSxZQUFZO2lCQUN6QjttRkE4QjBELFVBQVU7MEJBQTVELE1BQU07MkJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbGxlY3Rpb25WaWV3ZXIsIERhdGFTb3VyY2UgfSBmcm9tICdAYW5ndWxhci9jZGsvY29sbGVjdGlvbnMnO1xuaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRDaGVja2VkLFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFbGVtZW50UmVmLFxuICAgIElucHV0LFxuICAgIEl0ZXJhYmxlQ2hhbmdlUmVjb3JkLFxuICAgIEl0ZXJhYmxlRGlmZmVyLFxuICAgIEl0ZXJhYmxlRGlmZmVycyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0NvbnRhaW5lclJlZixcbiAgICBUcmFja0J5RnVuY3Rpb24sXG4gICAgSW5qZWN0LFxuICAgIGZvcndhcmRSZWYsIERpcmVjdGl2ZVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElGb2N1c2FibGVPcHRpb24gfSBmcm9tICdAcHRzZWN1cml0eS9jZGsvYTExeSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIG9mIGFzIG9ic2VydmFibGVPZiwgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFRyZWVDb250cm9sIH0gZnJvbSAnLi9jb250cm9sL3RyZWUtY29udHJvbCc7XG5pbXBvcnQgeyBNY1RyZWVOb2RlRGVmLCBNY1RyZWVOb2RlT3V0bGV0Q29udGV4dCB9IGZyb20gJy4vbm9kZSc7XG5pbXBvcnQgeyBNY1RyZWVOb2RlT3V0bGV0IH0gZnJvbSAnLi9vdXRsZXQnO1xuaW1wb3J0IHtcbiAgICBnZXRUcmVlQ29udHJvbE1pc3NpbmdFcnJvcixcbiAgICBnZXRUcmVlTWlzc2luZ01hdGNoaW5nTm9kZURlZkVycm9yLFxuICAgIGdldFRyZWVNdWx0aXBsZURlZmF1bHROb2RlRGVmc0Vycm9yLFxuICAgIGdldFRyZWVOb1ZhbGlkRGF0YVNvdXJjZUVycm9yXG59IGZyb20gJy4vdHJlZS1lcnJvcnMnO1xuXG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIE1jVHJlZUJhc2U8VD4gaW1wbGVtZW50cyBBZnRlckNvbnRlbnRDaGVja2VkLCBDb2xsZWN0aW9uVmlld2VyLCBPbkRlc3Ryb3ksIE9uSW5pdCB7XG4gICAgQElucHV0KCkgdHJlZUNvbnRyb2w6IFRyZWVDb250cm9sPFQ+O1xuXG4gICAgLyoqXG4gICAgICogVHJhY2tpbmcgZnVuY3Rpb24gdGhhdCB3aWxsIGJlIHVzZWQgdG8gY2hlY2sgdGhlIGRpZmZlcmVuY2VzIGluIGRhdGEgY2hhbmdlcy4gVXNlZCBzaW1pbGFybHlcbiAgICAgKiB0byBgbmdGb3JgIGB0cmFja0J5YCBmdW5jdGlvbi4gT3B0aW1pemUgbm9kZSBvcGVyYXRpb25zIGJ5IGlkZW50aWZ5aW5nIGEgbm9kZSBiYXNlZCBvbiBpdHMgZGF0YVxuICAgICAqIHJlbGF0aXZlIHRvIHRoZSBmdW5jdGlvbiB0byBrbm93IGlmIGEgbm9kZSBzaG91bGQgYmUgYWRkZWQvcmVtb3ZlZC9tb3ZlZC5cbiAgICAgKiBBY2NlcHRzIGEgZnVuY3Rpb24gdGhhdCB0YWtlcyB0d28gcGFyYW1ldGVycywgYGluZGV4YCBhbmQgYGl0ZW1gLlxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRyYWNrQnk6IFRyYWNrQnlGdW5jdGlvbjxUPjtcblxuICAgIC8vIE91dGxldHMgd2l0aGluIHRoZSB0cmVlJ3MgdGVtcGxhdGUgd2hlcmUgdGhlIGRhdGFOb2RlcyB3aWxsIGJlIGluc2VydGVkLlxuICAgIEBWaWV3Q2hpbGQoTWNUcmVlTm9kZU91dGxldCwgeyBzdGF0aWM6IHRydWUgfSkgbm9kZU91dGxldDogTWNUcmVlTm9kZU91dGxldDtcblxuICAgIC8qKiBUaGUgdHJlZSBub2RlIHRlbXBsYXRlIGZvciB0aGUgdHJlZSAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oTWNUcmVlTm9kZURlZikgbm9kZURlZnM6IFF1ZXJ5TGlzdDxNY1RyZWVOb2RlRGVmPFQ+PjtcblxuICAgIC8vIFRPRE8odGluYXl1YW5nYW8pOiBTZXR1cCBhIGxpc3RlbmVyIGZvciBzY3JvbGxpbmcsIGVtaXQgdGhlIGNhbGN1bGF0ZWQgdmlldyB0byB2aWV3Q2hhbmdlLlxuICAgIC8vICAgICBSZW1vdmUgdGhlIE1BWF9WQUxVRSBpbiB2aWV3Q2hhbmdlXG4gICAgLyoqXG4gICAgICogU3RyZWFtIGNvbnRhaW5pbmcgdGhlIGxhdGVzdCBpbmZvcm1hdGlvbiBvbiB3aGF0IHJvd3MgYXJlIGJlaW5nIGRpc3BsYXllZCBvbiBzY3JlZW4uXG4gICAgICogQ2FuIGJlIHVzZWQgYnkgdGhlIGRhdGEgc291cmNlIHRvIGFzIGEgaGV1cmlzdGljIG9mIHdoYXQgZGF0YSBzaG91bGQgYmUgcHJvdmlkZWQuXG4gICAgICovXG4gICAgdmlld0NoYW5nZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8eyBzdGFydDogbnVtYmVyOyBlbmQ6IG51bWJlciB9Pih7IHN0YXJ0OiAwLCBlbmQ6IE51bWJlci5NQVhfVkFMVUUgfSk7XG5cbiAgICAvKiogRGlmZmVyIHVzZWQgdG8gZmluZCB0aGUgY2hhbmdlcyBpbiB0aGUgZGF0YSBwcm92aWRlZCBieSB0aGUgZGF0YSBzb3VyY2UuICovXG4gICAgcHJvdGVjdGVkIGRhdGFEaWZmZXI6IEl0ZXJhYmxlRGlmZmVyPFQ+O1xuXG4gICAgLyoqIFN1YmplY3QgdGhhdCBlbWl0cyB3aGVuIHRoZSBjb21wb25lbnQgaGFzIGJlZW4gZGVzdHJveWVkLiAqL1xuICAgIHByaXZhdGUgb25EZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8qKiBTdG9yZXMgdGhlIG5vZGUgZGVmaW5pdGlvbiB0aGF0IGRvZXMgbm90IGhhdmUgYSB3aGVuIHByZWRpY2F0ZS4gKi9cbiAgICBwcml2YXRlIGRlZmF1bHROb2RlRGVmOiBNY1RyZWVOb2RlRGVmPFQ+IHwgbnVsbDtcblxuICAgIC8qKiBEYXRhIHN1YnNjcmlwdGlvbiAqL1xuICAgIHByaXZhdGUgZGF0YVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgbnVsbDtcblxuICAgIC8qKiBMZXZlbCBvZiBub2RlcyAqL1xuICAgIHByaXZhdGUgbGV2ZWxzOiBNYXA8VCwgbnVtYmVyPiA9IG5ldyBNYXA8VCwgbnVtYmVyPigpO1xuXG4gICAgLyoqXG4gICAgICogUHJvdmlkZXMgYSBzdHJlYW0gY29udGFpbmluZyB0aGUgbGF0ZXN0IGRhdGEgYXJyYXkgdG8gcmVuZGVyLiBJbmZsdWVuY2VkIGJ5IHRoZSB0cmVlJ3NcbiAgICAgKiBzdHJlYW0gb2YgdmlldyB3aW5kb3cgKHdoYXQgZGF0YU5vZGVzIGFyZSBjdXJyZW50bHkgb24gc2NyZWVuKS5cbiAgICAgKiBEYXRhIHNvdXJjZSBjYW4gYmUgYW4gb2JzZXJ2YWJsZSBvZiBkYXRhIGFycmF5LCBvciBhIGRhcmEgYXJyYXkgdG8gcmVuZGVyLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGRhdGFTb3VyY2UoKTogRGF0YVNvdXJjZTxUPiB8IE9ic2VydmFibGU8VFtdPiB8IFRbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kYXRhU291cmNlO1xuICAgIH1cblxuICAgIHNldCBkYXRhU291cmNlKGRhdGFTb3VyY2U6IERhdGFTb3VyY2U8VD4gfCBPYnNlcnZhYmxlPFRbXT4gfCBUW10pIHtcbiAgICAgICAgaWYgKHRoaXMuX2RhdGFTb3VyY2UgIT09IGRhdGFTb3VyY2UpIHtcbiAgICAgICAgICAgIHRoaXMuc3dpdGNoRGF0YVNvdXJjZShkYXRhU291cmNlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2RhdGFTb3VyY2U6IERhdGFTb3VyY2U8VD4gfCBPYnNlcnZhYmxlPFRbXT4gfCBUW107XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgZGlmZmVyczogSXRlcmFibGVEaWZmZXJzLCBwcm90ZWN0ZWQgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuZGF0YURpZmZlciA9IHRoaXMuZGlmZmVycy5maW5kKFtdKS5jcmVhdGUodGhpcy50cmFja0J5KTtcblxuICAgICAgICBpZiAoIXRoaXMudHJlZUNvbnRyb2wpIHtcbiAgICAgICAgICAgIHRocm93IGdldFRyZWVDb250cm9sTWlzc2luZ0Vycm9yKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5ub2RlT3V0bGV0LnZpZXdDb250YWluZXIuY2xlYXIoKTtcblxuICAgICAgICB0aGlzLm9uRGVzdHJveS5uZXh0KCk7XG4gICAgICAgIHRoaXMub25EZXN0cm95LmNvbXBsZXRlKCk7XG5cbiAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLXVuYm91bmQtbWV0aG9kXG4gICAgICAgIGlmICh0aGlzLl9kYXRhU291cmNlICYmIHR5cGVvZiAodGhpcy5kYXRhU291cmNlIGFzIERhdGFTb3VyY2U8VD4pLmRpc2Nvbm5lY3QgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICh0aGlzLmRhdGFTb3VyY2UgYXMgRGF0YVNvdXJjZTxUPikuZGlzY29ubmVjdCh0aGlzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmRhdGFTdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuZGF0YVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgdGhpcy5kYXRhU3Vic2NyaXB0aW9uID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpIHtcbiAgICAgICAgY29uc3QgZGVmYXVsdE5vZGVEZWZzID0gdGhpcy5ub2RlRGVmcy5maWx0ZXIoKGRlZikgPT4gIWRlZi53aGVuKTtcblxuICAgICAgICBpZiAoZGVmYXVsdE5vZGVEZWZzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgIHRocm93IGdldFRyZWVNdWx0aXBsZURlZmF1bHROb2RlRGVmc0Vycm9yKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kZWZhdWx0Tm9kZURlZiA9IGRlZmF1bHROb2RlRGVmc1swXTtcblxuICAgICAgICBpZiAodGhpcy5kYXRhU291cmNlICYmIHRoaXMubm9kZURlZnMgJiYgIXRoaXMuZGF0YVN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy5vYnNlcnZlUmVuZGVyQ2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIENoZWNrIGZvciBjaGFuZ2VzIG1hZGUgaW4gdGhlIGRhdGEgYW5kIHJlbmRlciBlYWNoIGNoYW5nZSAobm9kZSBhZGRlZC9yZW1vdmVkL21vdmVkKS4gKi9cbiAgICByZW5kZXJOb2RlQ2hhbmdlcyhcbiAgICAgICAgZGF0YTogVFtdIHwgUmVhZG9ubHlBcnJheTxUPixcbiAgICAgICAgZGF0YURpZmZlcjogSXRlcmFibGVEaWZmZXI8VD4gPSB0aGlzLmRhdGFEaWZmZXIsXG4gICAgICAgIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYgPSB0aGlzLm5vZGVPdXRsZXQudmlld0NvbnRhaW5lcixcbiAgICAgICAgcGFyZW50RGF0YT86IFRcbiAgICApIHtcbiAgICAgICAgY29uc3QgY2hhbmdlcyA9IGRhdGFEaWZmZXIuZGlmZihkYXRhKTtcblxuICAgICAgICBpZiAoIWNoYW5nZXMpIHsgcmV0dXJuOyB9XG5cbiAgICAgICAgY2hhbmdlcy5mb3JFYWNoT3BlcmF0aW9uKChcbiAgICAgICAgICAgIGl0ZW06IEl0ZXJhYmxlQ2hhbmdlUmVjb3JkPFQ+LFxuICAgICAgICAgICAgYWRqdXN0ZWRQcmV2aW91c0luZGV4OiBudW1iZXIgfCBudWxsLFxuICAgICAgICAgICAgY3VycmVudEluZGV4OiBudW1iZXIgfCBudWxsXG4gICAgICAgICkgPT4ge1xuICAgICAgICAgICAgaWYgKGl0ZW0ucHJldmlvdXNJbmRleCA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbnNlcnROb2RlKGRhdGFbY3VycmVudEluZGV4IV0sIGN1cnJlbnRJbmRleCEsIHZpZXdDb250YWluZXIsIHBhcmVudERhdGEpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChjdXJyZW50SW5kZXggPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHZpZXdDb250YWluZXIucmVtb3ZlKGFkanVzdGVkUHJldmlvdXNJbmRleCEpO1xuICAgICAgICAgICAgICAgIHRoaXMubGV2ZWxzLmRlbGV0ZShpdGVtLml0ZW0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCB2aWV3ID0gdmlld0NvbnRhaW5lci5nZXQoYWRqdXN0ZWRQcmV2aW91c0luZGV4ISk7XG4gICAgICAgICAgICAgICAgdmlld0NvbnRhaW5lci5tb3ZlKHZpZXchLCBjdXJyZW50SW5kZXgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGaW5kcyB0aGUgbWF0Y2hpbmcgbm9kZSBkZWZpbml0aW9uIHRoYXQgc2hvdWxkIGJlIHVzZWQgZm9yIHRoaXMgbm9kZSBkYXRhLiBJZiB0aGVyZSBpcyBvbmx5XG4gICAgICogb25lIG5vZGUgZGVmaW5pdGlvbiwgaXQgaXMgcmV0dXJuZWQuIE90aGVyd2lzZSwgZmluZCB0aGUgbm9kZSBkZWZpbml0aW9uIHRoYXQgaGFzIGEgd2hlblxuICAgICAqIHByZWRpY2F0ZSB0aGF0IHJldHVybnMgdHJ1ZSB3aXRoIHRoZSBkYXRhLiBJZiBub25lIHJldHVybiB0cnVlLCByZXR1cm4gdGhlIGRlZmF1bHQgbm9kZVxuICAgICAqIGRlZmluaXRpb24uXG4gICAgICovXG4gICAgZ2V0Tm9kZURlZihkYXRhOiBULCBpOiBudW1iZXIpOiBNY1RyZWVOb2RlRGVmPFQ+IHtcbiAgICAgICAgaWYgKHRoaXMubm9kZURlZnMubGVuZ3RoID09PSAxKSB7IHJldHVybiB0aGlzLm5vZGVEZWZzLmZpcnN0OyB9XG5cbiAgICAgICAgY29uc3Qgbm9kZURlZiA9IHRoaXMubm9kZURlZnMuZmluZCgoZGVmKSA9PiBkZWYud2hlbiAmJiBkZWYud2hlbihpLCBkYXRhKSkgfHwgdGhpcy5kZWZhdWx0Tm9kZURlZjtcblxuICAgICAgICBpZiAoIW5vZGVEZWYpIHsgdGhyb3cgZ2V0VHJlZU1pc3NpbmdNYXRjaGluZ05vZGVEZWZFcnJvcigpOyB9XG5cbiAgICAgICAgcmV0dXJuIG5vZGVEZWY7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlIHRoZSBlbWJlZGRlZCB2aWV3IGZvciB0aGUgZGF0YSBub2RlIHRlbXBsYXRlIGFuZCBwbGFjZSBpdCBpbiB0aGUgY29ycmVjdCBpbmRleCBsb2NhdGlvblxuICAgICAqIHdpdGhpbiB0aGUgZGF0YSBub2RlIHZpZXcgY29udGFpbmVyLlxuICAgICAqL1xuICAgIGluc2VydE5vZGUobm9kZURhdGE6IFQsIGluZGV4OiBudW1iZXIsIHZpZXdDb250YWluZXI/OiBWaWV3Q29udGFpbmVyUmVmLCBwYXJlbnREYXRhPzogVCkge1xuICAgICAgICBjb25zdCBub2RlID0gdGhpcy5nZXROb2RlRGVmKG5vZGVEYXRhLCBpbmRleCk7XG5cbiAgICAgICAgLy8gTm9kZSBjb250ZXh0IHRoYXQgd2lsbCBiZSBwcm92aWRlZCB0byBjcmVhdGVkIGVtYmVkZGVkIHZpZXdcbiAgICAgICAgY29uc3QgY29udGV4dCA9IG5ldyBNY1RyZWVOb2RlT3V0bGV0Q29udGV4dDxUPihub2RlRGF0YSk7XG5cbiAgICAgICAgLy8gSWYgdGhlIHRyZWUgaXMgZmxhdCB0cmVlLCB0aGVuIHVzZSB0aGUgYGdldExldmVsYCBmdW5jdGlvbiBpbiBmbGF0IHRyZWUgY29udHJvbFxuICAgICAgICAvLyBPdGhlcndpc2UsIHVzZSB0aGUgbGV2ZWwgb2YgcGFyZW50IG5vZGUuXG4gICAgICAgIGlmICh0aGlzLnRyZWVDb250cm9sLmdldExldmVsKSB7XG4gICAgICAgICAgICBjb250ZXh0LmxldmVsID0gdGhpcy50cmVlQ29udHJvbC5nZXRMZXZlbChub2RlRGF0YSk7XG4gICAgICAgICAgICAvKiB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tdHlwZW9mLXVuZGVmaW5lZCAqL1xuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBwYXJlbnREYXRhICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmxldmVscy5oYXMocGFyZW50RGF0YSkpIHtcbiAgICAgICAgICAgIGNvbnRleHQubGV2ZWwgPSB0aGlzLmxldmVscy5nZXQocGFyZW50RGF0YSkhICsgMTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnRleHQubGV2ZWwgPSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5sZXZlbHMuc2V0KG5vZGVEYXRhLCBjb250ZXh0LmxldmVsKTtcblxuICAgICAgICAvLyBVc2UgZGVmYXVsdCB0cmVlIG5vZGVPdXRsZXQsIG9yIG5lc3RlZCBub2RlJ3Mgbm9kZU91dGxldFxuICAgICAgICBjb25zdCBjb250YWluZXIgPSB2aWV3Q29udGFpbmVyID8gdmlld0NvbnRhaW5lciA6IHRoaXMubm9kZU91dGxldC52aWV3Q29udGFpbmVyO1xuICAgICAgICBjb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KG5vZGUudGVtcGxhdGUsIGNvbnRleHQsIGluZGV4KTtcblxuICAgICAgICAvLyBTZXQgdGhlIGRhdGEgdG8ganVzdCBjcmVhdGVkIGBNY1RyZWVOb2RlYC5cbiAgICAgICAgLy8gVGhlIGBNY1RyZWVOb2RlYCBjcmVhdGVkIGZyb20gYGNyZWF0ZUVtYmVkZGVkVmlld2Agd2lsbCBiZSBzYXZlZCBpbiBzdGF0aWMgdmFyaWFibGVcbiAgICAgICAgLy8gICAgIGBtb3N0UmVjZW50VHJlZU5vZGVgLiBXZSBnZXQgaXQgZnJvbSBzdGF0aWMgdmFyaWFibGUgYW5kIHBhc3MgdGhlIG5vZGUgZGF0YSB0byBpdC5cbiAgICAgICAgaWYgKE1jVHJlZU5vZGUubW9zdFJlY2VudFRyZWVOb2RlKSB7XG4gICAgICAgICAgICBNY1RyZWVOb2RlLm1vc3RSZWNlbnRUcmVlTm9kZS5kYXRhID0gbm9kZURhdGE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogU2V0IHVwIGEgc3Vic2NyaXB0aW9uIGZvciB0aGUgZGF0YSBwcm92aWRlZCBieSB0aGUgZGF0YSBzb3VyY2UuICovXG4gICAgcHJpdmF0ZSBvYnNlcnZlUmVuZGVyQ2hhbmdlcygpIHtcbiAgICAgICAgbGV0IGRhdGFTdHJlYW06IE9ic2VydmFibGU8VFtdIHwgUmVhZG9ubHlBcnJheTxUPj4gfCB1bmRlZmluZWQ7XG5cbiAgICAgICAgLy8gQ2Fubm90IHVzZSBgaW5zdGFuY2VvZiBEYXRhU291cmNlYCBzaW5jZSB0aGUgZGF0YSBzb3VyY2UgY291bGQgYmUgYSBsaXRlcmFsIHdpdGhcbiAgICAgICAgLy8gYGNvbm5lY3RgIGZ1bmN0aW9uIGFuZCBtYXkgbm90IGV4dGVuZHMgRGF0YVNvdXJjZS5cbiAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLXVuYm91bmQtbWV0aG9kXG4gICAgICAgIGlmICh0eXBlb2YgKHRoaXMuX2RhdGFTb3VyY2UgYXMgRGF0YVNvdXJjZTxUPikuY29ubmVjdCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgZGF0YVN0cmVhbSA9ICh0aGlzLl9kYXRhU291cmNlIGFzIERhdGFTb3VyY2U8VD4pLmNvbm5lY3QodGhpcyk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5fZGF0YVNvdXJjZSBpbnN0YW5jZW9mIE9ic2VydmFibGUpIHtcbiAgICAgICAgICAgIGRhdGFTdHJlYW0gPSB0aGlzLl9kYXRhU291cmNlO1xuICAgICAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5fZGF0YVNvdXJjZSkpIHtcbiAgICAgICAgICAgIGRhdGFTdHJlYW0gPSBvYnNlcnZhYmxlT2YodGhpcy5fZGF0YVNvdXJjZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZGF0YVN0cmVhbSkge1xuICAgICAgICAgICAgdGhpcy5kYXRhU3Vic2NyaXB0aW9uID0gZGF0YVN0cmVhbVxuICAgICAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSkpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoZGF0YSkgPT4gdGhpcy5yZW5kZXJOb2RlQ2hhbmdlcyhkYXRhKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aHJvdyBnZXRUcmVlTm9WYWxpZERhdGFTb3VyY2VFcnJvcigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU3dpdGNoIHRvIHRoZSBwcm92aWRlZCBkYXRhIHNvdXJjZSBieSByZXNldHRpbmcgdGhlIGRhdGEgYW5kIHVuc3Vic2NyaWJpbmcgZnJvbSB0aGUgY3VycmVudFxuICAgICAqIHJlbmRlciBjaGFuZ2Ugc3Vic2NyaXB0aW9uIGlmIG9uZSBleGlzdHMuIElmIHRoZSBkYXRhIHNvdXJjZSBpcyBudWxsLCBpbnRlcnByZXQgdGhpcyBieVxuICAgICAqIGNsZWFyaW5nIHRoZSBub2RlIG91dGxldC4gT3RoZXJ3aXNlIHN0YXJ0IGxpc3RlbmluZyBmb3IgbmV3IGRhdGEuXG4gICAgICovXG4gICAgcHJpdmF0ZSBzd2l0Y2hEYXRhU291cmNlKGRhdGFTb3VyY2U6IERhdGFTb3VyY2U8VD4gfCBPYnNlcnZhYmxlPFRbXT4gfCBUW10pIHtcbiAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLXVuYm91bmQtbWV0aG9kXG4gICAgICAgIGlmICh0aGlzLl9kYXRhU291cmNlICYmIHR5cGVvZiAodGhpcy5fZGF0YVNvdXJjZSBhcyBEYXRhU291cmNlPFQ+KS5kaXNjb25uZWN0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAodGhpcy5kYXRhU291cmNlIGFzIERhdGFTb3VyY2U8VD4pLmRpc2Nvbm5lY3QodGhpcyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5kYXRhU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmRhdGFTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIHRoaXMuZGF0YVN1YnNjcmlwdGlvbiA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBSZW1vdmUgdGhlIGFsbCBkYXRhTm9kZXMgaWYgdGhlcmUgaXMgbm93IG5vIGRhdGEgc291cmNlXG4gICAgICAgIGlmICghZGF0YVNvdXJjZSkgeyB0aGlzLm5vZGVPdXRsZXQudmlld0NvbnRhaW5lci5jbGVhcigpOyB9XG5cbiAgICAgICAgdGhpcy5fZGF0YVNvdXJjZSA9IGRhdGFTb3VyY2U7XG5cbiAgICAgICAgaWYgKHRoaXMubm9kZURlZnMpIHsgdGhpcy5vYnNlcnZlUmVuZGVyQ2hhbmdlcygpOyB9XG4gICAgfVxufVxuXG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnbWMtdHJlZS1ub2RlJyxcbiAgICBleHBvcnRBczogJ21jVHJlZU5vZGUnXG59KVxuZXhwb3J0IGNsYXNzIE1jVHJlZU5vZGU8VD4gaW1wbGVtZW50cyBJRm9jdXNhYmxlT3B0aW9uLCBPbkRlc3Ryb3kge1xuICAgIC8qKlxuICAgICAqIFRoZSBtb3N0IHJlY2VudGx5IGNyZWF0ZWQgYE1jVHJlZU5vZGVgLiBXZSBzYXZlIGl0IGluIHN0YXRpYyB2YXJpYWJsZSBzbyB3ZSBjYW4gcmV0cmlldmUgaXRcbiAgICAgKiBpbiBgTWNUcmVlYCBhbmQgc2V0IHRoZSBkYXRhIHRvIGl0LlxuICAgICAqL1xuICAgIHN0YXRpYyBtb3N0UmVjZW50VHJlZU5vZGU6IE1jVHJlZU5vZGU8YW55PiB8IG51bGwgPSBudWxsO1xuXG4gICAgcHJvdGVjdGVkIGRlc3Ryb3llZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBnZXQgZGF0YSgpOiBUIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGE7XG4gICAgfVxuXG4gICAgc2V0IGRhdGEodmFsdWU6IFQpIHtcbiAgICAgICAgdGhpcy5fZGF0YSA9IHZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2RhdGE6IFQ7XG5cbiAgICBnZXQgaXNFeHBhbmRlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJlZS50cmVlQ29udHJvbC5pc0V4cGFuZGVkKHRoaXMuZGF0YSk7XG4gICAgfVxuXG4gICAgZ2V0IGxldmVsKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyZWUudHJlZUNvbnRyb2wuZ2V0TGV2ZWwgPyB0aGlzLnRyZWUudHJlZUNvbnRyb2wuZ2V0TGV2ZWwodGhpcy5fZGF0YSkgOiAwO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgQEluamVjdChmb3J3YXJkUmVmKCgpID0+IE1jVHJlZUJhc2UpKSBwdWJsaWMgdHJlZTogTWNUcmVlQmFzZTxUPlxuICAgICkge1xuICAgICAgICBNY1RyZWVOb2RlLm1vc3RSZWNlbnRUcmVlTm9kZSA9IHRoaXM7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuZGVzdHJveWVkLm5leHQoKTtcbiAgICAgICAgdGhpcy5kZXN0cm95ZWQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBmb2N1cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG59XG4iXX0=