@ptsecurity/mosaic 14.5.0 → 14.6.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 (318) hide show
  1. package/_theming.scss +414 -14
  2. package/_visual.scss +2 -0
  3. package/core/highlight/highlight.pipe.d.ts +1 -0
  4. package/esm2020/autocomplete/autocomplete-origin.directive.mjs +4 -4
  5. package/esm2020/autocomplete/autocomplete-trigger.directive.mjs +4 -4
  6. package/esm2020/autocomplete/autocomplete.component.mjs +4 -4
  7. package/esm2020/autocomplete/autocomplete.module.mjs +5 -5
  8. package/esm2020/button/button.component.mjs +7 -7
  9. package/esm2020/button/button.module.mjs +5 -5
  10. package/esm2020/button-toggle/button-toggle.component.mjs +7 -7
  11. package/esm2020/button-toggle/button-toggle.module.mjs +5 -5
  12. package/esm2020/card/card.component.mjs +4 -4
  13. package/esm2020/card/card.module.mjs +5 -5
  14. package/esm2020/checkbox/checkbox-module.mjs +5 -5
  15. package/esm2020/checkbox/checkbox-required-validator.mjs +4 -4
  16. package/esm2020/checkbox/checkbox.mjs +4 -4
  17. package/esm2020/core/common-behaviors/common-module.mjs +5 -5
  18. package/esm2020/core/error/error-options.mjs +7 -7
  19. package/esm2020/core/formatters/date/formatter.mjs +4 -4
  20. package/esm2020/core/formatters/date/formatter.pipe.mjs +40 -40
  21. package/esm2020/core/formatters/index.mjs +5 -5
  22. package/esm2020/core/formatters/number/formatter.mjs +5 -5
  23. package/esm2020/core/forms/forms-module.mjs +5 -5
  24. package/esm2020/core/forms/forms.directive.mjs +7 -7
  25. package/esm2020/core/highlight/highlight.pipe.mjs +11 -5
  26. package/esm2020/core/highlight/index.mjs +5 -5
  27. package/esm2020/core/line/line.mjs +8 -8
  28. package/esm2020/core/option/action.mjs +4 -4
  29. package/esm2020/core/option/optgroup.mjs +4 -4
  30. package/esm2020/core/option/option-module.mjs +5 -5
  31. package/esm2020/core/option/option.mjs +4 -4
  32. package/esm2020/core/pop-up/pop-up-trigger.mjs +4 -4
  33. package/esm2020/core/pop-up/pop-up.mjs +4 -4
  34. package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +4 -4
  35. package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox.module.mjs +5 -5
  36. package/esm2020/core/services/measure-scrollbar.service.mjs +4 -4
  37. package/esm2020/datepicker/calendar-body.component.mjs +4 -4
  38. package/esm2020/datepicker/calendar.component.mjs +7 -7
  39. package/esm2020/datepicker/datepicker-input.directive.mjs +4 -4
  40. package/esm2020/datepicker/datepicker-intl.mjs +4 -4
  41. package/esm2020/datepicker/datepicker-module.mjs +5 -5
  42. package/esm2020/datepicker/datepicker-toggle.component.mjs +7 -7
  43. package/esm2020/datepicker/datepicker.component.mjs +7 -7
  44. package/esm2020/datepicker/month-view.component.mjs +4 -4
  45. package/esm2020/datepicker/multi-year-view.component.mjs +4 -4
  46. package/esm2020/datepicker/year-view.component.mjs +4 -4
  47. package/esm2020/divider/divider.component.mjs +4 -4
  48. package/esm2020/divider/divider.module.mjs +5 -5
  49. package/esm2020/dl/dl.component.mjs +10 -10
  50. package/esm2020/dl/dl.module.mjs +5 -5
  51. package/esm2020/dropdown/dropdown-content.directive.mjs +4 -4
  52. package/esm2020/dropdown/dropdown-item.component.mjs +4 -4
  53. package/esm2020/dropdown/dropdown-trigger.directive.mjs +4 -4
  54. package/esm2020/dropdown/dropdown.component.mjs +4 -4
  55. package/esm2020/dropdown/dropdown.module.mjs +5 -5
  56. package/esm2020/form-field/cleaner.mjs +4 -4
  57. package/esm2020/form-field/form-field.mjs +10 -10
  58. package/esm2020/form-field/form-field.module.mjs +5 -5
  59. package/esm2020/form-field/hint.mjs +4 -4
  60. package/esm2020/form-field/password-hint.mjs +4 -4
  61. package/esm2020/form-field/prefix.mjs +4 -4
  62. package/esm2020/form-field/stepper.mjs +4 -4
  63. package/esm2020/form-field/suffix.mjs +4 -4
  64. package/esm2020/form-field/validate.directive.mjs +4 -4
  65. package/esm2020/icon/icon.component.mjs +7 -7
  66. package/esm2020/icon/icon.module.mjs +5 -5
  67. package/esm2020/input/input-number-validators.mjs +7 -7
  68. package/esm2020/input/input-number.mjs +4 -4
  69. package/esm2020/input/input-password.mjs +7 -7
  70. package/esm2020/input/input.mjs +7 -7
  71. package/esm2020/input/input.module.mjs +5 -5
  72. package/esm2020/link/link.component.mjs +13 -9
  73. package/esm2020/link/link.module.mjs +5 -5
  74. package/esm2020/list/list-selection.component.mjs +7 -7
  75. package/esm2020/list/list.component.mjs +7 -7
  76. package/esm2020/list/list.module.mjs +5 -5
  77. package/esm2020/loader-overlay/loader-overlay.component.mjs +13 -13
  78. package/esm2020/loader-overlay/loader-overlay.module.mjs +5 -5
  79. package/esm2020/markdown/markdown.component.mjs +20 -12
  80. package/esm2020/markdown/markdown.module.mjs +5 -5
  81. package/esm2020/markdown/markdown.service.mjs +4 -4
  82. package/esm2020/modal/css-unit.pipe.mjs +4 -4
  83. package/esm2020/modal/modal-control.service.mjs +4 -4
  84. package/esm2020/modal/modal.component.mjs +4 -4
  85. package/esm2020/modal/modal.directive.mjs +13 -13
  86. package/esm2020/modal/modal.module.mjs +5 -5
  87. package/esm2020/modal/modal.service.mjs +4 -4
  88. package/esm2020/navbar/navbar-item.component.mjs +31 -31
  89. package/esm2020/navbar/navbar.component.mjs +10 -10
  90. package/esm2020/navbar/navbar.module.mjs +5 -5
  91. package/esm2020/navbar/vertical-navbar.component.mjs +4 -4
  92. package/esm2020/popover/popover-confirm.component.mjs +7 -7
  93. package/esm2020/popover/popover.component.mjs +7 -7
  94. package/esm2020/popover/popover.module.mjs +5 -5
  95. package/esm2020/progress-bar/progress-bar.component.mjs +4 -4
  96. package/esm2020/progress-bar/progress-bar.module.mjs +5 -5
  97. package/esm2020/progress-spinner/progress-spinner.component.mjs +4 -4
  98. package/esm2020/progress-spinner/progress-spinner.module.mjs +5 -5
  99. package/esm2020/radio/radio.component.mjs +7 -7
  100. package/esm2020/radio/radio.module.mjs +5 -5
  101. package/esm2020/select/select-option.directive.mjs +4 -4
  102. package/esm2020/select/select.component.mjs +13 -13
  103. package/esm2020/select/select.module.mjs +5 -5
  104. package/esm2020/sidebar/sidebar.component.mjs +10 -10
  105. package/esm2020/sidebar/sidebar.module.mjs +5 -5
  106. package/esm2020/sidepanel/sidepanel-container.component.mjs +4 -4
  107. package/esm2020/sidepanel/sidepanel-directives.mjs +16 -16
  108. package/esm2020/sidepanel/sidepanel.module.mjs +5 -5
  109. package/esm2020/sidepanel/sidepanel.service.mjs +4 -4
  110. package/esm2020/splitter/splitter.component.mjs +13 -13
  111. package/esm2020/splitter/splitter.module.mjs +5 -5
  112. package/esm2020/table/table.component.mjs +4 -4
  113. package/esm2020/table/table.module.mjs +5 -5
  114. package/esm2020/tabs/paginated-tab-header.mjs +4 -4
  115. package/esm2020/tabs/tab-body.component.mjs +7 -7
  116. package/esm2020/tabs/tab-content.directive.mjs +4 -4
  117. package/esm2020/tabs/tab-group.component.mjs +19 -19
  118. package/esm2020/tabs/tab-header.component.mjs +5 -5
  119. package/esm2020/tabs/tab-label-wrapper.directive.mjs +4 -4
  120. package/esm2020/tabs/tab-label.directive.mjs +4 -4
  121. package/esm2020/tabs/tab-nav-bar/tab-nav-bar.mjs +8 -8
  122. package/esm2020/tabs/tab.component.mjs +4 -4
  123. package/esm2020/tabs/tabs.module.mjs +5 -5
  124. package/esm2020/tags/tag-input.mjs +4 -4
  125. package/esm2020/tags/tag-list.component.mjs +4 -4
  126. package/esm2020/tags/tag.component.mjs +13 -13
  127. package/esm2020/tags/tag.module.mjs +5 -5
  128. package/esm2020/textarea/textarea.component.mjs +4 -4
  129. package/esm2020/textarea/textarea.module.mjs +5 -5
  130. package/esm2020/timepicker/timepicker.directive.mjs +4 -4
  131. package/esm2020/timepicker/timepicker.module.mjs +5 -5
  132. package/esm2020/timezone/cities-by-filter.pipe.mjs +4 -4
  133. package/esm2020/timezone/timezone-option.component.mjs +4 -4
  134. package/esm2020/timezone/timezone-option.directive.mjs +4 -4
  135. package/esm2020/timezone/timezone-select.component.mjs +7 -7
  136. package/esm2020/timezone/timezone.module.mjs +5 -5
  137. package/esm2020/timezone/utc-offset.pipe.mjs +4 -4
  138. package/esm2020/toast/toast-container.component.mjs +4 -4
  139. package/esm2020/toast/toast.component.mjs +4 -4
  140. package/esm2020/toast/toast.module.mjs +5 -5
  141. package/esm2020/toast/toast.service.mjs +4 -4
  142. package/esm2020/toggle/toggle.component.mjs +4 -4
  143. package/esm2020/toggle/toggle.module.mjs +5 -5
  144. package/esm2020/tooltip/tooltip.component.mjs +13 -13
  145. package/esm2020/tooltip/tooltip.module.mjs +5 -5
  146. package/esm2020/tree/control/flat-tree-control.mjs +7 -3
  147. package/esm2020/tree/node.mjs +4 -4
  148. package/esm2020/tree/outlet.mjs +4 -4
  149. package/esm2020/tree/padding.directive.mjs +4 -4
  150. package/esm2020/tree/toggle.mjs +10 -10
  151. package/esm2020/tree/tree-base.mjs +7 -7
  152. package/esm2020/tree/tree-option.component.mjs +52 -11
  153. package/esm2020/tree/tree-selection.component.mjs +13 -4
  154. package/esm2020/tree/tree.mjs +4 -4
  155. package/esm2020/tree/tree.module.mjs +5 -5
  156. package/esm2020/tree-select/tree-select.component.mjs +19 -14
  157. package/esm2020/tree-select/tree-select.module.mjs +5 -5
  158. package/fesm2015/ptsecurity-mosaic-autocomplete.mjs +13 -13
  159. package/fesm2015/ptsecurity-mosaic-autocomplete.mjs.map +1 -1
  160. package/fesm2015/ptsecurity-mosaic-button-toggle.mjs +10 -10
  161. package/fesm2015/ptsecurity-mosaic-button-toggle.mjs.map +1 -1
  162. package/fesm2015/ptsecurity-mosaic-button.mjs +10 -10
  163. package/fesm2015/ptsecurity-mosaic-button.mjs.map +1 -1
  164. package/fesm2015/ptsecurity-mosaic-card.mjs +7 -7
  165. package/fesm2015/ptsecurity-mosaic-card.mjs.map +1 -1
  166. package/fesm2015/ptsecurity-mosaic-checkbox.mjs +10 -10
  167. package/fesm2015/ptsecurity-mosaic-checkbox.mjs.map +1 -1
  168. package/fesm2015/ptsecurity-mosaic-core.mjs +121 -115
  169. package/fesm2015/ptsecurity-mosaic-core.mjs.map +1 -1
  170. package/fesm2015/ptsecurity-mosaic-datepicker.mjs +40 -40
  171. package/fesm2015/ptsecurity-mosaic-datepicker.mjs.map +1 -1
  172. package/fesm2015/ptsecurity-mosaic-divider.mjs +7 -7
  173. package/fesm2015/ptsecurity-mosaic-divider.mjs.map +1 -1
  174. package/fesm2015/ptsecurity-mosaic-dl.mjs +13 -13
  175. package/fesm2015/ptsecurity-mosaic-dl.mjs.map +1 -1
  176. package/fesm2015/ptsecurity-mosaic-dropdown.mjs +16 -16
  177. package/fesm2015/ptsecurity-mosaic-dropdown.mjs.map +1 -1
  178. package/fesm2015/ptsecurity-mosaic-form-field.mjs +34 -34
  179. package/fesm2015/ptsecurity-mosaic-form-field.mjs.map +1 -1
  180. package/fesm2015/ptsecurity-mosaic-icon.mjs +10 -10
  181. package/fesm2015/ptsecurity-mosaic-icon.mjs.map +1 -1
  182. package/fesm2015/ptsecurity-mosaic-input.mjs +25 -25
  183. package/fesm2015/ptsecurity-mosaic-input.mjs.map +1 -1
  184. package/fesm2015/ptsecurity-mosaic-link.mjs +17 -13
  185. package/fesm2015/ptsecurity-mosaic-link.mjs.map +1 -1
  186. package/fesm2015/ptsecurity-mosaic-list.mjs +16 -16
  187. package/fesm2015/ptsecurity-mosaic-list.mjs.map +1 -1
  188. package/fesm2015/ptsecurity-mosaic-loader-overlay.mjs +16 -16
  189. package/fesm2015/ptsecurity-mosaic-loader-overlay.mjs.map +1 -1
  190. package/fesm2015/ptsecurity-mosaic-markdown.mjs +24 -17
  191. package/fesm2015/ptsecurity-mosaic-markdown.mjs.map +1 -1
  192. package/fesm2015/ptsecurity-mosaic-modal.mjs +28 -28
  193. package/fesm2015/ptsecurity-mosaic-modal.mjs.map +1 -1
  194. package/fesm2015/ptsecurity-mosaic-navbar.mjs +46 -46
  195. package/fesm2015/ptsecurity-mosaic-navbar.mjs.map +1 -1
  196. package/fesm2015/ptsecurity-mosaic-popover.mjs +16 -16
  197. package/fesm2015/ptsecurity-mosaic-popover.mjs.map +1 -1
  198. package/fesm2015/ptsecurity-mosaic-progress-bar.mjs +7 -7
  199. package/fesm2015/ptsecurity-mosaic-progress-bar.mjs.map +1 -1
  200. package/fesm2015/ptsecurity-mosaic-progress-spinner.mjs +7 -7
  201. package/fesm2015/ptsecurity-mosaic-progress-spinner.mjs.map +1 -1
  202. package/fesm2015/ptsecurity-mosaic-radio.mjs +10 -10
  203. package/fesm2015/ptsecurity-mosaic-radio.mjs.map +1 -1
  204. package/fesm2015/ptsecurity-mosaic-select.mjs +19 -19
  205. package/fesm2015/ptsecurity-mosaic-select.mjs.map +1 -1
  206. package/fesm2015/ptsecurity-mosaic-sidebar.mjs +13 -13
  207. package/fesm2015/ptsecurity-mosaic-sidebar.mjs.map +1 -1
  208. package/fesm2015/ptsecurity-mosaic-sidepanel.mjs +25 -25
  209. package/fesm2015/ptsecurity-mosaic-sidepanel.mjs.map +1 -1
  210. package/fesm2015/ptsecurity-mosaic-splitter.mjs +16 -16
  211. package/fesm2015/ptsecurity-mosaic-splitter.mjs.map +1 -1
  212. package/fesm2015/ptsecurity-mosaic-table.mjs +7 -7
  213. package/fesm2015/ptsecurity-mosaic-table.mjs.map +1 -1
  214. package/fesm2015/ptsecurity-mosaic-tabs.mjs +54 -54
  215. package/fesm2015/ptsecurity-mosaic-tabs.mjs.map +1 -1
  216. package/fesm2015/ptsecurity-mosaic-tags.mjs +22 -22
  217. package/fesm2015/ptsecurity-mosaic-tags.mjs.map +1 -1
  218. package/fesm2015/ptsecurity-mosaic-textarea.mjs +7 -7
  219. package/fesm2015/ptsecurity-mosaic-textarea.mjs.map +1 -1
  220. package/fesm2015/ptsecurity-mosaic-timepicker.mjs +7 -7
  221. package/fesm2015/ptsecurity-mosaic-timepicker.mjs.map +1 -1
  222. package/fesm2015/ptsecurity-mosaic-timezone.mjs +22 -22
  223. package/fesm2015/ptsecurity-mosaic-timezone.mjs.map +1 -1
  224. package/fesm2015/ptsecurity-mosaic-toast.mjs +13 -13
  225. package/fesm2015/ptsecurity-mosaic-toast.mjs.map +1 -1
  226. package/fesm2015/ptsecurity-mosaic-toggle.mjs +7 -7
  227. package/fesm2015/ptsecurity-mosaic-toggle.mjs.map +1 -1
  228. package/fesm2015/ptsecurity-mosaic-tooltip.mjs +16 -16
  229. package/fesm2015/ptsecurity-mosaic-tooltip.mjs.map +1 -1
  230. package/fesm2015/ptsecurity-mosaic-tree-select.mjs +23 -18
  231. package/fesm2015/ptsecurity-mosaic-tree-select.mjs.map +1 -1
  232. package/fesm2015/ptsecurity-mosaic-tree.mjs +100 -47
  233. package/fesm2015/ptsecurity-mosaic-tree.mjs.map +1 -1
  234. package/fesm2020/ptsecurity-mosaic-autocomplete.mjs +13 -13
  235. package/fesm2020/ptsecurity-mosaic-autocomplete.mjs.map +1 -1
  236. package/fesm2020/ptsecurity-mosaic-button-toggle.mjs +10 -10
  237. package/fesm2020/ptsecurity-mosaic-button-toggle.mjs.map +1 -1
  238. package/fesm2020/ptsecurity-mosaic-button.mjs +10 -10
  239. package/fesm2020/ptsecurity-mosaic-button.mjs.map +1 -1
  240. package/fesm2020/ptsecurity-mosaic-card.mjs +7 -7
  241. package/fesm2020/ptsecurity-mosaic-card.mjs.map +1 -1
  242. package/fesm2020/ptsecurity-mosaic-checkbox.mjs +10 -10
  243. package/fesm2020/ptsecurity-mosaic-checkbox.mjs.map +1 -1
  244. package/fesm2020/ptsecurity-mosaic-core.mjs +121 -115
  245. package/fesm2020/ptsecurity-mosaic-core.mjs.map +1 -1
  246. package/fesm2020/ptsecurity-mosaic-datepicker.mjs +40 -40
  247. package/fesm2020/ptsecurity-mosaic-datepicker.mjs.map +1 -1
  248. package/fesm2020/ptsecurity-mosaic-divider.mjs +7 -7
  249. package/fesm2020/ptsecurity-mosaic-divider.mjs.map +1 -1
  250. package/fesm2020/ptsecurity-mosaic-dl.mjs +13 -13
  251. package/fesm2020/ptsecurity-mosaic-dl.mjs.map +1 -1
  252. package/fesm2020/ptsecurity-mosaic-dropdown.mjs +16 -16
  253. package/fesm2020/ptsecurity-mosaic-dropdown.mjs.map +1 -1
  254. package/fesm2020/ptsecurity-mosaic-form-field.mjs +34 -34
  255. package/fesm2020/ptsecurity-mosaic-form-field.mjs.map +1 -1
  256. package/fesm2020/ptsecurity-mosaic-icon.mjs +10 -10
  257. package/fesm2020/ptsecurity-mosaic-icon.mjs.map +1 -1
  258. package/fesm2020/ptsecurity-mosaic-input.mjs +25 -25
  259. package/fesm2020/ptsecurity-mosaic-input.mjs.map +1 -1
  260. package/fesm2020/ptsecurity-mosaic-link.mjs +16 -12
  261. package/fesm2020/ptsecurity-mosaic-link.mjs.map +1 -1
  262. package/fesm2020/ptsecurity-mosaic-list.mjs +16 -16
  263. package/fesm2020/ptsecurity-mosaic-list.mjs.map +1 -1
  264. package/fesm2020/ptsecurity-mosaic-loader-overlay.mjs +16 -16
  265. package/fesm2020/ptsecurity-mosaic-loader-overlay.mjs.map +1 -1
  266. package/fesm2020/ptsecurity-mosaic-markdown.mjs +24 -17
  267. package/fesm2020/ptsecurity-mosaic-markdown.mjs.map +1 -1
  268. package/fesm2020/ptsecurity-mosaic-modal.mjs +28 -28
  269. package/fesm2020/ptsecurity-mosaic-modal.mjs.map +1 -1
  270. package/fesm2020/ptsecurity-mosaic-navbar.mjs +46 -46
  271. package/fesm2020/ptsecurity-mosaic-navbar.mjs.map +1 -1
  272. package/fesm2020/ptsecurity-mosaic-popover.mjs +16 -16
  273. package/fesm2020/ptsecurity-mosaic-popover.mjs.map +1 -1
  274. package/fesm2020/ptsecurity-mosaic-progress-bar.mjs +7 -7
  275. package/fesm2020/ptsecurity-mosaic-progress-bar.mjs.map +1 -1
  276. package/fesm2020/ptsecurity-mosaic-progress-spinner.mjs +7 -7
  277. package/fesm2020/ptsecurity-mosaic-progress-spinner.mjs.map +1 -1
  278. package/fesm2020/ptsecurity-mosaic-radio.mjs +10 -10
  279. package/fesm2020/ptsecurity-mosaic-radio.mjs.map +1 -1
  280. package/fesm2020/ptsecurity-mosaic-select.mjs +19 -19
  281. package/fesm2020/ptsecurity-mosaic-select.mjs.map +1 -1
  282. package/fesm2020/ptsecurity-mosaic-sidebar.mjs +13 -13
  283. package/fesm2020/ptsecurity-mosaic-sidebar.mjs.map +1 -1
  284. package/fesm2020/ptsecurity-mosaic-sidepanel.mjs +25 -25
  285. package/fesm2020/ptsecurity-mosaic-sidepanel.mjs.map +1 -1
  286. package/fesm2020/ptsecurity-mosaic-splitter.mjs +16 -16
  287. package/fesm2020/ptsecurity-mosaic-splitter.mjs.map +1 -1
  288. package/fesm2020/ptsecurity-mosaic-table.mjs +7 -7
  289. package/fesm2020/ptsecurity-mosaic-table.mjs.map +1 -1
  290. package/fesm2020/ptsecurity-mosaic-tabs.mjs +54 -54
  291. package/fesm2020/ptsecurity-mosaic-tabs.mjs.map +1 -1
  292. package/fesm2020/ptsecurity-mosaic-tags.mjs +22 -22
  293. package/fesm2020/ptsecurity-mosaic-tags.mjs.map +1 -1
  294. package/fesm2020/ptsecurity-mosaic-textarea.mjs +7 -7
  295. package/fesm2020/ptsecurity-mosaic-textarea.mjs.map +1 -1
  296. package/fesm2020/ptsecurity-mosaic-timepicker.mjs +7 -7
  297. package/fesm2020/ptsecurity-mosaic-timepicker.mjs.map +1 -1
  298. package/fesm2020/ptsecurity-mosaic-timezone.mjs +22 -22
  299. package/fesm2020/ptsecurity-mosaic-timezone.mjs.map +1 -1
  300. package/fesm2020/ptsecurity-mosaic-toast.mjs +13 -13
  301. package/fesm2020/ptsecurity-mosaic-toast.mjs.map +1 -1
  302. package/fesm2020/ptsecurity-mosaic-toggle.mjs +7 -7
  303. package/fesm2020/ptsecurity-mosaic-toggle.mjs.map +1 -1
  304. package/fesm2020/ptsecurity-mosaic-tooltip.mjs +16 -16
  305. package/fesm2020/ptsecurity-mosaic-tooltip.mjs.map +1 -1
  306. package/fesm2020/ptsecurity-mosaic-tree-select.mjs +22 -17
  307. package/fesm2020/ptsecurity-mosaic-tree-select.mjs.map +1 -1
  308. package/fesm2020/ptsecurity-mosaic-tree.mjs +100 -47
  309. package/fesm2020/ptsecurity-mosaic-tree.mjs.map +1 -1
  310. package/link/link.component.d.ts +2 -1
  311. package/markdown/markdown.component.d.ts +7 -4
  312. package/package.json +8 -8
  313. package/prebuilt-themes/dark-theme.css +1 -1
  314. package/prebuilt-themes/default-theme.css +1 -1
  315. package/tree/control/flat-tree-control.d.ts +1 -0
  316. package/tree/tree-option.component.d.ts +8 -2
  317. package/tree/tree-selection.component.d.ts +1 -0
  318. package/tree-select/tree-select.component.d.ts +1 -1
@@ -3,7 +3,7 @@ import { CommonModule } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
4
  import { Directive, Input, ViewChild, ContentChildren, forwardRef, Inject, Component, ViewEncapsulation, ChangeDetectionStrategy, InjectionToken, EventEmitter, ContentChild, Output, Optional, QueryList, Attribute, NgModule } from '@angular/core';
5
5
  import * as i2 from '@ptsecurity/mosaic/core';
6
- import { mixinDisabled, MC_OPTION_ACTION_PARENT, McPseudoCheckbox, McOptionActionComponent, MultipleMode, getMcSelectNonArrayValueError, McPseudoCheckboxModule } from '@ptsecurity/mosaic/core';
6
+ import { mixinDisabled, MC_OPTION_ACTION_PARENT, McPseudoCheckbox, McOptionActionComponent, MultipleMode, getMcSelectNonArrayValueError, McPseudoCheckboxModule, escapeRegExp } from '@ptsecurity/mosaic/core';
7
7
  import { BehaviorSubject, Subject, Observable, of, merge, asyncScheduler } from 'rxjs';
8
8
  import * as i1$1 from 'rxjs/internal/scheduler/AsyncScheduler';
9
9
  import { AsyncScheduler } from 'rxjs/internal/scheduler/AsyncScheduler';
@@ -35,9 +35,9 @@ class McTreeNodeDef {
35
35
  this.template = template;
36
36
  }
37
37
  }
38
- /** @nocollapse */ McTreeNodeDef.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: McTreeNodeDef, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
39
- /** @nocollapse */ McTreeNodeDef.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.5", type: McTreeNodeDef, selector: "[mcTreeNodeDef]", inputs: { when: ["mcTreeNodeDefWhen", "when"], data: ["mcTreeNode", "data"] }, ngImport: i0 });
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: McTreeNodeDef, decorators: [{
38
+ /** @nocollapse */ McTreeNodeDef.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: McTreeNodeDef, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
39
+ /** @nocollapse */ McTreeNodeDef.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: McTreeNodeDef, selector: "[mcTreeNodeDef]", inputs: { when: ["mcTreeNodeDefWhen", "when"], data: ["mcTreeNode", "data"] }, ngImport: i0 });
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: McTreeNodeDef, decorators: [{
41
41
  type: Directive,
42
42
  args: [{
43
43
  selector: '[mcTreeNodeDef]',
@@ -54,9 +54,9 @@ class McTreeNodeOutlet {
54
54
  this.changeDetectorRef = changeDetectorRef;
55
55
  }
56
56
  }
57
- /** @nocollapse */ McTreeNodeOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: McTreeNodeOutlet, deps: [{ token: i0.ViewContainerRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
58
- /** @nocollapse */ McTreeNodeOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.5", type: McTreeNodeOutlet, selector: "[mcTreeNodeOutlet]", ngImport: i0 });
59
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: McTreeNodeOutlet, decorators: [{
57
+ /** @nocollapse */ McTreeNodeOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: McTreeNodeOutlet, deps: [{ token: i0.ViewContainerRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
58
+ /** @nocollapse */ McTreeNodeOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: McTreeNodeOutlet, selector: "[mcTreeNodeOutlet]", ngImport: i0 });
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: McTreeNodeOutlet, decorators: [{
60
60
  type: Directive,
61
61
  args: [{ selector: '[mcTreeNodeOutlet]' }]
62
62
  }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.ChangeDetectorRef }]; } });
@@ -271,9 +271,9 @@ class McTreeBase {
271
271
  }
272
272
  }
273
273
  }
274
- /** @nocollapse */ McTreeBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: McTreeBase, deps: [{ token: i0.IterableDiffers }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
275
- /** @nocollapse */ McTreeBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.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 });
276
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: McTreeBase, decorators: [{
274
+ /** @nocollapse */ McTreeBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: McTreeBase, deps: [{ token: i0.IterableDiffers }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
275
+ /** @nocollapse */ McTreeBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", 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 });
276
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: McTreeBase, decorators: [{
277
277
  type: Directive
278
278
  }], ctorParameters: function () { return [{ type: i0.IterableDiffers }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { treeControl: [{
279
279
  type: Input
@@ -320,9 +320,9 @@ class McTreeNode {
320
320
  * in `McTree` and set the data to it.
321
321
  */
322
322
  McTreeNode.mostRecentTreeNode = null;
323
- /** @nocollapse */ McTreeNode.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: McTreeNode, deps: [{ token: i0.ElementRef }, { token: forwardRef(() => McTreeBase) }], target: i0.ɵɵFactoryTarget.Directive });
324
- /** @nocollapse */ McTreeNode.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.5", type: McTreeNode, selector: "mc-tree-node", exportAs: ["mcTreeNode"], ngImport: i0 });
325
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: McTreeNode, decorators: [{
323
+ /** @nocollapse */ McTreeNode.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: McTreeNode, deps: [{ token: i0.ElementRef }, { token: forwardRef(() => McTreeBase) }], target: i0.ɵɵFactoryTarget.Directive });
324
+ /** @nocollapse */ McTreeNode.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: McTreeNode, selector: "mc-tree-node", exportAs: ["mcTreeNode"], ngImport: i0 });
325
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: McTreeNode, decorators: [{
326
326
  type: Directive,
327
327
  args: [{
328
328
  selector: 'mc-tree-node',
@@ -369,9 +369,9 @@ class McTreeNodeToggleBaseDirective extends McTreeNodeToggleMixinBase {
369
369
  event.stopPropagation();
370
370
  }
371
371
  }
372
- /** @nocollapse */ McTreeNodeToggleBaseDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: McTreeNodeToggleBaseDirective, deps: [{ token: McTreeBase }, { token: McTreeNode }], target: i0.ɵɵFactoryTarget.Directive });
373
- /** @nocollapse */ McTreeNodeToggleBaseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.5", type: McTreeNodeToggleBaseDirective, inputs: { node: "node", recursive: ["mcTreeNodeToggleRecursive", "recursive"] }, usesInheritance: true, ngImport: i0 });
374
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: McTreeNodeToggleBaseDirective, decorators: [{
372
+ /** @nocollapse */ McTreeNodeToggleBaseDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: McTreeNodeToggleBaseDirective, deps: [{ token: McTreeBase }, { token: McTreeNode }], target: i0.ɵɵFactoryTarget.Directive });
373
+ /** @nocollapse */ McTreeNodeToggleBaseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: McTreeNodeToggleBaseDirective, inputs: { node: "node", recursive: ["mcTreeNodeToggleRecursive", "recursive"] }, usesInheritance: true, ngImport: i0 });
374
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: McTreeNodeToggleBaseDirective, decorators: [{
375
375
  type: Directive
376
376
  }], ctorParameters: function () { return [{ type: McTreeBase }, { type: McTreeNode }]; }, propDecorators: { node: [{
377
377
  type: Input
@@ -381,9 +381,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImpor
381
381
  }] } });
382
382
  class McTreeNodeToggleComponent extends McTreeNodeToggleBaseDirective {
383
383
  }
384
- /** @nocollapse */ McTreeNodeToggleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: McTreeNodeToggleComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
385
- /** @nocollapse */ McTreeNodeToggleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.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:4px;padding-left:var(--mc-tree-size-toggle-padding, 4px);padding-right: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 });
386
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: McTreeNodeToggleComponent, decorators: [{
384
+ /** @nocollapse */ McTreeNodeToggleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: McTreeNodeToggleComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
385
+ /** @nocollapse */ McTreeNodeToggleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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:4px;padding-left:var(--mc-tree-size-toggle-padding, 4px);padding-right: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 });
386
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: McTreeNodeToggleComponent, decorators: [{
387
387
  type: Component,
388
388
  args: [{ selector: 'mc-tree-node-toggle', exportAs: 'mcTreeNodeToggle', template: `<i class="mc mc-icon mc-angle-down-S_16"></i>`, host: {
389
389
  class: 'mc-tree-node-toggle',
@@ -394,9 +394,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImpor
394
394
  }] });
395
395
  class McTreeNodeToggleDirective extends McTreeNodeToggleBaseDirective {
396
396
  }
397
- /** @nocollapse */ McTreeNodeToggleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: McTreeNodeToggleDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
398
- /** @nocollapse */ McTreeNodeToggleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.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 });
399
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: McTreeNodeToggleDirective, decorators: [{
397
+ /** @nocollapse */ McTreeNodeToggleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: McTreeNodeToggleDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
398
+ /** @nocollapse */ McTreeNodeToggleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: McTreeNodeToggleDirective, selector: "[mc-tree-node-toggle], [mcTreeNodeToggle]", host: { listeners: { "click": "toggle($event)" }, properties: { "attr.disabled": "disabled || null" } }, exportAs: ["mcTreeNodeToggle"], usesInheritance: true, ngImport: i0 });
399
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: McTreeNodeToggleDirective, decorators: [{
400
400
  type: Directive,
401
401
  args: [{
402
402
  selector: '[mc-tree-node-toggle], [mcTreeNodeToggle]',
@@ -428,11 +428,29 @@ class McTreeOption extends McTreeNode {
428
428
  this.onFocus = new Subject();
429
429
  this.onBlur = new Subject();
430
430
  this.preventBlur = false;
431
+ this.checkboxThirdState = false;
431
432
  this._disabled = false;
432
433
  this.onSelectionChange = new EventEmitter();
433
434
  this._selected = false;
434
435
  this._id = `mc-tree-option-${uniqueIdCounter++}`;
435
436
  this.hasFocus = false;
437
+ this.updateCheckboxState = () => {
438
+ if (this.checkboxThirdState && this.isExpandable) {
439
+ if (this.descendantsAllSelected()) {
440
+ this.checkboxState = 'checked';
441
+ }
442
+ else if (this.descendantsPartiallySelected()) {
443
+ this.checkboxState = 'indeterminate';
444
+ }
445
+ else {
446
+ this.checkboxState = this.selected ? 'checked' : 'unchecked';
447
+ }
448
+ }
449
+ else {
450
+ this.checkboxState = this.selected ? 'checked' : 'unchecked';
451
+ }
452
+ this.updateParentsCheckboxState(this.data);
453
+ };
436
454
  }
437
455
  get externalPseudoCheckbox() {
438
456
  return !!this.pseudoCheckbox;
@@ -485,8 +503,27 @@ class McTreeOption extends McTreeNode {
485
503
  return this.toggleWrapper.nativeElement.childNodes.length > 0;
486
504
  }
487
505
  ngAfterContentInit() {
506
+ Promise.resolve()
507
+ .then(this.updateCheckboxState);
488
508
  this.value = this.tree.treeControl.getValue(this.data);
489
509
  }
510
+ descendantsAllSelected() {
511
+ const descendants = this.tree.treeControl.getDescendants(this.data);
512
+ return descendants.every((child) => { var _a; return (_a = this.tree) === null || _a === void 0 ? void 0 : _a.selectionModel.isSelected(child); });
513
+ }
514
+ descendantsPartiallySelected() {
515
+ const descendants = this.tree.treeControl.getDescendants(this.data);
516
+ return descendants.some((child) => { var _a; return (_a = this.tree) === null || _a === void 0 ? void 0 : _a.selectionModel.isSelected(child); });
517
+ }
518
+ updateParentsCheckboxState(node) {
519
+ this.tree.treeControl
520
+ .getParents(node, [])
521
+ .forEach((parent) => {
522
+ const parentOption = this.tree.unorderedOptions
523
+ .find((option) => option.data === parent);
524
+ parentOption === null || parentOption === void 0 ? void 0 : parentOption.updateCheckboxState();
525
+ });
526
+ }
490
527
  toggle() {
491
528
  this.selected = !this.selected;
492
529
  }
@@ -501,7 +538,7 @@ class McTreeOption extends McTreeNode {
501
538
  else {
502
539
  this.tree.selectionModel.deselect(this.data);
503
540
  }
504
- this.changeDetectorRef.markForCheck();
541
+ this.markForCheck();
505
542
  }
506
543
  focus(focusOrigin) {
507
544
  var _a;
@@ -516,7 +553,7 @@ class McTreeOption extends McTreeNode {
516
553
  this.onFocus.next({ option: this });
517
554
  Promise.resolve().then(() => {
518
555
  this.hasFocus = true;
519
- this.changeDetectorRef.markForCheck();
556
+ this.markForCheck();
520
557
  });
521
558
  }
522
559
  }
@@ -557,7 +594,8 @@ class McTreeOption extends McTreeNode {
557
594
  if (setFocus && !this.hasFocus) {
558
595
  this.focus();
559
596
  }
560
- this.changeDetectorRef.markForCheck();
597
+ this.updateCheckboxState();
598
+ this.markForCheck();
561
599
  this.emitSelectionChangeEvent();
562
600
  }
563
601
  deselect() {
@@ -565,7 +603,8 @@ class McTreeOption extends McTreeNode {
565
603
  return;
566
604
  }
567
605
  this._selected = false;
568
- this.changeDetectorRef.markForCheck();
606
+ this.updateCheckboxState();
607
+ this.markForCheck();
569
608
  }
570
609
  onKeydown($event) {
571
610
  if (!this.actionButton) {
@@ -580,7 +619,7 @@ class McTreeOption extends McTreeNode {
580
619
  if (this.disabled) {
581
620
  return;
582
621
  }
583
- this.changeDetectorRef.markForCheck();
622
+ this.markForCheck();
584
623
  this.emitSelectionChangeEvent(true);
585
624
  const shiftKey = $event ? hasModifierKey($event, 'shiftKey') : false;
586
625
  const ctrlKey = $event ? hasModifierKey($event, 'ctrlKey') : false;
@@ -596,12 +635,12 @@ class McTreeOption extends McTreeNode {
596
635
  this.changeDetectorRef.markForCheck();
597
636
  }
598
637
  }
599
- /** @nocollapse */ McTreeOption.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: McTreeOption, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: MC_TREE_OPTION_PARENT_COMPONENT }], target: i0.ɵɵFactoryTarget.Component });
600
- /** @nocollapse */ McTreeOption.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: McTreeOption, selector: "mc-tree-option", inputs: { disabled: "disabled", showCheckbox: "showCheckbox" }, outputs: { onSelectionChange: "onSelectionChange" }, host: { listeners: { "focusin": "focus()", "blur": "blur()", "click": "selectViaInteraction($event)", "keydown": "onKeydown($event)" }, properties: { "class.mc-selected": "selected", "class.mc-focused": "hasFocus", "class.mc-action-button-focused": "actionButton?.active", "attr.id": "id", "attr.tabindex": "-1", "attr.disabled": "disabled || null" }, classAttribute: "mc-tree-option" }, providers: [
638
+ /** @nocollapse */ McTreeOption.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: McTreeOption, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: MC_TREE_OPTION_PARENT_COMPONENT }], target: i0.ɵɵFactoryTarget.Component });
639
+ /** @nocollapse */ McTreeOption.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: McTreeOption, selector: "mc-tree-option", inputs: { checkboxThirdState: "checkboxThirdState", disabled: "disabled", showCheckbox: "showCheckbox" }, outputs: { onSelectionChange: "onSelectionChange" }, host: { listeners: { "focusin": "focus()", "blur": "blur()", "click": "selectViaInteraction($event)", "keydown": "onKeydown($event)" }, properties: { "class.mc-selected": "selected", "class.mc-focused": "hasFocus", "class.mc-action-button-focused": "actionButton?.active", "attr.id": "id", "attr.tabindex": "-1", "attr.disabled": "disabled || null" }, classAttribute: "mc-tree-option" }, providers: [
601
640
  { provide: McTreeNode, useExisting: McTreeOption },
602
641
  { provide: MC_OPTION_ACTION_PARENT, useExisting: McTreeOption }
603
- ], queries: [{ propertyName: "toggleElementDirective", first: true, predicate: McTreeNodeToggleDirective, descendants: true }, { propertyName: "toggleElementComponent", first: true, predicate: McTreeNodeToggleComponent, descendants: true }, { propertyName: "pseudoCheckbox", first: true, predicate: McPseudoCheckbox, descendants: true }, { propertyName: "actionButton", first: true, predicate: McOptionActionComponent, descendants: true }, { propertyName: "tooltipTrigger", first: true, predicate: McTooltipTrigger, descendants: true }, { propertyName: "dropdownTrigger", first: true, predicate: McDropdownTrigger, descendants: true }], viewQueries: [{ propertyName: "toggleWrapper", first: true, predicate: ["toggleWrapper"], descendants: true }], exportAs: ["mcTreeOption"], usesInheritance: true, ngImport: i0, template: "<div class=\"toggle-wrapper\" #toggleWrapper>\n <ng-content select=\"mc-tree-node-toggle, [mc-tree-node-toggle], [mcTreeNodeToggle]\"></ng-content>\n</div>\n\n<ng-container [ngSwitch]=\"externalPseudoCheckbox\">\n <ng-content *ngSwitchCase=\"true\" select=\"mc-pseudo-checkbox\"></ng-content>\n\n <ng-container *ngSwitchCase=\"false\">\n <mc-pseudo-checkbox\n *ngIf=\"showCheckbox\"\n [state]=\"selected ? 'checked' : 'unchecked'\"\n [disabled]=\"disabled\">\n </mc-pseudo-checkbox>\n </ng-container>\n</ng-container>\n\n<ng-content select=\"mc-checkbox\"></ng-content>\n\n<ng-content select=\"[mc-icon]\"></ng-content>\n\n<ng-content select=\"mc-progress-spinner\"></ng-content>\n\n<span class=\"mc-option-text\"><ng-content></ng-content></span>\n\n<ng-content select=\"mc-option-action\"></ng-content>\n\n<div class=\"mc-option-overlay\"></div>\n", styles: [".mc-tree-option{box-sizing:border-box;display:flex;align-items:center;height:32px;height:var(--mc-tree-size-node-height, 32px);word-wrap:break-word;border:2px solid transparent}.mc-tree-option .mc-option-text{display:inline-block;flex-grow:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-right:16px;margin-right:var(--mc-tree-size-padding-right, 16px)}.mc-tree-option>.mc-icon,.mc-tree-option>.toggle-wrapper>.mc-icon{margin-right:8px;margin-right:var(--mc-tree-size-icon-padding, 8px);cursor:pointer}.mc-tree-option>.mc-progress-spinner{margin-right:8px}.mc-tree-option:focus{outline:none}.mc-tree-option:not([disabled]){cursor:pointer}.mc-tree-option>.mc-pseudo-checkbox,.mc-tree-option>.mc-checkbox{margin-right:8px;margin-right:var(--mc-tree-size-icon-padding, 8px)}.mc-tree-option .mc-option-action{display:none}.mc-tree-option:not([disabled]):hover .mc-option-action,.mc-tree-option:not([disabled]).mc-focused .mc-option-action,.mc-tree-option:not([disabled]).mc-action-button-focused .mc-option-action{display:flex}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i2.McPseudoCheckbox, selector: "mc-pseudo-checkbox", inputs: ["color", "state", "disabled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
604
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: McTreeOption, decorators: [{
642
+ ], queries: [{ propertyName: "toggleElementDirective", first: true, predicate: McTreeNodeToggleDirective, descendants: true }, { propertyName: "toggleElementComponent", first: true, predicate: McTreeNodeToggleComponent, descendants: true }, { propertyName: "pseudoCheckbox", first: true, predicate: McPseudoCheckbox, descendants: true }, { propertyName: "actionButton", first: true, predicate: McOptionActionComponent, descendants: true }, { propertyName: "tooltipTrigger", first: true, predicate: McTooltipTrigger, descendants: true }, { propertyName: "dropdownTrigger", first: true, predicate: McDropdownTrigger, descendants: true }], viewQueries: [{ propertyName: "toggleWrapper", first: true, predicate: ["toggleWrapper"], descendants: true }], exportAs: ["mcTreeOption"], usesInheritance: true, ngImport: i0, template: "<div class=\"toggle-wrapper\" #toggleWrapper>\n <ng-content select=\"mc-tree-node-toggle, [mc-tree-node-toggle], [mcTreeNodeToggle]\"></ng-content>\n</div>\n\n<ng-container [ngSwitch]=\"externalPseudoCheckbox\">\n <ng-content *ngSwitchCase=\"true\" select=\"mc-pseudo-checkbox\"></ng-content>\n\n <ng-container *ngSwitchCase=\"false\">\n <mc-pseudo-checkbox\n *ngIf=\"showCheckbox\"\n [state]=\"checkboxState\"\n [disabled]=\"disabled\">\n </mc-pseudo-checkbox>\n </ng-container>\n</ng-container>\n\n<ng-content select=\"mc-checkbox\"></ng-content>\n\n<ng-content select=\"[mc-icon]\"></ng-content>\n\n<ng-content select=\"mc-progress-spinner\"></ng-content>\n\n<span class=\"mc-option-text\"><ng-content></ng-content></span>\n\n<ng-content select=\"mc-option-action\"></ng-content>\n\n<div class=\"mc-option-overlay\"></div>\n", styles: [".mc-tree-option{box-sizing:border-box;display:flex;align-items:center;height:32px;height:var(--mc-tree-size-node-height, 32px);word-wrap:break-word;border:2px solid transparent}.mc-tree-option .mc-option-text{display:inline-block;flex-grow:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-right:16px;margin-right:var(--mc-tree-size-padding-right, 16px)}.mc-tree-option>.mc-icon,.mc-tree-option>.toggle-wrapper>.mc-icon{margin-right:8px;margin-right:var(--mc-tree-size-icon-padding, 8px);cursor:pointer}.mc-tree-option>.mc-progress-spinner{margin-right:8px}.mc-tree-option:focus{outline:none}.mc-tree-option:not([disabled]){cursor:pointer}.mc-tree-option>.mc-pseudo-checkbox,.mc-tree-option>.mc-checkbox{margin-right:8px;margin-right:var(--mc-tree-size-icon-padding, 8px)}.mc-tree-option .mc-option-action{display:none}.mc-tree-option:not([disabled]):hover .mc-option-action,.mc-tree-option:not([disabled]).mc-focused .mc-option-action,.mc-tree-option:not([disabled]).mc-action-button-focused .mc-option-action{display:flex}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i2.McPseudoCheckbox, selector: "mc-pseudo-checkbox", inputs: ["color", "state", "disabled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
643
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: McTreeOption, decorators: [{
605
644
  type: Component,
606
645
  args: [{ selector: 'mc-tree-option', exportAs: 'mcTreeOption', host: {
607
646
  class: 'mc-tree-option',
@@ -618,7 +657,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImpor
618
657
  }, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
619
658
  { provide: McTreeNode, useExisting: McTreeOption },
620
659
  { provide: MC_OPTION_ACTION_PARENT, useExisting: McTreeOption }
621
- ], template: "<div class=\"toggle-wrapper\" #toggleWrapper>\n <ng-content select=\"mc-tree-node-toggle, [mc-tree-node-toggle], [mcTreeNodeToggle]\"></ng-content>\n</div>\n\n<ng-container [ngSwitch]=\"externalPseudoCheckbox\">\n <ng-content *ngSwitchCase=\"true\" select=\"mc-pseudo-checkbox\"></ng-content>\n\n <ng-container *ngSwitchCase=\"false\">\n <mc-pseudo-checkbox\n *ngIf=\"showCheckbox\"\n [state]=\"selected ? 'checked' : 'unchecked'\"\n [disabled]=\"disabled\">\n </mc-pseudo-checkbox>\n </ng-container>\n</ng-container>\n\n<ng-content select=\"mc-checkbox\"></ng-content>\n\n<ng-content select=\"[mc-icon]\"></ng-content>\n\n<ng-content select=\"mc-progress-spinner\"></ng-content>\n\n<span class=\"mc-option-text\"><ng-content></ng-content></span>\n\n<ng-content select=\"mc-option-action\"></ng-content>\n\n<div class=\"mc-option-overlay\"></div>\n", styles: [".mc-tree-option{box-sizing:border-box;display:flex;align-items:center;height:32px;height:var(--mc-tree-size-node-height, 32px);word-wrap:break-word;border:2px solid transparent}.mc-tree-option .mc-option-text{display:inline-block;flex-grow:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-right:16px;margin-right:var(--mc-tree-size-padding-right, 16px)}.mc-tree-option>.mc-icon,.mc-tree-option>.toggle-wrapper>.mc-icon{margin-right:8px;margin-right:var(--mc-tree-size-icon-padding, 8px);cursor:pointer}.mc-tree-option>.mc-progress-spinner{margin-right:8px}.mc-tree-option:focus{outline:none}.mc-tree-option:not([disabled]){cursor:pointer}.mc-tree-option>.mc-pseudo-checkbox,.mc-tree-option>.mc-checkbox{margin-right:8px;margin-right:var(--mc-tree-size-icon-padding, 8px)}.mc-tree-option .mc-option-action{display:none}.mc-tree-option:not([disabled]):hover .mc-option-action,.mc-tree-option:not([disabled]).mc-focused .mc-option-action,.mc-tree-option:not([disabled]).mc-action-button-focused .mc-option-action{display:flex}\n"] }]
660
+ ], template: "<div class=\"toggle-wrapper\" #toggleWrapper>\n <ng-content select=\"mc-tree-node-toggle, [mc-tree-node-toggle], [mcTreeNodeToggle]\"></ng-content>\n</div>\n\n<ng-container [ngSwitch]=\"externalPseudoCheckbox\">\n <ng-content *ngSwitchCase=\"true\" select=\"mc-pseudo-checkbox\"></ng-content>\n\n <ng-container *ngSwitchCase=\"false\">\n <mc-pseudo-checkbox\n *ngIf=\"showCheckbox\"\n [state]=\"checkboxState\"\n [disabled]=\"disabled\">\n </mc-pseudo-checkbox>\n </ng-container>\n</ng-container>\n\n<ng-content select=\"mc-checkbox\"></ng-content>\n\n<ng-content select=\"[mc-icon]\"></ng-content>\n\n<ng-content select=\"mc-progress-spinner\"></ng-content>\n\n<span class=\"mc-option-text\"><ng-content></ng-content></span>\n\n<ng-content select=\"mc-option-action\"></ng-content>\n\n<div class=\"mc-option-overlay\"></div>\n", styles: [".mc-tree-option{box-sizing:border-box;display:flex;align-items:center;height:32px;height:var(--mc-tree-size-node-height, 32px);word-wrap:break-word;border:2px solid transparent}.mc-tree-option .mc-option-text{display:inline-block;flex-grow:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-right:16px;margin-right:var(--mc-tree-size-padding-right, 16px)}.mc-tree-option>.mc-icon,.mc-tree-option>.toggle-wrapper>.mc-icon{margin-right:8px;margin-right:var(--mc-tree-size-icon-padding, 8px);cursor:pointer}.mc-tree-option>.mc-progress-spinner{margin-right:8px}.mc-tree-option:focus{outline:none}.mc-tree-option:not([disabled]){cursor:pointer}.mc-tree-option>.mc-pseudo-checkbox,.mc-tree-option>.mc-checkbox{margin-right:8px;margin-right:var(--mc-tree-size-icon-padding, 8px)}.mc-tree-option .mc-option-action{display:none}.mc-tree-option:not([disabled]):hover .mc-option-action,.mc-tree-option:not([disabled]).mc-focused .mc-option-action,.mc-tree-option:not([disabled]).mc-action-button-focused .mc-option-action{display:flex}\n"] }]
622
661
  }], ctorParameters: function () {
623
662
  return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: undefined, decorators: [{
624
663
  type: Inject,
@@ -645,6 +684,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImpor
645
684
  }], dropdownTrigger: [{
646
685
  type: ContentChild,
647
686
  args: [McDropdownTrigger]
687
+ }], checkboxThirdState: [{
688
+ type: Input
648
689
  }], disabled: [{
649
690
  type: Input
650
691
  }], showCheckbox: [{
@@ -740,9 +781,9 @@ class McTreeNodePadding {
740
781
  this.renderer.setStyle(this.element.nativeElement, paddingProp, padding);
741
782
  }
742
783
  }
743
- /** @nocollapse */ McTreeNodePadding.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: McTreeNodePadding, deps: [{ token: McTreeNode }, { token: McTreeBase }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: McTreeOption }, { token: i3.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
744
- /** @nocollapse */ McTreeNodePadding.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.5", type: McTreeNodePadding, selector: "[mcTreeNodePadding]", inputs: { indent: ["mcTreeNodePaddingIndent", "indent"] }, exportAs: ["mcTreeNodePadding"], ngImport: i0 });
745
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: McTreeNodePadding, decorators: [{
784
+ /** @nocollapse */ McTreeNodePadding.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: McTreeNodePadding, deps: [{ token: McTreeNode }, { token: McTreeBase }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: McTreeOption }, { token: i3.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
785
+ /** @nocollapse */ McTreeNodePadding.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: McTreeNodePadding, selector: "[mcTreeNodePadding]", inputs: { indent: ["mcTreeNodePaddingIndent", "indent"] }, exportAs: ["mcTreeNodePadding"], ngImport: i0 });
786
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: McTreeNodePadding, decorators: [{
746
787
  type: Directive,
747
788
  args: [{
748
789
  selector: '[mcTreeNodePadding]',
@@ -759,9 +800,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImpor
759
800
 
760
801
  class McTree extends McTreeBase {
761
802
  }
762
- /** @nocollapse */ McTree.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: McTree, deps: null, target: i0.ɵɵFactoryTarget.Component });
763
- /** @nocollapse */ McTree.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: McTree, selector: "mc-tree", host: { classAttribute: "mc-tree" }, exportAs: ["mcTree"], usesInheritance: true, ngImport: i0, template: `<ng-container mcTreeNodeOutlet></ng-container>`, isInline: true, styles: [".mc-tree{display:block}\n"], dependencies: [{ kind: "directive", type: McTreeNodeOutlet, selector: "[mcTreeNodeOutlet]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
764
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: McTree, decorators: [{
803
+ /** @nocollapse */ McTree.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: McTree, deps: null, target: i0.ɵɵFactoryTarget.Component });
804
+ /** @nocollapse */ McTree.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: McTree, selector: "mc-tree", host: { classAttribute: "mc-tree" }, exportAs: ["mcTree"], usesInheritance: true, ngImport: i0, template: `<ng-container mcTreeNodeOutlet></ng-container>`, isInline: true, styles: [".mc-tree{display:block}\n"], dependencies: [{ kind: "directive", type: McTreeNodeOutlet, selector: "[mcTreeNodeOutlet]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
805
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: McTree, decorators: [{
765
806
  type: Component,
766
807
  args: [{ selector: 'mc-tree', exportAs: 'mcTree', template: `<ng-container mcTreeNodeOutlet></ng-container>`, host: {
767
808
  class: 'mc-tree'
@@ -1155,6 +1196,15 @@ class McTreeSelection extends McTreeBase {
1155
1196
  getItemHeight() {
1156
1197
  return this.renderedOptions.first ? this.renderedOptions.first.getHeight() : 0;
1157
1198
  }
1199
+ setStateChildren(option, state) {
1200
+ const valuesToChange = this.treeControl.getDescendants(option.data);
1201
+ if (state) {
1202
+ this.selectionModel.select(...valuesToChange);
1203
+ }
1204
+ else {
1205
+ this.selectionModel.deselect(...valuesToChange);
1206
+ }
1207
+ }
1158
1208
  onCopyDefaultHandler() {
1159
1209
  var _a;
1160
1210
  (_a = this.clipboard) === null || _a === void 0 ? void 0 : _a.copy(this.keyManager.activeItem.value);
@@ -1244,13 +1294,13 @@ class McTreeSelection extends McTreeBase {
1244
1294
  return $event.relatedTarget.classList.contains('mc-tree-option');
1245
1295
  }
1246
1296
  }
1247
- /** @nocollapse */ McTreeSelection.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: McTreeSelection, deps: [{ token: i0.ElementRef }, { token: i1$1.AsyncScheduler }, { token: i0.IterableDiffers }, { token: i0.ChangeDetectorRef }, { token: 'multiple', attribute: true }, { token: i2$1.Clipboard, optional: true }], target: i0.ɵɵFactoryTarget.Component });
1248
- /** @nocollapse */ McTreeSelection.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: McTreeSelection, selector: "mc-tree-selection", inputs: { treeControl: "treeControl", autoSelect: "autoSelect", noUnselectLast: "noUnselectLast", disabled: "disabled", tabIndex: "tabIndex" }, outputs: { navigationChange: "navigationChange", selectionChange: "selectionChange", onSelectAll: "onSelectAll", onCopy: "onCopy" }, host: { listeners: { "blur": "blur()", "focus": "focus($event)", "keydown": "onKeyDown($event)", "window:resize": "updateScrollSize()" }, properties: { "attr.tabindex": "tabIndex", "attr.disabled": "disabled || null" }, classAttribute: "mc-tree-selection" }, providers: [
1297
+ /** @nocollapse */ McTreeSelection.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: McTreeSelection, deps: [{ token: i0.ElementRef }, { token: i1$1.AsyncScheduler }, { token: i0.IterableDiffers }, { token: i0.ChangeDetectorRef }, { token: 'multiple', attribute: true }, { token: i2$1.Clipboard, optional: true }], target: i0.ɵɵFactoryTarget.Component });
1298
+ /** @nocollapse */ McTreeSelection.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: McTreeSelection, selector: "mc-tree-selection", inputs: { treeControl: "treeControl", autoSelect: "autoSelect", noUnselectLast: "noUnselectLast", disabled: "disabled", tabIndex: "tabIndex" }, outputs: { navigationChange: "navigationChange", selectionChange: "selectionChange", onSelectAll: "onSelectAll", onCopy: "onCopy" }, host: { listeners: { "blur": "blur()", "focus": "focus($event)", "keydown": "onKeyDown($event)", "window:resize": "updateScrollSize()" }, properties: { "attr.tabindex": "tabIndex", "attr.disabled": "disabled || null" }, classAttribute: "mc-tree-selection" }, providers: [
1249
1299
  MC_SELECTION_TREE_VALUE_ACCESSOR,
1250
1300
  { provide: MC_TREE_OPTION_PARENT_COMPONENT, useExisting: McTreeSelection },
1251
1301
  { provide: McTreeBase, useExisting: McTreeSelection }
1252
1302
  ], queries: [{ propertyName: "unorderedOptions", predicate: McTreeOption }], viewQueries: [{ propertyName: "nodeOutlet", first: true, predicate: McTreeNodeOutlet, descendants: true, static: true }], exportAs: ["mcTreeSelection"], usesInheritance: true, ngImport: i0, template: '<ng-container mcTreeNodeOutlet></ng-container>', isInline: true, styles: [".mc-tree-selection{display:block}\n"], dependencies: [{ kind: "directive", type: McTreeNodeOutlet, selector: "[mcTreeNodeOutlet]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1253
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: McTreeSelection, decorators: [{
1303
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: McTreeSelection, decorators: [{
1254
1304
  type: Component,
1255
1305
  args: [{ selector: 'mc-tree-selection', exportAs: 'mcTreeSelection', template: '<ng-container mcTreeNodeOutlet></ng-container>', host: {
1256
1306
  class: 'mc-tree-selection',
@@ -1311,8 +1361,8 @@ const MC_TREE_DIRECTIVES = [
1311
1361
  ];
1312
1362
  class McTreeModule {
1313
1363
  }
1314
- /** @nocollapse */ McTreeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: McTreeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1315
- /** @nocollapse */ McTreeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.5", ngImport: i0, type: McTreeModule, declarations: [McTreeNodeOutlet,
1364
+ /** @nocollapse */ McTreeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: McTreeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1365
+ /** @nocollapse */ McTreeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: McTreeModule, declarations: [McTreeNodeOutlet,
1316
1366
  McTreeNodeDef,
1317
1367
  McTreeNode,
1318
1368
  McTreeNodePadding,
@@ -1329,8 +1379,8 @@ class McTreeModule {
1329
1379
  McTreeOption,
1330
1380
  McTreeNodeToggleComponent,
1331
1381
  McTreeNodeToggleDirective] });
1332
- /** @nocollapse */ McTreeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: McTreeModule, providers: [{ provide: AsyncScheduler, useValue: asyncScheduler }], imports: [CommonModule, McPseudoCheckboxModule] });
1333
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: McTreeModule, decorators: [{
1382
+ /** @nocollapse */ McTreeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: McTreeModule, providers: [{ provide: AsyncScheduler, useValue: asyncScheduler }], imports: [CommonModule, McPseudoCheckboxModule] });
1383
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: McTreeModule, decorators: [{
1334
1384
  type: NgModule,
1335
1385
  args: [{
1336
1386
  imports: [CommonModule, McPseudoCheckboxModule],
@@ -1402,7 +1452,7 @@ function defaultCompareValues(firstValue, secondValue) {
1402
1452
  return firstValue === secondValue;
1403
1453
  }
1404
1454
  function defaultCompareViewValues(firstViewValue, secondViewValue) {
1405
- return RegExp(secondViewValue, 'gi').test(firstViewValue);
1455
+ return RegExp(escapeRegExp(secondViewValue), 'gi').test(firstViewValue);
1406
1456
  }
1407
1457
  /** Flat tree control. Able to expand/collapse a subtree recursively for flattened tree. */
1408
1458
  class FlatTreeControl extends BaseTreeControl {
@@ -1495,9 +1545,12 @@ class FlatTreeControl extends BaseTreeControl {
1495
1545
  }
1496
1546
  });
1497
1547
  this.filterModel.select(...Array.from(filteredNodesWithTheirParents));
1498
- this.filterValue.next(value);
1548
+ this.updateFilterValue(value);
1499
1549
  this.restoreExpansionState();
1500
1550
  }
1551
+ updateFilterValue(value) {
1552
+ Promise.resolve().then(() => this.filterValue.next(value));
1553
+ }
1501
1554
  expandDataNode(dataNode) {
1502
1555
  if (this.isExpandable(dataNode)) {
1503
1556
  this.expansionModel.select(dataNode);