@ptsecurity/mosaic 14.5.1 → 14.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (319) 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/core/version.mjs +2 -2
  38. package/esm2020/datepicker/calendar-body.component.mjs +4 -4
  39. package/esm2020/datepicker/calendar.component.mjs +7 -7
  40. package/esm2020/datepicker/datepicker-input.directive.mjs +4 -4
  41. package/esm2020/datepicker/datepicker-intl.mjs +4 -4
  42. package/esm2020/datepicker/datepicker-module.mjs +5 -5
  43. package/esm2020/datepicker/datepicker-toggle.component.mjs +7 -7
  44. package/esm2020/datepicker/datepicker.component.mjs +7 -7
  45. package/esm2020/datepicker/month-view.component.mjs +4 -4
  46. package/esm2020/datepicker/multi-year-view.component.mjs +4 -4
  47. package/esm2020/datepicker/year-view.component.mjs +4 -4
  48. package/esm2020/divider/divider.component.mjs +4 -4
  49. package/esm2020/divider/divider.module.mjs +5 -5
  50. package/esm2020/dl/dl.component.mjs +10 -10
  51. package/esm2020/dl/dl.module.mjs +5 -5
  52. package/esm2020/dropdown/dropdown-content.directive.mjs +4 -4
  53. package/esm2020/dropdown/dropdown-item.component.mjs +4 -4
  54. package/esm2020/dropdown/dropdown-trigger.directive.mjs +4 -4
  55. package/esm2020/dropdown/dropdown.component.mjs +4 -4
  56. package/esm2020/dropdown/dropdown.module.mjs +5 -5
  57. package/esm2020/form-field/cleaner.mjs +4 -4
  58. package/esm2020/form-field/form-field.mjs +10 -10
  59. package/esm2020/form-field/form-field.module.mjs +5 -5
  60. package/esm2020/form-field/hint.mjs +4 -4
  61. package/esm2020/form-field/password-hint.mjs +4 -4
  62. package/esm2020/form-field/prefix.mjs +4 -4
  63. package/esm2020/form-field/stepper.mjs +4 -4
  64. package/esm2020/form-field/suffix.mjs +4 -4
  65. package/esm2020/form-field/validate.directive.mjs +4 -4
  66. package/esm2020/icon/icon.component.mjs +7 -7
  67. package/esm2020/icon/icon.module.mjs +5 -5
  68. package/esm2020/input/input-number-validators.mjs +7 -7
  69. package/esm2020/input/input-number.mjs +4 -4
  70. package/esm2020/input/input-password.mjs +7 -7
  71. package/esm2020/input/input.mjs +7 -7
  72. package/esm2020/input/input.module.mjs +5 -5
  73. package/esm2020/link/link.component.mjs +13 -9
  74. package/esm2020/link/link.module.mjs +5 -5
  75. package/esm2020/list/list-selection.component.mjs +7 -7
  76. package/esm2020/list/list.component.mjs +7 -7
  77. package/esm2020/list/list.module.mjs +5 -5
  78. package/esm2020/loader-overlay/loader-overlay.component.mjs +13 -13
  79. package/esm2020/loader-overlay/loader-overlay.module.mjs +5 -5
  80. package/esm2020/markdown/markdown.component.mjs +20 -12
  81. package/esm2020/markdown/markdown.module.mjs +5 -5
  82. package/esm2020/markdown/markdown.service.mjs +4 -4
  83. package/esm2020/modal/css-unit.pipe.mjs +4 -4
  84. package/esm2020/modal/modal-control.service.mjs +4 -4
  85. package/esm2020/modal/modal.component.mjs +4 -4
  86. package/esm2020/modal/modal.directive.mjs +13 -13
  87. package/esm2020/modal/modal.module.mjs +5 -5
  88. package/esm2020/modal/modal.service.mjs +4 -4
  89. package/esm2020/navbar/navbar-item.component.mjs +31 -31
  90. package/esm2020/navbar/navbar.component.mjs +10 -10
  91. package/esm2020/navbar/navbar.module.mjs +5 -5
  92. package/esm2020/navbar/vertical-navbar.component.mjs +4 -4
  93. package/esm2020/popover/popover-confirm.component.mjs +7 -7
  94. package/esm2020/popover/popover.component.mjs +7 -7
  95. package/esm2020/popover/popover.module.mjs +5 -5
  96. package/esm2020/progress-bar/progress-bar.component.mjs +4 -4
  97. package/esm2020/progress-bar/progress-bar.module.mjs +5 -5
  98. package/esm2020/progress-spinner/progress-spinner.component.mjs +4 -4
  99. package/esm2020/progress-spinner/progress-spinner.module.mjs +5 -5
  100. package/esm2020/radio/radio.component.mjs +7 -7
  101. package/esm2020/radio/radio.module.mjs +5 -5
  102. package/esm2020/select/select-option.directive.mjs +4 -4
  103. package/esm2020/select/select.component.mjs +13 -13
  104. package/esm2020/select/select.module.mjs +5 -5
  105. package/esm2020/sidebar/sidebar.component.mjs +10 -10
  106. package/esm2020/sidebar/sidebar.module.mjs +5 -5
  107. package/esm2020/sidepanel/sidepanel-container.component.mjs +4 -4
  108. package/esm2020/sidepanel/sidepanel-directives.mjs +16 -16
  109. package/esm2020/sidepanel/sidepanel.module.mjs +5 -5
  110. package/esm2020/sidepanel/sidepanel.service.mjs +4 -4
  111. package/esm2020/splitter/splitter.component.mjs +13 -13
  112. package/esm2020/splitter/splitter.module.mjs +5 -5
  113. package/esm2020/table/table.component.mjs +4 -4
  114. package/esm2020/table/table.module.mjs +5 -5
  115. package/esm2020/tabs/paginated-tab-header.mjs +4 -4
  116. package/esm2020/tabs/tab-body.component.mjs +7 -7
  117. package/esm2020/tabs/tab-content.directive.mjs +4 -4
  118. package/esm2020/tabs/tab-group.component.mjs +19 -19
  119. package/esm2020/tabs/tab-header.component.mjs +5 -5
  120. package/esm2020/tabs/tab-label-wrapper.directive.mjs +4 -4
  121. package/esm2020/tabs/tab-label.directive.mjs +4 -4
  122. package/esm2020/tabs/tab-nav-bar/tab-nav-bar.mjs +8 -8
  123. package/esm2020/tabs/tab.component.mjs +4 -4
  124. package/esm2020/tabs/tabs.module.mjs +5 -5
  125. package/esm2020/tags/tag-input.mjs +4 -4
  126. package/esm2020/tags/tag-list.component.mjs +4 -4
  127. package/esm2020/tags/tag.component.mjs +13 -13
  128. package/esm2020/tags/tag.module.mjs +5 -5
  129. package/esm2020/textarea/textarea.component.mjs +4 -4
  130. package/esm2020/textarea/textarea.module.mjs +5 -5
  131. package/esm2020/timepicker/timepicker.directive.mjs +4 -4
  132. package/esm2020/timepicker/timepicker.module.mjs +5 -5
  133. package/esm2020/timezone/cities-by-filter.pipe.mjs +4 -4
  134. package/esm2020/timezone/timezone-option.component.mjs +4 -4
  135. package/esm2020/timezone/timezone-option.directive.mjs +4 -4
  136. package/esm2020/timezone/timezone-select.component.mjs +7 -7
  137. package/esm2020/timezone/timezone.module.mjs +5 -5
  138. package/esm2020/timezone/utc-offset.pipe.mjs +4 -4
  139. package/esm2020/toast/toast-container.component.mjs +4 -4
  140. package/esm2020/toast/toast.component.mjs +4 -4
  141. package/esm2020/toast/toast.module.mjs +5 -5
  142. package/esm2020/toast/toast.service.mjs +4 -4
  143. package/esm2020/toggle/toggle.component.mjs +4 -4
  144. package/esm2020/toggle/toggle.module.mjs +5 -5
  145. package/esm2020/tooltip/tooltip.component.mjs +13 -13
  146. package/esm2020/tooltip/tooltip.module.mjs +5 -5
  147. package/esm2020/tree/control/flat-tree-control.mjs +7 -3
  148. package/esm2020/tree/node.mjs +4 -4
  149. package/esm2020/tree/outlet.mjs +4 -4
  150. package/esm2020/tree/padding.directive.mjs +4 -4
  151. package/esm2020/tree/toggle.mjs +10 -10
  152. package/esm2020/tree/tree-base.mjs +7 -7
  153. package/esm2020/tree/tree-option.component.mjs +52 -11
  154. package/esm2020/tree/tree-selection.component.mjs +13 -4
  155. package/esm2020/tree/tree.mjs +4 -4
  156. package/esm2020/tree/tree.module.mjs +5 -5
  157. package/esm2020/tree-select/tree-select.component.mjs +19 -14
  158. package/esm2020/tree-select/tree-select.module.mjs +5 -5
  159. package/fesm2015/ptsecurity-mosaic-autocomplete.mjs +13 -13
  160. package/fesm2015/ptsecurity-mosaic-autocomplete.mjs.map +1 -1
  161. package/fesm2015/ptsecurity-mosaic-button-toggle.mjs +10 -10
  162. package/fesm2015/ptsecurity-mosaic-button-toggle.mjs.map +1 -1
  163. package/fesm2015/ptsecurity-mosaic-button.mjs +10 -10
  164. package/fesm2015/ptsecurity-mosaic-button.mjs.map +1 -1
  165. package/fesm2015/ptsecurity-mosaic-card.mjs +7 -7
  166. package/fesm2015/ptsecurity-mosaic-card.mjs.map +1 -1
  167. package/fesm2015/ptsecurity-mosaic-checkbox.mjs +10 -10
  168. package/fesm2015/ptsecurity-mosaic-checkbox.mjs.map +1 -1
  169. package/fesm2015/ptsecurity-mosaic-core.mjs +122 -116
  170. package/fesm2015/ptsecurity-mosaic-core.mjs.map +1 -1
  171. package/fesm2015/ptsecurity-mosaic-datepicker.mjs +40 -40
  172. package/fesm2015/ptsecurity-mosaic-datepicker.mjs.map +1 -1
  173. package/fesm2015/ptsecurity-mosaic-divider.mjs +7 -7
  174. package/fesm2015/ptsecurity-mosaic-divider.mjs.map +1 -1
  175. package/fesm2015/ptsecurity-mosaic-dl.mjs +13 -13
  176. package/fesm2015/ptsecurity-mosaic-dl.mjs.map +1 -1
  177. package/fesm2015/ptsecurity-mosaic-dropdown.mjs +16 -16
  178. package/fesm2015/ptsecurity-mosaic-dropdown.mjs.map +1 -1
  179. package/fesm2015/ptsecurity-mosaic-form-field.mjs +34 -34
  180. package/fesm2015/ptsecurity-mosaic-form-field.mjs.map +1 -1
  181. package/fesm2015/ptsecurity-mosaic-icon.mjs +10 -10
  182. package/fesm2015/ptsecurity-mosaic-icon.mjs.map +1 -1
  183. package/fesm2015/ptsecurity-mosaic-input.mjs +25 -25
  184. package/fesm2015/ptsecurity-mosaic-input.mjs.map +1 -1
  185. package/fesm2015/ptsecurity-mosaic-link.mjs +17 -13
  186. package/fesm2015/ptsecurity-mosaic-link.mjs.map +1 -1
  187. package/fesm2015/ptsecurity-mosaic-list.mjs +16 -16
  188. package/fesm2015/ptsecurity-mosaic-list.mjs.map +1 -1
  189. package/fesm2015/ptsecurity-mosaic-loader-overlay.mjs +16 -16
  190. package/fesm2015/ptsecurity-mosaic-loader-overlay.mjs.map +1 -1
  191. package/fesm2015/ptsecurity-mosaic-markdown.mjs +24 -17
  192. package/fesm2015/ptsecurity-mosaic-markdown.mjs.map +1 -1
  193. package/fesm2015/ptsecurity-mosaic-modal.mjs +28 -28
  194. package/fesm2015/ptsecurity-mosaic-modal.mjs.map +1 -1
  195. package/fesm2015/ptsecurity-mosaic-navbar.mjs +46 -46
  196. package/fesm2015/ptsecurity-mosaic-navbar.mjs.map +1 -1
  197. package/fesm2015/ptsecurity-mosaic-popover.mjs +16 -16
  198. package/fesm2015/ptsecurity-mosaic-popover.mjs.map +1 -1
  199. package/fesm2015/ptsecurity-mosaic-progress-bar.mjs +7 -7
  200. package/fesm2015/ptsecurity-mosaic-progress-bar.mjs.map +1 -1
  201. package/fesm2015/ptsecurity-mosaic-progress-spinner.mjs +7 -7
  202. package/fesm2015/ptsecurity-mosaic-progress-spinner.mjs.map +1 -1
  203. package/fesm2015/ptsecurity-mosaic-radio.mjs +10 -10
  204. package/fesm2015/ptsecurity-mosaic-radio.mjs.map +1 -1
  205. package/fesm2015/ptsecurity-mosaic-select.mjs +19 -19
  206. package/fesm2015/ptsecurity-mosaic-select.mjs.map +1 -1
  207. package/fesm2015/ptsecurity-mosaic-sidebar.mjs +13 -13
  208. package/fesm2015/ptsecurity-mosaic-sidebar.mjs.map +1 -1
  209. package/fesm2015/ptsecurity-mosaic-sidepanel.mjs +25 -25
  210. package/fesm2015/ptsecurity-mosaic-sidepanel.mjs.map +1 -1
  211. package/fesm2015/ptsecurity-mosaic-splitter.mjs +16 -16
  212. package/fesm2015/ptsecurity-mosaic-splitter.mjs.map +1 -1
  213. package/fesm2015/ptsecurity-mosaic-table.mjs +7 -7
  214. package/fesm2015/ptsecurity-mosaic-table.mjs.map +1 -1
  215. package/fesm2015/ptsecurity-mosaic-tabs.mjs +54 -54
  216. package/fesm2015/ptsecurity-mosaic-tabs.mjs.map +1 -1
  217. package/fesm2015/ptsecurity-mosaic-tags.mjs +22 -22
  218. package/fesm2015/ptsecurity-mosaic-tags.mjs.map +1 -1
  219. package/fesm2015/ptsecurity-mosaic-textarea.mjs +7 -7
  220. package/fesm2015/ptsecurity-mosaic-textarea.mjs.map +1 -1
  221. package/fesm2015/ptsecurity-mosaic-timepicker.mjs +7 -7
  222. package/fesm2015/ptsecurity-mosaic-timepicker.mjs.map +1 -1
  223. package/fesm2015/ptsecurity-mosaic-timezone.mjs +22 -22
  224. package/fesm2015/ptsecurity-mosaic-timezone.mjs.map +1 -1
  225. package/fesm2015/ptsecurity-mosaic-toast.mjs +13 -13
  226. package/fesm2015/ptsecurity-mosaic-toast.mjs.map +1 -1
  227. package/fesm2015/ptsecurity-mosaic-toggle.mjs +7 -7
  228. package/fesm2015/ptsecurity-mosaic-toggle.mjs.map +1 -1
  229. package/fesm2015/ptsecurity-mosaic-tooltip.mjs +16 -16
  230. package/fesm2015/ptsecurity-mosaic-tooltip.mjs.map +1 -1
  231. package/fesm2015/ptsecurity-mosaic-tree-select.mjs +23 -18
  232. package/fesm2015/ptsecurity-mosaic-tree-select.mjs.map +1 -1
  233. package/fesm2015/ptsecurity-mosaic-tree.mjs +100 -47
  234. package/fesm2015/ptsecurity-mosaic-tree.mjs.map +1 -1
  235. package/fesm2020/ptsecurity-mosaic-autocomplete.mjs +13 -13
  236. package/fesm2020/ptsecurity-mosaic-autocomplete.mjs.map +1 -1
  237. package/fesm2020/ptsecurity-mosaic-button-toggle.mjs +10 -10
  238. package/fesm2020/ptsecurity-mosaic-button-toggle.mjs.map +1 -1
  239. package/fesm2020/ptsecurity-mosaic-button.mjs +10 -10
  240. package/fesm2020/ptsecurity-mosaic-button.mjs.map +1 -1
  241. package/fesm2020/ptsecurity-mosaic-card.mjs +7 -7
  242. package/fesm2020/ptsecurity-mosaic-card.mjs.map +1 -1
  243. package/fesm2020/ptsecurity-mosaic-checkbox.mjs +10 -10
  244. package/fesm2020/ptsecurity-mosaic-checkbox.mjs.map +1 -1
  245. package/fesm2020/ptsecurity-mosaic-core.mjs +122 -116
  246. package/fesm2020/ptsecurity-mosaic-core.mjs.map +1 -1
  247. package/fesm2020/ptsecurity-mosaic-datepicker.mjs +40 -40
  248. package/fesm2020/ptsecurity-mosaic-datepicker.mjs.map +1 -1
  249. package/fesm2020/ptsecurity-mosaic-divider.mjs +7 -7
  250. package/fesm2020/ptsecurity-mosaic-divider.mjs.map +1 -1
  251. package/fesm2020/ptsecurity-mosaic-dl.mjs +13 -13
  252. package/fesm2020/ptsecurity-mosaic-dl.mjs.map +1 -1
  253. package/fesm2020/ptsecurity-mosaic-dropdown.mjs +16 -16
  254. package/fesm2020/ptsecurity-mosaic-dropdown.mjs.map +1 -1
  255. package/fesm2020/ptsecurity-mosaic-form-field.mjs +34 -34
  256. package/fesm2020/ptsecurity-mosaic-form-field.mjs.map +1 -1
  257. package/fesm2020/ptsecurity-mosaic-icon.mjs +10 -10
  258. package/fesm2020/ptsecurity-mosaic-icon.mjs.map +1 -1
  259. package/fesm2020/ptsecurity-mosaic-input.mjs +25 -25
  260. package/fesm2020/ptsecurity-mosaic-input.mjs.map +1 -1
  261. package/fesm2020/ptsecurity-mosaic-link.mjs +16 -12
  262. package/fesm2020/ptsecurity-mosaic-link.mjs.map +1 -1
  263. package/fesm2020/ptsecurity-mosaic-list.mjs +16 -16
  264. package/fesm2020/ptsecurity-mosaic-list.mjs.map +1 -1
  265. package/fesm2020/ptsecurity-mosaic-loader-overlay.mjs +16 -16
  266. package/fesm2020/ptsecurity-mosaic-loader-overlay.mjs.map +1 -1
  267. package/fesm2020/ptsecurity-mosaic-markdown.mjs +24 -17
  268. package/fesm2020/ptsecurity-mosaic-markdown.mjs.map +1 -1
  269. package/fesm2020/ptsecurity-mosaic-modal.mjs +28 -28
  270. package/fesm2020/ptsecurity-mosaic-modal.mjs.map +1 -1
  271. package/fesm2020/ptsecurity-mosaic-navbar.mjs +46 -46
  272. package/fesm2020/ptsecurity-mosaic-navbar.mjs.map +1 -1
  273. package/fesm2020/ptsecurity-mosaic-popover.mjs +16 -16
  274. package/fesm2020/ptsecurity-mosaic-popover.mjs.map +1 -1
  275. package/fesm2020/ptsecurity-mosaic-progress-bar.mjs +7 -7
  276. package/fesm2020/ptsecurity-mosaic-progress-bar.mjs.map +1 -1
  277. package/fesm2020/ptsecurity-mosaic-progress-spinner.mjs +7 -7
  278. package/fesm2020/ptsecurity-mosaic-progress-spinner.mjs.map +1 -1
  279. package/fesm2020/ptsecurity-mosaic-radio.mjs +10 -10
  280. package/fesm2020/ptsecurity-mosaic-radio.mjs.map +1 -1
  281. package/fesm2020/ptsecurity-mosaic-select.mjs +19 -19
  282. package/fesm2020/ptsecurity-mosaic-select.mjs.map +1 -1
  283. package/fesm2020/ptsecurity-mosaic-sidebar.mjs +13 -13
  284. package/fesm2020/ptsecurity-mosaic-sidebar.mjs.map +1 -1
  285. package/fesm2020/ptsecurity-mosaic-sidepanel.mjs +25 -25
  286. package/fesm2020/ptsecurity-mosaic-sidepanel.mjs.map +1 -1
  287. package/fesm2020/ptsecurity-mosaic-splitter.mjs +16 -16
  288. package/fesm2020/ptsecurity-mosaic-splitter.mjs.map +1 -1
  289. package/fesm2020/ptsecurity-mosaic-table.mjs +7 -7
  290. package/fesm2020/ptsecurity-mosaic-table.mjs.map +1 -1
  291. package/fesm2020/ptsecurity-mosaic-tabs.mjs +54 -54
  292. package/fesm2020/ptsecurity-mosaic-tabs.mjs.map +1 -1
  293. package/fesm2020/ptsecurity-mosaic-tags.mjs +22 -22
  294. package/fesm2020/ptsecurity-mosaic-tags.mjs.map +1 -1
  295. package/fesm2020/ptsecurity-mosaic-textarea.mjs +7 -7
  296. package/fesm2020/ptsecurity-mosaic-textarea.mjs.map +1 -1
  297. package/fesm2020/ptsecurity-mosaic-timepicker.mjs +7 -7
  298. package/fesm2020/ptsecurity-mosaic-timepicker.mjs.map +1 -1
  299. package/fesm2020/ptsecurity-mosaic-timezone.mjs +22 -22
  300. package/fesm2020/ptsecurity-mosaic-timezone.mjs.map +1 -1
  301. package/fesm2020/ptsecurity-mosaic-toast.mjs +13 -13
  302. package/fesm2020/ptsecurity-mosaic-toast.mjs.map +1 -1
  303. package/fesm2020/ptsecurity-mosaic-toggle.mjs +7 -7
  304. package/fesm2020/ptsecurity-mosaic-toggle.mjs.map +1 -1
  305. package/fesm2020/ptsecurity-mosaic-tooltip.mjs +16 -16
  306. package/fesm2020/ptsecurity-mosaic-tooltip.mjs.map +1 -1
  307. package/fesm2020/ptsecurity-mosaic-tree-select.mjs +22 -17
  308. package/fesm2020/ptsecurity-mosaic-tree-select.mjs.map +1 -1
  309. package/fesm2020/ptsecurity-mosaic-tree.mjs +100 -47
  310. package/fesm2020/ptsecurity-mosaic-tree.mjs.map +1 -1
  311. package/link/link.component.d.ts +2 -1
  312. package/markdown/markdown.component.d.ts +7 -4
  313. package/package.json +8 -8
  314. package/prebuilt-themes/dark-theme.css +1 -1
  315. package/prebuilt-themes/default-theme.css +1 -1
  316. package/tree/control/flat-tree-control.d.ts +1 -0
  317. package/tree/tree-option.component.d.ts +8 -2
  318. package/tree/tree-selection.component.d.ts +1 -0
  319. package/tree-select/tree-select.component.d.ts +1 -1
@@ -140,9 +140,9 @@ class McNumberInput {
140
140
  }
141
141
  }
142
142
  }
143
- /** @nocollapse */ McNumberInput.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: McNumberInput, deps: [{ token: i0.ElementRef }, { token: i1.NgControl, optional: true, self: true }, { token: 'step', attribute: true }, { token: 'big-step', attribute: true }, { token: 'min', attribute: true }, { token: 'max', attribute: true }], target: i0.ɵɵFactoryTarget.Directive });
144
- /** @nocollapse */ McNumberInput.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.5", type: McNumberInput, selector: "input[mcInput][type=\"number\"]", inputs: { bigStep: "bigStep", step: "step", min: "min", max: "max" }, host: { listeners: { "blur": "focusChanged(false)", "focus": "focusChanged(true)", "paste": "onPaste($event)", "keydown": "onKeyDown($event)" } }, exportAs: ["mcNumericalInput"], ngImport: i0 });
145
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: McNumberInput, decorators: [{
143
+ /** @nocollapse */ McNumberInput.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: McNumberInput, deps: [{ token: i0.ElementRef }, { token: i1.NgControl, optional: true, self: true }, { token: 'step', attribute: true }, { token: 'big-step', attribute: true }, { token: 'min', attribute: true }, { token: 'max', attribute: true }], target: i0.ɵɵFactoryTarget.Directive });
144
+ /** @nocollapse */ McNumberInput.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: McNumberInput, selector: "input[mcInput][type=\"number\"]", inputs: { bigStep: "bigStep", step: "step", min: "min", max: "max" }, host: { listeners: { "blur": "focusChanged(false)", "focus": "focusChanged(true)", "paste": "onPaste($event)", "keydown": "onKeyDown($event)" } }, exportAs: ["mcNumericalInput"], ngImport: i0 });
145
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: McNumberInput, decorators: [{
146
146
  type: Directive,
147
147
  args: [{
148
148
  selector: `input[mcInput][type="number"]`,
@@ -394,11 +394,11 @@ class McInput extends McInputMixinBase {
394
394
  return validity === null || validity === void 0 ? void 0 : validity.badInput;
395
395
  }
396
396
  }
397
- /** @nocollapse */ McInput.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: McInput, deps: [{ token: i0.ElementRef }, { token: i1.NgControl, optional: true, self: true }, { token: McNumberInput, optional: true, self: true }, { token: i1.NgForm, optional: true }, { token: i1.FormGroupDirective, optional: true }, { token: i3.ErrorStateMatcher }, { token: MC_INPUT_VALUE_ACCESSOR, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive });
398
- /** @nocollapse */ McInput.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.5", type: McInput, selector: "input[mcInput]", inputs: { errorStateMatcher: "errorStateMatcher", placeholder: "placeholder", disabled: "disabled", id: "id", required: "required", type: "type", value: "value" }, host: { listeners: { "blur": "onBlur()", "focus": "focusChanged(true)" }, properties: { "attr.id": "id", "attr.placeholder": "placeholder", "attr.disabled": "disabled || null", "required": "required" }, classAttribute: "mc-input" }, providers: [{
397
+ /** @nocollapse */ McInput.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: McInput, deps: [{ token: i0.ElementRef }, { token: i1.NgControl, optional: true, self: true }, { token: McNumberInput, optional: true, self: true }, { token: i1.NgForm, optional: true }, { token: i1.FormGroupDirective, optional: true }, { token: i3.ErrorStateMatcher }, { token: MC_INPUT_VALUE_ACCESSOR, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive });
398
+ /** @nocollapse */ McInput.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: McInput, selector: "input[mcInput]", inputs: { errorStateMatcher: "errorStateMatcher", placeholder: "placeholder", disabled: "disabled", id: "id", required: "required", type: "type", value: "value" }, host: { listeners: { "blur": "onBlur()", "focus": "focusChanged(true)" }, properties: { "attr.id": "id", "attr.placeholder": "placeholder", "attr.disabled": "disabled || null", "required": "required" }, classAttribute: "mc-input" }, providers: [{
399
399
  provide: McFormFieldControl, useExisting: McInput
400
400
  }], exportAs: ["mcInput"], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
401
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: McInput, decorators: [{
401
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: McInput, decorators: [{
402
402
  type: Directive,
403
403
  args: [{
404
404
  selector: `input[mcInput]`,
@@ -456,9 +456,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImpor
456
456
  }] } });
457
457
  class McInputMono {
458
458
  }
459
- /** @nocollapse */ McInputMono.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: McInputMono, deps: [], target: i0.ɵɵFactoryTarget.Directive });
460
- /** @nocollapse */ McInputMono.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.5", type: McInputMono, selector: "input[mcInputMonospace]", host: { classAttribute: "mc-input_monospace" }, exportAs: ["McInputMonospace"], ngImport: i0 });
461
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: McInputMono, decorators: [{
459
+ /** @nocollapse */ McInputMono.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: McInputMono, deps: [], target: i0.ɵɵFactoryTarget.Directive });
460
+ /** @nocollapse */ McInputMono.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: McInputMono, selector: "input[mcInputMonospace]", host: { classAttribute: "mc-input_monospace" }, exportAs: ["McInputMonospace"], ngImport: i0 });
461
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: McInputMono, decorators: [{
462
462
  type: Directive,
463
463
  args: [{
464
464
  selector: 'input[mcInputMonospace]',
@@ -497,9 +497,9 @@ class MinValidator {
497
497
  this.validator = Validators.min(parseInt(this.min, 10));
498
498
  }
499
499
  }
500
- /** @nocollapse */ MinValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: MinValidator, deps: [], target: i0.ɵɵFactoryTarget.Directive });
501
- /** @nocollapse */ MinValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.5", type: MinValidator, selector: "[min][formControlName],[min][formControl],[min][ngModel]", inputs: { min: "min" }, host: { properties: { "attr.min": "min ? min : null" } }, providers: [MIN_VALIDATOR], usesOnChanges: true, ngImport: i0 });
502
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: MinValidator, decorators: [{
500
+ /** @nocollapse */ MinValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: MinValidator, deps: [], target: i0.ɵɵFactoryTarget.Directive });
501
+ /** @nocollapse */ MinValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: MinValidator, selector: "[min][formControlName],[min][formControl],[min][ngModel]", inputs: { min: "min" }, host: { properties: { "attr.min": "min ? min : null" } }, providers: [MIN_VALIDATOR], usesOnChanges: true, ngImport: i0 });
502
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: MinValidator, decorators: [{
503
503
  type: Directive,
504
504
  args: [{
505
505
  selector: '[min][formControlName],[min][formControl],[min][ngModel]',
@@ -541,9 +541,9 @@ class MaxValidator {
541
541
  this.validator = Validators.max(parseInt(this.max, 10));
542
542
  }
543
543
  }
544
- /** @nocollapse */ MaxValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: MaxValidator, deps: [], target: i0.ɵɵFactoryTarget.Directive });
545
- /** @nocollapse */ MaxValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.5", type: MaxValidator, selector: "[max][formControlName],[max][formControl],[max][ngModel]", inputs: { max: "max" }, host: { properties: { "attr.max": "max ? max : null" } }, providers: [MAX_VALIDATOR], usesOnChanges: true, ngImport: i0 });
546
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: MaxValidator, decorators: [{
544
+ /** @nocollapse */ MaxValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: MaxValidator, deps: [], target: i0.ɵɵFactoryTarget.Directive });
545
+ /** @nocollapse */ MaxValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: MaxValidator, selector: "[max][formControlName],[max][formControl],[max][ngModel]", inputs: { max: "max" }, host: { properties: { "attr.max": "max ? max : null" } }, providers: [MAX_VALIDATOR], usesOnChanges: true, ngImport: i0 });
546
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: MaxValidator, decorators: [{
547
547
  type: Directive,
548
548
  args: [{
549
549
  selector: '[max][formControlName],[max][formControl],[max][ngModel]',
@@ -619,9 +619,9 @@ class McPasswordToggle extends McTooltipTrigger {
619
619
  this.focusMonitor.stopMonitoring(this.elementRef);
620
620
  }
621
621
  }
622
- /** @nocollapse */ McPasswordToggle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: McPasswordToggle, deps: [{ token: i1$1.Overlay }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i1$1.ScrollDispatcher }, { token: i0.ViewContainerRef }, { token: MC_TOOLTIP_SCROLL_STRATEGY }, { token: i2.Directionality, optional: true }, { token: i3$1.FocusMonitor }, { token: i4.McFormField }], target: i0.ɵɵFactoryTarget.Component });
623
- /** @nocollapse */ McPasswordToggle.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: McPasswordToggle, selector: "mc-password-toggle", inputs: { content: ["mcTooltipNotHidden", "content"], mcTooltipHidden: "mcTooltipHidden", disabled: "disabled", tabIndex: "tabIndex" }, host: { listeners: { "click": "toggle()", "keydown.ENTER": "toggle()", "keydown.SPACE": "toggle()" }, properties: { "class.mc-eye_16": "hidden", "class.mc-eye-crossed_16": "!hidden", "attr.tabindex": "disabled ? null : tabIndex", "attr.disabled": "disabled || null" }, classAttribute: "mc-password-toggle mc" }, exportAs: ["mcPasswordToggle"], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
624
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: McPasswordToggle, decorators: [{
622
+ /** @nocollapse */ McPasswordToggle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: McPasswordToggle, deps: [{ token: i1$1.Overlay }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i1$1.ScrollDispatcher }, { token: i0.ViewContainerRef }, { token: MC_TOOLTIP_SCROLL_STRATEGY }, { token: i2.Directionality, optional: true }, { token: i3$1.FocusMonitor }, { token: i4.McFormField }], target: i0.ɵɵFactoryTarget.Component });
623
+ /** @nocollapse */ McPasswordToggle.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: McPasswordToggle, selector: "mc-password-toggle", inputs: { content: ["mcTooltipNotHidden", "content"], mcTooltipHidden: "mcTooltipHidden", disabled: "disabled", tabIndex: "tabIndex" }, host: { listeners: { "click": "toggle()", "keydown.ENTER": "toggle()", "keydown.SPACE": "toggle()" }, properties: { "class.mc-eye_16": "hidden", "class.mc-eye-crossed_16": "!hidden", "attr.tabindex": "disabled ? null : tabIndex", "attr.disabled": "disabled || null" }, classAttribute: "mc-password-toggle mc" }, exportAs: ["mcPasswordToggle"], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
624
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: McPasswordToggle, decorators: [{
625
625
  type: Component,
626
626
  args: [{
627
627
  selector: `mc-password-toggle`,
@@ -826,11 +826,11 @@ class McInputPassword extends McInputMixinBase {
826
826
  return (_a = this.elementRef.nativeElement.validity) === null || _a === void 0 ? void 0 : _a.badInput;
827
827
  }
828
828
  }
829
- /** @nocollapse */ McInputPassword.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: McInputPassword, deps: [{ token: i0.ElementRef }, { token: i1.NgControl, optional: true, self: true }, { token: i1.NgForm, optional: true }, { token: i1.FormGroupDirective, optional: true }, { token: i3.ErrorStateMatcher }, { token: MC_INPUT_VALUE_ACCESSOR, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive });
830
- /** @nocollapse */ McInputPassword.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.5", type: McInputPassword, selector: "input[mcInputPassword]", inputs: { errorStateMatcher: "errorStateMatcher", placeholder: "placeholder", disabled: "disabled", id: "id", required: "required", value: "value" }, host: { listeners: { "blur": "onBlur()", "focus": "focusChanged(true)", "input": "onInput()" }, properties: { "attr.id": "id", "attr.type": "elementType", "attr.placeholder": "placeholder", "attr.disabled": "disabled || null", "required": "required" }, classAttribute: "mc-input mc-input-password" }, providers: [{
829
+ /** @nocollapse */ McInputPassword.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: McInputPassword, deps: [{ token: i0.ElementRef }, { token: i1.NgControl, optional: true, self: true }, { token: i1.NgForm, optional: true }, { token: i1.FormGroupDirective, optional: true }, { token: i3.ErrorStateMatcher }, { token: MC_INPUT_VALUE_ACCESSOR, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive });
830
+ /** @nocollapse */ McInputPassword.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: McInputPassword, selector: "input[mcInputPassword]", inputs: { errorStateMatcher: "errorStateMatcher", placeholder: "placeholder", disabled: "disabled", id: "id", required: "required", value: "value" }, host: { listeners: { "blur": "onBlur()", "focus": "focusChanged(true)", "input": "onInput()" }, properties: { "attr.id": "id", "attr.type": "elementType", "attr.placeholder": "placeholder", "attr.disabled": "disabled || null", "required": "required" }, classAttribute: "mc-input mc-input-password" }, providers: [{
831
831
  provide: McFormFieldControl, useExisting: McInputPassword
832
832
  }], exportAs: ["mcInputPassword"], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
833
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: McInputPassword, decorators: [{
833
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: McInputPassword, decorators: [{
834
834
  type: Directive,
835
835
  args: [{
836
836
  selector: `input[mcInputPassword]`,
@@ -885,8 +885,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImpor
885
885
 
886
886
  class McInputModule {
887
887
  }
888
- /** @nocollapse */ McInputModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: McInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
889
- /** @nocollapse */ McInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.5", ngImport: i0, type: McInputModule, declarations: [McInput,
888
+ /** @nocollapse */ McInputModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: McInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
889
+ /** @nocollapse */ McInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: McInputModule, declarations: [McInput,
890
890
  McNumberInput,
891
891
  McInputPassword,
892
892
  McPasswordToggle,
@@ -902,11 +902,11 @@ class McInputModule {
902
902
  McInputMono,
903
903
  MinValidator,
904
904
  MaxValidator] });
905
- /** @nocollapse */ McInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: McInputModule, imports: [CommonModule,
905
+ /** @nocollapse */ McInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: McInputModule, imports: [CommonModule,
906
906
  A11yModule,
907
907
  McCommonModule,
908
908
  FormsModule] });
909
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: McInputModule, decorators: [{
909
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: McInputModule, decorators: [{
910
910
  type: NgModule,
911
911
  args: [{
912
912
  imports: [
@@ -1 +1 @@
1
- {"version":3,"file":"ptsecurity-mosaic-input.mjs","sources":["../../../packages/mosaic/input/input-errors.ts","../../../packages/mosaic/input/input-value-accessor.ts","../../../packages/mosaic/input/input-number.ts","../../../packages/mosaic/input/input.ts","../../../packages/mosaic/input/input-number-validators.ts","../../../packages/mosaic/input/input-password.ts","../../../packages/mosaic/input/input.module.ts","../../../packages/mosaic/input/ptsecurity-mosaic-input.ts"],"sourcesContent":["export function getMcInputUnsupportedTypeError(inputType: string): Error {\n return Error(`Input type \"${inputType}\" isn't supported by mcInput.`);\n}\n","import { InjectionToken } from '@angular/core';\n\n\nexport const MC_INPUT_VALUE_ACCESSOR = new InjectionToken<{ value: any }>('MC_INPUT_VALUE_ACCESSOR');\n","import {\n Attribute,\n Directive,\n ElementRef,\n Input,\n Optional,\n Self\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport {\n END, C, V, X, A, Z, DELETE, BACKSPACE, TAB, ENTER,\n ESCAPE, ZERO, NINE, NUMPAD_ZERO, NUMPAD_NINE, NUMPAD_MINUS, DASH,\n FF_MINUS, LEFT_ARROW, RIGHT_ARROW, HOME, UP_ARROW, DOWN_ARROW, F1, F12\n} from '@ptsecurity/cdk/keycodes';\nimport { Subject } from 'rxjs';\n\n\nexport const BIG_STEP = 10;\nexport const SMALL_STEP = 1;\n\nexport function normalizeSplitter(value: string): string {\n return value ? value.replace(/,/g, '.') : value;\n}\n\nexport function isFloat(value: string): boolean {\n return /^-?\\d+\\.\\d+$/.test(value);\n}\n\nexport function isInt(value: string): boolean {\n return /^-?\\d+$/.test(value);\n}\n\nexport function isDigit(value: string): boolean {\n return isFloat(value) || isInt(value);\n}\n\nexport function getPrecision(value: number): number {\n const arr = value.toString().split('.');\n\n return arr.length === 1\n ? 1\n // tslint:disable-next-line:no-magic-numbers\n : Math.pow(10, arr[1].length);\n}\n\nexport function add(value1: number, value2: number): number {\n const precision = Math.max(getPrecision(value1), getPrecision(value2));\n\n return (value1 * precision + value2 * precision) / precision;\n}\n\n\n@Directive({\n selector: `input[mcInput][type=\"number\"]`,\n exportAs: 'mcNumericalInput',\n host: {\n '(blur)': 'focusChanged(false)',\n '(focus)': 'focusChanged(true)',\n '(paste)': 'onPaste($event)',\n '(keydown)': 'onKeyDown($event)'\n }\n})\nexport class McNumberInput {\n @Input()\n bigStep: number;\n\n @Input()\n step: number;\n\n @Input()\n min: number;\n\n @Input()\n max: number;\n\n value: any;\n\n focused: boolean = false;\n\n readonly stateChanges: Subject<void> = new Subject<void>();\n\n get nativeElement(): HTMLInputElement {\n return this.elementRef.nativeElement;\n }\n\n constructor(\n private elementRef: ElementRef,\n @Optional() @Self() private ngControl: NgControl,\n @Attribute('step') step: string,\n @Attribute('big-step') bigStep: string,\n @Attribute('min') min: string,\n @Attribute('max') max: string\n ) {\n this.step = isDigit(step) ? parseFloat(step) : SMALL_STEP;\n this.bigStep = isDigit(bigStep) ? parseFloat(bigStep) : BIG_STEP;\n this.min = isDigit(min) ? parseFloat(min) : -Infinity;\n this.max = isDigit(max) ? parseFloat(max) : Infinity;\n\n if ('valueAsNumber' in this.nativeElement) {\n Object.defineProperty(Object.getPrototypeOf(this.nativeElement), 'valueAsNumber', {\n // tslint:disable-next-line:no-reserved-keywords\n get() {\n const res = parseFloat(normalizeSplitter(this.value));\n\n return isNaN(res) ? null : res;\n }\n });\n }\n }\n\n focusChanged(isFocused: boolean) {\n if (isFocused !== this.focused) {\n this.focused = isFocused;\n this.stateChanges.next();\n }\n }\n\n onKeyDown(event: KeyboardEvent) {\n // tslint:disable-next-line:deprecation\n const keyCode = event.keyCode;\n\n const isCtrlA = (e) => e.keyCode === A && (e.ctrlKey || e.metaKey);\n const isCtrlC = (e) => e.keyCode === C && (e.ctrlKey || e.metaKey);\n const isCtrlV = (e) => e.keyCode === V && (e.ctrlKey || e.metaKey);\n const isCtrlX = (e) => e.keyCode === X && (e.ctrlKey || e.metaKey);\n const isCtrlZ = (e) => e.keyCode === Z && (e.ctrlKey || e.metaKey);\n\n const isFKey = (e) => e.keyCode >= F1 && e.keyCode <= F12;\n\n const isNumber = (e) => (e.keyCode >= ZERO && e.keyCode <= NINE) ||\n (e.keyCode >= NUMPAD_ZERO && e.keyCode <= NUMPAD_NINE);\n\n const isPeriod = (e) => e.key === '.' || e.key === ',';\n\n const minuses = [NUMPAD_MINUS, DASH, FF_MINUS];\n const serviceKeys = [DELETE, BACKSPACE, TAB, ESCAPE, ENTER];\n const arrows = [LEFT_ARROW, RIGHT_ARROW];\n const allowedKeys = [HOME, END].concat(arrows).concat(serviceKeys).concat(minuses);\n\n if (allowedKeys.indexOf(keyCode) !== -1 ||\n isCtrlA(event) ||\n isCtrlC(event) ||\n isCtrlV(event) ||\n isCtrlX(event) ||\n isCtrlZ(event) ||\n isFKey(event) ||\n isPeriod(event)\n ) {\n // let it happen, don't do anything\n return;\n }\n // Ensure that it is not a number and stop the keypress\n if (event.shiftKey || !isNumber(event)) {\n event.preventDefault();\n\n // process steps\n const step = event.shiftKey ? this.bigStep : this.step;\n\n if (keyCode === UP_ARROW) {\n this.stepUp(step);\n }\n\n if (keyCode === DOWN_ARROW) {\n this.stepDown(step);\n }\n }\n }\n\n onPaste(event) {\n if (!isDigit(normalizeSplitter(event.clipboardData.getData('text')))) {\n event.preventDefault();\n }\n }\n\n stepUp(step: number) {\n this.elementRef.nativeElement.focus();\n\n const res = Math.max(Math.min(add(this.nativeElement.valueAsNumber || 0, step), this.max), this.min);\n\n this.nativeElement.value = res.toString();\n\n this.viewToModelUpdate(this.nativeElement.valueAsNumber);\n }\n\n stepDown(step: number) {\n this.elementRef.nativeElement.focus();\n\n const res = Math.min(Math.max(add(this.nativeElement.valueAsNumber || 0, -step), this.min), this.max);\n\n this.nativeElement.value = res.toString();\n\n this.viewToModelUpdate(this.nativeElement.valueAsNumber);\n }\n\n private viewToModelUpdate(value: number) {\n if (this.ngControl) {\n this.ngControl.control!.setValue(value);\n }\n }\n}\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { getSupportedInputTypes } from '@angular/cdk/platform';\nimport {\n Directive,\n DoCheck,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n OnChanges,\n OnDestroy,\n Optional,\n Self\n} from '@angular/core';\nimport {\n FormGroupDirective,\n NgControl,\n NgForm\n} from '@angular/forms';\nimport {\n CanUpdateErrorState,\n CanUpdateErrorStateCtor,\n ErrorStateMatcher,\n mixinErrorState\n} from '@ptsecurity/mosaic/core';\nimport { McFormFieldControl } from '@ptsecurity/mosaic/form-field';\nimport { Subject } from 'rxjs';\n\nimport { getMcInputUnsupportedTypeError } from './input-errors';\nimport { McNumberInput } from './input-number';\nimport { MC_INPUT_VALUE_ACCESSOR } from './input-value-accessor';\n\n\nconst MC_INPUT_INVALID_TYPES = [\n 'button',\n 'checkbox',\n 'file',\n 'hidden',\n 'image',\n 'radio',\n 'range',\n 'reset',\n 'submit'\n];\n\nlet nextUniqueId = 0;\n\nexport class McInputBase {\n /**\n * Emits whenever the component state changes and should cause the parent\n * form-field to update. Implemented as part of `McFormFieldControl`.\n * @docs-private\n */\n readonly stateChanges = new Subject<void>();\n\n constructor(\n public defaultErrorStateMatcher: ErrorStateMatcher,\n public parentForm: NgForm,\n public parentFormGroup: FormGroupDirective,\n public ngControl: NgControl\n ) {}\n}\n\n// tslint:disable-next-line:naming-convention\nexport const McInputMixinBase: CanUpdateErrorStateCtor & typeof McInputBase = mixinErrorState(McInputBase);\n\n\n@Directive({\n selector: `input[mcInput]`,\n exportAs: 'mcInput',\n host: {\n class: 'mc-input',\n // Native input properties that are overwritten by Angular inputs need to be synced with\n // the native input element. Otherwise property bindings for those don't work.\n '[attr.id]': 'id',\n '[attr.placeholder]': 'placeholder',\n '[attr.disabled]': 'disabled || null',\n '[required]': 'required',\n '(blur)': 'onBlur()',\n '(focus)': 'focusChanged(true)'\n },\n providers: [{\n provide: McFormFieldControl, useExisting: McInput\n }]\n})\nexport class McInput extends McInputMixinBase implements McFormFieldControl<any>, OnChanges, OnDestroy, DoCheck,\n CanUpdateErrorState, OnChanges {\n\n /** An object used to control when error messages are shown. */\n @Input() errorStateMatcher: ErrorStateMatcher;\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n focused: boolean = false;\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n readonly stateChanges: Subject<void> = new Subject<void>();\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n controlType: string = 'input';\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n @Input() placeholder: string;\n\n protected uid = `mc-input-${nextUniqueId++}`;\n protected previousNativeValue: any;\n protected neverEmptyInputTypes = [\n 'date',\n 'datetime',\n 'datetime-local',\n 'month',\n 'time',\n 'week'\n ].filter((t) => getSupportedInputTypes().has(t));\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n @Input()\n get disabled(): boolean {\n if (this.ngControl && this.ngControl.disabled !== null) { return this.ngControl.disabled; }\n\n return this._disabled;\n }\n\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n\n // Browsers may not fire the blur event if the input is disabled too quickly.\n // Reset from here to ensure that the element doesn't become stuck.\n if (this.focused) {\n this.focused = false;\n this.stateChanges.next();\n }\n }\n\n private _disabled = false;\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n @Input()\n get id(): string {\n return this._id;\n }\n\n set id(value: string) {\n this._id = value || this.uid;\n }\n\n private _id: string;\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n @Input()\n get required(): boolean {\n return this._required;\n }\n\n set required(value: boolean) {\n this._required = coerceBooleanProperty(value);\n }\n\n private _required = false;\n\n // tslint:disable no-reserved-keywords\n /** Input type of the element. */\n @Input()\n get type(): string {\n return this._type;\n }\n\n set type(value: string) {\n this._type = value || 'text';\n this.validateType();\n\n // When using Angular inputs, developers are no longer able to set the properties on the native\n // input element. To ensure that bindings for `type` work, we need to sync the setter\n // with the native property. Textarea elements don't support the type property or attribute.\n if (getSupportedInputTypes().has(this._type)) {\n this.elementRef.nativeElement.type = this._type;\n }\n }\n // tslint:enable no-reserved-keywords\n\n private _type = 'text';\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n @Input()\n get value(): string {\n return this.inputValueAccessor.value;\n }\n\n set value(value: string) {\n if (value !== this.value) {\n this.inputValueAccessor.value = value;\n this.stateChanges.next();\n }\n }\n\n // tslint:disable-next-line: orthodox-getter-and-setter\n private inputValueAccessor: { value: any };\n\n // tslint:disable-next-line: naming-convention\n constructor(\n protected elementRef: ElementRef,\n @Optional() @Self() ngControl: NgControl,\n @Optional() @Self() public numberInput: McNumberInput,\n @Optional() parentForm: NgForm,\n @Optional() parentFormGroup: FormGroupDirective,\n defaultErrorStateMatcher: ErrorStateMatcher,\n @Optional() @Self() @Inject(MC_INPUT_VALUE_ACCESSOR) inputValueAccessor: any\n ) {\n super(defaultErrorStateMatcher, parentForm, parentFormGroup, ngControl);\n\n // If no input value accessor was explicitly specified, use the element as the input value accessor.\n this.inputValueAccessor = inputValueAccessor || this.elementRef.nativeElement;\n\n this.previousNativeValue = this.value;\n\n // Force setter to be called in case id was not specified.\n this.id = this.id;\n }\n\n ngOnChanges() {\n this.stateChanges.next();\n }\n\n ngOnDestroy() {\n this.stateChanges.complete();\n }\n\n ngDoCheck() {\n if (this.ngControl) {\n // We need to re-evaluate this on every change detection cycle, because there are some\n // error triggers that we can't subscribe to (e.g. parent form submissions). This means\n // that whatever logic is in here has to be super lean or we risk destroying the performance.\n this.updateErrorState();\n }\n\n // We need to dirty-check the native element's value, because there are some cases where\n // we won't be notified when it changes (e.g. the consumer isn't using forms or they're\n // updating the value using `emitEvent: false`).\n this.dirtyCheckNativeValue();\n }\n\n /** Focuses the input. */\n focus(): void {\n this.elementRef.nativeElement.focus();\n }\n\n onBlur(): void {\n this.focusChanged(false);\n\n if (this.ngControl?.control) {\n const control = this.ngControl.control;\n\n control.updateValueAndValidity({ emitEvent: false });\n (control.statusChanges as EventEmitter<string>).emit(control.status);\n }\n }\n\n /** Callback for the cases where the focused state of the input changes. */\n focusChanged(isFocused: boolean) {\n if (this.focused !== isFocused) {\n this.focused = isFocused;\n this.stateChanges.next();\n }\n }\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n get empty(): boolean {\n return !this.isNeverEmpty() && !this.elementRef.nativeElement.value && !this.isBadInput();\n }\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n onContainerClick() {\n this.focus();\n }\n\n /** Does some manual dirty checking on the native input `value` property. */\n protected dirtyCheckNativeValue() {\n const newValue = this.value;\n\n if (this.previousNativeValue !== newValue) {\n this.previousNativeValue = newValue;\n this.stateChanges.next();\n }\n }\n\n /** Make sure the input is a supported type. */\n protected validateType() {\n if (MC_INPUT_INVALID_TYPES.indexOf(this._type) > -1) {\n throw getMcInputUnsupportedTypeError(this._type);\n }\n }\n\n /** Checks whether the input type is one of the types that are never empty. */\n protected isNeverEmpty() {\n return this.neverEmptyInputTypes.indexOf(this._type) > -1;\n }\n\n /** Checks whether the input is invalid based on the native validation. */\n protected isBadInput() {\n // The `validity` property won't be present on platform-server.\n const validity = (this.elementRef.nativeElement as HTMLInputElement).validity;\n\n return validity?.badInput;\n }\n}\n\n@Directive({\n selector: 'input[mcInputMonospace]',\n exportAs: 'McInputMonospace',\n host: { class: 'mc-input_monospace' }\n})\nexport class McInputMono {}\n","import { Directive, forwardRef, Input, OnChanges, Provider, SimpleChanges } from '@angular/core';\nimport { AbstractControl, NG_VALIDATORS, ValidationErrors, Validator, ValidatorFn, Validators } from '@angular/forms';\n\n\nexport const MIN_VALIDATOR: Provider = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => MinValidator),\n multi: true\n};\n\n/**\n * A directive which installs the {@link MinValidator} for any `formControlName`,\n * `formControl`, or control with `ngModel` that also has a `min` attribute.\n *\n * @experimental\n */\n@Directive({\n selector: '[min][formControlName],[min][formControl],[min][ngModel]',\n providers: [MIN_VALIDATOR],\n host: {\n '[attr.min]': 'min ? min : null'\n }\n})\nexport class MinValidator implements Validator, OnChanges {\n\n @Input() min: number;\n private validator: ValidatorFn;\n private onChange: () => void;\n\n ngOnChanges(changes: SimpleChanges): void {\n if ('min' in changes) {\n this.createValidator();\n\n if (this.onChange) { this.onChange(); }\n }\n }\n\n validate(c: AbstractControl): ValidationErrors | null {\n return this.validator(c);\n }\n\n registerOnValidatorChange(fn: () => void): void {\n this.onChange = fn;\n }\n\n private createValidator(): void {\n this.validator = Validators.min(parseInt(this.min as unknown as string, 10));\n }\n}\n\n\nexport const MAX_VALIDATOR: Provider = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => MaxValidator),\n multi: true\n};\n\n/**\n * A directive which installs the {@link MaxValidator} for any `formControlName`,\n * `formControl`, or control with `ngModel` that also has a `min` attribute.\n *\n * @experimental\n */\n@Directive({\n selector: '[max][formControlName],[max][formControl],[max][ngModel]',\n providers: [MAX_VALIDATOR],\n host: {\n '[attr.max]': 'max ? max : null'\n }\n})\nexport class MaxValidator implements Validator,\n OnChanges {\n\n @Input() max: number | string;\n private validator: ValidatorFn;\n private onChange: () => void;\n\n ngOnChanges(changes: SimpleChanges): void {\n if ('max' in changes) {\n this.createValidator();\n\n if (this.onChange) { this.onChange(); }\n }\n }\n\n validate(c: AbstractControl): ValidationErrors | null {\n return this.validator(c);\n }\n\n registerOnValidatorChange(fn: () => void): void {\n this.onChange = fn;\n }\n\n private createValidator(): void {\n this.validator = Validators.max(parseInt(this.max as unknown as string, 10));\n }\n}\n","import { FocusMonitor } from '@angular/cdk/a11y';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';\nimport { Overlay, ScrollDispatcher } from '@angular/cdk/overlay';\nimport {\n ChangeDetectionStrategy,\n Component,\n Directive,\n DoCheck,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n NgZone,\n OnChanges,\n OnDestroy,\n Optional,\n Self,\n TemplateRef,\n ViewContainerRef,\n ViewEncapsulation\n} from '@angular/core';\nimport {\n FormGroupDirective,\n NgControl,\n NgForm\n} from '@angular/forms';\nimport {\n CanUpdateErrorState,\n ErrorStateMatcher,\n PopUpTriggers\n} from '@ptsecurity/mosaic/core';\nimport { McFormField, McFormFieldControl } from '@ptsecurity/mosaic/form-field';\nimport { MC_TOOLTIP_SCROLL_STRATEGY, McTooltipTrigger } from '@ptsecurity/mosaic/tooltip';\nimport { Subject } from 'rxjs';\n\nimport { McInputMixinBase } from './input';\nimport { MC_INPUT_VALUE_ACCESSOR } from './input-value-accessor';\n\n\nlet nextUniqueId = 0;\n\n\n@Component({\n selector: `mc-password-toggle`,\n exportAs: 'mcPasswordToggle',\n template: '<ng-content></ng-content>',\n host: {\n class: 'mc-password-toggle mc',\n '[class.mc-eye_16]': 'hidden',\n '[class.mc-eye-crossed_16]': '!hidden',\n\n '[attr.tabindex]': 'disabled ? null : tabIndex',\n '[attr.disabled]': 'disabled || null',\n\n '(click)': 'toggle()',\n '(keydown.ENTER)': 'toggle()',\n '(keydown.SPACE)': 'toggle()'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class McPasswordToggle extends McTooltipTrigger implements OnDestroy {\n @Input('mcTooltipNotHidden')\n get content(): string | TemplateRef<any> {\n return (this.formField.control as McInputPassword).elementType === 'password' ?\n this.mcTooltipHidden :\n this._content;\n }\n\n set content(content: string | TemplateRef<any>) {\n this._content = content;\n\n this.updateData();\n }\n\n @Input() mcTooltipHidden: string | TemplateRef<any>;\n\n @Input()\n get disabled() {\n return this._disabled === undefined ? this.formField.disabled : this._disabled;\n }\n\n set disabled(value: any) {\n this._disabled = coerceBooleanProperty(value);\n\n this._disabled ? this.stopFocusMonitor() : this.runFocusMonitor();\n }\n\n // tslint:disable-next-line:naming-convention\n protected _disabled: boolean;\n\n @Input()\n get tabIndex(): number {\n return this.disabled ? -1 : this._tabIndex;\n }\n\n set tabIndex(value: number) {\n // If the specified tabIndex value is null or undefined, fall back to the default value.\n this._tabIndex = value != null ? coerceNumberProperty(value) : 0;\n }\n\n private _tabIndex: number = 0;\n\n get hidden(): boolean {\n return (this.formField.control as McInputPassword).elementType === 'password';\n }\n\n constructor(\n overlay: Overlay,\n elementRef: ElementRef,\n ngZone: NgZone,\n scrollDispatcher: ScrollDispatcher,\n hostView: ViewContainerRef,\n @Inject(MC_TOOLTIP_SCROLL_STRATEGY) scrollStrategy,\n @Optional() direction: Directionality,\n\n private focusMonitor: FocusMonitor,\n private formField: McFormField\n ) {\n super(overlay, elementRef, ngZone, scrollDispatcher, hostView, scrollStrategy, direction);\n\n this.trigger = `${PopUpTriggers.Hover}`;\n\n this.runFocusMonitor();\n }\n\n ngOnDestroy() {\n this.stopFocusMonitor();\n }\n\n toggle() {\n if (this.disabled) { return; }\n\n this.hide();\n\n const input = this.formField.control as McInputPassword;\n\n input.toggleType();\n\n this.updateData();\n }\n\n private runFocusMonitor() {\n this.focusMonitor.monitor(this.elementRef)\n .subscribe((origin) => {\n if (origin === 'keyboard') {\n this.show();\n } else if (origin === null) {\n this.hide();\n }\n });\n }\n\n private stopFocusMonitor() {\n this.focusMonitor.stopMonitoring(this.elementRef);\n }\n}\n\n@Directive({\n selector: `input[mcInputPassword]`,\n exportAs: 'mcInputPassword',\n host: {\n class: 'mc-input mc-input-password',\n // Native input properties that are overwritten by Angular inputs need to be synced with\n // the native input element. Otherwise property bindings for those don't work.\n '[attr.id]': 'id',\n '[attr.type]': 'elementType',\n '[attr.placeholder]': 'placeholder',\n '[attr.disabled]': 'disabled || null',\n '[required]': 'required',\n\n '(blur)': 'onBlur()',\n '(focus)': 'focusChanged(true)',\n '(input)': 'onInput()'\n },\n providers: [{\n provide: McFormFieldControl, useExisting: McInputPassword\n }]\n})\nexport class McInputPassword extends McInputMixinBase implements McFormFieldControl<any>, OnChanges, OnDestroy, DoCheck,\n CanUpdateErrorState, OnChanges {\n\n /** An object used to control when error messages are shown. */\n @Input() errorStateMatcher: ErrorStateMatcher;\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n focused: boolean = false;\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n readonly stateChanges = new Subject<any>();\n\n readonly checkRule = new Subject<void>();\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n controlType: string = 'input-password';\n\n elementType: string = 'password';\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n @Input() placeholder: string;\n\n protected uid = `mc-input-${nextUniqueId++}`;\n protected previousNativeValue: any;\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n @Input()\n get disabled(): boolean {\n if (this.ngControl?.disabled !== null) {\n return this.ngControl.disabled;\n }\n\n return this._disabled;\n }\n\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n\n // Browsers may not fire the blur event if the input is disabled too quickly.\n // Reset from here to ensure that the element doesn't become stuck.\n if (this.focused) {\n this.focused = false;\n this.stateChanges.next(null);\n }\n }\n\n private _disabled = false;\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n @Input()\n get id(): string {\n return this._id;\n }\n\n set id(value: string) {\n this._id = value || this.uid;\n }\n\n private _id: string;\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n @Input()\n get required(): boolean {\n return this._required;\n }\n\n set required(value: boolean) {\n this._required = coerceBooleanProperty(value);\n }\n\n private _required = false;\n\n // this.elementRef.nativeElement.type = this._type;\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n @Input()\n get value(): string {\n return this._inputValueAccessor.value;\n }\n\n set value(value: string) {\n if (value === this.value) { return; }\n\n this._inputValueAccessor.value = value;\n this.stateChanges.next(null);\n }\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n get empty(): boolean {\n return !this.elementRef.nativeElement.value && !this.isBadInput();\n }\n\n // tslint:disable-next-line: orthodox-getter-and-setter\n private _inputValueAccessor: { value: any };\n\n // tslint:disable-next-line: naming-convention\n constructor(\n protected elementRef: ElementRef,\n @Optional() @Self() ngControl: NgControl,\n @Optional() parentForm: NgForm,\n @Optional() parentFormGroup: FormGroupDirective,\n defaultErrorStateMatcher: ErrorStateMatcher,\n @Optional() @Self() @Inject(MC_INPUT_VALUE_ACCESSOR) inputValueAccessor: any\n ) {\n super(defaultErrorStateMatcher, parentForm, parentFormGroup, ngControl);\n\n // If no input value accessor was explicitly specified, use the element as the input value\n // accessor.\n this._inputValueAccessor = inputValueAccessor || this.elementRef.nativeElement;\n\n this.previousNativeValue = this.value;\n\n // Force setter to be called in case id was not specified.\n this.id = this.id;\n }\n\n ngOnChanges() {\n this.stateChanges.next(null);\n }\n\n ngOnDestroy() {\n this.stateChanges.complete();\n }\n\n ngDoCheck() {\n if (this.ngControl) {\n // We need to re-evaluate this on every change detection cycle, because there are some\n // error triggers that we can't subscribe to (e.g. parent form submissions). This means\n // that whatever logic is in here has to be super lean or we risk destroying the performance.\n this.updateErrorState();\n }\n\n // We need to dirty-check the native element's value, because there are some cases where\n // we won't be notified when it changes (e.g. the consumer isn't using forms or they're\n // updating the value using `emitEvent: false`).\n this.dirtyCheckNativeValue();\n }\n\n checkRules() {\n this.checkRule.next();\n }\n\n toggleType() {\n this.elementType = this.elementType === 'password' ? 'text' : 'password';\n }\n\n /** Focuses the input. */\n focus(): void {\n this.elementRef.nativeElement.focus();\n }\n\n onBlur(): void {\n if (this.ngControl?.control) {\n const control = this.ngControl.control;\n\n control.updateValueAndValidity({ emitEvent: false });\n (control.statusChanges as EventEmitter<string>).emit(control.status);\n }\n\n this.focusChanged(false);\n }\n\n /** Callback for the cases where the focused state of the input changes. */\n focusChanged(isFocused: boolean) {\n if (isFocused === this.focused) { return; }\n\n this.focused = isFocused;\n this.stateChanges.next({ focused: this.focused });\n }\n\n onInput() {\n // This is a noop function and is used to let Angular know whenever the value changes.\n // Angular will run a new change detection each time the `input` event has been dispatched.\n // It's necessary that Angular recognizes the value change, because when floatingLabel\n // is set to false and Angular forms aren't used, the placeholder won't recognize the\n // value changes and will not disappear.\n // Listening to the input event wouldn't be necessary when the input is using the\n // FormsModule or ReactiveFormsModule, because Angular forms also listens to input events.\n }\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n onContainerClick() {\n this.focus();\n }\n\n /** Does some manual dirty checking on the native input `value` property. */\n protected dirtyCheckNativeValue() {\n if (this.previousNativeValue !== this.value) {\n this.previousNativeValue = this.value;\n this.stateChanges.next(null);\n }\n }\n\n /** Checks whether the input is invalid based on the native validation. */\n protected isBadInput() {\n // The `validity` property won't be present on platform-server.\n return (this.elementRef.nativeElement as HTMLInputElement).validity?.badInput;\n }\n}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { McCommonModule } from '@ptsecurity/mosaic/core';\n\nimport { McInput, McInputMono } from './input';\nimport { McNumberInput } from './input-number';\nimport { MaxValidator, MinValidator } from './input-number-validators';\nimport { McInputPassword, McPasswordToggle } from './input-password';\n\n\n@NgModule({\n imports: [\n CommonModule,\n A11yModule,\n McCommonModule,\n FormsModule\n ],\n declarations: [\n McInput,\n McNumberInput,\n McInputPassword,\n McPasswordToggle,\n McInputMono,\n MinValidator,\n MaxValidator\n ],\n exports: [\n McInput,\n McNumberInput,\n McInputPassword,\n McPasswordToggle,\n McInputMono,\n MinValidator,\n MaxValidator\n ]\n})\nexport class McInputModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["nextUniqueId","i3"],"mappings":"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"}
1
+ {"version":3,"file":"ptsecurity-mosaic-input.mjs","sources":["../../../packages/mosaic/input/input-errors.ts","../../../packages/mosaic/input/input-value-accessor.ts","../../../packages/mosaic/input/input-number.ts","../../../packages/mosaic/input/input.ts","../../../packages/mosaic/input/input-number-validators.ts","../../../packages/mosaic/input/input-password.ts","../../../packages/mosaic/input/input.module.ts","../../../packages/mosaic/input/ptsecurity-mosaic-input.ts"],"sourcesContent":["export function getMcInputUnsupportedTypeError(inputType: string): Error {\n return Error(`Input type \"${inputType}\" isn't supported by mcInput.`);\n}\n","import { InjectionToken } from '@angular/core';\n\n\nexport const MC_INPUT_VALUE_ACCESSOR = new InjectionToken<{ value: any }>('MC_INPUT_VALUE_ACCESSOR');\n","import {\n Attribute,\n Directive,\n ElementRef,\n Input,\n Optional,\n Self\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport {\n END, C, V, X, A, Z, DELETE, BACKSPACE, TAB, ENTER,\n ESCAPE, ZERO, NINE, NUMPAD_ZERO, NUMPAD_NINE, NUMPAD_MINUS, DASH,\n FF_MINUS, LEFT_ARROW, RIGHT_ARROW, HOME, UP_ARROW, DOWN_ARROW, F1, F12\n} from '@ptsecurity/cdk/keycodes';\nimport { Subject } from 'rxjs';\n\n\nexport const BIG_STEP = 10;\nexport const SMALL_STEP = 1;\n\nexport function normalizeSplitter(value: string): string {\n return value ? value.replace(/,/g, '.') : value;\n}\n\nexport function isFloat(value: string): boolean {\n return /^-?\\d+\\.\\d+$/.test(value);\n}\n\nexport function isInt(value: string): boolean {\n return /^-?\\d+$/.test(value);\n}\n\nexport function isDigit(value: string): boolean {\n return isFloat(value) || isInt(value);\n}\n\nexport function getPrecision(value: number): number {\n const arr = value.toString().split('.');\n\n return arr.length === 1\n ? 1\n // tslint:disable-next-line:no-magic-numbers\n : Math.pow(10, arr[1].length);\n}\n\nexport function add(value1: number, value2: number): number {\n const precision = Math.max(getPrecision(value1), getPrecision(value2));\n\n return (value1 * precision + value2 * precision) / precision;\n}\n\n\n@Directive({\n selector: `input[mcInput][type=\"number\"]`,\n exportAs: 'mcNumericalInput',\n host: {\n '(blur)': 'focusChanged(false)',\n '(focus)': 'focusChanged(true)',\n '(paste)': 'onPaste($event)',\n '(keydown)': 'onKeyDown($event)'\n }\n})\nexport class McNumberInput {\n @Input()\n bigStep: number;\n\n @Input()\n step: number;\n\n @Input()\n min: number;\n\n @Input()\n max: number;\n\n value: any;\n\n focused: boolean = false;\n\n readonly stateChanges: Subject<void> = new Subject<void>();\n\n get nativeElement(): HTMLInputElement {\n return this.elementRef.nativeElement;\n }\n\n constructor(\n private elementRef: ElementRef,\n @Optional() @Self() private ngControl: NgControl,\n @Attribute('step') step: string,\n @Attribute('big-step') bigStep: string,\n @Attribute('min') min: string,\n @Attribute('max') max: string\n ) {\n this.step = isDigit(step) ? parseFloat(step) : SMALL_STEP;\n this.bigStep = isDigit(bigStep) ? parseFloat(bigStep) : BIG_STEP;\n this.min = isDigit(min) ? parseFloat(min) : -Infinity;\n this.max = isDigit(max) ? parseFloat(max) : Infinity;\n\n if ('valueAsNumber' in this.nativeElement) {\n Object.defineProperty(Object.getPrototypeOf(this.nativeElement), 'valueAsNumber', {\n // tslint:disable-next-line:no-reserved-keywords\n get() {\n const res = parseFloat(normalizeSplitter(this.value));\n\n return isNaN(res) ? null : res;\n }\n });\n }\n }\n\n focusChanged(isFocused: boolean) {\n if (isFocused !== this.focused) {\n this.focused = isFocused;\n this.stateChanges.next();\n }\n }\n\n onKeyDown(event: KeyboardEvent) {\n // tslint:disable-next-line:deprecation\n const keyCode = event.keyCode;\n\n const isCtrlA = (e) => e.keyCode === A && (e.ctrlKey || e.metaKey);\n const isCtrlC = (e) => e.keyCode === C && (e.ctrlKey || e.metaKey);\n const isCtrlV = (e) => e.keyCode === V && (e.ctrlKey || e.metaKey);\n const isCtrlX = (e) => e.keyCode === X && (e.ctrlKey || e.metaKey);\n const isCtrlZ = (e) => e.keyCode === Z && (e.ctrlKey || e.metaKey);\n\n const isFKey = (e) => e.keyCode >= F1 && e.keyCode <= F12;\n\n const isNumber = (e) => (e.keyCode >= ZERO && e.keyCode <= NINE) ||\n (e.keyCode >= NUMPAD_ZERO && e.keyCode <= NUMPAD_NINE);\n\n const isPeriod = (e) => e.key === '.' || e.key === ',';\n\n const minuses = [NUMPAD_MINUS, DASH, FF_MINUS];\n const serviceKeys = [DELETE, BACKSPACE, TAB, ESCAPE, ENTER];\n const arrows = [LEFT_ARROW, RIGHT_ARROW];\n const allowedKeys = [HOME, END].concat(arrows).concat(serviceKeys).concat(minuses);\n\n if (allowedKeys.indexOf(keyCode) !== -1 ||\n isCtrlA(event) ||\n isCtrlC(event) ||\n isCtrlV(event) ||\n isCtrlX(event) ||\n isCtrlZ(event) ||\n isFKey(event) ||\n isPeriod(event)\n ) {\n // let it happen, don't do anything\n return;\n }\n // Ensure that it is not a number and stop the keypress\n if (event.shiftKey || !isNumber(event)) {\n event.preventDefault();\n\n // process steps\n const step = event.shiftKey ? this.bigStep : this.step;\n\n if (keyCode === UP_ARROW) {\n this.stepUp(step);\n }\n\n if (keyCode === DOWN_ARROW) {\n this.stepDown(step);\n }\n }\n }\n\n onPaste(event) {\n if (!isDigit(normalizeSplitter(event.clipboardData.getData('text')))) {\n event.preventDefault();\n }\n }\n\n stepUp(step: number) {\n this.elementRef.nativeElement.focus();\n\n const res = Math.max(Math.min(add(this.nativeElement.valueAsNumber || 0, step), this.max), this.min);\n\n this.nativeElement.value = res.toString();\n\n this.viewToModelUpdate(this.nativeElement.valueAsNumber);\n }\n\n stepDown(step: number) {\n this.elementRef.nativeElement.focus();\n\n const res = Math.min(Math.max(add(this.nativeElement.valueAsNumber || 0, -step), this.min), this.max);\n\n this.nativeElement.value = res.toString();\n\n this.viewToModelUpdate(this.nativeElement.valueAsNumber);\n }\n\n private viewToModelUpdate(value: number) {\n if (this.ngControl) {\n this.ngControl.control!.setValue(value);\n }\n }\n}\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { getSupportedInputTypes } from '@angular/cdk/platform';\nimport {\n Directive,\n DoCheck,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n OnChanges,\n OnDestroy,\n Optional,\n Self\n} from '@angular/core';\nimport {\n FormGroupDirective,\n NgControl,\n NgForm\n} from '@angular/forms';\nimport {\n CanUpdateErrorState,\n CanUpdateErrorStateCtor,\n ErrorStateMatcher,\n mixinErrorState\n} from '@ptsecurity/mosaic/core';\nimport { McFormFieldControl } from '@ptsecurity/mosaic/form-field';\nimport { Subject } from 'rxjs';\n\nimport { getMcInputUnsupportedTypeError } from './input-errors';\nimport { McNumberInput } from './input-number';\nimport { MC_INPUT_VALUE_ACCESSOR } from './input-value-accessor';\n\n\nconst MC_INPUT_INVALID_TYPES = [\n 'button',\n 'checkbox',\n 'file',\n 'hidden',\n 'image',\n 'radio',\n 'range',\n 'reset',\n 'submit'\n];\n\nlet nextUniqueId = 0;\n\nexport class McInputBase {\n /**\n * Emits whenever the component state changes and should cause the parent\n * form-field to update. Implemented as part of `McFormFieldControl`.\n * @docs-private\n */\n readonly stateChanges = new Subject<void>();\n\n constructor(\n public defaultErrorStateMatcher: ErrorStateMatcher,\n public parentForm: NgForm,\n public parentFormGroup: FormGroupDirective,\n public ngControl: NgControl\n ) {}\n}\n\n// tslint:disable-next-line:naming-convention\nexport const McInputMixinBase: CanUpdateErrorStateCtor & typeof McInputBase = mixinErrorState(McInputBase);\n\n\n@Directive({\n selector: `input[mcInput]`,\n exportAs: 'mcInput',\n host: {\n class: 'mc-input',\n // Native input properties that are overwritten by Angular inputs need to be synced with\n // the native input element. Otherwise property bindings for those don't work.\n '[attr.id]': 'id',\n '[attr.placeholder]': 'placeholder',\n '[attr.disabled]': 'disabled || null',\n '[required]': 'required',\n '(blur)': 'onBlur()',\n '(focus)': 'focusChanged(true)'\n },\n providers: [{\n provide: McFormFieldControl, useExisting: McInput\n }]\n})\nexport class McInput extends McInputMixinBase implements McFormFieldControl<any>, OnChanges, OnDestroy, DoCheck,\n CanUpdateErrorState, OnChanges {\n\n /** An object used to control when error messages are shown. */\n @Input() errorStateMatcher: ErrorStateMatcher;\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n focused: boolean = false;\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n readonly stateChanges: Subject<void> = new Subject<void>();\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n controlType: string = 'input';\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n @Input() placeholder: string;\n\n protected uid = `mc-input-${nextUniqueId++}`;\n protected previousNativeValue: any;\n protected neverEmptyInputTypes = [\n 'date',\n 'datetime',\n 'datetime-local',\n 'month',\n 'time',\n 'week'\n ].filter((t) => getSupportedInputTypes().has(t));\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n @Input()\n get disabled(): boolean {\n if (this.ngControl && this.ngControl.disabled !== null) { return this.ngControl.disabled; }\n\n return this._disabled;\n }\n\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n\n // Browsers may not fire the blur event if the input is disabled too quickly.\n // Reset from here to ensure that the element doesn't become stuck.\n if (this.focused) {\n this.focused = false;\n this.stateChanges.next();\n }\n }\n\n private _disabled = false;\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n @Input()\n get id(): string {\n return this._id;\n }\n\n set id(value: string) {\n this._id = value || this.uid;\n }\n\n private _id: string;\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n @Input()\n get required(): boolean {\n return this._required;\n }\n\n set required(value: boolean) {\n this._required = coerceBooleanProperty(value);\n }\n\n private _required = false;\n\n // tslint:disable no-reserved-keywords\n /** Input type of the element. */\n @Input()\n get type(): string {\n return this._type;\n }\n\n set type(value: string) {\n this._type = value || 'text';\n this.validateType();\n\n // When using Angular inputs, developers are no longer able to set the properties on the native\n // input element. To ensure that bindings for `type` work, we need to sync the setter\n // with the native property. Textarea elements don't support the type property or attribute.\n if (getSupportedInputTypes().has(this._type)) {\n this.elementRef.nativeElement.type = this._type;\n }\n }\n // tslint:enable no-reserved-keywords\n\n private _type = 'text';\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n @Input()\n get value(): string {\n return this.inputValueAccessor.value;\n }\n\n set value(value: string) {\n if (value !== this.value) {\n this.inputValueAccessor.value = value;\n this.stateChanges.next();\n }\n }\n\n // tslint:disable-next-line: orthodox-getter-and-setter\n private inputValueAccessor: { value: any };\n\n // tslint:disable-next-line: naming-convention\n constructor(\n protected elementRef: ElementRef,\n @Optional() @Self() ngControl: NgControl,\n @Optional() @Self() public numberInput: McNumberInput,\n @Optional() parentForm: NgForm,\n @Optional() parentFormGroup: FormGroupDirective,\n defaultErrorStateMatcher: ErrorStateMatcher,\n @Optional() @Self() @Inject(MC_INPUT_VALUE_ACCESSOR) inputValueAccessor: any\n ) {\n super(defaultErrorStateMatcher, parentForm, parentFormGroup, ngControl);\n\n // If no input value accessor was explicitly specified, use the element as the input value accessor.\n this.inputValueAccessor = inputValueAccessor || this.elementRef.nativeElement;\n\n this.previousNativeValue = this.value;\n\n // Force setter to be called in case id was not specified.\n this.id = this.id;\n }\n\n ngOnChanges() {\n this.stateChanges.next();\n }\n\n ngOnDestroy() {\n this.stateChanges.complete();\n }\n\n ngDoCheck() {\n if (this.ngControl) {\n // We need to re-evaluate this on every change detection cycle, because there are some\n // error triggers that we can't subscribe to (e.g. parent form submissions). This means\n // that whatever logic is in here has to be super lean or we risk destroying the performance.\n this.updateErrorState();\n }\n\n // We need to dirty-check the native element's value, because there are some cases where\n // we won't be notified when it changes (e.g. the consumer isn't using forms or they're\n // updating the value using `emitEvent: false`).\n this.dirtyCheckNativeValue();\n }\n\n /** Focuses the input. */\n focus(): void {\n this.elementRef.nativeElement.focus();\n }\n\n onBlur(): void {\n this.focusChanged(false);\n\n if (this.ngControl?.control) {\n const control = this.ngControl.control;\n\n control.updateValueAndValidity({ emitEvent: false });\n (control.statusChanges as EventEmitter<string>).emit(control.status);\n }\n }\n\n /** Callback for the cases where the focused state of the input changes. */\n focusChanged(isFocused: boolean) {\n if (this.focused !== isFocused) {\n this.focused = isFocused;\n this.stateChanges.next();\n }\n }\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n get empty(): boolean {\n return !this.isNeverEmpty() && !this.elementRef.nativeElement.value && !this.isBadInput();\n }\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n onContainerClick() {\n this.focus();\n }\n\n /** Does some manual dirty checking on the native input `value` property. */\n protected dirtyCheckNativeValue() {\n const newValue = this.value;\n\n if (this.previousNativeValue !== newValue) {\n this.previousNativeValue = newValue;\n this.stateChanges.next();\n }\n }\n\n /** Make sure the input is a supported type. */\n protected validateType() {\n if (MC_INPUT_INVALID_TYPES.indexOf(this._type) > -1) {\n throw getMcInputUnsupportedTypeError(this._type);\n }\n }\n\n /** Checks whether the input type is one of the types that are never empty. */\n protected isNeverEmpty() {\n return this.neverEmptyInputTypes.indexOf(this._type) > -1;\n }\n\n /** Checks whether the input is invalid based on the native validation. */\n protected isBadInput() {\n // The `validity` property won't be present on platform-server.\n const validity = (this.elementRef.nativeElement as HTMLInputElement).validity;\n\n return validity?.badInput;\n }\n}\n\n@Directive({\n selector: 'input[mcInputMonospace]',\n exportAs: 'McInputMonospace',\n host: { class: 'mc-input_monospace' }\n})\nexport class McInputMono {}\n","import { Directive, forwardRef, Input, OnChanges, Provider, SimpleChanges } from '@angular/core';\nimport { AbstractControl, NG_VALIDATORS, ValidationErrors, Validator, ValidatorFn, Validators } from '@angular/forms';\n\n\nexport const MIN_VALIDATOR: Provider = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => MinValidator),\n multi: true\n};\n\n/**\n * A directive which installs the {@link MinValidator} for any `formControlName`,\n * `formControl`, or control with `ngModel` that also has a `min` attribute.\n *\n * @experimental\n */\n@Directive({\n selector: '[min][formControlName],[min][formControl],[min][ngModel]',\n providers: [MIN_VALIDATOR],\n host: {\n '[attr.min]': 'min ? min : null'\n }\n})\nexport class MinValidator implements Validator, OnChanges {\n\n @Input() min: number;\n private validator: ValidatorFn;\n private onChange: () => void;\n\n ngOnChanges(changes: SimpleChanges): void {\n if ('min' in changes) {\n this.createValidator();\n\n if (this.onChange) { this.onChange(); }\n }\n }\n\n validate(c: AbstractControl): ValidationErrors | null {\n return this.validator(c);\n }\n\n registerOnValidatorChange(fn: () => void): void {\n this.onChange = fn;\n }\n\n private createValidator(): void {\n this.validator = Validators.min(parseInt(this.min as unknown as string, 10));\n }\n}\n\n\nexport const MAX_VALIDATOR: Provider = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => MaxValidator),\n multi: true\n};\n\n/**\n * A directive which installs the {@link MaxValidator} for any `formControlName`,\n * `formControl`, or control with `ngModel` that also has a `min` attribute.\n *\n * @experimental\n */\n@Directive({\n selector: '[max][formControlName],[max][formControl],[max][ngModel]',\n providers: [MAX_VALIDATOR],\n host: {\n '[attr.max]': 'max ? max : null'\n }\n})\nexport class MaxValidator implements Validator,\n OnChanges {\n\n @Input() max: number | string;\n private validator: ValidatorFn;\n private onChange: () => void;\n\n ngOnChanges(changes: SimpleChanges): void {\n if ('max' in changes) {\n this.createValidator();\n\n if (this.onChange) { this.onChange(); }\n }\n }\n\n validate(c: AbstractControl): ValidationErrors | null {\n return this.validator(c);\n }\n\n registerOnValidatorChange(fn: () => void): void {\n this.onChange = fn;\n }\n\n private createValidator(): void {\n this.validator = Validators.max(parseInt(this.max as unknown as string, 10));\n }\n}\n","import { FocusMonitor } from '@angular/cdk/a11y';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';\nimport { Overlay, ScrollDispatcher } from '@angular/cdk/overlay';\nimport {\n ChangeDetectionStrategy,\n Component,\n Directive,\n DoCheck,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n NgZone,\n OnChanges,\n OnDestroy,\n Optional,\n Self,\n TemplateRef,\n ViewContainerRef,\n ViewEncapsulation\n} from '@angular/core';\nimport {\n FormGroupDirective,\n NgControl,\n NgForm\n} from '@angular/forms';\nimport {\n CanUpdateErrorState,\n ErrorStateMatcher,\n PopUpTriggers\n} from '@ptsecurity/mosaic/core';\nimport { McFormField, McFormFieldControl } from '@ptsecurity/mosaic/form-field';\nimport { MC_TOOLTIP_SCROLL_STRATEGY, McTooltipTrigger } from '@ptsecurity/mosaic/tooltip';\nimport { Subject } from 'rxjs';\n\nimport { McInputMixinBase } from './input';\nimport { MC_INPUT_VALUE_ACCESSOR } from './input-value-accessor';\n\n\nlet nextUniqueId = 0;\n\n\n@Component({\n selector: `mc-password-toggle`,\n exportAs: 'mcPasswordToggle',\n template: '<ng-content></ng-content>',\n host: {\n class: 'mc-password-toggle mc',\n '[class.mc-eye_16]': 'hidden',\n '[class.mc-eye-crossed_16]': '!hidden',\n\n '[attr.tabindex]': 'disabled ? null : tabIndex',\n '[attr.disabled]': 'disabled || null',\n\n '(click)': 'toggle()',\n '(keydown.ENTER)': 'toggle()',\n '(keydown.SPACE)': 'toggle()'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class McPasswordToggle extends McTooltipTrigger implements OnDestroy {\n @Input('mcTooltipNotHidden')\n get content(): string | TemplateRef<any> {\n return (this.formField.control as McInputPassword).elementType === 'password' ?\n this.mcTooltipHidden :\n this._content;\n }\n\n set content(content: string | TemplateRef<any>) {\n this._content = content;\n\n this.updateData();\n }\n\n @Input() mcTooltipHidden: string | TemplateRef<any>;\n\n @Input()\n get disabled() {\n return this._disabled === undefined ? this.formField.disabled : this._disabled;\n }\n\n set disabled(value: any) {\n this._disabled = coerceBooleanProperty(value);\n\n this._disabled ? this.stopFocusMonitor() : this.runFocusMonitor();\n }\n\n // tslint:disable-next-line:naming-convention\n protected _disabled: boolean;\n\n @Input()\n get tabIndex(): number {\n return this.disabled ? -1 : this._tabIndex;\n }\n\n set tabIndex(value: number) {\n // If the specified tabIndex value is null or undefined, fall back to the default value.\n this._tabIndex = value != null ? coerceNumberProperty(value) : 0;\n }\n\n private _tabIndex: number = 0;\n\n get hidden(): boolean {\n return (this.formField.control as McInputPassword).elementType === 'password';\n }\n\n constructor(\n overlay: Overlay,\n elementRef: ElementRef,\n ngZone: NgZone,\n scrollDispatcher: ScrollDispatcher,\n hostView: ViewContainerRef,\n @Inject(MC_TOOLTIP_SCROLL_STRATEGY) scrollStrategy,\n @Optional() direction: Directionality,\n\n private focusMonitor: FocusMonitor,\n private formField: McFormField\n ) {\n super(overlay, elementRef, ngZone, scrollDispatcher, hostView, scrollStrategy, direction);\n\n this.trigger = `${PopUpTriggers.Hover}`;\n\n this.runFocusMonitor();\n }\n\n ngOnDestroy() {\n this.stopFocusMonitor();\n }\n\n toggle() {\n if (this.disabled) { return; }\n\n this.hide();\n\n const input = this.formField.control as McInputPassword;\n\n input.toggleType();\n\n this.updateData();\n }\n\n private runFocusMonitor() {\n this.focusMonitor.monitor(this.elementRef)\n .subscribe((origin) => {\n if (origin === 'keyboard') {\n this.show();\n } else if (origin === null) {\n this.hide();\n }\n });\n }\n\n private stopFocusMonitor() {\n this.focusMonitor.stopMonitoring(this.elementRef);\n }\n}\n\n@Directive({\n selector: `input[mcInputPassword]`,\n exportAs: 'mcInputPassword',\n host: {\n class: 'mc-input mc-input-password',\n // Native input properties that are overwritten by Angular inputs need to be synced with\n // the native input element. Otherwise property bindings for those don't work.\n '[attr.id]': 'id',\n '[attr.type]': 'elementType',\n '[attr.placeholder]': 'placeholder',\n '[attr.disabled]': 'disabled || null',\n '[required]': 'required',\n\n '(blur)': 'onBlur()',\n '(focus)': 'focusChanged(true)',\n '(input)': 'onInput()'\n },\n providers: [{\n provide: McFormFieldControl, useExisting: McInputPassword\n }]\n})\nexport class McInputPassword extends McInputMixinBase implements McFormFieldControl<any>, OnChanges, OnDestroy, DoCheck,\n CanUpdateErrorState, OnChanges {\n\n /** An object used to control when error messages are shown. */\n @Input() errorStateMatcher: ErrorStateMatcher;\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n focused: boolean = false;\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n readonly stateChanges = new Subject<any>();\n\n readonly checkRule = new Subject<void>();\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n controlType: string = 'input-password';\n\n elementType: string = 'password';\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n @Input() placeholder: string;\n\n protected uid = `mc-input-${nextUniqueId++}`;\n protected previousNativeValue: any;\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n @Input()\n get disabled(): boolean {\n if (this.ngControl?.disabled !== null) {\n return this.ngControl.disabled;\n }\n\n return this._disabled;\n }\n\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n\n // Browsers may not fire the blur event if the input is disabled too quickly.\n // Reset from here to ensure that the element doesn't become stuck.\n if (this.focused) {\n this.focused = false;\n this.stateChanges.next(null);\n }\n }\n\n private _disabled = false;\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n @Input()\n get id(): string {\n return this._id;\n }\n\n set id(value: string) {\n this._id = value || this.uid;\n }\n\n private _id: string;\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n @Input()\n get required(): boolean {\n return this._required;\n }\n\n set required(value: boolean) {\n this._required = coerceBooleanProperty(value);\n }\n\n private _required = false;\n\n // this.elementRef.nativeElement.type = this._type;\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n @Input()\n get value(): string {\n return this._inputValueAccessor.value;\n }\n\n set value(value: string) {\n if (value === this.value) { return; }\n\n this._inputValueAccessor.value = value;\n this.stateChanges.next(null);\n }\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n get empty(): boolean {\n return !this.elementRef.nativeElement.value && !this.isBadInput();\n }\n\n // tslint:disable-next-line: orthodox-getter-and-setter\n private _inputValueAccessor: { value: any };\n\n // tslint:disable-next-line: naming-convention\n constructor(\n protected elementRef: ElementRef,\n @Optional() @Self() ngControl: NgControl,\n @Optional() parentForm: NgForm,\n @Optional() parentFormGroup: FormGroupDirective,\n defaultErrorStateMatcher: ErrorStateMatcher,\n @Optional() @Self() @Inject(MC_INPUT_VALUE_ACCESSOR) inputValueAccessor: any\n ) {\n super(defaultErrorStateMatcher, parentForm, parentFormGroup, ngControl);\n\n // If no input value accessor was explicitly specified, use the element as the input value\n // accessor.\n this._inputValueAccessor = inputValueAccessor || this.elementRef.nativeElement;\n\n this.previousNativeValue = this.value;\n\n // Force setter to be called in case id was not specified.\n this.id = this.id;\n }\n\n ngOnChanges() {\n this.stateChanges.next(null);\n }\n\n ngOnDestroy() {\n this.stateChanges.complete();\n }\n\n ngDoCheck() {\n if (this.ngControl) {\n // We need to re-evaluate this on every change detection cycle, because there are some\n // error triggers that we can't subscribe to (e.g. parent form submissions). This means\n // that whatever logic is in here has to be super lean or we risk destroying the performance.\n this.updateErrorState();\n }\n\n // We need to dirty-check the native element's value, because there are some cases where\n // we won't be notified when it changes (e.g. the consumer isn't using forms or they're\n // updating the value using `emitEvent: false`).\n this.dirtyCheckNativeValue();\n }\n\n checkRules() {\n this.checkRule.next();\n }\n\n toggleType() {\n this.elementType = this.elementType === 'password' ? 'text' : 'password';\n }\n\n /** Focuses the input. */\n focus(): void {\n this.elementRef.nativeElement.focus();\n }\n\n onBlur(): void {\n if (this.ngControl?.control) {\n const control = this.ngControl.control;\n\n control.updateValueAndValidity({ emitEvent: false });\n (control.statusChanges as EventEmitter<string>).emit(control.status);\n }\n\n this.focusChanged(false);\n }\n\n /** Callback for the cases where the focused state of the input changes. */\n focusChanged(isFocused: boolean) {\n if (isFocused === this.focused) { return; }\n\n this.focused = isFocused;\n this.stateChanges.next({ focused: this.focused });\n }\n\n onInput() {\n // This is a noop function and is used to let Angular know whenever the value changes.\n // Angular will run a new change detection each time the `input` event has been dispatched.\n // It's necessary that Angular recognizes the value change, because when floatingLabel\n // is set to false and Angular forms aren't used, the placeholder won't recognize the\n // value changes and will not disappear.\n // Listening to the input event wouldn't be necessary when the input is using the\n // FormsModule or ReactiveFormsModule, because Angular forms also listens to input events.\n }\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n onContainerClick() {\n this.focus();\n }\n\n /** Does some manual dirty checking on the native input `value` property. */\n protected dirtyCheckNativeValue() {\n if (this.previousNativeValue !== this.value) {\n this.previousNativeValue = this.value;\n this.stateChanges.next(null);\n }\n }\n\n /** Checks whether the input is invalid based on the native validation. */\n protected isBadInput() {\n // The `validity` property won't be present on platform-server.\n return (this.elementRef.nativeElement as HTMLInputElement).validity?.badInput;\n }\n}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { McCommonModule } from '@ptsecurity/mosaic/core';\n\nimport { McInput, McInputMono } from './input';\nimport { McNumberInput } from './input-number';\nimport { MaxValidator, MinValidator } from './input-number-validators';\nimport { McInputPassword, McPasswordToggle } from './input-password';\n\n\n@NgModule({\n imports: [\n CommonModule,\n A11yModule,\n McCommonModule,\n FormsModule\n ],\n declarations: [\n McInput,\n McNumberInput,\n McInputPassword,\n McPasswordToggle,\n McInputMono,\n MinValidator,\n MaxValidator\n ],\n exports: [\n McInput,\n McNumberInput,\n McInputPassword,\n McPasswordToggle,\n McInputMono,\n MinValidator,\n MaxValidator\n ]\n})\nexport class McInputModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["nextUniqueId","i3"],"mappings":"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"}
@@ -22,6 +22,7 @@ class McLink extends McLinkMixinBase {
22
22
  this._noUnderline = false;
23
23
  this._useVisited = false;
24
24
  this.focusMonitor.monitor(elementRef.nativeElement, true);
25
+ this.updatePrintUrl();
25
26
  }
26
27
  get disabled() {
27
28
  return this._disabled;
@@ -54,13 +55,10 @@ class McLink extends McLinkMixinBase {
54
55
  get hasIcon() {
55
56
  return !!this.icon;
56
57
  }
57
- get print() {
58
- var _a;
59
- return this._print || ((_a = this.getHostElement().href) === null || _a === void 0 ? void 0 : _a.replace(baseURLRegex, ''));
60
- }
61
58
  set print(value) {
62
- this.printMode = toBoolean(value);
59
+ this.printMode = value !== null;
63
60
  this._print = value;
61
+ this.updatePrintUrl();
64
62
  }
65
63
  ngOnDestroy() {
66
64
  this.focusMonitor.stopMonitoring(this.elementRef.nativeElement);
@@ -71,10 +69,16 @@ class McLink extends McLinkMixinBase {
71
69
  getHostElement() {
72
70
  return this.elementRef.nativeElement;
73
71
  }
72
+ updatePrintUrl() {
73
+ Promise.resolve().then(() => {
74
+ var _a;
75
+ this.printUrl = this._print || ((_a = this.getHostElement().href) === null || _a === void 0 ? void 0 : _a.replace(baseURLRegex, ''));
76
+ });
77
+ }
74
78
  }
75
- /** @nocollapse */ McLink.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: McLink, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
76
- /** @nocollapse */ McLink.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.5", type: McLink, selector: "[mc-link]", inputs: { tabIndex: "tabIndex", disabled: "disabled", pseudo: "pseudo", noUnderline: "noUnderline", useVisited: "useVisited", print: "print" }, host: { properties: { "class.mc-link_no-underline": "noUnderline", "class.mc-link_use-visited": "useVisited", "class.mc-link_pseudo": "pseudo", "class.mc-link_print": "printMode", "class.mc-text-only": "!hasIcon", "class.mc-text-with-icon": "hasIcon", "attr.disabled": "disabled || null", "attr.tabindex": "tabIndex", "attr.print": "print" }, classAttribute: "mc-link" }, queries: [{ propertyName: "icon", first: true, predicate: McIcon, descendants: true }], exportAs: ["mcLink"], usesInheritance: true, ngImport: i0 });
77
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: McLink, decorators: [{
79
+ /** @nocollapse */ McLink.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: McLink, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
80
+ /** @nocollapse */ McLink.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: McLink, selector: "[mc-link]", inputs: { tabIndex: "tabIndex", disabled: "disabled", pseudo: "pseudo", noUnderline: "noUnderline", useVisited: "useVisited", print: "print" }, host: { properties: { "class.mc-link_no-underline": "noUnderline", "class.mc-link_use-visited": "useVisited", "class.mc-link_pseudo": "pseudo", "class.mc-link_print": "printMode", "class.mc-text-only": "!hasIcon", "class.mc-text-with-icon": "hasIcon", "attr.disabled": "disabled || null", "attr.tabindex": "tabIndex", "attr.print": "printUrl" }, classAttribute: "mc-link" }, queries: [{ propertyName: "icon", first: true, predicate: McIcon, descendants: true }], exportAs: ["mcLink"], usesInheritance: true, ngImport: i0 });
81
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: McLink, decorators: [{
78
82
  type: Directive,
79
83
  args: [{
80
84
  selector: '[mc-link]',
@@ -90,7 +94,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImpor
90
94
  '[class.mc-text-with-icon]': 'hasIcon',
91
95
  '[attr.disabled]': 'disabled || null',
92
96
  '[attr.tabindex]': 'tabIndex',
93
- '[attr.print]': 'print'
97
+ '[attr.print]': 'printUrl'
94
98
  }
95
99
  }]
96
100
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.FocusMonitor }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { disabled: [{
@@ -110,12 +114,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImpor
110
114
 
111
115
  class McLinkModule {
112
116
  }
113
- /** @nocollapse */ McLinkModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: McLinkModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
114
- /** @nocollapse */ McLinkModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.5", ngImport: i0, type: McLinkModule, declarations: [McLink], imports: [CommonModule,
117
+ /** @nocollapse */ McLinkModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: McLinkModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
118
+ /** @nocollapse */ McLinkModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: McLinkModule, declarations: [McLink], imports: [CommonModule,
115
119
  A11yModule], exports: [McLink] });
116
- /** @nocollapse */ McLinkModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: McLinkModule, imports: [CommonModule,
120
+ /** @nocollapse */ McLinkModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: McLinkModule, imports: [CommonModule,
117
121
  A11yModule] });
118
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: McLinkModule, decorators: [{
122
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: McLinkModule, decorators: [{
119
123
  type: NgModule,
120
124
  args: [{
121
125
  imports: [
@@ -1 +1 @@
1
- {"version":3,"file":"ptsecurity-mosaic-link.mjs","sources":["../../../packages/mosaic/link/link.component.ts","../../../packages/mosaic/link/link.module.ts","../../../packages/mosaic/link/ptsecurity-mosaic-link.ts"],"sourcesContent":["import { FocusMonitor } from '@angular/cdk/a11y';\nimport {\n Input,\n ElementRef,\n OnDestroy,\n ChangeDetectorRef,\n Directive,\n ContentChild\n} from '@angular/core';\nimport {\n CanDisable,\n CanDisableCtor,\n HasTabIndex,\n HasTabIndexCtor,\n mixinDisabled,\n mixinTabIndex,\n toBoolean\n} from '@ptsecurity/mosaic/core';\nimport { McIcon } from '@ptsecurity/mosaic/icon';\n\n\nexport class McLinkBase {}\n\n// tslint:disable-next-line: naming-convention\nexport const McLinkMixinBase: HasTabIndexCtor & CanDisableCtor &\n typeof McLinkBase = mixinTabIndex(mixinDisabled(McLinkBase));\n\nexport const baseURLRegex = /^http(s)?:\\/\\//;\n\n@Directive({\n selector: '[mc-link]',\n exportAs: 'mcLink',\n inputs: ['tabIndex'],\n host: {\n class: 'mc-link',\n '[class.mc-link_no-underline]': 'noUnderline',\n '[class.mc-link_use-visited]': 'useVisited',\n '[class.mc-link_pseudo]': 'pseudo',\n '[class.mc-link_print]': 'printMode',\n '[class.mc-text-only]': '!hasIcon',\n '[class.mc-text-with-icon]': 'hasIcon',\n '[attr.disabled]': 'disabled || null',\n '[attr.tabindex]': 'tabIndex',\n '[attr.print]': 'print'\n }\n})\n\nexport class McLink extends McLinkMixinBase implements OnDestroy, HasTabIndex, CanDisable {\n @Input()\n get disabled() {\n return this._disabled;\n }\n\n set disabled(value: any) {\n const newValue = toBoolean(value);\n\n if (newValue !== this._disabled) {\n this._disabled = newValue;\n this.changeDetector.markForCheck();\n }\n }\n\n private _disabled = false;\n\n @Input()\n get pseudo() {\n return this._pseudo;\n }\n\n set pseudo(value: any) {\n this._pseudo = toBoolean(value);\n }\n\n private _pseudo = false;\n\n @Input()\n get noUnderline() {\n return this._noUnderline;\n }\n\n set noUnderline(value: any) {\n this._noUnderline = toBoolean(value);\n }\n\n private _noUnderline = false;\n\n @Input()\n get useVisited() {\n return this._useVisited;\n }\n\n set useVisited(value: any) {\n this._useVisited = toBoolean(value);\n }\n\n private _useVisited = false;\n\n get hasIcon(): boolean {\n return !!this.icon;\n }\n\n @Input()\n get print() {\n return this._print || this.getHostElement().href?.replace(baseURLRegex, '');\n }\n\n set print(value: any) {\n this.printMode = toBoolean(value);\n\n this._print = value;\n }\n\n private _print: string;\n\n printMode: boolean;\n\n @ContentChild(McIcon) icon: McIcon;\n\n constructor(\n private elementRef: ElementRef,\n private focusMonitor: FocusMonitor,\n private changeDetector: ChangeDetectorRef\n ) {\n super();\n\n this.focusMonitor.monitor(elementRef.nativeElement, true);\n }\n\n ngOnDestroy() {\n this.focusMonitor.stopMonitoring(this.elementRef.nativeElement);\n }\n\n focus(): void {\n this.getHostElement().focus();\n }\n\n getHostElement() {\n return this.elementRef.nativeElement;\n }\n}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { McLink } from './link.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n A11yModule\n ],\n declarations: [McLink],\n exports: [McLink]\n})\nexport class McLinkModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ptsecurity-mosaic-link.mjs","sources":["../../../packages/mosaic/link/link.component.ts","../../../packages/mosaic/link/link.module.ts","../../../packages/mosaic/link/ptsecurity-mosaic-link.ts"],"sourcesContent":["import { FocusMonitor } from '@angular/cdk/a11y';\nimport {\n Input,\n ElementRef,\n OnDestroy,\n ChangeDetectorRef,\n Directive,\n ContentChild\n} from '@angular/core';\nimport {\n CanDisable,\n CanDisableCtor,\n HasTabIndex,\n HasTabIndexCtor,\n mixinDisabled,\n mixinTabIndex,\n toBoolean\n} from '@ptsecurity/mosaic/core';\nimport { McIcon } from '@ptsecurity/mosaic/icon';\n\n\nexport class McLinkBase {}\n\n// tslint:disable-next-line: naming-convention\nexport const McLinkMixinBase: HasTabIndexCtor & CanDisableCtor &\n typeof McLinkBase = mixinTabIndex(mixinDisabled(McLinkBase));\n\nexport const baseURLRegex = /^http(s)?:\\/\\//;\n\n@Directive({\n selector: '[mc-link]',\n exportAs: 'mcLink',\n inputs: ['tabIndex'],\n host: {\n class: 'mc-link',\n '[class.mc-link_no-underline]': 'noUnderline',\n '[class.mc-link_use-visited]': 'useVisited',\n '[class.mc-link_pseudo]': 'pseudo',\n '[class.mc-link_print]': 'printMode',\n '[class.mc-text-only]': '!hasIcon',\n '[class.mc-text-with-icon]': 'hasIcon',\n '[attr.disabled]': 'disabled || null',\n '[attr.tabindex]': 'tabIndex',\n '[attr.print]': 'printUrl'\n }\n})\n\nexport class McLink extends McLinkMixinBase implements OnDestroy, HasTabIndex, CanDisable {\n @Input()\n get disabled() {\n return this._disabled;\n }\n\n set disabled(value: any) {\n const newValue = toBoolean(value);\n\n if (newValue !== this._disabled) {\n this._disabled = newValue;\n this.changeDetector.markForCheck();\n }\n }\n\n private _disabled = false;\n\n @Input()\n get pseudo() {\n return this._pseudo;\n }\n\n set pseudo(value: any) {\n this._pseudo = toBoolean(value);\n }\n\n private _pseudo = false;\n\n @Input()\n get noUnderline() {\n return this._noUnderline;\n }\n\n set noUnderline(value: any) {\n this._noUnderline = toBoolean(value);\n }\n\n private _noUnderline = false;\n\n @Input()\n get useVisited() {\n return this._useVisited;\n }\n\n set useVisited(value: any) {\n this._useVisited = toBoolean(value);\n }\n\n private _useVisited = false;\n\n get hasIcon(): boolean {\n return !!this.icon;\n }\n\n @Input()\n set print(value: any) {\n this.printMode = value !== null;\n\n this._print = value;\n\n this.updatePrintUrl();\n }\n\n private _print: string;\n\n printMode: boolean;\n\n printUrl: string;\n\n @ContentChild(McIcon) icon: McIcon;\n\n constructor(\n private elementRef: ElementRef,\n private focusMonitor: FocusMonitor,\n private changeDetector: ChangeDetectorRef\n ) {\n super();\n\n this.focusMonitor.monitor(elementRef.nativeElement, true);\n\n this.updatePrintUrl();\n }\n\n ngOnDestroy() {\n this.focusMonitor.stopMonitoring(this.elementRef.nativeElement);\n }\n\n focus(): void {\n this.getHostElement().focus();\n }\n\n getHostElement() {\n return this.elementRef.nativeElement;\n }\n\n private updatePrintUrl() {\n Promise.resolve().then(() => {\n this.printUrl = this._print || this.getHostElement().href?.replace(baseURLRegex, '');\n });\n }\n}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { McLink } from './link.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n A11yModule\n ],\n declarations: [McLink],\n exports: [McLink]\n})\nexport class McLinkModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}