@ptsecurity/mosaic 13.1.1 → 13.3.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 (349) hide show
  1. package/_theming.scss +464 -165
  2. package/_visual.scss +419 -239
  3. package/button/button.component.d.ts +1 -1
  4. package/core/option/option.d.ts +1 -0
  5. package/core/validation/validation.d.ts +3 -3
  6. package/design-tokens/legacy-2017/tokens/components/alert.json5 +30 -30
  7. package/design-tokens/legacy-2017/tokens/components/badge.json5 +91 -101
  8. package/design-tokens/legacy-2017/tokens/components/button.json5 +53 -54
  9. package/design-tokens/legacy-2017/tokens/components/card.json5 +24 -24
  10. package/design-tokens/legacy-2017/tokens/components/checkbox.json5 +10 -10
  11. package/design-tokens/legacy-2017/tokens/components/datepicker.json5 +4 -4
  12. package/design-tokens/legacy-2017/tokens/components/dl.json5 +38 -0
  13. package/design-tokens/legacy-2017/tokens/components/dropdown.json5 +2 -1
  14. package/design-tokens/legacy-2017/tokens/components/form-field.json5 +48 -8
  15. package/design-tokens/legacy-2017/tokens/components/forms.json5 +4 -4
  16. package/design-tokens/legacy-2017/tokens/components/input.json5 +2 -3
  17. package/design-tokens/legacy-2017/tokens/components/link.json5 +13 -19
  18. package/design-tokens/legacy-2017/tokens/components/list.json5 +3 -5
  19. package/design-tokens/legacy-2017/tokens/components/modal.json5 +10 -8
  20. package/design-tokens/legacy-2017/tokens/components/navbar.json5 +12 -11
  21. package/design-tokens/legacy-2017/tokens/components/popover.json5 +18 -18
  22. package/design-tokens/legacy-2017/tokens/components/popup.json5 +8 -8
  23. package/design-tokens/legacy-2017/tokens/components/progress-bar.json5 +2 -2
  24. package/design-tokens/legacy-2017/tokens/components/radio.json5 +12 -12
  25. package/design-tokens/legacy-2017/tokens/components/select.json5 +0 -1
  26. package/design-tokens/legacy-2017/tokens/components/sidepanel.json5 +6 -4
  27. package/design-tokens/legacy-2017/tokens/components/table.json5 +1 -1
  28. package/design-tokens/legacy-2017/tokens/components/tabs.json5 +82 -6
  29. package/design-tokens/legacy-2017/tokens/components/tags.json5 +49 -50
  30. package/design-tokens/legacy-2017/tokens/components/toggle.json5 +17 -17
  31. package/design-tokens/legacy-2017/tokens/components/tooltip.json5 +21 -21
  32. package/design-tokens/legacy-2017/tokens/components/tree.json5 +5 -2
  33. package/design-tokens/legacy-2017/tokens/properties/colors.json5 +35 -31
  34. package/design-tokens/legacy-2017/tokens/properties/globals.json5 +20 -1
  35. package/design-tokens/legacy-2017/tokens/properties/typography.json5 +70 -35
  36. package/design-tokens/legacy-2017/tokens.d.ts +155 -56
  37. package/design-tokens/pt-2022/tokens/components/alert.json5 +30 -30
  38. package/design-tokens/pt-2022/tokens/components/badge.json5 +92 -102
  39. package/design-tokens/pt-2022/tokens/components/button.json5 +54 -55
  40. package/design-tokens/pt-2022/tokens/components/card.json5 +24 -24
  41. package/design-tokens/pt-2022/tokens/components/checkbox.json5 +10 -10
  42. package/design-tokens/pt-2022/tokens/components/datepicker.json5 +4 -4
  43. package/design-tokens/pt-2022/tokens/components/dl.json5 +38 -0
  44. package/design-tokens/pt-2022/tokens/components/dropdown.json5 +2 -1
  45. package/design-tokens/pt-2022/tokens/components/form-field.json5 +48 -8
  46. package/design-tokens/pt-2022/tokens/components/forms.json5 +4 -4
  47. package/design-tokens/pt-2022/tokens/components/input.json5 +2 -3
  48. package/design-tokens/pt-2022/tokens/components/link.json5 +17 -23
  49. package/design-tokens/pt-2022/tokens/components/list.json5 +2 -4
  50. package/design-tokens/pt-2022/tokens/components/modal.json5 +10 -8
  51. package/design-tokens/pt-2022/tokens/components/navbar.json5 +14 -13
  52. package/design-tokens/pt-2022/tokens/components/popover.json5 +21 -21
  53. package/design-tokens/pt-2022/tokens/components/popup.json5 +8 -8
  54. package/design-tokens/pt-2022/tokens/components/progress-bar.json5 +1 -1
  55. package/design-tokens/pt-2022/tokens/components/radio.json5 +12 -12
  56. package/design-tokens/pt-2022/tokens/components/select.json5 +0 -1
  57. package/design-tokens/pt-2022/tokens/components/sidepanel.json5 +7 -5
  58. package/design-tokens/pt-2022/tokens/components/table.json5 +1 -1
  59. package/design-tokens/pt-2022/tokens/components/tabs.json5 +82 -6
  60. package/design-tokens/pt-2022/tokens/components/tags.json5 +49 -50
  61. package/design-tokens/pt-2022/tokens/components/toggle.json5 +18 -18
  62. package/design-tokens/pt-2022/tokens/components/tooltip.json5 +23 -23
  63. package/design-tokens/pt-2022/tokens/components/tree.json5 +5 -2
  64. package/design-tokens/pt-2022/tokens/properties/colors.json5 +37 -33
  65. package/design-tokens/pt-2022/tokens/properties/globals.json5 +20 -1
  66. package/design-tokens/pt-2022/tokens/properties/typography.json5 +69 -34
  67. package/design-tokens/pt-2022/tokens.d.ts +151 -52
  68. package/dl/README.md +0 -0
  69. package/dl/dl.component.d.ts +26 -0
  70. package/dl/dl.module.d.ts +10 -0
  71. package/dl/index.d.ts +1 -0
  72. package/dl/package.json +10 -0
  73. package/dl/ptsecurity-mosaic-dl.d.ts +5 -0
  74. package/dl/public-api.d.ts +2 -0
  75. package/esm2020/autocomplete/autocomplete-origin.directive.mjs +3 -3
  76. package/esm2020/autocomplete/autocomplete-trigger.directive.mjs +3 -3
  77. package/esm2020/autocomplete/autocomplete.component.mjs +3 -3
  78. package/esm2020/autocomplete/autocomplete.module.mjs +4 -4
  79. package/esm2020/button/button.component.mjs +29 -21
  80. package/esm2020/button/button.module.mjs +4 -4
  81. package/esm2020/button-toggle/button-toggle.component.mjs +6 -6
  82. package/esm2020/button-toggle/button-toggle.module.mjs +4 -4
  83. package/esm2020/card/card.component.mjs +3 -3
  84. package/esm2020/card/card.module.mjs +4 -4
  85. package/esm2020/checkbox/checkbox-module.mjs +4 -4
  86. package/esm2020/checkbox/checkbox-required-validator.mjs +3 -3
  87. package/esm2020/checkbox/checkbox.mjs +3 -3
  88. package/esm2020/core/common-behaviors/common-module.mjs +4 -4
  89. package/esm2020/core/error/error-options.mjs +6 -6
  90. package/esm2020/core/formatters/date/formatter.mjs +3 -3
  91. package/esm2020/core/formatters/index.mjs +4 -4
  92. package/esm2020/core/formatters/number/formatter.mjs +4 -4
  93. package/esm2020/core/forms/forms-module.mjs +4 -4
  94. package/esm2020/core/forms/forms.directive.mjs +6 -6
  95. package/esm2020/core/highlight/highlight.pipe.mjs +3 -3
  96. package/esm2020/core/highlight/index.mjs +4 -4
  97. package/esm2020/core/line/line.mjs +7 -7
  98. package/esm2020/core/option/action.mjs +3 -3
  99. package/esm2020/core/option/optgroup.mjs +3 -3
  100. package/esm2020/core/option/option-module.mjs +4 -4
  101. package/esm2020/core/option/option.mjs +10 -7
  102. package/esm2020/core/pop-up/pop-up-trigger.mjs +3 -3
  103. package/esm2020/core/pop-up/pop-up.mjs +3 -3
  104. package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +3 -3
  105. package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox.module.mjs +4 -4
  106. package/esm2020/core/services/measure-scrollbar.service.mjs +3 -3
  107. package/esm2020/core/validation/validation.mjs +10 -5
  108. package/esm2020/datepicker/calendar-body.component.mjs +3 -3
  109. package/esm2020/datepicker/calendar.component.mjs +6 -6
  110. package/esm2020/datepicker/datepicker-input.directive.mjs +3 -3
  111. package/esm2020/datepicker/datepicker-intl.mjs +3 -3
  112. package/esm2020/datepicker/datepicker-module.mjs +4 -4
  113. package/esm2020/datepicker/datepicker-toggle.component.mjs +6 -6
  114. package/esm2020/datepicker/datepicker.component.mjs +6 -6
  115. package/esm2020/datepicker/month-view.component.mjs +3 -3
  116. package/esm2020/datepicker/multi-year-view.component.mjs +3 -3
  117. package/esm2020/datepicker/year-view.component.mjs +3 -3
  118. package/esm2020/design-tokens/legacy-2017/tokens.mjs +156 -57
  119. package/esm2020/design-tokens/pt-2022/tokens.mjs +152 -53
  120. package/esm2020/divider/divider.component.mjs +3 -3
  121. package/esm2020/divider/divider.module.mjs +4 -4
  122. package/esm2020/dl/dl.component.mjs +78 -0
  123. package/esm2020/dl/dl.module.mjs +42 -0
  124. package/esm2020/dl/index.mjs +2 -0
  125. package/esm2020/dl/ptsecurity-mosaic-dl.mjs +5 -0
  126. package/esm2020/dl/public-api.mjs +3 -0
  127. package/esm2020/dropdown/dropdown-content.directive.mjs +3 -3
  128. package/esm2020/dropdown/dropdown-item.component.mjs +5 -5
  129. package/esm2020/dropdown/dropdown-trigger.directive.mjs +3 -3
  130. package/esm2020/dropdown/dropdown.component.mjs +6 -6
  131. package/esm2020/dropdown/dropdown.module.mjs +4 -4
  132. package/esm2020/form-field/cleaner.mjs +3 -3
  133. package/esm2020/form-field/form-field.mjs +48 -28
  134. package/esm2020/form-field/form-field.module.mjs +10 -5
  135. package/esm2020/form-field/hint.mjs +6 -6
  136. package/esm2020/form-field/password-hint.mjs +134 -0
  137. package/esm2020/form-field/prefix.mjs +3 -3
  138. package/esm2020/form-field/public-api.mjs +2 -1
  139. package/esm2020/form-field/stepper.mjs +3 -3
  140. package/esm2020/form-field/suffix.mjs +3 -3
  141. package/esm2020/icon/icon.component.mjs +6 -6
  142. package/esm2020/icon/icon.module.mjs +4 -4
  143. package/esm2020/input/input-number-validators.mjs +6 -6
  144. package/esm2020/input/input-number.mjs +3 -3
  145. package/esm2020/input/input-password.mjs +368 -0
  146. package/esm2020/input/input.mjs +12 -11
  147. package/esm2020/input/input.module.mjs +50 -8
  148. package/esm2020/input/public-api.mjs +2 -1
  149. package/esm2020/link/link.component.mjs +3 -3
  150. package/esm2020/link/link.module.mjs +4 -4
  151. package/esm2020/list/list-selection.component.mjs +11 -11
  152. package/esm2020/list/list.component.mjs +7 -7
  153. package/esm2020/list/list.module.mjs +4 -4
  154. package/esm2020/modal/css-unit.pipe.mjs +3 -3
  155. package/esm2020/modal/modal-control.service.mjs +3 -3
  156. package/esm2020/modal/modal.component.mjs +4 -4
  157. package/esm2020/modal/modal.directive.mjs +12 -12
  158. package/esm2020/modal/modal.module.mjs +4 -4
  159. package/esm2020/modal/modal.service.mjs +3 -3
  160. package/esm2020/navbar/navbar-item.component.mjs +80 -79
  161. package/esm2020/navbar/navbar.component.mjs +10 -10
  162. package/esm2020/navbar/navbar.module.mjs +4 -4
  163. package/esm2020/navbar/vertical-navbar.component.mjs +6 -6
  164. package/esm2020/popover/popover-confirm.component.mjs +8 -8
  165. package/esm2020/popover/popover.component.mjs +8 -8
  166. package/esm2020/popover/popover.module.mjs +4 -4
  167. package/esm2020/progress-bar/progress-bar.component.mjs +3 -3
  168. package/esm2020/progress-bar/progress-bar.module.mjs +4 -4
  169. package/esm2020/progress-spinner/progress-spinner.component.mjs +3 -3
  170. package/esm2020/progress-spinner/progress-spinner.module.mjs +4 -4
  171. package/esm2020/radio/radio.component.mjs +6 -6
  172. package/esm2020/radio/radio.module.mjs +4 -4
  173. package/esm2020/select/public-api.mjs +2 -1
  174. package/esm2020/select/select-option.directive.mjs +65 -0
  175. package/esm2020/select/select.component.mjs +16 -16
  176. package/esm2020/select/select.module.mjs +19 -10
  177. package/esm2020/sidebar/sidebar.component.mjs +9 -9
  178. package/esm2020/sidebar/sidebar.module.mjs +4 -4
  179. package/esm2020/sidepanel/sidepanel-container.component.mjs +5 -5
  180. package/esm2020/sidepanel/sidepanel-directives.mjs +18 -18
  181. package/esm2020/sidepanel/sidepanel.module.mjs +4 -4
  182. package/esm2020/sidepanel/sidepanel.service.mjs +3 -3
  183. package/esm2020/splitter/splitter.component.mjs +12 -12
  184. package/esm2020/splitter/splitter.module.mjs +4 -4
  185. package/esm2020/table/table.component.mjs +3 -3
  186. package/esm2020/table/table.module.mjs +4 -4
  187. package/esm2020/tabs/paginated-tab-header.mjs +3 -3
  188. package/esm2020/tabs/tab-body.component.mjs +6 -6
  189. package/esm2020/tabs/tab-content.directive.mjs +3 -3
  190. package/esm2020/tabs/tab-group.component.mjs +20 -20
  191. package/esm2020/tabs/tab-header.component.mjs +4 -4
  192. package/esm2020/tabs/tab-label-wrapper.directive.mjs +3 -3
  193. package/esm2020/tabs/tab-label.directive.mjs +3 -3
  194. package/esm2020/tabs/tab-nav-bar/tab-nav-bar.mjs +9 -9
  195. package/esm2020/tabs/tab.component.mjs +3 -3
  196. package/esm2020/tabs/tabs.module.mjs +4 -4
  197. package/esm2020/tags/tag-input.mjs +3 -3
  198. package/esm2020/tags/tag-list.component.mjs +6 -6
  199. package/esm2020/tags/tag.component.mjs +60 -60
  200. package/esm2020/tags/tag.module.mjs +4 -4
  201. package/esm2020/textarea/textarea.component.mjs +9 -8
  202. package/esm2020/textarea/textarea.module.mjs +4 -4
  203. package/esm2020/timepicker/timepicker.directive.mjs +3 -3
  204. package/esm2020/timepicker/timepicker.module.mjs +4 -4
  205. package/esm2020/toggle/toggle.component.mjs +3 -3
  206. package/esm2020/toggle/toggle.module.mjs +4 -4
  207. package/esm2020/tooltip/tooltip.component.mjs +14 -13
  208. package/esm2020/tooltip/tooltip.module.mjs +4 -4
  209. package/esm2020/tree/node.mjs +3 -3
  210. package/esm2020/tree/outlet.mjs +3 -3
  211. package/esm2020/tree/padding.directive.mjs +12 -9
  212. package/esm2020/tree/toggle.mjs +10 -10
  213. package/esm2020/tree/tree-base.mjs +6 -6
  214. package/esm2020/tree/tree-option.component.mjs +9 -9
  215. package/esm2020/tree/tree-selection.component.mjs +8 -6
  216. package/esm2020/tree/tree.mjs +3 -3
  217. package/esm2020/tree/tree.module.mjs +4 -4
  218. package/esm2020/tree-select/tree-select.component.mjs +14 -14
  219. package/esm2020/tree-select/tree-select.module.mjs +4 -4
  220. package/fesm2015/ptsecurity-mosaic-autocomplete.mjs +13 -13
  221. package/fesm2015/ptsecurity-mosaic-button-toggle.mjs +10 -10
  222. package/fesm2015/ptsecurity-mosaic-button.mjs +32 -24
  223. package/fesm2015/ptsecurity-mosaic-button.mjs.map +1 -1
  224. package/fesm2015/ptsecurity-mosaic-card.mjs +7 -7
  225. package/fesm2015/ptsecurity-mosaic-checkbox.mjs +10 -10
  226. package/fesm2015/ptsecurity-mosaic-core.mjs +89 -81
  227. package/fesm2015/ptsecurity-mosaic-core.mjs.map +1 -1
  228. package/fesm2015/ptsecurity-mosaic-datepicker.mjs +40 -40
  229. package/fesm2015/ptsecurity-mosaic-design-tokens.mjs +443 -146
  230. package/fesm2015/ptsecurity-mosaic-design-tokens.mjs.map +1 -1
  231. package/fesm2015/ptsecurity-mosaic-divider.mjs +7 -7
  232. package/fesm2015/ptsecurity-mosaic-dl.mjs +124 -0
  233. package/fesm2015/ptsecurity-mosaic-dl.mjs.map +1 -0
  234. package/fesm2015/ptsecurity-mosaic-dropdown.mjs +19 -19
  235. package/fesm2015/ptsecurity-mosaic-dropdown.mjs.map +1 -1
  236. package/fesm2015/ptsecurity-mosaic-form-field.mjs +214 -50
  237. package/fesm2015/ptsecurity-mosaic-form-field.mjs.map +1 -1
  238. package/fesm2015/ptsecurity-mosaic-icon.mjs +10 -10
  239. package/fesm2015/ptsecurity-mosaic-input.mjs +434 -31
  240. package/fesm2015/ptsecurity-mosaic-input.mjs.map +1 -1
  241. package/fesm2015/ptsecurity-mosaic-link.mjs +7 -7
  242. package/fesm2015/ptsecurity-mosaic-list.mjs +21 -21
  243. package/fesm2015/ptsecurity-mosaic-list.mjs.map +1 -1
  244. package/fesm2015/ptsecurity-mosaic-modal.mjs +29 -29
  245. package/fesm2015/ptsecurity-mosaic-modal.mjs.map +1 -1
  246. package/fesm2015/ptsecurity-mosaic-navbar.mjs +97 -96
  247. package/fesm2015/ptsecurity-mosaic-navbar.mjs.map +1 -1
  248. package/fesm2015/ptsecurity-mosaic-popover.mjs +18 -18
  249. package/fesm2015/ptsecurity-mosaic-popover.mjs.map +1 -1
  250. package/fesm2015/ptsecurity-mosaic-progress-bar.mjs +7 -7
  251. package/fesm2015/ptsecurity-mosaic-progress-spinner.mjs +7 -7
  252. package/fesm2015/ptsecurity-mosaic-radio.mjs +10 -10
  253. package/fesm2015/ptsecurity-mosaic-select.mjs +99 -33
  254. package/fesm2015/ptsecurity-mosaic-select.mjs.map +1 -1
  255. package/fesm2015/ptsecurity-mosaic-sidebar.mjs +13 -13
  256. package/fesm2015/ptsecurity-mosaic-sidepanel.mjs +28 -28
  257. package/fesm2015/ptsecurity-mosaic-sidepanel.mjs.map +1 -1
  258. package/fesm2015/ptsecurity-mosaic-splitter.mjs +16 -16
  259. package/fesm2015/ptsecurity-mosaic-table.mjs +7 -7
  260. package/fesm2015/ptsecurity-mosaic-tabs.mjs +56 -56
  261. package/fesm2015/ptsecurity-mosaic-tabs.mjs.map +1 -1
  262. package/fesm2015/ptsecurity-mosaic-tags.mjs +74 -74
  263. package/fesm2015/ptsecurity-mosaic-tags.mjs.map +1 -1
  264. package/fesm2015/ptsecurity-mosaic-textarea.mjs +11 -10
  265. package/fesm2015/ptsecurity-mosaic-textarea.mjs.map +1 -1
  266. package/fesm2015/ptsecurity-mosaic-timepicker.mjs +7 -7
  267. package/fesm2015/ptsecurity-mosaic-toggle.mjs +7 -7
  268. package/fesm2015/ptsecurity-mosaic-tooltip.mjs +17 -16
  269. package/fesm2015/ptsecurity-mosaic-tooltip.mjs.map +1 -1
  270. package/fesm2015/ptsecurity-mosaic-tree-select.mjs +17 -17
  271. package/fesm2015/ptsecurity-mosaic-tree-select.mjs.map +1 -1
  272. package/fesm2015/ptsecurity-mosaic-tree.mjs +158 -155
  273. package/fesm2015/ptsecurity-mosaic-tree.mjs.map +1 -1
  274. package/fesm2020/ptsecurity-mosaic-autocomplete.mjs +13 -13
  275. package/fesm2020/ptsecurity-mosaic-button-toggle.mjs +10 -10
  276. package/fesm2020/ptsecurity-mosaic-button.mjs +32 -24
  277. package/fesm2020/ptsecurity-mosaic-button.mjs.map +1 -1
  278. package/fesm2020/ptsecurity-mosaic-card.mjs +7 -7
  279. package/fesm2020/ptsecurity-mosaic-checkbox.mjs +10 -10
  280. package/fesm2020/ptsecurity-mosaic-core.mjs +89 -81
  281. package/fesm2020/ptsecurity-mosaic-core.mjs.map +1 -1
  282. package/fesm2020/ptsecurity-mosaic-datepicker.mjs +40 -40
  283. package/fesm2020/ptsecurity-mosaic-design-tokens.mjs +443 -146
  284. package/fesm2020/ptsecurity-mosaic-design-tokens.mjs.map +1 -1
  285. package/fesm2020/ptsecurity-mosaic-divider.mjs +7 -7
  286. package/fesm2020/ptsecurity-mosaic-dl.mjs +124 -0
  287. package/fesm2020/ptsecurity-mosaic-dl.mjs.map +1 -0
  288. package/fesm2020/ptsecurity-mosaic-dropdown.mjs +19 -19
  289. package/fesm2020/ptsecurity-mosaic-dropdown.mjs.map +1 -1
  290. package/fesm2020/ptsecurity-mosaic-form-field.mjs +200 -50
  291. package/fesm2020/ptsecurity-mosaic-form-field.mjs.map +1 -1
  292. package/fesm2020/ptsecurity-mosaic-icon.mjs +10 -10
  293. package/fesm2020/ptsecurity-mosaic-input.mjs +427 -31
  294. package/fesm2020/ptsecurity-mosaic-input.mjs.map +1 -1
  295. package/fesm2020/ptsecurity-mosaic-link.mjs +7 -7
  296. package/fesm2020/ptsecurity-mosaic-list.mjs +21 -21
  297. package/fesm2020/ptsecurity-mosaic-list.mjs.map +1 -1
  298. package/fesm2020/ptsecurity-mosaic-modal.mjs +29 -29
  299. package/fesm2020/ptsecurity-mosaic-modal.mjs.map +1 -1
  300. package/fesm2020/ptsecurity-mosaic-navbar.mjs +97 -96
  301. package/fesm2020/ptsecurity-mosaic-navbar.mjs.map +1 -1
  302. package/fesm2020/ptsecurity-mosaic-popover.mjs +18 -18
  303. package/fesm2020/ptsecurity-mosaic-popover.mjs.map +1 -1
  304. package/fesm2020/ptsecurity-mosaic-progress-bar.mjs +7 -7
  305. package/fesm2020/ptsecurity-mosaic-progress-spinner.mjs +7 -7
  306. package/fesm2020/ptsecurity-mosaic-radio.mjs +10 -10
  307. package/fesm2020/ptsecurity-mosaic-select.mjs +96 -32
  308. package/fesm2020/ptsecurity-mosaic-select.mjs.map +1 -1
  309. package/fesm2020/ptsecurity-mosaic-sidebar.mjs +13 -13
  310. package/fesm2020/ptsecurity-mosaic-sidepanel.mjs +28 -28
  311. package/fesm2020/ptsecurity-mosaic-sidepanel.mjs.map +1 -1
  312. package/fesm2020/ptsecurity-mosaic-splitter.mjs +16 -16
  313. package/fesm2020/ptsecurity-mosaic-table.mjs +7 -7
  314. package/fesm2020/ptsecurity-mosaic-tabs.mjs +56 -56
  315. package/fesm2020/ptsecurity-mosaic-tabs.mjs.map +1 -1
  316. package/fesm2020/ptsecurity-mosaic-tags.mjs +72 -72
  317. package/fesm2020/ptsecurity-mosaic-tags.mjs.map +1 -1
  318. package/fesm2020/ptsecurity-mosaic-textarea.mjs +11 -10
  319. package/fesm2020/ptsecurity-mosaic-textarea.mjs.map +1 -1
  320. package/fesm2020/ptsecurity-mosaic-timepicker.mjs +7 -7
  321. package/fesm2020/ptsecurity-mosaic-toggle.mjs +7 -7
  322. package/fesm2020/ptsecurity-mosaic-tooltip.mjs +17 -16
  323. package/fesm2020/ptsecurity-mosaic-tooltip.mjs.map +1 -1
  324. package/fesm2020/ptsecurity-mosaic-tree-select.mjs +17 -17
  325. package/fesm2020/ptsecurity-mosaic-tree-select.mjs.map +1 -1
  326. package/fesm2020/ptsecurity-mosaic-tree.mjs +155 -152
  327. package/fesm2020/ptsecurity-mosaic-tree.mjs.map +1 -1
  328. package/form-field/form-field.d.ts +9 -2
  329. package/form-field/form-field.module.d.ts +8 -7
  330. package/form-field/password-hint.d.ts +40 -0
  331. package/form-field/public-api.d.ts +1 -0
  332. package/input/input-password.d.ts +121 -0
  333. package/input/input.d.ts +4 -3
  334. package/input/input.module.d.ts +7 -6
  335. package/input/public-api.d.ts +1 -0
  336. package/list/list-selection.component.d.ts +1 -1
  337. package/navbar/navbar-item.component.d.ts +18 -18
  338. package/package.json +12 -4
  339. package/prebuilt-themes/dark-theme.css +1 -1
  340. package/prebuilt-themes/default-theme.css +1 -1
  341. package/prebuilt-visual/default-visual.css +1 -1
  342. package/select/public-api.d.ts +1 -0
  343. package/select/select-option.directive.d.ts +20 -0
  344. package/select/select.module.d.ts +9 -7
  345. package/tags/tag.component.d.ts +20 -20
  346. package/textarea/textarea.component.d.ts +4 -3
  347. package/toggle/README.md +0 -0
  348. package/tree/padding.directive.d.ts +7 -5
  349. package/tree/tree-option.component.d.ts +2 -2
@@ -1,22 +1,23 @@
1
- import * as i1$1 from '@angular/common';
1
+ import * as i2 from '@angular/common';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { Component, Directive, Input, EventEmitter, Output, ViewEncapsulation, ChangeDetectionStrategy, ContentChild, ContentChildren, ViewChild, NgModule } from '@angular/core';
4
+ import { Component, Directive, Input, forwardRef, ChangeDetectionStrategy, Inject, EventEmitter, Output, ViewEncapsulation, ContentChild, ContentChildren, ViewChild, NgModule } from '@angular/core';
5
5
  import * as i1 from '@ptsecurity/mosaic/icon';
6
6
  import { McIconModule } from '@ptsecurity/mosaic/icon';
7
7
  import { ThemePalette, mixinColor } from '@ptsecurity/mosaic/core';
8
- import { ESCAPE } from '@ptsecurity/cdk/keycodes';
8
+ import { F8, ESCAPE } from '@ptsecurity/cdk/keycodes';
9
9
  import { Subject, EMPTY, merge } from 'rxjs';
10
10
  import { startWith, takeUntil } from 'rxjs/operators';
11
+ import * as i1$1 from '@angular/cdk/a11y';
11
12
 
12
13
  class McCleaner {
13
14
  constructor() {
14
15
  this.themePalette = ThemePalette;
15
16
  }
16
17
  }
17
- /** @nocollapse */ /** @nocollapse */ McCleaner.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: McCleaner, deps: [], target: i0.ɵɵFactoryTarget.Component });
18
- /** @nocollapse */ /** @nocollapse */ McCleaner.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: McCleaner, selector: "mc-cleaner", host: { classAttribute: "mc-cleaner" }, exportAs: ["mcCleaner"], ngImport: i0, template: `<i class="mc-icon_light" mc-icon="mc-close-circle_16" [color]="themePalette.Second"></i>`, isInline: true, components: [{ type: i1.McIcon, selector: "[mc-icon]", inputs: ["color"] }], directives: [{ type: i1.McIconCSSStyler, selector: "[mc-icon]" }] });
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: McCleaner, decorators: [{
18
+ /** @nocollapse */ /** @nocollapse */ McCleaner.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McCleaner, deps: [], target: i0.ɵɵFactoryTarget.Component });
19
+ /** @nocollapse */ /** @nocollapse */ McCleaner.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.4", type: McCleaner, selector: "mc-cleaner", host: { classAttribute: "mc-cleaner" }, exportAs: ["mcCleaner"], ngImport: i0, template: `<i class="mc-icon_light" mc-icon="mc-close-circle_16" [color]="themePalette.Second"></i>`, isInline: true, components: [{ type: i1.McIcon, selector: "[mc-icon]", inputs: ["color"] }], directives: [{ type: i1.McIconCSSStyler, selector: "[mc-icon]" }] });
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McCleaner, decorators: [{
20
21
  type: Component,
21
22
  args: [{
22
23
  selector: 'mc-cleaner',
@@ -40,15 +41,15 @@ function getMcFormFieldYouCanNotUseCleanerInNumberInputError() {
40
41
  return Error(`You can't use mc-cleaner with input that have type="number"`);
41
42
  }
42
43
 
43
- let nextUniqueId$1 = 0;
44
+ let nextHintUniqueId = 0;
44
45
  class McHint {
45
46
  constructor() {
46
- this.id = `mc-hint-${nextUniqueId$1++}`;
47
+ this.id = `mc-hint-${nextHintUniqueId++}`;
47
48
  }
48
49
  }
49
- /** @nocollapse */ /** @nocollapse */ McHint.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: McHint, deps: [], target: i0.ɵɵFactoryTarget.Directive });
50
- /** @nocollapse */ /** @nocollapse */ McHint.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.0", type: McHint, selector: "mc-hint", inputs: { id: "id" }, host: { properties: { "attr.id": "id" }, classAttribute: "mc-hint" }, ngImport: i0 });
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: McHint, decorators: [{
50
+ /** @nocollapse */ /** @nocollapse */ McHint.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McHint, deps: [], target: i0.ɵɵFactoryTarget.Directive });
51
+ /** @nocollapse */ /** @nocollapse */ McHint.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.4", type: McHint, selector: "mc-hint", inputs: { id: "id" }, host: { properties: { "attr.id": "id" }, classAttribute: "mc-hint" }, ngImport: i0 });
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McHint, decorators: [{
52
53
  type: Directive,
53
54
  args: [{
54
55
  selector: 'mc-hint',
@@ -61,11 +62,143 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
61
62
  type: Input
62
63
  }] } });
63
64
 
65
+ let nextPasswordHintUniqueId = 0;
66
+ var PasswordRules;
67
+ (function (PasswordRules) {
68
+ PasswordRules[PasswordRules["Length"] = 0] = "Length";
69
+ PasswordRules[PasswordRules["UpperLatin"] = 1] = "UpperLatin";
70
+ PasswordRules[PasswordRules["LowerLatin"] = 2] = "LowerLatin";
71
+ PasswordRules[PasswordRules["Digit"] = 3] = "Digit";
72
+ PasswordRules[PasswordRules["LatinAndSpecialSymbols"] = 4] = "LatinAndSpecialSymbols";
73
+ PasswordRules[PasswordRules["Custom"] = 5] = "Custom";
74
+ })(PasswordRules || (PasswordRules = {}));
75
+ const regExpPasswordValidator = {
76
+ [PasswordRules.LowerLatin]: RegExp(/^(?=.*?[a-z])/),
77
+ [PasswordRules.UpperLatin]: RegExp(/^(?=.*?[A-Z])/),
78
+ [PasswordRules.Digit]: RegExp(/^(?=.*?[0-9])/),
79
+ [PasswordRules.LatinAndSpecialSymbols]: RegExp(/[^ !`"'#№$%&()*+,-./:;<=>?@[\]^_{|}~A-Za-z0-9]/)
80
+ };
81
+ class McPasswordHint {
82
+ constructor(changeDetectorRef, formField) {
83
+ this.changeDetectorRef = changeDetectorRef;
84
+ this.formField = formField;
85
+ this.id = `mc-hint-${nextPasswordHintUniqueId++}`;
86
+ this.hasError = false;
87
+ this.checked = false;
88
+ this.checkValue = () => {
89
+ if (this.control.focused && this.isValueChanged()) {
90
+ this.hasError = false;
91
+ this.checked = this.checkRule(this.control.value);
92
+ }
93
+ else if (!this.control.focused && !this.isValueChanged()) {
94
+ this.hasError = !this.checkRule(this.control.value);
95
+ }
96
+ if (!this.control.required && !this.control.value) {
97
+ this.checked = this.hasError = false;
98
+ }
99
+ this.lastControlValue = this.control.value;
100
+ this.changeDetectorRef.markForCheck();
101
+ };
102
+ }
103
+ get control() {
104
+ return this.formField.control;
105
+ }
106
+ ngAfterContentInit() {
107
+ if (this.rule === null) {
108
+ throw Error('You should set [rule] name');
109
+ }
110
+ if (this.rule === PasswordRules.Custom && this.regex === undefined) {
111
+ throw Error('You should set [regex] for PasswordRules.Custom');
112
+ }
113
+ if (this.rule === PasswordRules.Length && (this.min || this.max) === null) {
114
+ throw Error('For [rule] "Length" need set [min] and [max]');
115
+ }
116
+ if (this.rule === PasswordRules.Length) {
117
+ this.checkRule = this.checkLengthRule;
118
+ }
119
+ else if ([PasswordRules.UpperLatin, PasswordRules.LowerLatin, PasswordRules.Digit].includes(this.rule)) {
120
+ this.regex = regExpPasswordValidator[this.rule];
121
+ this.checkRule = this.checkRegexRule;
122
+ }
123
+ else if (this.rule === PasswordRules.LatinAndSpecialSymbols) {
124
+ this.regex = regExpPasswordValidator[this.rule];
125
+ this.checkRule = this.checkSpecialSymbolsRegexRule;
126
+ }
127
+ else if (this.rule === PasswordRules.Custom) {
128
+ this.checkRule = this.checkRegexRule;
129
+ }
130
+ else {
131
+ throw Error(`Unknown [rule]=${this.rule}`);
132
+ }
133
+ this.formField.control.stateChanges
134
+ .subscribe(this.checkValue);
135
+ }
136
+ checkLengthRule(value) {
137
+ return value.length >= this.min && value.length <= this.max;
138
+ }
139
+ checkRegexRule(value) {
140
+ var _a;
141
+ return !!((_a = this.regex) === null || _a === void 0 ? void 0 : _a.test(value));
142
+ }
143
+ checkSpecialSymbolsRegexRule(value) {
144
+ var _a;
145
+ return !!value && !((_a = this.regex) === null || _a === void 0 ? void 0 : _a.test(value));
146
+ }
147
+ isValueChanged() {
148
+ return this.lastControlValue !== this.formField.control.value;
149
+ }
150
+ }
151
+ /** @nocollapse */ /** @nocollapse */ McPasswordHint.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McPasswordHint, deps: [{ token: i0.ChangeDetectorRef }, { token: forwardRef(() => McFormField) }], target: i0.ɵɵFactoryTarget.Component });
152
+ /** @nocollapse */ /** @nocollapse */ McPasswordHint.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.4", type: McPasswordHint, selector: "mc-password-hint", inputs: { id: "id", rule: "rule", min: "min", max: "max", regex: "regex" }, host: { properties: { "class.mc-password-hint_valid": "checked", "class.mc-password-hint_invalid": "hasError", "attr.id": "id" }, classAttribute: "mc-password-hint" }, ngImport: i0, template: `
153
+ <i *ngIf="!checked" class="mc-password-hint__icon" mc-icon="mc-close-M_16"></i>
154
+ <i *ngIf="checked" class="mc-password-hint__icon" mc-icon="mc-check_16"></i>
155
+
156
+ <span class="mc-password-hint__text">
157
+ <ng-content></ng-content>
158
+ </span>
159
+ `, isInline: true, components: [{ type: i1.McIcon, selector: "[mc-icon]", inputs: ["color"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.McIconCSSStyler, selector: "[mc-icon]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
160
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McPasswordHint, decorators: [{
161
+ type: Component,
162
+ args: [{
163
+ selector: 'mc-password-hint',
164
+ template: `
165
+ <i *ngIf="!checked" class="mc-password-hint__icon" mc-icon="mc-close-M_16"></i>
166
+ <i *ngIf="checked" class="mc-password-hint__icon" mc-icon="mc-check_16"></i>
167
+
168
+ <span class="mc-password-hint__text">
169
+ <ng-content></ng-content>
170
+ </span>
171
+ `,
172
+ host: {
173
+ class: 'mc-password-hint',
174
+ '[class.mc-password-hint_valid]': 'checked',
175
+ '[class.mc-password-hint_invalid]': 'hasError',
176
+ '[attr.id]': 'id'
177
+ },
178
+ changeDetection: ChangeDetectionStrategy.OnPush
179
+ }]
180
+ }], ctorParameters: function () {
181
+ return [{ type: i0.ChangeDetectorRef }, { type: McFormField, decorators: [{
182
+ type: Inject,
183
+ args: [forwardRef(() => McFormField)]
184
+ }] }];
185
+ }, propDecorators: { id: [{
186
+ type: Input
187
+ }], rule: [{
188
+ type: Input
189
+ }], min: [{
190
+ type: Input
191
+ }], max: [{
192
+ type: Input
193
+ }], regex: [{
194
+ type: Input
195
+ }] } });
196
+
64
197
  class McPrefix {
65
198
  }
66
- /** @nocollapse */ /** @nocollapse */ McPrefix.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: McPrefix, deps: [], target: i0.ɵɵFactoryTarget.Directive });
67
- /** @nocollapse */ /** @nocollapse */ McPrefix.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.0", type: McPrefix, selector: "[mcPrefix]", ngImport: i0 });
68
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: McPrefix, decorators: [{
199
+ /** @nocollapse */ /** @nocollapse */ McPrefix.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McPrefix, deps: [], target: i0.ɵɵFactoryTarget.Directive });
200
+ /** @nocollapse */ /** @nocollapse */ McPrefix.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.4", type: McPrefix, selector: "[mcPrefix]", ngImport: i0 });
201
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McPrefix, decorators: [{
69
202
  type: Directive,
70
203
  args: [{
71
204
  selector: '[mcPrefix]'
@@ -97,8 +230,8 @@ class McStepper {
97
230
  $event.preventDefault();
98
231
  }
99
232
  }
100
- /** @nocollapse */ /** @nocollapse */ McStepper.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: McStepper, deps: [], target: i0.ɵɵFactoryTarget.Component });
101
- /** @nocollapse */ /** @nocollapse */ McStepper.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: McStepper, selector: "mc-stepper", outputs: { stepUp: "stepUp", stepDown: "stepDown" }, ngImport: i0, template: `
233
+ /** @nocollapse */ /** @nocollapse */ McStepper.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McStepper, deps: [], target: i0.ɵɵFactoryTarget.Component });
234
+ /** @nocollapse */ /** @nocollapse */ McStepper.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.4", type: McStepper, selector: "mc-stepper", outputs: { stepUp: "stepUp", stepDown: "stepDown" }, ngImport: i0, template: `
102
235
  <i class="mc mc-icon mc-icon_light mc-second mc-stepper-step-up mc-angle-down-L_16"
103
236
  (mousedown)="onStepUp($event)">
104
237
  </i>
@@ -106,7 +239,7 @@ class McStepper {
106
239
  (mousedown)="onStepDown($event)">
107
240
  </i>
108
241
  `, isInline: true });
109
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: McStepper, decorators: [{
242
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McStepper, decorators: [{
110
243
  type: Component,
111
244
  args: [{
112
245
  selector: 'mc-stepper',
@@ -127,9 +260,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
127
260
 
128
261
  class McSuffix {
129
262
  }
130
- /** @nocollapse */ /** @nocollapse */ McSuffix.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: McSuffix, deps: [], target: i0.ɵɵFactoryTarget.Directive });
131
- /** @nocollapse */ /** @nocollapse */ McSuffix.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.0", type: McSuffix, selector: "[mcSuffix]", ngImport: i0 });
132
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: McSuffix, decorators: [{
263
+ /** @nocollapse */ /** @nocollapse */ McSuffix.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McSuffix, deps: [], target: i0.ɵɵFactoryTarget.Directive });
264
+ /** @nocollapse */ /** @nocollapse */ McSuffix.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.4", type: McSuffix, selector: "[mcSuffix]", ngImport: i0 });
265
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McSuffix, decorators: [{
133
266
  type: Directive,
134
267
  args: [{
135
268
  selector: '[mcSuffix]'
@@ -146,25 +279,35 @@ class McFormFieldBase {
146
279
  // tslint:disable-next-line:naming-convention
147
280
  const McFormFieldMixinBase = mixinColor(McFormFieldBase);
148
281
  class McFormField extends McFormFieldMixinBase {
282
+ constructor(
149
283
  // tslint:disable-next-line:naming-convention
150
- constructor(_elementRef, _changeDetectorRef) {
284
+ _elementRef, _changeDetectorRef, focusMonitor) {
151
285
  super(_elementRef);
152
286
  this._elementRef = _elementRef;
153
287
  this._changeDetectorRef = _changeDetectorRef;
288
+ this.focusMonitor = focusMonitor;
154
289
  // Unique id for the internal form field label.
155
290
  this.labelId = `mc-form-field-label-${nextUniqueId++}`;
156
291
  this.hovered = false;
157
292
  this.canCleanerClearByEsc = true;
158
293
  this.$unsubscribe = new Subject();
294
+ this.runFocusMonitor();
159
295
  }
160
296
  get hasHint() {
161
- return this.hint && this.hint.length > 0;
297
+ var _a;
298
+ return ((_a = this.hint) === null || _a === void 0 ? void 0 : _a.length) > 0;
299
+ }
300
+ get hasPasswordStrengthError() {
301
+ var _a;
302
+ return (_a = this.passwordHints) === null || _a === void 0 ? void 0 : _a.some((hint) => hint.hasError);
162
303
  }
163
304
  get hasSuffix() {
164
- return this.suffix && this.suffix.length > 0;
305
+ var _a;
306
+ return ((_a = this.suffix) === null || _a === void 0 ? void 0 : _a.length) > 0;
165
307
  }
166
308
  get hasPrefix() {
167
- return this.prefix && this.prefix.length > 0;
309
+ var _a;
310
+ return ((_a = this.prefix) === null || _a === void 0 ? void 0 : _a.length) > 0;
168
311
  }
169
312
  get hasCleaner() {
170
313
  return !!this.cleaner;
@@ -173,14 +316,15 @@ class McFormField extends McFormFieldMixinBase {
173
316
  return !!this.stepper;
174
317
  }
175
318
  get canShowCleaner() {
319
+ var _a;
176
320
  return this.hasCleaner &&
177
- this.control &&
178
- this.control.ngControl
321
+ ((_a = this.control) === null || _a === void 0 ? void 0 : _a.ngControl)
179
322
  ? this.control.ngControl.value && !this.control.disabled
180
323
  : false;
181
324
  }
182
325
  get disabled() {
183
- return this.control && this.control.disabled;
326
+ var _a;
327
+ return (_a = this.control) === null || _a === void 0 ? void 0 : _a.disabled;
184
328
  }
185
329
  get canShowStepper() {
186
330
  var _a;
@@ -189,6 +333,7 @@ class McFormField extends McFormFieldMixinBase {
189
333
  (((_a = this.control) === null || _a === void 0 ? void 0 : _a.focused) || this.hovered);
190
334
  }
191
335
  ngAfterContentInit() {
336
+ var _a;
192
337
  if (this.control.numberInput && this.hasCleaner) {
193
338
  this.cleaner = null;
194
339
  throw getMcFormFieldYouCanNotUseCleanerInNumberInputError();
@@ -200,14 +345,18 @@ class McFormField extends McFormFieldMixinBase {
200
345
  // Subscribe to changes in the child control state in order to update the form field UI.
201
346
  this.control.stateChanges
202
347
  .pipe(startWith())
203
- .subscribe(() => {
348
+ .subscribe((state) => {
349
+ var _a, _b;
350
+ if (!(state === null || state === void 0 ? void 0 : state.focused) && this.hasPasswordStrengthError) {
351
+ (_b = (_a = this.control.ngControl) === null || _a === void 0 ? void 0 : _a.control) === null || _b === void 0 ? void 0 : _b.setErrors({ passwordStrength: true });
352
+ }
204
353
  this._changeDetectorRef.markForCheck();
205
354
  });
206
355
  if (this.hasStepper) {
207
356
  this.stepper.connectTo(this.control.numberInput);
208
357
  }
209
358
  // Run change detection if the value changes.
210
- const valueChanges = this.control.ngControl && this.control.ngControl.valueChanges || EMPTY;
359
+ const valueChanges = ((_a = this.control.ngControl) === null || _a === void 0 ? void 0 : _a.valueChanges) || EMPTY;
211
360
  merge(valueChanges)
212
361
  .pipe(takeUntil(this.$unsubscribe))
213
362
  .subscribe(() => this._changeDetectorRef.markForCheck());
@@ -220,11 +369,10 @@ class McFormField extends McFormFieldMixinBase {
220
369
  this._changeDetectorRef.detectChanges();
221
370
  }
222
371
  clearValue($event) {
372
+ var _a, _b, _c;
223
373
  $event.stopPropagation();
224
- if (this.control && this.control.ngControl) {
225
- this.control.ngControl.reset();
226
- this.control.focus();
227
- }
374
+ (_b = (_a = this.control) === null || _a === void 0 ? void 0 : _a.ngControl) === null || _b === void 0 ? void 0 : _b.reset();
375
+ (_c = this.control) === null || _c === void 0 ? void 0 : _c.focus();
228
376
  }
229
377
  onContainerClick($event) {
230
378
  if (this.control.onContainerClick) {
@@ -232,11 +380,14 @@ class McFormField extends McFormFieldMixinBase {
232
380
  }
233
381
  }
234
382
  onKeyDown(event) {
383
+ var _a, _b;
384
+ // tslint:disable-next-line:deprecation
385
+ if (this.control.controlType === 'input-password' && event.altKey && event.keyCode === F8) {
386
+ this.control.toggleType();
387
+ }
235
388
  // tslint:disable-next-line:deprecation
236
389
  if (this.canCleanerClearByEsc && event.keyCode === ESCAPE && this.control.focused && this.hasCleaner) {
237
- if (this.control && this.control.ngControl) {
238
- this.control.ngControl.reset();
239
- }
390
+ (_b = (_a = this.control) === null || _a === void 0 ? void 0 : _a.ngControl) === null || _b === void 0 ? void 0 : _b.reset();
240
391
  event.preventDefault();
241
392
  }
242
393
  }
@@ -261,6 +412,7 @@ class McFormField extends McFormFieldMixinBase {
261
412
  ngOnDestroy() {
262
413
  this.$unsubscribe.next();
263
414
  this.$unsubscribe.complete();
415
+ this.stopFocusMonitor();
264
416
  }
265
417
  /** Throws an error if the form field's control is missing. */
266
418
  validateControlChild() {
@@ -268,10 +420,16 @@ class McFormField extends McFormFieldMixinBase {
268
420
  throw getMcFormFieldMissingControlError();
269
421
  }
270
422
  }
423
+ runFocusMonitor() {
424
+ this.focusMonitor.monitor(this._elementRef.nativeElement, true);
425
+ }
426
+ stopFocusMonitor() {
427
+ this.focusMonitor.stopMonitoring(this._elementRef.nativeElement);
428
+ }
271
429
  }
272
- /** @nocollapse */ /** @nocollapse */ McFormField.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: McFormField, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
273
- /** @nocollapse */ /** @nocollapse */ McFormField.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: McFormField, selector: "mc-form-field", inputs: { color: "color" }, host: { listeners: { "keydown": "onKeyDown($event)", "mouseenter": "onHoverChanged(true)", "mouseleave": "onHoverChanged(false)" }, properties: { "class.mc-form-field_invalid": "control.errorState", "class.mc-form-field_has-prefix": "hasPrefix", "class.mc-form-field_has-suffix": "hasSuffix", "class.mc-form-field_has-cleaner": "canShowCleaner", "class.mc-form-field_has-stepper": "canShowStepper", "class.mc-disabled": "control.disabled", "class.mc-focused": "control.focused", "class.ng-untouched": "shouldForward(\"untouched\")", "class.ng-touched": "shouldForward(\"touched\")", "class.ng-pristine": "shouldForward(\"pristine\")", "class.ng-dirty": "shouldForward(\"dirty\")", "class.ng-valid": "shouldForward(\"valid\")", "class.ng-invalid": "shouldForward(\"invalid\")", "class.ng-pending": "shouldForward(\"pending\")" }, classAttribute: "mc-form-field" }, queries: [{ propertyName: "control", first: true, predicate: McFormFieldControl, descendants: true }, { propertyName: "stepper", first: true, predicate: McStepper, descendants: true }, { propertyName: "cleaner", first: true, predicate: McCleaner, descendants: true }, { propertyName: "hint", predicate: McHint }, { propertyName: "suffix", predicate: McSuffix }, { propertyName: "prefix", predicate: McPrefix }], viewQueries: [{ propertyName: "connectionContainerRef", first: true, predicate: ["connectionContainer"], descendants: true, static: true }], exportAs: ["mcFormField"], usesInheritance: true, ngImport: i0, template: "<div class=\"mc-form-field__container\" (click)=\"onContainerClick($event)\">\n\n <div class=\"mc-form-field__prefix\" *ngIf=\"hasPrefix\">\n <ng-content select=\"[mcPrefix]\"></ng-content>\n </div>\n\n <div class=\"mc-form-field__infix\">\n <ng-content></ng-content>\n </div>\n\n <div class=\"mc-form-field__suffix\" *ngIf=\"hasSuffix\">\n <ng-content select=\"[mcSuffix]\"></ng-content>\n </div>\n\n <div class=\"mc-form-field__cleaner\"\n *ngIf=\"canShowCleaner && !hasSuffix\"\n (click)=\"clearValue($event)\">\n <ng-content select=\"mc-cleaner\"></ng-content>\n </div>\n\n <ng-content *ngIf=\"canShowStepper\" select=\"mc-stepper\"></ng-content>\n</div>\n\n<div class=\"mc-form-field__hint\">\n <ng-content select=\"mc-hint\"></ng-content>\n</div>\n", styles: [".mc-form-field{position:relative;display:inline-block;width:100%;border-radius:var(--mc-form-field-size-border-radius, 3px)}.mc-form-field:hover{z-index:1}.mc-form-field.mc-focused{z-index:2}.mc-hint{display:block}.mc-form-field__hint>.mc-hint{margin-top:var(--mc-form-field-hint-size-margin-top, 4px)}.mc-form-field__container{position:relative;border-width:var(--mc-form-field-size-border-width, 1px);border-style:solid;border-color:transparent;border-radius:var(--mc-form-field-size-border-radius, 3px)}.mc-form-field_without-borders .mc-form-field__container{border-color:transparent}.mc-form-field__prefix,.mc-form-field__suffix{position:absolute;top:0;bottom:0;width:32px;display:flex;flex-direction:row;justify-content:center;align-items:center}.mc-form-field__prefix{left:0}.mc-form-field__suffix{right:0}.mc-form-field_has-suffix .mc-input,.mc-form-field_has-cleaner .mc-input,.mc-form-field_has-stepper .mc-input{padding-right:var(--mc-form-field-size-button-width, 32px)}.mc-form-field_has-prefix .mc-input{padding-left:var(--mc-form-field-size-button-width, 32px)}.mc-cleaner{display:flex;width:var(--mc-form-field-size-button-width, 32px);height:100%;cursor:pointer}.mc-cleaner .mc-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.mc-form-field__cleaner .mc-cleaner{position:absolute;top:0;bottom:0;right:0}mc-stepper{position:absolute;display:flex;flex-direction:column;justify-content:center;align-items:center;top:0;bottom:0;right:0;width:var(--mc-form-field-size-button-width, 32px)}mc-stepper .mc-stepper-step-up,mc-stepper .mc-stepper-step-down{cursor:pointer;width:var(--mc-form-field-size-button-width, 32px);text-align:center}mc-stepper .mc-stepper-step-up{transform:scaleY(-1)}\n", ".mc-input{background:transparent;padding:0;margin:0;border:none;outline:none;box-sizing:border-box;padding:var(--mc-input-size-padding, 5px 16px);width:var(--mc-input-size-width, 100%);min-height:var(--mc-input-size-min-height, 30px)}.mc-input::-ms-clear{display:none;width:0;height:0}.mc-input::-ms-reveal{display:none;width:0;height:0}.mc-input::-webkit-search-decoration,.mc-input::-webkit-search-cancel-button,.mc-input::-webkit-search-results-button,.mc-input::-webkit-search-results-decoration{display:none}.mc-input{display:inline-block}input.mc-input[type=number]{-moz-appearance:textfield}input.mc-input[type=number]::-webkit-inner-spin-button,input.mc-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}input.mc-input:invalid{box-shadow:unset}\n", ".mc-timepicker{padding-right:calc(var(--mc-timepicker-size-padding-right, 16px) - var(--mc-form-field-size-border-width, 1px))}.mc-form-field-type-timepicker{width:auto}\n", ".mc-form-field-type-datepicker{width:auto}.mc-datepicker{width:var(--mc-datepicker-input-size-width, 130px)}\n", ".mc-textarea{background:transparent;margin:0;border:none;outline:none;resize:none;overflow:auto;width:100%;box-sizing:border-box;padding:var(--mc-textarea-size-padding, 5px 16px)}.mc-textarea{display:inline-block;-webkit-appearance:none;vertical-align:bottom}.mc-textarea:not(.mc-textarea-resizable){box-sizing:border-box;overflow-y:hidden}.mc-textarea.mc-textarea-resizable{resize:vertical;min-height:var(--mc-textarea-size-min-height, 50px)}.mc-textarea:invalid{box-shadow:unset}\n"], directives: [{ type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
274
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: McFormField, decorators: [{
430
+ /** @nocollapse */ /** @nocollapse */ McFormField.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McFormField, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1$1.FocusMonitor }], target: i0.ɵɵFactoryTarget.Component });
431
+ /** @nocollapse */ /** @nocollapse */ McFormField.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.4", type: McFormField, selector: "mc-form-field", inputs: { color: "color" }, host: { listeners: { "keydown": "onKeyDown($event)", "mouseenter": "onHoverChanged(true)", "mouseleave": "onHoverChanged(false)" }, properties: { "class.mc-form-field_invalid": "control.errorState", "class.mc-form-field_has-prefix": "hasPrefix", "class.mc-form-field_has-suffix": "hasSuffix", "class.mc-form-field_has-cleaner": "canShowCleaner", "class.mc-form-field_has-stepper": "canShowStepper", "class.mc-disabled": "control.disabled", "class.ng-untouched": "shouldForward(\"untouched\")", "class.ng-touched": "shouldForward(\"touched\")", "class.ng-pristine": "shouldForward(\"pristine\")", "class.ng-dirty": "shouldForward(\"dirty\")", "class.ng-valid": "shouldForward(\"valid\")", "class.ng-invalid": "shouldForward(\"invalid\")", "class.ng-pending": "shouldForward(\"pending\")" }, classAttribute: "mc-form-field" }, queries: [{ propertyName: "control", first: true, predicate: McFormFieldControl, descendants: true }, { propertyName: "stepper", first: true, predicate: McStepper, descendants: true }, { propertyName: "cleaner", first: true, predicate: McCleaner, descendants: true }, { propertyName: "hint", predicate: McHint }, { propertyName: "passwordHints", predicate: McPasswordHint }, { propertyName: "suffix", predicate: McSuffix }, { propertyName: "prefix", predicate: McPrefix }], viewQueries: [{ propertyName: "connectionContainerRef", first: true, predicate: ["connectionContainer"], descendants: true, static: true }], exportAs: ["mcFormField"], usesInheritance: true, ngImport: i0, template: "<div class=\"mc-form-field__container\" (click)=\"onContainerClick($event)\">\n\n <div class=\"mc-form-field__prefix\" *ngIf=\"hasPrefix\">\n <ng-content select=\"[mcPrefix]\"></ng-content>\n </div>\n\n <div class=\"mc-form-field__infix\">\n <ng-content></ng-content>\n </div>\n\n <div class=\"mc-form-field__suffix\" *ngIf=\"hasSuffix\">\n <ng-content select=\"[mcSuffix]\"></ng-content>\n </div>\n\n <div class=\"mc-form-field__cleaner\"\n *ngIf=\"canShowCleaner && !hasSuffix\"\n (click)=\"clearValue($event)\">\n <ng-content select=\"mc-cleaner\"></ng-content>\n </div>\n\n <ng-content select=\"mc-password-toggle\"></ng-content>\n\n <ng-content *ngIf=\"canShowStepper\" select=\"mc-stepper\"></ng-content>\n</div>\n\n<div class=\"mc-form-field__hint\">\n <ng-content select=\"mc-hint, mc-password-hint\"></ng-content>\n</div>\n", styles: [".mc-form-field{position:relative;display:inline-block;width:100%;border-radius:var(--mc-form-field-size-border-radius, 3px)}.mc-form-field:hover{z-index:1}.mc-form-field.mc-focused{z-index:2}.mc-form-field-type-input-password .mc-input{padding-right:var(--mc-form-field-size-button-width, 32px)}.mc-hint{display:block}.mc-password-hint{display:block;padding-left:calc(16px + var(--mc-form-field-password-hint-size-icon-margin, 4px))}.mc-password-hint .mc-icon{position:absolute;left:0}.mc-form-field__hint>.mc-password-hint{margin-top:var(--mc-form-field-password-hint-size-margin-top, 8px)}.mc-form-field__hint>.mc-hint{margin-top:var(--mc-form-field-hint-size-margin-top, 4px)}.mc-form-field__container{position:relative;border-width:var(--mc-form-field-size-border-width, 1px);border-style:solid;border-color:transparent;border-radius:var(--mc-form-field-size-border-radius, 3px)}.mc-form-field_without-borders .mc-form-field__container{border-color:transparent}.mc-form-field__prefix,.mc-form-field__suffix{position:absolute;top:0;bottom:0;width:32px;display:flex;flex-direction:row;justify-content:center;align-items:center}.mc-form-field__prefix{left:0}.mc-form-field__suffix{right:0}.mc-form-field_has-suffix .mc-input,.mc-form-field_has-cleaner .mc-input,.mc-form-field_has-stepper .mc-input{padding-right:var(--mc-form-field-size-button-width, 32px)}.mc-form-field_has-prefix .mc-input{padding-left:var(--mc-form-field-size-button-width, 32px)}.mc-cleaner{display:flex;width:var(--mc-form-field-size-button-width, 32px);height:100%;cursor:pointer}.mc-cleaner .mc-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.mc-form-field__cleaner .mc-cleaner{position:absolute;top:0;bottom:0;right:0}mc-stepper{position:absolute;display:flex;flex-direction:column;justify-content:center;align-items:center;top:0;bottom:0;right:0;width:var(--mc-form-field-size-button-width, 32px)}mc-stepper .mc-stepper-step-up,mc-stepper .mc-stepper-step-down{cursor:pointer;width:var(--mc-form-field-size-button-width, 32px);text-align:center}mc-stepper .mc-stepper-step-up{transform:scaleY(-1)}\n", ".mc-input{background:transparent;padding:0;margin:0;border:none;outline:none;width:var(--mc-input-size-width, 100%);min-height:calc(var(--mc-form-field-size-height, 32px) - var(--mc-form-field-size-border-width, 1px) * 2);padding:var(--mc-input-size-padding, 0 16px)}.mc-input::-ms-clear{display:none;width:0;height:0}.mc-input::-ms-reveal{display:none;width:0;height:0}.mc-input::-webkit-search-decoration,.mc-input::-webkit-search-cancel-button,.mc-input::-webkit-search-results-button,.mc-input::-webkit-search-results-decoration{display:none}.mc-input{display:inline-block}input.mc-input[type=number]{-moz-appearance:textfield}input.mc-input[type=number]::-webkit-inner-spin-button,input.mc-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}input.mc-input:invalid{box-shadow:unset}.mc-password-toggle{display:flex;position:absolute;top:-1px;right:-1px;border:1px solid transparent;width:32px;height:32px;align-items:center;justify-content:center;cursor:pointer;border-top-right-radius:var(--mc-form-field-size-border-radius, 3px);border-bottom-right-radius:var(--mc-form-field-size-border-radius, 3px)}.mc-password-toggle::-moz-focus-inner{border:0}.mc-password-toggle:focus{outline:none}\n", ".mc-timepicker{padding-right:calc(var(--mc-timepicker-size-padding-right, 16px) - var(--mc-form-field-size-border-width, 1px))}.mc-form-field-type-timepicker{width:auto}\n", ".mc-form-field-type-datepicker{width:auto}.mc-datepicker{width:var(--mc-datepicker-input-size-width, 130px)}\n", ".mc-textarea{background:transparent;margin:0;border:none;outline:none;resize:none;overflow:auto;width:100%;box-sizing:border-box;padding:var(--mc-textarea-size-padding, 5px 16px)}.mc-textarea{display:inline-block;-webkit-appearance:none;vertical-align:bottom}.mc-textarea:not(.mc-textarea-resizable){box-sizing:border-box;overflow-y:hidden}.mc-textarea.mc-textarea-resizable{resize:vertical;min-height:var(--mc-textarea-size-min-height, 50px)}.mc-textarea:invalid{box-shadow:unset}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
432
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McFormField, decorators: [{
275
433
  type: Component,
276
434
  args: [{ selector: 'mc-form-field', exportAs: 'mcFormField', host: {
277
435
  class: 'mc-form-field',
@@ -281,7 +439,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
281
439
  '[class.mc-form-field_has-cleaner]': 'canShowCleaner',
282
440
  '[class.mc-form-field_has-stepper]': 'canShowStepper',
283
441
  '[class.mc-disabled]': 'control.disabled',
284
- '[class.mc-focused]': 'control.focused',
285
442
  '[class.ng-untouched]': 'shouldForward("untouched")',
286
443
  '[class.ng-touched]': 'shouldForward("touched")',
287
444
  '[class.ng-pristine]': 'shouldForward("pristine")',
@@ -292,8 +449,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
292
449
  '(keydown)': 'onKeyDown($event)',
293
450
  '(mouseenter)': 'onHoverChanged(true)',
294
451
  '(mouseleave)': 'onHoverChanged(false)'
295
- }, inputs: ['color'], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"mc-form-field__container\" (click)=\"onContainerClick($event)\">\n\n <div class=\"mc-form-field__prefix\" *ngIf=\"hasPrefix\">\n <ng-content select=\"[mcPrefix]\"></ng-content>\n </div>\n\n <div class=\"mc-form-field__infix\">\n <ng-content></ng-content>\n </div>\n\n <div class=\"mc-form-field__suffix\" *ngIf=\"hasSuffix\">\n <ng-content select=\"[mcSuffix]\"></ng-content>\n </div>\n\n <div class=\"mc-form-field__cleaner\"\n *ngIf=\"canShowCleaner && !hasSuffix\"\n (click)=\"clearValue($event)\">\n <ng-content select=\"mc-cleaner\"></ng-content>\n </div>\n\n <ng-content *ngIf=\"canShowStepper\" select=\"mc-stepper\"></ng-content>\n</div>\n\n<div class=\"mc-form-field__hint\">\n <ng-content select=\"mc-hint\"></ng-content>\n</div>\n", styles: [".mc-form-field{position:relative;display:inline-block;width:100%;border-radius:var(--mc-form-field-size-border-radius, 3px)}.mc-form-field:hover{z-index:1}.mc-form-field.mc-focused{z-index:2}.mc-hint{display:block}.mc-form-field__hint>.mc-hint{margin-top:var(--mc-form-field-hint-size-margin-top, 4px)}.mc-form-field__container{position:relative;border-width:var(--mc-form-field-size-border-width, 1px);border-style:solid;border-color:transparent;border-radius:var(--mc-form-field-size-border-radius, 3px)}.mc-form-field_without-borders .mc-form-field__container{border-color:transparent}.mc-form-field__prefix,.mc-form-field__suffix{position:absolute;top:0;bottom:0;width:32px;display:flex;flex-direction:row;justify-content:center;align-items:center}.mc-form-field__prefix{left:0}.mc-form-field__suffix{right:0}.mc-form-field_has-suffix .mc-input,.mc-form-field_has-cleaner .mc-input,.mc-form-field_has-stepper .mc-input{padding-right:var(--mc-form-field-size-button-width, 32px)}.mc-form-field_has-prefix .mc-input{padding-left:var(--mc-form-field-size-button-width, 32px)}.mc-cleaner{display:flex;width:var(--mc-form-field-size-button-width, 32px);height:100%;cursor:pointer}.mc-cleaner .mc-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.mc-form-field__cleaner .mc-cleaner{position:absolute;top:0;bottom:0;right:0}mc-stepper{position:absolute;display:flex;flex-direction:column;justify-content:center;align-items:center;top:0;bottom:0;right:0;width:var(--mc-form-field-size-button-width, 32px)}mc-stepper .mc-stepper-step-up,mc-stepper .mc-stepper-step-down{cursor:pointer;width:var(--mc-form-field-size-button-width, 32px);text-align:center}mc-stepper .mc-stepper-step-up{transform:scaleY(-1)}\n", ".mc-input{background:transparent;padding:0;margin:0;border:none;outline:none;box-sizing:border-box;padding:var(--mc-input-size-padding, 5px 16px);width:var(--mc-input-size-width, 100%);min-height:var(--mc-input-size-min-height, 30px)}.mc-input::-ms-clear{display:none;width:0;height:0}.mc-input::-ms-reveal{display:none;width:0;height:0}.mc-input::-webkit-search-decoration,.mc-input::-webkit-search-cancel-button,.mc-input::-webkit-search-results-button,.mc-input::-webkit-search-results-decoration{display:none}.mc-input{display:inline-block}input.mc-input[type=number]{-moz-appearance:textfield}input.mc-input[type=number]::-webkit-inner-spin-button,input.mc-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}input.mc-input:invalid{box-shadow:unset}\n", ".mc-timepicker{padding-right:calc(var(--mc-timepicker-size-padding-right, 16px) - var(--mc-form-field-size-border-width, 1px))}.mc-form-field-type-timepicker{width:auto}\n", ".mc-form-field-type-datepicker{width:auto}.mc-datepicker{width:var(--mc-datepicker-input-size-width, 130px)}\n", ".mc-textarea{background:transparent;margin:0;border:none;outline:none;resize:none;overflow:auto;width:100%;box-sizing:border-box;padding:var(--mc-textarea-size-padding, 5px 16px)}.mc-textarea{display:inline-block;-webkit-appearance:none;vertical-align:bottom}.mc-textarea:not(.mc-textarea-resizable){box-sizing:border-box;overflow-y:hidden}.mc-textarea.mc-textarea-resizable{resize:vertical;min-height:var(--mc-textarea-size-min-height, 50px)}.mc-textarea:invalid{box-shadow:unset}\n"] }]
296
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { control: [{
452
+ }, inputs: ['color'], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"mc-form-field__container\" (click)=\"onContainerClick($event)\">\n\n <div class=\"mc-form-field__prefix\" *ngIf=\"hasPrefix\">\n <ng-content select=\"[mcPrefix]\"></ng-content>\n </div>\n\n <div class=\"mc-form-field__infix\">\n <ng-content></ng-content>\n </div>\n\n <div class=\"mc-form-field__suffix\" *ngIf=\"hasSuffix\">\n <ng-content select=\"[mcSuffix]\"></ng-content>\n </div>\n\n <div class=\"mc-form-field__cleaner\"\n *ngIf=\"canShowCleaner && !hasSuffix\"\n (click)=\"clearValue($event)\">\n <ng-content select=\"mc-cleaner\"></ng-content>\n </div>\n\n <ng-content select=\"mc-password-toggle\"></ng-content>\n\n <ng-content *ngIf=\"canShowStepper\" select=\"mc-stepper\"></ng-content>\n</div>\n\n<div class=\"mc-form-field__hint\">\n <ng-content select=\"mc-hint, mc-password-hint\"></ng-content>\n</div>\n", styles: [".mc-form-field{position:relative;display:inline-block;width:100%;border-radius:var(--mc-form-field-size-border-radius, 3px)}.mc-form-field:hover{z-index:1}.mc-form-field.mc-focused{z-index:2}.mc-form-field-type-input-password .mc-input{padding-right:var(--mc-form-field-size-button-width, 32px)}.mc-hint{display:block}.mc-password-hint{display:block;padding-left:calc(16px + var(--mc-form-field-password-hint-size-icon-margin, 4px))}.mc-password-hint .mc-icon{position:absolute;left:0}.mc-form-field__hint>.mc-password-hint{margin-top:var(--mc-form-field-password-hint-size-margin-top, 8px)}.mc-form-field__hint>.mc-hint{margin-top:var(--mc-form-field-hint-size-margin-top, 4px)}.mc-form-field__container{position:relative;border-width:var(--mc-form-field-size-border-width, 1px);border-style:solid;border-color:transparent;border-radius:var(--mc-form-field-size-border-radius, 3px)}.mc-form-field_without-borders .mc-form-field__container{border-color:transparent}.mc-form-field__prefix,.mc-form-field__suffix{position:absolute;top:0;bottom:0;width:32px;display:flex;flex-direction:row;justify-content:center;align-items:center}.mc-form-field__prefix{left:0}.mc-form-field__suffix{right:0}.mc-form-field_has-suffix .mc-input,.mc-form-field_has-cleaner .mc-input,.mc-form-field_has-stepper .mc-input{padding-right:var(--mc-form-field-size-button-width, 32px)}.mc-form-field_has-prefix .mc-input{padding-left:var(--mc-form-field-size-button-width, 32px)}.mc-cleaner{display:flex;width:var(--mc-form-field-size-button-width, 32px);height:100%;cursor:pointer}.mc-cleaner .mc-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.mc-form-field__cleaner .mc-cleaner{position:absolute;top:0;bottom:0;right:0}mc-stepper{position:absolute;display:flex;flex-direction:column;justify-content:center;align-items:center;top:0;bottom:0;right:0;width:var(--mc-form-field-size-button-width, 32px)}mc-stepper .mc-stepper-step-up,mc-stepper .mc-stepper-step-down{cursor:pointer;width:var(--mc-form-field-size-button-width, 32px);text-align:center}mc-stepper .mc-stepper-step-up{transform:scaleY(-1)}\n", ".mc-input{background:transparent;padding:0;margin:0;border:none;outline:none;width:var(--mc-input-size-width, 100%);min-height:calc(var(--mc-form-field-size-height, 32px) - var(--mc-form-field-size-border-width, 1px) * 2);padding:var(--mc-input-size-padding, 0 16px)}.mc-input::-ms-clear{display:none;width:0;height:0}.mc-input::-ms-reveal{display:none;width:0;height:0}.mc-input::-webkit-search-decoration,.mc-input::-webkit-search-cancel-button,.mc-input::-webkit-search-results-button,.mc-input::-webkit-search-results-decoration{display:none}.mc-input{display:inline-block}input.mc-input[type=number]{-moz-appearance:textfield}input.mc-input[type=number]::-webkit-inner-spin-button,input.mc-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}input.mc-input:invalid{box-shadow:unset}.mc-password-toggle{display:flex;position:absolute;top:-1px;right:-1px;border:1px solid transparent;width:32px;height:32px;align-items:center;justify-content:center;cursor:pointer;border-top-right-radius:var(--mc-form-field-size-border-radius, 3px);border-bottom-right-radius:var(--mc-form-field-size-border-radius, 3px)}.mc-password-toggle::-moz-focus-inner{border:0}.mc-password-toggle:focus{outline:none}\n", ".mc-timepicker{padding-right:calc(var(--mc-timepicker-size-padding-right, 16px) - var(--mc-form-field-size-border-width, 1px))}.mc-form-field-type-timepicker{width:auto}\n", ".mc-form-field-type-datepicker{width:auto}.mc-datepicker{width:var(--mc-datepicker-input-size-width, 130px)}\n", ".mc-textarea{background:transparent;margin:0;border:none;outline:none;resize:none;overflow:auto;width:100%;box-sizing:border-box;padding:var(--mc-textarea-size-padding, 5px 16px)}.mc-textarea{display:inline-block;-webkit-appearance:none;vertical-align:bottom}.mc-textarea:not(.mc-textarea-resizable){box-sizing:border-box;overflow-y:hidden}.mc-textarea.mc-textarea-resizable{resize:vertical;min-height:var(--mc-textarea-size-min-height, 50px)}.mc-textarea:invalid{box-shadow:unset}\n"] }]
453
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1$1.FocusMonitor }]; }, propDecorators: { control: [{
297
454
  type: ContentChild,
298
455
  args: [McFormFieldControl, { static: false }]
299
456
  }], stepper: [{
@@ -305,6 +462,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
305
462
  }], hint: [{
306
463
  type: ContentChildren,
307
464
  args: [McHint]
465
+ }], passwordHints: [{
466
+ type: ContentChildren,
467
+ args: [McPasswordHint]
308
468
  }], suffix: [{
309
469
  type: ContentChildren,
310
470
  args: [McSuffix]
@@ -317,9 +477,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
317
477
  }] } });
318
478
  class McFormFieldWithoutBorders {
319
479
  }
320
- /** @nocollapse */ /** @nocollapse */ McFormFieldWithoutBorders.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: McFormFieldWithoutBorders, deps: [], target: i0.ɵɵFactoryTarget.Directive });
321
- /** @nocollapse */ /** @nocollapse */ McFormFieldWithoutBorders.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.0", type: McFormFieldWithoutBorders, selector: "mc-form-field[mcFormFieldWithoutBorders]", host: { classAttribute: "mc-form-field_without-borders" }, exportAs: ["mcFormFieldWithoutBorders"], ngImport: i0 });
322
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: McFormFieldWithoutBorders, decorators: [{
480
+ /** @nocollapse */ /** @nocollapse */ McFormFieldWithoutBorders.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McFormFieldWithoutBorders, deps: [], target: i0.ɵɵFactoryTarget.Directive });
481
+ /** @nocollapse */ /** @nocollapse */ McFormFieldWithoutBorders.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.4", type: McFormFieldWithoutBorders, selector: "mc-form-field[mcFormFieldWithoutBorders]", host: { classAttribute: "mc-form-field_without-borders" }, exportAs: ["mcFormFieldWithoutBorders"], ngImport: i0 });
482
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McFormFieldWithoutBorders, decorators: [{
323
483
  type: Directive,
324
484
  args: [{
325
485
  selector: 'mc-form-field[mcFormFieldWithoutBorders]',
@@ -330,28 +490,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
330
490
 
331
491
  class McFormFieldModule {
332
492
  }
333
- /** @nocollapse */ /** @nocollapse */ McFormFieldModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: McFormFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
334
- /** @nocollapse */ /** @nocollapse */ McFormFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: McFormFieldModule, declarations: [McFormField,
493
+ /** @nocollapse */ /** @nocollapse */ McFormFieldModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McFormFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
494
+ /** @nocollapse */ /** @nocollapse */ McFormFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McFormFieldModule, declarations: [McFormField,
335
495
  McFormFieldWithoutBorders,
336
496
  McHint,
497
+ McPasswordHint,
337
498
  McPrefix,
338
499
  McSuffix,
339
500
  McCleaner,
340
501
  McStepper], imports: [CommonModule, McIconModule], exports: [McFormField,
341
502
  McFormFieldWithoutBorders,
342
503
  McHint,
504
+ McPasswordHint,
343
505
  McPrefix,
344
506
  McSuffix,
345
507
  McCleaner,
346
508
  McStepper] });
347
- /** @nocollapse */ /** @nocollapse */ McFormFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: McFormFieldModule, imports: [[CommonModule, McIconModule]] });
348
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: McFormFieldModule, decorators: [{
509
+ /** @nocollapse */ /** @nocollapse */ McFormFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McFormFieldModule, imports: [[CommonModule, McIconModule]] });
510
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McFormFieldModule, decorators: [{
349
511
  type: NgModule,
350
512
  args: [{
351
513
  declarations: [
352
514
  McFormField,
353
515
  McFormFieldWithoutBorders,
354
516
  McHint,
517
+ McPasswordHint,
355
518
  McPrefix,
356
519
  McSuffix,
357
520
  McCleaner,
@@ -362,6 +525,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
362
525
  McFormField,
363
526
  McFormFieldWithoutBorders,
364
527
  McHint,
528
+ McPasswordHint,
365
529
  McPrefix,
366
530
  McSuffix,
367
531
  McCleaner,
@@ -374,5 +538,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
374
538
  * Generated bundle index. Do not edit.
375
539
  */
376
540
 
377
- export { McCleaner, McFormField, McFormFieldBase, McFormFieldControl, McFormFieldMixinBase, McFormFieldModule, McFormFieldWithoutBorders, McHint, McPrefix, McStepper, McSuffix, getMcFormFieldMissingControlError, getMcFormFieldYouCanNotUseCleanerInNumberInputError };
541
+ export { McCleaner, McFormField, McFormFieldBase, McFormFieldControl, McFormFieldMixinBase, McFormFieldModule, McFormFieldWithoutBorders, McHint, McPasswordHint, McPrefix, McStepper, McSuffix, PasswordRules, getMcFormFieldMissingControlError, getMcFormFieldYouCanNotUseCleanerInNumberInputError, regExpPasswordValidator };
378
542
  //# sourceMappingURL=ptsecurity-mosaic-form-field.mjs.map