@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,16 +1,21 @@
1
+ import * as i3$1 from '@angular/cdk/a11y';
1
2
  import { A11yModule } from '@angular/cdk/a11y';
2
3
  import { CommonModule } from '@angular/common';
3
4
  import * as i0 from '@angular/core';
4
- import { Directive, Optional, Self, Attribute, Input, InjectionToken, Inject, forwardRef, NgModule } from '@angular/core';
5
+ import { Directive, Optional, Self, Attribute, Input, InjectionToken, Inject, forwardRef, Component, ChangeDetectionStrategy, ViewEncapsulation, NgModule } from '@angular/core';
5
6
  import * as i1 from '@angular/forms';
6
7
  import { NG_VALIDATORS, Validators, FormsModule } from '@angular/forms';
7
8
  import * as i3 from '@ptsecurity/mosaic/core';
8
- import { mixinErrorState, setMosaicValidation, MC_VALIDATION, McCommonModule } from '@ptsecurity/mosaic/core';
9
- import { coerceBooleanProperty } from '@angular/cdk/coercion';
9
+ import { mixinErrorState, setMosaicValidation, MC_VALIDATION, PopUpTriggers, McCommonModule } from '@ptsecurity/mosaic/core';
10
+ import { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';
10
11
  import { getSupportedInputTypes } from '@angular/cdk/platform';
12
+ import * as i4 from '@ptsecurity/mosaic/form-field';
11
13
  import { McFormFieldControl } from '@ptsecurity/mosaic/form-field';
12
14
  import { Subject } from 'rxjs';
13
15
  import { A, C, V, X, Z, F1, F12, ZERO, NINE, NUMPAD_ZERO, NUMPAD_NINE, NUMPAD_MINUS, DASH, FF_MINUS, DELETE, BACKSPACE, TAB, ESCAPE, ENTER, LEFT_ARROW, RIGHT_ARROW, HOME, END, UP_ARROW, DOWN_ARROW } from '@ptsecurity/cdk/keycodes';
16
+ import * as i2 from '@angular/cdk/bidi';
17
+ import * as i1$1 from '@angular/cdk/overlay';
18
+ import { McTooltipTrigger, MC_TOOLTIP_SCROLL_STRATEGY } from '@ptsecurity/mosaic/tooltip';
14
19
 
15
20
  function getMcInputUnsupportedTypeError(inputType) {
16
21
  return Error(`Input type "${inputType}" isn't supported by mcInput.`);
@@ -133,9 +138,9 @@ class McNumberInput {
133
138
  }
134
139
  }
135
140
  }
136
- /** @nocollapse */ /** @nocollapse */ McNumberInput.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", 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 });
137
- /** @nocollapse */ /** @nocollapse */ McNumberInput.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.0", 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 });
138
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: McNumberInput, decorators: [{
141
+ /** @nocollapse */ /** @nocollapse */ McNumberInput.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", 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 });
142
+ /** @nocollapse */ /** @nocollapse */ McNumberInput.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.4", 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 });
143
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McNumberInput, decorators: [{
139
144
  type: Directive,
140
145
  args: [{
141
146
  selector: `input[mcInput][type="number"]`,
@@ -186,7 +191,7 @@ const MC_INPUT_INVALID_TYPES = [
186
191
  'reset',
187
192
  'submit'
188
193
  ];
189
- let nextUniqueId = 0;
194
+ let nextUniqueId$1 = 0;
190
195
  class McInputBase {
191
196
  constructor(defaultErrorStateMatcher, parentForm, parentFormGroup, ngControl) {
192
197
  this.defaultErrorStateMatcher = defaultErrorStateMatcher;
@@ -199,7 +204,7 @@ class McInputBase {
199
204
  const McInputMixinBase = mixinErrorState(McInputBase);
200
205
  class McInput extends McInputMixinBase {
201
206
  // tslint:disable-next-line: naming-convention
202
- constructor(elementRef, rawValidators, mcValidation, ngControl, numberInput, ngModel, formControlName, parentForm, parentFormGroup, defaultErrorStateMatcher, inputValueAccessor) {
207
+ constructor(elementRef, rawValidators, mcValidation, ngControl, numberInput, ngModel, formControlName, parentForm, parentFormGroup, defaultErrorStateMatcher, inputValueAccessor, changeDetectorRef) {
203
208
  super(defaultErrorStateMatcher, parentForm, parentFormGroup, ngControl);
204
209
  this.elementRef = elementRef;
205
210
  this.rawValidators = rawValidators;
@@ -207,6 +212,7 @@ class McInput extends McInputMixinBase {
207
212
  this.numberInput = numberInput;
208
213
  this.ngModel = ngModel;
209
214
  this.formControlName = formControlName;
215
+ this.changeDetectorRef = changeDetectorRef;
210
216
  /**
211
217
  * Implemented as part of McFormFieldControl.
212
218
  * @docs-private
@@ -222,7 +228,7 @@ class McInput extends McInputMixinBase {
222
228
  * @docs-private
223
229
  */
224
230
  this.controlType = 'input';
225
- this.uid = `mc-input-${nextUniqueId++}`;
231
+ this.uid = `mc-input-${nextUniqueId$1++}`;
226
232
  this.neverEmptyInputTypes = [
227
233
  'date',
228
234
  'datetime',
@@ -314,7 +320,7 @@ class McInput extends McInputMixinBase {
314
320
  return;
315
321
  }
316
322
  if (this.mcValidation.useValidation) {
317
- setMosaicValidation(this);
323
+ setMosaicValidation(this, this.changeDetectorRef);
318
324
  }
319
325
  }
320
326
  ngOnChanges() {
@@ -402,11 +408,11 @@ class McInput extends McInputMixinBase {
402
408
  return validity && validity.badInput;
403
409
  }
404
410
  }
405
- /** @nocollapse */ /** @nocollapse */ McInput.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: McInput, deps: [{ token: i0.ElementRef }, { token: NG_VALIDATORS, optional: true, self: true }, { token: MC_VALIDATION, optional: true }, { token: i1.NgControl, optional: true, self: true }, { token: McNumberInput, optional: true, self: true }, { token: i1.NgModel, optional: true, self: true }, { token: i1.FormControlName, 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 });
406
- /** @nocollapse */ /** @nocollapse */ McInput.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.0", 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)", "input": "onInput()" }, properties: { "attr.id": "id", "attr.placeholder": "placeholder", "attr.disabled": "disabled || null", "required": "required" }, classAttribute: "mc-input" }, providers: [{
411
+ /** @nocollapse */ /** @nocollapse */ McInput.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McInput, deps: [{ token: i0.ElementRef }, { token: NG_VALIDATORS, optional: true, self: true }, { token: MC_VALIDATION, optional: true }, { token: i1.NgControl, optional: true, self: true }, { token: McNumberInput, optional: true, self: true }, { token: i1.NgModel, optional: true, self: true }, { token: i1.FormControlName, 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 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
412
+ /** @nocollapse */ /** @nocollapse */ McInput.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.4", 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)", "input": "onInput()" }, properties: { "attr.id": "id", "attr.placeholder": "placeholder", "attr.disabled": "disabled || null", "required": "required" }, classAttribute: "mc-input" }, providers: [{
407
413
  provide: McFormFieldControl, useExisting: McInput
408
414
  }], exportAs: ["mcInput"], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
409
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: McInput, decorators: [{
415
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McInput, decorators: [{
410
416
  type: Directive,
411
417
  args: [{
412
418
  selector: `input[mcInput]`,
@@ -466,7 +472,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
466
472
  }, {
467
473
  type: Inject,
468
474
  args: [MC_INPUT_VALUE_ACCESSOR]
469
- }] }]; }, propDecorators: { errorStateMatcher: [{
475
+ }] }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { errorStateMatcher: [{
470
476
  type: Input
471
477
  }], placeholder: [{
472
478
  type: Input
@@ -483,9 +489,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
483
489
  }] } });
484
490
  class McInputMono {
485
491
  }
486
- /** @nocollapse */ /** @nocollapse */ McInputMono.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: McInputMono, deps: [], target: i0.ɵɵFactoryTarget.Directive });
487
- /** @nocollapse */ /** @nocollapse */ McInputMono.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.0", type: McInputMono, selector: "input[mcInputMonospace]", host: { classAttribute: "mc-input_monospace" }, exportAs: ["McInputMonospace"], ngImport: i0 });
488
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: McInputMono, decorators: [{
492
+ /** @nocollapse */ /** @nocollapse */ McInputMono.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McInputMono, deps: [], target: i0.ɵɵFactoryTarget.Directive });
493
+ /** @nocollapse */ /** @nocollapse */ McInputMono.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.4", type: McInputMono, selector: "input[mcInputMonospace]", host: { classAttribute: "mc-input_monospace" }, exportAs: ["McInputMonospace"], ngImport: i0 });
494
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McInputMono, decorators: [{
489
495
  type: Directive,
490
496
  args: [{
491
497
  selector: 'input[mcInputMonospace]',
@@ -524,9 +530,9 @@ class MinValidator {
524
530
  this.validator = Validators.min(parseInt(this.min, 10));
525
531
  }
526
532
  }
527
- /** @nocollapse */ /** @nocollapse */ MinValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MinValidator, deps: [], target: i0.ɵɵFactoryTarget.Directive });
528
- /** @nocollapse */ /** @nocollapse */ MinValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.0", 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 });
529
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MinValidator, decorators: [{
533
+ /** @nocollapse */ /** @nocollapse */ MinValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: MinValidator, deps: [], target: i0.ɵɵFactoryTarget.Directive });
534
+ /** @nocollapse */ /** @nocollapse */ MinValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.4", 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 });
535
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: MinValidator, decorators: [{
530
536
  type: Directive,
531
537
  args: [{
532
538
  selector: '[min][formControlName],[min][formControl],[min][ngModel]',
@@ -568,9 +574,9 @@ class MaxValidator {
568
574
  this.validator = Validators.max(parseInt(this.max, 10));
569
575
  }
570
576
  }
571
- /** @nocollapse */ /** @nocollapse */ MaxValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MaxValidator, deps: [], target: i0.ɵɵFactoryTarget.Directive });
572
- /** @nocollapse */ /** @nocollapse */ MaxValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.0", 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 });
573
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MaxValidator, decorators: [{
577
+ /** @nocollapse */ /** @nocollapse */ MaxValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: MaxValidator, deps: [], target: i0.ɵɵFactoryTarget.Directive });
578
+ /** @nocollapse */ /** @nocollapse */ MaxValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.4", 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 });
579
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: MaxValidator, decorators: [{
574
580
  type: Directive,
575
581
  args: [{
576
582
  selector: '[max][formControlName],[max][formControl],[max][ngModel]',
@@ -583,17 +589,407 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
583
589
  type: Input
584
590
  }] } });
585
591
 
592
+ let nextUniqueId = 0;
593
+ class McPasswordToggle extends McTooltipTrigger {
594
+ constructor(overlay, elementRef, ngZone, scrollDispatcher, hostView, scrollStrategy, direction, focusMonitor, formField) {
595
+ super(overlay, elementRef, ngZone, scrollDispatcher, hostView, scrollStrategy, direction);
596
+ this.focusMonitor = focusMonitor;
597
+ this.formField = formField;
598
+ this._tabIndex = 0;
599
+ this.trigger = `${PopUpTriggers.Hover}`;
600
+ this.runFocusMonitor();
601
+ }
602
+ get content() {
603
+ return this.formField.control.elementType === 'password' ?
604
+ this.mcTooltipHidden :
605
+ this._content;
606
+ }
607
+ set content(content) {
608
+ this._content = content;
609
+ this.updateData();
610
+ }
611
+ get disabled() {
612
+ return this._disabled === undefined ? this.formField.disabled : this._disabled;
613
+ }
614
+ set disabled(value) {
615
+ this._disabled = coerceBooleanProperty(value);
616
+ this._disabled ? this.stopFocusMonitor() : this.runFocusMonitor();
617
+ }
618
+ get tabIndex() {
619
+ return this.disabled ? -1 : this._tabIndex;
620
+ }
621
+ set tabIndex(value) {
622
+ // If the specified tabIndex value is null or undefined, fall back to the default value.
623
+ this._tabIndex = value != null ? coerceNumberProperty(value) : 0;
624
+ }
625
+ get hidden() {
626
+ return this.formField.control.elementType === 'password';
627
+ }
628
+ ngOnDestroy() {
629
+ this.stopFocusMonitor();
630
+ }
631
+ toggle() {
632
+ if (this.disabled) {
633
+ return;
634
+ }
635
+ this.hide();
636
+ const input = this.formField.control;
637
+ input.toggleType();
638
+ this.updateData();
639
+ }
640
+ runFocusMonitor() {
641
+ this.focusMonitor.monitor(this.elementRef)
642
+ .subscribe((origin) => {
643
+ if (origin === 'keyboard') {
644
+ this.show();
645
+ }
646
+ else if (origin === null) {
647
+ this.hide();
648
+ }
649
+ });
650
+ }
651
+ stopFocusMonitor() {
652
+ this.focusMonitor.stopMonitoring(this.elementRef);
653
+ }
654
+ }
655
+ /** @nocollapse */ /** @nocollapse */ McPasswordToggle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", 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 });
656
+ /** @nocollapse */ /** @nocollapse */ McPasswordToggle.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.4", 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 });
657
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McPasswordToggle, decorators: [{
658
+ type: Component,
659
+ args: [{
660
+ selector: `mc-password-toggle`,
661
+ exportAs: 'mcPasswordToggle',
662
+ template: '<ng-content></ng-content>',
663
+ host: {
664
+ class: 'mc-password-toggle mc',
665
+ '[class.mc-eye_16]': 'hidden',
666
+ '[class.mc-eye-crossed_16]': '!hidden',
667
+ '[attr.tabindex]': 'disabled ? null : tabIndex',
668
+ '[attr.disabled]': 'disabled || null',
669
+ '(click)': 'toggle()',
670
+ '(keydown.ENTER)': 'toggle()',
671
+ '(keydown.SPACE)': 'toggle()'
672
+ },
673
+ changeDetection: ChangeDetectionStrategy.OnPush,
674
+ encapsulation: ViewEncapsulation.None
675
+ }]
676
+ }], ctorParameters: function () { return [{ type: i1$1.Overlay }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i1$1.ScrollDispatcher }, { type: i0.ViewContainerRef }, { type: undefined, decorators: [{
677
+ type: Inject,
678
+ args: [MC_TOOLTIP_SCROLL_STRATEGY]
679
+ }] }, { type: i2.Directionality, decorators: [{
680
+ type: Optional
681
+ }] }, { type: i3$1.FocusMonitor }, { type: i4.McFormField }]; }, propDecorators: { content: [{
682
+ type: Input,
683
+ args: ['mcTooltipNotHidden']
684
+ }], mcTooltipHidden: [{
685
+ type: Input
686
+ }], disabled: [{
687
+ type: Input
688
+ }], tabIndex: [{
689
+ type: Input
690
+ }] } });
691
+ class McInputPassword extends McInputMixinBase {
692
+ // tslint:disable-next-line: naming-convention
693
+ constructor(elementRef, rawValidators, mcValidation, ngControl, ngModel, formControlName, parentForm, parentFormGroup, defaultErrorStateMatcher, inputValueAccessor, changeDetectorRef) {
694
+ super(defaultErrorStateMatcher, parentForm, parentFormGroup, ngControl);
695
+ this.elementRef = elementRef;
696
+ this.rawValidators = rawValidators;
697
+ this.mcValidation = mcValidation;
698
+ this.ngModel = ngModel;
699
+ this.formControlName = formControlName;
700
+ this.changeDetectorRef = changeDetectorRef;
701
+ /**
702
+ * Implemented as part of McFormFieldControl.
703
+ * @docs-private
704
+ */
705
+ this.focused = false;
706
+ /**
707
+ * Implemented as part of McFormFieldControl.
708
+ * @docs-private
709
+ */
710
+ this.stateChanges = new Subject();
711
+ /**
712
+ * Implemented as part of McFormFieldControl.
713
+ * @docs-private
714
+ */
715
+ this.controlType = 'input-password';
716
+ this.elementType = 'password';
717
+ this.uid = `mc-input-${nextUniqueId++}`;
718
+ this._disabled = false;
719
+ this._required = false;
720
+ // If no input value accessor was explicitly specified, use the element as the input value
721
+ // accessor.
722
+ this._inputValueAccessor = inputValueAccessor || this.elementRef.nativeElement;
723
+ this.previousNativeValue = this.value;
724
+ // Force setter to be called in case id was not specified.
725
+ this.id = this.id;
726
+ }
727
+ /**
728
+ * Implemented as part of McFormFieldControl.
729
+ * @docs-private
730
+ */
731
+ get disabled() {
732
+ if (this.ngControl?.disabled !== null) {
733
+ return this.ngControl.disabled;
734
+ }
735
+ return this._disabled;
736
+ }
737
+ set disabled(value) {
738
+ this._disabled = coerceBooleanProperty(value);
739
+ // Browsers may not fire the blur event if the input is disabled too quickly.
740
+ // Reset from here to ensure that the element doesn't become stuck.
741
+ if (this.focused) {
742
+ this.focused = false;
743
+ this.stateChanges.next();
744
+ }
745
+ }
746
+ /**
747
+ * Implemented as part of McFormFieldControl.
748
+ * @docs-private
749
+ */
750
+ get id() {
751
+ return this._id;
752
+ }
753
+ set id(value) {
754
+ this._id = value || this.uid;
755
+ }
756
+ /**
757
+ * Implemented as part of McFormFieldControl.
758
+ * @docs-private
759
+ */
760
+ get required() {
761
+ return this._required;
762
+ }
763
+ set required(value) {
764
+ this._required = coerceBooleanProperty(value);
765
+ }
766
+ // this.elementRef.nativeElement.type = this._type;
767
+ /**
768
+ * Implemented as part of McFormFieldControl.
769
+ * @docs-private
770
+ */
771
+ get value() {
772
+ return this._inputValueAccessor.value;
773
+ }
774
+ set value(value) {
775
+ if (value === this.value) {
776
+ return;
777
+ }
778
+ this._inputValueAccessor.value = value;
779
+ this.stateChanges.next();
780
+ }
781
+ ngAfterContentInit() {
782
+ if (!this.ngControl) {
783
+ return;
784
+ }
785
+ if (this.mcValidation.useValidation) {
786
+ setMosaicValidation(this, this.changeDetectorRef);
787
+ }
788
+ }
789
+ ngOnChanges() {
790
+ this.stateChanges.next();
791
+ }
792
+ ngOnDestroy() {
793
+ this.stateChanges.complete();
794
+ }
795
+ ngDoCheck() {
796
+ if (this.ngControl) {
797
+ // We need to re-evaluate this on every change detection cycle, because there are some
798
+ // error triggers that we can't subscribe to (e.g. parent form submissions). This means
799
+ // that whatever logic is in here has to be super lean or we risk destroying the performance.
800
+ this.updateErrorState();
801
+ }
802
+ // We need to dirty-check the native element's value, because there are some cases where
803
+ // we won't be notified when it changes (e.g. the consumer isn't using forms or they're
804
+ // updating the value using `emitEvent: false`).
805
+ this.dirtyCheckNativeValue();
806
+ }
807
+ toggleType() {
808
+ this.elementType = this.elementType === 'password' ? 'text' : 'password';
809
+ }
810
+ /** Focuses the input. */
811
+ focus() {
812
+ this.elementRef.nativeElement.focus();
813
+ }
814
+ onBlur() {
815
+ if (this.ngControl?.control) {
816
+ const control = this.ngControl.control;
817
+ control.updateValueAndValidity({ emitEvent: false });
818
+ control.statusChanges.emit(control.status);
819
+ }
820
+ this.focusChanged(false);
821
+ }
822
+ /** Callback for the cases where the focused state of the input changes. */
823
+ focusChanged(isFocused) {
824
+ if (isFocused === this.focused) {
825
+ return;
826
+ }
827
+ this.focused = isFocused;
828
+ this.stateChanges.next({ focused: this.focused });
829
+ }
830
+ onInput() {
831
+ // This is a noop function and is used to let Angular know whenever the value changes.
832
+ // Angular will run a new change detection each time the `input` event has been dispatched.
833
+ // It's necessary that Angular recognizes the value change, because when floatingLabel
834
+ // is set to false and Angular forms aren't used, the placeholder won't recognize the
835
+ // value changes and will not disappear.
836
+ // Listening to the input event wouldn't be necessary when the input is using the
837
+ // FormsModule or ReactiveFormsModule, because Angular forms also listens to input events.
838
+ }
839
+ /**
840
+ * Implemented as part of McFormFieldControl.
841
+ * @docs-private
842
+ */
843
+ get empty() {
844
+ return !this.elementRef.nativeElement.value && !this.isBadInput();
845
+ }
846
+ /**
847
+ * Implemented as part of McFormFieldControl.
848
+ * @docs-private
849
+ */
850
+ onContainerClick() {
851
+ this.focus();
852
+ }
853
+ /** Does some manual dirty checking on the native input `value` property. */
854
+ dirtyCheckNativeValue() {
855
+ if (this.previousNativeValue !== this.value) {
856
+ this.previousNativeValue = this.value;
857
+ this.stateChanges.next();
858
+ }
859
+ }
860
+ /** Checks whether the input is invalid based on the native validation. */
861
+ isBadInput() {
862
+ // The `validity` property won't be present on platform-server.
863
+ return this.elementRef.nativeElement.validity?.badInput;
864
+ }
865
+ }
866
+ /** @nocollapse */ /** @nocollapse */ McInputPassword.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McInputPassword, deps: [{ token: i0.ElementRef }, { token: NG_VALIDATORS, optional: true, self: true }, { token: MC_VALIDATION, optional: true }, { token: i1.NgControl, optional: true, self: true }, { token: i1.NgModel, optional: true, self: true }, { token: i1.FormControlName, 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 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
867
+ /** @nocollapse */ /** @nocollapse */ McInputPassword.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.4", 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: [{
868
+ provide: McFormFieldControl, useExisting: McInputPassword
869
+ }], exportAs: ["mcInputPassword"], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
870
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McInputPassword, decorators: [{
871
+ type: Directive,
872
+ args: [{
873
+ selector: `input[mcInputPassword]`,
874
+ exportAs: 'mcInputPassword',
875
+ host: {
876
+ class: 'mc-input mc-input-password',
877
+ // Native input properties that are overwritten by Angular inputs need to be synced with
878
+ // the native input element. Otherwise property bindings for those don't work.
879
+ '[attr.id]': 'id',
880
+ '[attr.type]': 'elementType',
881
+ '[attr.placeholder]': 'placeholder',
882
+ '[attr.disabled]': 'disabled || null',
883
+ '[required]': 'required',
884
+ '(blur)': 'onBlur()',
885
+ '(focus)': 'focusChanged(true)',
886
+ '(input)': 'onInput()'
887
+ },
888
+ providers: [{
889
+ provide: McFormFieldControl, useExisting: McInputPassword
890
+ }]
891
+ }]
892
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: undefined, decorators: [{
893
+ type: Optional
894
+ }, {
895
+ type: Self
896
+ }, {
897
+ type: Inject,
898
+ args: [NG_VALIDATORS]
899
+ }] }, { type: undefined, decorators: [{
900
+ type: Optional
901
+ }, {
902
+ type: Inject,
903
+ args: [MC_VALIDATION]
904
+ }] }, { type: i1.NgControl, decorators: [{
905
+ type: Optional
906
+ }, {
907
+ type: Self
908
+ }] }, { type: i1.NgModel, decorators: [{
909
+ type: Optional
910
+ }, {
911
+ type: Self
912
+ }] }, { type: i1.FormControlName, decorators: [{
913
+ type: Optional
914
+ }, {
915
+ type: Self
916
+ }] }, { type: i1.NgForm, decorators: [{
917
+ type: Optional
918
+ }] }, { type: i1.FormGroupDirective, decorators: [{
919
+ type: Optional
920
+ }] }, { type: i3.ErrorStateMatcher }, { type: undefined, decorators: [{
921
+ type: Optional
922
+ }, {
923
+ type: Self
924
+ }, {
925
+ type: Inject,
926
+ args: [MC_INPUT_VALUE_ACCESSOR]
927
+ }] }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { errorStateMatcher: [{
928
+ type: Input
929
+ }], placeholder: [{
930
+ type: Input
931
+ }], disabled: [{
932
+ type: Input
933
+ }], id: [{
934
+ type: Input
935
+ }], required: [{
936
+ type: Input
937
+ }], value: [{
938
+ type: Input
939
+ }] } });
940
+
586
941
  class McInputModule {
587
942
  }
588
- /** @nocollapse */ /** @nocollapse */ McInputModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: McInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
589
- /** @nocollapse */ /** @nocollapse */ McInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: McInputModule, declarations: [McInput, McNumberInput, McInputMono, MinValidator, MaxValidator], imports: [CommonModule, A11yModule, McCommonModule, FormsModule], exports: [McInput, McNumberInput, McInputMono, MinValidator, MaxValidator] });
590
- /** @nocollapse */ /** @nocollapse */ McInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: McInputModule, imports: [[CommonModule, A11yModule, McCommonModule, FormsModule]] });
591
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: McInputModule, decorators: [{
943
+ /** @nocollapse */ /** @nocollapse */ McInputModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
944
+ /** @nocollapse */ /** @nocollapse */ McInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McInputModule, declarations: [McInput,
945
+ McNumberInput,
946
+ McInputPassword,
947
+ McPasswordToggle,
948
+ McInputMono,
949
+ MinValidator,
950
+ MaxValidator], imports: [CommonModule,
951
+ A11yModule,
952
+ McCommonModule,
953
+ FormsModule], exports: [McInput,
954
+ McNumberInput,
955
+ McInputPassword,
956
+ McPasswordToggle,
957
+ McInputMono,
958
+ MinValidator,
959
+ MaxValidator] });
960
+ /** @nocollapse */ /** @nocollapse */ McInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McInputModule, imports: [[
961
+ CommonModule,
962
+ A11yModule,
963
+ McCommonModule,
964
+ FormsModule
965
+ ]] });
966
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: McInputModule, decorators: [{
592
967
  type: NgModule,
593
968
  args: [{
594
- imports: [CommonModule, A11yModule, McCommonModule, FormsModule],
595
- exports: [McInput, McNumberInput, McInputMono, MinValidator, MaxValidator],
596
- declarations: [McInput, McNumberInput, McInputMono, MinValidator, MaxValidator]
969
+ imports: [
970
+ CommonModule,
971
+ A11yModule,
972
+ McCommonModule,
973
+ FormsModule
974
+ ],
975
+ declarations: [
976
+ McInput,
977
+ McNumberInput,
978
+ McInputPassword,
979
+ McPasswordToggle,
980
+ McInputMono,
981
+ MinValidator,
982
+ MaxValidator
983
+ ],
984
+ exports: [
985
+ McInput,
986
+ McNumberInput,
987
+ McInputPassword,
988
+ McPasswordToggle,
989
+ McInputMono,
990
+ MinValidator,
991
+ MaxValidator
992
+ ]
597
993
  }]
598
994
  }] });
599
995
 
@@ -601,5 +997,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
601
997
  * Generated bundle index. Do not edit.
602
998
  */
603
999
 
604
- export { BIG_STEP, MAX_VALIDATOR, MC_INPUT_VALUE_ACCESSOR, MIN_VALIDATOR, MaxValidator, McInput, McInputBase, McInputMixinBase, McInputModule, McInputMono, McNumberInput, MinValidator, SMALL_STEP, add, getPrecision, isDigit, isFloat, isInt, normalizeSplitter };
1000
+ export { BIG_STEP, MAX_VALIDATOR, MC_INPUT_VALUE_ACCESSOR, MIN_VALIDATOR, MaxValidator, McInput, McInputBase, McInputMixinBase, McInputModule, McInputMono, McInputPassword, McNumberInput, McPasswordToggle, MinValidator, SMALL_STEP, add, getPrecision, isDigit, isFloat, isInt, normalizeSplitter };
605
1001
  //# sourceMappingURL=ptsecurity-mosaic-input.mjs.map