@ptsecurity/mosaic 15.6.0 → 16.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (763) hide show
  1. package/_theming.scss +28 -1
  2. package/_visual.scss +3 -1
  3. package/autocomplete/autocomplete-trigger.directive.d.ts +6 -16
  4. package/autocomplete/autocomplete.component.d.ts +1 -1
  5. package/button/button.component.d.ts +1 -1
  6. package/button-toggle/button-toggle.component.d.ts +3 -3
  7. package/card/card.component.d.ts +1 -1
  8. package/checkbox/_checkbox-theme.scss +4 -0
  9. package/checkbox/checkbox-config.d.ts +1 -1
  10. package/checkbox/checkbox.d.ts +1 -1
  11. package/code-block/_code-block-theme.scss +8 -0
  12. package/code-block/actionbar.component.d.ts +1 -1
  13. package/code-block/code-block.component.d.ts +1 -1
  14. package/core/common-behaviors/color.d.ts +1 -1
  15. package/core/common-behaviors/constructor.d.ts +2 -2
  16. package/core/common-behaviors/disabled.d.ts +1 -1
  17. package/core/common-behaviors/error-state.d.ts +1 -1
  18. package/core/common-behaviors/tabindex.d.ts +1 -1
  19. package/core/datetime/date-formats.d.ts +1 -1
  20. package/core/formatters/index.d.ts +1 -1
  21. package/core/formatters/number/formatter.d.ts +55 -0
  22. package/core/label/label-options.d.ts +1 -1
  23. package/core/locales/en-US.d.ts +19 -1
  24. package/core/locales/es-LA.d.ts +27 -0
  25. package/core/locales/fa-IR.d.ts +28 -0
  26. package/core/locales/locale-service.d.ts +148 -3
  27. package/core/locales/pt-BR.d.ts +27 -0
  28. package/core/locales/ru-RU.d.ts +20 -1
  29. package/core/locales/zh-CN.d.ts +26 -0
  30. package/core/option/action.d.ts +1 -1
  31. package/core/option/optgroup.d.ts +1 -1
  32. package/core/option/option.d.ts +37 -8
  33. package/core/overlay/overlay-position-map.d.ts +7 -1
  34. package/core/pop-up/constants.d.ts +2 -1
  35. package/core/selection/pseudo-checkbox/pseudo-checkbox.d.ts +2 -2
  36. package/core/styles/_variables.scss +1 -0
  37. package/core/styles/theming/_theming.scss +1 -0
  38. package/datepicker/calendar-body.component.d.ts +2 -2
  39. package/datepicker/calendar-header.component.d.ts +9 -3
  40. package/datepicker/calendar.component.d.ts +4 -5
  41. package/datepicker/datepicker-input.directive.d.ts +1 -1
  42. package/datepicker/datepicker-toggle.component.d.ts +1 -1
  43. package/datepicker/datepicker.component.d.ts +1 -1
  44. package/datepicker/month-view.component.d.ts +4 -5
  45. package/divider/divider.component.d.ts +1 -1
  46. package/dl/dl.component.d.ts +1 -1
  47. package/dropdown/dropdown-item.component.d.ts +1 -1
  48. package/dropdown/dropdown-trigger.directive.d.ts +1 -1
  49. package/dropdown/dropdown.component.d.ts +1 -1
  50. package/dropdown/dropdown.scss +6 -6
  51. package/dropdown/dropdown.types.d.ts +3 -3
  52. package/ellipsis-center/ellipsis-center.directive.d.ts +1 -1
  53. package/{esm2020 → esm2022}/autocomplete/autocomplete-origin.directive.mjs +4 -4
  54. package/esm2022/autocomplete/autocomplete-trigger.directive.mjs +555 -0
  55. package/{esm2020 → esm2022}/autocomplete/autocomplete.component.mjs +26 -26
  56. package/{esm2020 → esm2022}/autocomplete/autocomplete.module.mjs +10 -10
  57. package/esm2022/button/button.component.mjs +148 -0
  58. package/{esm2020 → esm2022}/button/button.module.mjs +13 -13
  59. package/esm2022/button-toggle/button-toggle.component.mjs +381 -0
  60. package/{esm2020 → esm2022}/button-toggle/button-toggle.module.mjs +5 -5
  61. package/esm2022/card/card.component.mjs +80 -0
  62. package/{esm2020 → esm2022}/card/card.module.mjs +9 -9
  63. package/{esm2020 → esm2022}/checkbox/checkbox-module.mjs +5 -5
  64. package/{esm2020 → esm2022}/checkbox/checkbox-required-validator.mjs +4 -4
  65. package/esm2022/checkbox/checkbox.mjs +300 -0
  66. package/{esm2020 → esm2022}/code-block/actionbar.component.mjs +4 -4
  67. package/esm2022/code-block/code-block.component.mjs +157 -0
  68. package/esm2022/code-block/code-block.module.mjs +60 -0
  69. package/esm2022/core/common-behaviors/color.mjs +33 -0
  70. package/{esm2020 → esm2022}/core/common-behaviors/common-module.mjs +5 -5
  71. package/{esm2020 → esm2022}/core/common-behaviors/disabled.mjs +6 -6
  72. package/{esm2020 → esm2022}/core/common-behaviors/tabindex.mjs +6 -6
  73. package/{esm2020 → esm2022}/core/error/error-options.mjs +7 -7
  74. package/{esm2020 → esm2022}/core/formatters/date/formatter.mjs +4 -4
  75. package/{esm2020 → esm2022}/core/formatters/date/formatter.pipe.mjs +40 -40
  76. package/esm2022/core/formatters/index.mjs +86 -0
  77. package/esm2022/core/formatters/number/formatter.mjs +350 -0
  78. package/{esm2020 → esm2022}/core/forms/forms-module.mjs +7 -7
  79. package/{esm2020 → esm2022}/core/forms/forms.directive.mjs +7 -7
  80. package/{esm2020 → esm2022}/core/highlight/highlight.pipe.mjs +4 -4
  81. package/{esm2020 → esm2022}/core/highlight/index.mjs +5 -5
  82. package/{esm2020 → esm2022}/core/line/line.mjs +8 -8
  83. package/esm2022/core/locales/en-US.mjs +28 -0
  84. package/esm2022/core/locales/es-LA.mjs +35 -0
  85. package/esm2022/core/locales/fa-IR.mjs +34 -0
  86. package/{esm2020 → esm2022}/core/locales/locale-service.mjs +7 -7
  87. package/{esm2020 → esm2022}/core/locales/locale-service.module.mjs +7 -7
  88. package/esm2022/core/locales/pt-BR.mjs +33 -0
  89. package/esm2022/core/locales/ru-RU.mjs +31 -0
  90. package/esm2022/core/locales/zh-CN.mjs +32 -0
  91. package/{esm2020 → esm2022}/core/option/action.mjs +9 -9
  92. package/{esm2020 → esm2022}/core/option/optgroup.mjs +4 -4
  93. package/{esm2020 → esm2022}/core/option/option-module.mjs +5 -5
  94. package/esm2022/core/option/option.mjs +299 -0
  95. package/esm2022/core/overlay/overlay-position-map.mjs +251 -0
  96. package/{esm2020 → esm2022}/core/pop-up/constants.mjs +2 -1
  97. package/esm2022/core/pop-up/pop-up-trigger.mjs +256 -0
  98. package/{esm2020 → esm2022}/core/pop-up/pop-up.mjs +4 -4
  99. package/{esm2020 → esm2022}/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +4 -4
  100. package/{esm2020 → esm2022}/core/selection/pseudo-checkbox/pseudo-checkbox.module.mjs +5 -5
  101. package/esm2022/core/services/measure-scrollbar.service.mjs +48 -0
  102. package/{esm2020 → esm2022}/core/utils/data-size/data-size.pipe.mjs +8 -8
  103. package/{esm2020 → esm2022}/core/version.mjs +2 -2
  104. package/{esm2020 → esm2022}/datepicker/calendar-body.component.mjs +4 -4
  105. package/esm2022/datepicker/calendar-header.component.mjs +135 -0
  106. package/esm2022/datepicker/calendar.component.mjs +166 -0
  107. package/esm2022/datepicker/datepicker-input.directive.mjs +963 -0
  108. package/{esm2020 → esm2022}/datepicker/datepicker-intl.mjs +4 -4
  109. package/{esm2020 → esm2022}/datepicker/datepicker-module.mjs +38 -38
  110. package/esm2022/datepicker/datepicker-toggle.component.mjs +86 -0
  111. package/esm2022/datepicker/datepicker.component.mjs +393 -0
  112. package/esm2022/datepicker/month-view.component.mjs +149 -0
  113. package/{esm2020 → esm2022}/divider/divider.component.mjs +4 -4
  114. package/{esm2020 → esm2022}/divider/divider.module.mjs +5 -5
  115. package/{esm2020 → esm2022}/dl/dl.component.mjs +10 -10
  116. package/{esm2020 → esm2022}/dl/dl.module.mjs +13 -13
  117. package/{esm2020 → esm2022}/dropdown/dropdown-content.directive.mjs +4 -4
  118. package/{esm2020 → esm2022}/dropdown/dropdown-item.component.mjs +6 -6
  119. package/esm2022/dropdown/dropdown-trigger.directive.mjs +489 -0
  120. package/esm2022/dropdown/dropdown.component.mjs +292 -0
  121. package/{esm2020 → esm2022}/dropdown/dropdown.module.mjs +15 -15
  122. package/esm2022/ellipsis-center/ellipsis-center.directive.mjs +106 -0
  123. package/{esm2020 → esm2022}/file-upload/file-drop.mjs +4 -4
  124. package/{esm2020 → esm2022}/file-upload/file-upload.module.mjs +25 -25
  125. package/esm2022/file-upload/multiple-file-upload.component.mjs +165 -0
  126. package/esm2022/file-upload/single-file-upload.component.mjs +134 -0
  127. package/{esm2020 → esm2022}/form-field/cleaner.mjs +4 -4
  128. package/esm2022/form-field/form-field.mjs +267 -0
  129. package/{esm2020 → esm2022}/form-field/form-field.module.mjs +23 -23
  130. package/{esm2020 → esm2022}/form-field/hint.mjs +4 -4
  131. package/esm2022/form-field/password-hint.mjs +149 -0
  132. package/{esm2020 → esm2022}/form-field/prefix.mjs +4 -4
  133. package/{esm2020 → esm2022}/form-field/stepper.mjs +6 -6
  134. package/{esm2020 → esm2022}/form-field/suffix.mjs +4 -4
  135. package/esm2022/form-field/validate.directive.mjs +158 -0
  136. package/{esm2020 → esm2022}/icon/icon.component.mjs +7 -7
  137. package/{esm2020 → esm2022}/icon/icon.module.mjs +11 -11
  138. package/{esm2020 → esm2022}/input/input-number-validators.mjs +7 -7
  139. package/esm2022/input/input-number.mjs +386 -0
  140. package/esm2022/input/input-password.mjs +343 -0
  141. package/esm2022/input/input.mjs +297 -0
  142. package/{esm2020 → esm2022}/input/input.module.mjs +23 -23
  143. package/esm2022/link/link.component.mjs +122 -0
  144. package/{esm2020 → esm2022}/link/link.module.mjs +7 -7
  145. package/esm2022/list/list-selection.component.mjs +705 -0
  146. package/{esm2020 → esm2022}/list/list.component.mjs +7 -7
  147. package/{esm2020 → esm2022}/list/list.module.mjs +20 -20
  148. package/esm2022/loader-overlay/loader-overlay.component.mjs +103 -0
  149. package/{esm2020 → esm2022}/loader-overlay/loader-overlay.module.mjs +17 -17
  150. package/{esm2020 → esm2022}/markdown/markdown.component.mjs +13 -13
  151. package/{esm2020 → esm2022}/markdown/markdown.module.mjs +5 -5
  152. package/{esm2020 → esm2022}/markdown/markdown.service.mjs +4 -4
  153. package/{esm2020 → esm2022}/modal/css-unit.pipe.mjs +4 -4
  154. package/esm2022/modal/modal-control.service.mjs +85 -0
  155. package/esm2022/modal/modal.component.mjs +523 -0
  156. package/{esm2020 → esm2022}/modal/modal.directive.mjs +13 -13
  157. package/esm2022/modal/modal.module.mjs +75 -0
  158. package/esm2022/modal/modal.service.mjs +124 -0
  159. package/esm2022/navbar/navbar-item.component.mjs +606 -0
  160. package/esm2022/navbar/navbar.component.mjs +248 -0
  161. package/{esm2020 → esm2022}/navbar/navbar.module.mjs +37 -37
  162. package/esm2022/navbar/vertical-navbar.component.mjs +117 -0
  163. package/esm2022/popover/popover-confirm.component.mjs +108 -0
  164. package/esm2022/popover/popover.component.mjs +266 -0
  165. package/{esm2020 → esm2022}/popover/popover.module.mjs +8 -8
  166. package/{esm2020 → esm2022}/progress-bar/progress-bar.component.mjs +4 -4
  167. package/{esm2020 → esm2022}/progress-bar/progress-bar.module.mjs +7 -7
  168. package/{esm2020 → esm2022}/progress-spinner/progress-spinner.component.mjs +12 -12
  169. package/{esm2020 → esm2022}/progress-spinner/progress-spinner.module.mjs +7 -7
  170. package/esm2022/radio/radio.component.mjs +457 -0
  171. package/{esm2020 → esm2022}/radio/radio.module.mjs +5 -5
  172. package/esm2022/select/select-option.directive.mjs +65 -0
  173. package/esm2022/select/select.component.mjs +1160 -0
  174. package/{esm2020 → esm2022}/select/select.module.mjs +32 -32
  175. package/esm2022/sidebar/sidebar.component.mjs +146 -0
  176. package/{esm2020 → esm2022}/sidebar/sidebar.module.mjs +9 -9
  177. package/esm2022/sidepanel/sidepanel-container.component.mjs +110 -0
  178. package/{esm2020 → esm2022}/sidepanel/sidepanel-directives.mjs +18 -18
  179. package/{esm2020 → esm2022}/sidepanel/sidepanel.module.mjs +32 -32
  180. package/{esm2020 → esm2022}/sidepanel/sidepanel.service.mjs +10 -10
  181. package/esm2022/splitter/splitter.component.mjs +482 -0
  182. package/{esm2020 → esm2022}/splitter/splitter.module.mjs +12 -12
  183. package/{esm2020 → esm2022}/table/table.component.mjs +4 -4
  184. package/{esm2020 → esm2022}/table/table.module.mjs +9 -9
  185. package/esm2022/tabs/paginated-tab-header.mjs +488 -0
  186. package/esm2022/tabs/tab-body.component.mjs +179 -0
  187. package/{esm2020 → esm2022}/tabs/tab-content.directive.mjs +4 -4
  188. package/esm2022/tabs/tab-group.component.mjs +349 -0
  189. package/{esm2020 → esm2022}/tabs/tab-header.component.mjs +4 -4
  190. package/{esm2020 → esm2022}/tabs/tab-label-wrapper.directive.mjs +4 -4
  191. package/{esm2020 → esm2022}/tabs/tab-label.directive.mjs +4 -4
  192. package/esm2022/tabs/tab-nav-bar/tab-nav-bar.mjs +111 -0
  193. package/{esm2020 → esm2022}/tabs/tab.component.mjs +43 -34
  194. package/{esm2020 → esm2022}/tabs/tabs.module.mjs +42 -42
  195. package/esm2022/tags/tag-input.mjs +250 -0
  196. package/esm2022/tags/tag-list.component.mjs +718 -0
  197. package/esm2022/tags/tag.component.mjs +381 -0
  198. package/esm2022/tags/tag.module.mjs +56 -0
  199. package/esm2022/textarea/textarea.component.mjs +254 -0
  200. package/{esm2020 → esm2022}/textarea/textarea.module.mjs +5 -5
  201. package/esm2022/timepicker/timepicker.directive.mjs +647 -0
  202. package/{esm2020 → esm2022}/timepicker/timepicker.module.mjs +11 -11
  203. package/{esm2020 → esm2022}/timezone/cities-by-filter.pipe.mjs +4 -4
  204. package/esm2022/timezone/timezone-option.component.mjs +48 -0
  205. package/{esm2020 → esm2022}/timezone/timezone-option.directive.mjs +4 -4
  206. package/esm2022/timezone/timezone-select.component.mjs +40 -0
  207. package/{esm2020 → esm2022}/timezone/timezone.module.mjs +29 -29
  208. package/{esm2020 → esm2022}/timezone/utc-offset.pipe.mjs +4 -4
  209. package/esm2022/title/title.directive.mjs +107 -0
  210. package/{esm2020 → esm2022}/title/title.module.mjs +5 -5
  211. package/{esm2020 → esm2022}/toast/toast-container.component.mjs +4 -4
  212. package/esm2022/toast/toast.component.mjs +92 -0
  213. package/esm2022/toast/toast.module.mjs +48 -0
  214. package/esm2022/toast/toast.service.mjs +188 -0
  215. package/esm2022/toggle/toggle.component.mjs +156 -0
  216. package/{esm2020 → esm2022}/toggle/toggle.module.mjs +5 -5
  217. package/esm2022/tooltip/tooltip.component.mjs +299 -0
  218. package/{esm2020 → esm2022}/tooltip/tooltip.module.mjs +14 -14
  219. package/esm2022/tree/data-source/flat-data-source.mjs +162 -0
  220. package/{esm2020 → esm2022}/tree/node.mjs +4 -4
  221. package/{esm2020 → esm2022}/tree/outlet.mjs +4 -4
  222. package/esm2022/tree/padding.directive.mjs +113 -0
  223. package/esm2022/tree/toggle.mjs +81 -0
  224. package/esm2022/tree/tree-base.mjs +243 -0
  225. package/esm2022/tree/tree-option.component.mjs +303 -0
  226. package/esm2022/tree/tree-selection.component.mjs +558 -0
  227. package/{esm2020 → esm2022}/tree/tree.mjs +4 -4
  228. package/{esm2020 → esm2022}/tree/tree.module.mjs +21 -21
  229. package/esm2022/tree-select/tree-select.component.mjs +936 -0
  230. package/{esm2020 → esm2022}/tree-select/tree-select.module.mjs +17 -17
  231. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-autocomplete.mjs +80 -77
  232. package/fesm2022/ptsecurity-mosaic-autocomplete.mjs.map +1 -0
  233. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-button-toggle.mjs +47 -47
  234. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-button-toggle.mjs.map +1 -1
  235. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-button.mjs +25 -25
  236. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-button.mjs.map +1 -1
  237. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-card.mjs +17 -17
  238. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-card.mjs.map +1 -1
  239. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-checkbox.mjs +39 -39
  240. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-checkbox.mjs.map +1 -1
  241. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-code-block.mjs +34 -34
  242. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-code-block.mjs.map +1 -1
  243. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-core.mjs +650 -220
  244. package/fesm2022/ptsecurity-mosaic-core.mjs.map +1 -0
  245. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-datepicker.mjs +343 -351
  246. package/fesm2022/ptsecurity-mosaic-datepicker.mjs.map +1 -0
  247. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-divider.mjs +7 -7
  248. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-divider.mjs.map +1 -1
  249. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-dl.mjs +21 -21
  250. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-dl.mjs.map +1 -1
  251. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-dropdown.mjs +90 -90
  252. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-dropdown.mjs.map +1 -1
  253. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-ellipsis-center.mjs +11 -11
  254. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-ellipsis-center.mjs.map +1 -1
  255. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-file-upload.mjs +55 -47
  256. package/fesm2022/ptsecurity-mosaic-file-upload.mjs.map +1 -0
  257. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-form-field.mjs +87 -84
  258. package/fesm2022/ptsecurity-mosaic-form-field.mjs.map +1 -0
  259. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-icon.mjs +16 -16
  260. package/fesm2022/ptsecurity-mosaic-icon.mjs.map +1 -0
  261. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-input.mjs +383 -167
  262. package/fesm2022/ptsecurity-mosaic-input.mjs.map +1 -0
  263. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-link.mjs +22 -22
  264. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-link.mjs.map +1 -1
  265. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-list.mjs +86 -86
  266. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-list.mjs.map +1 -1
  267. package/fesm2022/ptsecurity-mosaic-loader-overlay.mjs +155 -0
  268. package/{fesm2015 → fesm2022}/ptsecurity-mosaic-loader-overlay.mjs.map +1 -1
  269. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-markdown.mjs +19 -19
  270. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-markdown.mjs.map +1 -1
  271. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-modal.mjs +164 -148
  272. package/fesm2022/ptsecurity-mosaic-modal.mjs.map +1 -0
  273. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-navbar.mjs +186 -178
  274. package/fesm2022/ptsecurity-mosaic-navbar.mjs.map +1 -0
  275. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-popover.mjs +38 -38
  276. package/fesm2022/ptsecurity-mosaic-popover.mjs.map +1 -0
  277. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-progress-bar.mjs +9 -9
  278. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-progress-bar.mjs.map +1 -1
  279. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-progress-spinner.mjs +18 -18
  280. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-progress-spinner.mjs.map +1 -1
  281. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-radio.mjs +78 -78
  282. package/{fesm2015 → fesm2022}/ptsecurity-mosaic-radio.mjs.map +1 -1
  283. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-select.mjs +189 -175
  284. package/fesm2022/ptsecurity-mosaic-select.mjs.map +1 -0
  285. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-sidebar.mjs +29 -29
  286. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-sidebar.mjs.map +1 -1
  287. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-sidepanel.mjs +63 -63
  288. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-sidepanel.mjs.map +1 -1
  289. package/{fesm2015 → fesm2022}/ptsecurity-mosaic-splitter.mjs +55 -55
  290. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-splitter.mjs.map +1 -1
  291. package/fesm2022/ptsecurity-mosaic-table.mjs +45 -0
  292. package/fesm2022/ptsecurity-mosaic-table.mjs.map +1 -0
  293. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tabs.mjs +188 -179
  294. package/fesm2022/ptsecurity-mosaic-tabs.mjs.map +1 -0
  295. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tags.mjs +131 -131
  296. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tags.mjs.map +1 -1
  297. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-textarea.mjs +41 -41
  298. package/{fesm2015 → fesm2022}/ptsecurity-mosaic-textarea.mjs.map +1 -1
  299. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-timepicker.mjs +95 -95
  300. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-timepicker.mjs.map +1 -1
  301. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-timezone.mjs +54 -54
  302. package/fesm2022/ptsecurity-mosaic-timezone.mjs.map +1 -0
  303. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-title.mjs +18 -18
  304. package/fesm2022/ptsecurity-mosaic-title.mjs.map +1 -0
  305. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-toast.mjs +47 -41
  306. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-toast.mjs.map +1 -1
  307. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-toggle.mjs +35 -35
  308. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-toggle.mjs.map +1 -1
  309. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tooltip.mjs +47 -47
  310. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tooltip.mjs.map +1 -1
  311. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tree-select.mjs +123 -123
  312. package/fesm2022/ptsecurity-mosaic-tree-select.mjs.map +1 -0
  313. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tree.mjs +202 -198
  314. package/fesm2022/ptsecurity-mosaic-tree.mjs.map +1 -0
  315. package/file-upload/file-upload.d.ts +1 -1
  316. package/file-upload/multiple-file-upload.component.d.ts +5 -4
  317. package/file-upload/single-file-upload.component.d.ts +5 -4
  318. package/form-field/_form-field-theme.scss +4 -0
  319. package/form-field/form-field.d.ts +1 -1
  320. package/form-field/hint.d.ts +1 -1
  321. package/form-field/password-hint.d.ts +2 -1
  322. package/icon/icon.component.d.ts +1 -1
  323. package/input/input-number-validators.d.ts +2 -2
  324. package/input/input-number.d.ts +61 -10
  325. package/input/input-password.d.ts +2 -2
  326. package/input/input.d.ts +1 -1
  327. package/link/link.component.d.ts +1 -1
  328. package/list/list-selection.component.d.ts +2 -2
  329. package/loader-overlay/loader-overlay.component.d.ts +1 -1
  330. package/loader-overlay/loader-overlay.scss +12 -2
  331. package/markdown/markdown.component.d.ts +1 -1
  332. package/modal/modal.component.d.ts +6 -2
  333. package/modal/modal.module.d.ts +2 -1
  334. package/modal/modal.scss +14 -2
  335. package/modal/modal.type.d.ts +3 -3
  336. package/navbar/navbar-item.component.d.ts +3 -3
  337. package/navbar/navbar-item.scss +5 -0
  338. package/navbar/navbar.component.d.ts +7 -4
  339. package/navbar/vertical-navbar.component.d.ts +5 -3
  340. package/package.json +148 -237
  341. package/popover/popover-confirm.component.d.ts +1 -1
  342. package/popover/popover.component.d.ts +1 -1
  343. package/prebuilt-themes/dark-theme.css +1 -1
  344. package/prebuilt-themes/default-theme.css +1 -1
  345. package/prebuilt-visual/default-visual.css +1 -1
  346. package/progress-bar/progress-bar.component.d.ts +2 -2
  347. package/progress-spinner/progress-spinner.component.d.ts +3 -3
  348. package/radio/_radio-theme.scss +4 -0
  349. package/radio/radio.component.d.ts +2 -2
  350. package/select/select.component.d.ts +12 -9
  351. package/select/select.scss +1 -1
  352. package/sidebar/sidebar.component.d.ts +3 -3
  353. package/sidepanel/sidepanel-directives.d.ts +2 -2
  354. package/splitter/splitter.component.d.ts +3 -3
  355. package/tabs/paginated-tab-header.d.ts +3 -3
  356. package/tabs/tab-body.component.d.ts +3 -3
  357. package/tabs/tab-group.component.d.ts +2 -2
  358. package/tabs/tab-header.component.d.ts +2 -2
  359. package/tabs/tab-label-wrapper.directive.d.ts +1 -1
  360. package/tabs/tab-nav-bar/tab-nav-bar.d.ts +1 -1
  361. package/tabs/tab.component.d.ts +1 -1
  362. package/tags/tag-input.d.ts +1 -1
  363. package/tags/tag-list.component.d.ts +1 -1
  364. package/tags/tag.component.d.ts +1 -1
  365. package/textarea/textarea.component.d.ts +1 -1
  366. package/timepicker/timepicker.directive.d.ts +1 -1
  367. package/timezone/timezone-option.component.d.ts +1 -1
  368. package/toast/toast.type.d.ts +1 -1
  369. package/toggle/toggle.component.d.ts +2 -2
  370. package/tooltip/tooltip.component.d.ts +3 -3
  371. package/tree/node.d.ts +1 -1
  372. package/tree/padding.directive.d.ts +1 -1
  373. package/tree/toggle.d.ts +2 -2
  374. package/tree/tree-base.d.ts +1 -1
  375. package/tree/tree-option.component.d.ts +1 -1
  376. package/tree/tree-option.scss +4 -2
  377. package/tree/tree-selection.component.d.ts +1 -1
  378. package/tree-select/tree-select.component.d.ts +1 -1
  379. package/esm2020/autocomplete/autocomplete-trigger.directive.mjs +0 -552
  380. package/esm2020/button/button.component.mjs +0 -148
  381. package/esm2020/button-toggle/button-toggle.component.mjs +0 -381
  382. package/esm2020/card/card.component.mjs +0 -80
  383. package/esm2020/checkbox/checkbox.mjs +0 -300
  384. package/esm2020/code-block/code-block.component.mjs +0 -157
  385. package/esm2020/code-block/code-block.module.mjs +0 -60
  386. package/esm2020/core/common-behaviors/color.mjs +0 -33
  387. package/esm2020/core/formatters/index.mjs +0 -78
  388. package/esm2020/core/formatters/number/formatter.mjs +0 -129
  389. package/esm2020/core/locales/en-US.mjs +0 -10
  390. package/esm2020/core/locales/es-LA.mjs +0 -6
  391. package/esm2020/core/locales/fa-IR.mjs +0 -6
  392. package/esm2020/core/locales/pt-BR.mjs +0 -6
  393. package/esm2020/core/locales/ru-RU.mjs +0 -10
  394. package/esm2020/core/locales/zh-CN.mjs +0 -6
  395. package/esm2020/core/option/option.mjs +0 -262
  396. package/esm2020/core/overlay/overlay-position-map.mjs +0 -245
  397. package/esm2020/core/pop-up/pop-up-trigger.mjs +0 -247
  398. package/esm2020/core/services/measure-scrollbar.service.mjs +0 -48
  399. package/esm2020/datepicker/calendar-header.component.mjs +0 -134
  400. package/esm2020/datepicker/calendar.component.mjs +0 -175
  401. package/esm2020/datepicker/datepicker-input.directive.mjs +0 -954
  402. package/esm2020/datepicker/datepicker-toggle.component.mjs +0 -86
  403. package/esm2020/datepicker/datepicker.component.mjs +0 -393
  404. package/esm2020/datepicker/month-view.component.mjs +0 -158
  405. package/esm2020/dropdown/dropdown-trigger.directive.mjs +0 -489
  406. package/esm2020/dropdown/dropdown.component.mjs +0 -292
  407. package/esm2020/ellipsis-center/ellipsis-center.directive.mjs +0 -106
  408. package/esm2020/file-upload/multiple-file-upload.component.mjs +0 -161
  409. package/esm2020/file-upload/single-file-upload.component.mjs +0 -130
  410. package/esm2020/form-field/form-field.mjs +0 -267
  411. package/esm2020/form-field/password-hint.mjs +0 -146
  412. package/esm2020/form-field/validate.directive.mjs +0 -158
  413. package/esm2020/input/input-number.mjs +0 -168
  414. package/esm2020/input/input-password.mjs +0 -343
  415. package/esm2020/input/input.mjs +0 -297
  416. package/esm2020/link/link.component.mjs +0 -122
  417. package/esm2020/list/list-selection.component.mjs +0 -705
  418. package/esm2020/loader-overlay/loader-overlay.component.mjs +0 -103
  419. package/esm2020/modal/modal-control.service.mjs +0 -85
  420. package/esm2020/modal/modal.component.mjs +0 -510
  421. package/esm2020/modal/modal.module.mjs +0 -71
  422. package/esm2020/modal/modal.service.mjs +0 -124
  423. package/esm2020/navbar/navbar-item.component.mjs +0 -606
  424. package/esm2020/navbar/navbar.component.mjs +0 -239
  425. package/esm2020/navbar/vertical-navbar.component.mjs +0 -114
  426. package/esm2020/popover/popover-confirm.component.mjs +0 -108
  427. package/esm2020/popover/popover.component.mjs +0 -266
  428. package/esm2020/radio/radio.component.mjs +0 -457
  429. package/esm2020/select/select-option.directive.mjs +0 -65
  430. package/esm2020/select/select.component.mjs +0 -1146
  431. package/esm2020/sidebar/sidebar.component.mjs +0 -146
  432. package/esm2020/sidepanel/sidepanel-container.component.mjs +0 -110
  433. package/esm2020/splitter/splitter.component.mjs +0 -482
  434. package/esm2020/tabs/paginated-tab-header.mjs +0 -488
  435. package/esm2020/tabs/tab-body.component.mjs +0 -179
  436. package/esm2020/tabs/tab-group.component.mjs +0 -349
  437. package/esm2020/tabs/tab-nav-bar/tab-nav-bar.mjs +0 -111
  438. package/esm2020/tags/tag-input.mjs +0 -250
  439. package/esm2020/tags/tag-list.component.mjs +0 -718
  440. package/esm2020/tags/tag.component.mjs +0 -381
  441. package/esm2020/tags/tag.module.mjs +0 -56
  442. package/esm2020/textarea/textarea.component.mjs +0 -254
  443. package/esm2020/timepicker/timepicker.directive.mjs +0 -647
  444. package/esm2020/timezone/timezone-option.component.mjs +0 -48
  445. package/esm2020/timezone/timezone-select.component.mjs +0 -40
  446. package/esm2020/title/title.directive.mjs +0 -107
  447. package/esm2020/toast/toast.component.mjs +0 -92
  448. package/esm2020/toast/toast.module.mjs +0 -42
  449. package/esm2020/toast/toast.service.mjs +0 -188
  450. package/esm2020/toggle/toggle.component.mjs +0 -156
  451. package/esm2020/tooltip/tooltip.component.mjs +0 -299
  452. package/esm2020/tree/data-source/flat-data-source.mjs +0 -162
  453. package/esm2020/tree/padding.directive.mjs +0 -113
  454. package/esm2020/tree/toggle.mjs +0 -81
  455. package/esm2020/tree/tree-base.mjs +0 -243
  456. package/esm2020/tree/tree-option.component.mjs +0 -300
  457. package/esm2020/tree/tree-selection.component.mjs +0 -557
  458. package/esm2020/tree-select/tree-select.component.mjs +0 -936
  459. package/fesm2015/ptsecurity-mosaic-autocomplete.mjs +0 -753
  460. package/fesm2015/ptsecurity-mosaic-autocomplete.mjs.map +0 -1
  461. package/fesm2015/ptsecurity-mosaic-button-toggle.mjs +0 -405
  462. package/fesm2015/ptsecurity-mosaic-button-toggle.mjs.map +0 -1
  463. package/fesm2015/ptsecurity-mosaic-button.mjs +0 -193
  464. package/fesm2015/ptsecurity-mosaic-button.mjs.map +0 -1
  465. package/fesm2015/ptsecurity-mosaic-card.mjs +0 -111
  466. package/fesm2015/ptsecurity-mosaic-card.mjs.map +0 -1
  467. package/fesm2015/ptsecurity-mosaic-checkbox.mjs +0 -351
  468. package/fesm2015/ptsecurity-mosaic-checkbox.mjs.map +0 -1
  469. package/fesm2015/ptsecurity-mosaic-code-block.mjs +0 -280
  470. package/fesm2015/ptsecurity-mosaic-code-block.mjs.map +0 -1
  471. package/fesm2015/ptsecurity-mosaic-core.mjs +0 -2314
  472. package/fesm2015/ptsecurity-mosaic-core.mjs.map +0 -1
  473. package/fesm2015/ptsecurity-mosaic-datepicker.mjs +0 -2112
  474. package/fesm2015/ptsecurity-mosaic-datepicker.mjs.map +0 -1
  475. package/fesm2015/ptsecurity-mosaic-divider.mjs +0 -61
  476. package/fesm2015/ptsecurity-mosaic-divider.mjs.map +0 -1
  477. package/fesm2015/ptsecurity-mosaic-dl.mjs +0 -126
  478. package/fesm2015/ptsecurity-mosaic-dl.mjs.map +0 -1
  479. package/fesm2015/ptsecurity-mosaic-dropdown.mjs +0 -1115
  480. package/fesm2015/ptsecurity-mosaic-dropdown.mjs.map +0 -1
  481. package/fesm2015/ptsecurity-mosaic-ellipsis-center.mjs +0 -113
  482. package/fesm2015/ptsecurity-mosaic-ellipsis-center.mjs.map +0 -1
  483. package/fesm2015/ptsecurity-mosaic-file-upload.mjs +0 -392
  484. package/fesm2015/ptsecurity-mosaic-file-upload.mjs.map +0 -1
  485. package/fesm2015/ptsecurity-mosaic-form-field.mjs +0 -772
  486. package/fesm2015/ptsecurity-mosaic-form-field.mjs.map +0 -1
  487. package/fesm2015/ptsecurity-mosaic-icon.mjs +0 -86
  488. package/fesm2015/ptsecurity-mosaic-icon.mjs.map +0 -1
  489. package/fesm2015/ptsecurity-mosaic-input.mjs +0 -951
  490. package/fesm2015/ptsecurity-mosaic-input.mjs.map +0 -1
  491. package/fesm2015/ptsecurity-mosaic-link.mjs +0 -150
  492. package/fesm2015/ptsecurity-mosaic-link.mjs.map +0 -1
  493. package/fesm2015/ptsecurity-mosaic-list.mjs +0 -807
  494. package/fesm2015/ptsecurity-mosaic-list.mjs.map +0 -1
  495. package/fesm2015/ptsecurity-mosaic-loader-overlay.mjs +0 -157
  496. package/fesm2015/ptsecurity-mosaic-markdown.mjs +0 -128
  497. package/fesm2015/ptsecurity-mosaic-markdown.mjs.map +0 -1
  498. package/fesm2015/ptsecurity-mosaic-modal.mjs +0 -875
  499. package/fesm2015/ptsecurity-mosaic-modal.mjs.map +0 -1
  500. package/fesm2015/ptsecurity-mosaic-navbar.mjs +0 -1055
  501. package/fesm2015/ptsecurity-mosaic-navbar.mjs.map +0 -1
  502. package/fesm2015/ptsecurity-mosaic-popover.mjs +0 -411
  503. package/fesm2015/ptsecurity-mosaic-popover.mjs.map +0 -1
  504. package/fesm2015/ptsecurity-mosaic-progress-bar.mjs +0 -74
  505. package/fesm2015/ptsecurity-mosaic-progress-bar.mjs.map +0 -1
  506. package/fesm2015/ptsecurity-mosaic-progress-spinner.mjs +0 -93
  507. package/fesm2015/ptsecurity-mosaic-progress-spinner.mjs.map +0 -1
  508. package/fesm2015/ptsecurity-mosaic-radio.mjs +0 -481
  509. package/fesm2015/ptsecurity-mosaic-select.mjs +0 -1286
  510. package/fesm2015/ptsecurity-mosaic-select.mjs.map +0 -1
  511. package/fesm2015/ptsecurity-mosaic-sidebar.mjs +0 -202
  512. package/fesm2015/ptsecurity-mosaic-sidebar.mjs.map +0 -1
  513. package/fesm2015/ptsecurity-mosaic-sidepanel.mjs +0 -622
  514. package/fesm2015/ptsecurity-mosaic-sidepanel.mjs.map +0 -1
  515. package/fesm2015/ptsecurity-mosaic-splitter.mjs.map +0 -1
  516. package/fesm2015/ptsecurity-mosaic-table.mjs +0 -45
  517. package/fesm2015/ptsecurity-mosaic-table.mjs.map +0 -1
  518. package/fesm2015/ptsecurity-mosaic-tabs.mjs +0 -1523
  519. package/fesm2015/ptsecurity-mosaic-tabs.mjs.map +0 -1
  520. package/fesm2015/ptsecurity-mosaic-tags.mjs +0 -1397
  521. package/fesm2015/ptsecurity-mosaic-tags.mjs.map +0 -1
  522. package/fesm2015/ptsecurity-mosaic-textarea.mjs +0 -280
  523. package/fesm2015/ptsecurity-mosaic-timepicker.mjs +0 -708
  524. package/fesm2015/ptsecurity-mosaic-timepicker.mjs.map +0 -1
  525. package/fesm2015/ptsecurity-mosaic-timezone.mjs +0 -316
  526. package/fesm2015/ptsecurity-mosaic-timezone.mjs.map +0 -1
  527. package/fesm2015/ptsecurity-mosaic-title.mjs +0 -128
  528. package/fesm2015/ptsecurity-mosaic-title.mjs.map +0 -1
  529. package/fesm2015/ptsecurity-mosaic-toast.mjs +0 -379
  530. package/fesm2015/ptsecurity-mosaic-toast.mjs.map +0 -1
  531. package/fesm2015/ptsecurity-mosaic-toggle.mjs +0 -178
  532. package/fesm2015/ptsecurity-mosaic-toggle.mjs.map +0 -1
  533. package/fesm2015/ptsecurity-mosaic-tooltip.mjs +0 -369
  534. package/fesm2015/ptsecurity-mosaic-tooltip.mjs.map +0 -1
  535. package/fesm2015/ptsecurity-mosaic-tree-select.mjs +0 -983
  536. package/fesm2015/ptsecurity-mosaic-tree-select.mjs.map +0 -1
  537. package/fesm2015/ptsecurity-mosaic-tree.mjs +0 -1816
  538. package/fesm2015/ptsecurity-mosaic-tree.mjs.map +0 -1
  539. package/fesm2020/ptsecurity-mosaic-autocomplete.mjs.map +0 -1
  540. package/fesm2020/ptsecurity-mosaic-core.mjs.map +0 -1
  541. package/fesm2020/ptsecurity-mosaic-datepicker.mjs.map +0 -1
  542. package/fesm2020/ptsecurity-mosaic-file-upload.mjs.map +0 -1
  543. package/fesm2020/ptsecurity-mosaic-form-field.mjs.map +0 -1
  544. package/fesm2020/ptsecurity-mosaic-icon.mjs.map +0 -1
  545. package/fesm2020/ptsecurity-mosaic-input.mjs.map +0 -1
  546. package/fesm2020/ptsecurity-mosaic-loader-overlay.mjs +0 -155
  547. package/fesm2020/ptsecurity-mosaic-loader-overlay.mjs.map +0 -1
  548. package/fesm2020/ptsecurity-mosaic-modal.mjs.map +0 -1
  549. package/fesm2020/ptsecurity-mosaic-navbar.mjs.map +0 -1
  550. package/fesm2020/ptsecurity-mosaic-popover.mjs.map +0 -1
  551. package/fesm2020/ptsecurity-mosaic-radio.mjs.map +0 -1
  552. package/fesm2020/ptsecurity-mosaic-select.mjs.map +0 -1
  553. package/fesm2020/ptsecurity-mosaic-splitter.mjs +0 -524
  554. package/fesm2020/ptsecurity-mosaic-table.mjs +0 -45
  555. package/fesm2020/ptsecurity-mosaic-table.mjs.map +0 -1
  556. package/fesm2020/ptsecurity-mosaic-tabs.mjs.map +0 -1
  557. package/fesm2020/ptsecurity-mosaic-textarea.mjs.map +0 -1
  558. package/fesm2020/ptsecurity-mosaic-timezone.mjs.map +0 -1
  559. package/fesm2020/ptsecurity-mosaic-title.mjs.map +0 -1
  560. package/fesm2020/ptsecurity-mosaic-tree-select.mjs.map +0 -1
  561. package/fesm2020/ptsecurity-mosaic-tree.mjs.map +0 -1
  562. package/fesm2020/ptsecurity-mosaic.mjs +0 -4
  563. package/fesm2020/ptsecurity-mosaic.mjs.map +0 -1
  564. /package/{esm2020 → esm2022}/autocomplete/index.mjs +0 -0
  565. /package/{esm2020 → esm2022}/autocomplete/ptsecurity-mosaic-autocomplete.mjs +0 -0
  566. /package/{esm2020 → esm2022}/autocomplete/public-api.mjs +0 -0
  567. /package/{esm2020 → esm2022}/button/index.mjs +0 -0
  568. /package/{esm2020 → esm2022}/button/ptsecurity-mosaic-button.mjs +0 -0
  569. /package/{esm2020 → esm2022}/button/public-api.mjs +0 -0
  570. /package/{esm2020 → esm2022}/button-toggle/index.mjs +0 -0
  571. /package/{esm2020 → esm2022}/button-toggle/ptsecurity-mosaic-button-toggle.mjs +0 -0
  572. /package/{esm2020 → esm2022}/button-toggle/public-api.mjs +0 -0
  573. /package/{esm2020 → esm2022}/card/index.mjs +0 -0
  574. /package/{esm2020 → esm2022}/card/ptsecurity-mosaic-card.mjs +0 -0
  575. /package/{esm2020 → esm2022}/card/public-api.mjs +0 -0
  576. /package/{esm2020 → esm2022}/checkbox/checkbox-config.mjs +0 -0
  577. /package/{esm2020 → esm2022}/checkbox/index.mjs +0 -0
  578. /package/{esm2020 → esm2022}/checkbox/ptsecurity-mosaic-checkbox.mjs +0 -0
  579. /package/{esm2020 → esm2022}/checkbox/public-api.mjs +0 -0
  580. /package/{esm2020 → esm2022}/code-block/code-block.types.mjs +0 -0
  581. /package/{esm2020 → esm2022}/code-block/index.mjs +0 -0
  582. /package/{esm2020 → esm2022}/code-block/ptsecurity-mosaic-code-block.mjs +0 -0
  583. /package/{esm2020 → esm2022}/code-block/public-api.mjs +0 -0
  584. /package/{esm2020 → esm2022}/core/animation/animation.mjs +0 -0
  585. /package/{esm2020 → esm2022}/core/animation/fade-animations.mjs +0 -0
  586. /package/{esm2020 → esm2022}/core/animation/index.mjs +0 -0
  587. /package/{esm2020 → esm2022}/core/animation/select-animations.mjs +0 -0
  588. /package/{esm2020 → esm2022}/core/common-behaviors/constructor.mjs +0 -0
  589. /package/{esm2020 → esm2022}/core/common-behaviors/error-state.mjs +0 -0
  590. /package/{esm2020 → esm2022}/core/common-behaviors/index.mjs +0 -0
  591. /package/{esm2020 → esm2022}/core/datetime/date-adapter.mjs +0 -0
  592. /package/{esm2020 → esm2022}/core/datetime/date-formats.mjs +0 -0
  593. /package/{esm2020 → esm2022}/core/datetime/index.mjs +0 -0
  594. /package/{esm2020 → esm2022}/core/forms/index.mjs +0 -0
  595. /package/{esm2020 → esm2022}/core/index.mjs +0 -0
  596. /package/{esm2020 → esm2022}/core/label/label-options.mjs +0 -0
  597. /package/{esm2020 → esm2022}/core/locales/index.mjs +0 -0
  598. /package/{esm2020 → esm2022}/core/option/index.mjs +0 -0
  599. /package/{esm2020 → esm2022}/core/pop-up/index.mjs +0 -0
  600. /package/{esm2020 → esm2022}/core/ptsecurity-mosaic-core.mjs +0 -0
  601. /package/{esm2020 → esm2022}/core/public-api.mjs +0 -0
  602. /package/{esm2020 → esm2022}/core/select/constants.mjs +0 -0
  603. /package/{esm2020 → esm2022}/core/select/errors.mjs +0 -0
  604. /package/{esm2020 → esm2022}/core/select/events.mjs +0 -0
  605. /package/{esm2020 → esm2022}/core/select/index.mjs +0 -0
  606. /package/{esm2020 → esm2022}/core/selection/constants.mjs +0 -0
  607. /package/{esm2020 → esm2022}/core/selection/index.mjs +0 -0
  608. /package/{esm2020 → esm2022}/core/title/index.mjs +0 -0
  609. /package/{esm2020 → esm2022}/core/title/title-text-ref.mjs +0 -0
  610. /package/{esm2020 → esm2022}/core/utils/data-size/config.mjs +0 -0
  611. /package/{esm2020 → esm2022}/core/utils/data-size/index.mjs +0 -0
  612. /package/{esm2020 → esm2022}/core/utils/data-size/size.mjs +0 -0
  613. /package/{esm2020 → esm2022}/core/utils/index.mjs +0 -0
  614. /package/{esm2020 → esm2022}/core/utils/public-api.mjs +0 -0
  615. /package/{esm2020 → esm2022}/core/utils/utils.mjs +0 -0
  616. /package/{esm2020 → esm2022}/core/validation/index.mjs +0 -0
  617. /package/{esm2020 → esm2022}/core/validation/validation.mjs +0 -0
  618. /package/{esm2020 → esm2022}/datepicker/datepicker-animations.mjs +0 -0
  619. /package/{esm2020 → esm2022}/datepicker/datepicker-errors.mjs +0 -0
  620. /package/{esm2020 → esm2022}/datepicker/index.mjs +0 -0
  621. /package/{esm2020 → esm2022}/datepicker/ptsecurity-mosaic-datepicker.mjs +0 -0
  622. /package/{esm2020 → esm2022}/datepicker/public-api.mjs +0 -0
  623. /package/{esm2020 → esm2022}/divider/index.mjs +0 -0
  624. /package/{esm2020 → esm2022}/divider/ptsecurity-mosaic-divider.mjs +0 -0
  625. /package/{esm2020 → esm2022}/divider/public-api.mjs +0 -0
  626. /package/{esm2020 → esm2022}/dl/index.mjs +0 -0
  627. /package/{esm2020 → esm2022}/dl/ptsecurity-mosaic-dl.mjs +0 -0
  628. /package/{esm2020 → esm2022}/dl/public-api.mjs +0 -0
  629. /package/{esm2020 → esm2022}/dropdown/dropdown-animations.mjs +0 -0
  630. /package/{esm2020 → esm2022}/dropdown/dropdown-errors.mjs +0 -0
  631. /package/{esm2020 → esm2022}/dropdown/dropdown.types.mjs +0 -0
  632. /package/{esm2020 → esm2022}/dropdown/index.mjs +0 -0
  633. /package/{esm2020 → esm2022}/dropdown/ptsecurity-mosaic-dropdown.mjs +0 -0
  634. /package/{esm2020 → esm2022}/dropdown/public-api.mjs +0 -0
  635. /package/{esm2020 → esm2022}/ellipsis-center/index.mjs +0 -0
  636. /package/{esm2020 → esm2022}/ellipsis-center/ptsecurity-mosaic-ellipsis-center.mjs +0 -0
  637. /package/{esm2020 → esm2022}/ellipsis-center/public-api.mjs +0 -0
  638. /package/{esm2020 → esm2022}/file-upload/file-upload.mjs +0 -0
  639. /package/{esm2020 → esm2022}/file-upload/index.mjs +0 -0
  640. /package/{esm2020 → esm2022}/file-upload/ptsecurity-mosaic-file-upload.mjs +0 -0
  641. /package/{esm2020 → esm2022}/file-upload/public-api.mjs +0 -0
  642. /package/{esm2020 → esm2022}/form-field/form-field-control.mjs +0 -0
  643. /package/{esm2020 → esm2022}/form-field/form-field-errors.mjs +0 -0
  644. /package/{esm2020 → esm2022}/form-field/index.mjs +0 -0
  645. /package/{esm2020 → esm2022}/form-field/ptsecurity-mosaic-form-field.mjs +0 -0
  646. /package/{esm2020 → esm2022}/form-field/public-api.mjs +0 -0
  647. /package/{esm2020 → esm2022}/icon/index.mjs +0 -0
  648. /package/{esm2020 → esm2022}/icon/ptsecurity-mosaic-icon.mjs +0 -0
  649. /package/{esm2020 → esm2022}/icon/public-api.mjs +0 -0
  650. /package/{esm2020 → esm2022}/index.mjs +0 -0
  651. /package/{esm2020 → esm2022}/input/index.mjs +0 -0
  652. /package/{esm2020 → esm2022}/input/input-errors.mjs +0 -0
  653. /package/{esm2020 → esm2022}/input/input-value-accessor.mjs +0 -0
  654. /package/{esm2020 → esm2022}/input/ptsecurity-mosaic-input.mjs +0 -0
  655. /package/{esm2020 → esm2022}/input/public-api.mjs +0 -0
  656. /package/{esm2020 → esm2022}/link/index.mjs +0 -0
  657. /package/{esm2020 → esm2022}/link/ptsecurity-mosaic-link.mjs +0 -0
  658. /package/{esm2020 → esm2022}/link/public-api.mjs +0 -0
  659. /package/{esm2020 → esm2022}/list/index.mjs +0 -0
  660. /package/{esm2020 → esm2022}/list/ptsecurity-mosaic-list.mjs +0 -0
  661. /package/{esm2020 → esm2022}/list/public-api.mjs +0 -0
  662. /package/{esm2020 → esm2022}/loader-overlay/index.mjs +0 -0
  663. /package/{esm2020 → esm2022}/loader-overlay/ptsecurity-mosaic-loader-overlay.mjs +0 -0
  664. /package/{esm2020 → esm2022}/loader-overlay/public-api.mjs +0 -0
  665. /package/{esm2020 → esm2022}/markdown/index.mjs +0 -0
  666. /package/{esm2020 → esm2022}/markdown/markdown.values.mjs +0 -0
  667. /package/{esm2020 → esm2022}/markdown/ptsecurity-mosaic-markdown.mjs +0 -0
  668. /package/{esm2020 → esm2022}/markdown/public-api.mjs +0 -0
  669. /package/{esm2020 → esm2022}/modal/index.mjs +0 -0
  670. /package/{esm2020 → esm2022}/modal/modal-ref.class.mjs +0 -0
  671. /package/{esm2020 → esm2022}/modal/modal-util.mjs +0 -0
  672. /package/{esm2020 → esm2022}/modal/modal.type.mjs +0 -0
  673. /package/{esm2020 → esm2022}/modal/ptsecurity-mosaic-modal.mjs +0 -0
  674. /package/{esm2020 → esm2022}/modal/public-api.mjs +0 -0
  675. /package/{esm2020 → esm2022}/navbar/index.mjs +0 -0
  676. /package/{esm2020 → esm2022}/navbar/ptsecurity-mosaic-navbar.mjs +0 -0
  677. /package/{esm2020 → esm2022}/navbar/public-api.mjs +0 -0
  678. /package/{esm2020 → esm2022}/navbar/vertical-navbar.animation.mjs +0 -0
  679. /package/{esm2020 → esm2022}/popover/index.mjs +0 -0
  680. /package/{esm2020 → esm2022}/popover/popover-animations.mjs +0 -0
  681. /package/{esm2020 → esm2022}/popover/ptsecurity-mosaic-popover.mjs +0 -0
  682. /package/{esm2020 → esm2022}/popover/public-api.mjs +0 -0
  683. /package/{esm2020 → esm2022}/progress-bar/index.mjs +0 -0
  684. /package/{esm2020 → esm2022}/progress-bar/ptsecurity-mosaic-progress-bar.mjs +0 -0
  685. /package/{esm2020 → esm2022}/progress-bar/public-api.mjs +0 -0
  686. /package/{esm2020 → esm2022}/progress-spinner/index.mjs +0 -0
  687. /package/{esm2020 → esm2022}/progress-spinner/ptsecurity-mosaic-progress-spinner.mjs +0 -0
  688. /package/{esm2020 → esm2022}/progress-spinner/public-api.mjs +0 -0
  689. /package/{esm2020 → esm2022}/ptsecurity-mosaic.mjs +0 -0
  690. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
  691. /package/{esm2020 → esm2022}/radio/index.mjs +0 -0
  692. /package/{esm2020 → esm2022}/radio/ptsecurity-mosaic-radio.mjs +0 -0
  693. /package/{esm2020 → esm2022}/radio/public-api.mjs +0 -0
  694. /package/{esm2020 → esm2022}/select/index.mjs +0 -0
  695. /package/{esm2020 → esm2022}/select/ptsecurity-mosaic-select.mjs +0 -0
  696. /package/{esm2020 → esm2022}/select/public-api.mjs +0 -0
  697. /package/{esm2020 → esm2022}/sidebar/index.mjs +0 -0
  698. /package/{esm2020 → esm2022}/sidebar/ptsecurity-mosaic-sidebar.mjs +0 -0
  699. /package/{esm2020 → esm2022}/sidebar/public-api.mjs +0 -0
  700. /package/{esm2020 → esm2022}/sidebar/sidebar-animations.mjs +0 -0
  701. /package/{esm2020 → esm2022}/sidepanel/index.mjs +0 -0
  702. /package/{esm2020 → esm2022}/sidepanel/ptsecurity-mosaic-sidepanel.mjs +0 -0
  703. /package/{esm2020 → esm2022}/sidepanel/public-api.mjs +0 -0
  704. /package/{esm2020 → esm2022}/sidepanel/sidepanel-animations.mjs +0 -0
  705. /package/{esm2020 → esm2022}/sidepanel/sidepanel-config.mjs +0 -0
  706. /package/{esm2020 → esm2022}/sidepanel/sidepanel-ref.mjs +0 -0
  707. /package/{esm2020 → esm2022}/splitter/index.mjs +0 -0
  708. /package/{esm2020 → esm2022}/splitter/ptsecurity-mosaic-splitter.mjs +0 -0
  709. /package/{esm2020 → esm2022}/splitter/public-api.mjs +0 -0
  710. /package/{esm2020 → esm2022}/table/index.mjs +0 -0
  711. /package/{esm2020 → esm2022}/table/ptsecurity-mosaic-table.mjs +0 -0
  712. /package/{esm2020 → esm2022}/table/public-api.mjs +0 -0
  713. /package/{esm2020 → esm2022}/tabs/index.mjs +0 -0
  714. /package/{esm2020 → esm2022}/tabs/ptsecurity-mosaic-tabs.mjs +0 -0
  715. /package/{esm2020 → esm2022}/tabs/public-api.mjs +0 -0
  716. /package/{esm2020 → esm2022}/tabs/tab-nav-bar/index.mjs +0 -0
  717. /package/{esm2020 → esm2022}/tabs/tabs-animations.mjs +0 -0
  718. /package/{esm2020 → esm2022}/tags/index.mjs +0 -0
  719. /package/{esm2020 → esm2022}/tags/ptsecurity-mosaic-tags.mjs +0 -0
  720. /package/{esm2020 → esm2022}/tags/public-api.mjs +0 -0
  721. /package/{esm2020 → esm2022}/tags/tag-default-options.mjs +0 -0
  722. /package/{esm2020 → esm2022}/tags/tag-text-control.mjs +0 -0
  723. /package/{esm2020 → esm2022}/textarea/index.mjs +0 -0
  724. /package/{esm2020 → esm2022}/textarea/ptsecurity-mosaic-textarea.mjs +0 -0
  725. /package/{esm2020 → esm2022}/textarea/public-api.mjs +0 -0
  726. /package/{esm2020 → esm2022}/timepicker/index.mjs +0 -0
  727. /package/{esm2020 → esm2022}/timepicker/ptsecurity-mosaic-timepicker.mjs +0 -0
  728. /package/{esm2020 → esm2022}/timepicker/public-api.mjs +0 -0
  729. /package/{esm2020 → esm2022}/timepicker/timepicker.constants.mjs +0 -0
  730. /package/{esm2020 → esm2022}/timezone/index.mjs +0 -0
  731. /package/{esm2020 → esm2022}/timezone/ptsecurity-mosaic-timezone.mjs +0 -0
  732. /package/{esm2020 → esm2022}/timezone/public-api.mjs +0 -0
  733. /package/{esm2020 → esm2022}/timezone/timezone.models.mjs +0 -0
  734. /package/{esm2020 → esm2022}/timezone/timezone.utils.mjs +0 -0
  735. /package/{esm2020 → esm2022}/title/index.mjs +0 -0
  736. /package/{esm2020 → esm2022}/title/ptsecurity-mosaic-title.mjs +0 -0
  737. /package/{esm2020 → esm2022}/title/public-api.mjs +0 -0
  738. /package/{esm2020 → esm2022}/toast/index.mjs +0 -0
  739. /package/{esm2020 → esm2022}/toast/ptsecurity-mosaic-toast.mjs +0 -0
  740. /package/{esm2020 → esm2022}/toast/public-api.mjs +0 -0
  741. /package/{esm2020 → esm2022}/toast/toast-animations.mjs +0 -0
  742. /package/{esm2020 → esm2022}/toast/toast.type.mjs +0 -0
  743. /package/{esm2020 → esm2022}/toggle/index.mjs +0 -0
  744. /package/{esm2020 → esm2022}/toggle/ptsecurity-mosaic-toggle.mjs +0 -0
  745. /package/{esm2020 → esm2022}/toggle/public-api.mjs +0 -0
  746. /package/{esm2020 → esm2022}/tooltip/index.mjs +0 -0
  747. /package/{esm2020 → esm2022}/tooltip/ptsecurity-mosaic-tooltip.mjs +0 -0
  748. /package/{esm2020 → esm2022}/tooltip/public-api.mjs +0 -0
  749. /package/{esm2020 → esm2022}/tooltip/tooltip.animations.mjs +0 -0
  750. /package/{esm2020 → esm2022}/tree/control/base-tree-control.mjs +0 -0
  751. /package/{esm2020 → esm2022}/tree/control/flat-tree-control.mjs +0 -0
  752. /package/{esm2020 → esm2022}/tree/control/nested-tree-control.mjs +0 -0
  753. /package/{esm2020 → esm2022}/tree/control/tree-control.mjs +0 -0
  754. /package/{esm2020 → esm2022}/tree/data-source/nested-data-source.mjs +0 -0
  755. /package/{esm2020 → esm2022}/tree/index.mjs +0 -0
  756. /package/{esm2020 → esm2022}/tree/ptsecurity-mosaic-tree.mjs +0 -0
  757. /package/{esm2020 → esm2022}/tree/public-api.mjs +0 -0
  758. /package/{esm2020 → esm2022}/tree/tree-errors.mjs +0 -0
  759. /package/{esm2020 → esm2022}/tree-select/index.mjs +0 -0
  760. /package/{esm2020 → esm2022}/tree-select/ptsecurity-mosaic-tree-select.mjs +0 -0
  761. /package/{esm2020 → esm2022}/tree-select/public-api.mjs +0 -0
  762. /package/{fesm2015 → fesm2022}/ptsecurity-mosaic.mjs +0 -0
  763. /package/{fesm2015 → fesm2022}/ptsecurity-mosaic.mjs.map +0 -0
@@ -15,10 +15,10 @@ export class McTreeNodeDef {
15
15
  constructor(template) {
16
16
  this.template = template;
17
17
  }
18
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: McTreeNodeDef, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
19
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.5", type: McTreeNodeDef, selector: "[mcTreeNodeDef]", inputs: { when: ["mcTreeNodeDefWhen", "when"], data: ["mcTreeNode", "data"] }, ngImport: i0 }); }
18
20
  }
19
- /** @nocollapse */ McTreeNodeDef.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McTreeNodeDef, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
20
- /** @nocollapse */ McTreeNodeDef.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: McTreeNodeDef, selector: "[mcTreeNodeDef]", inputs: { when: ["mcTreeNodeDefWhen", "when"], data: ["mcTreeNode", "data"] }, ngImport: i0 });
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McTreeNodeDef, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: McTreeNodeDef, decorators: [{
22
22
  type: Directive,
23
23
  args: [{
24
24
  selector: '[mcTreeNodeDef]',
@@ -28,4 +28,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
28
28
  type: Input,
29
29
  args: ['mcTreeNode']
30
30
  }] } });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21vc2FpYy90cmVlL25vZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUc5RCxtREFBbUQ7QUFDbkQsTUFBTSxPQUFPLHVCQUF1QjtJQWFoQyxZQUFZLElBQU87UUFDZixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztJQUMxQixDQUFDO0NBQ0o7QUFFRDs7O0dBR0c7QUFLSCxNQUFNLE9BQU8sYUFBYTtJQVl0QixvQkFBb0I7SUFDcEIsWUFBbUIsUUFBMEI7UUFBMUIsYUFBUSxHQUFSLFFBQVEsQ0FBa0I7SUFBRyxDQUFDOzs2SEFieEMsYUFBYTtpSEFBYixhQUFhOzJGQUFiLGFBQWE7a0JBSnpCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsTUFBTSxFQUFFLENBQUMseUJBQXlCLENBQUM7aUJBQ3RDO2tHQUV3QixJQUFJO3NCQUF4QixLQUFLO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5cbi8qKiBDb250ZXh0IHByb3ZpZGVkIHRvIHRoZSB0cmVlIG5vZGUgY29tcG9uZW50LiAqL1xuZXhwb3J0IGNsYXNzIE1jVHJlZU5vZGVPdXRsZXRDb250ZXh0PFQ+IHtcbiAgICAvKiogRGF0YSBmb3IgdGhlIG5vZGUuICovXG4gICAgJGltcGxpY2l0OiBUO1xuXG4gICAgLyoqIERlcHRoIG9mIHRoZSBub2RlLiAqL1xuICAgIGxldmVsOiBudW1iZXI7XG5cbiAgICAvKiogSW5kZXggbG9jYXRpb24gb2YgdGhlIG5vZGUuICovXG4gICAgaW5kZXg/OiBudW1iZXI7XG5cbiAgICAvKiogTGVuZ3RoIG9mIHRoZSBudW1iZXIgb2YgdG90YWwgZGF0YU5vZGVzLiAqL1xuICAgIGNvdW50PzogbnVtYmVyO1xuXG4gICAgY29uc3RydWN0b3IoZGF0YTogVCkge1xuICAgICAgICB0aGlzLiRpbXBsaWNpdCA9IGRhdGE7XG4gICAgfVxufVxuXG4vKipcbiAqIERhdGEgbm9kZSBkZWZpbml0aW9uIGZvciB0aGUgTWNUcmVlLlxuICogQ2FwdHVyZXMgdGhlIG5vZGUncyB0ZW1wbGF0ZSBhbmQgYSB3aGVuIHByZWRpY2F0ZSB0aGF0IGRlc2NyaWJlcyB3aGVuIHRoaXMgbm9kZSBzaG91bGQgYmUgdXNlZC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbbWNUcmVlTm9kZURlZl0nLFxuICAgIGlucHV0czogWyd3aGVuOiBtY1RyZWVOb2RlRGVmV2hlbiddXG59KVxuZXhwb3J0IGNsYXNzIE1jVHJlZU5vZGVEZWY8VD4ge1xuICAgIEBJbnB1dCgnbWNUcmVlTm9kZScpIGRhdGE6IFQ7XG5cbiAgICAvKipcbiAgICAgKiBGdW5jdGlvbiB0aGF0IHNob3VsZCByZXR1cm4gdHJ1ZSBpZiB0aGlzIG5vZGUgdGVtcGxhdGUgc2hvdWxkIGJlIHVzZWQgZm9yIHRoZSBwcm92aWRlZCBub2RlXG4gICAgICogZGF0YSBhbmQgaW5kZXguIElmIGxlZnQgdW5kZWZpbmVkLCB0aGlzIG5vZGUgd2lsbCBiZSBjb25zaWRlcmVkIHRoZSBkZWZhdWx0IG5vZGUgdGVtcGxhdGUgdG9cbiAgICAgKiB1c2Ugd2hlbiBubyBvdGhlciB3aGVuIGZ1bmN0aW9ucyByZXR1cm4gdHJ1ZSBmb3IgdGhlIGRhdGEuXG4gICAgICogRm9yIGV2ZXJ5IG5vZGUsIHRoZXJlIG11c3QgYmUgYXQgbGVhc3Qgb25lIHdoZW4gZnVuY3Rpb24gdGhhdCBwYXNzZXMgb3IgYW4gdW5kZWZpbmVkIHRvXG4gICAgICogZGVmYXVsdC5cbiAgICAgKi9cbiAgICB3aGVuOiAoaW5kZXg6IG51bWJlciwgbm9kZURhdGE6IFQpID0+IGJvb2xlYW47XG5cbiAgICAvKiogQGRvY3MtcHJpdmF0ZSAqL1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pikge31cbn1cbiJdfQ==
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21vc2FpYy90cmVlL25vZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUc5RCxtREFBbUQ7QUFDbkQsTUFBTSxPQUFPLHVCQUF1QjtJQWFoQyxZQUFZLElBQU87UUFDZixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztJQUMxQixDQUFDO0NBQ0o7QUFFRDs7O0dBR0c7QUFLSCxNQUFNLE9BQU8sYUFBYTtJQVl0QixvQkFBb0I7SUFDcEIsWUFBbUIsUUFBMEI7UUFBMUIsYUFBUSxHQUFSLFFBQVEsQ0FBa0I7SUFBRyxDQUFDO2lJQWJ4QyxhQUFhO3FIQUFiLGFBQWE7OzJGQUFiLGFBQWE7a0JBSnpCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsTUFBTSxFQUFFLENBQUMseUJBQXlCLENBQUM7aUJBQ3RDO2tHQUV3QixJQUFJO3NCQUF4QixLQUFLO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5cbi8qKiBDb250ZXh0IHByb3ZpZGVkIHRvIHRoZSB0cmVlIG5vZGUgY29tcG9uZW50LiAqL1xuZXhwb3J0IGNsYXNzIE1jVHJlZU5vZGVPdXRsZXRDb250ZXh0PFQ+IHtcbiAgICAvKiogRGF0YSBmb3IgdGhlIG5vZGUuICovXG4gICAgJGltcGxpY2l0OiBUO1xuXG4gICAgLyoqIERlcHRoIG9mIHRoZSBub2RlLiAqL1xuICAgIGxldmVsOiBudW1iZXI7XG5cbiAgICAvKiogSW5kZXggbG9jYXRpb24gb2YgdGhlIG5vZGUuICovXG4gICAgaW5kZXg/OiBudW1iZXI7XG5cbiAgICAvKiogTGVuZ3RoIG9mIHRoZSBudW1iZXIgb2YgdG90YWwgZGF0YU5vZGVzLiAqL1xuICAgIGNvdW50PzogbnVtYmVyO1xuXG4gICAgY29uc3RydWN0b3IoZGF0YTogVCkge1xuICAgICAgICB0aGlzLiRpbXBsaWNpdCA9IGRhdGE7XG4gICAgfVxufVxuXG4vKipcbiAqIERhdGEgbm9kZSBkZWZpbml0aW9uIGZvciB0aGUgTWNUcmVlLlxuICogQ2FwdHVyZXMgdGhlIG5vZGUncyB0ZW1wbGF0ZSBhbmQgYSB3aGVuIHByZWRpY2F0ZSB0aGF0IGRlc2NyaWJlcyB3aGVuIHRoaXMgbm9kZSBzaG91bGQgYmUgdXNlZC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbbWNUcmVlTm9kZURlZl0nLFxuICAgIGlucHV0czogWyd3aGVuOiBtY1RyZWVOb2RlRGVmV2hlbiddXG59KVxuZXhwb3J0IGNsYXNzIE1jVHJlZU5vZGVEZWY8VD4ge1xuICAgIEBJbnB1dCgnbWNUcmVlTm9kZScpIGRhdGE6IFQ7XG5cbiAgICAvKipcbiAgICAgKiBGdW5jdGlvbiB0aGF0IHNob3VsZCByZXR1cm4gdHJ1ZSBpZiB0aGlzIG5vZGUgdGVtcGxhdGUgc2hvdWxkIGJlIHVzZWQgZm9yIHRoZSBwcm92aWRlZCBub2RlXG4gICAgICogZGF0YSBhbmQgaW5kZXguIElmIGxlZnQgdW5kZWZpbmVkLCB0aGlzIG5vZGUgd2lsbCBiZSBjb25zaWRlcmVkIHRoZSBkZWZhdWx0IG5vZGUgdGVtcGxhdGUgdG9cbiAgICAgKiB1c2Ugd2hlbiBubyBvdGhlciB3aGVuIGZ1bmN0aW9ucyByZXR1cm4gdHJ1ZSBmb3IgdGhlIGRhdGEuXG4gICAgICogRm9yIGV2ZXJ5IG5vZGUsIHRoZXJlIG11c3QgYmUgYXQgbGVhc3Qgb25lIHdoZW4gZnVuY3Rpb24gdGhhdCBwYXNzZXMgb3IgYW4gdW5kZWZpbmVkIHRvXG4gICAgICogZGVmYXVsdC5cbiAgICAgKi9cbiAgICB3aGVuOiAoaW5kZXg6IG51bWJlciwgbm9kZURhdGE6IFQpID0+IGJvb2xlYW47XG5cbiAgICAvKiogQGRvY3MtcHJpdmF0ZSAqL1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pikge31cbn1cbiJdfQ==
@@ -5,11 +5,11 @@ export class McTreeNodeOutlet {
5
5
  this.viewContainer = viewContainer;
6
6
  this.changeDetectorRef = changeDetectorRef;
7
7
  }
8
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: McTreeNodeOutlet, deps: [{ token: i0.ViewContainerRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
9
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.5", type: McTreeNodeOutlet, selector: "[mcTreeNodeOutlet]", ngImport: i0 }); }
8
10
  }
9
- /** @nocollapse */ McTreeNodeOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McTreeNodeOutlet, deps: [{ token: i0.ViewContainerRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
10
- /** @nocollapse */ McTreeNodeOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: McTreeNodeOutlet, selector: "[mcTreeNodeOutlet]", ngImport: i0 });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McTreeNodeOutlet, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: McTreeNodeOutlet, decorators: [{
12
12
  type: Directive,
13
13
  args: [{ selector: '[mcTreeNodeOutlet]' }]
14
14
  }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.ChangeDetectorRef }]; } });
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0bGV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvbW9zYWljL3RyZWUvb3V0bGV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSS9FLE1BQU0sT0FBTyxnQkFBZ0I7SUFDekIsWUFBbUIsYUFBK0IsRUFBUyxpQkFBb0M7UUFBNUUsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBQVMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtJQUFHLENBQUM7O2dJQUQxRixnQkFBZ0I7b0hBQWhCLGdCQUFnQjsyRkFBaEIsZ0JBQWdCO2tCQUQ1QixTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLG9CQUFvQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIERpcmVjdGl2ZSwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1ttY1RyZWVOb2RlT3V0bGV0XScgfSlcbmV4cG9ydCBjbGFzcyBNY1RyZWVOb2RlT3V0bGV0IHtcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZiwgcHVibGljIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge31cbn1cbiJdfQ==
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0bGV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvbW9zYWljL3RyZWUvb3V0bGV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSS9FLE1BQU0sT0FBTyxnQkFBZ0I7SUFDekIsWUFBbUIsYUFBK0IsRUFBUyxpQkFBb0M7UUFBNUUsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBQVMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtJQUFHLENBQUM7aUlBRDFGLGdCQUFnQjtxSEFBaEIsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQUQ1QixTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLG9CQUFvQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIERpcmVjdGl2ZSwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1ttY1RyZWVOb2RlT3V0bGV0XScgfSlcbmV4cG9ydCBjbGFzcyBNY1RyZWVOb2RlT3V0bGV0IHtcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZiwgcHVibGljIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge31cbn1cbiJdfQ==
@@ -0,0 +1,113 @@
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 '@mosaic-design/tokens-fe-2022/web';
5
+ import { Subject } from 'rxjs';
6
+ import { takeUntil } from 'rxjs/operators';
7
+ import { McTreeBase, McTreeNode } from './tree-base';
8
+ import { McTreeOption } from './tree-option.component';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "./tree-base";
11
+ import * as i2 from "./tree-option.component";
12
+ import * as i3 from "@angular/cdk/bidi";
13
+ /** Regex used to split a string on its CSS units. */
14
+ const cssUnitPattern = /([A-Za-z%]+)$/;
15
+ export class McTreeNodePadding {
16
+ get level() {
17
+ return this._level;
18
+ }
19
+ set level(value) {
20
+ this.setLevelInput(value);
21
+ }
22
+ get indent() {
23
+ return this._indent;
24
+ }
25
+ set indent(indent) {
26
+ this.setIndentInput(indent);
27
+ }
28
+ get leftPadding() {
29
+ return (this.withIcon ? 0 : this.iconWidth) + this.baseLeftPadding;
30
+ }
31
+ constructor(treeNode, tree, renderer, element, option, dir) {
32
+ this.treeNode = treeNode;
33
+ this.tree = tree;
34
+ this.renderer = renderer;
35
+ this.element = element;
36
+ this.option = option;
37
+ this.dir = dir;
38
+ this._indent = 20;
39
+ /** CSS units used for the indentation value. */
40
+ this.indentUnits = 'px';
41
+ this.baseLeftPadding = parseInt(TreeSizePaddingLeft);
42
+ this.iconWidth = 24;
43
+ this.destroyed = new Subject();
44
+ this.dir?.change?.pipe(takeUntil(this.destroyed))
45
+ .subscribe(() => this.setPadding());
46
+ }
47
+ ngAfterViewInit() {
48
+ this.withIcon = this.option.isToggleInDefaultPlace;
49
+ this.setPadding();
50
+ }
51
+ ngOnDestroy() {
52
+ this.destroyed.next();
53
+ this.destroyed.complete();
54
+ }
55
+ paddingIndent() {
56
+ const nodeLevel = (this.treeNode.data && this.tree.treeControl.getLevel)
57
+ ? this.tree.treeControl.getLevel(this.treeNode.data)
58
+ : 0;
59
+ const level = this.level || nodeLevel;
60
+ return level > 0 ? `${(level * this._indent) + this.leftPadding}px` : `${this.leftPadding}px`;
61
+ }
62
+ /**
63
+ * This has been extracted to a util because of TS 4 and VE.
64
+ * View Engine doesn't support property rename inheritance.
65
+ * TS 4.0 doesn't allow properties to override accessors or vice-versa.
66
+ * @docs-private
67
+ */
68
+ setLevelInput(value) {
69
+ // Set to null as the fallback value so that _setPadding can fall back to the node level if the
70
+ // consumer set the directive as `mcTreeNodePadding=""`. We still want to take this value if
71
+ // they set 0 explicitly.
72
+ this._level = coerceNumberProperty(value, null);
73
+ this.setPadding();
74
+ }
75
+ /**
76
+ * This has been extracted to a util because of TS 4 and VE.
77
+ * View Engine doesn't support property rename inheritance.
78
+ * TS 4.0 doesn't allow properties to override accessors or vice-versa.
79
+ * @docs-private
80
+ */
81
+ setIndentInput(indent) {
82
+ let value = indent;
83
+ let units = 'px';
84
+ if (typeof indent === 'string') {
85
+ const parts = indent.split(cssUnitPattern);
86
+ value = parts[0];
87
+ units = parts[1] || units;
88
+ }
89
+ this.indentUnits = units;
90
+ this._indent = coerceNumberProperty(value);
91
+ this.setPadding();
92
+ }
93
+ setPadding() {
94
+ const padding = this.paddingIndent();
95
+ const paddingProp = this.dir?.value === 'rtl' ? 'paddingRight' : 'paddingLeft';
96
+ this.renderer.setStyle(this.element.nativeElement, paddingProp, padding);
97
+ }
98
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: McTreeNodePadding, deps: [{ token: i1.McTreeNode }, { token: i1.McTreeBase }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i2.McTreeOption }, { token: i3.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
99
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.5", type: McTreeNodePadding, selector: "[mcTreeNodePadding]", inputs: { indent: ["mcTreeNodePaddingIndent", "indent"] }, exportAs: ["mcTreeNodePadding"], ngImport: i0 }); }
100
+ }
101
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: McTreeNodePadding, decorators: [{
102
+ type: Directive,
103
+ args: [{
104
+ selector: '[mcTreeNodePadding]',
105
+ exportAs: 'mcTreeNodePadding'
106
+ }]
107
+ }], ctorParameters: function () { return [{ type: i1.McTreeNode }, { type: i1.McTreeBase }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i2.McTreeOption }, { type: i3.Directionality, decorators: [{
108
+ type: Optional
109
+ }] }]; }, propDecorators: { indent: [{
110
+ type: Input,
111
+ args: ['mcTreeNodePaddingIndent']
112
+ }] } });
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFkZGluZy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9tb3NhaWMvdHJlZS9wYWRkaW5nLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0QsT0FBTyxFQUVILFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUVMLFFBQVEsRUFDUixTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7OztBQUd2RCxxREFBcUQ7QUFDckQsTUFBTSxjQUFjLEdBQUcsZUFBZSxDQUFDO0FBT3ZDLE1BQU0sT0FBTyxpQkFBaUI7SUFDMUIsSUFBSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxLQUFhO1FBQ25CLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUlELElBQ0ksTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxNQUFNLENBQUMsTUFBdUI7UUFDOUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBSUQsSUFBSSxXQUFXO1FBQ1gs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QUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxPQUFPLEdBQUcsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFTyxVQUFVO1FBQ2QsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFFL0UsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzdFLENBQUM7aUlBNUdRLGlCQUFpQjtxSEFBakIsaUJBQWlCOzsyRkFBakIsaUJBQWlCO2tCQUo3QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFFBQVEsRUFBRSxtQkFBbUI7aUJBQ2hDOzswQkEyQ1EsUUFBUTs0Q0E5QlQsTUFBTTtzQkFEVCxLQUFLO3VCQUFDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGlvbmFsaXR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xuaW1wb3J0IHsgY29lcmNlTnVtYmVyUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPcHRpb25hbCxcbiAgICBSZW5kZXJlcjJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmVlU2l6ZVBhZGRpbmdMZWZ0IH0gZnJvbSAnQG1vc2FpYy1kZXNpZ24vdG9rZW5zLWZlLTIwMjIvd2ViJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgTWNUcmVlQmFzZSwgTWNUcmVlTm9kZSB9IGZyb20gJy4vdHJlZS1iYXNlJztcbmltcG9ydCB7IE1jVHJlZU9wdGlvbiB9IGZyb20gJy4vdHJlZS1vcHRpb24uY29tcG9uZW50JztcblxuXG4vKiogUmVnZXggdXNlZCB0byBzcGxpdCBhIHN0cmluZyBvbiBpdHMgQ1NTIHVuaXRzLiAqL1xuY29uc3QgY3NzVW5pdFBhdHRlcm4gPSAvKFtBLVphLXolXSspJC87XG5cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbbWNUcmVlTm9kZVBhZGRpbmddJyxcbiAgICBleHBvcnRBczogJ21jVHJlZU5vZGVQYWRkaW5nJ1xufSlcbmV4cG9ydCBjbGFzcyBNY1RyZWVOb2RlUGFkZGluZzxUPiBpbXBsZW1lbnRzIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgZ2V0IGxldmVsKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl9sZXZlbDtcbiAgICB9XG5cbiAgICBzZXQgbGV2ZWwodmFsdWU6IG51bWJlcikge1xuICAgICAgICB0aGlzLnNldExldmVsSW5wdXQodmFsdWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2xldmVsOiBudW1iZXI7XG5cbiAgICBASW5wdXQoJ21jVHJlZU5vZGVQYWRkaW5nSW5kZW50JylcbiAgICBnZXQgaW5kZW50KCk6IG51bWJlciB8IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pbmRlbnQ7XG4gICAgfVxuXG4gICAgc2V0IGluZGVudChpbmRlbnQ6IG51bWJlciB8IHN0cmluZykge1xuICAgICAgICB0aGlzLnNldEluZGVudElucHV0KGluZGVudCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfaW5kZW50OiBudW1iZXIgPSAyMDtcblxuICAgIGdldCBsZWZ0UGFkZGluZygpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gKHRoaXMud2l0aEljb24gPyAwIDogdGhpcy5pY29uV2lkdGgpICsgdGhpcy5iYXNlTGVmdFBhZGRpbmc7XG4gICAgfVxuXG4gICAgLyoqIENTUyB1bml0cyB1c2VkIGZvciB0aGUgaW5kZW50YXRpb24gdmFsdWUuICovXG4gICAgaW5kZW50VW5pdHMgPSAncHgnO1xuXG4gICAgYmFzZUxlZnRQYWRkaW5nOiBudW1iZXIgPSBwYXJzZUludChUcmVlU2l6ZVBhZGRpbmdMZWZ0KTtcblxuICAgIHdpdGhJY29uOiBib29sZWFuO1xuICAgIGljb25XaWR0aDogbnVtYmVyID0gMjQ7XG5cbiAgICBwcml2YXRlIGRlc3Ryb3llZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIHRyZWVOb2RlOiBNY1RyZWVOb2RlPFQ+LFxuICAgICAgICBwcm90ZWN0ZWQgdHJlZTogTWNUcmVlQmFzZTxUPixcbiAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBwcml2YXRlIG9wdGlvbjogTWNUcmVlT3B0aW9uLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGRpcjogRGlyZWN0aW9uYWxpdHlcbiAgICApIHtcbiAgICAgICAgdGhpcy5kaXI/LmNoYW5nZT8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnNldFBhZGRpbmcoKSk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLndpdGhJY29uID0gdGhpcy5vcHRpb24uaXNUb2dnbGVJbkRlZmF1bHRQbGFjZTtcbiAgICAgICAgdGhpcy5zZXRQYWRkaW5nKCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuZGVzdHJveWVkLm5leHQoKTtcbiAgICAgICAgdGhpcy5kZXN0cm95ZWQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBwYWRkaW5nSW5kZW50KCk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBjb25zdCBub2RlTGV2ZWwgPSAodGhpcy50cmVlTm9kZS5kYXRhICYmIHRoaXMudHJlZS50cmVlQ29udHJvbC5nZXRMZXZlbClcbiAgICAgICAgICAgID8gdGhpcy50cmVlLnRyZWVDb250cm9sLmdldExldmVsKHRoaXMudHJlZU5vZGUuZGF0YSlcbiAgICAgICAgICAgIDogMDtcblxuICAgICAgICBjb25zdCBsZXZlbCA9IHRoaXMubGV2ZWwgfHwgbm9kZUxldmVsO1xuXG4gICAgICAgIHJldHVybiBsZXZlbCA+IDAgPyBgJHsobGV2ZWwgKiB0aGlzLl9pbmRlbnQpICsgdGhpcy5sZWZ0UGFkZGluZ31weGAgOiBgJHt0aGlzLmxlZnRQYWRkaW5nfXB4YDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIGhhcyBiZWVuIGV4dHJhY3RlZCB0byBhIHV0aWwgYmVjYXVzZSBvZiBUUyA0IGFuZCBWRS5cbiAgICAgKiBWaWV3IEVuZ2luZSBkb2Vzbid0IHN1cHBvcnQgcHJvcGVydHkgcmVuYW1lIGluaGVyaXRhbmNlLlxuICAgICAqIFRTIDQuMCBkb2Vzbid0IGFsbG93IHByb3BlcnRpZXMgdG8gb3ZlcnJpZGUgYWNjZXNzb3JzIG9yIHZpY2UtdmVyc2EuXG4gICAgICogQGRvY3MtcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgc2V0TGV2ZWxJbnB1dCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIC8vIFNldCB0byBudWxsIGFzIHRoZSBmYWxsYmFjayB2YWx1ZSBzbyB0aGF0IF9zZXRQYWRkaW5nIGNhbiBmYWxsIGJhY2sgdG8gdGhlIG5vZGUgbGV2ZWwgaWYgdGhlXG4gICAgICAgIC8vIGNvbnN1bWVyIHNldCB0aGUgZGlyZWN0aXZlIGFzIGBtY1RyZWVOb2RlUGFkZGluZz1cIlwiYC4gV2Ugc3RpbGwgd2FudCB0byB0YWtlIHRoaXMgdmFsdWUgaWZcbiAgICAgICAgLy8gdGhleSBzZXQgMCBleHBsaWNpdGx5LlxuICAgICAgICB0aGlzLl9sZXZlbCA9IGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlLCBudWxsKSE7XG4gICAgICAgIHRoaXMuc2V0UGFkZGluZygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgaGFzIGJlZW4gZXh0cmFjdGVkIHRvIGEgdXRpbCBiZWNhdXNlIG9mIFRTIDQgYW5kIFZFLlxuICAgICAqIFZpZXcgRW5naW5lIGRvZXNuJ3Qgc3VwcG9ydCBwcm9wZXJ0eSByZW5hbWUgaW5oZXJpdGFuY2UuXG4gICAgICogVFMgNC4wIGRvZXNuJ3QgYWxsb3cgcHJvcGVydGllcyB0byBvdmVycmlkZSBhY2Nlc3NvcnMgb3IgdmljZS12ZXJzYS5cbiAgICAgKiBAZG9jcy1wcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBzZXRJbmRlbnRJbnB1dChpbmRlbnQ6IG51bWJlciB8IHN0cmluZykge1xuICAgICAgICBsZXQgdmFsdWUgPSBpbmRlbnQ7XG4gICAgICAgIGxldCB1bml0cyA9ICdweCc7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBpbmRlbnQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJ0cyA9IGluZGVudC5zcGxpdChjc3NVbml0UGF0dGVybik7XG4gICAgICAgICAgICB2YWx1ZSA9IHBhcnRzWzBdO1xuICAgICAgICAgICAgdW5pdHMgPSBwYXJ0c1sxXSB8fCB1bml0cztcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaW5kZW50VW5pdHMgPSB1bml0cztcbiAgICAgICAgdGhpcy5faW5kZW50ID0gY29lcmNlTnVtYmVyUHJvcGVydHkodmFsdWUpO1xuICAgICAgICB0aGlzLnNldFBhZGRpbmcoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFBhZGRpbmcoKSB7XG4gICAgICAgIGNvbnN0IHBhZGRpbmcgPSB0aGlzLnBhZGRpbmdJbmRlbnQoKTtcbiAgICAgICAgY29uc3QgcGFkZGluZ1Byb3AgPSB0aGlzLmRpcj8udmFsdWUgPT09ICdydGwnID8gJ3BhZGRpbmdSaWdodCcgOiAncGFkZGluZ0xlZnQnO1xuXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIHBhZGRpbmdQcm9wLCBwYWRkaW5nKTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,81 @@
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
+ /** @docs-private */
9
+ export class McTreeNodeToggleBase {
10
+ }
11
+ /** @docs-private */
12
+ export const McTreeNodeToggleMixinBase = mixinDisabled(McTreeNodeToggleBase);
13
+ /** @docs-private */
14
+ export class McTreeNodeToggleBaseDirective extends McTreeNodeToggleMixinBase {
15
+ get recursive() {
16
+ return this._recursive;
17
+ }
18
+ set recursive(value) {
19
+ this._recursive = coerceBooleanProperty(value);
20
+ }
21
+ get iconState() {
22
+ return this.tree.treeControl.isExpanded(this.node);
23
+ }
24
+ constructor(tree, treeNode) {
25
+ super();
26
+ this.tree = tree;
27
+ this.treeNode = treeNode;
28
+ this._recursive = false;
29
+ this.tree.treeControl.filterValue
30
+ .pipe(map((value) => value?.length > 0))
31
+ .subscribe((state) => this.disabled = state);
32
+ }
33
+ toggle(event) {
34
+ if (this.disabled) {
35
+ return;
36
+ }
37
+ this.recursive
38
+ ? this.tree.treeControl.toggleDescendants(this.treeNode.data)
39
+ : this.tree.treeControl.toggle(this.treeNode.data);
40
+ event.stopPropagation();
41
+ }
42
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: McTreeNodeToggleBaseDirective, deps: [{ token: i1.McTreeBase }, { token: i1.McTreeNode }], target: i0.ɵɵFactoryTarget.Directive }); }
43
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.5", type: McTreeNodeToggleBaseDirective, inputs: { node: "node", recursive: ["mcTreeNodeToggleRecursive", "recursive"] }, usesInheritance: true, ngImport: i0 }); }
44
+ }
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: McTreeNodeToggleBaseDirective, decorators: [{
46
+ type: Directive
47
+ }], ctorParameters: function () { return [{ type: i1.McTreeBase }, { type: i1.McTreeNode }]; }, propDecorators: { node: [{
48
+ type: Input
49
+ }], recursive: [{
50
+ type: Input,
51
+ args: ['mcTreeNodeToggleRecursive']
52
+ }] } });
53
+ export class McTreeNodeToggleComponent extends McTreeNodeToggleBaseDirective {
54
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: McTreeNodeToggleComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
55
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", 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;height:100%;padding-left:var(--mc-tree-size-toggle-padding, 4px);padding-right:var(--mc-tree-size-toggle-padding, 4px);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
+ }
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: McTreeNodeToggleComponent, decorators: [{
58
+ type: Component,
59
+ args: [{ selector: 'mc-tree-node-toggle', exportAs: 'mcTreeNodeToggle', template: `<i class="mc mc-icon mc-angle-down-S_16"></i>`, host: {
60
+ class: 'mc-tree-node-toggle',
61
+ '[class.mc-expanded]': 'iconState',
62
+ '[attr.disabled]': 'disabled || null',
63
+ '(click)': 'toggle($event)'
64
+ }, inputs: ['disabled'], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".mc-tree-node-toggle{display:flex;align-items:center;justify-content:center;flex-shrink:0;height:100%;padding-left:var(--mc-tree-size-toggle-padding, 4px);padding-right:var(--mc-tree-size-toggle-padding, 4px);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"] }]
65
+ }] });
66
+ export class McTreeNodeToggleDirective extends McTreeNodeToggleBaseDirective {
67
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: McTreeNodeToggleDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
68
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.5", 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
+ }
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: McTreeNodeToggleDirective, decorators: [{
71
+ type: Directive,
72
+ args: [{
73
+ selector: '[mc-tree-node-toggle], [mcTreeNodeToggle]',
74
+ exportAs: 'mcTreeNodeToggle',
75
+ host: {
76
+ '[attr.disabled]': 'disabled || null',
77
+ '(click)': 'toggle($event)'
78
+ }
79
+ }]
80
+ }] });
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvbW9zYWljL3RyZWUvdG9nZ2xlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RyxPQUFPLEVBQThCLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7O0FBR3JELG9CQUFvQjtBQUNwQixNQUFNLE9BQU8sb0JBQW9CO0NBQUc7QUFHcEMsb0JBQW9CO0FBQ3BCLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUNhLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0FBRXZGLG9CQUFvQjtBQUVwQixNQUFNLE9BQU8sNkJBQWlDLFNBQVEseUJBQXlCO0lBRzNFLElBQ0ksU0FBUztRQUNULE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxTQUFTLENBQUMsS0FBVTtRQUNwQixJQUFJLENBQUMsVUFBVSxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFJRCxJQUFJLFNBQVM7UUFDVCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELFlBQW9CLElBQW1CLEVBQVUsUUFBdUI7UUFDcEUsS0FBSyxFQUFFLENBQUM7UUFEUSxTQUFJLEdBQUosSUFBSSxDQUFlO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBZTtRQU5oRSxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBU3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVc7YUFDNUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQzthQUN2QyxTQUFTLENBQUMsQ0FBQyxLQUFjLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFZO1FBQ2YsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQUUsT0FBTztTQUFFO1FBRTlCLElBQUksQ0FBQyxTQUFTO1lBQ1YsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQzdELENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV2RCxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDNUIsQ0FBQztpSUFsQ1EsNkJBQTZCO3FIQUE3Qiw2QkFBNkI7OzJGQUE3Qiw2QkFBNkI7a0JBRHpDLFNBQVM7MEhBRUcsSUFBSTtzQkFBWixLQUFLO2dCQUdGLFNBQVM7c0JBRFosS0FBSzt1QkFBQywyQkFBMkI7O0FBb0R0QyxNQUFNLE9BQU8seUJBQTZCLFNBQVEsNkJBQWdDO2lJQUFyRSx5QkFBeUI7cUhBQXpCLHlCQUF5QixzVUFkeEIsK0NBQStDOzsyRkFjaEQseUJBQXlCO2tCQWpCckMsU0FBUzsrQkFDSSxxQkFBcUIsWUFDckIsa0JBQWtCLFlBQ2xCLCtDQUErQyxRQUVuRDt3QkFDRixLQUFLLEVBQUUscUJBQXFCO3dCQUM1QixxQkFBcUIsRUFBRSxXQUFXO3dCQUVsQyxpQkFBaUIsRUFBRSxrQkFBa0I7d0JBRXJDLFNBQVMsRUFBRSxnQkFBZ0I7cUJBQzlCLFVBQ08sQ0FBQyxVQUFVLENBQUMsaUJBQ0wsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTs7QUFhbkQsTUFBTSxPQUFPLHlCQUE2QixTQUFRLDZCQUFnQztpSUFBckUseUJBQXlCO3FIQUF6Qix5QkFBeUI7OzJGQUF6Qix5QkFBeUI7a0JBUnJDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDJDQUEyQztvQkFDckQsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsSUFBSSxFQUFFO3dCQUNGLGlCQUFpQixFQUFFLGtCQUFrQjt3QkFDckMsU0FBUyxFQUFFLGdCQUFnQjtxQkFDOUI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRGlyZWN0aXZlLCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENhbkRpc2FibGUsIENhbkRpc2FibGVDdG9yLCBtaXhpbkRpc2FibGVkIH0gZnJvbSAnQHB0c2VjdXJpdHkvbW9zYWljL2NvcmUnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBNY1RyZWVCYXNlLCBNY1RyZWVOb2RlIH0gZnJvbSAnLi90cmVlLWJhc2UnO1xuXG5cbi8qKiBAZG9jcy1wcml2YXRlICovXG5leHBvcnQgY2xhc3MgTWNUcmVlTm9kZVRvZ2dsZUJhc2Uge31cblxuXG4vKiogQGRvY3MtcHJpdmF0ZSAqL1xuZXhwb3J0IGNvbnN0IE1jVHJlZU5vZGVUb2dnbGVNaXhpbkJhc2U6XG4gICAgQ2FuRGlzYWJsZUN0b3IgJiB0eXBlb2YgTWNUcmVlTm9kZVRvZ2dsZUJhc2UgPSBtaXhpbkRpc2FibGVkKE1jVHJlZU5vZGVUb2dnbGVCYXNlKTtcblxuLyoqIEBkb2NzLXByaXZhdGUgKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIE1jVHJlZU5vZGVUb2dnbGVCYXNlRGlyZWN0aXZlPFQ+IGV4dGVuZHMgTWNUcmVlTm9kZVRvZ2dsZU1peGluQmFzZSBpbXBsZW1lbnRzIENhbkRpc2FibGUge1xuICAgIEBJbnB1dCgpIG5vZGU6IFQ7XG5cbiAgICBASW5wdXQoJ21jVHJlZU5vZGVUb2dnbGVSZWN1cnNpdmUnKVxuICAgIGdldCByZWN1cnNpdmUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZWN1cnNpdmU7XG4gICAgfVxuXG4gICAgc2V0IHJlY3Vyc2l2ZSh2YWx1ZTogYW55KSB7XG4gICAgICAgIHRoaXMuX3JlY3Vyc2l2ZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfcmVjdXJzaXZlID0gZmFsc2U7XG5cbiAgICBnZXQgaWNvblN0YXRlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy50cmVlLnRyZWVDb250cm9sLmlzRXhwYW5kZWQodGhpcy5ub2RlKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyZWU6IE1jVHJlZUJhc2U8VD4sIHByaXZhdGUgdHJlZU5vZGU6IE1jVHJlZU5vZGU8VD4pIHtcbiAgICAgICAgc3VwZXIoKTtcblxuICAgICAgICB0aGlzLnRyZWUudHJlZUNvbnRyb2wuZmlsdGVyVmFsdWVcbiAgICAgICAgICAgIC5waXBlKG1hcCgodmFsdWUpID0+IHZhbHVlPy5sZW5ndGggPiAwKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHN0YXRlOiBib29sZWFuKSA9PiB0aGlzLmRpc2FibGVkID0gc3RhdGUpO1xuICAgIH1cblxuICAgIHRvZ2dsZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHsgcmV0dXJuOyB9XG5cbiAgICAgICAgdGhpcy5yZWN1cnNpdmVcbiAgICAgICAgICAgID8gdGhpcy50cmVlLnRyZWVDb250cm9sLnRvZ2dsZURlc2NlbmRhbnRzKHRoaXMudHJlZU5vZGUuZGF0YSlcbiAgICAgICAgICAgIDogdGhpcy50cmVlLnRyZWVDb250cm9sLnRvZ2dsZSh0aGlzLnRyZWVOb2RlLmRhdGEpO1xuXG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cbn1cblxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ21jLXRyZWUtbm9kZS10b2dnbGUnLFxuICAgIGV4cG9ydEFzOiAnbWNUcmVlTm9kZVRvZ2dsZScsXG4gICAgdGVtcGxhdGU6IGA8aSBjbGFzcz1cIm1jIG1jLWljb24gbWMtYW5nbGUtZG93bi1TXzE2XCI+PC9pPmAsXG4gICAgc3R5bGVVcmxzOiBbJy4vdG9nZ2xlLnNjc3MnXSxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnbWMtdHJlZS1ub2RlLXRvZ2dsZScsXG4gICAgICAgICdbY2xhc3MubWMtZXhwYW5kZWRdJzogJ2ljb25TdGF0ZScsXG5cbiAgICAgICAgJ1thdHRyLmRpc2FibGVkXSc6ICdkaXNhYmxlZCB8fCBudWxsJyxcblxuICAgICAgICAnKGNsaWNrKSc6ICd0b2dnbGUoJGV2ZW50KSdcbiAgICB9LFxuICAgIGlucHV0czogWydkaXNhYmxlZCddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTWNUcmVlTm9kZVRvZ2dsZUNvbXBvbmVudDxUPiBleHRlbmRzIE1jVHJlZU5vZGVUb2dnbGVCYXNlRGlyZWN0aXZlPFQ+IHt9XG5cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbbWMtdHJlZS1ub2RlLXRvZ2dsZV0sIFttY1RyZWVOb2RlVG9nZ2xlXScsXG4gICAgZXhwb3J0QXM6ICdtY1RyZWVOb2RlVG9nZ2xlJyxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5kaXNhYmxlZF0nOiAnZGlzYWJsZWQgfHwgbnVsbCcsXG4gICAgICAgICcoY2xpY2spJzogJ3RvZ2dsZSgkZXZlbnQpJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgTWNUcmVlTm9kZVRvZ2dsZURpcmVjdGl2ZTxUPiBleHRlbmRzIE1jVHJlZU5vZGVUb2dnbGVCYXNlRGlyZWN0aXZlPFQ+IHt9XG4iXX0=
@@ -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
+ /**
10
+ * Provides a stream containing the latest data array to render. Influenced by the tree's
11
+ * stream of view window (what dataNodes are currently on screen).
12
+ * Data source can be an observable of data array, or a dara array to render.
13
+ */
14
+ get dataSource() {
15
+ return this._dataSource;
16
+ }
17
+ set dataSource(dataSource) {
18
+ if (this._dataSource !== dataSource) {
19
+ this.switchDataSource(dataSource);
20
+ }
21
+ }
22
+ constructor(differs, changeDetectorRef) {
23
+ this.differs = differs;
24
+ this.changeDetectorRef = changeDetectorRef;
25
+ // TODO(tinayuangao): Setup a listener for scrolling, emit the calculated view to viewChange.
26
+ // Remove the MAX_VALUE in viewChange
27
+ /**
28
+ * Stream containing the latest information on what rows are being displayed on screen.
29
+ * Can be used by the data source to as a heuristic of what data should be provided.
30
+ */
31
+ this.viewChange = new BehaviorSubject({ start: 0, end: Number.MAX_VALUE });
32
+ /** Subject that emits when the component has been destroyed. */
33
+ this.onDestroy = new Subject();
34
+ /** Level of nodes */
35
+ this.levels = new Map();
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
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: McTreeBase, deps: [{ token: i0.IterableDiffers }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
182
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.5", 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 }); }
183
+ }
184
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", 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
+ /**
201
+ * The most recently created `McTreeNode`. We save it in static variable so we can retrieve it
202
+ * in `McTree` and set the data to it.
203
+ */
204
+ static { this.mostRecentTreeNode = null; }
205
+ get data() {
206
+ return this._data;
207
+ }
208
+ set data(value) {
209
+ this._data = value;
210
+ }
211
+ get isExpanded() {
212
+ return this.tree.treeControl.isExpanded(this.data);
213
+ }
214
+ get level() {
215
+ return this.tree.treeControl.getLevel ? this.tree.treeControl.getLevel(this._data) : 0;
216
+ }
217
+ constructor(elementRef, tree) {
218
+ this.elementRef = elementRef;
219
+ this.tree = tree;
220
+ this.destroyed = new Subject();
221
+ McTreeNode.mostRecentTreeNode = this;
222
+ }
223
+ ngOnDestroy() {
224
+ this.destroyed.next();
225
+ this.destroyed.complete();
226
+ }
227
+ focus() {
228
+ this.elementRef.nativeElement.focus();
229
+ }
230
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: McTreeNode, deps: [{ token: i0.ElementRef }, { token: forwardRef(() => McTreeBase) }], target: i0.ɵɵFactoryTarget.Directive }); }
231
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.5", type: McTreeNode, selector: "mc-tree-node", exportAs: ["mcTreeNode"], ngImport: i0 }); }
232
+ }
233
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvbW9zYWljL3RyZWUvdHJlZS1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFFSCxpQkFBaUIsRUFDakIsZUFBZSxFQUNmLFVBQVUsRUFDVixLQUFLLEVBR0wsZUFBZSxFQUdmLFNBQVMsRUFDVCxTQUFTLEVBR1QsTUFBTSxFQUNOLFVBQVUsRUFBRSxTQUFTLEVBQ3hCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLEVBQUUsSUFBSSxZQUFZLEVBQUUsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUM5RixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDNUMsT0FBTyxFQUNILDBCQUEwQixFQUMxQixrQ0FBa0MsRUFDbEMsbUNBQW1DLEVBQ25DLDZCQUE2QixFQUNoQyxNQUFNLGVBQWUsQ0FBQzs7QUFJdkIsTUFBTSxPQUFPLFVBQVU7SUF3Q25COzs7O09BSUc7SUFDSCxJQUNJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQUksVUFBVSxDQUFDLFVBQWlEO1FBQzVELElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxVQUFVLEVBQUU7WUFDakMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ3JDO0lBQ0wsQ0FBQztJQUlELFlBQXNCLE9BQXdCLEVBQVksaUJBQW9DO1FBQXhFLFlBQU8sR0FBUCxPQUFPLENBQWlCO1FBQVksc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQXpDOUYsNkZBQTZGO1FBQzdGLHlD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QUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxLQUFLO1FBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDMUMsQ0FBQztpSUF6Q1EsVUFBVSw0Q0E2QlAsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQztxSEE3Qi9CLFVBQVU7OzJGQUFWLFVBQVU7a0JBSnRCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLFFBQVEsRUFBRSxZQUFZO2lCQUN6Qjs7MEJBOEJRLE1BQU07MkJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbGxlY3Rpb25WaWV3ZXIsIERhdGFTb3VyY2UgfSBmcm9tICdAYW5ndWxhci9jZGsvY29sbGVjdGlvbnMnO1xuaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRDaGVja2VkLFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFbGVtZW50UmVmLFxuICAgIElucHV0LFxuICAgIEl0ZXJhYmxlQ2hhbmdlUmVjb3JkLFxuICAgIEl0ZXJhYmxlRGlmZmVyLFxuICAgIEl0ZXJhYmxlRGlmZmVycyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0NvbnRhaW5lclJlZixcbiAgICBUcmFja0J5RnVuY3Rpb24sXG4gICAgSW5qZWN0LFxuICAgIGZvcndhcmRSZWYsIERpcmVjdGl2ZVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElGb2N1c2FibGVPcHRpb24gfSBmcm9tICdAcHRzZWN1cml0eS9jZGsvYTExeSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIG9mIGFzIG9ic2VydmFibGVPZiwgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFRyZWVDb250cm9sIH0gZnJvbSAnLi9jb250cm9sL3RyZWUtY29udHJvbCc7XG5pbXBvcnQgeyBNY1RyZWVOb2RlRGVmLCBNY1RyZWVOb2RlT3V0bGV0Q29udGV4dCB9IGZyb20gJy4vbm9kZSc7XG5pbXBvcnQgeyBNY1RyZWVOb2RlT3V0bGV0IH0gZnJvbSAnLi9vdXRsZXQnO1xuaW1wb3J0IHtcbiAgICBnZXRUcmVlQ29udHJvbE1pc3NpbmdFcnJvcixcbiAgICBnZXRUcmVlTWlzc2luZ01hdGNoaW5nTm9kZURlZkVycm9yLFxuICAgIGdldFRyZWVNdWx0aXBsZURlZmF1bHROb2RlRGVmc0Vycm9yLFxuICAgIGdldFRyZWVOb1ZhbGlkRGF0YVNvdXJjZUVycm9yXG59IGZyb20gJy4vdHJlZS1lcnJvcnMnO1xuXG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIE1jVHJlZUJhc2U8VD4gaW1wbGVtZW50cyBBZnRlckNvbnRlbnRDaGVja2VkLCBDb2xsZWN0aW9uVmlld2VyLCBPbkRlc3Ryb3ksIE9uSW5pdCB7XG4gICAgQElucHV0KCkgdHJlZUNvbnRyb2w6IFRyZWVDb250cm9sPFQ+O1xuXG4gICAgLyoqXG4gICAgICogVHJhY2tpbmcgZnVuY3Rpb24gdGhhdCB3aWxsIGJlIHVzZWQgdG8gY2hlY2sgdGhlIGRpZmZlcmVuY2VzIGluIGRhdGEgY2hhbmdlcy4gVXNlZCBzaW1pbGFybHlcbiAgICAgKiB0byBgbmdGb3JgIGB0cmFja0J5YCBmdW5jdGlvbi4gT3B0aW1pemUgbm9kZSBvcGVyYXRpb25zIGJ5IGlkZW50aWZ5aW5nIGEgbm9kZSBiYXNlZCBvbiBpdHMgZGF0YVxuICAgICAqIHJlbGF0aXZlIHRvIHRoZSBmdW5jdGlvbiB0byBrbm93IGlmIGEgbm9kZSBzaG91bGQgYmUgYWRkZWQvcmVtb3ZlZC9tb3ZlZC5cbiAgICAgKiBBY2NlcHRzIGEgZnVuY3Rpb24gdGhhdCB0YWtlcyB0d28gcGFyYW1ldGVycywgYGluZGV4YCBhbmQgYGl0ZW1gLlxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRyYWNrQnk6IFRyYWNrQnlGdW5jdGlvbjxUPjtcblxuICAgIC8vIE91dGxldHMgd2l0aGluIHRoZSB0cmVlJ3MgdGVtcGxhdGUgd2hlcmUgdGhlIGRhdGFOb2RlcyB3aWxsIGJlIGluc2VydGVkLlxuICAgIEBWaWV3Q2hpbGQoTWNUcmVlTm9kZU91dGxldCwgeyBzdGF0aWM6IHRydWUgfSkgbm9kZU91dGxldDogTWNUcmVlTm9kZU91dGxldDtcblxuICAgIC8qKiBUaGUgdHJlZSBub2RlIHRlbXBsYXRlIGZvciB0aGUgdHJlZSAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oTWNUcmVlTm9kZURlZikgbm9kZURlZnM6IFF1ZXJ5TGlzdDxNY1RyZWVOb2RlRGVmPFQ+PjtcblxuICAgIC8vIFRPRE8odGluYXl1YW5nYW8pOiBTZXR1cCBhIGxpc3RlbmVyIGZvciBzY3JvbGxpbmcsIGVtaXQgdGhlIGNhbGN1bGF0ZWQgdmlldyB0byB2aWV3Q2hhbmdlLlxuICAgIC8vICAgICBSZW1vdmUgdGhlIE1BWF9WQUxVRSBpbiB2aWV3Q2hhbmdlXG4gICAgLyoqXG4gICAgICogU3RyZWFtIGNvbnRhaW5pbmcgdGhlIGxhdGVzdCBpbmZvcm1hdGlvbiBvbiB3aGF0IHJvd3MgYXJlIGJlaW5nIGRpc3BsYXllZCBvbiBzY3JlZW4uXG4gICAgICogQ2FuIGJlIHVzZWQgYnkgdGhlIGRhdGEgc291cmNlIHRvIGFzIGEgaGV1cmlzdGljIG9mIHdoYXQgZGF0YSBzaG91bGQgYmUgcHJvdmlkZWQuXG4gICAgICovXG4gICAgdmlld0NoYW5nZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8eyBzdGFydDogbnVtYmVyOyBlbmQ6IG51bWJlciB9Pih7IHN0YXJ0OiAwLCBlbmQ6IE51bWJlci5NQVhfVkFMVUUgfSk7XG5cbiAgICAvKiogRGlmZmVyIHVzZWQgdG8gZmluZCB0aGUgY2hhbmdlcyBpbiB0aGUgZGF0YSBwcm92aWRlZCBieSB0aGUgZGF0YSBzb3VyY2UuICovXG4gICAgcHJvdGVjdGVkIGRhdGFEaWZmZXI6IEl0ZXJhYmxlRGlmZmVyPFQ+O1xuXG4gICAgLyoqIFN1YmplY3QgdGhhdCBlbWl0cyB3aGVuIHRoZSBjb21wb25lbnQgaGFzIGJlZW4gZGVzdHJveWVkLiAqL1xuICAgIHByaXZhdGUgb25EZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8qKiBTdG9yZXMgdGhlIG5vZGUgZGVmaW5pdGlvbiB0aGF0IGRvZXMgbm90IGhhdmUgYSB3aGVuIHByZWRpY2F0ZS4gKi9cbiAgICBwcml2YXRlIGRlZmF1bHROb2RlRGVmOiBNY1RyZWVOb2RlRGVmPFQ+IHwgbnVsbDtcblxuICAgIC8qKiBEYXRhIHN1YnNjcmlwdGlvbiAqL1xuICAgIHByaXZhdGUgZGF0YVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgbnVsbDtcblxuICAgIC8qKiBMZXZlbCBvZiBub2RlcyAqL1xuICAgIHByaXZhdGUgbGV2ZWxzOiBNYXA8VCwgbnVtYmVyPiA9IG5ldyBNYXA8VCwgbnVtYmVyPigpO1xuXG4gICAgLyoqXG4gICAgICogUHJvdmlkZXMgYSBzdHJlYW0gY29udGFpbmluZyB0aGUgbGF0ZXN0IGRhdGEgYXJyYXkgdG8gcmVuZGVyLiBJbmZsdWVuY2VkIGJ5IHRoZSB0cmVlJ3NcbiAgICAgKiBzdHJlYW0gb2YgdmlldyB3aW5kb3cgKHdoYXQgZGF0YU5vZGVzIGFyZSBjdXJyZW50bHkgb24gc2NyZWVuKS5cbiAgICAgKiBEYXRhIHNvdXJjZSBjYW4gYmUgYW4gb2JzZXJ2YWJsZSBvZiBkYXRhIGFycmF5LCBvciBhIGRhcmEgYXJyYXkgdG8gcmVuZGVyLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGRhdGFTb3VyY2UoKTogRGF0YVNvdXJjZTxUPiB8IE9ic2VydmFibGU8VFtdPiB8IFRbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kYXRhU291cmNlO1xuICAgIH1cblxuICAgIHNldCBkYXRhU291cmNlKGRhdGFTb3VyY2U6IERhdGFTb3VyY2U8VD4gfCBPYnNlcnZhYmxlPFRbXT4gfCBUW10pIHtcbiAgICAgICAgaWYgKHRoaXMuX2RhdGFTb3VyY2UgIT09IGRhdGFTb3VyY2UpIHtcbiAgICAgICAgICAgIHRoaXMuc3dpdGNoRGF0YVNvdXJjZShkYXRhU291cmNlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2RhdGFTb3VyY2U6IERhdGFTb3VyY2U8VD4gfCBPYnNlcnZhYmxlPFRbXT4gfCBUW107XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgZGlmZmVyczogSXRlcmFibGVEaWZmZXJzLCBwcm90ZWN0ZWQgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuZGF0YURpZmZlciA9IHRoaXMuZGlmZmVycy5maW5kKFtdKS5jcmVhdGUodGhpcy50cmFja0J5KTtcblxuICAgICAgICBpZiAoIXRoaXMudHJlZUNvbnRyb2wpIHtcbiAgICAgICAgICAgIHRocm93IGdldFRyZWVDb250cm9sTWlzc2luZ0Vycm9yKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5ub2RlT3V0bGV0LnZpZXdDb250YWluZXIuY2xlYXIoKTtcblxuICAgICAgICB0aGlzLm9uRGVzdHJveS5uZXh0KCk7XG4gICAgICAgIHRoaXMub25EZXN0cm95LmNvbXBsZXRlKCk7XG5cbiAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLXVuYm91bmQtbWV0aG9kXG4gICAgICAgIGlmICh0aGlzLl9kYXRhU291cmNlICYmIHR5cGVvZiAodGhpcy5kYXRhU291cmNlIGFzIERhdGFTb3VyY2U8VD4pLmRpc2Nvbm5lY3QgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICh0aGlzLmRhdGFTb3VyY2UgYXMgRGF0YVNvdXJjZTxUPikuZGlzY29ubmVjdCh0aGlzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmRhdGFTdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuZGF0YVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgdGhpcy5kYXRhU3Vic2NyaXB0aW9uID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpIHtcbiAgICAgICAgY29uc3QgZGVmYXVsdE5vZGVEZWZzID0gdGhpcy5ub2RlRGVmcy5maWx0ZXIoKGRlZikgPT4gIWRlZi53aGVuKTtcblxuICAgICAgICBpZiAoZGVmYXVsdE5vZGVEZWZzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgIHRocm93IGdldFRyZWVNdWx0aXBsZURlZmF1bHROb2RlRGVmc0Vycm9yKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kZWZhdWx0Tm9kZURlZiA9IGRlZmF1bHROb2RlRGVmc1swXTtcblxuICAgICAgICBpZiAodGhpcy5kYXRhU291cmNlICYmIHRoaXMubm9kZURlZnMgJiYgIXRoaXMuZGF0YVN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy5vYnNlcnZlUmVuZGVyQ2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIENoZWNrIGZvciBjaGFuZ2VzIG1hZGUgaW4gdGhlIGRhdGEgYW5kIHJlbmRlciBlYWNoIGNoYW5nZSAobm9kZSBhZGRlZC9yZW1vdmVkL21vdmVkKS4gKi9cbiAgICByZW5kZXJOb2RlQ2hhbmdlcyhcbiAgICAgICAgZGF0YTogVFtdIHwgUmVhZG9ubHlBcnJheTxUPixcbiAgICAgICAgZGF0YURpZmZlcjogSXRlcmFibGVEaWZmZXI8VD4gPSB0aGlzLmRhdGFEaWZmZXIsXG4gICAgICAgIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYgPSB0aGlzLm5vZGVPdXRsZXQudmlld0NvbnRhaW5lcixcbiAgICAgICAgcGFyZW50RGF0YT86IFRcbiAgICApIHtcbiAgICAgICAgY29uc3QgY2hhbmdlcyA9IGRhdGFEaWZmZXIuZGlmZihkYXRhKTtcblxuICAgICAgICBpZiAoIWNoYW5nZXMpIHsgcmV0dXJuOyB9XG5cbiAgICAgICAgY2hhbmdlcy5mb3JFYWNoT3BlcmF0aW9uKChcbiAgICAgICAgICAgIGl0ZW06IEl0ZXJhYmxlQ2hhbmdlUmVjb3JkPFQ+LFxuICAgICAgICAgICAgYWRqdXN0ZWRQcmV2aW91c0luZGV4OiBudW1iZXIgfCBudWxsLFxuICAgICAgICAgICAgY3VycmVudEluZGV4OiBudW1iZXIgfCBudWxsXG4gICAgICAgICkgPT4ge1xuICAgICAgICAgICAgaWYgKGl0ZW0ucHJldmlvdXNJbmRleCA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbnNlcnROb2RlKGRhdGFbY3VycmVudEluZGV4IV0sIGN1cnJlbnRJbmRleCEsIHZpZXdDb250YWluZXIsIHBhcmVudERhdGEpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChjdXJyZW50SW5kZXggPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHZpZXdDb250YWluZXIucmVtb3ZlKGFkanVzdGVkUHJldmlvdXNJbmRleCEpO1xuICAgICAgICAgICAgICAgIHRoaXMubGV2ZWxzLmRlbGV0ZShpdGVtLml0ZW0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCB2aWV3ID0gdmlld0NvbnRhaW5lci5nZXQoYWRqdXN0ZWRQcmV2aW91c0luZGV4ISk7XG4gICAgICAgICAgICAgICAgdmlld0NvbnRhaW5lci5tb3ZlKHZpZXchLCBjdXJyZW50SW5kZXgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGaW5kcyB0aGUgbWF0Y2hpbmcgbm9kZSBkZWZpbml0aW9uIHRoYXQgc2hvdWxkIGJlIHVzZWQgZm9yIHRoaXMgbm9kZSBkYXRhLiBJZiB0aGVyZSBpcyBvbmx5XG4gICAgICogb25lIG5vZGUgZGVmaW5pdGlvbiwgaXQgaXMgcmV0dXJuZWQuIE90aGVyd2lzZSwgZmluZCB0aGUgbm9kZSBkZWZpbml0aW9uIHRoYXQgaGFzIGEgd2hlblxuICAgICAqIHByZWRpY2F0ZSB0aGF0IHJldHVybnMgdHJ1ZSB3aXRoIHRoZSBkYXRhLiBJZiBub25lIHJldHVybiB0cnVlLCByZXR1cm4gdGhlIGRlZmF1bHQgbm9kZVxuICAgICAqIGRlZmluaXRpb24uXG4gICAgICovXG4gICAgZ2V0Tm9kZURlZihkYXRhOiBULCBpOiBudW1iZXIpOiBNY1RyZWVOb2RlRGVmPFQ+IHtcbiAgICAgICAgaWYgKHRoaXMubm9kZURlZnMubGVuZ3RoID09PSAxKSB7IHJldHVybiB0aGlzLm5vZGVEZWZzLmZpcnN0OyB9XG5cbiAgICAgICAgY29uc3Qgbm9kZURlZiA9IHRoaXMubm9kZURlZnMuZmluZCgoZGVmKSA9PiBkZWYud2hlbiAmJiBkZWYud2hlbihpLCBkYXRhKSkgfHwgdGhpcy5kZWZhdWx0Tm9kZURlZjtcblxuICAgICAgICBpZiAoIW5vZGVEZWYpIHsgdGhyb3cgZ2V0VHJlZU1pc3NpbmdNYXRjaGluZ05vZGVEZWZFcnJvcigpOyB9XG5cbiAgICAgICAgcmV0dXJuIG5vZGVEZWY7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlIHRoZSBlbWJlZGRlZCB2aWV3IGZvciB0aGUgZGF0YSBub2RlIHRlbXBsYXRlIGFuZCBwbGFjZSBpdCBpbiB0aGUgY29ycmVjdCBpbmRleCBsb2NhdGlvblxuICAgICAqIHdpdGhpbiB0aGUgZGF0YSBub2RlIHZpZXcgY29udGFpbmVyLlxuICAgICAqL1xuICAgIGluc2VydE5vZGUobm9kZURhdGE6IFQsIGluZGV4OiBudW1iZXIsIHZpZXdDb250YWluZXI/OiBWaWV3Q29udGFpbmVyUmVmLCBwYXJlbnREYXRhPzogVCkge1xuICAgICAgICBjb25zdCBub2RlID0gdGhpcy5nZXROb2RlRGVmKG5vZGVEYXRhLCBpbmRleCk7XG5cbiAgICAgICAgLy8gTm9kZSBjb250ZXh0IHRoYXQgd2lsbCBiZSBwcm92aWRlZCB0byBjcmVhdGVkIGVtYmVkZGVkIHZpZXdcbiAgICAgICAgY29uc3QgY29udGV4dCA9IG5ldyBNY1RyZWVOb2RlT3V0bGV0Q29udGV4dDxUPihub2RlRGF0YSk7XG5cbiAgICAgICAgLy8gSWYgdGhlIHRyZWUgaXMgZmxhdCB0cmVlLCB0aGVuIHVzZSB0aGUgYGdldExldmVsYCBmdW5jdGlvbiBpbiBmbGF0IHRyZWUgY29udHJvbFxuICAgICAgICAvLyBPdGhlcndpc2UsIHVzZSB0aGUgbGV2ZWwgb2YgcGFyZW50IG5vZGUuXG4gICAgICAgIGlmICh0aGlzLnRyZWVDb250cm9sLmdldExldmVsKSB7XG4gICAgICAgICAgICBjb250ZXh0LmxldmVsID0gdGhpcy50cmVlQ29udHJvbC5nZXRMZXZlbChub2RlRGF0YSk7XG4gICAgICAgICAgICAvKiB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tdHlwZW9mLXVuZGVmaW5lZCAqL1xuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBwYXJlbnREYXRhICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmxldmVscy5oYXMocGFyZW50RGF0YSkpIHtcbiAgICAgICAgICAgIGNvbnRleHQubGV2ZWwgPSB0aGlzLmxldmVscy5nZXQocGFyZW50RGF0YSkhICsgMTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnRleHQubGV2ZWwgPSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5sZXZlbHMuc2V0KG5vZGVEYXRhLCBjb250ZXh0LmxldmVsKTtcblxuICAgICAgICAvLyBVc2UgZGVmYXVsdCB0cmVlIG5vZGVPdXRsZXQsIG9yIG5lc3RlZCBub2RlJ3Mgbm9kZU91dGxldFxuICAgICAgICBjb25zdCBjb250YWluZXIgPSB2aWV3Q29udGFpbmVyID8gdmlld0NvbnRhaW5lciA6IHRoaXMubm9kZU91dGxldC52aWV3Q29udGFpbmVyO1xuICAgICAgICBjb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KG5vZGUudGVtcGxhdGUsIGNvbnRleHQsIGluZGV4KTtcblxuICAgICAgICAvLyBTZXQgdGhlIGRhdGEgdG8ganVzdCBjcmVhdGVkIGBNY1RyZWVOb2RlYC5cbiAgICAgICAgLy8gVGhlIGBNY1RyZWVOb2RlYCBjcmVhdGVkIGZyb20gYGNyZWF0ZUVtYmVkZGVkVmlld2Agd2lsbCBiZSBzYXZlZCBpbiBzdGF0aWMgdmFyaWFibGVcbiAgICAgICAgLy8gICAgIGBtb3N0UmVjZW50VHJlZU5vZGVgLiBXZSBnZXQgaXQgZnJvbSBzdGF0aWMgdmFyaWFibGUgYW5kIHBhc3MgdGhlIG5vZGUgZGF0YSB0byBpdC5cbiAgICAgICAgaWYgKE1jVHJlZU5vZGUubW9zdFJlY2VudFRyZWVOb2RlKSB7XG4gICAgICAgICAgICBNY1RyZWVOb2RlLm1vc3RSZWNlbnRUcmVlTm9kZS5kYXRhID0gbm9kZURhdGE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogU2V0IHVwIGEgc3Vic2NyaXB0aW9uIGZvciB0aGUgZGF0YSBwcm92aWRlZCBieSB0aGUgZGF0YSBzb3VyY2UuICovXG4gICAgcHJpdmF0ZSBvYnNlcnZlUmVuZGVyQ2hhbmdlcygpIHtcbiAgICAgICAgbGV0IGRhdGFTdHJlYW06IE9ic2VydmFibGU8VFtdIHwgUmVhZG9ubHlBcnJheTxUPj4gfCB1bmRlZmluZWQ7XG5cbiAgICAgICAgLy8gQ2Fubm90IHVzZSBgaW5zdGFuY2VvZiBEYXRhU291cmNlYCBzaW5jZSB0aGUgZGF0YSBzb3VyY2UgY291bGQgYmUgYSBsaXRlcmFsIHdpdGhcbiAgICAgICAgLy8gYGNvbm5lY3RgIGZ1bmN0aW9uIGFuZCBtYXkgbm90IGV4dGVuZHMgRGF0YVNvdXJjZS5cbiAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLXVuYm91bmQtbWV0aG9kXG4gICAgICAgIGlmICh0eXBlb2YgKHRoaXMuX2RhdGFTb3VyY2UgYXMgRGF0YVNvdXJjZTxUPikuY29ubmVjdCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgZGF0YVN0cmVhbSA9ICh0aGlzLl9kYXRhU291cmNlIGFzIERhdGFTb3VyY2U8VD4pLmNvbm5lY3QodGhpcyk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5fZGF0YVNvdXJjZSBpbnN0YW5jZW9mIE9ic2VydmFibGUpIHtcbiAgICAgICAgICAgIGRhdGFTdHJlYW0gPSB0aGlzLl9kYXRhU291cmNlO1xuICAgICAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5fZGF0YVNvdXJjZSkpIHtcbiAgICAgICAgICAgIGRhdGFTdHJlYW0gPSBvYnNlcnZhYmxlT2YodGhpcy5fZGF0YVNvdXJjZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZGF0YVN0cmVhbSkge1xuICAgICAgICAgICAgdGhpcy5kYXRhU3Vic2NyaXB0aW9uID0gZGF0YVN0cmVhbVxuICAgICAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSkpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoZGF0YSkgPT4gdGhpcy5yZW5kZXJOb2RlQ2hhbmdlcyhkYXRhKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aHJvdyBnZXRUcmVlTm9WYWxpZERhdGFTb3VyY2VFcnJvcigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU3dpdGNoIHRvIHRoZSBwcm92aWRlZCBkYXRhIHNvdXJjZSBieSByZXNldHRpbmcgdGhlIGRhdGEgYW5kIHVuc3Vic2NyaWJpbmcgZnJvbSB0aGUgY3VycmVudFxuICAgICAqIHJlbmRlciBjaGFuZ2Ugc3Vic2NyaXB0aW9uIGlmIG9uZSBleGlzdHMuIElmIHRoZSBkYXRhIHNvdXJjZSBpcyBudWxsLCBpbnRlcnByZXQgdGhpcyBieVxuICAgICAqIGNsZWFyaW5nIHRoZSBub2RlIG91dGxldC4gT3RoZXJ3aXNlIHN0YXJ0IGxpc3RlbmluZyBmb3IgbmV3IGRhdGEuXG4gICAgICovXG4gICAgcHJpdmF0ZSBzd2l0Y2hEYXRhU291cmNlKGRhdGFTb3VyY2U6IERhdGFTb3VyY2U8VD4gfCBPYnNlcnZhYmxlPFRbXT4gfCBUW10pIHtcbiAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLXVuYm91bmQtbWV0aG9kXG4gICAgICAgIGlmICh0aGlzLl9kYXRhU291cmNlICYmIHR5cGVvZiAodGhpcy5fZGF0YVNvdXJjZSBhcyBEYXRhU291cmNlPFQ+KS5kaXNjb25uZWN0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAodGhpcy5kYXRhU291cmNlIGFzIERhdGFTb3VyY2U8VD4pLmRpc2Nvbm5lY3QodGhpcyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5kYXRhU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmRhdGFTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIHRoaXMuZGF0YVN1YnNjcmlwdGlvbiA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBSZW1vdmUgdGhlIGFsbCBkYXRhTm9kZXMgaWYgdGhlcmUgaXMgbm93IG5vIGRhdGEgc291cmNlXG4gICAgICAgIGlmICghZGF0YVNvdXJjZSkgeyB0aGlzLm5vZGVPdXRsZXQudmlld0NvbnRhaW5lci5jbGVhcigpOyB9XG5cbiAgICAgICAgdGhpcy5fZGF0YVNvdXJjZSA9IGRhdGFTb3VyY2U7XG5cbiAgICAgICAgaWYgKHRoaXMubm9kZURlZnMpIHsgdGhpcy5vYnNlcnZlUmVuZGVyQ2hhbmdlcygpOyB9XG4gICAgfVxufVxuXG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnbWMtdHJlZS1ub2RlJyxcbiAgICBleHBvcnRBczogJ21jVHJlZU5vZGUnXG59KVxuZXhwb3J0IGNsYXNzIE1jVHJlZU5vZGU8VD4gaW1wbGVtZW50cyBJRm9jdXNhYmxlT3B0aW9uLCBPbkRlc3Ryb3kge1xuICAgIC8qKlxuICAgICAqIFRoZSBtb3N0IHJlY2VudGx5IGNyZWF0ZWQgYE1jVHJlZU5vZGVgLiBXZSBzYXZlIGl0IGluIHN0YXRpYyB2YXJpYWJsZSBzbyB3ZSBjYW4gcmV0cmlldmUgaXRcbiAgICAgKiBpbiBgTWNUcmVlYCBhbmQgc2V0IHRoZSBkYXRhIHRvIGl0LlxuICAgICAqL1xuICAgIHN0YXRpYyBtb3N0UmVjZW50VHJlZU5vZGU6IE1jVHJlZU5vZGU8YW55PiB8IG51bGwgPSBudWxsO1xuXG4gICAgcHJvdGVjdGVkIGRlc3Ryb3llZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBnZXQgZGF0YSgpOiBUIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGE7XG4gICAgfVxuXG4gICAgc2V0IGRhdGEodmFsdWU6IFQpIHtcbiAgICAgICAgdGhpcy5fZGF0YSA9IHZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2RhdGE6IFQ7XG5cbiAgICBnZXQgaXNFeHBhbmRlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJlZS50cmVlQ29udHJvbC5pc0V4cGFuZGVkKHRoaXMuZGF0YSk7XG4gICAgfVxuXG4gICAgZ2V0IGxldmVsKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyZWUudHJlZUNvbnRyb2wuZ2V0TGV2ZWwgPyB0aGlzLnRyZWUudHJlZUNvbnRyb2wuZ2V0TGV2ZWwodGhpcy5fZGF0YSkgOiAwO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgQEluamVjdChmb3J3YXJkUmVmKCgpID0+IE1jVHJlZUJhc2UpKSBwdWJsaWMgdHJlZTogTWNUcmVlQmFzZTxUPlxuICAgICkge1xuICAgICAgICBNY1RyZWVOb2RlLm1vc3RSZWNlbnRUcmVlTm9kZSA9IHRoaXM7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuZGVzdHJveWVkLm5leHQoKTtcbiAgICAgICAgdGhpcy5kZXN0cm95ZWQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBmb2N1cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG59XG4iXX0=