@ptsecurity/mosaic 11.5.0 → 12.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (630) hide show
  1. package/_theming.scss +409 -100
  2. package/_visual.scss +66 -23
  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 +601 -421
  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 +354 -202
  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 +117 -72
  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 +94 -62
  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 +234 -124
  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 +66 -54
  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 +546 -377
  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 +311 -179
  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 +89 -66
  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 -1
  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 +0,0 @@
1
- {"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","../../../packages/mosaic/checkbox/checkbox.ts","../../../packages/mosaic/checkbox/checkbox-config.ts","../../../packages/mosaic/checkbox/checkbox-required-validator.ts","../../../packages/mosaic/checkbox/checkbox-module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__extends","TypeError","String","__","this","constructor","create","TransitionCheckState","MC_CHECKBOX_CLICK_ACTION","InjectionToken","nextUniqueId","MC_CHECKBOX_CONTROL_VALUE_ACCESSOR","provide","NG_VALUE_ACCESSOR","useExisting","forwardRef","McCheckbox","multi","_elementRef","McCheckboxMixinBase","mixinTabIndex","mixinColor","mixinDisabled","McCheckboxBase","elementRef","_changeDetectorRef","_focusMonitor","_clickAction","_this","_super","ariaLabel","ariaLabelledby","labelPosition","name","change","EventEmitter","indeterminateChange","_checked","_disabled","_indeterminate","uniqueId","currentAnimationClass","currentCheckState","Init","onTouched","controlValueAccessorChangeFn","id","defineProperty","_required","value","toBoolean","checked","markForCheck","disabled","changed","transitionCheckState","Indeterminate","Checked","Unchecked","emit","ngAfterViewInit","monitor","inputElement","nativeElement","subscribe","focusOrigin","onInputFocusChange","ngOnDestroy","stopMonitoring","onLabelTextChange","writeValue","registerOnChange","fn","registerOnTouched","setDisabledState","isDisabled","getAriaChecked","indeterminate","toggle","onInputClick","event","stopPropagation","Promise","resolve","then","emitChangeEvent","focus","focusVia","onInteractionEvent","newState","oldState","element","length","classList","remove","add","McCheckboxChange","source","Component","args","selector","exportAs","template","host","class","[id]","[attr.id]","[class.mc-indeterminate]","[class.mc-checked]","[class.mc-disabled]","[class.mc-checkbox-label-before]","providers","inputs","encapsulation","ViewEncapsulation","None","changeDetection","ChangeDetectionStrategy","OnPush","ElementRef","ChangeDetectorRef","FocusMonitor","Optional","type","Inject","Input","Output","ViewChild","static","MC_CHECKBOX_REQUIRED_VALIDATOR","NG_VALIDATORS","McCheckboxRequiredValidator","CheckboxRequiredValidator","Directive","[attr.required]","NgModule","imports","CommonModule","exports","declarations"],"mappings":";;;;;;;;;;;;;;oFAgBA,IAAIA,EAAgB,SAASC,EAAGC,GAI5B,OAHAF,EAAgBG,OAAOC,gBAClB,CAAEC,UAAW,cAAgBC,OAAS,SAAUL,EAAGC,GAAKD,EAAEI,UAAYH,IACvE,SAAUD,EAAGC,GAAK,IAAK,IAAIK,KAAKL,EAAOC,OAAOK,UAAUC,eAAeC,KAAKR,EAAGK,KAAIN,EAAEM,GAAKL,EAAEK,MAC3EN,EAAGC,aAGZS,EAAUV,EAAGC,GACzB,GAAiB,mBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIU,UAAU,uBAAyBC,OAAOX,GAAK,iCAE7D,SAASY,IAAOC,KAAKC,YAAcf,EADnCD,EAAcC,EAAGC,GAEjBD,EAAEO,UAAkB,OAANN,EAAaC,OAAOc,OAAOf,IAAMY,EAAGN,UAAYN,EAAEM,UAAW,IAAIM,GA+EtDX,OAAOc,OAsGXd,OAAOc,WC7JpBC,ECrCCC,EACT,IAAIC,EAAAA,eAAsC,4BDmB1CC,EAAe,EAONC,EAA0C,CACnDC,QAASC,EAAAA,kBACTC,YAAaC,EAAAA,YAAW,WAAM,OAAAC,KAC9BC,OAAO,GAOCV,EAAAA,0BAAAA,GAAAA,EAAAA,EAAAA,uBAAAA,EAAAA,qBAAoB,KAE5BA,EAAA,KAAA,GAAA,OAEAA,EAAAA,EAAA,QAAA,GAAA,UAEAA,EAAAA,EAAA,UAAA,GAAA,YAEAA,EAAAA,EAAA,cAAA,GAAA,sBAIJ,eAWI,SAAmBW,GAAAd,KAAAc,YAAAA,GAIVC,EAIeC,EAAAA,cAAcC,EAAAA,WAAWC,EAAAA,cAAcC,mBAuJ/D,SAAAP,EACIQ,EACQC,EACAC,EAEAC,GALZ,IAAAC,EAOIC,EAAA9B,KAAAK,KAAMoB,IAAWpB,YALTwB,EAAAH,mBAAAA,EACAG,EAAAF,cAAAA,EAEAE,EAAAD,aAAAA,EAxHSC,EAAAE,UAAoB,GAKfF,EAAAG,eAAgC,KAMjDH,EAAAI,cAAoC,QAGpCJ,EAAAK,KAAsB,KAGZL,EAAAM,OAAyC,IAAIC,EAAAA,aAG7CP,EAAAQ,oBAA6C,IAAID,EAAAA,aAwC5DP,EAAAS,UAAoB,EAkBpBT,EAAAU,WAAqB,EA6BrBV,EAAAW,gBAA0B,EAE1BX,EAAAY,SAAmB,kBAAiB9B,EAEpCkB,EAAAa,sBAAgC,GAEhCb,EAAAc,kBAA0CnC,EAAAA,qBAAqBoC,KAmBvEf,EAAAgB,UAAuB,aAyGfhB,EAAAiB,6BAAqD,aAjHzDjB,EAAKkB,GAAKlB,EAAKY,kBAnISxC,EAAAgB,EAAAa,GAoC5BrC,OAAAuD,eAAI/B,EAAAnB,UAAA,UAAO,KAAX,WACI,OAAUO,KAAK0C,IAAM1C,KAAKoC,UAAQ,0CAItChD,OAAAuD,eACI/B,EAAAnB,UAAA,WAAQ,KADZ,WAEI,OAAOO,KAAK4C,eAGhB,SAAaC,GACT7C,KAAK4C,UAAYE,EAAAA,UAAUD,oCAQ/BzD,OAAAuD,eACI/B,EAAAnB,UAAA,UAAO,KADX,WAEI,OAAOO,KAAKiC,cAGhB,SAAYY,GACJA,IAAU7C,KAAK+C,UACf/C,KAAKiC,SAAWY,EAChB7C,KAAKqB,mBAAmB2B,iDAUhC5D,OAAAuD,eACI/B,EAAAnB,UAAA,WAAQ,KADZ,WAEI,OAAOO,KAAKkC,eAGhB,SAAaW,GACLA,IAAU7C,KAAKiD,WACfjD,KAAKkC,UAAYW,EACjB7C,KAAKqB,mBAAmB2B,iDAYhC5D,OAAAuD,eACI/B,EAAAnB,UAAA,gBAAa,KADjB,WAEI,OAAOO,KAAKmC,oBAGhB,SAAkBU,GACd,IAAMK,EAAUL,IAAU7C,KAAKmC,eAC/BnC,KAAKmC,eAAiBU,EAElBK,IACIlD,KAAKmC,eACLnC,KAAKmD,qBAAqBhD,EAAAA,qBAAqBiD,eAE/CpD,KAAKmD,qBACDnD,KAAK+C,QAAU5C,EAAAA,qBAAqBkD,QAAUlD,EAAAA,qBAAqBmD,WAG3EtD,KAAKgC,oBAAoBuB,KAAKvD,KAAKmC,kDA+B3CvB,EAAAnB,UAAA+D,gBAAA,WAAA,IAAAhC,EAAAxB,KACIA,KAAKsB,cACAmC,QAAQzD,KAAK0D,aAAaC,eAC1BC,WAAU,SAACC,GAAgB,OAAArC,EAAKsC,mBAAmBD,OAG5DjD,EAAAnB,UAAAsE,YAAA,WACI/D,KAAKsB,cAAc0C,eAAehE,KAAK0D,aAAaC,gBAIxD/C,EAAAnB,UAAAwE,kBAAA,WAIIjE,KAAKqB,mBAAmB2B,gBAI5BpC,EAAAnB,UAAAyE,WAAA,SAAWrB,GACP7C,KAAK+C,UAAYF,GAIrBjC,EAAAnB,UAAA0E,iBAAA,SAAiBC,GACbpE,KAAKyC,6BAA+B2B,GAIxCxD,EAAAnB,UAAA4E,kBAAA,SAAkBD,GACdpE,KAAKwC,UAAY4B,GAIrBxD,EAAAnB,UAAA6E,iBAAA,SAAiBC,GACbvE,KAAKiD,SAAWsB,GAGpB3D,EAAAnB,UAAA+E,eAAA,WACI,OAAOxE,KAAK+C,QAAU,OAAU/C,KAAKyE,cAAgB,QAAU,SAInE7D,EAAAnB,UAAAiF,OAAA,WACI1E,KAAK+C,SAAW/C,KAAK+C,SAUzBnC,EAAAnB,UAAAkF,aAAA,SAAaC,GAAb,IAAApD,EAAAxB,KAQI4E,EAAMC,kBAGD7E,KAAKiD,UAAkC,SAAtBjD,KAAKuB,aAkBfvB,KAAKiD,UAAkC,SAAtBjD,KAAKuB,eAG9BvB,KAAK0D,aAAaC,cAAcZ,QAAU/C,KAAK+C,QAC/C/C,KAAK0D,aAAaC,cAAcc,cAAgBzE,KAAKyE,gBApBjDzE,KAAKyE,eAAuC,UAAtBzE,KAAKuB,cAE3BuD,QAAQC,UAAUC,MAAK,WACnBxD,EAAKW,gBAAiB,EACtBX,EAAKQ,oBAAoBuB,KAAK/B,EAAKW,mBAI3CnC,KAAK0E,SACL1E,KAAKmD,qBACDnD,KAAKiC,SAAW9B,EAAAA,qBAAqBkD,QAAUlD,EAAAA,qBAAqBmD,WAKxEtD,KAAKiF,oBAUbrE,EAAAnB,UAAAyF,MAAA,WACIlF,KAAKsB,cAAc6D,SAASnF,KAAK0D,aAAaC,cAAe,aAGjE/C,EAAAnB,UAAA2F,mBAAA,SAAmBR,GAIfA,EAAMC,mBAKFjE,EAAAnB,UAAA0D,qBAAA,SAAqBkC,GACzB,IAAMC,EAAWtF,KAAKsC,kBAChBiD,EAAuBvF,KAAKc,YAAY6C,cAE1C2B,IAAaD,IAGbrF,KAAKqC,sBAAsBmD,OAAS,GACpCD,EAAQE,UAAUC,OAAO1F,KAAKqC,uBAGlCrC,KAAKsC,kBAAoB+C,EAErBrF,KAAKqC,sBAAsBmD,OAAS,GACpCD,EAAQE,UAAUE,IAAI3F,KAAKqC,yBAI3BzB,EAAAnB,UAAAwF,gBAAA,WACJ,IAAML,EAAQ,IAAIgB,EAClBhB,EAAMiB,OAAS7F,KACf4E,EAAM7B,QAAU/C,KAAK+C,QAErB/C,KAAKyC,6BAA6BzC,KAAK+C,SACvC/C,KAAK8B,OAAOyB,KAAKqB,IAIbhE,EAAAnB,UAAAqE,mBAAA,SAAmBD,GACnBA,GACA7D,KAAKwC,gBApRezB,uBAnB/B+E,EAAAA,UAASC,KAAA,CAAC,CACPC,SAAU,cACVC,SAAU,aACVC,SAAA,4vCAEAC,KAAM,CACFC,MAAO,cACPC,OAAQ,KACRC,YAAa,KACbC,2BAA4B,gBAC5BC,qBAAsB,UACtBC,sBAAuB,WACvBC,mCAAoC,6BAExCC,UAAW,CAACpG,GACZqG,OAAQ,CAAC,QAAS,YAClBC,cAAeC,EAAAA,kBAAkBC,KACjCC,gBAAiBC,EAAAA,wBAAwBC,knDAxGzCC,EAAAA,kBAFAC,EAAAA,yBAJKC,EAAAA,6CA8OAC,EAAAA,UAAQ,CAAAC,KAAIC,EAAAA,OAAMzB,KAAA,CAAC3F,2CAvHvBqH,EAAAA,MAAK1B,KAAA,CAAC,sCAKN0B,EAAAA,MAAK1B,KAAA,CAAC,+BAGN0B,EAAAA,6BAGAA,EAAAA,oBAGAA,EAAAA,sBAGAC,EAAAA,oCAGAA,EAAAA,sBAGAD,EAAAA,4BAGAE,EAAAA,UAAS5B,KAAA,CAAC,QAAS,CAAE6B,QAAQ,sBAQ7BH,EAAAA,uBAcAA,EAAAA,wBAkBAA,EAAAA,6BAoBAA,EAAAA,aElMQI,EAA2C,CACpDrH,QAASsH,EAAAA,cACTpH,YAAaC,EAAAA,YAAW,WAAM,OAAAoH,KAC9BlH,OAAO,iBAcX,SAAAkH,0DAAiDnI,EAAAmI,EAAAtG,MAAAuG,EAAAA,+CANhDC,EAAAA,UAASlC,KAAA,CAAC,CACPC,SAAU,2HAEVW,UAAW,CAACkB,GACZ1B,KAAM,CAAE+B,kBAAmB,kCCd/B,iCALCC,EAAAA,SAAQpC,KAAA,CAAC,CACNqC,QAAS,CAACC,EAAAA,cACVC,QAAS,CAAC1H,EAAYmH,GACtBQ,aAAc,CAAC3H,EAAYmH","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { FocusMonitor, FocusOrigin } from '@angular/cdk/a11y';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n OnDestroy,\n Optional,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport {\n CanColor,\n CanColorCtor,\n CanDisable,\n CanDisableCtor,\n HasTabIndex,\n HasTabIndexCtor,\n mixinColor,\n mixinDisabled,\n mixinTabIndex,\n toBoolean\n} from '@ptsecurity/mosaic/core';\n\nimport { MC_CHECKBOX_CLICK_ACTION, McCheckboxClickAction } from './checkbox-config';\n\n\n// Increasing integer for generating unique ids for checkbox components.\nlet nextUniqueId = 0;\n\n/**\n * Provider Expression that allows mc-checkbox to register as a ControlValueAccessor.\n * This allows it to support [(ngModel)].\n * @docs-private\n */\nexport const MC_CHECKBOX_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => McCheckbox),\n multi: true\n};\n\n/**\n * Represents the different states that require custom transitions between them.\n * @docs-private\n */\nexport enum TransitionCheckState {\n /** The initial state of the component before any user interaction. */\n Init,\n /** The state representing the component when it's becoming checked. */\n Checked,\n /** The state representing the component when it's becoming unchecked. */\n Unchecked,\n /** The state representing the component when it's becoming indeterminate. */\n Indeterminate\n}\n\n/** Change event object emitted by McCheckbox. */\nexport class McCheckboxChange {\n /** The source McCheckbox of the event. */\n source: McCheckbox;\n /** The new `checked` value of the checkbox. */\n checked: boolean;\n}\n\n// Boilerplate for applying mixins to McCheckbox.\n/** @docs-private */\nexport class McCheckboxBase {\n // tslint:disable-next-line:naming-convention\n constructor(public _elementRef: ElementRef) {}\n}\n\n// tslint:disable-next-line:naming-convention\nexport const McCheckboxMixinBase:\n HasTabIndexCtor &\n CanColorCtor &\n CanDisableCtor &\n typeof McCheckboxBase = mixinTabIndex(mixinColor(mixinDisabled(McCheckboxBase)));\n\n\n/**\n * A mosaic checkbox component. Supports all of the functionality of an HTML5 checkbox,\n * and exposes a similar API. A McCheckbox can be either checked, unchecked, indeterminate, or\n * disabled. Note that all additional accessibility attributes are taken care of by the component,\n * so there is no need to provide them yourself. However, if you want to omit a label and still\n * have the checkbox be accessible, you may supply an [aria-label] input.\n */\n@Component({\n selector: 'mc-checkbox',\n exportAs: 'mcCheckbox',\n templateUrl: 'checkbox.html',\n styleUrls: ['checkbox.scss'],\n host: {\n class: 'mc-checkbox',\n '[id]': 'id',\n '[attr.id]': 'id',\n '[class.mc-indeterminate]': 'indeterminate',\n '[class.mc-checked]': 'checked',\n '[class.mc-disabled]': 'disabled',\n '[class.mc-checkbox-label-before]': 'labelPosition == \"before\"'\n },\n providers: [MC_CHECKBOX_CONTROL_VALUE_ACCESSOR],\n inputs: ['color', 'tabIndex'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class McCheckbox extends McCheckboxMixinBase implements ControlValueAccessor,\n AfterViewInit, OnDestroy, CanColor, CanDisable, HasTabIndex {\n\n /**\n * Attached to the aria-label attribute of the host element. In most cases, arial-labelledby will\n * take precedence so this may be omitted.\n */\n @Input('aria-label') ariaLabel: string = '';\n\n /**\n * Users can specify the `aria-labelledby` attribute which will be forwarded to the input element\n */\n @Input('aria-labelledby') ariaLabelledby: string | null = null;\n\n /** A unique id for the checkbox input. If none is supplied, it will be auto-generated. */\n @Input() id: string;\n\n /** Whether the label should appear after or before the checkbox. Defaults to 'after' */\n @Input() labelPosition: 'before' | 'after' = 'after';\n\n /** Name value will be applied to the input element if present */\n @Input() name: string | null = null;\n\n /** Event emitted when the checkbox's `checked` value changes. */\n @Output() readonly change: EventEmitter<McCheckboxChange> = new EventEmitter<McCheckboxChange>();\n\n /** Event emitted when the checkbox's `indeterminate` value changes. */\n @Output() readonly indeterminateChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** The value attribute of the native input element */\n @Input() value: string;\n\n /** The native `<input type=\"checkbox\">` element */\n @ViewChild('input', { static: false }) inputElement: ElementRef;\n\n /** Returns the unique id for the visual hidden input. */\n get inputId(): string {\n return `${this.id || this.uniqueId}-input`;\n }\n\n /** Whether the checkbox is required. */\n @Input()\n get required(): boolean {\n return this._required;\n }\n\n set required(value: boolean) {\n this._required = toBoolean(value);\n }\n\n private _required: boolean;\n\n /**\n * Whether the checkbox is checked.\n */\n @Input()\n get checked(): boolean {\n return this._checked;\n }\n\n set checked(value: boolean) {\n if (value !== this.checked) {\n this._checked = value;\n this._changeDetectorRef.markForCheck();\n }\n }\n\n private _checked: boolean = false;\n\n /**\n * Whether the checkbox is disabled. This fully overrides the implementation provided by\n * mixinDisabled, but the mixin is still required because mixinTabIndex requires it.\n */\n @Input()\n get disabled() {\n return this._disabled;\n }\n\n set disabled(value: any) {\n if (value !== this.disabled) {\n this._disabled = value;\n this._changeDetectorRef.markForCheck();\n }\n }\n\n private _disabled: boolean = false;\n\n /**\n * Whether the checkbox is indeterminate. This is also known as \"mixed\" mode and can be used to\n * represent a checkbox with three states, e.g. a checkbox that represents a nested list of\n * checkable items. Note that whenever checkbox is manually clicked, indeterminate is immediately\n * set to false.\n */\n @Input()\n get indeterminate(): boolean {\n return this._indeterminate;\n }\n\n set indeterminate(value: boolean) {\n const changed = value !== this._indeterminate;\n this._indeterminate = value;\n\n if (changed) {\n if (this._indeterminate) {\n this.transitionCheckState(TransitionCheckState.Indeterminate);\n } else {\n this.transitionCheckState(\n this.checked ? TransitionCheckState.Checked : TransitionCheckState.Unchecked);\n }\n\n this.indeterminateChange.emit(this._indeterminate);\n }\n }\n\n private _indeterminate: boolean = false;\n\n private uniqueId: string = `mc-checkbox-${++nextUniqueId}`;\n\n private currentAnimationClass: string = '';\n\n private currentCheckState: TransitionCheckState = TransitionCheckState.Init;\n\n constructor(\n elementRef: ElementRef,\n private _changeDetectorRef: ChangeDetectorRef,\n private _focusMonitor: FocusMonitor,\n @Optional() @Inject(MC_CHECKBOX_CLICK_ACTION)\n private _clickAction: McCheckboxClickAction\n ) {\n super(elementRef);\n\n this.id = this.uniqueId;\n }\n\n /**\n * Called when the checkbox is blurred. Needed to properly implement ControlValueAccessor.\n * @docs-private\n */\n // tslint:disable-next-line:no-empty\n onTouched: () => any = () => {};\n\n ngAfterViewInit() {\n this._focusMonitor\n .monitor(this.inputElement.nativeElement)\n .subscribe((focusOrigin) => this.onInputFocusChange(focusOrigin));\n }\n\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this.inputElement.nativeElement);\n }\n\n /** Method being called whenever the label text changes. */\n onLabelTextChange() {\n // This method is getting called whenever the label of the checkbox changes.\n // Since the checkbox uses the OnPush strategy we need to notify it about the change\n // that has been recognized by the cdkObserveContent directive.\n this._changeDetectorRef.markForCheck();\n }\n\n // Implemented as part of ControlValueAccessor.\n writeValue(value: any) {\n this.checked = !!value;\n }\n\n // Implemented as part of ControlValueAccessor.\n registerOnChange(fn: (value: any) => void) {\n this.controlValueAccessorChangeFn = fn;\n }\n\n // Implemented as part of ControlValueAccessor.\n registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n\n // Implemented as part of ControlValueAccessor.\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled;\n }\n\n getAriaChecked(): 'true' | 'false' | 'mixed' {\n return this.checked ? 'true' : (this.indeterminate ? 'mixed' : 'false');\n }\n\n /** Toggles the `checked` state of the checkbox. */\n toggle(): void {\n this.checked = !this.checked;\n }\n\n /**\n * Event handler for checkbox input element.\n * Toggles checked state if element is not disabled.\n * Do not toggle on (change) event since IE doesn't fire change event when\n * indeterminate checkbox is clicked.\n * @param event Input click event\n */\n onInputClick(event: Event) {\n // We have to stop propagation for click events on the visual hidden input element.\n // By default, when a user clicks on a label element, a generated click event will be\n // dispatched on the associated input element. Since we are using a label element as our\n // root container, the click event on the `checkbox` will be executed twice.\n // The real click event will bubble up, and the generated click event also tries to bubble up.\n // This will lead to multiple click events.\n // Preventing bubbling for the second event will solve that issue.\n event.stopPropagation();\n\n // If resetIndeterminate is false, and the current state is indeterminate, do nothing on click\n if (!this.disabled && this._clickAction !== 'noop') {\n // When user manually click on the checkbox, `indeterminate` is set to false.\n if (this.indeterminate && this._clickAction !== 'check') {\n\n Promise.resolve().then(() => {\n this._indeterminate = false;\n this.indeterminateChange.emit(this._indeterminate);\n });\n }\n\n this.toggle();\n this.transitionCheckState(\n this._checked ? TransitionCheckState.Checked : TransitionCheckState.Unchecked);\n\n // Emit our custom change event if the native input emitted one.\n // It is important to only emit it, if the native input triggered one, because\n // we don't want to trigger a change event, when the `checked` variable changes for example.\n this.emitChangeEvent();\n } else if (!this.disabled && this._clickAction === 'noop') {\n // Reset native input when clicked with noop. The native checkbox becomes checked after\n // click, reset it to be align with `checked` value of `mc-checkbox`.\n this.inputElement.nativeElement.checked = this.checked;\n this.inputElement.nativeElement.indeterminate = this.indeterminate;\n }\n }\n\n /** Focuses the checkbox. */\n focus(): void {\n this._focusMonitor.focusVia(this.inputElement.nativeElement, 'keyboard');\n }\n\n onInteractionEvent(event: Event) {\n // We always have to stop propagation on the change event.\n // Otherwise the change event, from the input element, will bubble up and\n // emit its event object to the `change` output.\n event.stopPropagation();\n }\n // tslint:disable-next-line:no-empty\n private controlValueAccessorChangeFn: (value: any) => void = () => {};\n\n private transitionCheckState(newState: TransitionCheckState) {\n const oldState = this.currentCheckState;\n const element: HTMLElement = this._elementRef.nativeElement;\n\n if (oldState === newState) {\n return;\n }\n if (this.currentAnimationClass.length > 0) {\n element.classList.remove(this.currentAnimationClass);\n }\n\n this.currentCheckState = newState;\n\n if (this.currentAnimationClass.length > 0) {\n element.classList.add(this.currentAnimationClass);\n }\n }\n\n private emitChangeEvent() {\n const event = new McCheckboxChange();\n event.source = this;\n event.checked = this.checked;\n\n this.controlValueAccessorChangeFn(this.checked);\n this.change.emit(event);\n }\n\n /** Function is called whenever the focus changes for the input element. */\n private onInputFocusChange(focusOrigin: FocusOrigin) {\n if (focusOrigin) {\n this.onTouched();\n }\n }\n}\n","import { InjectionToken } from '@angular/core';\n\n\n/**\n * Checkbox click action when user click on input element.\n * noop: Do not toggle checked or indeterminate.\n * check: Only toggle checked status, ignore indeterminate.\n * check-indeterminate: Toggle checked status, set indeterminate to false. Default behavior.\n * undefined: Same as `check-indeterminate`.\n */\nexport type McCheckboxClickAction = 'noop' | 'check' | 'check-indeterminate' | undefined;\n\n/**\n * Injection token that can be used to specify the checkbox click behavior.\n */\nexport const MC_CHECKBOX_CLICK_ACTION =\n new InjectionToken<McCheckboxClickAction>('mc-checkbox-click-action');\n","import {\n Directive,\n forwardRef,\n Provider\n} from '@angular/core';\nimport {\n CheckboxRequiredValidator,\n NG_VALIDATORS\n} from '@angular/forms';\n\n\nexport const MC_CHECKBOX_REQUIRED_VALIDATOR: Provider = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => McCheckboxRequiredValidator),\n multi: true\n};\n\n/**\n * Validator for Mosaic checkbox's required attribute in template-driven checkbox.\n * Current CheckboxRequiredValidator only work with `input type=checkbox` and does not\n * work with `mc-checkbox`.\n */\n@Directive({\n selector: `mc-checkbox[required][formControlName],\n mc-checkbox[required][formControl], mc-checkbox[required][ngModel]`,\n providers: [MC_CHECKBOX_REQUIRED_VALIDATOR],\n host: { '[attr.required]': 'required ? \"\" : null' }\n})\nexport class McCheckboxRequiredValidator extends CheckboxRequiredValidator {\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { McCheckbox } from './checkbox';\nimport { McCheckboxRequiredValidator } from './checkbox-required-validator';\n\n\n@NgModule({\n imports: [CommonModule],\n exports: [McCheckbox, McCheckboxRequiredValidator],\n declarations: [McCheckbox, McCheckboxRequiredValidator]\n})\nexport class McCheckboxModule {\n}\n"]}
@@ -1,17 +0,0 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/cdk/bidi"),require("@angular/core"),require("@angular/cdk/coercion"),require("rxjs"),require("@ptsecurity/cdk/datetime"),require("messageformat"),require("@angular/forms"),require("@angular/common"),require("@angular/cdk/overlay"),require("@angular/animations"),require("@ptsecurity/cdk/keycodes")):"function"==typeof define&&define.amd?define("@ptsecurity/mosaic/core",["exports","@angular/cdk/bidi","@angular/core","@angular/cdk/coercion","rxjs","@ptsecurity/cdk/datetime","messageformat","@angular/forms","@angular/common","@angular/cdk/overlay","@angular/animations","@ptsecurity/cdk/keycodes"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).ptsecurity=e.ptsecurity||{},e.ptsecurity.mosaic=e.ptsecurity.mosaic||{},e.ptsecurity.mosaic.core={}),e.ng.cdk.bidi,e.ng.core,e.ng.cdk.coercion,e.rxjs,e.mc.cdk.datetime,e.messageformat,e.ng.forms,e.ng.common,e.ng.cdk.overlay,e.ng.animations,e.mc.cdk.keycodes)}(this,(function(e,t,n,o,r,i,s,a,c,l,E,T){"use strict";function h(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,o.get?o:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var p=h(n),A=h(s),u=h(c);var m=new n.InjectionToken("mc-sanity-checks",{providedIn:"root",factory:d});function d(){return!0}var D=function(){function e(e){this._sanityChecksEnabled=e,this.hasDoneGlobalChecks=!1,this._document="object"==typeof document&&document?document:null,this._window="object"==typeof window&&window?window:null,this.areChecksEnabled()&&!this.hasDoneGlobalChecks&&(this.checkDoctypeIsDefined(),this.checkThemeIsPresent(),this.hasDoneGlobalChecks=!0)}return e.prototype.areChecksEnabled=function(){return this._sanityChecksEnabled&&n.isDevMode()&&!this.isTestEnv()},e.prototype.isTestEnv=function(){return this._window&&(this._window.__karma__||this._window.jasmine)},e.prototype.checkDoctypeIsDefined=function(){this._document&&!this._document.doctype&&console.warn("Current document does not have a doctype. This may cause some Mosaic components not to behave as expected.")},e.prototype.checkThemeIsPresent=function(){if(this._document&&"function"==typeof getComputedStyle){var e=this._document.createElement("div");e.classList.add("mc-theme-loaded-marker"),this._document.body.appendChild(e);var t=getComputedStyle(e);t&&"none"!==t.display&&console.warn("Could not find Mosaic core theme. Most Mosaic components may not work as expected. For more info refer to the theming guide: link there"),this._document.body.removeChild(e)}},e}();D.decorators=[{type:n.NgModule,args:[{imports:[t.BidiModule],exports:[t.BidiModule]}]}],D.ctorParameters=function(){return[{type:Boolean,decorators:[{type:n.Optional},{type:n.Inject,args:[m]}]}]};
2
- /*! *****************************************************************************
3
- Copyright (c) Microsoft Corporation.
4
-
5
- Permission to use, copy, modify, and/or distribute this software for any
6
- purpose with or without fee is hereby granted.
7
-
8
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
9
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
10
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
11
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
12
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
- PERFORMANCE OF THIS SOFTWARE.
15
- ***************************************************************************** */
16
- var _=function(e,t){return(_=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)};function R(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}_(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}Object.create;function g(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var o,r,i=n.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(o=i.next()).done;)s.push(o.value)}catch(e){r={error:e}}finally{try{o&&!o.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}return s}function f(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(g(arguments[t]));return e}var y;Object.create;function S(e){return function(e){function t(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var o=e.apply(this,f(t))||this;return o._disabled=!1,o}return R(t,e),Object.defineProperty(t.prototype,"disabled",{get:function(){return this._disabled},set:function(e){this._disabled=o.coerceBooleanProperty(e)},enumerable:!1,configurable:!0}),t}(e)}e.ThemePalette=void 0,(y=e.ThemePalette||(e.ThemePalette={})).Primary="primary",y.Second="second",y.Error="error",y.Default="second",y.Empty="";var b=function(){};b.decorators=[{type:n.Directive,args:[{selector:"[mc-line], [mcLine]",host:{class:"mc-line"}}]}];var I=function(){function e(e,t){var n=this;this._lines=e,this._element=t,this.setLineClass(this._lines.length),this._lines.changes.subscribe((function(){n.setLineClass(n._lines.length)}))}return e.prototype.setLineClass=function(e){this.resetClasses(),2===e||3===e?this.setClass("mc-"+e+"-line",!0):e>3&&this.setClass("mc-multi-line",!0)},e.prototype.resetClasses=function(){this.setClass("mc-2-line",!1),this.setClass("mc-3-line",!1),this.setClass("mc-multi-line",!1)},e.prototype.setClass=function(e,t){t?this._element.nativeElement.classList.add(e):this._element.nativeElement.classList.remove(e)},e}(),M=function(){};M.decorators=[{type:n.NgModule,args:[{imports:[],exports:[b],declarations:[b]}]}];var N=function(){function e(){}return e.prototype.isErrorState=function(e,t){return!!(e&&e.invalid&&(e.dirty||t&&t.submitted))},e}();N.decorators=[{type:n.Injectable}];var v=function(){function e(){}return e.prototype.isErrorState=function(e,t){return!!(e&&e.invalid&&(e.touched||t&&t.submitted))},e}();v.ɵprov=p.ɵɵdefineInjectable({factory:function(){return new v},token:v,providedIn:"root"}),v.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}];var O={relativeTemplates:{short:{SECONDS_AGO:"Just now",MINUTES_AGO:"{MINUTES_PASSED}{NBSP}min ago",TODAY:"{TIME}",YESTERDAY:"Yesterday, {TIME}",BEFORE_YESTERDAY:"{CURRENT_YEAR, select, yes{{SHORT_DATE}, {TIME}} other{{SHORT_DATE}, {YEAR}}}"},long:{SECONDS_AGO:"Just now",MINUTES_AGO:"{MINUTES_PASSED, plural, =1{#{NBSP}minute} other{#{NBSP}minutes}} ago",TODAY:"{TIME}",YESTERDAY:"Yesterday, {TIME}",BEFORE_YESTERDAY:"{CURRENT_YEAR, select, yes{{DATE}, {TIME}} other{{DATE}, {YEAR}}}"}},absoluteTemplates:{short:{DATE:"{CURRENT_YEAR, select, yes{{SHORT_DATE}} other{{SHORT_DATE}, {YEAR}}}",DATETIME:"{\n CURRENT_YEAR,\n select,\n yes{{SHORT_DATE}, {TIME}}\n other{{SHORT_DATE}, {YEAR}, {TIME}}\n }{\n SHOW_MILLISECONDS,\n select,\n yes{:{SECONDS}{MILLISECONDS}}\n other{}\n }"},long:{DATE:"{CURRENT_YEAR, select, yes{{DATE}} other{{DATE}, {YEAR}}}",DATETIME:"{\n CURRENT_YEAR,\n select,\n yes{{DATE}, {TIME}}\n other{{DATE}, {YEAR}, {TIME}}\n }{\n SHOW_MILLISECONDS,\n select,\n yes{:{SECONDS}{MILLISECONDS}}\n other{}\n }"}},rangeTemplates:{closedRange:{short:{START_DATE:"{CURRENT_YEAR, select, yes{{SHORT_DATE}} other{{SHORT_DATE}, {YEAR}}}",END_DATE:"{\n SAME_MONTH,\n select,\n yes{{DAY}}\n other{{\n CURRENT_YEAR,\n select,\n yes{{SHORT_DATE}}\n other{{SHORT_DATE}, {YEAR}}\n }}\n }",DATE:"{\n SAME_MONTH,\n select,\n yes{{START_DATE}{DASH}{END_DATE}}\n other{{START_DATE}{LONG_DASH}{END_DATE}}\n }",START_DATETIME:"{\n SAME_DAY,\n select,\n yes{{TIME}}\n other{{\n CURRENT_YEAR,\n select,\n yes{{SHORT_DATE}, {TIME}}\n other{{SHORT_DATE}, {YEAR}, {TIME}}\n }}\n }",END_DATETIME:"{\n SAME_DAY,\n select,\n yes{{\n CURRENT_YEAR,\n select,\n yes{{TIME}, {SHORT_DATE}}\n other{{TIME}, {SHORT_DATE}, {YEAR}}\n }}\n other{{\n CURRENT_YEAR,\n select,\n yes{{SHORT_DATE}, {TIME}}\n other{{SHORT_DATE}, {YEAR}, {TIME}}\n }}\n }",DATETIME:"{\n SAME_DAY,\n select,\n yes{{START_DATETIME}{DASH}{END_DATETIME}}\n other{{START_DATETIME}{LONG_DASH}{END_DATETIME}}\n }"},middle:{START_DATE:"{\n SAME_MONTH,\n select,\n yes{{DAY}}\n other{{\n CURRENT_YEAR,\n select,\n yes{{DATE}}\n other{{DATE}, {YEAR}}\n }}\n }",END_DATE:"{CURRENT_YEAR, select, yes{{DATE}} other{{DATE}, {YEAR}}}",DATE:"{\n SAME_MONTH,\n select,\n yes{{START_DATE}{DASH}{END_DATE}}\n other{{START_DATE}{LONG_DASH}{END_DATE}}\n }",START_DATETIME:"{\n SAME_DAY,\n select,\n yes{{TIME}}\n other{{\n CURRENT_YEAR,\n select,\n yes{{DATE}, {TIME}}\n other{{DATE}, {YEAR}, {TIME}}\n }}\n }",END_DATETIME:"{\n SAME_DAY,\n select,\n yes{{\n CURRENT_YEAR,\n select,\n yes{{TIME}, {DATE}}\n other{{TIME}, {DATE}, {YEAR}}\n }}\n other{{\n CURRENT_YEAR,\n select,\n yes{{DATE}, {TIME}}\n other{{DATE}, {YEAR}, {TIME}}\n }}\n }",DATETIME:"{\n SAME_DAY,\n select,\n yes{{START_DATETIME}{DASH}{END_DATETIME}}\n other{{START_DATETIME}{LONG_DASH}{END_DATETIME}}\n }"},long:{START_DATE:"{CURRENT_YEAR, select, yes{{DATE}} other{{DATE}, {YEAR}}}",END_DATE:"{\n SAME_MONTH,\n select,\n yes{{DAY}}\n other{{\n CURRENT_YEAR,\n select,\n yes{{DATE}}\n other{{DATE}, {YEAR}}\n }}\n }",DATE:"{\n SAME_MONTH,\n select,\n yes{{START_DATE}{DASH}{END_DATE}}\n other{{START_DATE}{LONG_DASH}{END_DATE}}\n }",START_DATETIME:"{\n SAME_DAY,\n select,\n yes{{\n CURRENT_YEAR,\n select,\n yes{{DATE}, from{NBSP}{TIME}}\n other{{DATE}, {YEAR}, from{NBSP}{TIME}}\n }}\n other{{\n CURRENT_YEAR,\n select,\n yes{{DATE}, {TIME}}\n other{{DATE}, {YEAR}, {TIME}}\n }}\n }",END_DATETIME:"{\n SAME_DAY,\n select,\n yes{to{NBSP}{TIME}}\n other{{\n CURRENT_YEAR,\n select,\n yes{{DATE}, {TIME}}\n other{{DATE}, {YEAR}, {TIME}}\n }}\n }",DATETIME:"{\n SAME_DAY,\n select,\n yes{{START_DATETIME} {END_DATETIME}}\n other{From {START_DATETIME} to{NBSP}{END_DATETIME}}\n }"}},openedRange:{short:{START_DATE:"{\n CURRENT_YEAR,\n select,\n yes{{SHORT_DATE}}\n other{{SHORT_DATE} {YEAR}}\n }",END_DATE:"{CURRENT_YEAR, select, yes{{SHORT_DATE}} other{{SHORT_DATE} {YEAR}}}",DATE:"{\n RANGE_TYPE,\n select,\n onlyStart{From{NBSP}{START_DATE}}\n other{Until{NBSP}{END_DATE}}\n }",START_DATETIME:"{\n CURRENT_YEAR,\n select,\n yes{{SHORT_DATE}, {TIME}}\n other{{SHORT_DATE} {YEAR}, {TIME}}\n }",END_DATETIME:"{\n CURRENT_YEAR,\n select,\n yes{{SHORT_DATE}, {TIME}}\n other{{SHORT_DATE} {YEAR}, {TIME}}\n }",DATETIME:"{\n RANGE_TYPE,\n select,\n onlyStart{From{NBSP}{START_DATETIME}}\n other{Until{NBSP}{END_DATETIME}}\n }"},long:{START_DATE:"{\n CURRENT_YEAR,\n select,\n yes{{DATE}}\n other{{DATE} {YEAR}}\n }",END_DATE:"{CURRENT_YEAR, select, yes{{DATE}} other{{DATE} {YEAR}}}",DATE:"{\n RANGE_TYPE,\n select,\n onlyStart{From{NBSP}{START_DATE}}\n other{Until{NBSP}{END_DATE}}\n }",START_DATETIME:"{\n CURRENT_YEAR,\n select,\n yes{{DATE}, {TIME}}\n other{{DATE} {YEAR}, {TIME}}\n }",END_DATETIME:"{\n CURRENT_YEAR,\n select,\n yes{{DATE}, {TIME}}\n other{{DATE} {YEAR}, {TIME}}\n }",DATETIME:"{\n RANGE_TYPE,\n select,\n onlyStart{From{NBSP}{START_DATETIME}}\n other{Until{NBSP}{END_DATETIME}}\n }"}}}},Y={relativeTemplates:{short:{SECONDS_AGO:"Только что",MINUTES_AGO:"{MINUTES_PASSED}{NBSP}мин назад",TODAY:"{TIME}",YESTERDAY:"Вчера, {TIME}",BEFORE_YESTERDAY:"{CURRENT_YEAR, select, yes{{SHORT_DATE}, {TIME}} other{{SHORT_DATE} {YEAR}}}"},long:{SECONDS_AGO:"Только что",MINUTES_AGO:"{MINUTES_PASSED, plural, =1{#{NBSP}минуту} =2{#{NBSP}минуты} other{#{NBSP}минут}} назад",TODAY:"{TIME}",YESTERDAY:"Вчера, {TIME}",BEFORE_YESTERDAY:"{CURRENT_YEAR, select, yes{{DATE}, {TIME}} other{{DATE} {YEAR}}}"}},absoluteTemplates:{short:{DATE:"{CURRENT_YEAR, select, yes{{SHORT_DATE}} other{{SHORT_DATE} {YEAR}}}",DATETIME:"{\n CURRENT_YEAR,\n select,\n yes{{SHORT_DATE}, {TIME}}\n other{{SHORT_DATE} {YEAR}, {TIME}}\n }{\n SHOW_MILLISECONDS,\n select,\n yes{:{SECONDS}{MILLISECONDS}}\n other{}\n }"},long:{DATE:"{CURRENT_YEAR, select, yes{{DATE}} other{{DATE} {YEAR}}}",DATETIME:"{\n CURRENT_YEAR,\n select,\n yes{{DATE}, {TIME}}\n other{{DATE} {YEAR}, {TIME}}\n }{\n SHOW_MILLISECONDS,\n select,\n yes{:{SECONDS}{MILLISECONDS}}\n other{}\n }"}},rangeTemplates:{closedRange:{short:{START_DATE:"{\n SAME_MONTH,\n select,\n yes{{DAY}}\n other{{\n CURRENT_YEAR,\n select,\n yes{{SHORT_DATE}}\n other{{SHORT_DATE} {YEAR}}\n }}\n }",END_DATE:"{CURRENT_YEAR, select, yes{{SHORT_DATE}} other{{SHORT_DATE} {YEAR}}}",DATE:"{\n SAME_MONTH,\n select,\n yes{{START_DATE}{DASH}{END_DATE}}\n other{{START_DATE}{LONG_DASH}{END_DATE}}\n }",START_DATETIME:"{\n SAME_DAY,\n select,\n yes{{TIME}}\n other{{\n CURRENT_YEAR,\n select,\n yes{{SHORT_DATE}, {TIME}}\n other{{SHORT_DATE} {YEAR}, {TIME}}\n }}\n }",END_DATETIME:"{\n SAME_DAY,\n select,\n yes{{\n CURRENT_YEAR,\n select,\n yes{{TIME}, {SHORT_DATE}}\n other{{TIME}, {SHORT_DATE} {YEAR}}\n }}\n other{{\n CURRENT_YEAR,\n select,\n yes{{SHORT_DATE}, {TIME}}\n other{{SHORT_DATE} {YEAR}, {TIME}}\n }}\n }",DATETIME:"{\n SAME_DAY,\n select,\n yes{{START_DATETIME}{DASH}{END_DATETIME}}\n other{{START_DATETIME}{LONG_DASH}{END_DATETIME}}\n }"},middle:{START_DATE:"{\n SAME_MONTH,\n select,\n yes{{DAY}}\n other{{\n CURRENT_YEAR,\n select,\n yes{{DATE}}\n other{{DATE} {YEAR}}\n }}\n }",END_DATE:"{CURRENT_YEAR, select, yes{{DATE}} other{{DATE} {YEAR}}}",DATE:"{\n SAME_MONTH,\n select,\n yes{{START_DATE}{DASH}{END_DATE}}\n other{{START_DATE}{LONG_DASH}{END_DATE}}\n }",START_DATETIME:"{\n SAME_DAY,\n select,\n yes{{TIME}}\n other{{\n CURRENT_YEAR,\n select,\n yes{{DATE}, {TIME}}\n other{{DATE} {YEAR}, {TIME}}\n }}\n }",END_DATETIME:"{\n SAME_DAY,\n select,\n yes{{\n CURRENT_YEAR,\n select,\n yes{{TIME}, {DATE}}\n other{{TIME}, {DATE} {YEAR}}\n }}\n other{{\n CURRENT_YEAR,\n select,\n yes{{DATE}, {TIME}}\n other{{DATE} {YEAR}, {TIME}}\n }}\n }",DATETIME:"{\n SAME_DAY,\n select,\n yes{{START_DATETIME}{DASH}{END_DATETIME}}\n other{{START_DATETIME}{LONG_DASH}{END_DATETIME}}\n }"},long:{START_DATE:"{\n SAME_MONTH,\n select,\n yes{{DAY}}\n other{{\n CURRENT_YEAR,\n select,\n yes{{DATE}}\n other{{DATE} {YEAR}}\n }}\n }",END_DATE:"{CURRENT_YEAR, select, yes{{DATE}} other{{DATE} {YEAR}}}",DATE:"{\n SAME_MONTH,\n select,\n yes{{START_DATE}{DASH}{END_DATE}}\n other{{START_DATE}{LONG_DASH}{END_DATE}}\n }",START_DATETIME:"{\n SAME_DAY,\n select,\n yes{{\n CURRENT_YEAR,\n select,\n yes{{DATE}, с{NBSP}{TIME}}\n other{{DATE} {YEAR}, с{NBSP}{TIME}}\n }}\n other{{\n CURRENT_YEAR,\n select,\n yes{{DATE}, {TIME}}\n other{{DATE} {YEAR}, {TIME}}\n }}\n }",END_DATETIME:"{\n SAME_DAY,\n select,\n yes{по{NBSP}{TIME}}\n other{{\n CURRENT_YEAR,\n select,\n yes{{DATE}, {TIME}}\n other{{DATE} {YEAR}, {TIME}}\n }}\n }",DATETIME:"{\n SAME_DAY,\n select,\n yes{{START_DATETIME} {END_DATETIME}}\n other{С{NBSP}{START_DATETIME} по{NBSP}{END_DATETIME}}\n }"}},openedRange:{short:{START_DATE:"{\n CURRENT_YEAR,\n select,\n yes{{SHORT_DATE}}\n other{{SHORT_DATE} {YEAR}}\n }",END_DATE:"{CURRENT_YEAR, select, yes{{SHORT_DATE}} other{{SHORT_DATE} {YEAR}}}",DATE:"{\n RANGE_TYPE,\n select,\n onlyStart{С{NBSP}{START_DATE}}\n other{По{NBSP}{END_DATE}}\n }",START_DATETIME:"{\n CURRENT_YEAR,\n select,\n yes{{SHORT_DATE}, {TIME}}\n other{{SHORT_DATE} {YEAR}, {TIME}}\n }",END_DATETIME:"{\n CURRENT_YEAR,\n select,\n yes{{SHORT_DATE}, {TIME}}\n other{{SHORT_DATE} {YEAR}, {TIME}}\n }",DATETIME:"{\n RANGE_TYPE,\n select,\n onlyStart{С{NBSP}{START_DATETIME}}\n other{По{NBSP}{END_DATETIME}}\n }"},long:{START_DATE:"{\n CURRENT_YEAR,\n select,\n yes{{DATE}}\n other{{DATE} {YEAR}}\n }",END_DATE:"{CURRENT_YEAR, select, yes{{DATE}} other{{DATE} {YEAR}}}",DATE:"{\n RANGE_TYPE,\n select,\n onlyStart{С{NBSP}{START_DATE}}\n other{По{NBSP}{END_DATE}}\n }",START_DATETIME:"{\n CURRENT_YEAR,\n select,\n yes{{DATE}, {TIME}}\n other{{DATE} {YEAR}, {TIME}}\n }",END_DATETIME:"{\n CURRENT_YEAR,\n select,\n yes{{DATE}, {TIME}}\n other{{DATE} {YEAR}, {TIME}}\n }",DATETIME:"{\n RANGE_TYPE,\n select,\n onlyStart{С{NBSP}{START_DATETIME}}\n other{По{NBSP}{END_DATETIME}}\n }"}}}},C=function(){function e(e,t){this.adapter=e,this.invalidDateErrorText="Invalid date",this.config="en"===t?O:Y,this.messageFormat=new A(t)}return e.prototype.setLocale=function(e){this.config="en"===e?O:Y,this.adapter.setLocale(e)},e.prototype.relativeDate=function(e,t){if(!this.adapter.isDateInstance(e))throw new Error(this.invalidDateErrorText);var n,o=Math.abs(this.adapter.diffNow(e,"seconds")),r=Math.floor(Math.abs(this.adapter.diffNow(e,"minutes"))),i=this.adapter.hasSame(this.adapter.today(),e,"days"),s=this.adapter.diffNow(e,"days")<=-1&&this.adapter.diffNow(e,"days")>-2,a=Object.assign(Object.assign({},this.adapter.config.variables),t.variables),c=this.compileVariables(e,a);return o<=59?(c.SECONDS_PASSED=o,n=t.SECONDS_AGO):r<=59?(c.MINUTES_PASSED=r,n=t.MINUTES_AGO):n=i?t.TODAY:s?t.YESTERDAY:t.BEFORE_YESTERDAY,this.messageFormat.compile(n)(c)},e.prototype.relativeShortDate=function(e){return this.relativeDate(e,this.config.relativeTemplates.short)},e.prototype.relativeLongDate=function(e){return this.relativeDate(e,this.config.relativeTemplates.long)},e.prototype.absoluteDate=function(e,t,n,o){if(void 0===n&&(n=!1),void 0===o&&(o=!1),!this.adapter.isDateInstance(e))throw new Error(this.invalidDateErrorText);var r=this.compileVariables(e,Object.assign(Object.assign({},this.adapter.config.variables),t.variables));r.SHOW_MILLISECONDS=o?"yes":"no";var i=n?t.DATETIME:t.DATE;return this.messageFormat.compile(i)(r)},e.prototype.absoluteShortDate=function(e){return this.absoluteDate(e,this.config.absoluteTemplates.short)},e.prototype.absoluteShortDateTime=function(e,t){return this.absoluteDate(e,this.config.absoluteTemplates.short,!0,null==t?void 0:t.milliseconds)},e.prototype.absoluteLongDate=function(e){return this.absoluteDate(e,this.config.absoluteTemplates.long)},e.prototype.absoluteLongDateTime=function(e,t){return this.absoluteDate(e,this.config.absoluteTemplates.long,!0,null==t?void 0:t.milliseconds)},e.prototype.openedRangeDate=function(e,t,n){if(!this.adapter.isDateInstance(e)&&!this.adapter.isDateInstance(t))throw new Error(this.invalidDateErrorText);var o=Object.assign(Object.assign({},this.adapter.config.variables),n.variables),r={};if(e){var i=this.compileVariables(e,o);r=Object.assign(Object.assign({},o),{START_DATE:this.messageFormat.compile(n.START_DATE)(i),RANGE_TYPE:"onlyStart"})}else if(t){var s=this.compileVariables(t,o);r=Object.assign(Object.assign({},o),{END_DATE:this.messageFormat.compile(n.END_DATE)(s),RANGE_TYPE:"onlyEnd"})}return this.messageFormat.compile(n.DATE)(r)},e.prototype.openedRangeDateTime=function(e,t,n){if(!this.adapter.isDateInstance(e)&&!this.adapter.isDateInstance(t))throw new Error(this.invalidDateErrorText);var o=Object.assign(Object.assign({},this.adapter.config.variables),n.variables),r={};if(e){var i=this.compileVariables(e,o);r=Object.assign(Object.assign({},o),{START_DATETIME:this.messageFormat.compile(n.START_DATETIME)(i),RANGE_TYPE:"onlyStart"})}else if(t){var s=this.compileVariables(t,o);r=Object.assign(Object.assign({},o),{END_DATETIME:this.messageFormat.compile(n.END_DATETIME)(s),RANGE_TYPE:"onlyEnd"})}return this.messageFormat.compile(n.DATETIME)(r)},e.prototype.rangeDate=function(e,t,n){if(!this.adapter.isDateInstance(e)||!this.adapter.isDateInstance(t))throw new Error(this.invalidDateErrorText);var o=Object.assign(Object.assign({},this.adapter.config.variables),n.variables),r=this.hasSame(e,t,"month"),i=this.compileVariables(e,o);i.SAME_MONTH=r;var s=this.compileVariables(t,o);s.SAME_MONTH=r;var a="yes"===i.CURRENT_YEAR&&"yes"===s.CURRENT_YEAR;i.CURRENT_YEAR=a?"yes":"no",s.CURRENT_YEAR=a?"yes":"no";var c=Object.assign(Object.assign({},o),{START_DATE:this.messageFormat.compile(n.START_DATE)(i),END_DATE:this.messageFormat.compile(n.END_DATE)(s),SAME_MONTH:r});return this.messageFormat.compile(n.DATE)(c)},e.prototype.rangeDateTime=function(e,t,n){if(!this.adapter.isDateInstance(e)||!this.adapter.isDateInstance(t))throw new Error(this.invalidDateErrorText);var o=Object.assign(Object.assign({},this.adapter.config.variables),n.variables),r=this.hasSame(e,t,"month"),i=this.hasSame(e,t,"day"),s=this.compileVariables(e,o);s.SAME_MONTH=r,s.SAME_DAY=i;var a=this.compileVariables(t,o);a.SAME_MONTH=r,a.SAME_DAY=i;var c="yes"===s.CURRENT_YEAR&&"yes"===a.CURRENT_YEAR;s.CURRENT_YEAR=c?"yes":"no",a.CURRENT_YEAR=c?"yes":"no";var l=Object.assign(Object.assign({},o),{START_DATETIME:this.messageFormat.compile(n.START_DATETIME)(s),END_DATETIME:this.messageFormat.compile(n.END_DATETIME)(a),SAME_MONTH:r,SAME_DAY:i});return this.messageFormat.compile(n.DATETIME)(l)},e.prototype.rangeShortDate=function(e,t){var n=this.config.rangeTemplates;return e&&t?this.rangeDate(e,t,n.closedRange.short):this.openedRangeDate(e,t||null,n.openedRange.short)},e.prototype.rangeShortDateTime=function(e,t){var n=this.config.rangeTemplates;return e&&t?this.rangeDateTime(e,t,n.closedRange.short):this.openedRangeDateTime(e,t||null,n.openedRange.short)},e.prototype.rangeLongDate=function(e,t){var n=this.config.rangeTemplates;return e&&t?this.rangeDate(e,t,n.closedRange.long):this.openedRangeDate(e,t||null,n.openedRange.long)},e.prototype.rangeLongDateTime=function(e,t){var n=this.config.rangeTemplates;return e&&t?this.rangeDateTime(e,t,n.closedRange.long):this.openedRangeDateTime(e,t||null,n.openedRange.long)},e.prototype.rangeMiddleDateTime=function(e,t){return this.rangeDateTime(e,t,this.config.rangeTemplates.closedRange.middle)},e.prototype.compileVariables=function(e,t){var n={};for(var o in t)if(t.hasOwnProperty(o)){var r=t[o];n[o]=this.adapter.format(e,r)}return n.CURRENT_YEAR=this.hasSame(e,this.adapter.today(),"year"),n},e.prototype.hasSame=function(e,t,n){return this.adapter.hasSame(e,t,n)?"yes":"no"},e}();C.decorators=[{type:n.Injectable}],C.ctorParameters=function(){return[{type:i.DateAdapter},{type:String,decorators:[{type:n.Inject,args:[i.MC_DATE_LOCALE]}]}]};var P=new n.InjectionToken("McLocaleId");var x=/^(\d+)?\.((\d+)(-(\d+))?)?$/,k=function(){};var w=function(){function e(e){this._locale=e}return e.prototype.transform=function(e,t,n){if(function(e){return null==e||""===e||e!=e}(e))return null;var o,r=n||this._locale||"ru";t&&(o=function(e){var t=e.match(x);if(null===t)throw new Error(e+" is not a valid digit info");var n=t[1],o=t[3],r=t[5],i=new k;return null!=n&&(i.minimumIntegerDigits=parseInt(n)),null!=o&&(i.minimumFractionDigits=parseInt(o)),null!=r?i.maximumFractionDigits=parseInt(r):null!=o&&i.minimumFractionDigits>i.maximumFractionDigits&&(i.maximumFractionDigits=i.minimumFractionDigits),i}(t));var i=Object.assign({useGrouping:!0,minimumIntegerDigits:1,minimumFractionDigits:0,maximumFractionDigits:3},o);try{var s=function(e){if("string"==typeof e&&!isNaN(Number(e)-parseFloat(e)))return Number(e);if("number"!=typeof e)throw new Error(e+" is not a number");return e}(e);return Intl.NumberFormat.call(this,r,i).format(s)}catch(e){throw Error("InvalidPipeArgument: McDecimalPipe for pipe '"+JSON.stringify(e.message)+"'")}},e}();w.ɵprov=p.ɵɵdefineInjectable({factory:function(){return new w(p.ɵɵinject(P,8))},token:w,providedIn:"root"}),w.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]},{type:n.Pipe,args:[{name:"mcNumber"}]}],w.ctorParameters=function(){return[{type:String,decorators:[{type:n.Optional},{type:n.Inject,args:[P]}]}]};var H=function(){};H.decorators=[{type:n.NgModule,args:[{exports:[w],declarations:[w],providers:[C]}]}];var L=new n.InjectionToken("McUseValidation",{factory:function(){return{useValidation:!0}}});function B(e,t){e&&(e.clearValidators(),e.updateValueAndValidity({emitEvent:!1}),e.setValidators(t))}function U(e,t,n){t&&t.forEach((function(t){var o=t.validate;t instanceof a.RequiredValidator?t.validate=function(e){return n&&!n.submitted?null:o.call(t,e)}:t.validate=function(n){return e.focused?null:o.call(t,n)}}))}function j(e,t,n){var o=n.control.validator;n.invalid&&n.errors.required&&Promise.resolve().then((function(){return B(n.control,o)})),n.statusChanges.subscribe((function(){n.invalid&&t&&!t.submitted&&n.errors.required&&B(n.control,o),n.invalid&&e.focused&&B(n.control,o)}))}var F=function(){function e(){}return e.prototype.transform=function(e,t){return t?e.replace(new RegExp("("+t+")","gi"),'<mark class="mc-highlight">$1</mark>'):e},e}();F.decorators=[{type:n.Pipe,args:[{name:"mcHighlight"}]}];var G=function(){};G.decorators=[{type:n.NgModule,args:[{imports:[c.CommonModule],exports:[F],declarations:[F]}]}];var V=new n.InjectionToken("mc-select-scroll-strategy");function z(e){return function(){return e.scrollStrategies.reposition()}}var X={provide:V,deps:[l.Overlay],useFactory:z},W={top:{originX:"center",originY:"top",overlayX:"center",overlayY:"bottom"},topCenter:{originX:"center",originY:"top",overlayX:"center",overlayY:"bottom"},topLeft:{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom"},topRight:{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom"},right:{originX:"end",originY:"center",overlayX:"start",overlayY:"center"},rightTop:{originX:"end",originY:"top",overlayX:"start",overlayY:"top"},rightBottom:{originX:"end",originY:"bottom",overlayX:"start",overlayY:"bottom"},bottom:{originX:"center",originY:"bottom",overlayX:"center",overlayY:"top"},bottomCenter:{originX:"center",originY:"bottom",overlayX:"center",overlayY:"top"},bottomLeft:{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},bottomRight:{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"},left:{originX:"start",originY:"center",overlayX:"end",overlayY:"center"},leftTop:{originX:"start",originY:"top",overlayX:"end",overlayY:"top"},leftBottom:{originX:"start",originY:"bottom",overlayX:"end",overlayY:"bottom"}},q=Ee([W.top,W.right,W.bottom,W.left]),K=Ee([W.top,W.topLeft,W.topRight,W.right,W.rightTop,W.rightBottom,W.bottom,W.bottomLeft,W.bottomRight,W.left,W.leftTop,W.leftBottom]),J=Ee([W.top,W.bottom,W.rightBottom,W.leftBottom,W.bottomLeft,W.bottomRight]),$=Ee([W.bottom,W.top,W.topLeft,W.topRight,W.rightBottom,W.leftBottom]),Q=Ee([W.right,W.left,W.leftTop,W.leftBottom,W.top,W.bottom]),Z=Ee([W.left,W.right,W.rightTop,W.rightBottom,W.top,W.bottom]),ee=Ee([W.rightTop,W.leftTop,W.left,W.leftBottom,W.topLeft,W.bottomLeft]),te=Ee([W.rightBottom,W.leftBottom,W.left,W.leftTop,W.topLeft,W.bottomLeft]),ne=Ee([W.leftTop,W.rightTop,W.right,W.rightBottom,W.topRight,W.bottomRight]),oe=Ee([W.leftBottom,W.rightBottom,W.right,W.rightTop,W.topRight,W.bottomRight]),re=Ee([W.topLeft,W.topRight,W.bottomLeft,W.bottom,W.bottomRight,W.leftBottom,W.rightBottom]),ie=Ee([W.topRight,W.topLeft,W.bottomRight,W.bottom,W.bottomLeft,W.leftBottom,W.rightBottom]),se=Ee([W.bottomRight,W.bottomLeft,W.topRight,W.top,W.topLeft,W.leftTop,W.rightTop]),ae=Ee([W.bottomLeft,W.bottomRight,W.topLeft,W.top,W.topRight,W.rightTop,W.leftTop]),ce={top:J,topLeft:re,topRight:ie,bottom:$,bottomLeft:ae,bottomRight:se,left:Z,leftTop:ne,leftBottom:oe,right:Q,rightTop:ee,rightBottom:te};function le(e,t){return function(e,t){for(var n=-1,o=null==e?0:e.length,r=Array(o);++n<o;)r[n]=t(e[n],n,e);return r}(t,(function(t){return e[t]}))}function Ee(e){return null==e?[]:le(e,Object.keys(e))}var Te,he=E.trigger("fadeAnimation",[E.state("void",E.style({opacity:0})),E.state("true",E.style({opacity:1})),E.state("false",E.style({opacity:0})),E.transition("* => true",E.animate("150ms cubic-bezier(0.0, 0.0, 0.2, 1)")),E.transition("* => void",E.animate("150ms cubic-bezier(0.4, 0.0, 1, 1)"))]);e.AnimationCurves=void 0,(Te=e.AnimationCurves||(e.AnimationCurves={})).StandardCurve="cubic-bezier(0.4,0.0,0.2,1)",Te.DecelerationCurve="cubic-bezier(0.0,0.0,0.2,1)",Te.AccelerationCurve="cubic-bezier(0.4,0.0,1,1)",Te.SharpCurve="cubic-bezier(0.4,0.0,0.6,1)";var pe,Ae={transformPanel:E.trigger("transformPanel",[E.state("void",E.style({transform:"scaleY(0)",minWidth:"100%",opacity:0})),E.transition("void => *",E.group([E.animate("150ms cubic-bezier(0.25, 0.8, 0.25, 1)")])),E.transition("* => void",[E.animate("250ms 100ms linear",E.style({opacity:0}))])]),fadeInContent:E.trigger("fadeInContent",[E.state("showing",E.style({opacity:1})),E.transition("void => showing",[E.style({opacity:0}),E.animate("150ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)")])])},ue=new n.InjectionToken("mc-label-global-options");e.MultipleMode=void 0,(pe=e.MultipleMode||(e.MultipleMode={})).CHECKBOX="checkbox",pe.KEYBOARD="keyboard";var me=function(){this.state="unchecked",this.disabled=!1};me.decorators=[{type:n.Component,args:[{selector:"mc-pseudo-checkbox",template:'<i class="mc-checkbox-checkmark mc mc-check_16"></i>\n<i class="mc-checkbox-mixedmark mc mc-minus_16"></i>\n',host:{class:"mc-pseudo-checkbox","[class.mc-indeterminate]":'state === "indeterminate"',"[class.mc-checked]":'state === "checked"',"[class.mc-disabled]":"disabled"},preserveWhitespaces:!1,changeDetection:n.ChangeDetectionStrategy.OnPush,encapsulation:n.ViewEncapsulation.None,styles:[".mc-pseudo-checkbox{position:relative;display:inline-block;box-sizing:border-box;width:var(--mc-checkbox-size-width,16px);height:var(--mc-checkbox-size-width,16px);border-radius:3px;border-width:var(--mc-checkbox-size-border-width,1px);border-style:solid;cursor:pointer;vertical-align:middle;flex-shrink:0}.mc-pseudo-checkbox .mc-checkbox-checkmark,.mc-pseudo-checkbox .mc-checkbox-mixedmark{display:none;position:absolute;top:calc(-1 * var(--mc-checkbox-size-border-width, 1px));left:calc(-1 * var(--mc-checkbox-size-border-width, 1px))}.mc-pseudo-checkbox.mc-pseudo-checkbox-checked,.mc-pseudo-checkbox.mc-pseudo-checkbox-indeterminate{border-color:transparent}.mc-pseudo-checkbox.mc-checked .mc-checkbox-checkmark,.mc-pseudo-checkbox.mc-indeterminate .mc-checkbox-mixedmark{display:inline-block}.mc-pseudo-checkbox.mc-disabled{cursor:default}"]}]}],me.propDecorators={state:[{type:n.Input}],disabled:[{type:n.Input}]};var de=function(){};de.decorators=[{type:n.NgModule,args:[{imports:[c.CommonModule],exports:[me],declarations:[me]}]}];var De=function(){function e(e){this.document=e,this.scrollbarMeasure={position:"absolute",top:"-9999px",width:"50px",height:"50px",overflow:"scroll"},this.initScrollBarWidth()}return Object.defineProperty(e.prototype,"scrollBarWidth",{get:function(){return this._scrollBarWidth||this.initScrollBarWidth(),this._scrollBarWidth},enumerable:!1,configurable:!0}),e.prototype.initScrollBarWidth=function(){var e=this.document.createElement("div");for(var t in this.scrollbarMeasure)this.scrollbarMeasure.hasOwnProperty(t)&&(e.style[t]=this.scrollbarMeasure[t]);this.document.body.appendChild(e);var n=e.offsetWidth-e.clientWidth;this.document.body.removeChild(e),this._scrollBarWidth=n},e}();De.ɵprov=p.ɵɵdefineInjectable({factory:function(){return new De(p.ɵɵinject(u.DOCUMENT))},token:De,providedIn:"root"}),De.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}],De.ctorParameters=function(){return[{type:void 0,decorators:[{type:n.Inject,args:[c.DOCUMENT]}]}]};var _e=function(){},Re=S(_e),ge=0,fe=function(e){function t(){var t=e.apply(this,f(arguments))||this;return t.labelId="mc-optgroup-label-"+ge++,t}return R(t,e),t}(Re);fe.decorators=[{type:n.Component,args:[{selector:"mc-optgroup",exportAs:"mcOptgroup",template:'<label class="mc-optgroup-label" [id]="labelId">{{ label }}</label>\n<ng-content select="mc-option, mc-list-option, ng-container"></ng-content>\n',encapsulation:n.ViewEncapsulation.None,changeDetection:n.ChangeDetectionStrategy.OnPush,inputs:["disabled"],host:{class:"mc-optgroup","[class.mc-disabled]":"disabled"},styles:[".mc-optgroup-label{padding-left:var(--mc-optgroup-size-padding-left,17px);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}"]}]}],fe.propDecorators={label:[{type:n.Input}]};var ye=0,Se=function(e,t){void 0===t&&(t=!1),this.source=e,this.isUserInput=t},be=new n.InjectionToken("MC_OPTION_PARENT_COMPONENT"),Ie=function(){function e(e,t,o,i){this.element=e,this.changeDetectorRef=t,this.parent=o,this.group=i,this.onSelectionChange=new n.EventEmitter,this.stateChanges=new r.Subject,this._id="mc-option-"+ye++,this._selected=!1,this._disabled=!1,this._active=!1,this.mostRecentViewValue=""}return Object.defineProperty(e.prototype,"showCheckbox",{get:function(){return void 0===this._showCheckbox?this.multiple:this._showCheckbox},set:function(e){this._showCheckbox=o.coerceBooleanProperty(e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"viewValue",{get:function(){return(this.getHostElement().textContent||"").trim()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"multiple",{get:function(){return this.parent&&this.parent.multiple},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"id",{get:function(){return this._id},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"selected",{get:function(){return this._selected},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"disabled",{get:function(){return this.group&&this.group.disabled||this._disabled},set:function(e){this._disabled=o.coerceBooleanProperty(e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"active",{get:function(){return this._active},enumerable:!1,configurable:!0}),e.prototype.ngAfterViewChecked=function(){if(this._selected){var e=this.viewValue;e!==this.mostRecentViewValue&&(this.mostRecentViewValue=e,this.stateChanges.next())}},e.prototype.ngOnDestroy=function(){this.stateChanges.complete()},e.prototype.getHeight=function(){var e=this.element.nativeElement.getClientRects()[0];return e?e.height:0},e.prototype.select=function(){this._selected||(this._selected=!0,this.changeDetectorRef.markForCheck(),this.emitSelectionChangeEvent())},e.prototype.deselect=function(){this._selected&&(this._selected=!1,this.changeDetectorRef.markForCheck(),this.emitSelectionChangeEvent())},e.prototype.focus=function(){var e=this.getHostElement();"function"==typeof e.focus&&e.focus()},e.prototype.setActiveStyles=function(){this._active||(this._active=!0,this.changeDetectorRef.markForCheck())},e.prototype.setInactiveStyles=function(){this._active&&(this._active=!1,this.changeDetectorRef.markForCheck())},e.prototype.getLabel=function(){return this.viewValue},e.prototype.handleKeydown=function(e){e.keyCode!==T.ENTER&&e.keyCode!==T.SPACE||(this.selectViaInteraction(),e.preventDefault())},e.prototype.selectViaInteraction=function(){this.disabled||(this._selected=!this.multiple||!this._selected,this.changeDetectorRef.markForCheck(),this.emitSelectionChangeEvent(!0))},e.prototype.getTabIndex=function(){return this.disabled?"-1":"0"},e.prototype.getHostElement=function(){return this.element.nativeElement},e.prototype.emitSelectionChangeEvent=function(e){void 0===e&&(e=!1),this.onSelectionChange.emit(new Se(this,e))},e}();Ie.decorators=[{type:n.Component,args:[{selector:"mc-option",exportAs:"mcOption",host:{"[attr.tabindex]":"getTabIndex()",class:"mc-option","[class.mc-selected]":"selected","[class.mc-option-multiple]":"multiple","[class.mc-active]":"active","[class.mc-disabled]":"disabled","[id]":"id","(click)":"selectViaInteraction()","(keydown)":"handleKeydown($event)"},template:'<mc-pseudo-checkbox\n *ngIf="showCheckbox"\n [state]="selected ? \'checked\' : \'\'"\n [disabled]="disabled">\n</mc-pseudo-checkbox>\n\n<span class="mc-option-text"><ng-content></ng-content></span>\n\n<div class="mc-option-overlay"></div>\n',encapsulation:n.ViewEncapsulation.None,changeDetection:n.ChangeDetectionStrategy.OnPush,styles:[".mc-option{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;position:relative;max-width:100%;height:var(--mc-option-size-height,32px);border:var(--mc-option-size-border-width,2px) solid transparent;cursor:pointer;outline:none;padding-left:var(--mc-option-size-horizontal-padding,16px);padding-right:var(--mc-option-size-horizontal-padding,16px);-webkit-tap-highlight-color:transparent}.mc-option.mc-disabled{cursor:default}.mc-option .mc-pseudo-checkbox{margin-right:8px}.mc-option .mc-option-overlay{position:absolute;top:calc(-1 * var(--mc-option-size-border-width, 2px));left:calc(-1 * var(--mc-option-size-border-width, 2px));right:calc(-1 * var(--mc-option-size-border-width, 2px));bottom:calc(-1 * var(--mc-option-size-border-width, 2px));pointer-events:none;border-radius:inherit}.mc-option-text{display:inline-block;flex-grow:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}"]}]}],Ie.ctorParameters=function(){return[{type:n.ElementRef},{type:n.ChangeDetectorRef},{type:void 0,decorators:[{type:n.Optional},{type:n.Inject,args:[be]}]},{type:fe,decorators:[{type:n.Optional}]}]},Ie.propDecorators={value:[{type:n.Input}],showCheckbox:[{type:n.Input}],onSelectionChange:[{type:n.Output}],disabled:[{type:n.Input}]};var Me=function(){};Me.decorators=[{type:n.NgModule,args:[{imports:[c.CommonModule,de],exports:[Ie,fe],declarations:[Ie,fe]}]}];var Ne=function(){function e(e){this.element=e,this.margin=!1,this.isRow=!1,this.isFieldSet=!1,this.hasLegend=!1,this.isHorizontal=!1}return e.prototype.ngAfterContentInit=function(){var e=this.element.nativeElement.classList;this.isRow=e.contains("mc-form__row"),this.isHorizontal=e.contains("mc-horizontal"),this.isFieldSet=e.contains("mc-form__fieldset"),this.isFieldSet&&this.element.nativeElement.firstElementChild&&(this.hasLegend=this.element.nativeElement.firstElementChild.classList.contains("mc-form__legend"))},e}();Ne.decorators=[{type:n.Directive,args:[{selector:".mc-form__row, .mc-form__fieldset, .mc-form__legend",exportAs:"mcFormElement",host:{"[class.mc-form-row_margin]":"margin"}}]}],Ne.ctorParameters=function(){return[{type:n.ElementRef}]},Ne.propDecorators={elements:[{type:n.ContentChildren,args:[Ne]}]};var ve=function(){function e(){}return e.prototype.ngAfterContentInit=function(){this.handleElements(this.elements)},e.prototype.handleElements=function(e){var t=this;e.forEach((function(n,o){var r=e.get(o+1);n.isFieldSet&&!n.isHorizontal&&t.handleElements(n.elements),n.margin=!(!r||r.hasLegend)}))},e}();ve.decorators=[{type:n.Directive,args:[{selector:".mc-form-vertical, .mc-form-horizontal",exportAs:"mcForm",host:{class:"mc-form"}}]}],ve.propDecorators={elements:[{type:n.ContentChildren,args:[Ne]}]};var Oe=function(){};Oe.decorators=[{type:n.NgModule,args:[{exports:[ve,Ne],declarations:[ve,Ne]}]}],e.BOTTOM_LEFT_POSITION_PRIORITY=ae,e.BOTTOM_POSITION_PRIORITY=$,e.BOTTOM_RIGHT_POSITION_PRIORITY=se,e.DEFAULT_4_POSITIONS=q,e.DEFAULT_4_POSITIONS_TO_CSS_MAP={top:"top",bottom:"bottom",right:"right",left:"left"},e.DEFAULT_MC_LOCALE_ID="ru",e.DateFormatter=C,e.EXTENDED_OVERLAY_POSITIONS=K,e.ErrorStateMatcher=v,e.LEFT_BOTTOM_POSITION_PRIORITY=oe,e.LEFT_POSITION_PRIORITY=Z,e.LEFT_TOP_POSITION_PRIORITY=ne,e.MC_LABEL_GLOBAL_OPTIONS=ue,e.MC_LOCALE_ID=P,e.MC_OPTION_PARENT_COMPONENT=be,e.MC_SANITY_CHECKS=m,e.MC_SELECT_SCROLL_STRATEGY=V,e.MC_SELECT_SCROLL_STRATEGY_PROVIDER=X,e.MC_VALIDATION=L,e.McCommonModule=D,e.McDecimalPipe=w,e.McForm=ve,e.McFormElement=Ne,e.McFormattersModule=H,e.McFormsModule=Oe,e.McHighlightModule=G,e.McHighlightPipe=F,e.McLine=b,e.McLineModule=M,e.McLineSetter=I,e.McMeasureScrollbarService=De,e.McOptgroup=fe,e.McOptgroupBase=_e,e.McOptgroupMixinBase=Re,e.McOption=Ie,e.McOptionModule=Me,e.McOptionSelectionChange=Se,e.McPseudoCheckbox=me,e.McPseudoCheckboxModule=de,e.NUMBER_FORMAT_REGEXP=x,e.POSITION_MAP=W,e.POSITION_PRIORITY_STRATEGY=ce,e.POSITION_TO_CSS_MAP={top:"top",topLeft:"top-left",topRight:"top-right",right:"right",rightTop:"right-top",rightBottom:"right-bottom",left:"left",leftTop:"left-top",leftBottom:"left-bottom",bottom:"bottom",bottomLeft:"bottom-left",bottomRight:"bottom-right"},e.RIGHT_BOTTOM_POSITION_PRIORITY=te,e.RIGHT_POSITION_PRIORITY=Q,e.RIGHT_TOP_POSITION_PRIORITY=ee,e.SELECT_PANEL_INDENT_PADDING_X=2,e.SELECT_PANEL_MAX_HEIGHT=224,e.SELECT_PANEL_PADDING_X=1,e.SELECT_PANEL_VIEWPORT_PADDING=8,e.ShowOnDirtyErrorStateMatcher=N,e.TOP_LEFT_POSITION_PRIORITY=re,e.TOP_POSITION_PRIORITY=J,e.TOP_RIGHT_POSITION_PRIORITY=ie,e.countGroupLabelsBeforeOption=function(e,t,n){if(n.length){for(var o=t.toArray(),r=n.toArray(),i=0,s=0;s<e+1;s++)o[s].group&&o[s].group===r[i]&&i++;return i}return 0},e.fadeAnimation=he,e.getMcSelectDynamicMultipleError=function(){return Error("Cannot change `multiple` mode of select after initialization.")},e.getMcSelectNonArrayValueError=function(){return Error("Value must be an array in multiple-selection mode.")},e.getMcSelectNonFunctionValueError=function(){return Error("`compareWith` must be a function.")},e.getOptionScrollPosition=function(e,t,n,o){var r=e*t;return r<n?r:r+t>n+o?Math.max(0,r-o+t):n},e.isBoolean=function(e){return"boolean"==typeof e},e.mcSelectAnimations=Ae,e.mcSelectScrollStrategyProviderFactory=z,e.mixinColor=function(t,n){return void 0===n&&(n=e.ThemePalette.Default),function(e){function t(){for(var t=[],o=0;o<arguments.length;o++)t[o]=arguments[o];var r=e.apply(this,f(t))||this;return r.color=n,r}return R(t,e),Object.defineProperty(t.prototype,"color",{get:function(){return this._color},set:function(e){var t=e||n;t!==this._color&&(this._color&&this._elementRef.nativeElement.classList.remove("mc-"+this._color),t&&this._elementRef.nativeElement.classList.add("mc-"+t),this._color=t)},enumerable:!1,configurable:!0}),t}(t)},e.mixinDisabled=S,e.mixinErrorState=function(e){return function(e){function t(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var o=e.apply(this,f(t))||this;return o.errorState=!1,o.stateChanges=new r.Subject,o}return R(t,e),t.prototype.updateErrorState=function(){var e=this.errorState,t=this.parentFormGroup||this.parentForm,n=this.errorStateMatcher||this.defaultErrorStateMatcher,o=this.ngControl?this.ngControl.control:null,r=n.isErrorState(o,t);r!==e&&(this.errorState=r,this.stateChanges.next())},t}(e)},e.mixinTabIndex=function(e,t){return void 0===t&&(t=0),function(e){function n(){for(var n=[],o=0;o<arguments.length;o++)n[o]=arguments[o];var r=e.apply(this,f(n))||this;return r._tabIndex=t,r.defaultTabIndex=t,r}return R(n,e),Object.defineProperty(n.prototype,"tabIndex",{get:function(){return this.disabled?-1:this._tabIndex},set:function(e){this._tabIndex=null!=e?o.coerceNumberProperty(e):this.defaultTabIndex},enumerable:!1,configurable:!0}),n}(e)},e.selectEvents="selectEvents",e.setMosaicValidation=function(e){var t=e.ngControl;if(t){var n=e.parentForm||e.parentFormGroup;n&&n.ngSubmit.subscribe((function(){t.control.updateValueAndValidity({emitEvent:!1})})),e.ngModel?U(e,e.rawValidators,n):(e.formControlName||e.ngControl)&&j(e,n,t)}},e.setMosaicValidationForFormControl=j,e.setMosaicValidationForModelControl=U,e.toBoolean=function(e){return null!=e&&""+e!="false"},e.validationTooltipHideDelay=3e3,e.validationTooltipShowDelay=10,e.ɵa=d,Object.defineProperty(e,"__esModule",{value:!0})}));
17
- //# sourceMappingURL=ptsecurity-mosaic-core.umd.min.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../packages/mosaic/core/common-behaviors/common-module.ts","../../../node_modules/tslib/tslib.es6.js","../../../packages/mosaic/core/common-behaviors/color.ts","../../../packages/mosaic/core/common-behaviors/disabled.ts","../../../packages/mosaic/core/line/line.ts","../../../packages/mosaic/core/error/error-options.ts","../../../packages/mosaic/core/formatters/date/templates/en-US.ts","../../../packages/mosaic/core/formatters/date/templates/ru-RU.ts","../../../packages/mosaic/core/formatters/date/formatter.ts","../../../packages/mosaic/core/formatters/number/formatter.ts","../../../packages/mosaic/core/formatters/index.ts","../../../packages/mosaic/core/validation/validation.ts","../../../packages/mosaic/core/highlight/highlight.pipe.ts","../../../packages/mosaic/core/highlight/index.ts","../../../packages/mosaic/core/select/constants.ts","../../../packages/mosaic/core/overlay/overlay-position-map.ts","../../../packages/mosaic/core/animation/animation.ts","../../../packages/mosaic/core/animation/fade-animations.ts","../../../packages/mosaic/core/selection/constants.ts","../../../packages/mosaic/core/animation/select-animations.ts","../../../packages/mosaic/core/label/label-options.ts","../../../packages/mosaic/core/selection/pseudo-checkbox/pseudo-checkbox.ts","../../../packages/mosaic/core/selection/pseudo-checkbox/pseudo-checkbox.module.ts","../../../packages/mosaic/core/services/measure-scrollbar.service.ts","../../../packages/mosaic/core/option/optgroup.ts","../../../packages/mosaic/core/option/option.ts","../../../packages/mosaic/core/option/option-module.ts","../../../packages/mosaic/core/forms/forms.directive.ts","../../../packages/mosaic/core/forms/forms-module.ts","../../../packages/mosaic/core/select/errors.ts","../../../packages/mosaic/core/utils/utils.ts","../../../packages/mosaic/core/common-behaviors/error-state.ts","../../../packages/mosaic/core/common-behaviors/tabindex.ts","../../../packages/mosaic/core/select/events.ts"],"names":["MC_SANITY_CHECKS","InjectionToken","providedIn","factory","mcSanityChecksFactory","McCommonModule","_sanityChecksEnabled","this","hasDoneGlobalChecks","_document","document","_window","window","areChecksEnabled","checkDoctypeIsDefined","checkThemeIsPresent","prototype","isDevMode","isTestEnv","doctype","console","warn","getComputedStyle","testElement","createElement","classList","add","body","appendChild","computedStyle","display","removeChild","NgModule","args","imports","BidiModule","exports","Optional","type","Inject","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","call","__extends","TypeError","String","__","constructor","create","__read","o","n","m","Symbol","iterator","r","e","i","ar","next","done","push","value","error","__spread","arguments","length","concat","ThemePalette","mixinDisabled","base","_super","class_1","_i","_this","apply","_disabled","defineProperty","coerceBooleanProperty","Directive","selector","host","class","McLineSetter","_lines","_element","setLineClass","changes","subscribe","count","resetClasses","setClass","className","isAdd","nativeElement","remove","McLine","declarations","ShowOnDirtyErrorStateMatcher","isErrorState","control","form","invalid","dirty","submitted","Injectable","ErrorStateMatcher","touched","enUS","relativeTemplates","short","SECONDS_AGO","MINUTES_AGO","TODAY","YESTERDAY","BEFORE_YESTERDAY","long","absoluteTemplates","DATE","DATETIME","rangeTemplates","closedRange","START_DATE","END_DATE","START_DATETIME","END_DATETIME","middle","openedRange","ruRU","DateFormatter","adapter","locale","invalidDateErrorText","config","messageFormat","MessageFormat","setLocale","relativeDate","date","template","isDateInstance","Error","newTemplate","totalSeconds","Math","abs","diffNow","totalMinutes","floor","isToday","hasSame","today","isYesterday","templateVariables","assign","variables","compileVariables","SECONDS_PASSED","MINUTES_PASSED","compile","relativeShortDate","relativeLongDate","absoluteDate","params","datetime","milliseconds","SHOW_MILLISECONDS","absoluteShortDate","absoluteShortDateTime","options","absoluteLongDate","absoluteLongDateTime","openedRangeDate","startDate","endDate","startDateVariables","RANGE_TYPE","endDateVariables","openedRangeDateTime","rangeDate","sameMonth","SAME_MONTH","bothCurrentYear","CURRENT_YEAR","rangeDateTime","sameDay","SAME_DAY","rangeShortDate","rangeShortDateTime","rangeLongDate","rangeLongDateTime","rangeMiddleDateTime","compiledVariables","key","format","unit","DateAdapter","MC_DATE_LOCALE","MC_LOCALE_ID","NUMBER_FORMAT_REGEXP","ParsedDigitsInfo","McDecimalPipe","_locale","transform","digitsInfo","isEmpty","parsedDigitsInfo","currentLocale","parts","match","minIntPart","minFractionPart","maxFractionPart","result","minimumIntegerDigits","parseInt","minimumFractionDigits","maximumFractionDigits","parseDigitsInfo","useGrouping","num","isNaN","Number","parseFloat","strToNumber","Intl","NumberFormat","JSON","stringify","message","Pipe","name","providers","MC_VALIDATION","useValidation","setValidState","validator","clearValidators","updateValueAndValidity","emitEvent","setValidators","setMosaicValidationForModelControl","component","validators","parentForm","forEach","originalValidate","validate","RequiredValidator","focused","setMosaicValidationForFormControl","ngControl","originalValidator","errors","required","Promise","resolve","then","statusChanges","McHighlightPipe","replace","RegExp","CommonModule","MC_SELECT_SCROLL_STRATEGY","mcSelectScrollStrategyProviderFactory","overlay","scrollStrategies","reposition","MC_SELECT_SCROLL_STRATEGY_PROVIDER","provide","deps","Overlay","useFactory","POSITION_MAP","top","originX","originY","overlayX","overlayY","topCenter","topLeft","topRight","right","rightTop","rightBottom","bottom","bottomCenter","bottomLeft","bottomRight","left","leftTop","leftBottom","DEFAULT_4_POSITIONS","objectValues","EXTENDED_OVERLAY_POSITIONS","TOP_POSITION_PRIORITY","BOTTOM_POSITION_PRIORITY","RIGHT_POSITION_PRIORITY","LEFT_POSITION_PRIORITY","RIGHT_TOP_POSITION_PRIORITY","RIGHT_BOTTOM_POSITION_PRIORITY","LEFT_TOP_POSITION_PRIORITY","LEFT_BOTTOM_POSITION_PRIORITY","TOP_LEFT_POSITION_PRIORITY","TOP_RIGHT_POSITION_PRIORITY","BOTTOM_RIGHT_POSITION_PRIORITY","BOTTOM_LEFT_POSITION_PRIORITY","POSITION_PRIORITY_STRATEGY","baseValues","object","props","array","iteratee","index","arrayMap","keys","AnimationCurves","fadeAnimation","trigger","state","style","opacity","transition","animate","MultipleMode","mcSelectAnimations","transformPanel","minWidth","group","fadeInContent","MC_LABEL_GLOBAL_OPTIONS","disabled","Component","[class.mc-indeterminate]","[class.mc-checked]","[class.mc-disabled]","preserveWhitespaces","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","Input","McPseudoCheckbox","McMeasureScrollbarService","scrollbarMeasure","position","width","height","overflow","initScrollBarWidth","_scrollBarWidth","scrollDiv","scrollProp","offsetWidth","clientWidth","DOCUMENT","McOptgroupMixinBase","McOptgroupBase","uniqueOptgroupIdCounter","McOptgroup","labelId","exportAs","inputs","uniqueIdCounter","source","isUserInput","MC_OPTION_PARENT_COMPONENT","McOption","element","changeDetectorRef","parent","onSelectionChange","EventEmitter","stateChanges","Subject","_id","_selected","_active","mostRecentViewValue","undefined","_showCheckbox","multiple","getHostElement","textContent","trim","ngAfterViewChecked","viewValue","ngOnDestroy","complete","getHeight","DOMRect","getClientRects","select","markForCheck","emitSelectionChangeEvent","deselect","focus","setActiveStyles","setInactiveStyles","getLabel","handleKeydown","event","keyCode","ENTER","SPACE","selectViaInteraction","preventDefault","getTabIndex","emit","McOptionSelectionChange","[attr.tabindex]","[class.mc-selected]","[class.mc-option-multiple]","[class.mc-active]","[id]","(click)","(keydown)","ElementRef","ChangeDetectorRef","decorators","Output","McPseudoCheckboxModule","McFormElement","margin","isRow","isFieldSet","hasLegend","isHorizontal","ngAfterContentInit","contains","firstElementChild","[class.mc-form-row_margin]","ContentChildren","McForm","handleElements","elements","nextElement","get","SELECT_PANEL_PADDING_X","optionIndex","optionGroups","optionsArray","toArray","groups","groupCounter","optionHeight","currentScrollPosition","panelHeight","optionOffset","max","val","defaultColor","Default","color","_color","colorPalette","_elementRef","errorState","updateErrorState","oldState","parentFormGroup","matcher","errorStateMatcher","defaultErrorStateMatcher","newState","defaultTabIndex","Mixin","_tabIndex","coerceNumberProperty","ngSubmit","ngModel","rawValidators","formControlName"],"mappings":"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","sourcesContent":["import { BidiModule } from '@angular/cdk/bidi';\nimport { NgModule, InjectionToken, Optional, Inject, isDevMode } from '@angular/core';\n\n\n// Injection token that configures whether the Mosaic sanity checks are enabled.\nexport const MC_SANITY_CHECKS = new InjectionToken<boolean>('mc-sanity-checks', {\n providedIn: 'root',\n factory: mcSanityChecksFactory\n});\n\nexport function mcSanityChecksFactory(): boolean {\n return true;\n}\n\n/**\n * Module that captures anything that should be loaded and/or run for *all* Mosaic\n * components. This includes Bidi, etc.\n *\n * This module should be imported to each top-level component module (e.g., McTabsModule).\n */\n@NgModule({\n imports: [ BidiModule ],\n exports: [ BidiModule ]\n})\nexport class McCommonModule {\n // Whether we've done the global sanity checks (e.g. a theme is loaded, there is a doctype).\n private hasDoneGlobalChecks = false;\n\n // Reference to the global `document` object.\n // tslint:disable-next-line: orthodox-getter-and-setter\n private _document = typeof document === 'object' && document ? document : null;\n\n // Reference to the global 'window' object.\n // tslint:disable-next-line: orthodox-getter-and-setter\n private _window = typeof window === 'object' && window ? window : null;\n\n constructor(@Optional() @Inject(MC_SANITY_CHECKS) private _sanityChecksEnabled: boolean) {\n if (this.areChecksEnabled() && !this.hasDoneGlobalChecks) {\n this.checkDoctypeIsDefined();\n this.checkThemeIsPresent();\n this.hasDoneGlobalChecks = true;\n }\n }\n\n // Whether any sanity checks are enabled\n private areChecksEnabled(): boolean {\n return this._sanityChecksEnabled && isDevMode() && !this.isTestEnv();\n }\n\n // Whether the code is running in tests.\n private isTestEnv() {\n // tslint:disable-next-line\n return this._window && (this._window['__karma__'] || this._window['jasmine']);\n }\n\n private checkDoctypeIsDefined(): void {\n if (this._document && !this._document.doctype) {\n console.warn(\n 'Current document does not have a doctype. This may cause ' +\n 'some Mosaic components not to behave as expected.'\n );\n }\n }\n\n private checkThemeIsPresent(): void {\n if (this._document && typeof getComputedStyle === 'function') {\n const testElement = this._document.createElement('div');\n\n testElement.classList.add('mc-theme-loaded-marker');\n this._document.body.appendChild(testElement);\n\n const computedStyle = getComputedStyle(testElement);\n\n // In some situations, the computed style of the test element can be null. For example in\n // Firefox, the computed style is null if an application is running inside of a hidden iframe.\n // See: https://bugzilla.mozilla.org/show_bug.cgi?id=548397\n if (computedStyle && computedStyle.display !== 'none') {\n console.warn(\n 'Could not find Mosaic core theme. Most Mosaic ' +\n 'components may not work as expected. For more info refer ' +\n 'to the theming guide: link there'\n );\n }\n\n this._document.body.removeChild(testElement);\n }\n }\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { ElementRef } from '@angular/core';\n\nimport { Constructor } from './constructor';\n\n\n// tslint:disable-next-line:naming-convention\nexport interface CanColor {\n color: ThemePalette;\n}\n\n/** @docs-private */\nexport type CanColorCtor = Constructor<CanColor>;\n\n// tslint:disable-next-line:naming-convention\nexport interface HasElementRef {\n _elementRef: ElementRef;\n}\n\nexport enum ThemePalette {\n Primary = 'primary',\n Second = 'second',\n Error = 'error',\n Default = 'second',\n Empty = ''\n}\n\n/** Mixin to augment a directive with a `color` property. */\nexport function mixinColor<T extends Constructor<HasElementRef>>(\n base: T,\n defaultColor: ThemePalette = ThemePalette.Default\n): CanColorCtor & T {\n return class extends base {\n\n get color(): ThemePalette {\n return this._color;\n }\n\n set color(value: ThemePalette) {\n const colorPalette = value || defaultColor;\n\n if (colorPalette !== this._color) {\n if (this._color) {\n this._elementRef.nativeElement.classList.remove(`mc-${this._color}`);\n }\n\n if (colorPalette) {\n this._elementRef.nativeElement.classList.add(`mc-${colorPalette}`);\n }\n\n this._color = colorPalette;\n }\n }\n\n private _color: ThemePalette;\n\n constructor(...args: any[]) {\n super(...args);\n\n this.color = defaultColor;\n }\n };\n}\n\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\n\nimport { Constructor } from './constructor';\n\n\n// tslint:disable-next-line naming-convention\nexport interface CanDisable {\n disabled: boolean;\n}\n\n/** @docs-private */\nexport type CanDisableCtor = Constructor<CanDisable>;\n\nexport function mixinDisabled<T extends Constructor<{}>>(base: T): CanDisableCtor & T {\n return class extends base {\n get disabled() {\n return this._disabled;\n }\n\n set disabled(value: any) {\n this._disabled = coerceBooleanProperty(value);\n }\n\n private _disabled: boolean = false;\n\n constructor(...args: any[]) {\n // tslint:disable-next-line\n super(...args);\n }\n };\n}\n","import { NgModule, Directive, ElementRef, QueryList } from '@angular/core';\n\n\n/**\n * Shared directive to count lines inside a text area, such as a list item.\n * Line elements can be extracted with a @ContentChildren(McLine) query, then\n * counted by checking the query list's length.\n */\n@Directive({\n selector: '[mc-line], [mcLine]',\n host: { class: 'mc-line' }\n})\nexport class McLine {}\n\n/**\n * Helper that takes a query list of lines and sets the correct class on the host.\n * @docs-private\n */\nexport class McLineSetter {\n constructor(private _lines: QueryList<McLine>, private _element: ElementRef) {\n this.setLineClass(this._lines.length);\n\n this._lines.changes.subscribe(() => {\n this.setLineClass(this._lines.length);\n });\n }\n\n private setLineClass(count: number): void {\n const minLineClassNumber = 2;\n const maxLineClassNumber = 3;\n this.resetClasses();\n if (count === minLineClassNumber || count === maxLineClassNumber) {\n this.setClass(`mc-${count}-line`, true);\n } else if (count > maxLineClassNumber) {\n this.setClass(`mc-multi-line`, true);\n }\n }\n\n private resetClasses(): void {\n this.setClass('mc-2-line', false);\n this.setClass('mc-3-line', false);\n this.setClass('mc-multi-line', false);\n }\n\n private setClass(className: string, isAdd: boolean): void {\n if (isAdd) {\n this._element.nativeElement.classList.add(className);\n } else {\n this._element.nativeElement.classList.remove(className);\n }\n }\n}\n\n@NgModule({\n imports: [],\n exports: [McLine],\n declarations: [McLine]\n})\nexport class McLineModule {}\n","import { Injectable } from '@angular/core';\nimport { FormGroupDirective, NgForm, FormControl } from '@angular/forms';\n\n\n/** Error state matcher that matches when a control is invalid and dirty. */\n@Injectable()\nexport class ShowOnDirtyErrorStateMatcher implements ErrorStateMatcher {\n isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean {\n return !!(control && control.invalid && (control.dirty || (form && form.submitted)));\n }\n}\n\n/** Provider that defines how form controls behave with regards to displaying error messages. */\n@Injectable({ providedIn: 'root' })\nexport class ErrorStateMatcher {\n isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean {\n return !!(control && control.invalid && (control.touched || (form && form.submitted)));\n }\n}\n","export const enUS = {\n relativeTemplates: {\n short: {\n SECONDS_AGO: 'Just now',\n MINUTES_AGO: '{MINUTES_PASSED}{NBSP}min ago',\n TODAY: '{TIME}',\n YESTERDAY: 'Yesterday, {TIME}',\n BEFORE_YESTERDAY: '{CURRENT_YEAR, select, yes{{SHORT_DATE}, {TIME}} other{{SHORT_DATE}, {YEAR}}}'\n },\n long: {\n SECONDS_AGO: 'Just now',\n MINUTES_AGO: '{MINUTES_PASSED, plural, =1{#{NBSP}minute} other{#{NBSP}minutes}} ago',\n TODAY: '{TIME}',\n YESTERDAY: 'Yesterday, {TIME}',\n BEFORE_YESTERDAY: '{CURRENT_YEAR, select, yes{{DATE}, {TIME}} other{{DATE}, {YEAR}}}'\n }\n },\n absoluteTemplates: {\n short: {\n DATE: '{CURRENT_YEAR, select, yes{{SHORT_DATE}} other{{SHORT_DATE}, {YEAR}}}',\n DATETIME: `{\n CURRENT_YEAR,\n select,\n yes{{SHORT_DATE}, {TIME}}\n other{{SHORT_DATE}, {YEAR}, {TIME}}\n }{\n SHOW_MILLISECONDS,\n select,\n yes{:{SECONDS}{MILLISECONDS}}\n other{}\n }`\n },\n long: {\n DATE: '{CURRENT_YEAR, select, yes{{DATE}} other{{DATE}, {YEAR}}}',\n DATETIME: `{\n CURRENT_YEAR,\n select,\n yes{{DATE}, {TIME}}\n other{{DATE}, {YEAR}, {TIME}}\n }{\n SHOW_MILLISECONDS,\n select,\n yes{:{SECONDS}{MILLISECONDS}}\n other{}\n }`\n }\n },\n rangeTemplates: {\n closedRange: {\n short: {\n START_DATE: '{CURRENT_YEAR, select, yes{{SHORT_DATE}} other{{SHORT_DATE}, {YEAR}}}',\n END_DATE: `{\n SAME_MONTH,\n select,\n yes{{DAY}}\n other{{\n CURRENT_YEAR,\n select,\n yes{{SHORT_DATE}}\n other{{SHORT_DATE}, {YEAR}}\n }}\n }`,\n DATE: `{\n SAME_MONTH,\n select,\n yes{{START_DATE}{DASH}{END_DATE}}\n other{{START_DATE}{LONG_DASH}{END_DATE}}\n }`,\n\n START_DATETIME: `{\n SAME_DAY,\n select,\n yes{{TIME}}\n other{{\n CURRENT_YEAR,\n select,\n yes{{SHORT_DATE}, {TIME}}\n other{{SHORT_DATE}, {YEAR}, {TIME}}\n }}\n }`,\n END_DATETIME: `{\n SAME_DAY,\n select,\n yes{{\n CURRENT_YEAR,\n select,\n yes{{TIME}, {SHORT_DATE}}\n other{{TIME}, {SHORT_DATE}, {YEAR}}\n }}\n other{{\n CURRENT_YEAR,\n select,\n yes{{SHORT_DATE}, {TIME}}\n other{{SHORT_DATE}, {YEAR}, {TIME}}\n }}\n }`,\n DATETIME: `{\n SAME_DAY,\n select,\n yes{{START_DATETIME}{DASH}{END_DATETIME}}\n other{{START_DATETIME}{LONG_DASH}{END_DATETIME}}\n }`\n },\n middle: {\n START_DATE: `{\n SAME_MONTH,\n select,\n yes{{DAY}}\n other{{\n CURRENT_YEAR,\n select,\n yes{{DATE}}\n other{{DATE}, {YEAR}}\n }}\n }`,\n END_DATE: '{CURRENT_YEAR, select, yes{{DATE}} other{{DATE}, {YEAR}}}',\n DATE: `{\n SAME_MONTH,\n select,\n yes{{START_DATE}{DASH}{END_DATE}}\n other{{START_DATE}{LONG_DASH}{END_DATE}}\n }`,\n\n START_DATETIME: `{\n SAME_DAY,\n select,\n yes{{TIME}}\n other{{\n CURRENT_YEAR,\n select,\n yes{{DATE}, {TIME}}\n other{{DATE}, {YEAR}, {TIME}}\n }}\n }`,\n END_DATETIME: `{\n SAME_DAY,\n select,\n yes{{\n CURRENT_YEAR,\n select,\n yes{{TIME}, {DATE}}\n other{{TIME}, {DATE}, {YEAR}}\n }}\n other{{\n CURRENT_YEAR,\n select,\n yes{{DATE}, {TIME}}\n other{{DATE}, {YEAR}, {TIME}}\n }}\n }`,\n DATETIME: `{\n SAME_DAY,\n select,\n yes{{START_DATETIME}{DASH}{END_DATETIME}}\n other{{START_DATETIME}{LONG_DASH}{END_DATETIME}}\n }`\n },\n long: {\n START_DATE: '{CURRENT_YEAR, select, yes{{DATE}} other{{DATE}, {YEAR}}}',\n END_DATE: `{\n SAME_MONTH,\n select,\n yes{{DAY}}\n other{{\n CURRENT_YEAR,\n select,\n yes{{DATE}}\n other{{DATE}, {YEAR}}\n }}\n }`,\n DATE: `{\n SAME_MONTH,\n select,\n yes{{START_DATE}{DASH}{END_DATE}}\n other{{START_DATE}{LONG_DASH}{END_DATE}}\n }`,\n\n START_DATETIME: `{\n SAME_DAY,\n select,\n yes{{\n CURRENT_YEAR,\n select,\n yes{{DATE}, from{NBSP}{TIME}}\n other{{DATE}, {YEAR}, from{NBSP}{TIME}}\n }}\n other{{\n CURRENT_YEAR,\n select,\n yes{{DATE}, {TIME}}\n other{{DATE}, {YEAR}, {TIME}}\n }}\n }`,\n END_DATETIME: `{\n SAME_DAY,\n select,\n yes{to{NBSP}{TIME}}\n other{{\n CURRENT_YEAR,\n select,\n yes{{DATE}, {TIME}}\n other{{DATE}, {YEAR}, {TIME}}\n }}\n }`,\n DATETIME: `{\n SAME_DAY,\n select,\n yes{{START_DATETIME} {END_DATETIME}}\n other{From {START_DATETIME} to{NBSP}{END_DATETIME}}\n }`\n }\n },\n openedRange: {\n short: {\n START_DATE: `{\n CURRENT_YEAR,\n select,\n yes{{SHORT_DATE}}\n other{{SHORT_DATE} {YEAR}}\n }`,\n END_DATE: '{CURRENT_YEAR, select, yes{{SHORT_DATE}} other{{SHORT_DATE} {YEAR}}}',\n DATE: `{\n RANGE_TYPE,\n select,\n onlyStart{From{NBSP}{START_DATE}}\n other{Until{NBSP}{END_DATE}}\n }`,\n\n START_DATETIME: `{\n CURRENT_YEAR,\n select,\n yes{{SHORT_DATE}, {TIME}}\n other{{SHORT_DATE} {YEAR}, {TIME}}\n }`,\n END_DATETIME: `{\n CURRENT_YEAR,\n select,\n yes{{SHORT_DATE}, {TIME}}\n other{{SHORT_DATE} {YEAR}, {TIME}}\n }`,\n DATETIME: `{\n RANGE_TYPE,\n select,\n onlyStart{From{NBSP}{START_DATETIME}}\n other{Until{NBSP}{END_DATETIME}}\n }`\n },\n long: {\n START_DATE: `{\n CURRENT_YEAR,\n select,\n yes{{DATE}}\n other{{DATE} {YEAR}}\n }`,\n END_DATE: '{CURRENT_YEAR, select, yes{{DATE}} other{{DATE} {YEAR}}}',\n DATE: `{\n RANGE_TYPE,\n select,\n onlyStart{From{NBSP}{START_DATE}}\n other{Until{NBSP}{END_DATE}}\n }`,\n\n START_DATETIME: `{\n CURRENT_YEAR,\n select,\n yes{{DATE}, {TIME}}\n other{{DATE} {YEAR}, {TIME}}\n }`,\n END_DATETIME: `{\n CURRENT_YEAR,\n select,\n yes{{DATE}, {TIME}}\n other{{DATE} {YEAR}, {TIME}}\n }`,\n DATETIME: `{\n RANGE_TYPE,\n select,\n onlyStart{From{NBSP}{START_DATETIME}}\n other{Until{NBSP}{END_DATETIME}}\n }`\n }\n }\n }\n};\n","export const ruRU = {\n relativeTemplates: {\n short: {\n SECONDS_AGO: 'Только что',\n MINUTES_AGO: '{MINUTES_PASSED}{NBSP}мин назад',\n TODAY: '{TIME}',\n YESTERDAY: 'Вчера, {TIME}',\n BEFORE_YESTERDAY: '{CURRENT_YEAR, select, yes{{SHORT_DATE}, {TIME}} other{{SHORT_DATE} {YEAR}}}'\n },\n long: {\n SECONDS_AGO: 'Только что',\n MINUTES_AGO: '{MINUTES_PASSED, plural, =1{#{NBSP}минуту} =2{#{NBSP}минуты} other{#{NBSP}минут}} назад',\n TODAY: '{TIME}',\n YESTERDAY: 'Вчера, {TIME}',\n BEFORE_YESTERDAY: '{CURRENT_YEAR, select, yes{{DATE}, {TIME}} other{{DATE} {YEAR}}}'\n }\n },\n absoluteTemplates: {\n short: {\n DATE: '{CURRENT_YEAR, select, yes{{SHORT_DATE}} other{{SHORT_DATE} {YEAR}}}',\n DATETIME: `{\n CURRENT_YEAR,\n select,\n yes{{SHORT_DATE}, {TIME}}\n other{{SHORT_DATE} {YEAR}, {TIME}}\n }{\n SHOW_MILLISECONDS,\n select,\n yes{:{SECONDS}{MILLISECONDS}}\n other{}\n }`\n },\n long: {\n DATE: '{CURRENT_YEAR, select, yes{{DATE}} other{{DATE} {YEAR}}}',\n DATETIME: `{\n CURRENT_YEAR,\n select,\n yes{{DATE}, {TIME}}\n other{{DATE} {YEAR}, {TIME}}\n }{\n SHOW_MILLISECONDS,\n select,\n yes{:{SECONDS}{MILLISECONDS}}\n other{}\n }`\n }\n },\n rangeTemplates: {\n closedRange: {\n short: {\n START_DATE: `{\n SAME_MONTH,\n select,\n yes{{DAY}}\n other{{\n CURRENT_YEAR,\n select,\n yes{{SHORT_DATE}}\n other{{SHORT_DATE} {YEAR}}\n }}\n }`,\n END_DATE: '{CURRENT_YEAR, select, yes{{SHORT_DATE}} other{{SHORT_DATE} {YEAR}}}',\n DATE: `{\n SAME_MONTH,\n select,\n yes{{START_DATE}{DASH}{END_DATE}}\n other{{START_DATE}{LONG_DASH}{END_DATE}}\n }`,\n\n START_DATETIME: `{\n SAME_DAY,\n select,\n yes{{TIME}}\n other{{\n CURRENT_YEAR,\n select,\n yes{{SHORT_DATE}, {TIME}}\n other{{SHORT_DATE} {YEAR}, {TIME}}\n }}\n }`,\n END_DATETIME: `{\n SAME_DAY,\n select,\n yes{{\n CURRENT_YEAR,\n select,\n yes{{TIME}, {SHORT_DATE}}\n other{{TIME}, {SHORT_DATE} {YEAR}}\n }}\n other{{\n CURRENT_YEAR,\n select,\n yes{{SHORT_DATE}, {TIME}}\n other{{SHORT_DATE} {YEAR}, {TIME}}\n }}\n }`,\n DATETIME: `{\n SAME_DAY,\n select,\n yes{{START_DATETIME}{DASH}{END_DATETIME}}\n other{{START_DATETIME}{LONG_DASH}{END_DATETIME}}\n }`\n },\n middle: {\n START_DATE: `{\n SAME_MONTH,\n select,\n yes{{DAY}}\n other{{\n CURRENT_YEAR,\n select,\n yes{{DATE}}\n other{{DATE} {YEAR}}\n }}\n }`,\n END_DATE: '{CURRENT_YEAR, select, yes{{DATE}} other{{DATE} {YEAR}}}',\n DATE: `{\n SAME_MONTH,\n select,\n yes{{START_DATE}{DASH}{END_DATE}}\n other{{START_DATE}{LONG_DASH}{END_DATE}}\n }`,\n\n START_DATETIME: `{\n SAME_DAY,\n select,\n yes{{TIME}}\n other{{\n CURRENT_YEAR,\n select,\n yes{{DATE}, {TIME}}\n other{{DATE} {YEAR}, {TIME}}\n }}\n }`,\n END_DATETIME: `{\n SAME_DAY,\n select,\n yes{{\n CURRENT_YEAR,\n select,\n yes{{TIME}, {DATE}}\n other{{TIME}, {DATE} {YEAR}}\n }}\n other{{\n CURRENT_YEAR,\n select,\n yes{{DATE}, {TIME}}\n other{{DATE} {YEAR}, {TIME}}\n }}\n }`,\n DATETIME: `{\n SAME_DAY,\n select,\n yes{{START_DATETIME}{DASH}{END_DATETIME}}\n other{{START_DATETIME}{LONG_DASH}{END_DATETIME}}\n }`\n },\n long: {\n START_DATE: `{\n SAME_MONTH,\n select,\n yes{{DAY}}\n other{{\n CURRENT_YEAR,\n select,\n yes{{DATE}}\n other{{DATE} {YEAR}}\n }}\n }`,\n END_DATE: '{CURRENT_YEAR, select, yes{{DATE}} other{{DATE} {YEAR}}}',\n DATE: `{\n SAME_MONTH,\n select,\n yes{{START_DATE}{DASH}{END_DATE}}\n other{{START_DATE}{LONG_DASH}{END_DATE}}\n }`,\n\n START_DATETIME: `{\n SAME_DAY,\n select,\n yes{{\n CURRENT_YEAR,\n select,\n yes{{DATE}, с{NBSP}{TIME}}\n other{{DATE} {YEAR}, с{NBSP}{TIME}}\n }}\n other{{\n CURRENT_YEAR,\n select,\n yes{{DATE}, {TIME}}\n other{{DATE} {YEAR}, {TIME}}\n }}\n }`,\n END_DATETIME: `{\n SAME_DAY,\n select,\n yes{по{NBSP}{TIME}}\n other{{\n CURRENT_YEAR,\n select,\n yes{{DATE}, {TIME}}\n other{{DATE} {YEAR}, {TIME}}\n }}\n }`,\n DATETIME: `{\n SAME_DAY,\n select,\n yes{{START_DATETIME} {END_DATETIME}}\n other{С{NBSP}{START_DATETIME} по{NBSP}{END_DATETIME}}\n }`\n }\n },\n openedRange: {\n short: {\n START_DATE: `{\n CURRENT_YEAR,\n select,\n yes{{SHORT_DATE}}\n other{{SHORT_DATE} {YEAR}}\n }`,\n END_DATE: '{CURRENT_YEAR, select, yes{{SHORT_DATE}} other{{SHORT_DATE} {YEAR}}}',\n DATE: `{\n RANGE_TYPE,\n select,\n onlyStart{С{NBSP}{START_DATE}}\n other{По{NBSP}{END_DATE}}\n }`,\n\n START_DATETIME: `{\n CURRENT_YEAR,\n select,\n yes{{SHORT_DATE}, {TIME}}\n other{{SHORT_DATE} {YEAR}, {TIME}}\n }`,\n END_DATETIME: `{\n CURRENT_YEAR,\n select,\n yes{{SHORT_DATE}, {TIME}}\n other{{SHORT_DATE} {YEAR}, {TIME}}\n }`,\n DATETIME: `{\n RANGE_TYPE,\n select,\n onlyStart{С{NBSP}{START_DATETIME}}\n other{По{NBSP}{END_DATETIME}}\n }`\n },\n long: {\n START_DATE: `{\n CURRENT_YEAR,\n select,\n yes{{DATE}}\n other{{DATE} {YEAR}}\n }`,\n END_DATE: '{CURRENT_YEAR, select, yes{{DATE}} other{{DATE} {YEAR}}}',\n DATE: `{\n RANGE_TYPE,\n select,\n onlyStart{С{NBSP}{START_DATE}}\n other{По{NBSP}{END_DATE}}\n }`,\n\n START_DATETIME: `{\n CURRENT_YEAR,\n select,\n yes{{DATE}, {TIME}}\n other{{DATE} {YEAR}, {TIME}}\n }`,\n END_DATETIME: `{\n CURRENT_YEAR,\n select,\n yes{{DATE}, {TIME}}\n other{{DATE} {YEAR}, {TIME}}\n }`,\n DATETIME: `{\n RANGE_TYPE,\n select,\n onlyStart{С{NBSP}{START_DATETIME}}\n other{По{NBSP}{END_DATETIME}}\n }`\n }\n }\n }\n};\n","// tslint:disable:no-magic-numbers\nimport { Inject, Injectable } from '@angular/core';\nimport { DateAdapter, MC_DATE_LOCALE } from '@ptsecurity/cdk/datetime';\nimport * as MessageFormat from 'messageformat';\n\nimport { enUS } from './templates/en-US';\nimport { ruRU } from './templates/ru-RU';\n\n\n/**\n * interface for absolute date or datetime formatter template\n */\n// tslint:disable-next-line:naming-convention\nexport interface FormatterAbsoluteTemplate {\n variables?: { [name: string]: string };\n DATE: string;\n DATETIME: string;\n}\n\n/**\n * interface for range date or datetime formatter template\n */\n// tslint:disable-next-line:naming-convention\nexport interface FormatterRangeTemplate {\n variables?: { [name: string]: string };\n START_DATE: string;\n END_DATE: string;\n DATE: string;\n START_DATETIME: string;\n END_DATETIME: string;\n DATETIME: string;\n}\n\n/**\n * interface for relative date or datetime formatter template\n */\n// tslint:disable-next-line:naming-convention\nexport interface FormatterRelativeTemplate {\n variables?: { [name: string]: string };\n SECONDS_AGO: string;\n MINUTES_AGO: string;\n TODAY: string;\n YESTERDAY: string;\n BEFORE_YESTERDAY: string;\n}\n\n// tslint:disable-next-line:naming-convention\nexport interface AbsoluteDateTimeOptions {\n milliseconds?: boolean;\n}\n\n// tslint:disable-next-line:naming-convention\nexport interface FormatterConfig {\n relativeTemplates: {\n short: FormatterRelativeTemplate;\n long: FormatterRelativeTemplate;\n };\n absoluteTemplates: {\n short: FormatterAbsoluteTemplate;\n long: FormatterAbsoluteTemplate;\n };\n rangeTemplates: {\n closedRange: {\n short: FormatterRangeTemplate;\n middle: FormatterRangeTemplate;\n long: FormatterRangeTemplate;\n };\n openedRange: {\n short: FormatterRangeTemplate;\n long: FormatterRangeTemplate;\n };\n };\n}\n\n\n@Injectable()\nexport class DateFormatter<D> {\n config: FormatterConfig;\n\n private readonly invalidDateErrorText: string = 'Invalid date';\n\n private messageFormat: MessageFormat;\n\n constructor(\n private readonly adapter: DateAdapter<D>,\n @Inject(MC_DATE_LOCALE) locale: string\n ) {\n this.config = locale === 'en' ? enUS : ruRU;\n\n this.messageFormat = new MessageFormat(locale);\n }\n\n setLocale(locale: string): void {\n this.config = locale === 'en' ? enUS : ruRU;\n\n this.adapter.setLocale(locale);\n }\n\n /**\n * @param date - date\n * @param template - template\n * @returns relative date by template\n */\n relativeDate(date: D, template: FormatterRelativeTemplate): string {\n if (!this.adapter.isDateInstance(date)) { throw new Error(this.invalidDateErrorText); }\n\n const totalSeconds = Math.abs(this.adapter.diffNow(date, 'seconds'));\n const totalMinutes = Math.floor(Math.abs(this.adapter.diffNow(date, 'minutes')));\n\n const isToday = this.adapter.hasSame(this.adapter.today(), date, 'days');\n const isYesterday = this.adapter.diffNow(date, 'days') <= -1 && this.adapter.diffNow(date, 'days') > -2;\n\n const templateVariables = {...this.adapter.config.variables, ...template.variables};\n const variables = this.compileVariables(date, templateVariables);\n let newTemplate;\n\n if (totalSeconds <= 59) { // seconds ago\n variables.SECONDS_PASSED = totalSeconds;\n newTemplate = template.SECONDS_AGO;\n } else if (totalMinutes <= 59) { // minutes ago\n variables.MINUTES_PASSED = totalMinutes;\n newTemplate = template.MINUTES_AGO;\n } else if (isToday) {\n newTemplate = template.TODAY;\n } else if (isYesterday) {\n newTemplate = template.YESTERDAY;\n } else { // before yesterday\n newTemplate = template.BEFORE_YESTERDAY;\n }\n\n return this.messageFormat.compile(newTemplate)(variables);\n }\n\n /**\n * @param date - date\n * @returns relative date in short format\n */\n relativeShortDate(date: D): string {\n return this.relativeDate(date, this.config.relativeTemplates.short);\n }\n\n /**\n * @param date - date\n * @returns relative date in long format\n */\n relativeLongDate(date: D): string {\n return this.relativeDate(date, this.config.relativeTemplates.long);\n }\n\n /**\n * @param date - date\n * @param params - parameters\n * @param datetime - should time be shown as well\n * @param milliseconds - should time with milliseconds be shown as well\n * @returns absolute date in common format\n */\n absoluteDate(\n date: D,\n params: FormatterAbsoluteTemplate,\n datetime = false,\n milliseconds = false\n ): string {\n if (!this.adapter.isDateInstance(date)) { throw new Error(this.invalidDateErrorText); }\n\n const variables = this.compileVariables(date, { ...this.adapter.config.variables, ...params.variables });\n\n variables.SHOW_MILLISECONDS = milliseconds ? 'yes' : 'no';\n\n const template = datetime ? params.DATETIME : params.DATE;\n\n return this.messageFormat.compile(template)(variables);\n }\n\n /**\n * @param date - date\n * @returns absolute date in short format\n */\n absoluteShortDate(date: D): string {\n return this.absoluteDate(date, this.config.absoluteTemplates.short);\n }\n\n /**\n * @param date - date\n * @param options - AbsoluteDateTimeOptions\n * @returns absolute date in short format with time\n */\n absoluteShortDateTime(date: D, options?: AbsoluteDateTimeOptions): string {\n return this.absoluteDate(date, this.config.absoluteTemplates.short, true, options?.milliseconds);\n }\n\n /**\n * @param date - date\n * @returns absolute date in long format\n */\n absoluteLongDate(date: D): string {\n return this.absoluteDate(date, this.config.absoluteTemplates.long);\n }\n\n /**\n * @param date - date\n * @param options - AbsoluteDateTimeOptions\n * @returns absolute date in long format with time\n */\n absoluteLongDateTime(date: D, options?: AbsoluteDateTimeOptions): string {\n return this.absoluteDate(date, this.config.absoluteTemplates.long, true, options?.milliseconds);\n }\n\n /**\n * @param startDate - start date\n * @param endDate - end date\n * @param template - template\n * @returns opened date\n */\n openedRangeDate(startDate: D | null, endDate: D | null, template: FormatterRangeTemplate) {\n if (!this.adapter.isDateInstance(startDate) && !this.adapter.isDateInstance(endDate)) {\n throw new Error(this.invalidDateErrorText);\n }\n\n const variables = { ...this.adapter.config.variables, ...template.variables };\n let params = {};\n\n if (startDate) {\n const startDateVariables = this.compileVariables(startDate, variables);\n\n params = {\n ...variables,\n START_DATE: this.messageFormat.compile(template.START_DATE)(startDateVariables),\n RANGE_TYPE: 'onlyStart'\n };\n } else if (endDate) {\n const endDateVariables = this.compileVariables(endDate, variables);\n\n params = {\n ...variables,\n END_DATE: this.messageFormat.compile(template.END_DATE)(endDateVariables),\n RANGE_TYPE: 'onlyEnd'\n };\n }\n\n return this.messageFormat.compile(template.DATE)(params);\n }\n\n /**\n * @param startDate - start date\n * @param endDate - end date\n * @param template - template\n * @returns opened date\n */\n openedRangeDateTime(startDate: D | null, endDate: D | null, template: FormatterRangeTemplate) {\n if (!this.adapter.isDateInstance(startDate) && !this.adapter.isDateInstance(endDate)) {\n throw new Error(this.invalidDateErrorText);\n }\n\n const variables = { ...this.adapter.config.variables, ...template.variables };\n let params = {};\n\n if (startDate) {\n const startDateVariables = this.compileVariables(startDate, variables);\n\n params = {\n ...variables,\n START_DATETIME: this.messageFormat.compile(template.START_DATETIME)(startDateVariables),\n RANGE_TYPE: 'onlyStart'\n };\n } else if (endDate) {\n const endDateVariables = this.compileVariables(endDate, variables);\n\n params = {\n ...variables,\n END_DATETIME: this.messageFormat.compile(template.END_DATETIME)(endDateVariables),\n RANGE_TYPE: 'onlyEnd'\n };\n }\n\n return this.messageFormat.compile(template.DATETIME)(params);\n }\n\n /**\n * @param startDate - start date\n * @param endDate - end date\n * @param template - template\n * @returns range date in template format\n */\n rangeDate(startDate: D, endDate: D, template: FormatterRangeTemplate): string {\n if (!this.adapter.isDateInstance(startDate) || !this.adapter.isDateInstance(endDate)) {\n throw new Error(this.invalidDateErrorText);\n }\n\n const variables = { ...this.adapter.config.variables, ...template.variables };\n const sameMonth = this.hasSame(startDate, endDate, 'month');\n\n const startDateVariables = this.compileVariables(startDate, variables);\n startDateVariables.SAME_MONTH = sameMonth;\n\n const endDateVariables = this.compileVariables(endDate, variables);\n endDateVariables.SAME_MONTH = sameMonth;\n\n const bothCurrentYear = startDateVariables.CURRENT_YEAR === 'yes' && endDateVariables.CURRENT_YEAR === 'yes';\n startDateVariables.CURRENT_YEAR = bothCurrentYear ? 'yes' : 'no';\n endDateVariables.CURRENT_YEAR = bothCurrentYear ? 'yes' : 'no';\n\n const params = {\n ...variables,\n START_DATE: this.messageFormat.compile(template.START_DATE)(startDateVariables),\n END_DATE: this.messageFormat.compile(template.END_DATE)(endDateVariables),\n SAME_MONTH: sameMonth\n };\n\n return this.messageFormat.compile(template.DATE)(params);\n }\n\n /**\n * @param startDate - start date\n * @param endDate - end date\n * @param template - template\n * @returns range date in template format with time\n */\n rangeDateTime(startDate: D, endDate: D, template: FormatterRangeTemplate): string {\n if (!this.adapter.isDateInstance(startDate) || !this.adapter.isDateInstance(endDate)) {\n throw new Error(this.invalidDateErrorText);\n }\n\n const variables = {...this.adapter.config.variables, ...template.variables};\n const sameMonth = this.hasSame(startDate, endDate, 'month');\n const sameDay = this.hasSame(startDate, endDate, 'day');\n\n const startDateVariables = this.compileVariables(startDate, variables);\n startDateVariables.SAME_MONTH = sameMonth;\n startDateVariables.SAME_DAY = sameDay;\n\n const endDateVariables = this.compileVariables(endDate, variables);\n endDateVariables.SAME_MONTH = sameMonth;\n endDateVariables.SAME_DAY = sameDay;\n\n const bothCurrentYear = startDateVariables.CURRENT_YEAR === 'yes' && endDateVariables.CURRENT_YEAR === 'yes';\n startDateVariables.CURRENT_YEAR = bothCurrentYear ? 'yes' : 'no';\n endDateVariables.CURRENT_YEAR = bothCurrentYear ? 'yes' : 'no';\n\n const params = {\n ...variables,\n START_DATETIME: this.messageFormat.compile(template.START_DATETIME)(startDateVariables),\n END_DATETIME: this.messageFormat.compile(template.END_DATETIME)(endDateVariables),\n SAME_MONTH: sameMonth,\n SAME_DAY: sameDay\n };\n\n return this.messageFormat.compile(template.DATETIME)(params);\n }\n\n /**\n * @param startDate - start date\n * @param endDate - end date\n * @returns range date in short format\n */\n rangeShortDate(startDate: D | null, endDate?: D): string {\n const rangeTemplates = this.config.rangeTemplates;\n\n if (startDate && endDate) {\n return this.rangeDate(startDate, endDate, rangeTemplates.closedRange.short);\n }\n\n return this.openedRangeDate(startDate, endDate || null, rangeTemplates.openedRange.short);\n }\n\n /**\n * @param startDate - start date\n * @param endDate - end date\n * @returns range date in short format with time\n */\n rangeShortDateTime(startDate: D | null, endDate?: D): string {\n const rangeTemplates = this.config.rangeTemplates;\n\n if (startDate && endDate) {\n return this.rangeDateTime(startDate, endDate, rangeTemplates.closedRange.short);\n }\n\n return this.openedRangeDateTime(startDate, endDate || null, rangeTemplates.openedRange.short);\n }\n\n /**\n * @param startDate - start date\n * @param endDate - end date\n * @returns range date in long format\n */\n rangeLongDate(startDate: D | null, endDate?: D): string {\n const rangeTemplates = this.config.rangeTemplates;\n\n if (startDate && endDate) {\n return this.rangeDate(startDate, endDate, rangeTemplates.closedRange.long);\n }\n\n return this.openedRangeDate(startDate, endDate || null, rangeTemplates.openedRange.long);\n }\n\n /**\n * @param startDate - start date\n * @param endDate - end date\n * @returns range date in long format with time\n */\n rangeLongDateTime(startDate: D | null, endDate?: D): string {\n const rangeTemplates = this.config.rangeTemplates;\n\n if (startDate && endDate) {\n return this.rangeDateTime(startDate, endDate, rangeTemplates.closedRange.long);\n }\n\n return this.openedRangeDateTime(startDate, endDate || null, rangeTemplates.openedRange.long);\n }\n\n /**\n * @param startDate - start date\n * @param endDate - end date\n * @returns range middle date with time\n */\n rangeMiddleDateTime(startDate: D, endDate: D): string {\n return this.rangeDateTime(startDate, endDate, this.config.rangeTemplates.closedRange.middle);\n }\n\n private compileVariables(date: D, variables: any): any {\n const compiledVariables: any = {};\n\n // tslint:disable-next-line:no-for-in\n for (const key in variables) {\n if (!variables.hasOwnProperty(key)) { continue; }\n\n const value = variables[key];\n compiledVariables[key] = this.adapter.format(date, value);\n }\n\n compiledVariables.CURRENT_YEAR = this.hasSame(date, this.adapter.today(), 'year');\n\n return compiledVariables;\n }\n\n private hasSame(startDate: D, endDate: D, unit: string): string {\n return this.adapter.hasSame(startDate, endDate, unit) ? 'yes' : 'no';\n }\n}\n\n\n\n\n","/* tslint:disable:naming-convention */\nimport { Inject, Injectable, InjectionToken, Optional, Pipe, PipeTransform } from '@angular/core';\n\n\nexport const MC_LOCALE_ID = new InjectionToken<string>('McLocaleId');\n\nexport const DEFAULT_MC_LOCALE_ID = 'ru';\n\n\nfunction isEmpty(value: any): boolean {\n return value == null || value === '' || value !== value;\n}\n\nfunction strToNumber(value: number | string): number {\n if (typeof value === 'string' && !isNaN(Number(value) - parseFloat(value))) {\n return Number(value);\n }\n\n if (typeof value !== 'number') {\n throw new Error(`${value} is not a number`);\n }\n\n return value;\n}\n\nexport const NUMBER_FORMAT_REGEXP = /^(\\d+)?\\.((\\d+)(-(\\d+))?)?$/;\n\nconst minIntGroupPosition = 1;\nconst minFractionGroupPosition = 3;\nconst maxFractionGroupPosition = 5;\n\ninterface NumberFormatOptions {\n useGrouping: boolean;\n\n minimumIntegerDigits: number;\n minimumFractionDigits: number;\n maximumFractionDigits: number;\n minimumSignificantDigits: number;\n maximumSignificantDigits: number;\n\n localeMatcher?: string;\n style?: string;\n\n currency?: string;\n currencyDisplay?: string;\n}\n\nclass ParsedDigitsInfo {\n minimumIntegerDigits: number;\n minimumFractionDigits: number;\n maximumFractionDigits: number;\n}\n\nfunction parseDigitsInfo(digitsInfo: string): ParsedDigitsInfo {\n const parts = digitsInfo.match(NUMBER_FORMAT_REGEXP);\n\n if (parts === null) {\n throw new Error(`${digitsInfo} is not a valid digit info`);\n }\n\n const minIntPart = parts[minIntGroupPosition];\n const minFractionPart = parts[minFractionGroupPosition];\n const maxFractionPart = parts[maxFractionGroupPosition];\n\n const result = new ParsedDigitsInfo();\n\n if (minIntPart != null) {\n result.minimumIntegerDigits = parseInt(minIntPart);\n }\n\n if (minFractionPart != null) {\n result.minimumFractionDigits = parseInt(minFractionPart);\n }\n\n if (maxFractionPart != null) {\n result.maximumFractionDigits = parseInt(maxFractionPart);\n } else if (minFractionPart != null && result.minimumFractionDigits > result.maximumFractionDigits) {\n result.maximumFractionDigits = result.minimumFractionDigits;\n }\n\n return result;\n}\n\n\n@Injectable({ providedIn: 'root' })\n@Pipe({name: 'mcNumber'})\nexport class McDecimalPipe implements PipeTransform {\n constructor(@Optional() @Inject(MC_LOCALE_ID) private _locale: string) {}\n\n /**\n * @param value The number to be formatted.\n * @param digitsInfo Decimal representation options, specified by a string\n * in the following format:<br>\n * <code>{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}</code>.\n * - `minIntegerDigits`: The minimum number of integer digits before the decimal point.\n * Default is `1`.\n * - `minFractionDigits`: The minimum number of digits after the decimal point.\n * Default is `0`.\n * - `maxFractionDigits`: The maximum number of digits after the decimal point.\n * Default is `3`.\n * @param locale A locale code for the locale format rules to use.\n * When not supplied, uses the value of `MC_LOCALE_ID`, which is `ru` by default.\n */\n transform(value: any, digitsInfo?: string, locale?: string): string | null {\n if (isEmpty(value)) { return null; }\n\n const currentLocale = locale || this._locale || DEFAULT_MC_LOCALE_ID;\n\n let parsedDigitsInfo;\n\n if (digitsInfo) {\n parsedDigitsInfo = parseDigitsInfo(digitsInfo);\n }\n\n const options: NumberFormatOptions = {\n useGrouping: true,\n minimumIntegerDigits: 1,\n minimumFractionDigits: 0,\n maximumFractionDigits: 3,\n ...parsedDigitsInfo\n };\n\n try {\n const num = strToNumber(value);\n\n return Intl.NumberFormat.call(this, currentLocale, options).format(num);\n } catch (error) {\n throw Error(`InvalidPipeArgument: McDecimalPipe for pipe '${JSON.stringify(error.message)}'`);\n }\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { DateFormatter } from './date/formatter';\nimport { McDecimalPipe } from './number/formatter';\n\n\n@NgModule({\n exports: [McDecimalPipe],\n declarations: [McDecimalPipe],\n providers: [DateFormatter]\n})\nexport class McFormattersModule {}\n\n\nexport * from './number/formatter';\nexport * from './date/formatter';\n","import { InjectionToken } from '@angular/core';\nimport {\n AbstractControl,\n NgControl,\n NgForm,\n RequiredValidator,\n ValidationErrors,\n Validator,\n ValidatorFn\n} from '@angular/forms';\n\n\nexport const validationTooltipShowDelay = 10;\nexport const validationTooltipHideDelay = 3000;\n\n\n// tslint:disable-next-line:naming-convention\nexport interface McValidationOptions {\n useValidation: boolean;\n}\n\nexport const MC_VALIDATION = new InjectionToken<McValidationOptions>(\n 'McUseValidation',\n { factory: () => ({ useValidation: true }) }\n );\n\n\nfunction setValidState(control: AbstractControl, validator: ValidatorFn): void {\n if (!control) { return; }\n\n control.clearValidators();\n control.updateValueAndValidity({ emitEvent: false });\n control.setValidators(validator);\n}\n\n\n/** This function do next:\n * - run validation on submitting parent form\n * - prevent validation in required validator if form doesn't submitted\n * - if control has focus validation will be prevented\n */\nexport function setMosaicValidation(component) {\n const ngControl = component.ngControl;\n\n if (!ngControl) { return; }\n\n const parentForm: NgForm = component.parentForm || component.parentFormGroup;\n\n if (parentForm) {\n parentForm.ngSubmit.subscribe(() => {\n // tslint:disable-next-line: no-unnecessary-type-assertion\n ngControl.control!.updateValueAndValidity({ emitEvent: false });\n });\n }\n\n if (component.ngModel) {\n setMosaicValidationForModelControl(component, component.rawValidators, parentForm);\n } else if (component.formControlName || component.ngControl) {\n setMosaicValidationForFormControl(component, parentForm, ngControl);\n }\n}\nexport function setMosaicValidationForModelControl(component, validators: Validator[], parentForm: NgForm) {\n if (!validators) { return; }\n\n validators.forEach((validator: Validator) => {\n // tslint:disable-next-line: no-unbound-method\n const originalValidate = validator.validate;\n\n if (validator instanceof RequiredValidator) {\n // changed required validation logic\n validator.validate = (control: AbstractControl): ValidationErrors | null => {\n if (parentForm && !parentForm.submitted) { return null; }\n\n return originalValidate.call(validator, control);\n };\n } else {\n // changed all other validation logic\n validator.validate = (control: AbstractControl): ValidationErrors | null => {\n if (component.focused) { return null; }\n\n return originalValidate.call(validator, control);\n };\n }\n });\n}\n\nexport function setMosaicValidationForFormControl(component, parentForm: NgForm, ngControl: NgControl) {\n const originalValidator = ngControl.control!.validator;\n\n // changed required validation logic after initialization\n if (ngControl.invalid && ngControl.errors!.required) {\n Promise.resolve().then(() => setValidState(ngControl.control!, originalValidator!));\n }\n\n // check dynamic updates\n ngControl.statusChanges!\n .subscribe(() => {\n // changed required validation logic\n if (ngControl.invalid && (parentForm && !parentForm.submitted) && ngControl.errors!.required) {\n setValidState(ngControl.control!, originalValidator!);\n }\n\n // changed all other validation logic\n if (ngControl.invalid && component.focused) {\n setValidState(ngControl.control!, originalValidator!);\n }\n });\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n\n@Pipe({ name: 'mcHighlight' })\nexport class McHighlightPipe implements PipeTransform {\n transform(value: any, args: any): any {\n if (!args) { return value; }\n\n return value.replace(new RegExp(`(${args})`, 'gi'), '<mark class=\"mc-highlight\">$1</mark>');\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { McHighlightPipe } from './highlight.pipe';\n\n\n@NgModule({\n imports: [CommonModule],\n exports: [McHighlightPipe],\n declarations: [McHighlightPipe]\n})\nexport class McHighlightModule {}\n\n\nexport * from './highlight.pipe';\n","import { ScrollStrategy, Overlay, RepositionScrollStrategy } from '@angular/cdk/overlay';\nimport { InjectionToken } from '@angular/core';\n\n\n/** The max height of the select's overlay panel */\nexport const SELECT_PANEL_MAX_HEIGHT = 224;\n\n/** The panel's padding on the x-axis */\nexport const SELECT_PANEL_PADDING_X = 1;\n\n/** The panel's x axis padding if it is indented (e.g. there is an option group). */\n/* tslint:disable-next-line:no-magic-numbers */\nexport const SELECT_PANEL_INDENT_PADDING_X = SELECT_PANEL_PADDING_X * 2;\n\n/**\n * The select panel will only \"fit\" inside the viewport if it is positioned at\n * this value or more away from the viewport boundary.\n */\nexport const SELECT_PANEL_VIEWPORT_PADDING = 8;\n\n\n/** Injection token that determines the scroll handling while a select is open. */\nexport const MC_SELECT_SCROLL_STRATEGY =\n new InjectionToken<() => ScrollStrategy>('mc-select-scroll-strategy');\n\n/** @docs-private */\nexport function mcSelectScrollStrategyProviderFactory(overlay: Overlay):\n () => RepositionScrollStrategy {\n return () => overlay.scrollStrategies.reposition();\n}\n\n/** @docs-private */\nexport const MC_SELECT_SCROLL_STRATEGY_PROVIDER = {\n provide: MC_SELECT_SCROLL_STRATEGY,\n deps: [Overlay],\n useFactory: mcSelectScrollStrategyProviderFactory\n};\n","import { ConnectionPositionPair } from '@angular/cdk/overlay';\n\n\nexport const POSITION_MAP: { [key: string]: ConnectionPositionPair } = {\n top : {\n originX : 'center',\n originY : 'top',\n overlayX: 'center',\n overlayY: 'bottom'\n },\n topCenter : {\n originX : 'center',\n originY : 'top',\n overlayX: 'center',\n overlayY: 'bottom'\n },\n topLeft : {\n originX : 'start',\n originY : 'top',\n overlayX: 'start',\n overlayY: 'bottom'\n },\n topRight : {\n originX : 'end',\n originY : 'top',\n overlayX: 'end',\n overlayY: 'bottom'\n },\n right : {\n originX : 'end',\n originY : 'center',\n overlayX: 'start',\n overlayY: 'center'\n },\n rightTop : {\n originX : 'end',\n originY : 'top',\n overlayX: 'start',\n overlayY: 'top'\n },\n rightBottom : {\n originX : 'end',\n originY : 'bottom',\n overlayX: 'start',\n overlayY: 'bottom'\n },\n bottom : {\n originX : 'center',\n originY : 'bottom',\n overlayX: 'center',\n overlayY: 'top'\n },\n bottomCenter: {\n originX : 'center',\n originY : 'bottom',\n overlayX: 'center',\n overlayY: 'top'\n },\n bottomLeft : {\n originX : 'start',\n originY : 'bottom',\n overlayX: 'start',\n overlayY: 'top'\n },\n bottomRight : {\n originX : 'end',\n originY : 'bottom',\n overlayX: 'end',\n overlayY: 'top'\n },\n left : {\n originX : 'start',\n originY : 'center',\n overlayX: 'end',\n overlayY: 'center'\n },\n leftTop : {\n originX : 'start',\n originY : 'top',\n overlayX: 'end',\n overlayY: 'top'\n },\n leftBottom : {\n originX : 'start',\n originY : 'bottom',\n overlayX: 'end',\n overlayY: 'bottom'\n }\n};\n\nexport const DEFAULT_4_POSITIONS = objectValues([\n POSITION_MAP.top, POSITION_MAP.right, POSITION_MAP.bottom, POSITION_MAP.left\n]);\n\nexport const EXTENDED_OVERLAY_POSITIONS = objectValues([\n POSITION_MAP.top, POSITION_MAP.topLeft, POSITION_MAP.topRight, POSITION_MAP.right, POSITION_MAP.rightTop,\n POSITION_MAP.rightBottom, POSITION_MAP.bottom, POSITION_MAP.bottomLeft, POSITION_MAP.bottomRight,\n POSITION_MAP.left, POSITION_MAP.leftTop, POSITION_MAP.leftBottom\n]);\n\nexport const TOP_POSITION_PRIORITY = objectValues([\n POSITION_MAP.top,\n POSITION_MAP.bottom,\n POSITION_MAP.rightBottom,\n POSITION_MAP.leftBottom,\n POSITION_MAP.bottomLeft,\n POSITION_MAP.bottomRight\n]);\n\nexport const BOTTOM_POSITION_PRIORITY = objectValues([\n POSITION_MAP.bottom,\n POSITION_MAP.top,\n POSITION_MAP.topLeft,\n POSITION_MAP.topRight,\n POSITION_MAP.rightBottom,\n POSITION_MAP.leftBottom\n]);\n\nexport const RIGHT_POSITION_PRIORITY = objectValues([\n POSITION_MAP.right,\n POSITION_MAP.left,\n POSITION_MAP.leftTop,\n POSITION_MAP.leftBottom,\n POSITION_MAP.top,\n POSITION_MAP.bottom\n]);\n\nexport const LEFT_POSITION_PRIORITY = objectValues([\n POSITION_MAP.left,\n POSITION_MAP.right,\n POSITION_MAP.rightTop,\n POSITION_MAP.rightBottom,\n POSITION_MAP.top,\n POSITION_MAP.bottom\n]);\n\nexport const RIGHT_TOP_POSITION_PRIORITY = objectValues([\n POSITION_MAP.rightTop,\n POSITION_MAP.leftTop,\n POSITION_MAP.left,\n POSITION_MAP.leftBottom,\n POSITION_MAP.topLeft,\n POSITION_MAP.bottomLeft\n]);\n\nexport const RIGHT_BOTTOM_POSITION_PRIORITY = objectValues([\n POSITION_MAP.rightBottom,\n POSITION_MAP.leftBottom,\n POSITION_MAP.left,\n POSITION_MAP.leftTop,\n POSITION_MAP.topLeft,\n POSITION_MAP.bottomLeft\n]);\n\nexport const LEFT_TOP_POSITION_PRIORITY = objectValues([\n POSITION_MAP.leftTop,\n POSITION_MAP.rightTop,\n POSITION_MAP.right,\n POSITION_MAP.rightBottom,\n POSITION_MAP.topRight,\n POSITION_MAP.bottomRight\n]);\n\nexport const LEFT_BOTTOM_POSITION_PRIORITY = objectValues([\n POSITION_MAP.leftBottom,\n POSITION_MAP.rightBottom,\n POSITION_MAP.right,\n POSITION_MAP.rightTop,\n POSITION_MAP.topRight,\n POSITION_MAP.bottomRight\n]);\n\nexport const TOP_LEFT_POSITION_PRIORITY = objectValues([\n POSITION_MAP.topLeft,\n POSITION_MAP.topRight,\n POSITION_MAP.bottomLeft,\n POSITION_MAP.bottom,\n POSITION_MAP.bottomRight,\n POSITION_MAP.leftBottom,\n POSITION_MAP.rightBottom\n]);\n\nexport const TOP_RIGHT_POSITION_PRIORITY = objectValues([\n POSITION_MAP.topRight,\n POSITION_MAP.topLeft,\n POSITION_MAP.bottomRight,\n POSITION_MAP.bottom,\n POSITION_MAP.bottomLeft,\n POSITION_MAP.leftBottom,\n POSITION_MAP.rightBottom\n]);\n\nexport const BOTTOM_RIGHT_POSITION_PRIORITY = objectValues([\n POSITION_MAP.bottomRight,\n POSITION_MAP.bottomLeft,\n POSITION_MAP.topRight,\n POSITION_MAP.top,\n POSITION_MAP.topLeft,\n POSITION_MAP.leftTop,\n POSITION_MAP.rightTop\n]);\n\nexport const BOTTOM_LEFT_POSITION_PRIORITY = objectValues([\n POSITION_MAP.bottomLeft,\n POSITION_MAP.bottomRight,\n POSITION_MAP.topLeft,\n POSITION_MAP.top,\n POSITION_MAP.topRight,\n POSITION_MAP.rightTop,\n POSITION_MAP.leftTop\n]);\n\nexport const POSITION_PRIORITY_STRATEGY = {\n top: TOP_POSITION_PRIORITY,\n topLeft: TOP_LEFT_POSITION_PRIORITY,\n topRight: TOP_RIGHT_POSITION_PRIORITY,\n bottom: BOTTOM_POSITION_PRIORITY,\n bottomLeft: BOTTOM_LEFT_POSITION_PRIORITY,\n bottomRight: BOTTOM_RIGHT_POSITION_PRIORITY,\n left: LEFT_POSITION_PRIORITY,\n leftTop: LEFT_TOP_POSITION_PRIORITY,\n leftBottom: LEFT_BOTTOM_POSITION_PRIORITY,\n right: RIGHT_POSITION_PRIORITY,\n rightTop: RIGHT_TOP_POSITION_PRIORITY,\n rightBottom: RIGHT_BOTTOM_POSITION_PRIORITY\n};\n\nexport const POSITION_TO_CSS_MAP: {[key: string]: string} = {\n top: 'top',\n topLeft: 'top-left',\n topRight: 'top-right',\n right: 'right',\n rightTop: 'right-top',\n rightBottom: 'right-bottom',\n left: 'left',\n leftTop: 'left-top',\n leftBottom: 'left-bottom',\n bottom: 'bottom',\n bottomLeft: 'bottom-left',\n bottomRight: 'bottom-right'\n};\n\nexport const DEFAULT_4_POSITIONS_TO_CSS_MAP: {[key: string]: string} = {\n top: 'top',\n bottom: 'bottom',\n right: 'right',\n left: 'left'\n};\n\nfunction arrayMap<T, S>(array: T[], iteratee: (item: T, index: number, arr: T[]) => S): S[] {\n let index = -1;\n const length = array == null ? 0 : array.length;\n const result = Array(length);\n\n while (++index < length) {\n result[ index ] = iteratee(array[ index ], index, array);\n }\n\n return result;\n}\nfunction baseValues<T>(object: { [key: string]: T } | T[], props: string[]): T[] {\n return arrayMap(props, (key) => {\n return object[ key ];\n });\n}\nfunction objectValues<T>(object: { [key: string]: T } | T[]): T[] {\n return object == null ? [] : baseValues(object, Object.keys(object));\n}\n","export enum AnimationCurves {\n StandardCurve = 'cubic-bezier(0.4,0.0,0.2,1)',\n DecelerationCurve = 'cubic-bezier(0.0,0.0,0.2,1)',\n AccelerationCurve = 'cubic-bezier(0.4,0.0,1,1)',\n SharpCurve = 'cubic-bezier(0.4,0.0,0.6,1)'\n}\n","import {\n animate,\n state,\n style,\n transition,\n trigger,\n AnimationTriggerMetadata\n} from '@angular/animations';\n\n\nexport const fadeAnimation: AnimationTriggerMetadata = trigger('fadeAnimation', [\n state('void', style({ opacity: 0 })),\n state('true', style({ opacity: 1 })),\n state('false', style({ opacity: 0 })),\n transition('* => true', animate('150ms cubic-bezier(0.0, 0.0, 0.2, 1)')),\n transition('* => void', animate('150ms cubic-bezier(0.4, 0.0, 1, 1)'))\n]);\n","export enum MultipleMode {\n CHECKBOX = 'checkbox',\n KEYBOARD = 'keyboard'\n}\n","import {\n animate,\n AnimationTriggerMetadata,\n state,\n style,\n transition,\n trigger,\n group\n} from '@angular/animations';\n\n\n/**\n * The following are all the animations for the mc-select component, with each\n * const containing the metadata for one animation.\n *\n */\nexport const mcSelectAnimations: {\n readonly transformPanel: AnimationTriggerMetadata;\n readonly fadeInContent: AnimationTriggerMetadata;\n} = {\n /**\n * This animation transforms the select's overlay panel on and off the page.\n *\n * When the panel is attached to the DOM, it expands its width by the amount of padding, scales it\n * up to 100% on the Y axis, fades in its border, and translates slightly up and to the\n * side to ensure the option text correctly overlaps the trigger text.\n *\n * When the panel is removed from the DOM, it simply fades out linearly.\n */\n transformPanel: trigger('transformPanel', [\n state('void', style({\n transform: 'scaleY(0)',\n minWidth: '100%',\n opacity: 0\n })),\n transition('void => *', group([\n animate('150ms cubic-bezier(0.25, 0.8, 0.25, 1)')\n ])),\n transition('* => void', [\n animate('250ms 100ms linear', style({ opacity: 0 }))\n ])\n ]),\n\n /**\n * This animation fades in the background color and text content of the\n * select's options. It is time delayed to occur 100ms after the overlay\n * panel has transformed in.\n */\n fadeInContent: trigger('fadeInContent', [\n state('showing', style({ opacity: 1 })),\n transition('void => showing', [\n style({ opacity: 0 }),\n animate('150ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)')\n ])\n ])\n};\n\n\nexport const transformPanel = mcSelectAnimations.transformPanel;\n\nexport const fadeInContent = mcSelectAnimations.fadeInContent;\n","import { InjectionToken } from '@angular/core';\n\n\n/** InjectionToken that can be used to specify the global label options. */\nexport const MC_LABEL_GLOBAL_OPTIONS =\n new InjectionToken<LabelOptions>('mc-label-global-options');\n\n/** Type for the available floatLabel values. */\nexport type FloatLabelType = 'always' | 'never' | 'auto';\n\n/** Configurable options for floating labels. */\n// tslint:disable-next-line:naming-convention\nexport interface LabelOptions {\n /**\n * Whether the label should float `always`, `never`, or `auto` (only when necessary).\n * Default behavior is assumed to be `auto`.\n */\n float?: FloatLabelType;\n}\n","import { Component, ViewEncapsulation, Input, ChangeDetectionStrategy } from '@angular/core';\n\n\nexport type McPseudoCheckboxState = 'unchecked' | 'checked' | 'indeterminate';\n\n/**\n * Component that shows a simplified checkbox without including any kind of \"real\" checkbox.\n * Meant to be used when the checkbox is purely decorative and a large number of them will be\n * included, such as for the options in a multi-select. Uses no SVGs or complex animations.\n * Note that theming is meant to be handled by the parent element, e.g.\n * `mc-primary .mc-pseudo-checkbox`.\n *\n * Note that this component will be completely invisible to screen-reader users. This is *not*\n * interchangeable with `<mc-checkbox>` and should *not* be used if the user would directly\n * interact with the checkbox. The pseudo-checkbox should only be used as an implementation detail\n * of more complex components that appropriately handle selected / checked state.\n * @docs-private\n */\n@Component({\n selector: 'mc-pseudo-checkbox',\n templateUrl: 'pseudo-checkbox.partial.html',\n styleUrls: ['pseudo-checkbox.scss'],\n host: {\n class: 'mc-pseudo-checkbox',\n '[class.mc-indeterminate]': 'state === \"indeterminate\"',\n '[class.mc-checked]': 'state === \"checked\"',\n '[class.mc-disabled]': 'disabled'\n },\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class McPseudoCheckbox {\n @Input() state: McPseudoCheckboxState = 'unchecked';\n\n @Input() disabled: boolean = false;\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { McPseudoCheckbox } from './pseudo-checkbox';\n\n\n@NgModule({\n imports: [CommonModule],\n exports: [McPseudoCheckbox],\n declarations: [McPseudoCheckbox]\n})\nexport class McPseudoCheckboxModule {}\n","import { DOCUMENT } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class McMeasureScrollbarService {\n\n get scrollBarWidth(): number {\n if (this._scrollBarWidth) {\n return this._scrollBarWidth;\n }\n this.initScrollBarWidth();\n\n return this._scrollBarWidth;\n }\n\n private _scrollBarWidth: number;\n private scrollbarMeasure = {\n position: 'absolute',\n top: '-9999px',\n width: '50px',\n height: '50px',\n overflow: 'scroll'\n };\n\n constructor(\n @Inject(DOCUMENT) private document: any\n ) {\n this.initScrollBarWidth();\n }\n\n initScrollBarWidth() {\n const scrollDiv = this.document.createElement('div');\n\n // tslint:disable-next-line\n for (const scrollProp in this.scrollbarMeasure) {\n if (this.scrollbarMeasure.hasOwnProperty(scrollProp)) {\n scrollDiv.style[scrollProp] = this.scrollbarMeasure[scrollProp];\n }\n }\n\n this.document.body.appendChild(scrollDiv);\n\n const width = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n\n this.document.body.removeChild(scrollDiv);\n this._scrollBarWidth = width;\n }\n}\n","import { Component, ViewEncapsulation, Input, ChangeDetectionStrategy } from '@angular/core';\n\nimport { mixinDisabled, CanDisable, CanDisableCtor } from '../common-behaviors/index';\n\n\n/** @docs-private */\nexport class McOptgroupBase {}\n\n// tslint:disable-next-line: naming-convention\nexport const McOptgroupMixinBase: CanDisableCtor & typeof McOptgroupBase = mixinDisabled(McOptgroupBase);\n\nlet uniqueOptgroupIdCounter = 0;\n\n/**\n * Component that is used to group instances of `mc-option`.\n */\n@Component({\n selector: 'mc-optgroup',\n exportAs: 'mcOptgroup',\n templateUrl: 'optgroup.html',\n styleUrls: ['./optgroup.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n inputs: ['disabled'],\n host: {\n class: 'mc-optgroup',\n '[class.mc-disabled]': 'disabled'\n }\n})\nexport class McOptgroup extends McOptgroupMixinBase implements CanDisable {\n @Input() label: string;\n\n /** Unique id for the underlying label. */\n labelId: string = `mc-optgroup-label-${uniqueOptgroupIdCounter++}`;\n}\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n AfterViewChecked,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Inject,\n InjectionToken,\n Input,\n OnDestroy,\n Optional,\n Output,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport { ENTER, SPACE } from '@ptsecurity/cdk/keycodes';\nimport { Subject } from 'rxjs';\n\nimport { McOptgroup } from './optgroup';\n\n\n/**\n * Option IDs need to be unique across components, so this counter exists outside of\n * the component definition.\n */\nlet uniqueIdCounter = 0;\n\n/** Event object emitted by McOption when selected or deselected. */\nexport class McOptionSelectionChange {\n constructor(public source: McOption, public isUserInput = false) {}\n}\n\n/**\n * Describes a parent component that manages a list of options.\n * Contains properties that the options can inherit.\n * @docs-private\n */\n// tslint:disable-next-line: naming-convention\nexport interface McOptionParentComponent {\n multiple?: boolean;\n}\n\n/**\n * Injection token used to provide the parent component to options.\n */\nexport const MC_OPTION_PARENT_COMPONENT =\n new InjectionToken<McOptionParentComponent>('MC_OPTION_PARENT_COMPONENT');\n\n/**\n * Single option inside of a `<mc-select>` element.\n */\n@Component({\n selector: 'mc-option',\n exportAs: 'mcOption',\n host: {\n '[attr.tabindex]': 'getTabIndex()',\n class: 'mc-option',\n '[class.mc-selected]': 'selected',\n '[class.mc-option-multiple]': 'multiple',\n '[class.mc-active]': 'active',\n '[class.mc-disabled]': 'disabled',\n '[id]': 'id',\n\n '(click)': 'selectViaInteraction()',\n '(keydown)': 'handleKeydown($event)'\n },\n styleUrls: ['option.scss'],\n templateUrl: 'option.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class McOption implements AfterViewChecked, OnDestroy {\n /** The form value of the option. */\n @Input() value: any;\n\n @Input()\n get showCheckbox() {\n return this._showCheckbox === undefined ? this.multiple : this._showCheckbox;\n }\n\n set showCheckbox(value) {\n this._showCheckbox = coerceBooleanProperty(value);\n }\n\n private _showCheckbox: boolean;\n\n /** Event emitted when the option is selected or deselected. */\n // tslint:disable-next-line:no-output-on-prefix\n @Output() readonly onSelectionChange = new EventEmitter<McOptionSelectionChange>();\n\n /** Emits when the state of the option changes and any parents have to be notified. */\n readonly stateChanges = new Subject<void>();\n\n /**\n * The displayed value of the option. It is necessary to show the selected option in the\n * select's trigger.\n */\n get viewValue(): string {\n // TODO: Add input property alternative for node envs.\n return (this.getHostElement().textContent || '').trim();\n }\n\n /** Whether the wrapping component is in multiple selection mode. */\n get multiple() {\n return this.parent && this.parent.multiple;\n }\n\n get id(): string {\n return this._id;\n }\n\n private _id = `mc-option-${uniqueIdCounter++}`;\n\n get selected(): boolean {\n return this._selected;\n }\n\n private _selected = false;\n\n @Input()\n get disabled() {\n return (this.group && this.group.disabled) || this._disabled;\n }\n\n set disabled(value: any) {\n this._disabled = coerceBooleanProperty(value);\n }\n\n private _disabled = false;\n\n /**\n * Whether or not the option is currently active and ready to be selected.\n * An active option displays styles as if it is focused, but the\n * focus is actually retained somewhere else. This comes in handy\n * for components like autocomplete where focus must remain on the input.\n */\n get active(): boolean {\n return this._active;\n }\n\n private _active = false;\n\n private mostRecentViewValue = '';\n\n constructor(\n private readonly element: ElementRef,\n private readonly changeDetectorRef: ChangeDetectorRef,\n @Optional() @Inject(MC_OPTION_PARENT_COMPONENT) private readonly parent: McOptionParentComponent,\n @Optional() readonly group: McOptgroup\n ) {}\n\n ngAfterViewChecked() {\n // Since parent components could be using the option's label to display the selected values\n // (e.g. `mc-select`) and they don't have a way of knowing if the option's label has changed\n // we have to check for changes in the DOM ourselves and dispatch an event. These checks are\n // relatively cheap, however we still limit them only to selected options in order to avoid\n // hitting the DOM too often.\n if (this._selected) {\n const viewValue = this.viewValue;\n\n if (viewValue !== this.mostRecentViewValue) {\n this.mostRecentViewValue = viewValue;\n this.stateChanges.next();\n }\n }\n }\n\n ngOnDestroy() {\n this.stateChanges.complete();\n }\n\n getHeight(): number {\n // tslint:disable-next-line:naming-convention\n const DOMRect: DOMRect = this.element.nativeElement.getClientRects()[0];\n\n return DOMRect ? DOMRect.height : 0;\n }\n\n select(): void {\n if (!this._selected) {\n this._selected = true;\n\n this.changeDetectorRef.markForCheck();\n this.emitSelectionChangeEvent();\n }\n }\n\n deselect(): void {\n if (this._selected) {\n this._selected = false;\n\n this.changeDetectorRef.markForCheck();\n this.emitSelectionChangeEvent();\n }\n }\n\n focus(): void {\n const element = this.getHostElement();\n\n if (typeof element.focus === 'function') {\n element.focus();\n }\n }\n\n /**\n * This method sets display styles on the option to make it appear\n * active. This is used by the ActiveDescendantKeyManager so key\n * events will display the proper options as active on arrow key events.\n */\n setActiveStyles(): void {\n if (!this._active) {\n this._active = true;\n this.changeDetectorRef.markForCheck();\n }\n }\n\n /**\n * This method removes display styles on the option that made it appear\n * active. This is used by the ActiveDescendantKeyManager so key\n * events will display the proper options as active on arrow key events.\n */\n setInactiveStyles(): void {\n if (this._active) {\n this._active = false;\n this.changeDetectorRef.markForCheck();\n }\n }\n\n /** Gets the label to be used when determining whether the option should be focused. */\n getLabel(): string {\n return this.viewValue;\n }\n\n /** Ensures the option is selected when activated from the keyboard. */\n handleKeydown(event: KeyboardEvent): void {\n // tslint:disable-next-line\n if (event.keyCode === ENTER || event.keyCode === SPACE) {\n this.selectViaInteraction();\n\n // Prevent the page from scrolling down and form submits.\n event.preventDefault();\n }\n }\n\n /**\n * `Selects the option while indicating the selection came from the user. Used to\n * determine if the select's view -> model callback should be invoked.`\n */\n selectViaInteraction(): void {\n if (!this.disabled) {\n this._selected = this.multiple ? !this._selected : true;\n\n this.changeDetectorRef.markForCheck();\n this.emitSelectionChangeEvent(true);\n }\n }\n\n getTabIndex(): string {\n return this.disabled ? '-1' : '0';\n }\n\n getHostElement(): HTMLElement {\n return this.element.nativeElement;\n }\n\n /** Emits the selection change event. */\n private emitSelectionChangeEvent(isUserInput = false): void {\n this.onSelectionChange.emit(new McOptionSelectionChange(this, isUserInput));\n }\n}\n\n/**\n * Counts the amount of option group labels that precede the specified option.\n * @param optionIndex Index of the option at which to start counting.\n * @param options Flat list of all of the options.\n * @param optionGroups Flat list of all of the option groups.\n * @docs-private\n */\nexport function countGroupLabelsBeforeOption(\n optionIndex: number,\n options: QueryList<McOption>,\n optionGroups: QueryList<McOptgroup>\n): number {\n\n if (optionGroups.length) {\n const optionsArray = options.toArray();\n const groups = optionGroups.toArray();\n\n let groupCounter = 0;\n\n for (let i = 0; i < optionIndex + 1; i++) {\n if (optionsArray[i].group && optionsArray[i].group === groups[groupCounter]) {\n groupCounter++;\n }\n }\n\n return groupCounter;\n }\n\n return 0;\n}\n\n/**\n * Determines the position to which to scroll a panel in order for an option to be into view.\n * @param optionIndex Index of the option to be scrolled into the view.\n * @param optionHeight Height of the options.\n * @param currentScrollPosition Current scroll position of the panel.\n * @param panelHeight Height of the panel.\n * @docs-private\n */\nexport function getOptionScrollPosition(\n optionIndex: number,\n optionHeight: number,\n currentScrollPosition: number,\n panelHeight: number\n): number {\n const optionOffset = optionIndex * optionHeight;\n\n if (optionOffset < currentScrollPosition) { return optionOffset; }\n\n if (optionOffset + optionHeight > currentScrollPosition + panelHeight) {\n return Math.max(0, optionOffset - panelHeight + optionHeight);\n }\n\n return currentScrollPosition;\n}\n\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { McPseudoCheckboxModule } from '../selection/index';\n\nimport { McOptgroup } from './optgroup';\nimport { McOption } from './option';\n\n\n@NgModule({\n imports: [CommonModule, McPseudoCheckboxModule],\n exports: [McOption, McOptgroup],\n declarations: [McOption, McOptgroup]\n})\nexport class McOptionModule {}\n","import {\n AfterContentInit,\n ContentChildren,\n Directive,\n ElementRef,\n QueryList\n} from '@angular/core';\n\n\n@Directive({\n selector: '.mc-form__row, .mc-form__fieldset, .mc-form__legend',\n exportAs: 'mcFormElement',\n host: {\n '[class.mc-form-row_margin]': 'margin'\n }\n})\nexport class McFormElement implements AfterContentInit {\n margin = false;\n\n isRow = false;\n isFieldSet = false;\n hasLegend = false;\n isHorizontal = false;\n\n @ContentChildren(McFormElement) elements: QueryList<McFormElement>;\n\n constructor(private readonly element: ElementRef<HTMLElement>) {}\n\n ngAfterContentInit(): void {\n const classList = this.element.nativeElement.classList;\n\n this.isRow = classList.contains('mc-form__row');\n this.isHorizontal = classList.contains('mc-horizontal');\n\n this.isFieldSet = classList.contains('mc-form__fieldset');\n\n if (this.isFieldSet && this.element.nativeElement.firstElementChild) {\n this.hasLegend = this.element.nativeElement.firstElementChild.classList.contains('mc-form__legend');\n }\n }\n}\n\n\n@Directive({\n selector: '.mc-form-vertical, .mc-form-horizontal',\n exportAs: 'mcForm',\n host: {\n class: 'mc-form'\n }\n})\nexport class McForm implements AfterContentInit {\n @ContentChildren(McFormElement) elements: QueryList<McFormElement>;\n\n ngAfterContentInit(): void {\n this.handleElements(this.elements);\n }\n\n handleElements(elements: QueryList<McFormElement>): void {\n elements.forEach((element, index) => {\n const nextElement: McFormElement | undefined = elements.get(index + 1);\n\n if (element.isFieldSet && !element.isHorizontal) {\n this.handleElements(element.elements);\n }\n\n element.margin = !!(nextElement && !nextElement.hasLegend);\n });\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport {\n McForm,\n McFormElement\n} from './forms.directive';\n\n\n@NgModule({\n exports: [\n McForm,\n McFormElement\n ],\n declarations: [\n McForm,\n McFormElement\n ]\n})\nexport class McFormsModule {}\n","/**\n * Returns an exception to be thrown when attempting to change a select's `multiple` option\n * after initialization.\n * @docs-private\n */\nexport function getMcSelectDynamicMultipleError(): Error {\n return Error('Cannot change `multiple` mode of select after initialization.');\n}\n\n/**\n * Returns an exception to be thrown when attempting to assign a non-array value to a select\n * in `multiple` mode. Note that `undefined` and `null` are still valid values to allow for\n * resetting the value.\n * @docs-private\n */\nexport function getMcSelectNonArrayValueError(): Error {\n return Error('Value must be an array in multiple-selection mode.');\n}\n\n/**\n * Returns an exception to be thrown when assigning a non-function value to the comparator\n * used to determine if a value corresponds to an option. Note that whether the function\n * actually takes two values and returns a boolean is not checked.\n */\nexport function getMcSelectNonFunctionValueError(): Error {\n return Error('`compareWith` must be a function.');\n}\n","\nexport function isBoolean(val: any): val is boolean { return typeof val === 'boolean'; }\n\nexport function toBoolean(value: any): boolean {\n return value != null && `${value}` !== 'false';\n}\n","import { FormControl, FormGroupDirective, NgControl, NgForm } from '@angular/forms';\nimport { Subject } from 'rxjs';\n\nimport { ErrorStateMatcher } from '../error/error-options';\n\nimport { Constructor } from './constructor';\n\n\n/** @docs-private */\n// tslint:disable-next-line:naming-convention\nexport interface CanUpdateErrorState {\n\n readonly stateChanges: Subject<void>;\n\n errorState: boolean;\n errorStateMatcher: ErrorStateMatcher;\n\n updateErrorState();\n}\n\n/** @docs-private */\nexport type CanUpdateErrorStateCtor = Constructor<CanUpdateErrorState>;\n\n/** @docs-private */\n// tslint:disable-next-line:naming-convention\nexport interface HasErrorState {\n parentFormGroup: FormGroupDirective;\n parentForm: NgForm;\n defaultErrorStateMatcher: ErrorStateMatcher;\n ngControl: NgControl;\n}\n\n/**\n * Mixin to augment a directive with updateErrorState method.\n * For component with `errorState` and need to update `errorState`.\n */\nexport function mixinErrorState<T extends Constructor<HasErrorState>>(base: T): CanUpdateErrorStateCtor & T {\n return class extends base {\n /** Whether the component is in an error state. */\n errorState: boolean = false;\n\n /**\n * Stream that emits whenever the state of the input changes such that the wrapping\n * `MatFormField` needs to run change detection.\n */\n readonly stateChanges = new Subject<void>();\n\n errorStateMatcher: ErrorStateMatcher;\n\n constructor(...args: any[]) {\n super(...args);\n }\n\n updateErrorState() {\n const oldState = this.errorState;\n const parent = this.parentFormGroup || this.parentForm;\n const matcher = this.errorStateMatcher || this.defaultErrorStateMatcher;\n const control = this.ngControl ? this.ngControl.control as FormControl : null;\n const newState = matcher.isErrorState(control, parent);\n\n if (newState !== oldState) {\n this.errorState = newState;\n this.stateChanges.next();\n }\n }\n };\n}\n","import { coerceNumberProperty } from '@angular/cdk/coercion';\n\nimport { AbstractConstructor, Constructor } from './constructor';\nimport { CanDisable } from './disabled';\n\n\n// tslint:disable-next-line:naming-convention\nexport interface HasTabIndex {\n tabIndex: number;\n}\n\nexport type HasTabIndexCtor = Constructor<HasTabIndex>;\n\n// Mixin to augment a directive with a `tabIndex` property.\nexport function mixinTabIndex<T extends AbstractConstructor<CanDisable>>(base: T, defaultTabIndex = 0):\n HasTabIndexCtor & T {\n // Note: We cast `base` to `unknown` and then `Constructor`. It could be an abstract class,\n // but given we `extend` it from another class, we can assume a constructor being accessible.\n // tslint:disable-next-line:naming-convention\n abstract class Mixin extends (base as unknown as Constructor<CanDisable>) {\n // tslint:disable-next-line:orthodox-getter-and-setter\n private _tabIndex: number = defaultTabIndex;\n defaultTabIndex = defaultTabIndex;\n\n get tabIndex(): number {\n return this.disabled ? -1 : this._tabIndex;\n }\n\n set tabIndex(value: number) {\n // If the specified tabIndex value is null or undefined, fall back to the default value.\n this._tabIndex = value != null ? coerceNumberProperty(value) : this.defaultTabIndex;\n }\n\n constructor(...args: any[]) {\n super(...args);\n }\n }\n\n // Since we don't directly extend from `base` with it's original types, and we instruct\n // TypeScript that `T` actually is instantiatable through `new`, the types don't overlap.\n // This is a limitation in TS as abstract classes cannot be typed properly dynamically.\n return Mixin as unknown as T & Constructor<HasTabIndex>;\n}\n","export const selectEvents = 'selectEvents';\n"]}