@ptsecurity/mosaic 11.6.0 → 12.2.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 (630) hide show
  1. package/_theming.scss +407 -99
  2. package/_visual.scss +63 -26
  3. package/autocomplete/autocomplete-origin.directive.d.ts +3 -0
  4. package/autocomplete/autocomplete-trigger.directive.d.ts +3 -0
  5. package/autocomplete/autocomplete.component.d.ts +3 -0
  6. package/autocomplete/autocomplete.module.d.ts +10 -0
  7. package/autocomplete/package.json +0 -1
  8. package/autocomplete/ptsecurity-mosaic-autocomplete.d.ts +1 -0
  9. package/bundles/ptsecurity-mosaic-autocomplete.umd.js +178 -114
  10. package/bundles/ptsecurity-mosaic-autocomplete.umd.js.map +1 -1
  11. package/bundles/ptsecurity-mosaic-button-toggle.umd.js +107 -71
  12. package/bundles/ptsecurity-mosaic-button-toggle.umd.js.map +1 -1
  13. package/bundles/ptsecurity-mosaic-button.umd.js +106 -77
  14. package/bundles/ptsecurity-mosaic-button.umd.js.map +1 -1
  15. package/bundles/ptsecurity-mosaic-card.umd.js +74 -43
  16. package/bundles/ptsecurity-mosaic-card.umd.js.map +1 -1
  17. package/bundles/ptsecurity-mosaic-checkbox.umd.js +114 -69
  18. package/bundles/ptsecurity-mosaic-checkbox.umd.js.map +1 -1
  19. package/bundles/ptsecurity-mosaic-core.umd.js +804 -256
  20. package/bundles/ptsecurity-mosaic-core.umd.js.map +1 -1
  21. package/bundles/ptsecurity-mosaic-datepicker.umd.js +599 -420
  22. package/bundles/ptsecurity-mosaic-datepicker.umd.js.map +1 -1
  23. package/bundles/ptsecurity-mosaic-design-tokens.umd.js +108 -26
  24. package/bundles/ptsecurity-mosaic-design-tokens.umd.js.map +1 -1
  25. package/bundles/ptsecurity-mosaic-divider.umd.js +55 -28
  26. package/bundles/ptsecurity-mosaic-divider.umd.js.map +1 -1
  27. package/bundles/ptsecurity-mosaic-dropdown.umd.js +263 -187
  28. package/bundles/ptsecurity-mosaic-dropdown.umd.js.map +1 -1
  29. package/bundles/ptsecurity-mosaic-form-field.umd.js +200 -125
  30. package/bundles/ptsecurity-mosaic-form-field.umd.js.map +1 -1
  31. package/bundles/ptsecurity-mosaic-icon.umd.js +79 -41
  32. package/bundles/ptsecurity-mosaic-icon.umd.js.map +1 -1
  33. package/bundles/ptsecurity-mosaic-input.umd.js +222 -124
  34. package/bundles/ptsecurity-mosaic-input.umd.js.map +1 -1
  35. package/bundles/ptsecurity-mosaic-link.umd.js +76 -45
  36. package/bundles/ptsecurity-mosaic-link.umd.js.map +1 -1
  37. package/bundles/ptsecurity-mosaic-list.umd.js +344 -200
  38. package/bundles/ptsecurity-mosaic-list.umd.js.map +1 -1
  39. package/bundles/ptsecurity-mosaic-modal.umd.js +324 -220
  40. package/bundles/ptsecurity-mosaic-modal.umd.js.map +1 -1
  41. package/bundles/ptsecurity-mosaic-navbar.umd.js +289 -208
  42. package/bundles/ptsecurity-mosaic-navbar.umd.js.map +1 -1
  43. package/bundles/ptsecurity-mosaic-popover.umd.js +346 -640
  44. package/bundles/ptsecurity-mosaic-popover.umd.js.map +1 -1
  45. package/bundles/ptsecurity-mosaic-progress-bar.umd.js +69 -40
  46. package/bundles/ptsecurity-mosaic-progress-bar.umd.js.map +1 -1
  47. package/bundles/ptsecurity-mosaic-progress-spinner.umd.js +69 -40
  48. package/bundles/ptsecurity-mosaic-progress-spinner.umd.js.map +1 -1
  49. package/bundles/ptsecurity-mosaic-radio.umd.js +126 -81
  50. package/bundles/ptsecurity-mosaic-radio.umd.js.map +1 -1
  51. package/bundles/ptsecurity-mosaic-select.umd.js +276 -154
  52. package/bundles/ptsecurity-mosaic-select.umd.js.map +1 -1
  53. package/bundles/ptsecurity-mosaic-sidebar.umd.js +105 -68
  54. package/bundles/ptsecurity-mosaic-sidebar.umd.js.map +1 -1
  55. package/bundles/ptsecurity-mosaic-sidepanel.umd.js +236 -158
  56. package/bundles/ptsecurity-mosaic-sidepanel.umd.js.map +1 -1
  57. package/bundles/ptsecurity-mosaic-splitter.umd.js +112 -83
  58. package/bundles/ptsecurity-mosaic-splitter.umd.js.map +1 -1
  59. package/bundles/ptsecurity-mosaic-table.umd.js +77 -44
  60. package/bundles/ptsecurity-mosaic-table.umd.js.map +1 -1
  61. package/bundles/ptsecurity-mosaic-tabs.umd.js +894 -687
  62. package/bundles/ptsecurity-mosaic-tabs.umd.js.map +1 -1
  63. package/bundles/ptsecurity-mosaic-tags.umd.js +313 -209
  64. package/bundles/ptsecurity-mosaic-tags.umd.js.map +1 -1
  65. package/bundles/ptsecurity-mosaic-textarea.umd.js +107 -53
  66. package/bundles/ptsecurity-mosaic-textarea.umd.js.map +1 -1
  67. package/bundles/ptsecurity-mosaic-timepicker.umd.js +116 -71
  68. package/bundles/ptsecurity-mosaic-timepicker.umd.js.map +1 -1
  69. package/bundles/ptsecurity-mosaic-toggle.umd.js +97 -58
  70. package/bundles/ptsecurity-mosaic-toggle.umd.js.map +1 -1
  71. package/bundles/ptsecurity-mosaic-tooltip.umd.js +347 -615
  72. package/bundles/ptsecurity-mosaic-tooltip.umd.js.map +1 -1
  73. package/bundles/ptsecurity-mosaic-tree-select.umd.js +223 -118
  74. package/bundles/ptsecurity-mosaic-tree-select.umd.js.map +1 -1
  75. package/bundles/ptsecurity-mosaic-tree.umd.js +1162 -344
  76. package/bundles/ptsecurity-mosaic-tree.umd.js.map +1 -1
  77. package/bundles/ptsecurity-mosaic.umd.js +2 -2
  78. package/button/button.component.d.ts +7 -0
  79. package/button/button.module.d.ts +8 -0
  80. package/button/package.json +0 -1
  81. package/button/ptsecurity-mosaic-button.d.ts +1 -0
  82. package/button-toggle/button-toggle.component.d.ts +5 -0
  83. package/button-toggle/button-toggle.module.d.ts +7 -0
  84. package/button-toggle/package.json +0 -1
  85. package/button-toggle/ptsecurity-mosaic-button-toggle.d.ts +1 -0
  86. package/card/card.component.d.ts +3 -0
  87. package/card/card.module.d.ts +8 -0
  88. package/card/package.json +0 -1
  89. package/card/ptsecurity-mosaic-card.d.ts +1 -0
  90. package/checkbox/checkbox-module.d.ts +7 -0
  91. package/checkbox/checkbox-required-validator.d.ts +3 -0
  92. package/checkbox/checkbox.d.ts +3 -0
  93. package/checkbox/package.json +0 -1
  94. package/checkbox/ptsecurity-mosaic-checkbox.d.ts +1 -0
  95. package/core/common-behaviors/color.d.ts +3 -3
  96. package/core/common-behaviors/common-module.d.ts +5 -0
  97. package/core/common-behaviors/disabled.d.ts +4 -3
  98. package/core/common-behaviors/tabindex.d.ts +2 -1
  99. package/core/error/error-options.d.ts +5 -0
  100. package/core/formatters/date/formatter.d.ts +3 -0
  101. package/core/formatters/index.d.ts +5 -0
  102. package/core/formatters/number/formatter.d.ts +4 -0
  103. package/core/forms/forms-module.d.ts +5 -0
  104. package/core/forms/forms.directive.d.ts +5 -0
  105. package/core/highlight/highlight.pipe.d.ts +3 -0
  106. package/core/highlight/index.d.ts +6 -0
  107. package/core/line/line.d.ts +6 -0
  108. package/core/option/action.d.ts +42 -0
  109. package/core/option/index.d.ts +1 -0
  110. package/core/option/optgroup.d.ts +3 -0
  111. package/core/option/option-module.d.ts +9 -0
  112. package/core/option/option.d.ts +3 -0
  113. package/core/overlay/overlay-position-map.d.ts +0 -4
  114. package/core/package.json +0 -1
  115. package/core/pop-up/constants.d.ts +29 -0
  116. package/core/pop-up/index.d.ts +3 -0
  117. package/core/pop-up/pop-up-trigger.d.ts +70 -0
  118. package/core/pop-up/pop-up.d.ts +35 -0
  119. package/core/ptsecurity-mosaic-core.d.ts +1 -1
  120. package/core/public-api.d.ts +1 -0
  121. package/core/selection/pseudo-checkbox/pseudo-checkbox.d.ts +3 -0
  122. package/core/selection/pseudo-checkbox/pseudo-checkbox.module.d.ts +6 -0
  123. package/core/services/measure-scrollbar.service.d.ts +3 -0
  124. package/datepicker/calendar-body.component.d.ts +5 -6
  125. package/datepicker/calendar.component.d.ts +5 -0
  126. package/datepicker/datepicker-input.directive.d.ts +6 -2
  127. package/datepicker/datepicker-intl.d.ts +3 -0
  128. package/datepicker/datepicker-module.d.ts +18 -0
  129. package/datepicker/datepicker-toggle.component.d.ts +5 -0
  130. package/datepicker/datepicker.component.d.ts +5 -0
  131. package/datepicker/month-view.component.d.ts +3 -0
  132. package/datepicker/multi-year-view.component.d.ts +3 -0
  133. package/datepicker/package.json +0 -1
  134. package/datepicker/ptsecurity-mosaic-datepicker.d.ts +1 -0
  135. package/datepicker/year-view.component.d.ts +3 -0
  136. package/design-tokens/package.json +0 -1
  137. package/design-tokens/ptsecurity-mosaic-design-tokens.d.ts +1 -0
  138. package/design-tokens/tokens/components/list.json5 +0 -4
  139. package/design-tokens/tokens/components/popover.json5 +32 -4
  140. package/design-tokens/tokens/components/tooltip.json5 +49 -3
  141. package/design-tokens/tokens/components/tree.json5 +3 -3
  142. package/design-tokens/tokens/properties/globals.json5 +1 -1
  143. package/design-tokens/tokens.d.ts +56 -15
  144. package/divider/divider.component.d.ts +3 -0
  145. package/divider/divider.module.d.ts +6 -0
  146. package/divider/package.json +0 -1
  147. package/divider/ptsecurity-mosaic-divider.d.ts +1 -0
  148. package/dropdown/dropdown-content.directive.d.ts +3 -0
  149. package/dropdown/dropdown-item.component.d.ts +3 -0
  150. package/dropdown/dropdown-trigger.directive.d.ts +6 -8
  151. package/dropdown/dropdown.component.d.ts +5 -1
  152. package/dropdown/dropdown.module.d.ts +11 -0
  153. package/dropdown/package.json +0 -1
  154. package/dropdown/ptsecurity-mosaic-dropdown.d.ts +1 -0
  155. package/esm2015/autocomplete/autocomplete-origin.directive.js +11 -11
  156. package/esm2015/autocomplete/autocomplete-trigger.directive.js +53 -38
  157. package/esm2015/autocomplete/autocomplete.component.js +56 -37
  158. package/esm2015/autocomplete/autocomplete.module.js +25 -15
  159. package/esm2015/button/button.component.js +52 -56
  160. package/esm2015/button/button.module.js +35 -20
  161. package/esm2015/button-toggle/button-toggle.component.js +76 -55
  162. package/esm2015/button-toggle/button-toggle.module.js +13 -8
  163. package/esm2015/card/card.component.js +32 -30
  164. package/esm2015/card/card.module.js +23 -12
  165. package/esm2015/checkbox/checkbox-module.js +13 -8
  166. package/esm2015/checkbox/checkbox-required-validator.js +12 -8
  167. package/esm2015/checkbox/checkbox.js +61 -44
  168. package/esm2015/core/common-behaviors/color.js +2 -5
  169. package/esm2015/core/common-behaviors/common-module.js +17 -11
  170. package/esm2015/core/common-behaviors/disabled.js +1 -1
  171. package/esm2015/core/common-behaviors/tabindex.js +4 -13
  172. package/esm2015/core/error/error-options.js +12 -8
  173. package/esm2015/core/formatters/date/formatter.js +13 -10
  174. package/esm2015/core/formatters/index.js +13 -8
  175. package/esm2015/core/formatters/number/formatter.js +16 -10
  176. package/esm2015/core/forms/forms-module.js +20 -13
  177. package/esm2015/core/forms/forms.directive.js +32 -29
  178. package/esm2015/core/highlight/highlight.pipe.js +8 -4
  179. package/esm2015/core/highlight/index.js +13 -8
  180. package/esm2015/core/line/line.js +22 -14
  181. package/esm2015/core/option/action.js +131 -0
  182. package/esm2015/core/option/index.js +2 -1
  183. package/esm2015/core/option/optgroup.js +22 -19
  184. package/esm2015/core/option/option-module.js +14 -8
  185. package/esm2015/core/option/option.js +44 -35
  186. package/esm2015/core/overlay/overlay-position-map.js +16 -18
  187. package/esm2015/core/pop-up/constants.js +34 -0
  188. package/esm2015/core/pop-up/index.js +4 -0
  189. package/esm2015/core/pop-up/pop-up-trigger.js +241 -0
  190. package/esm2015/core/pop-up/pop-up.js +87 -0
  191. package/esm2015/core/ptsecurity-mosaic-core.js +1 -2
  192. package/esm2015/core/public-api.js +2 -1
  193. package/esm2015/core/selection/pseudo-checkbox/pseudo-checkbox.js +25 -21
  194. package/esm2015/core/selection/pseudo-checkbox/pseudo-checkbox.module.js +13 -8
  195. package/esm2015/core/services/measure-scrollbar.service.js +12 -12
  196. package/esm2015/datepicker/calendar-body.component.js +39 -32
  197. package/esm2015/datepicker/calendar.component.js +92 -58
  198. package/esm2015/datepicker/datepicker-input.directive.js +92 -61
  199. package/esm2015/datepicker/datepicker-intl.js +7 -5
  200. package/esm2015/datepicker/datepicker-module.js +89 -48
  201. package/esm2015/datepicker/datepicker-toggle.component.js +44 -32
  202. package/esm2015/datepicker/datepicker.component.js +88 -63
  203. package/esm2015/datepicker/month-view.component.js +48 -29
  204. package/esm2015/datepicker/multi-year-view.component.js +40 -27
  205. package/esm2015/datepicker/year-view.component.js +45 -28
  206. package/esm2015/design-tokens/tokens.js +57 -16
  207. package/esm2015/divider/divider.component.js +24 -20
  208. package/esm2015/divider/divider.module.js +13 -8
  209. package/esm2015/dropdown/dropdown-content.directive.js +13 -15
  210. package/esm2015/dropdown/dropdown-item.component.js +40 -30
  211. package/esm2015/dropdown/dropdown-trigger.directive.js +75 -67
  212. package/esm2015/dropdown/dropdown.component.js +63 -38
  213. package/esm2015/dropdown/dropdown.module.js +40 -23
  214. package/esm2015/form-field/cleaner.js +20 -11
  215. package/esm2015/form-field/form-field.js +77 -53
  216. package/esm2015/form-field/form-field.module.js +41 -24
  217. package/esm2015/form-field/hint.js +16 -13
  218. package/esm2015/form-field/prefix.js +10 -6
  219. package/esm2015/form-field/stepper.js +22 -11
  220. package/esm2015/form-field/suffix.js +10 -6
  221. package/esm2015/icon/icon.component.js +27 -22
  222. package/esm2015/icon/icon.module.js +31 -18
  223. package/esm2015/input/input-number-validators.js +48 -29
  224. package/esm2015/input/input-number.js +42 -28
  225. package/esm2015/input/input.js +94 -52
  226. package/esm2015/input/input.module.js +13 -8
  227. package/esm2015/link/link.component.js +38 -34
  228. package/esm2015/link/link.module.js +20 -11
  229. package/esm2015/list/list-selection.component.js +224 -122
  230. package/esm2015/list/list.component.js +35 -32
  231. package/esm2015/list/list.module.js +47 -25
  232. package/esm2015/modal/css-unit.pipe.js +10 -6
  233. package/esm2015/modal/modal-control.service.js +11 -8
  234. package/esm2015/modal/modal.component.js +107 -61
  235. package/esm2015/modal/modal.directive.js +43 -30
  236. package/esm2015/modal/modal.module.js +59 -31
  237. package/esm2015/modal/modal.service.js +9 -9
  238. package/esm2015/modal/ptsecurity-mosaic-modal.js +1 -3
  239. package/esm2015/navbar/navbar-item.component.js +111 -95
  240. package/esm2015/navbar/navbar.component.js +40 -30
  241. package/esm2015/navbar/navbar.module.js +66 -35
  242. package/esm2015/navbar/ptsecurity-mosaic-navbar.js +1 -2
  243. package/esm2015/navbar/vertical-navbar.component.js +68 -46
  244. package/esm2015/popover/popover-confirm.component.js +115 -0
  245. package/esm2015/popover/popover.component.js +180 -587
  246. package/esm2015/popover/popover.module.js +18 -12
  247. package/esm2015/popover/public-api.js +2 -1
  248. package/esm2015/progress-bar/progress-bar.component.js +26 -24
  249. package/esm2015/progress-bar/progress-bar.module.js +24 -15
  250. package/esm2015/progress-spinner/progress-spinner.component.js +26 -24
  251. package/esm2015/progress-spinner/progress-spinner.module.js +24 -15
  252. package/esm2015/radio/radio.component.js +87 -67
  253. package/esm2015/radio/radio.module.js +13 -8
  254. package/esm2015/select/select.component.js +181 -105
  255. package/esm2015/select/select.module.js +54 -28
  256. package/esm2015/sidebar/ptsecurity-mosaic-sidebar.js +1 -2
  257. package/esm2015/sidebar/sidebar.component.js +61 -50
  258. package/esm2015/sidebar/sidebar.module.js +25 -16
  259. package/esm2015/sidepanel/ptsecurity-mosaic-sidepanel.js +1 -2
  260. package/esm2015/sidepanel/sidepanel-container.component.js +46 -40
  261. package/esm2015/sidepanel/sidepanel-directives.js +87 -57
  262. package/esm2015/sidepanel/sidepanel.module.js +63 -30
  263. package/esm2015/sidepanel/sidepanel.service.js +20 -12
  264. package/esm2015/splitter/splitter.component.js +62 -64
  265. package/esm2015/splitter/splitter.module.js +32 -19
  266. package/esm2015/table/table.component.js +13 -9
  267. package/esm2015/table/table.module.js +23 -12
  268. package/esm2015/tabs/paginated-tab-header.js +20 -18
  269. package/esm2015/tabs/ptsecurity-mosaic-tabs.js +1 -6
  270. package/esm2015/tabs/tab-body.component.js +52 -42
  271. package/esm2015/tabs/tab-content.directive.js +8 -8
  272. package/esm2015/tabs/tab-group.component.js +145 -74
  273. package/esm2015/tabs/tab-header.component.js +50 -36
  274. package/esm2015/tabs/tab-label-wrapper.directive.js +30 -16
  275. package/esm2015/tabs/tab-label.directive.js +11 -7
  276. package/esm2015/tabs/tab-nav-bar/tab-nav-bar.js +46 -46
  277. package/esm2015/tabs/tab.component.js +67 -33
  278. package/esm2015/tabs/tabs.module.js +87 -45
  279. package/esm2015/tags/tag-input.js +48 -34
  280. package/esm2015/tags/tag-list.component.js +93 -56
  281. package/esm2015/tags/tag.component.js +90 -73
  282. package/esm2015/tags/tag.module.js +46 -29
  283. package/esm2015/textarea/textarea.component.js +70 -41
  284. package/esm2015/textarea/textarea.module.js +13 -8
  285. package/esm2015/timepicker/timepicker.directive.js +64 -52
  286. package/esm2015/timepicker/timepicker.module.js +26 -13
  287. package/esm2015/toggle/toggle.component.js +65 -47
  288. package/esm2015/toggle/toggle.module.js +13 -8
  289. package/esm2015/tooltip/tooltip.animations.js +19 -0
  290. package/esm2015/tooltip/tooltip.component.js +239 -555
  291. package/esm2015/tooltip/tooltip.module.js +38 -11
  292. package/esm2015/tree/control/base-tree-control.js +60 -0
  293. package/esm2015/tree/control/flat-tree-control.js +123 -0
  294. package/esm2015/tree/control/nested-tree-control.js +41 -0
  295. package/esm2015/tree/control/tree-control.js +2 -0
  296. package/esm2015/tree/data-source/flat-data-source.js +1 -1
  297. package/esm2015/tree/node.js +31 -0
  298. package/esm2015/tree/outlet.js +15 -0
  299. package/esm2015/tree/padding.directive.js +98 -25
  300. package/esm2015/tree/public-api.js +9 -2
  301. package/esm2015/tree/toggle.js +65 -70
  302. package/esm2015/tree/tree-base.js +243 -0
  303. package/esm2015/tree/tree-errors.js +36 -0
  304. package/esm2015/tree/tree-option.component.js +102 -56
  305. package/esm2015/tree/tree-selection.component.js +180 -115
  306. package/esm2015/tree/tree.js +23 -0
  307. package/esm2015/tree/tree.module.js +38 -12
  308. package/esm2015/tree-select/tree-select.component.js +153 -85
  309. package/esm2015/tree-select/tree-select.module.js +33 -18
  310. package/fesm2015/ptsecurity-mosaic-autocomplete.js +140 -102
  311. package/fesm2015/ptsecurity-mosaic-autocomplete.js.map +1 -1
  312. package/fesm2015/ptsecurity-mosaic-button-toggle.js +87 -63
  313. package/fesm2015/ptsecurity-mosaic-button-toggle.js.map +1 -1
  314. package/fesm2015/ptsecurity-mosaic-button.js +86 -76
  315. package/fesm2015/ptsecurity-mosaic-button.js.map +1 -1
  316. package/fesm2015/ptsecurity-mosaic-card.js +54 -42
  317. package/fesm2015/ptsecurity-mosaic-card.js.map +1 -1
  318. package/fesm2015/ptsecurity-mosaic-checkbox.js +82 -59
  319. package/fesm2015/ptsecurity-mosaic-checkbox.js.map +1 -1
  320. package/fesm2015/ptsecurity-mosaic-core.js +758 -239
  321. package/fesm2015/ptsecurity-mosaic-core.js.map +1 -1
  322. package/fesm2015/ptsecurity-mosaic-datepicker.js +544 -376
  323. package/fesm2015/ptsecurity-mosaic-datepicker.js.map +1 -1
  324. package/fesm2015/ptsecurity-mosaic-design-tokens.js +57 -16
  325. package/fesm2015/ptsecurity-mosaic-design-tokens.js.map +1 -1
  326. package/fesm2015/ptsecurity-mosaic-divider.js +34 -26
  327. package/fesm2015/ptsecurity-mosaic-divider.js.map +1 -1
  328. package/fesm2015/ptsecurity-mosaic-dropdown.js +219 -171
  329. package/fesm2015/ptsecurity-mosaic-dropdown.js.map +1 -1
  330. package/fesm2015/ptsecurity-mosaic-form-field.js +184 -119
  331. package/fesm2015/ptsecurity-mosaic-form-field.js.map +1 -1
  332. package/fesm2015/ptsecurity-mosaic-icon.js +56 -39
  333. package/fesm2015/ptsecurity-mosaic-icon.js.map +1 -1
  334. package/fesm2015/ptsecurity-mosaic-input.js +191 -116
  335. package/fesm2015/ptsecurity-mosaic-input.js.map +1 -1
  336. package/fesm2015/ptsecurity-mosaic-link.js +57 -45
  337. package/fesm2015/ptsecurity-mosaic-link.js.map +1 -1
  338. package/fesm2015/ptsecurity-mosaic-list.js +301 -177
  339. package/fesm2015/ptsecurity-mosaic-list.js.map +1 -1
  340. package/fesm2015/ptsecurity-mosaic-modal.js +243 -159
  341. package/fesm2015/ptsecurity-mosaic-modal.js.map +1 -1
  342. package/fesm2015/ptsecurity-mosaic-navbar.js +280 -205
  343. package/fesm2015/ptsecurity-mosaic-navbar.js.map +1 -1
  344. package/fesm2015/ptsecurity-mosaic-popover.js +297 -597
  345. package/fesm2015/ptsecurity-mosaic-popover.js.map +1 -1
  346. package/fesm2015/ptsecurity-mosaic-progress-bar.js +48 -38
  347. package/fesm2015/ptsecurity-mosaic-progress-bar.js.map +1 -1
  348. package/fesm2015/ptsecurity-mosaic-progress-spinner.js +48 -38
  349. package/fesm2015/ptsecurity-mosaic-progress-spinner.js.map +1 -1
  350. package/fesm2015/ptsecurity-mosaic-radio.js +99 -76
  351. package/fesm2015/ptsecurity-mosaic-radio.js.map +1 -1
  352. package/fesm2015/ptsecurity-mosaic-select.js +236 -136
  353. package/fesm2015/ptsecurity-mosaic-select.js.map +1 -1
  354. package/fesm2015/ptsecurity-mosaic-sidebar.js +85 -66
  355. package/fesm2015/ptsecurity-mosaic-sidebar.js.map +1 -1
  356. package/fesm2015/ptsecurity-mosaic-sidepanel.js +207 -139
  357. package/fesm2015/ptsecurity-mosaic-sidepanel.js.map +1 -1
  358. package/fesm2015/ptsecurity-mosaic-splitter.js +92 -82
  359. package/fesm2015/ptsecurity-mosaic-splitter.js.map +1 -1
  360. package/fesm2015/ptsecurity-mosaic-table.js +33 -19
  361. package/fesm2015/ptsecurity-mosaic-table.js.map +1 -1
  362. package/fesm2015/ptsecurity-mosaic-tabs.js +557 -387
  363. package/fesm2015/ptsecurity-mosaic-tabs.js.map +1 -1
  364. package/fesm2015/ptsecurity-mosaic-tags.js +273 -192
  365. package/fesm2015/ptsecurity-mosaic-tags.js.map +1 -1
  366. package/fesm2015/ptsecurity-mosaic-textarea.js +83 -50
  367. package/fesm2015/ptsecurity-mosaic-textarea.js.map +1 -1
  368. package/fesm2015/ptsecurity-mosaic-timepicker.js +87 -64
  369. package/fesm2015/ptsecurity-mosaic-timepicker.js.map +1 -1
  370. package/fesm2015/ptsecurity-mosaic-toggle.js +77 -55
  371. package/fesm2015/ptsecurity-mosaic-toggle.js.map +1 -1
  372. package/fesm2015/ptsecurity-mosaic-tooltip.js +293 -566
  373. package/fesm2015/ptsecurity-mosaic-tooltip.js.map +1 -1
  374. package/fesm2015/ptsecurity-mosaic-tree-select.js +188 -106
  375. package/fesm2015/ptsecurity-mosaic-tree-select.js.map +1 -1
  376. package/fesm2015/ptsecurity-mosaic-tree.js +1001 -279
  377. package/fesm2015/ptsecurity-mosaic-tree.js.map +1 -1
  378. package/form-field/cleaner.d.ts +5 -0
  379. package/form-field/form-field.d.ts +5 -0
  380. package/form-field/form-field.module.d.ts +12 -0
  381. package/form-field/hint.d.ts +3 -0
  382. package/form-field/package.json +0 -1
  383. package/form-field/prefix.d.ts +3 -0
  384. package/form-field/ptsecurity-mosaic-form-field.d.ts +1 -0
  385. package/form-field/stepper.d.ts +3 -0
  386. package/form-field/suffix.d.ts +3 -0
  387. package/icon/icon.component.d.ts +5 -0
  388. package/icon/icon.module.d.ts +8 -0
  389. package/icon/package.json +0 -1
  390. package/icon/ptsecurity-mosaic-icon.d.ts +1 -0
  391. package/input/input-number-validators.d.ts +7 -2
  392. package/input/input-number.d.ts +3 -0
  393. package/input/input.d.ts +5 -0
  394. package/input/input.module.d.ts +11 -0
  395. package/input/package.json +0 -1
  396. package/input/ptsecurity-mosaic-input.d.ts +1 -0
  397. package/link/link.component.d.ts +3 -0
  398. package/link/link.module.d.ts +7 -0
  399. package/link/package.json +0 -1
  400. package/link/ptsecurity-mosaic-link.d.ts +1 -0
  401. package/list/list-selection.component.d.ts +30 -3
  402. package/list/list.component.d.ts +5 -0
  403. package/list/list.module.d.ts +9 -0
  404. package/list/package.json +0 -1
  405. package/list/ptsecurity-mosaic-list.d.ts +1 -0
  406. package/modal/css-unit.pipe.d.ts +3 -0
  407. package/modal/modal-control.service.d.ts +3 -0
  408. package/modal/modal.component.d.ts +5 -0
  409. package/modal/modal.directive.d.ts +9 -0
  410. package/modal/modal.module.d.ts +12 -0
  411. package/modal/modal.service.d.ts +3 -0
  412. package/modal/package.json +0 -1
  413. package/modal/ptsecurity-mosaic-modal.d.ts +1 -2
  414. package/navbar/navbar-item.component.d.ts +13 -0
  415. package/navbar/navbar.component.d.ts +5 -0
  416. package/navbar/navbar.module.d.ts +11 -0
  417. package/navbar/package.json +0 -1
  418. package/navbar/ptsecurity-mosaic-navbar.d.ts +1 -1
  419. package/navbar/vertical-navbar.component.d.ts +5 -0
  420. package/package.json +8 -9
  421. package/popover/package.json +0 -1
  422. package/popover/popover-confirm.component.d.ts +33 -0
  423. package/popover/popover.component.d.ts +50 -136
  424. package/popover/popover.module.d.ts +9 -0
  425. package/popover/ptsecurity-mosaic-popover.d.ts +1 -0
  426. package/popover/public-api.d.ts +1 -0
  427. package/prebuilt-themes/dark-theme.css +1 -1
  428. package/prebuilt-themes/default-theme.css +1 -1
  429. package/prebuilt-visual/default-visual.css +1 -0
  430. package/progress-bar/package.json +0 -1
  431. package/progress-bar/progress-bar.component.d.ts +3 -0
  432. package/progress-bar/progress-bar.module.d.ts +7 -0
  433. package/progress-bar/ptsecurity-mosaic-progress-bar.d.ts +1 -0
  434. package/progress-spinner/package.json +0 -1
  435. package/progress-spinner/progress-spinner.component.d.ts +3 -0
  436. package/progress-spinner/progress-spinner.module.d.ts +7 -0
  437. package/progress-spinner/ptsecurity-mosaic-progress-spinner.d.ts +1 -0
  438. package/ptsecurity-mosaic.d.ts +1 -0
  439. package/radio/package.json +0 -1
  440. package/radio/ptsecurity-mosaic-radio.d.ts +1 -0
  441. package/radio/radio.component.d.ts +5 -0
  442. package/radio/radio.module.d.ts +8 -0
  443. package/schematics/ng-update/update-9.0.0/secondary-entry-points-migration.js +6 -3
  444. package/schematics/ng-update/update-9.0.0/secondary-entry-points-migration.js.map +1 -1
  445. package/select/package.json +0 -1
  446. package/select/ptsecurity-mosaic-select.d.ts +1 -0
  447. package/select/select.component.d.ts +11 -7
  448. package/select/select.module.d.ts +11 -0
  449. package/sidebar/package.json +0 -1
  450. package/sidebar/ptsecurity-mosaic-sidebar.d.ts +1 -1
  451. package/sidebar/sidebar.component.d.ts +7 -0
  452. package/sidebar/sidebar.module.d.ts +6 -0
  453. package/sidepanel/package.json +0 -1
  454. package/sidepanel/ptsecurity-mosaic-sidepanel.d.ts +1 -1
  455. package/sidepanel/sidepanel-container.component.d.ts +3 -0
  456. package/sidepanel/sidepanel-directives.d.ts +13 -0
  457. package/sidepanel/sidepanel.module.d.ts +13 -0
  458. package/sidepanel/sidepanel.service.d.ts +3 -0
  459. package/splitter/package.json +0 -1
  460. package/splitter/ptsecurity-mosaic-splitter.d.ts +1 -0
  461. package/splitter/splitter.component.d.ts +7 -0
  462. package/splitter/splitter.module.d.ts +7 -0
  463. package/table/package.json +0 -1
  464. package/table/ptsecurity-mosaic-table.d.ts +1 -0
  465. package/table/table.component.d.ts +3 -0
  466. package/table/table.module.d.ts +8 -0
  467. package/tabs/package.json +0 -1
  468. package/tabs/paginated-tab-header.d.ts +3 -0
  469. package/tabs/ptsecurity-mosaic-tabs.d.ts +1 -5
  470. package/tabs/tab-body.component.d.ts +5 -0
  471. package/tabs/tab-content.directive.d.ts +3 -0
  472. package/tabs/tab-group.component.d.ts +24 -4
  473. package/tabs/tab-header.component.d.ts +3 -0
  474. package/tabs/tab-label-wrapper.directive.d.ts +9 -0
  475. package/tabs/tab-label.directive.d.ts +3 -0
  476. package/tabs/tab-nav-bar/tab-nav-bar.d.ts +5 -0
  477. package/tabs/tab.component.d.ts +12 -3
  478. package/tabs/tabs.module.d.ts +18 -0
  479. package/tags/package.json +0 -1
  480. package/tags/ptsecurity-mosaic-tags.d.ts +1 -0
  481. package/tags/tag-input.d.ts +3 -0
  482. package/tags/tag-list.component.d.ts +3 -0
  483. package/tags/tag.component.d.ts +9 -0
  484. package/tags/tag.module.d.ts +9 -0
  485. package/textarea/package.json +0 -1
  486. package/textarea/ptsecurity-mosaic-textarea.d.ts +1 -0
  487. package/textarea/textarea.component.d.ts +3 -0
  488. package/textarea/textarea.module.d.ts +9 -0
  489. package/timepicker/package.json +0 -1
  490. package/timepicker/ptsecurity-mosaic-timepicker.d.ts +1 -0
  491. package/timepicker/timepicker.directive.d.ts +5 -2
  492. package/timepicker/timepicker.module.d.ts +9 -0
  493. package/toggle/package.json +0 -1
  494. package/toggle/ptsecurity-mosaic-toggle.d.ts +1 -0
  495. package/toggle/toggle.component.d.ts +3 -0
  496. package/toggle/toggle.module.d.ts +8 -0
  497. package/tooltip/package.json +0 -1
  498. package/tooltip/ptsecurity-mosaic-tooltip.d.ts +1 -0
  499. package/tooltip/tooltip.animations.d.ts +8 -0
  500. package/tooltip/tooltip.component.d.ts +74 -134
  501. package/tooltip/tooltip.module.d.ts +7 -0
  502. package/tree/control/base-tree-control.d.ts +40 -0
  503. package/tree/control/flat-tree-control.d.ts +48 -0
  504. package/tree/control/nested-tree-control.d.ts +19 -0
  505. package/tree/control/tree-control.d.ts +44 -0
  506. package/tree/data-source/flat-data-source.d.ts +2 -1
  507. package/tree/node.d.ts +34 -0
  508. package/tree/outlet.d.ts +9 -0
  509. package/tree/package.json +0 -1
  510. package/tree/padding.directive.d.ts +36 -5
  511. package/tree/ptsecurity-mosaic-tree.d.ts +1 -0
  512. package/tree/public-api.d.ts +8 -1
  513. package/tree/toggle.d.ts +20 -15
  514. package/tree/tree-base.d.ts +97 -0
  515. package/tree/tree-errors.d.ts +25 -0
  516. package/tree/tree-option.component.d.ts +15 -4
  517. package/tree/tree-selection.component.d.ts +46 -24
  518. package/tree/tree.d.ts +6 -0
  519. package/tree/tree.module.d.ts +14 -0
  520. package/tree-select/package.json +0 -1
  521. package/tree-select/ptsecurity-mosaic-tree-select.d.ts +1 -0
  522. package/tree-select/tree-select.component.d.ts +8 -8
  523. package/tree-select/tree-select.module.d.ts +11 -0
  524. package/autocomplete/ptsecurity-mosaic-autocomplete.metadata.json +0 -1
  525. package/bundles/ptsecurity-mosaic-autocomplete.umd.min.js +0 -2
  526. package/bundles/ptsecurity-mosaic-autocomplete.umd.min.js.map +0 -1
  527. package/bundles/ptsecurity-mosaic-button-toggle.umd.min.js +0 -16
  528. package/bundles/ptsecurity-mosaic-button-toggle.umd.min.js.map +0 -1
  529. package/bundles/ptsecurity-mosaic-button.umd.min.js +0 -16
  530. package/bundles/ptsecurity-mosaic-button.umd.min.js.map +0 -1
  531. package/bundles/ptsecurity-mosaic-card.umd.min.js +0 -16
  532. package/bundles/ptsecurity-mosaic-card.umd.min.js.map +0 -1
  533. package/bundles/ptsecurity-mosaic-checkbox.umd.min.js +0 -16
  534. package/bundles/ptsecurity-mosaic-checkbox.umd.min.js.map +0 -1
  535. package/bundles/ptsecurity-mosaic-core.umd.min.js +0 -17
  536. package/bundles/ptsecurity-mosaic-core.umd.min.js.map +0 -1
  537. package/bundles/ptsecurity-mosaic-datepicker.umd.min.js +0 -2
  538. package/bundles/ptsecurity-mosaic-datepicker.umd.min.js.map +0 -1
  539. package/bundles/ptsecurity-mosaic-design-tokens.umd.min.js +0 -2
  540. package/bundles/ptsecurity-mosaic-design-tokens.umd.min.js.map +0 -1
  541. package/bundles/ptsecurity-mosaic-divider.umd.min.js +0 -2
  542. package/bundles/ptsecurity-mosaic-divider.umd.min.js.map +0 -1
  543. package/bundles/ptsecurity-mosaic-dropdown.umd.min.js +0 -17
  544. package/bundles/ptsecurity-mosaic-dropdown.umd.min.js.map +0 -1
  545. package/bundles/ptsecurity-mosaic-form-field.umd.min.js +0 -17
  546. package/bundles/ptsecurity-mosaic-form-field.umd.min.js.map +0 -1
  547. package/bundles/ptsecurity-mosaic-icon.umd.min.js +0 -16
  548. package/bundles/ptsecurity-mosaic-icon.umd.min.js.map +0 -1
  549. package/bundles/ptsecurity-mosaic-input.umd.min.js +0 -16
  550. package/bundles/ptsecurity-mosaic-input.umd.min.js.map +0 -1
  551. package/bundles/ptsecurity-mosaic-link.umd.min.js +0 -16
  552. package/bundles/ptsecurity-mosaic-link.umd.min.js.map +0 -1
  553. package/bundles/ptsecurity-mosaic-list.umd.min.js +0 -16
  554. package/bundles/ptsecurity-mosaic-list.umd.min.js.map +0 -1
  555. package/bundles/ptsecurity-mosaic-modal.umd.min.js +0 -16
  556. package/bundles/ptsecurity-mosaic-modal.umd.min.js.map +0 -1
  557. package/bundles/ptsecurity-mosaic-navbar.umd.min.js +0 -16
  558. package/bundles/ptsecurity-mosaic-navbar.umd.min.js.map +0 -1
  559. package/bundles/ptsecurity-mosaic-popover.umd.min.js +0 -16
  560. package/bundles/ptsecurity-mosaic-popover.umd.min.js.map +0 -1
  561. package/bundles/ptsecurity-mosaic-progress-bar.umd.min.js +0 -16
  562. package/bundles/ptsecurity-mosaic-progress-bar.umd.min.js.map +0 -1
  563. package/bundles/ptsecurity-mosaic-progress-spinner.umd.min.js +0 -16
  564. package/bundles/ptsecurity-mosaic-progress-spinner.umd.min.js.map +0 -1
  565. package/bundles/ptsecurity-mosaic-radio.umd.min.js +0 -16
  566. package/bundles/ptsecurity-mosaic-radio.umd.min.js.map +0 -1
  567. package/bundles/ptsecurity-mosaic-select.umd.min.js +0 -16
  568. package/bundles/ptsecurity-mosaic-select.umd.min.js.map +0 -1
  569. package/bundles/ptsecurity-mosaic-sidebar.umd.min.js +0 -2
  570. package/bundles/ptsecurity-mosaic-sidebar.umd.min.js.map +0 -1
  571. package/bundles/ptsecurity-mosaic-sidepanel.umd.min.js +0 -2
  572. package/bundles/ptsecurity-mosaic-sidepanel.umd.min.js.map +0 -1
  573. package/bundles/ptsecurity-mosaic-splitter.umd.min.js +0 -2
  574. package/bundles/ptsecurity-mosaic-splitter.umd.min.js.map +0 -1
  575. package/bundles/ptsecurity-mosaic-table.umd.min.js +0 -2
  576. package/bundles/ptsecurity-mosaic-table.umd.min.js.map +0 -1
  577. package/bundles/ptsecurity-mosaic-tabs.umd.min.js +0 -16
  578. package/bundles/ptsecurity-mosaic-tabs.umd.min.js.map +0 -1
  579. package/bundles/ptsecurity-mosaic-tags.umd.min.js +0 -16
  580. package/bundles/ptsecurity-mosaic-tags.umd.min.js.map +0 -1
  581. package/bundles/ptsecurity-mosaic-textarea.umd.min.js +0 -16
  582. package/bundles/ptsecurity-mosaic-textarea.umd.min.js.map +0 -1
  583. package/bundles/ptsecurity-mosaic-timepicker.umd.min.js +0 -2
  584. package/bundles/ptsecurity-mosaic-timepicker.umd.min.js.map +0 -1
  585. package/bundles/ptsecurity-mosaic-toggle.umd.min.js +0 -16
  586. package/bundles/ptsecurity-mosaic-toggle.umd.min.js.map +0 -1
  587. package/bundles/ptsecurity-mosaic-tooltip.umd.min.js +0 -16
  588. package/bundles/ptsecurity-mosaic-tooltip.umd.min.js.map +0 -1
  589. package/bundles/ptsecurity-mosaic-tree-select.umd.min.js +0 -16
  590. package/bundles/ptsecurity-mosaic-tree-select.umd.min.js.map +0 -1
  591. package/bundles/ptsecurity-mosaic-tree.umd.min.js +0 -16
  592. package/bundles/ptsecurity-mosaic-tree.umd.min.js.map +0 -1
  593. package/bundles/ptsecurity-mosaic.umd.min.js +0 -2
  594. package/bundles/ptsecurity-mosaic.umd.min.js.map +0 -1
  595. package/button/ptsecurity-mosaic-button.metadata.json +0 -1
  596. package/button-toggle/ptsecurity-mosaic-button-toggle.metadata.json +0 -1
  597. package/card/ptsecurity-mosaic-card.metadata.json +0 -1
  598. package/checkbox/ptsecurity-mosaic-checkbox.metadata.json +0 -1
  599. package/core/ptsecurity-mosaic-core.metadata.json +0 -1
  600. package/datepicker/ptsecurity-mosaic-datepicker.metadata.json +0 -1
  601. package/design-tokens/ptsecurity-mosaic-design-tokens.metadata.json +0 -1
  602. package/divider/ptsecurity-mosaic-divider.metadata.json +0 -1
  603. package/dropdown/ptsecurity-mosaic-dropdown.metadata.json +0 -1
  604. package/esm2015/tree/node.directive.js +0 -15
  605. package/form-field/ptsecurity-mosaic-form-field.metadata.json +0 -1
  606. package/icon/ptsecurity-mosaic-icon.metadata.json +0 -1
  607. package/input/ptsecurity-mosaic-input.metadata.json +0 -1
  608. package/link/ptsecurity-mosaic-link.metadata.json +0 -1
  609. package/list/ptsecurity-mosaic-list.metadata.json +0 -1
  610. package/modal/ptsecurity-mosaic-modal.metadata.json +0 -1
  611. package/navbar/ptsecurity-mosaic-navbar.metadata.json +0 -1
  612. package/popover/ptsecurity-mosaic-popover.metadata.json +0 -1
  613. package/progress-bar/ptsecurity-mosaic-progress-bar.metadata.json +0 -1
  614. package/progress-spinner/ptsecurity-mosaic-progress-spinner.metadata.json +0 -1
  615. package/ptsecurity-mosaic.metadata.json +0 -1
  616. package/radio/ptsecurity-mosaic-radio.metadata.json +0 -1
  617. package/select/ptsecurity-mosaic-select.metadata.json +0 -1
  618. package/sidebar/ptsecurity-mosaic-sidebar.metadata.json +0 -1
  619. package/sidepanel/ptsecurity-mosaic-sidepanel.metadata.json +0 -1
  620. package/splitter/ptsecurity-mosaic-splitter.metadata.json +0 -1
  621. package/table/ptsecurity-mosaic-table.metadata.json +0 -1
  622. package/tabs/ptsecurity-mosaic-tabs.metadata.json +0 -1
  623. package/tags/ptsecurity-mosaic-tags.metadata.json +0 -1
  624. package/textarea/ptsecurity-mosaic-textarea.metadata.json +0 -1
  625. package/timepicker/ptsecurity-mosaic-timepicker.metadata.json +0 -1
  626. package/toggle/ptsecurity-mosaic-toggle.metadata.json +0 -1
  627. package/tooltip/ptsecurity-mosaic-tooltip.metadata.json +0 -1
  628. package/tree/node.directive.d.ts +0 -4
  629. package/tree/ptsecurity-mosaic-tree.metadata.json +0 -1
  630. package/tree-select/ptsecurity-mosaic-tree-select.metadata.json +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ptsecurity-mosaic-icon.js","sources":["../../../packages/mosaic/icon/icon.component.ts","../../../packages/mosaic/icon/icon.module.ts","../../../packages/mosaic/icon/ptsecurity-mosaic-icon.ts"],"sourcesContent":["import {\n Attribute,\n ChangeDetectionStrategy,\n Component,\n Directive,\n ElementRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { mixinColor, CanColor, CanColorCtor, ThemePalette } from '@ptsecurity/mosaic/core';\n\n\n@Directive({\n selector: '[mc-icon]',\n host: { class: 'mc mc-icon' }\n})\n// tslint:disable-next-line:naming-convention\nexport class McIconCSSStyler {}\n\n\nexport class McIconBase {\n // tslint:disable-next-line:naming-convention\n constructor(public _elementRef: ElementRef) {}\n}\n\n// tslint:disable-next-line: naming-convention\nexport const McIconMixinBase: CanColorCtor & typeof McIconBase = mixinColor(McIconBase, ThemePalette.Empty);\n\n\n@Component({\n selector: `[mc-icon]`,\n template: '<ng-content></ng-content>',\n styleUrls: ['icon.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n inputs: ['color']\n})\nexport class McIcon extends McIconMixinBase implements CanColor {\n constructor(elementRef: ElementRef, @Attribute('mc-icon') iconName: string) {\n super(elementRef);\n\n if (iconName) {\n elementRef.nativeElement.classList.add(iconName);\n }\n }\n\n getHostElement() {\n return this._elementRef.nativeElement;\n }\n}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { PlatformModule } from '@angular/cdk/platform';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport {\n McIcon,\n McIconCSSStyler\n} from './icon.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n A11yModule,\n PlatformModule\n ],\n exports: [\n McIcon,\n McIconCSSStyler\n ],\n declarations: [\n McIcon,\n McIconCSSStyler\n ]\n})\nexport class McIconModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAeA;MACa,eAAe;;;YAL3B,SAAS,SAAC;gBACP,QAAQ,EAAE,WAAW;gBACrB,IAAI,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE;aAChC;;MAKY,UAAU;;IAEnB,YAAmB,WAAuB;QAAvB,gBAAW,GAAX,WAAW,CAAY;KAAI;CACjD;AAED;MACa,eAAe,GAAqC,UAAU,CAAC,UAAU,EAAE,YAAY,CAAC,KAAK,EAAE;MAW/F,MAAO,SAAQ,eAAe;IACvC,YAAY,UAAsB,EAAwB,QAAgB;QACtE,KAAK,CAAC,UAAU,CAAC,CAAC;QAElB,IAAI,QAAQ,EAAE;YACV,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;SACpD;KACJ;IAED,cAAc;QACV,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;KACzC;;;YAnBJ,SAAS,SAAC;gBACP,QAAQ,EAAE,WAAW;gBACrB,QAAQ,EAAE,2BAA2B;gBAErC,eAAe,EAAE,uBAAuB,CAAC,MAAM;gBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;gBACrC,MAAM,EAAE,CAAC,OAAO,CAAC;;aACpB;;;;YA9BG,UAAU;yCAgC2B,SAAS,SAAC,SAAS;;;MCX/C,YAAY;;;YAfxB,QAAQ,SAAC;gBACN,OAAO,EAAE;oBACL,YAAY;oBACZ,UAAU;oBACV,cAAc;iBACjB;gBACD,OAAO,EAAE;oBACL,MAAM;oBACN,eAAe;iBAClB;gBACD,YAAY,EAAE;oBACV,MAAM;oBACN,eAAe;iBAClB;aACJ;;;ACzBD;;;;;;"}
1
+ {"version":3,"file":"ptsecurity-mosaic-icon.js","sources":["../../../packages/mosaic/icon/icon.component.ts","../../../packages/mosaic/icon/icon.module.ts","../../../packages/mosaic/icon/ptsecurity-mosaic-icon.ts"],"sourcesContent":["import {\n Attribute,\n ChangeDetectionStrategy,\n Component,\n Directive,\n ElementRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { mixinColor, CanColor, CanColorCtor, ThemePalette } from '@ptsecurity/mosaic/core';\n\n\n@Directive({\n selector: '[mc-icon]',\n host: { class: 'mc mc-icon' }\n})\n// tslint:disable-next-line:naming-convention\nexport class McIconCSSStyler {}\n\n\nexport class McIconBase {\n // tslint:disable-next-line:naming-convention\n constructor(public _elementRef: ElementRef) {}\n}\n\n// tslint:disable-next-line: naming-convention\nexport const McIconMixinBase: CanColorCtor & typeof McIconBase = mixinColor(McIconBase, ThemePalette.Empty);\n\n\n@Component({\n selector: `[mc-icon]`,\n template: '<ng-content></ng-content>',\n styleUrls: ['icon.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n inputs: ['color']\n})\nexport class McIcon extends McIconMixinBase implements CanColor {\n constructor(elementRef: ElementRef, @Attribute('mc-icon') iconName: string) {\n super(elementRef);\n\n if (iconName) {\n elementRef.nativeElement.classList.add(iconName);\n }\n }\n\n getHostElement() {\n return this._elementRef.nativeElement;\n }\n}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { PlatformModule } from '@angular/cdk/platform';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport {\n McIcon,\n McIconCSSStyler\n} from './icon.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n A11yModule,\n PlatformModule\n ],\n exports: [\n McIcon,\n McIconCSSStyler\n ],\n declarations: [\n McIcon,\n McIconCSSStyler\n ]\n})\nexport class McIconModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAeA;MACa,eAAe;;gIAAf,eAAe;oHAAf,eAAe;4FAAf,eAAe;kBAL3B,SAAS;mBAAC;oBACP,QAAQ,EAAE,WAAW;oBACrB,IAAI,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE;iBAChC;;MAKY,UAAU;;IAEnB,YAAmB,WAAuB;QAAvB,gBAAW,GAAX,WAAW,CAAY;KAAI;CACjD;AAED;MACa,eAAe,GAAqC,UAAU,CAAC,UAAU,EAAE,YAAY,CAAC,KAAK,EAAE;MAW/F,MAAO,SAAQ,eAAe;IACvC,YAAY,UAAsB,EAAwB,QAAgB;QACtE,KAAK,CAAC,UAAU,CAAC,CAAC;QAElB,IAAI,QAAQ,EAAE;YACV,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;SACpD;KACJ;IAED,cAAc;QACV,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;KACzC;;uHAXQ,MAAM,4CACgC,SAAS;2GAD/C,MAAM,oGANL,2BAA2B;4FAM5B,MAAM;kBARlB,SAAS;mBAAC;oBACP,QAAQ,EAAE,WAAW;oBACrB,QAAQ,EAAE,2BAA2B;oBACrC,SAAS,EAAE,CAAC,WAAW,CAAC;oBACxB,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,MAAM,EAAE,CAAC,OAAO,CAAC;iBACpB;;0BAEwC,SAAS;2BAAC,SAAS;;;MCX/C,YAAY;;6HAAZ,YAAY;8HAAZ,YAAY,iBAJjB,MAAM;QACN,eAAe,aAVf,YAAY;QACZ,UAAU;QACV,cAAc,aAGd,MAAM;QACN,eAAe;8HAOV,YAAY,YAdZ;YACL,YAAY;YACZ,UAAU;YACV,cAAc;SACjB;4FAUQ,YAAY;kBAfxB,QAAQ;mBAAC;oBACN,OAAO,EAAE;wBACL,YAAY;wBACZ,UAAU;wBACV,cAAc;qBACjB;oBACD,OAAO,EAAE;wBACL,MAAM;wBACN,eAAe;qBAClB;oBACD,YAAY,EAAE;wBACV,MAAM;wBACN,eAAe;qBAClB;iBACJ;;;ACzBD;;;;;;"}
@@ -1,8 +1,11 @@
1
1
  import { A11yModule } from '@angular/cdk/a11y';
2
2
  import { CommonModule } from '@angular/common';
3
- import { Directive, ElementRef, Optional, Self, Attribute, Input, InjectionToken, Inject, forwardRef, NgModule } from '@angular/core';
4
- import { NgControl, NG_VALIDATORS, NgModel, FormControlName, NgForm, FormGroupDirective, Validators, FormsModule } from '@angular/forms';
5
- import { mixinErrorState, setMosaicValidation, MC_VALIDATION, ErrorStateMatcher, McCommonModule } from '@ptsecurity/mosaic/core';
3
+ import * as i0 from '@angular/core';
4
+ import { Directive, Optional, Self, Attribute, Input, InjectionToken, Inject, forwardRef, NgModule } from '@angular/core';
5
+ import * as i1 from '@angular/forms';
6
+ import { NG_VALIDATORS, Validators, FormsModule } from '@angular/forms';
7
+ import * as i3 from '@ptsecurity/mosaic/core';
8
+ import { mixinErrorState, setMosaicValidation, MC_VALIDATION, McCommonModule } from '@ptsecurity/mosaic/core';
6
9
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
7
10
  import { getSupportedInputTypes } from '@angular/cdk/platform';
8
11
  import { McFormFieldControl } from '@ptsecurity/mosaic/form-field';
@@ -130,33 +133,45 @@ class McNumberInput {
130
133
  }
131
134
  }
132
135
  }
133
- McNumberInput.decorators = [
134
- { type: Directive, args: [{
135
- selector: `input[mcInput][type="number"]`,
136
- exportAs: 'mcNumericalInput',
137
- host: {
138
- '(blur)': 'focusChanged(false)',
139
- '(focus)': 'focusChanged(true)',
140
- '(paste)': 'onPaste($event)',
141
- '(keydown)': 'onKeyDown($event)'
142
- }
143
- },] }
144
- ];
145
- /** @nocollapse */
146
- McNumberInput.ctorParameters = () => [
147
- { type: ElementRef },
148
- { type: NgControl, decorators: [{ type: Optional }, { type: Self }] },
149
- { type: String, decorators: [{ type: Attribute, args: ['step',] }] },
150
- { type: String, decorators: [{ type: Attribute, args: ['big-step',] }] },
151
- { type: String, decorators: [{ type: Attribute, args: ['min',] }] },
152
- { type: String, decorators: [{ type: Attribute, args: ['max',] }] }
153
- ];
154
- McNumberInput.propDecorators = {
155
- bigStep: [{ type: Input }],
156
- step: [{ type: Input }],
157
- min: [{ type: Input }],
158
- max: [{ type: Input }]
159
- };
136
+ /** @nocollapse */ McNumberInput.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", 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 */ McNumberInput.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", 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: "12.2.13", ngImport: i0, type: McNumberInput, decorators: [{
139
+ type: Directive,
140
+ args: [{
141
+ selector: `input[mcInput][type="number"]`,
142
+ exportAs: 'mcNumericalInput',
143
+ host: {
144
+ '(blur)': 'focusChanged(false)',
145
+ '(focus)': 'focusChanged(true)',
146
+ '(paste)': 'onPaste($event)',
147
+ '(keydown)': 'onKeyDown($event)'
148
+ }
149
+ }]
150
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.NgControl, decorators: [{
151
+ type: Optional
152
+ }, {
153
+ type: Self
154
+ }] }, { type: undefined, decorators: [{
155
+ type: Attribute,
156
+ args: ['step']
157
+ }] }, { type: undefined, decorators: [{
158
+ type: Attribute,
159
+ args: ['big-step']
160
+ }] }, { type: undefined, decorators: [{
161
+ type: Attribute,
162
+ args: ['min']
163
+ }] }, { type: undefined, decorators: [{
164
+ type: Attribute,
165
+ args: ['max']
166
+ }] }]; }, propDecorators: { bigStep: [{
167
+ type: Input
168
+ }], step: [{
169
+ type: Input
170
+ }], min: [{
171
+ type: Input
172
+ }], max: [{
173
+ type: Input
174
+ }] } });
160
175
 
161
176
  const MC_INPUT_VALUE_ACCESSOR = new InjectionToken('MC_INPUT_VALUE_ACCESSOR');
162
177
 
@@ -387,59 +402,97 @@ class McInput extends McInputMixinBase {
387
402
  return validity && validity.badInput;
388
403
  }
389
404
  }
390
- McInput.decorators = [
391
- { type: Directive, args: [{
392
- selector: `input[mcInput]`,
393
- exportAs: 'mcInput',
394
- host: {
395
- class: 'mc-input',
396
- // Native input properties that are overwritten by Angular inputs need to be synced with
397
- // the native input element. Otherwise property bindings for those don't work.
398
- '[attr.id]': 'id',
399
- '[attr.placeholder]': 'placeholder',
400
- '[attr.disabled]': 'disabled || null',
401
- '[required]': 'required',
402
- '(blur)': 'onBlur()',
403
- '(focus)': 'focusChanged(true)',
404
- '(input)': 'onInput()'
405
- },
406
- providers: [{
407
- provide: McFormFieldControl, useExisting: McInput
408
- }]
409
- },] }
410
- ];
411
- /** @nocollapse */
412
- McInput.ctorParameters = () => [
413
- { type: ElementRef },
414
- { type: Array, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NG_VALIDATORS,] }] },
415
- { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [MC_VALIDATION,] }] },
416
- { type: NgControl, decorators: [{ type: Optional }, { type: Self }] },
417
- { type: McNumberInput, decorators: [{ type: Optional }, { type: Self }] },
418
- { type: NgModel, decorators: [{ type: Optional }, { type: Self }] },
419
- { type: FormControlName, decorators: [{ type: Optional }, { type: Self }] },
420
- { type: NgForm, decorators: [{ type: Optional }] },
421
- { type: FormGroupDirective, decorators: [{ type: Optional }] },
422
- { type: ErrorStateMatcher },
423
- { type: undefined, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [MC_INPUT_VALUE_ACCESSOR,] }] }
424
- ];
425
- McInput.propDecorators = {
426
- errorStateMatcher: [{ type: Input }],
427
- placeholder: [{ type: Input }],
428
- disabled: [{ type: Input }],
429
- id: [{ type: Input }],
430
- required: [{ type: Input }],
431
- type: [{ type: Input }],
432
- value: [{ type: Input }]
433
- };
405
+ /** @nocollapse */ McInput.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", 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 */ McInput.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", 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
+ provide: McFormFieldControl, useExisting: McInput
408
+ }], exportAs: ["mcInput"], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
409
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McInput, decorators: [{
410
+ type: Directive,
411
+ args: [{
412
+ selector: `input[mcInput]`,
413
+ exportAs: 'mcInput',
414
+ host: {
415
+ class: 'mc-input',
416
+ // Native input properties that are overwritten by Angular inputs need to be synced with
417
+ // the native input element. Otherwise property bindings for those don't work.
418
+ '[attr.id]': 'id',
419
+ '[attr.placeholder]': 'placeholder',
420
+ '[attr.disabled]': 'disabled || null',
421
+ '[required]': 'required',
422
+ '(blur)': 'onBlur()',
423
+ '(focus)': 'focusChanged(true)',
424
+ '(input)': 'onInput()'
425
+ },
426
+ providers: [{
427
+ provide: McFormFieldControl, useExisting: McInput
428
+ }]
429
+ }]
430
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: undefined, decorators: [{
431
+ type: Optional
432
+ }, {
433
+ type: Self
434
+ }, {
435
+ type: Inject,
436
+ args: [NG_VALIDATORS]
437
+ }] }, { type: undefined, decorators: [{
438
+ type: Optional
439
+ }, {
440
+ type: Inject,
441
+ args: [MC_VALIDATION]
442
+ }] }, { type: i1.NgControl, decorators: [{
443
+ type: Optional
444
+ }, {
445
+ type: Self
446
+ }] }, { type: McNumberInput, decorators: [{
447
+ type: Optional
448
+ }, {
449
+ type: Self
450
+ }] }, { type: i1.NgModel, decorators: [{
451
+ type: Optional
452
+ }, {
453
+ type: Self
454
+ }] }, { type: i1.FormControlName, decorators: [{
455
+ type: Optional
456
+ }, {
457
+ type: Self
458
+ }] }, { type: i1.NgForm, decorators: [{
459
+ type: Optional
460
+ }] }, { type: i1.FormGroupDirective, decorators: [{
461
+ type: Optional
462
+ }] }, { type: i3.ErrorStateMatcher }, { type: undefined, decorators: [{
463
+ type: Optional
464
+ }, {
465
+ type: Self
466
+ }, {
467
+ type: Inject,
468
+ args: [MC_INPUT_VALUE_ACCESSOR]
469
+ }] }]; }, propDecorators: { errorStateMatcher: [{
470
+ type: Input
471
+ }], placeholder: [{
472
+ type: Input
473
+ }], disabled: [{
474
+ type: Input
475
+ }], id: [{
476
+ type: Input
477
+ }], required: [{
478
+ type: Input
479
+ }], type: [{
480
+ type: Input
481
+ }], value: [{
482
+ type: Input
483
+ }] } });
434
484
  class McInputMono {
435
485
  }
436
- McInputMono.decorators = [
437
- { type: Directive, args: [{
438
- selector: 'input[mcInputMonospace]',
439
- exportAs: 'McInputMonospace',
440
- host: { class: 'mc-input_monospace' }
441
- },] }
442
- ];
486
+ /** @nocollapse */ McInputMono.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McInputMono, deps: [], target: i0.ɵɵFactoryTarget.Directive });
487
+ /** @nocollapse */ McInputMono.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: McInputMono, selector: "input[mcInputMonospace]", host: { classAttribute: "mc-input_monospace" }, exportAs: ["McInputMonospace"], ngImport: i0 });
488
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McInputMono, decorators: [{
489
+ type: Directive,
490
+ args: [{
491
+ selector: 'input[mcInputMonospace]',
492
+ exportAs: 'McInputMonospace',
493
+ host: { class: 'mc-input_monospace' }
494
+ }]
495
+ }] });
443
496
 
444
497
  const MIN_VALIDATOR = {
445
498
  provide: NG_VALIDATORS,
@@ -461,20 +514,30 @@ class MinValidator {
461
514
  }
462
515
  }
463
516
  }
464
- validate(c) { return this.validator(c); }
465
- registerOnValidatorChange(fn) { this.onChange = fn; }
466
- createValidator() { this.validator = Validators.min(parseInt(this.min, 10)); }
517
+ validate(c) {
518
+ return this.validator(c);
519
+ }
520
+ registerOnValidatorChange(fn) {
521
+ this.onChange = fn;
522
+ }
523
+ createValidator() {
524
+ this.validator = Validators.min(parseInt(this.min, 10));
525
+ }
467
526
  }
468
- MinValidator.decorators = [
469
- { type: Directive, args: [{
470
- selector: '[min][formControlName],[min][formControl],[min][ngModel]',
471
- providers: [MIN_VALIDATOR],
472
- host: { '[attr.min]': 'min ? min : null' }
473
- },] }
474
- ];
475
- MinValidator.propDecorators = {
476
- min: [{ type: Input }]
477
- };
527
+ /** @nocollapse */ MinValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: MinValidator, deps: [], target: i0.ɵɵFactoryTarget.Directive });
528
+ /** @nocollapse */ MinValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", 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: "12.2.13", ngImport: i0, type: MinValidator, decorators: [{
530
+ type: Directive,
531
+ args: [{
532
+ selector: '[min][formControlName],[min][formControl],[min][ngModel]',
533
+ providers: [MIN_VALIDATOR],
534
+ host: {
535
+ '[attr.min]': 'min ? min : null'
536
+ }
537
+ }]
538
+ }], propDecorators: { min: [{
539
+ type: Input
540
+ }] } });
478
541
  const MAX_VALIDATOR = {
479
542
  provide: NG_VALIDATORS,
480
543
  useExisting: forwardRef(() => MaxValidator),
@@ -495,32 +558,44 @@ class MaxValidator {
495
558
  }
496
559
  }
497
560
  }
498
- validate(c) { return this.validator(c); }
499
- registerOnValidatorChange(fn) { this.onChange = fn; }
500
- createValidator() { this.validator = Validators.max(parseInt(this.max, 10)); }
561
+ validate(c) {
562
+ return this.validator(c);
563
+ }
564
+ registerOnValidatorChange(fn) {
565
+ this.onChange = fn;
566
+ }
567
+ createValidator() {
568
+ this.validator = Validators.max(parseInt(this.max, 10));
569
+ }
501
570
  }
502
- MaxValidator.decorators = [
503
- { type: Directive, args: [{
504
- selector: '[max][formControlName],[max][formControl],[max][ngModel]',
505
- providers: [MAX_VALIDATOR],
506
- host: {
507
- '[attr.max]': 'max ? max : null'
508
- }
509
- },] }
510
- ];
511
- MaxValidator.propDecorators = {
512
- max: [{ type: Input }]
513
- };
571
+ /** @nocollapse */ MaxValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: MaxValidator, deps: [], target: i0.ɵɵFactoryTarget.Directive });
572
+ /** @nocollapse */ MaxValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", 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: "12.2.13", ngImport: i0, type: MaxValidator, decorators: [{
574
+ type: Directive,
575
+ args: [{
576
+ selector: '[max][formControlName],[max][formControl],[max][ngModel]',
577
+ providers: [MAX_VALIDATOR],
578
+ host: {
579
+ '[attr.max]': 'max ? max : null'
580
+ }
581
+ }]
582
+ }], propDecorators: { max: [{
583
+ type: Input
584
+ }] } });
514
585
 
515
586
  class McInputModule {
516
587
  }
517
- McInputModule.decorators = [
518
- { type: NgModule, args: [{
519
- imports: [CommonModule, A11yModule, McCommonModule, FormsModule],
520
- exports: [McInput, McNumberInput, McInputMono, MinValidator, MaxValidator],
521
- declarations: [McInput, McNumberInput, McInputMono, MinValidator, MaxValidator]
522
- },] }
523
- ];
588
+ /** @nocollapse */ McInputModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
589
+ /** @nocollapse */ McInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McInputModule, declarations: [McInput, McNumberInput, McInputMono, MinValidator, MaxValidator], imports: [CommonModule, A11yModule, McCommonModule, FormsModule], exports: [McInput, McNumberInput, McInputMono, MinValidator, MaxValidator] });
590
+ /** @nocollapse */ McInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McInputModule, imports: [[CommonModule, A11yModule, McCommonModule, FormsModule]] });
591
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McInputModule, decorators: [{
592
+ type: NgModule,
593
+ args: [{
594
+ imports: [CommonModule, A11yModule, McCommonModule, FormsModule],
595
+ exports: [McInput, McNumberInput, McInputMono, MinValidator, MaxValidator],
596
+ declarations: [McInput, McNumberInput, McInputMono, MinValidator, MaxValidator]
597
+ }]
598
+ }] });
524
599
 
525
600
  /**
526
601
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"ptsecurity-mosaic-input.js","sources":["../../../packages/mosaic/input/input-errors.ts","../../../packages/mosaic/input/input-number.ts","../../../packages/mosaic/input/input-value-accessor.ts","../../../packages/mosaic/input/input.ts","../../../packages/mosaic/input/input-number-validators.ts","../../../packages/mosaic/input/input.module.ts","../../../packages/mosaic/input/ptsecurity-mosaic-input.ts"],"sourcesContent":["export function getMcInputUnsupportedTypeError(inputType: string): Error {\n return Error(`Input type \"${inputType}\" isn't supported by mcInput.`);\n}\n","import {\n Attribute,\n Directive,\n ElementRef,\n Input,\n Optional,\n Self\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport {\n END, C, V, X, A, Z, DELETE, BACKSPACE, TAB, ENTER,\n ESCAPE, ZERO, NINE, NUMPAD_ZERO, NUMPAD_NINE, NUMPAD_MINUS, DASH,\n FF_MINUS, LEFT_ARROW, RIGHT_ARROW, HOME, UP_ARROW, DOWN_ARROW, F1, F12\n} from '@ptsecurity/cdk/keycodes';\nimport { Subject } from 'rxjs';\n\n\nexport const BIG_STEP = 10;\nexport const SMALL_STEP = 1;\n\nexport function normalizeSplitter(value: string): string {\n return value ? value.replace(/,/g, '.') : value;\n}\n\nexport function isFloat(value: string): boolean {\n return /^-?\\d+\\.\\d+$/.test(value);\n}\n\nexport function isInt(value: string): boolean {\n return /^-?\\d+$/.test(value);\n}\n\nexport function isDigit(value: string): boolean {\n return isFloat(value) || isInt(value);\n}\n\nexport function getPrecision(value: number): number {\n const arr = value.toString().split('.');\n\n return arr.length === 1\n ? 1\n // tslint:disable-next-line:no-magic-numbers\n : Math.pow(10, arr[1].length);\n}\n\nexport function add(value1: number, value2: number): number {\n const precision = Math.max(getPrecision(value1), getPrecision(value2));\n\n return (value1 * precision + value2 * precision) / precision;\n}\n\n\n@Directive({\n selector: `input[mcInput][type=\"number\"]`,\n exportAs: 'mcNumericalInput',\n host: {\n '(blur)': 'focusChanged(false)',\n '(focus)': 'focusChanged(true)',\n '(paste)': 'onPaste($event)',\n '(keydown)': 'onKeyDown($event)'\n }\n})\nexport class McNumberInput {\n @Input()\n bigStep: number;\n\n @Input()\n step: number;\n\n @Input()\n min: number;\n\n @Input()\n max: number;\n\n value: any;\n\n focused: boolean = false;\n\n readonly stateChanges: Subject<void> = new Subject<void>();\n\n get nativeElement(): HTMLInputElement {\n return this.elementRef.nativeElement;\n }\n\n constructor(\n private elementRef: ElementRef,\n @Optional() @Self() private ngControl: NgControl,\n @Attribute('step') step: string,\n @Attribute('big-step') bigStep: string,\n @Attribute('min') min: string,\n @Attribute('max') max: string\n ) {\n this.step = isDigit(step) ? parseFloat(step) : SMALL_STEP;\n this.bigStep = isDigit(bigStep) ? parseFloat(bigStep) : BIG_STEP;\n this.min = isDigit(min) ? parseFloat(min) : -Infinity;\n this.max = isDigit(max) ? parseFloat(max) : Infinity;\n\n if ('valueAsNumber' in this.nativeElement) {\n Object.defineProperty(Object.getPrototypeOf(this.nativeElement), 'valueAsNumber', {\n // tslint:disable-next-line:no-reserved-keywords\n get() {\n const res = parseFloat(normalizeSplitter(this.value));\n\n return isNaN(res) ? null : res;\n }\n });\n }\n }\n\n focusChanged(isFocused: boolean) {\n if (isFocused !== this.focused) {\n this.focused = isFocused;\n this.stateChanges.next();\n }\n }\n\n onKeyDown(event: KeyboardEvent) {\n // tslint:disable-next-line:deprecation\n const keyCode = event.keyCode;\n\n const isCtrlA = (e) => e.keyCode === A && (e.ctrlKey || e.metaKey);\n const isCtrlC = (e) => e.keyCode === C && (e.ctrlKey || e.metaKey);\n const isCtrlV = (e) => e.keyCode === V && (e.ctrlKey || e.metaKey);\n const isCtrlX = (e) => e.keyCode === X && (e.ctrlKey || e.metaKey);\n const isCtrlZ = (e) => e.keyCode === Z && (e.ctrlKey || e.metaKey);\n\n const isFKey = (e) => e.keyCode >= F1 && e.keyCode <= F12;\n\n const isNumber = (e) => (e.keyCode >= ZERO && e.keyCode <= NINE) ||\n (e.keyCode >= NUMPAD_ZERO && e.keyCode <= NUMPAD_NINE);\n\n const isPeriod = (e) => e.key === '.' || e.key === ',';\n\n const minuses = [NUMPAD_MINUS, DASH, FF_MINUS];\n const serviceKeys = [DELETE, BACKSPACE, TAB, ESCAPE, ENTER];\n const arrows = [LEFT_ARROW, RIGHT_ARROW];\n const allowedKeys = [HOME, END].concat(arrows).concat(serviceKeys).concat(minuses);\n\n if (allowedKeys.indexOf(keyCode) !== -1 ||\n isCtrlA(event) ||\n isCtrlC(event) ||\n isCtrlV(event) ||\n isCtrlX(event) ||\n isCtrlZ(event) ||\n isFKey(event) ||\n isPeriod(event)\n ) {\n // let it happen, don't do anything\n return;\n }\n // Ensure that it is not a number and stop the keypress\n if (event.shiftKey || !isNumber(event)) {\n event.preventDefault();\n\n // process steps\n const step = event.shiftKey ? this.bigStep : this.step;\n\n if (keyCode === UP_ARROW) {\n this.stepUp(step);\n }\n\n if (keyCode === DOWN_ARROW) {\n this.stepDown(step);\n }\n }\n }\n\n onPaste(event) {\n if (!isDigit(normalizeSplitter(event.clipboardData.getData('text')))) {\n event.preventDefault();\n }\n }\n\n stepUp(step: number) {\n this.elementRef.nativeElement.focus();\n\n const res = Math.max(Math.min(add(this.nativeElement.valueAsNumber || 0, step), this.max), this.min);\n\n this.nativeElement.value = res.toString();\n\n this.viewToModelUpdate(this.nativeElement.valueAsNumber);\n }\n\n stepDown(step: number) {\n this.elementRef.nativeElement.focus();\n\n const res = Math.min(Math.max(add(this.nativeElement.valueAsNumber || 0, -step), this.min), this.max);\n\n this.nativeElement.value = res.toString();\n\n this.viewToModelUpdate(this.nativeElement.valueAsNumber);\n }\n\n private viewToModelUpdate(value: number) {\n if (this.ngControl) {\n this.ngControl.control!.setValue(value);\n }\n }\n}\n","import { InjectionToken } from '@angular/core';\n\n\nexport const MC_INPUT_VALUE_ACCESSOR = new InjectionToken<{ value: any }>('MC_INPUT_VALUE_ACCESSOR');\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { getSupportedInputTypes } from '@angular/cdk/platform';\nimport {\n AfterContentInit,\n Directive,\n DoCheck,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n OnChanges,\n OnDestroy,\n Optional,\n Self\n} from '@angular/core';\nimport {\n FormControlName,\n FormGroupDirective,\n NG_VALIDATORS,\n NgControl,\n NgForm,\n NgModel,\n Validator\n} from '@angular/forms';\nimport {\n CanUpdateErrorState,\n CanUpdateErrorStateCtor,\n ErrorStateMatcher,\n MC_VALIDATION,\n McValidationOptions,\n mixinErrorState,\n setMosaicValidation\n} from '@ptsecurity/mosaic/core';\nimport { McFormFieldControl } from '@ptsecurity/mosaic/form-field';\nimport { Subject } from 'rxjs';\n\nimport { getMcInputUnsupportedTypeError } from './input-errors';\nimport { McNumberInput } from './input-number';\nimport { MC_INPUT_VALUE_ACCESSOR } from './input-value-accessor';\n\n\nconst MC_INPUT_INVALID_TYPES = [\n 'button',\n 'checkbox',\n 'file',\n 'hidden',\n 'image',\n 'radio',\n 'range',\n 'reset',\n 'submit'\n];\n\nlet nextUniqueId = 0;\n\nexport class McInputBase {\n constructor(\n public defaultErrorStateMatcher: ErrorStateMatcher,\n public parentForm: NgForm,\n public parentFormGroup: FormGroupDirective,\n public ngControl: NgControl\n ) {}\n}\n\n// tslint:disable-next-line:naming-convention\nexport const McInputMixinBase: CanUpdateErrorStateCtor & typeof McInputBase = mixinErrorState(McInputBase);\n\n\n@Directive({\n selector: `input[mcInput]`,\n exportAs: 'mcInput',\n host: {\n class: 'mc-input',\n // Native input properties that are overwritten by Angular inputs need to be synced with\n // the native input element. Otherwise property bindings for those don't work.\n '[attr.id]': 'id',\n '[attr.placeholder]': 'placeholder',\n '[attr.disabled]': 'disabled || null',\n '[required]': 'required',\n '(blur)': 'onBlur()',\n '(focus)': 'focusChanged(true)',\n '(input)': 'onInput()'\n },\n providers: [{\n provide: McFormFieldControl, useExisting: McInput\n }]\n})\nexport class McInput extends McInputMixinBase implements McFormFieldControl<any>, OnChanges, OnDestroy, DoCheck,\n CanUpdateErrorState, AfterContentInit, OnChanges {\n\n /** An object used to control when error messages are shown. */\n @Input() errorStateMatcher: ErrorStateMatcher;\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n focused: boolean = false;\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n readonly stateChanges: Subject<void> = new Subject<void>();\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n controlType: string = 'input';\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n @Input() placeholder: string;\n\n protected uid = `mc-input-${nextUniqueId++}`;\n protected previousNativeValue: any;\n protected neverEmptyInputTypes = [\n 'date',\n 'datetime',\n 'datetime-local',\n 'month',\n 'time',\n 'week'\n ].filter((t) => getSupportedInputTypes().has(t));\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n @Input()\n get disabled(): boolean {\n if (this.ngControl && this.ngControl.disabled !== null) {\n return this.ngControl.disabled;\n }\n\n return this._disabled;\n }\n\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n\n // Browsers may not fire the blur event if the input is disabled too quickly.\n // Reset from here to ensure that the element doesn't become stuck.\n if (this.focused) {\n this.focused = false;\n this.stateChanges.next();\n }\n }\n\n private _disabled = false;\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n @Input()\n get id(): string {\n return this._id;\n }\n\n set id(value: string) {\n this._id = value || this.uid;\n }\n\n private _id: string;\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n @Input()\n get required(): boolean {\n return this._required;\n }\n\n set required(value: boolean) {\n this._required = coerceBooleanProperty(value);\n }\n\n private _required = false;\n\n // tslint:disable no-reserved-keywords\n /** Input type of the element. */\n @Input()\n get type(): string {\n return this._type;\n }\n\n set type(value: string) {\n this._type = value || 'text';\n this.validateType();\n\n // When using Angular inputs, developers are no longer able to set the properties on the native\n // input element. To ensure that bindings for `type` work, we need to sync the setter\n // with the native property. Textarea elements don't support the type property or attribute.\n if (getSupportedInputTypes().has(this._type)) {\n this.elementRef.nativeElement.type = this._type;\n }\n }\n // tslint:enable no-reserved-keywords\n\n private _type = 'text';\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n @Input()\n get value(): string {\n return this._inputValueAccessor.value;\n }\n\n set value(value: string) {\n if (value !== this.value) {\n this._inputValueAccessor.value = value;\n this.stateChanges.next();\n }\n }\n\n // tslint:disable-next-line: orthodox-getter-and-setter\n private _inputValueAccessor: { value: any };\n\n // tslint:disable-next-line: naming-convention\n constructor(\n protected elementRef: ElementRef,\n @Optional() @Self() @Inject(NG_VALIDATORS) public rawValidators: Validator[],\n @Optional() @Inject(MC_VALIDATION) private mcValidation: McValidationOptions,\n @Optional() @Self() ngControl: NgControl,\n @Optional() @Self() public numberInput: McNumberInput,\n @Optional() @Self() public ngModel: NgModel,\n @Optional() @Self() public formControlName: FormControlName,\n @Optional() parentForm: NgForm,\n @Optional() parentFormGroup: FormGroupDirective,\n defaultErrorStateMatcher: ErrorStateMatcher,\n @Optional() @Self() @Inject(MC_INPUT_VALUE_ACCESSOR) inputValueAccessor: any\n ) {\n super(defaultErrorStateMatcher, parentForm, parentFormGroup, ngControl);\n\n // If no input value accessor was explicitly specified, use the element as the input value\n // accessor.\n this._inputValueAccessor = inputValueAccessor || this.elementRef.nativeElement;\n\n this.previousNativeValue = this.value;\n\n // Force setter to be called in case id was not specified.\n this.id = this.id;\n }\n\n ngAfterContentInit(): void {\n if (!this.ngControl) { return; }\n\n if (this.mcValidation.useValidation) {\n setMosaicValidation(this);\n }\n }\n\n ngOnChanges() {\n this.stateChanges.next();\n }\n\n ngOnDestroy() {\n this.stateChanges.complete();\n }\n\n ngDoCheck() {\n if (this.ngControl) {\n // We need to re-evaluate this on every change detection cycle, because there are some\n // error triggers that we can't subscribe to (e.g. parent form submissions). This means\n // that whatever logic is in here has to be super lean or we risk destroying the performance.\n this.updateErrorState();\n }\n\n // We need to dirty-check the native element's value, because there are some cases where\n // we won't be notified when it changes (e.g. the consumer isn't using forms or they're\n // updating the value using `emitEvent: false`).\n this.dirtyCheckNativeValue();\n }\n\n /** Focuses the input. */\n focus(): void {\n this.elementRef.nativeElement.focus();\n }\n\n onBlur(): void {\n this.focusChanged(false);\n\n if (this.ngControl && this.ngControl.control) {\n const control = this.ngControl.control;\n\n control.updateValueAndValidity({ emitEvent: false });\n (control.statusChanges as EventEmitter<string>).emit(control.status);\n }\n }\n\n /** Callback for the cases where the focused state of the input changes. */\n focusChanged(isFocused: boolean) {\n if (isFocused !== this.focused) {\n this.focused = isFocused;\n this.stateChanges.next();\n }\n }\n\n onInput() {\n // This is a noop function and is used to let Angular know whenever the value changes.\n // Angular will run a new change detection each time the `input` event has been dispatched.\n // It's necessary that Angular recognizes the value change, because when floatingLabel\n // is set to false and Angular forms aren't used, the placeholder won't recognize the\n // value changes and will not disappear.\n // Listening to the input event wouldn't be necessary when the input is using the\n // FormsModule or ReactiveFormsModule, because Angular forms also listens to input events.\n }\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n get empty(): boolean {\n return !this.isNeverEmpty() && !this.elementRef.nativeElement.value && !this.isBadInput();\n }\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n onContainerClick() {\n this.focus();\n }\n\n /** Does some manual dirty checking on the native input `value` property. */\n protected dirtyCheckNativeValue() {\n const newValue = this.value;\n\n if (this.previousNativeValue !== newValue) {\n this.previousNativeValue = newValue;\n this.stateChanges.next();\n }\n }\n\n /** Make sure the input is a supported type. */\n protected validateType() {\n if (MC_INPUT_INVALID_TYPES.indexOf(this._type) > -1) {\n throw getMcInputUnsupportedTypeError(this._type);\n }\n }\n\n /** Checks whether the input type is one of the types that are never empty. */\n protected isNeverEmpty() {\n return this.neverEmptyInputTypes.indexOf(this._type) > -1;\n }\n\n /** Checks whether the input is invalid based on the native validation. */\n protected isBadInput() {\n // The `validity` property won't be present on platform-server.\n const validity = (this.elementRef.nativeElement as HTMLInputElement).validity;\n\n return validity && validity.badInput;\n }\n}\n\n@Directive({\n selector: 'input[mcInputMonospace]',\n exportAs: 'McInputMonospace',\n host: { class: 'mc-input_monospace' }\n})\nexport class McInputMono {}\n","import { Directive, forwardRef, Input, OnChanges, Provider, SimpleChanges } from '@angular/core';\nimport { AbstractControl, NG_VALIDATORS, ValidationErrors, Validator, ValidatorFn, Validators } from '@angular/forms';\n\n\nexport const MIN_VALIDATOR: Provider = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => MinValidator),\n multi: true\n};\n\n/**\n * A directive which installs the {@link MinValidator} for any `formControlName`,\n * `formControl`, or control with `ngModel` that also has a `min` attribute.\n *\n * @experimental\n */\n@Directive({\n selector: '[min][formControlName],[min][formControl],[min][ngModel]',\n providers: [MIN_VALIDATOR],\n host: {'[attr.min]': 'min ? min : null'}\n})\nexport class MinValidator implements Validator, OnChanges {\n\n @Input() min: string;\n private validator: ValidatorFn;\n private onChange: () => void;\n\n ngOnChanges(changes: SimpleChanges): void {\n if ('min' in changes) {\n this.createValidator();\n if (this.onChange) { this.onChange(); }\n }\n }\n\n validate(c: AbstractControl): ValidationErrors | null { return this.validator(c); }\n\n registerOnValidatorChange(fn: () => void): void { this.onChange = fn; }\n\n private createValidator(): void { this.validator = Validators.min(parseInt(this.min, 10)); }\n}\n\n\nexport const MAX_VALIDATOR: Provider = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => MaxValidator),\n multi: true\n};\n\n/**\n * A directive which installs the {@link MaxValidator} for any `formControlName`,\n * `formControl`, or control with `ngModel` that also has a `min` attribute.\n *\n * @experimental\n */\n@Directive({\n selector: '[max][formControlName],[max][formControl],[max][ngModel]',\n providers: [MAX_VALIDATOR],\n host: {\n '[attr.max]': 'max ? max : null'\n }\n})\nexport class MaxValidator implements Validator,\n OnChanges {\n\n @Input() max: string;\n private validator: ValidatorFn;\n private onChange: () => void;\n\n ngOnChanges(changes: SimpleChanges): void {\n if ('max' in changes) {\n this.createValidator();\n if (this.onChange) { this.onChange(); }\n }\n }\n\n validate(c: AbstractControl): ValidationErrors | null { return this.validator(c); }\n\n registerOnValidatorChange(fn: () => void): void { this.onChange = fn; }\n\n private createValidator(): void { this.validator = Validators.max(parseInt(this.max, 10)); }\n}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { McCommonModule } from '@ptsecurity/mosaic/core';\n\nimport { McInput, McInputMono } from './input';\nimport { McNumberInput } from './input-number';\nimport { MaxValidator, MinValidator } from './input-number-validators';\n\n\n@NgModule({\n imports: [CommonModule, A11yModule, McCommonModule, FormsModule],\n exports: [McInput, McNumberInput, McInputMono, MinValidator, MaxValidator],\n declarations: [McInput, McNumberInput, McInputMono, MinValidator, MaxValidator ]\n})\nexport class McInputModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ptsecurity-mosaic-input.js","sources":["../../../packages/mosaic/input/input-errors.ts","../../../packages/mosaic/input/input-number.ts","../../../packages/mosaic/input/input-value-accessor.ts","../../../packages/mosaic/input/input.ts","../../../packages/mosaic/input/input-number-validators.ts","../../../packages/mosaic/input/input.module.ts","../../../packages/mosaic/input/ptsecurity-mosaic-input.ts"],"sourcesContent":["export function getMcInputUnsupportedTypeError(inputType: string): Error {\n return Error(`Input type \"${inputType}\" isn't supported by mcInput.`);\n}\n","import {\n Attribute,\n Directive,\n ElementRef,\n Input,\n Optional,\n Self\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport {\n END, C, V, X, A, Z, DELETE, BACKSPACE, TAB, ENTER,\n ESCAPE, ZERO, NINE, NUMPAD_ZERO, NUMPAD_NINE, NUMPAD_MINUS, DASH,\n FF_MINUS, LEFT_ARROW, RIGHT_ARROW, HOME, UP_ARROW, DOWN_ARROW, F1, F12\n} from '@ptsecurity/cdk/keycodes';\nimport { Subject } from 'rxjs';\n\n\nexport const BIG_STEP = 10;\nexport const SMALL_STEP = 1;\n\nexport function normalizeSplitter(value: string): string {\n return value ? value.replace(/,/g, '.') : value;\n}\n\nexport function isFloat(value: string): boolean {\n return /^-?\\d+\\.\\d+$/.test(value);\n}\n\nexport function isInt(value: string): boolean {\n return /^-?\\d+$/.test(value);\n}\n\nexport function isDigit(value: string): boolean {\n return isFloat(value) || isInt(value);\n}\n\nexport function getPrecision(value: number): number {\n const arr = value.toString().split('.');\n\n return arr.length === 1\n ? 1\n // tslint:disable-next-line:no-magic-numbers\n : Math.pow(10, arr[1].length);\n}\n\nexport function add(value1: number, value2: number): number {\n const precision = Math.max(getPrecision(value1), getPrecision(value2));\n\n return (value1 * precision + value2 * precision) / precision;\n}\n\n\n@Directive({\n selector: `input[mcInput][type=\"number\"]`,\n exportAs: 'mcNumericalInput',\n host: {\n '(blur)': 'focusChanged(false)',\n '(focus)': 'focusChanged(true)',\n '(paste)': 'onPaste($event)',\n '(keydown)': 'onKeyDown($event)'\n }\n})\nexport class McNumberInput {\n @Input()\n bigStep: number;\n\n @Input()\n step: number;\n\n @Input()\n min: number;\n\n @Input()\n max: number;\n\n value: any;\n\n focused: boolean = false;\n\n readonly stateChanges: Subject<void> = new Subject<void>();\n\n get nativeElement(): HTMLInputElement {\n return this.elementRef.nativeElement;\n }\n\n constructor(\n private elementRef: ElementRef,\n @Optional() @Self() private ngControl: NgControl,\n @Attribute('step') step: string,\n @Attribute('big-step') bigStep: string,\n @Attribute('min') min: string,\n @Attribute('max') max: string\n ) {\n this.step = isDigit(step) ? parseFloat(step) : SMALL_STEP;\n this.bigStep = isDigit(bigStep) ? parseFloat(bigStep) : BIG_STEP;\n this.min = isDigit(min) ? parseFloat(min) : -Infinity;\n this.max = isDigit(max) ? parseFloat(max) : Infinity;\n\n if ('valueAsNumber' in this.nativeElement) {\n Object.defineProperty(Object.getPrototypeOf(this.nativeElement), 'valueAsNumber', {\n // tslint:disable-next-line:no-reserved-keywords\n get() {\n const res = parseFloat(normalizeSplitter(this.value));\n\n return isNaN(res) ? null : res;\n }\n });\n }\n }\n\n focusChanged(isFocused: boolean) {\n if (isFocused !== this.focused) {\n this.focused = isFocused;\n this.stateChanges.next();\n }\n }\n\n onKeyDown(event: KeyboardEvent) {\n // tslint:disable-next-line:deprecation\n const keyCode = event.keyCode;\n\n const isCtrlA = (e) => e.keyCode === A && (e.ctrlKey || e.metaKey);\n const isCtrlC = (e) => e.keyCode === C && (e.ctrlKey || e.metaKey);\n const isCtrlV = (e) => e.keyCode === V && (e.ctrlKey || e.metaKey);\n const isCtrlX = (e) => e.keyCode === X && (e.ctrlKey || e.metaKey);\n const isCtrlZ = (e) => e.keyCode === Z && (e.ctrlKey || e.metaKey);\n\n const isFKey = (e) => e.keyCode >= F1 && e.keyCode <= F12;\n\n const isNumber = (e) => (e.keyCode >= ZERO && e.keyCode <= NINE) ||\n (e.keyCode >= NUMPAD_ZERO && e.keyCode <= NUMPAD_NINE);\n\n const isPeriod = (e) => e.key === '.' || e.key === ',';\n\n const minuses = [NUMPAD_MINUS, DASH, FF_MINUS];\n const serviceKeys = [DELETE, BACKSPACE, TAB, ESCAPE, ENTER];\n const arrows = [LEFT_ARROW, RIGHT_ARROW];\n const allowedKeys = [HOME, END].concat(arrows).concat(serviceKeys).concat(minuses);\n\n if (allowedKeys.indexOf(keyCode) !== -1 ||\n isCtrlA(event) ||\n isCtrlC(event) ||\n isCtrlV(event) ||\n isCtrlX(event) ||\n isCtrlZ(event) ||\n isFKey(event) ||\n isPeriod(event)\n ) {\n // let it happen, don't do anything\n return;\n }\n // Ensure that it is not a number and stop the keypress\n if (event.shiftKey || !isNumber(event)) {\n event.preventDefault();\n\n // process steps\n const step = event.shiftKey ? this.bigStep : this.step;\n\n if (keyCode === UP_ARROW) {\n this.stepUp(step);\n }\n\n if (keyCode === DOWN_ARROW) {\n this.stepDown(step);\n }\n }\n }\n\n onPaste(event) {\n if (!isDigit(normalizeSplitter(event.clipboardData.getData('text')))) {\n event.preventDefault();\n }\n }\n\n stepUp(step: number) {\n this.elementRef.nativeElement.focus();\n\n const res = Math.max(Math.min(add(this.nativeElement.valueAsNumber || 0, step), this.max), this.min);\n\n this.nativeElement.value = res.toString();\n\n this.viewToModelUpdate(this.nativeElement.valueAsNumber);\n }\n\n stepDown(step: number) {\n this.elementRef.nativeElement.focus();\n\n const res = Math.min(Math.max(add(this.nativeElement.valueAsNumber || 0, -step), this.min), this.max);\n\n this.nativeElement.value = res.toString();\n\n this.viewToModelUpdate(this.nativeElement.valueAsNumber);\n }\n\n private viewToModelUpdate(value: number) {\n if (this.ngControl) {\n this.ngControl.control!.setValue(value);\n }\n }\n}\n","import { InjectionToken } from '@angular/core';\n\n\nexport const MC_INPUT_VALUE_ACCESSOR = new InjectionToken<{ value: any }>('MC_INPUT_VALUE_ACCESSOR');\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { getSupportedInputTypes } from '@angular/cdk/platform';\nimport {\n AfterContentInit,\n Directive,\n DoCheck,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n OnChanges,\n OnDestroy,\n Optional,\n Self\n} from '@angular/core';\nimport {\n FormControlName,\n FormGroupDirective,\n NG_VALIDATORS,\n NgControl,\n NgForm,\n NgModel,\n Validator\n} from '@angular/forms';\nimport {\n CanUpdateErrorState,\n CanUpdateErrorStateCtor,\n ErrorStateMatcher,\n MC_VALIDATION,\n McValidationOptions,\n mixinErrorState,\n setMosaicValidation\n} from '@ptsecurity/mosaic/core';\nimport { McFormFieldControl } from '@ptsecurity/mosaic/form-field';\nimport { Subject } from 'rxjs';\n\nimport { getMcInputUnsupportedTypeError } from './input-errors';\nimport { McNumberInput } from './input-number';\nimport { MC_INPUT_VALUE_ACCESSOR } from './input-value-accessor';\n\n\nconst MC_INPUT_INVALID_TYPES = [\n 'button',\n 'checkbox',\n 'file',\n 'hidden',\n 'image',\n 'radio',\n 'range',\n 'reset',\n 'submit'\n];\n\nlet nextUniqueId = 0;\n\nexport class McInputBase {\n constructor(\n public defaultErrorStateMatcher: ErrorStateMatcher,\n public parentForm: NgForm,\n public parentFormGroup: FormGroupDirective,\n public ngControl: NgControl\n ) {}\n}\n\n// tslint:disable-next-line:naming-convention\nexport const McInputMixinBase: CanUpdateErrorStateCtor & typeof McInputBase = mixinErrorState(McInputBase);\n\n\n@Directive({\n selector: `input[mcInput]`,\n exportAs: 'mcInput',\n host: {\n class: 'mc-input',\n // Native input properties that are overwritten by Angular inputs need to be synced with\n // the native input element. Otherwise property bindings for those don't work.\n '[attr.id]': 'id',\n '[attr.placeholder]': 'placeholder',\n '[attr.disabled]': 'disabled || null',\n '[required]': 'required',\n '(blur)': 'onBlur()',\n '(focus)': 'focusChanged(true)',\n '(input)': 'onInput()'\n },\n providers: [{\n provide: McFormFieldControl, useExisting: McInput\n }]\n})\nexport class McInput extends McInputMixinBase implements McFormFieldControl<any>, OnChanges, OnDestroy, DoCheck,\n CanUpdateErrorState, AfterContentInit, OnChanges {\n\n /** An object used to control when error messages are shown. */\n @Input() errorStateMatcher: ErrorStateMatcher;\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n focused: boolean = false;\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n readonly stateChanges: Subject<void> = new Subject<void>();\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n controlType: string = 'input';\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n @Input() placeholder: string;\n\n protected uid = `mc-input-${nextUniqueId++}`;\n protected previousNativeValue: any;\n protected neverEmptyInputTypes = [\n 'date',\n 'datetime',\n 'datetime-local',\n 'month',\n 'time',\n 'week'\n ].filter((t) => getSupportedInputTypes().has(t));\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n @Input()\n get disabled(): boolean {\n if (this.ngControl && this.ngControl.disabled !== null) {\n return this.ngControl.disabled;\n }\n\n return this._disabled;\n }\n\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n\n // Browsers may not fire the blur event if the input is disabled too quickly.\n // Reset from here to ensure that the element doesn't become stuck.\n if (this.focused) {\n this.focused = false;\n this.stateChanges.next();\n }\n }\n\n private _disabled = false;\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n @Input()\n get id(): string {\n return this._id;\n }\n\n set id(value: string) {\n this._id = value || this.uid;\n }\n\n private _id: string;\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n @Input()\n get required(): boolean {\n return this._required;\n }\n\n set required(value: boolean) {\n this._required = coerceBooleanProperty(value);\n }\n\n private _required = false;\n\n // tslint:disable no-reserved-keywords\n /** Input type of the element. */\n @Input()\n get type(): string {\n return this._type;\n }\n\n set type(value: string) {\n this._type = value || 'text';\n this.validateType();\n\n // When using Angular inputs, developers are no longer able to set the properties on the native\n // input element. To ensure that bindings for `type` work, we need to sync the setter\n // with the native property. Textarea elements don't support the type property or attribute.\n if (getSupportedInputTypes().has(this._type)) {\n this.elementRef.nativeElement.type = this._type;\n }\n }\n // tslint:enable no-reserved-keywords\n\n private _type = 'text';\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n @Input()\n get value(): string {\n return this._inputValueAccessor.value;\n }\n\n set value(value: string) {\n if (value !== this.value) {\n this._inputValueAccessor.value = value;\n this.stateChanges.next();\n }\n }\n\n // tslint:disable-next-line: orthodox-getter-and-setter\n private _inputValueAccessor: { value: any };\n\n // tslint:disable-next-line: naming-convention\n constructor(\n protected elementRef: ElementRef,\n @Optional() @Self() @Inject(NG_VALIDATORS) public rawValidators: Validator[],\n @Optional() @Inject(MC_VALIDATION) private mcValidation: McValidationOptions,\n @Optional() @Self() ngControl: NgControl,\n @Optional() @Self() public numberInput: McNumberInput,\n @Optional() @Self() public ngModel: NgModel,\n @Optional() @Self() public formControlName: FormControlName,\n @Optional() parentForm: NgForm,\n @Optional() parentFormGroup: FormGroupDirective,\n defaultErrorStateMatcher: ErrorStateMatcher,\n @Optional() @Self() @Inject(MC_INPUT_VALUE_ACCESSOR) inputValueAccessor: any\n ) {\n super(defaultErrorStateMatcher, parentForm, parentFormGroup, ngControl);\n\n // If no input value accessor was explicitly specified, use the element as the input value\n // accessor.\n this._inputValueAccessor = inputValueAccessor || this.elementRef.nativeElement;\n\n this.previousNativeValue = this.value;\n\n // Force setter to be called in case id was not specified.\n this.id = this.id;\n }\n\n ngAfterContentInit(): void {\n if (!this.ngControl) { return; }\n\n if (this.mcValidation.useValidation) {\n setMosaicValidation(this);\n }\n }\n\n ngOnChanges() {\n this.stateChanges.next();\n }\n\n ngOnDestroy() {\n this.stateChanges.complete();\n }\n\n ngDoCheck() {\n if (this.ngControl) {\n // We need to re-evaluate this on every change detection cycle, because there are some\n // error triggers that we can't subscribe to (e.g. parent form submissions). This means\n // that whatever logic is in here has to be super lean or we risk destroying the performance.\n this.updateErrorState();\n }\n\n // We need to dirty-check the native element's value, because there are some cases where\n // we won't be notified when it changes (e.g. the consumer isn't using forms or they're\n // updating the value using `emitEvent: false`).\n this.dirtyCheckNativeValue();\n }\n\n /** Focuses the input. */\n focus(): void {\n this.elementRef.nativeElement.focus();\n }\n\n onBlur(): void {\n this.focusChanged(false);\n\n if (this.ngControl && this.ngControl.control) {\n const control = this.ngControl.control;\n\n control.updateValueAndValidity({ emitEvent: false });\n (control.statusChanges as EventEmitter<string>).emit(control.status);\n }\n }\n\n /** Callback for the cases where the focused state of the input changes. */\n focusChanged(isFocused: boolean) {\n if (isFocused !== this.focused) {\n this.focused = isFocused;\n this.stateChanges.next();\n }\n }\n\n onInput() {\n // This is a noop function and is used to let Angular know whenever the value changes.\n // Angular will run a new change detection each time the `input` event has been dispatched.\n // It's necessary that Angular recognizes the value change, because when floatingLabel\n // is set to false and Angular forms aren't used, the placeholder won't recognize the\n // value changes and will not disappear.\n // Listening to the input event wouldn't be necessary when the input is using the\n // FormsModule or ReactiveFormsModule, because Angular forms also listens to input events.\n }\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n get empty(): boolean {\n return !this.isNeverEmpty() && !this.elementRef.nativeElement.value && !this.isBadInput();\n }\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n onContainerClick() {\n this.focus();\n }\n\n /** Does some manual dirty checking on the native input `value` property. */\n protected dirtyCheckNativeValue() {\n const newValue = this.value;\n\n if (this.previousNativeValue !== newValue) {\n this.previousNativeValue = newValue;\n this.stateChanges.next();\n }\n }\n\n /** Make sure the input is a supported type. */\n protected validateType() {\n if (MC_INPUT_INVALID_TYPES.indexOf(this._type) > -1) {\n throw getMcInputUnsupportedTypeError(this._type);\n }\n }\n\n /** Checks whether the input type is one of the types that are never empty. */\n protected isNeverEmpty() {\n return this.neverEmptyInputTypes.indexOf(this._type) > -1;\n }\n\n /** Checks whether the input is invalid based on the native validation. */\n protected isBadInput() {\n // The `validity` property won't be present on platform-server.\n const validity = (this.elementRef.nativeElement as HTMLInputElement).validity;\n\n return validity && validity.badInput;\n }\n}\n\n@Directive({\n selector: 'input[mcInputMonospace]',\n exportAs: 'McInputMonospace',\n host: { class: 'mc-input_monospace' }\n})\nexport class McInputMono {}\n","import { Directive, forwardRef, Input, OnChanges, Provider, SimpleChanges } from '@angular/core';\nimport { AbstractControl, NG_VALIDATORS, ValidationErrors, Validator, ValidatorFn, Validators } from '@angular/forms';\n\n\nexport const MIN_VALIDATOR: Provider = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => MinValidator),\n multi: true\n};\n\n/**\n * A directive which installs the {@link MinValidator} for any `formControlName`,\n * `formControl`, or control with `ngModel` that also has a `min` attribute.\n *\n * @experimental\n */\n@Directive({\n selector: '[min][formControlName],[min][formControl],[min][ngModel]',\n providers: [MIN_VALIDATOR],\n host: {\n '[attr.min]': 'min ? min : null'\n }\n})\nexport class MinValidator implements Validator, OnChanges {\n\n @Input() min: number;\n private validator: ValidatorFn;\n private onChange: () => void;\n\n ngOnChanges(changes: SimpleChanges): void {\n if ('min' in changes) {\n this.createValidator();\n\n if (this.onChange) { this.onChange(); }\n }\n }\n\n validate(c: AbstractControl): ValidationErrors | null {\n return this.validator(c);\n }\n\n registerOnValidatorChange(fn: () => void): void {\n this.onChange = fn;\n }\n\n private createValidator(): void {\n this.validator = Validators.min(parseInt(this.min as unknown as string, 10));\n }\n}\n\n\nexport const MAX_VALIDATOR: Provider = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => MaxValidator),\n multi: true\n};\n\n/**\n * A directive which installs the {@link MaxValidator} for any `formControlName`,\n * `formControl`, or control with `ngModel` that also has a `min` attribute.\n *\n * @experimental\n */\n@Directive({\n selector: '[max][formControlName],[max][formControl],[max][ngModel]',\n providers: [MAX_VALIDATOR],\n host: {\n '[attr.max]': 'max ? max : null'\n }\n})\nexport class MaxValidator implements Validator,\n OnChanges {\n\n @Input() max: number | string;\n private validator: ValidatorFn;\n private onChange: () => void;\n\n ngOnChanges(changes: SimpleChanges): void {\n if ('max' in changes) {\n this.createValidator();\n\n if (this.onChange) { this.onChange(); }\n }\n }\n\n validate(c: AbstractControl): ValidationErrors | null {\n return this.validator(c);\n }\n\n registerOnValidatorChange(fn: () => void): void {\n this.onChange = fn;\n }\n\n private createValidator(): void {\n this.validator = Validators.max(parseInt(this.max as unknown as string, 10));\n }\n}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { McCommonModule } from '@ptsecurity/mosaic/core';\n\nimport { McInput, McInputMono } from './input';\nimport { McNumberInput } from './input-number';\nimport { MaxValidator, MinValidator } from './input-number-validators';\n\n\n@NgModule({\n imports: [CommonModule, A11yModule, McCommonModule, FormsModule],\n exports: [McInput, McNumberInput, McInputMono, MinValidator, MaxValidator],\n declarations: [McInput, McNumberInput, McInputMono, MinValidator, MaxValidator ]\n})\nexport class McInputModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}