@ptsecurity/mosaic 11.6.0 → 12.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (630) hide show
  1. package/_theming.scss +407 -99
  2. package/_visual.scss +63 -26
  3. package/autocomplete/autocomplete-origin.directive.d.ts +3 -0
  4. package/autocomplete/autocomplete-trigger.directive.d.ts +3 -0
  5. package/autocomplete/autocomplete.component.d.ts +3 -0
  6. package/autocomplete/autocomplete.module.d.ts +10 -0
  7. package/autocomplete/package.json +0 -1
  8. package/autocomplete/ptsecurity-mosaic-autocomplete.d.ts +1 -0
  9. package/bundles/ptsecurity-mosaic-autocomplete.umd.js +178 -114
  10. package/bundles/ptsecurity-mosaic-autocomplete.umd.js.map +1 -1
  11. package/bundles/ptsecurity-mosaic-button-toggle.umd.js +107 -71
  12. package/bundles/ptsecurity-mosaic-button-toggle.umd.js.map +1 -1
  13. package/bundles/ptsecurity-mosaic-button.umd.js +106 -77
  14. package/bundles/ptsecurity-mosaic-button.umd.js.map +1 -1
  15. package/bundles/ptsecurity-mosaic-card.umd.js +74 -43
  16. package/bundles/ptsecurity-mosaic-card.umd.js.map +1 -1
  17. package/bundles/ptsecurity-mosaic-checkbox.umd.js +114 -69
  18. package/bundles/ptsecurity-mosaic-checkbox.umd.js.map +1 -1
  19. package/bundles/ptsecurity-mosaic-core.umd.js +804 -256
  20. package/bundles/ptsecurity-mosaic-core.umd.js.map +1 -1
  21. package/bundles/ptsecurity-mosaic-datepicker.umd.js +599 -420
  22. package/bundles/ptsecurity-mosaic-datepicker.umd.js.map +1 -1
  23. package/bundles/ptsecurity-mosaic-design-tokens.umd.js +108 -26
  24. package/bundles/ptsecurity-mosaic-design-tokens.umd.js.map +1 -1
  25. package/bundles/ptsecurity-mosaic-divider.umd.js +55 -28
  26. package/bundles/ptsecurity-mosaic-divider.umd.js.map +1 -1
  27. package/bundles/ptsecurity-mosaic-dropdown.umd.js +263 -187
  28. package/bundles/ptsecurity-mosaic-dropdown.umd.js.map +1 -1
  29. package/bundles/ptsecurity-mosaic-form-field.umd.js +200 -125
  30. package/bundles/ptsecurity-mosaic-form-field.umd.js.map +1 -1
  31. package/bundles/ptsecurity-mosaic-icon.umd.js +79 -41
  32. package/bundles/ptsecurity-mosaic-icon.umd.js.map +1 -1
  33. package/bundles/ptsecurity-mosaic-input.umd.js +222 -124
  34. package/bundles/ptsecurity-mosaic-input.umd.js.map +1 -1
  35. package/bundles/ptsecurity-mosaic-link.umd.js +76 -45
  36. package/bundles/ptsecurity-mosaic-link.umd.js.map +1 -1
  37. package/bundles/ptsecurity-mosaic-list.umd.js +344 -200
  38. package/bundles/ptsecurity-mosaic-list.umd.js.map +1 -1
  39. package/bundles/ptsecurity-mosaic-modal.umd.js +324 -220
  40. package/bundles/ptsecurity-mosaic-modal.umd.js.map +1 -1
  41. package/bundles/ptsecurity-mosaic-navbar.umd.js +289 -208
  42. package/bundles/ptsecurity-mosaic-navbar.umd.js.map +1 -1
  43. package/bundles/ptsecurity-mosaic-popover.umd.js +346 -640
  44. package/bundles/ptsecurity-mosaic-popover.umd.js.map +1 -1
  45. package/bundles/ptsecurity-mosaic-progress-bar.umd.js +69 -40
  46. package/bundles/ptsecurity-mosaic-progress-bar.umd.js.map +1 -1
  47. package/bundles/ptsecurity-mosaic-progress-spinner.umd.js +69 -40
  48. package/bundles/ptsecurity-mosaic-progress-spinner.umd.js.map +1 -1
  49. package/bundles/ptsecurity-mosaic-radio.umd.js +126 -81
  50. package/bundles/ptsecurity-mosaic-radio.umd.js.map +1 -1
  51. package/bundles/ptsecurity-mosaic-select.umd.js +276 -154
  52. package/bundles/ptsecurity-mosaic-select.umd.js.map +1 -1
  53. package/bundles/ptsecurity-mosaic-sidebar.umd.js +105 -68
  54. package/bundles/ptsecurity-mosaic-sidebar.umd.js.map +1 -1
  55. package/bundles/ptsecurity-mosaic-sidepanel.umd.js +236 -158
  56. package/bundles/ptsecurity-mosaic-sidepanel.umd.js.map +1 -1
  57. package/bundles/ptsecurity-mosaic-splitter.umd.js +112 -83
  58. package/bundles/ptsecurity-mosaic-splitter.umd.js.map +1 -1
  59. package/bundles/ptsecurity-mosaic-table.umd.js +77 -44
  60. package/bundles/ptsecurity-mosaic-table.umd.js.map +1 -1
  61. package/bundles/ptsecurity-mosaic-tabs.umd.js +894 -687
  62. package/bundles/ptsecurity-mosaic-tabs.umd.js.map +1 -1
  63. package/bundles/ptsecurity-mosaic-tags.umd.js +313 -209
  64. package/bundles/ptsecurity-mosaic-tags.umd.js.map +1 -1
  65. package/bundles/ptsecurity-mosaic-textarea.umd.js +107 -53
  66. package/bundles/ptsecurity-mosaic-textarea.umd.js.map +1 -1
  67. package/bundles/ptsecurity-mosaic-timepicker.umd.js +116 -71
  68. package/bundles/ptsecurity-mosaic-timepicker.umd.js.map +1 -1
  69. package/bundles/ptsecurity-mosaic-toggle.umd.js +97 -58
  70. package/bundles/ptsecurity-mosaic-toggle.umd.js.map +1 -1
  71. package/bundles/ptsecurity-mosaic-tooltip.umd.js +347 -615
  72. package/bundles/ptsecurity-mosaic-tooltip.umd.js.map +1 -1
  73. package/bundles/ptsecurity-mosaic-tree-select.umd.js +223 -118
  74. package/bundles/ptsecurity-mosaic-tree-select.umd.js.map +1 -1
  75. package/bundles/ptsecurity-mosaic-tree.umd.js +1162 -344
  76. package/bundles/ptsecurity-mosaic-tree.umd.js.map +1 -1
  77. package/bundles/ptsecurity-mosaic.umd.js +2 -2
  78. package/button/button.component.d.ts +7 -0
  79. package/button/button.module.d.ts +8 -0
  80. package/button/package.json +0 -1
  81. package/button/ptsecurity-mosaic-button.d.ts +1 -0
  82. package/button-toggle/button-toggle.component.d.ts +5 -0
  83. package/button-toggle/button-toggle.module.d.ts +7 -0
  84. package/button-toggle/package.json +0 -1
  85. package/button-toggle/ptsecurity-mosaic-button-toggle.d.ts +1 -0
  86. package/card/card.component.d.ts +3 -0
  87. package/card/card.module.d.ts +8 -0
  88. package/card/package.json +0 -1
  89. package/card/ptsecurity-mosaic-card.d.ts +1 -0
  90. package/checkbox/checkbox-module.d.ts +7 -0
  91. package/checkbox/checkbox-required-validator.d.ts +3 -0
  92. package/checkbox/checkbox.d.ts +3 -0
  93. package/checkbox/package.json +0 -1
  94. package/checkbox/ptsecurity-mosaic-checkbox.d.ts +1 -0
  95. package/core/common-behaviors/color.d.ts +3 -3
  96. package/core/common-behaviors/common-module.d.ts +5 -0
  97. package/core/common-behaviors/disabled.d.ts +4 -3
  98. package/core/common-behaviors/tabindex.d.ts +2 -1
  99. package/core/error/error-options.d.ts +5 -0
  100. package/core/formatters/date/formatter.d.ts +3 -0
  101. package/core/formatters/index.d.ts +5 -0
  102. package/core/formatters/number/formatter.d.ts +4 -0
  103. package/core/forms/forms-module.d.ts +5 -0
  104. package/core/forms/forms.directive.d.ts +5 -0
  105. package/core/highlight/highlight.pipe.d.ts +3 -0
  106. package/core/highlight/index.d.ts +6 -0
  107. package/core/line/line.d.ts +6 -0
  108. package/core/option/action.d.ts +42 -0
  109. package/core/option/index.d.ts +1 -0
  110. package/core/option/optgroup.d.ts +3 -0
  111. package/core/option/option-module.d.ts +9 -0
  112. package/core/option/option.d.ts +3 -0
  113. package/core/overlay/overlay-position-map.d.ts +0 -4
  114. package/core/package.json +0 -1
  115. package/core/pop-up/constants.d.ts +29 -0
  116. package/core/pop-up/index.d.ts +3 -0
  117. package/core/pop-up/pop-up-trigger.d.ts +70 -0
  118. package/core/pop-up/pop-up.d.ts +35 -0
  119. package/core/ptsecurity-mosaic-core.d.ts +1 -1
  120. package/core/public-api.d.ts +1 -0
  121. package/core/selection/pseudo-checkbox/pseudo-checkbox.d.ts +3 -0
  122. package/core/selection/pseudo-checkbox/pseudo-checkbox.module.d.ts +6 -0
  123. package/core/services/measure-scrollbar.service.d.ts +3 -0
  124. package/datepicker/calendar-body.component.d.ts +5 -6
  125. package/datepicker/calendar.component.d.ts +5 -0
  126. package/datepicker/datepicker-input.directive.d.ts +6 -2
  127. package/datepicker/datepicker-intl.d.ts +3 -0
  128. package/datepicker/datepicker-module.d.ts +18 -0
  129. package/datepicker/datepicker-toggle.component.d.ts +5 -0
  130. package/datepicker/datepicker.component.d.ts +5 -0
  131. package/datepicker/month-view.component.d.ts +3 -0
  132. package/datepicker/multi-year-view.component.d.ts +3 -0
  133. package/datepicker/package.json +0 -1
  134. package/datepicker/ptsecurity-mosaic-datepicker.d.ts +1 -0
  135. package/datepicker/year-view.component.d.ts +3 -0
  136. package/design-tokens/package.json +0 -1
  137. package/design-tokens/ptsecurity-mosaic-design-tokens.d.ts +1 -0
  138. package/design-tokens/tokens/components/list.json5 +0 -4
  139. package/design-tokens/tokens/components/popover.json5 +32 -4
  140. package/design-tokens/tokens/components/tooltip.json5 +49 -3
  141. package/design-tokens/tokens/components/tree.json5 +3 -3
  142. package/design-tokens/tokens/properties/globals.json5 +1 -1
  143. package/design-tokens/tokens.d.ts +56 -15
  144. package/divider/divider.component.d.ts +3 -0
  145. package/divider/divider.module.d.ts +6 -0
  146. package/divider/package.json +0 -1
  147. package/divider/ptsecurity-mosaic-divider.d.ts +1 -0
  148. package/dropdown/dropdown-content.directive.d.ts +3 -0
  149. package/dropdown/dropdown-item.component.d.ts +3 -0
  150. package/dropdown/dropdown-trigger.directive.d.ts +6 -8
  151. package/dropdown/dropdown.component.d.ts +5 -1
  152. package/dropdown/dropdown.module.d.ts +11 -0
  153. package/dropdown/package.json +0 -1
  154. package/dropdown/ptsecurity-mosaic-dropdown.d.ts +1 -0
  155. package/esm2015/autocomplete/autocomplete-origin.directive.js +11 -11
  156. package/esm2015/autocomplete/autocomplete-trigger.directive.js +53 -38
  157. package/esm2015/autocomplete/autocomplete.component.js +56 -37
  158. package/esm2015/autocomplete/autocomplete.module.js +25 -15
  159. package/esm2015/button/button.component.js +52 -56
  160. package/esm2015/button/button.module.js +35 -20
  161. package/esm2015/button-toggle/button-toggle.component.js +76 -55
  162. package/esm2015/button-toggle/button-toggle.module.js +13 -8
  163. package/esm2015/card/card.component.js +32 -30
  164. package/esm2015/card/card.module.js +23 -12
  165. package/esm2015/checkbox/checkbox-module.js +13 -8
  166. package/esm2015/checkbox/checkbox-required-validator.js +12 -8
  167. package/esm2015/checkbox/checkbox.js +61 -44
  168. package/esm2015/core/common-behaviors/color.js +2 -5
  169. package/esm2015/core/common-behaviors/common-module.js +17 -11
  170. package/esm2015/core/common-behaviors/disabled.js +1 -1
  171. package/esm2015/core/common-behaviors/tabindex.js +4 -13
  172. package/esm2015/core/error/error-options.js +12 -8
  173. package/esm2015/core/formatters/date/formatter.js +13 -10
  174. package/esm2015/core/formatters/index.js +13 -8
  175. package/esm2015/core/formatters/number/formatter.js +16 -10
  176. package/esm2015/core/forms/forms-module.js +20 -13
  177. package/esm2015/core/forms/forms.directive.js +32 -29
  178. package/esm2015/core/highlight/highlight.pipe.js +8 -4
  179. package/esm2015/core/highlight/index.js +13 -8
  180. package/esm2015/core/line/line.js +22 -14
  181. package/esm2015/core/option/action.js +131 -0
  182. package/esm2015/core/option/index.js +2 -1
  183. package/esm2015/core/option/optgroup.js +22 -19
  184. package/esm2015/core/option/option-module.js +14 -8
  185. package/esm2015/core/option/option.js +44 -35
  186. package/esm2015/core/overlay/overlay-position-map.js +16 -18
  187. package/esm2015/core/pop-up/constants.js +34 -0
  188. package/esm2015/core/pop-up/index.js +4 -0
  189. package/esm2015/core/pop-up/pop-up-trigger.js +241 -0
  190. package/esm2015/core/pop-up/pop-up.js +87 -0
  191. package/esm2015/core/ptsecurity-mosaic-core.js +1 -2
  192. package/esm2015/core/public-api.js +2 -1
  193. package/esm2015/core/selection/pseudo-checkbox/pseudo-checkbox.js +25 -21
  194. package/esm2015/core/selection/pseudo-checkbox/pseudo-checkbox.module.js +13 -8
  195. package/esm2015/core/services/measure-scrollbar.service.js +12 -12
  196. package/esm2015/datepicker/calendar-body.component.js +39 -32
  197. package/esm2015/datepicker/calendar.component.js +92 -58
  198. package/esm2015/datepicker/datepicker-input.directive.js +92 -61
  199. package/esm2015/datepicker/datepicker-intl.js +7 -5
  200. package/esm2015/datepicker/datepicker-module.js +89 -48
  201. package/esm2015/datepicker/datepicker-toggle.component.js +44 -32
  202. package/esm2015/datepicker/datepicker.component.js +88 -63
  203. package/esm2015/datepicker/month-view.component.js +48 -29
  204. package/esm2015/datepicker/multi-year-view.component.js +40 -27
  205. package/esm2015/datepicker/year-view.component.js +45 -28
  206. package/esm2015/design-tokens/tokens.js +57 -16
  207. package/esm2015/divider/divider.component.js +24 -20
  208. package/esm2015/divider/divider.module.js +13 -8
  209. package/esm2015/dropdown/dropdown-content.directive.js +13 -15
  210. package/esm2015/dropdown/dropdown-item.component.js +40 -30
  211. package/esm2015/dropdown/dropdown-trigger.directive.js +75 -67
  212. package/esm2015/dropdown/dropdown.component.js +63 -38
  213. package/esm2015/dropdown/dropdown.module.js +40 -23
  214. package/esm2015/form-field/cleaner.js +20 -11
  215. package/esm2015/form-field/form-field.js +77 -53
  216. package/esm2015/form-field/form-field.module.js +41 -24
  217. package/esm2015/form-field/hint.js +16 -13
  218. package/esm2015/form-field/prefix.js +10 -6
  219. package/esm2015/form-field/stepper.js +22 -11
  220. package/esm2015/form-field/suffix.js +10 -6
  221. package/esm2015/icon/icon.component.js +27 -22
  222. package/esm2015/icon/icon.module.js +31 -18
  223. package/esm2015/input/input-number-validators.js +48 -29
  224. package/esm2015/input/input-number.js +42 -28
  225. package/esm2015/input/input.js +94 -52
  226. package/esm2015/input/input.module.js +13 -8
  227. package/esm2015/link/link.component.js +38 -34
  228. package/esm2015/link/link.module.js +20 -11
  229. package/esm2015/list/list-selection.component.js +224 -122
  230. package/esm2015/list/list.component.js +35 -32
  231. package/esm2015/list/list.module.js +47 -25
  232. package/esm2015/modal/css-unit.pipe.js +10 -6
  233. package/esm2015/modal/modal-control.service.js +11 -8
  234. package/esm2015/modal/modal.component.js +107 -61
  235. package/esm2015/modal/modal.directive.js +43 -30
  236. package/esm2015/modal/modal.module.js +59 -31
  237. package/esm2015/modal/modal.service.js +9 -9
  238. package/esm2015/modal/ptsecurity-mosaic-modal.js +1 -3
  239. package/esm2015/navbar/navbar-item.component.js +111 -95
  240. package/esm2015/navbar/navbar.component.js +40 -30
  241. package/esm2015/navbar/navbar.module.js +66 -35
  242. package/esm2015/navbar/ptsecurity-mosaic-navbar.js +1 -2
  243. package/esm2015/navbar/vertical-navbar.component.js +68 -46
  244. package/esm2015/popover/popover-confirm.component.js +115 -0
  245. package/esm2015/popover/popover.component.js +180 -587
  246. package/esm2015/popover/popover.module.js +18 -12
  247. package/esm2015/popover/public-api.js +2 -1
  248. package/esm2015/progress-bar/progress-bar.component.js +26 -24
  249. package/esm2015/progress-bar/progress-bar.module.js +24 -15
  250. package/esm2015/progress-spinner/progress-spinner.component.js +26 -24
  251. package/esm2015/progress-spinner/progress-spinner.module.js +24 -15
  252. package/esm2015/radio/radio.component.js +87 -67
  253. package/esm2015/radio/radio.module.js +13 -8
  254. package/esm2015/select/select.component.js +181 -105
  255. package/esm2015/select/select.module.js +54 -28
  256. package/esm2015/sidebar/ptsecurity-mosaic-sidebar.js +1 -2
  257. package/esm2015/sidebar/sidebar.component.js +61 -50
  258. package/esm2015/sidebar/sidebar.module.js +25 -16
  259. package/esm2015/sidepanel/ptsecurity-mosaic-sidepanel.js +1 -2
  260. package/esm2015/sidepanel/sidepanel-container.component.js +46 -40
  261. package/esm2015/sidepanel/sidepanel-directives.js +87 -57
  262. package/esm2015/sidepanel/sidepanel.module.js +63 -30
  263. package/esm2015/sidepanel/sidepanel.service.js +20 -12
  264. package/esm2015/splitter/splitter.component.js +62 -64
  265. package/esm2015/splitter/splitter.module.js +32 -19
  266. package/esm2015/table/table.component.js +13 -9
  267. package/esm2015/table/table.module.js +23 -12
  268. package/esm2015/tabs/paginated-tab-header.js +20 -18
  269. package/esm2015/tabs/ptsecurity-mosaic-tabs.js +1 -6
  270. package/esm2015/tabs/tab-body.component.js +52 -42
  271. package/esm2015/tabs/tab-content.directive.js +8 -8
  272. package/esm2015/tabs/tab-group.component.js +145 -74
  273. package/esm2015/tabs/tab-header.component.js +50 -36
  274. package/esm2015/tabs/tab-label-wrapper.directive.js +30 -16
  275. package/esm2015/tabs/tab-label.directive.js +11 -7
  276. package/esm2015/tabs/tab-nav-bar/tab-nav-bar.js +46 -46
  277. package/esm2015/tabs/tab.component.js +67 -33
  278. package/esm2015/tabs/tabs.module.js +87 -45
  279. package/esm2015/tags/tag-input.js +48 -34
  280. package/esm2015/tags/tag-list.component.js +93 -56
  281. package/esm2015/tags/tag.component.js +90 -73
  282. package/esm2015/tags/tag.module.js +46 -29
  283. package/esm2015/textarea/textarea.component.js +70 -41
  284. package/esm2015/textarea/textarea.module.js +13 -8
  285. package/esm2015/timepicker/timepicker.directive.js +64 -52
  286. package/esm2015/timepicker/timepicker.module.js +26 -13
  287. package/esm2015/toggle/toggle.component.js +65 -47
  288. package/esm2015/toggle/toggle.module.js +13 -8
  289. package/esm2015/tooltip/tooltip.animations.js +19 -0
  290. package/esm2015/tooltip/tooltip.component.js +239 -555
  291. package/esm2015/tooltip/tooltip.module.js +38 -11
  292. package/esm2015/tree/control/base-tree-control.js +60 -0
  293. package/esm2015/tree/control/flat-tree-control.js +123 -0
  294. package/esm2015/tree/control/nested-tree-control.js +41 -0
  295. package/esm2015/tree/control/tree-control.js +2 -0
  296. package/esm2015/tree/data-source/flat-data-source.js +1 -1
  297. package/esm2015/tree/node.js +31 -0
  298. package/esm2015/tree/outlet.js +15 -0
  299. package/esm2015/tree/padding.directive.js +98 -25
  300. package/esm2015/tree/public-api.js +9 -2
  301. package/esm2015/tree/toggle.js +65 -70
  302. package/esm2015/tree/tree-base.js +243 -0
  303. package/esm2015/tree/tree-errors.js +36 -0
  304. package/esm2015/tree/tree-option.component.js +102 -56
  305. package/esm2015/tree/tree-selection.component.js +180 -115
  306. package/esm2015/tree/tree.js +23 -0
  307. package/esm2015/tree/tree.module.js +38 -12
  308. package/esm2015/tree-select/tree-select.component.js +153 -85
  309. package/esm2015/tree-select/tree-select.module.js +33 -18
  310. package/fesm2015/ptsecurity-mosaic-autocomplete.js +140 -102
  311. package/fesm2015/ptsecurity-mosaic-autocomplete.js.map +1 -1
  312. package/fesm2015/ptsecurity-mosaic-button-toggle.js +87 -63
  313. package/fesm2015/ptsecurity-mosaic-button-toggle.js.map +1 -1
  314. package/fesm2015/ptsecurity-mosaic-button.js +86 -76
  315. package/fesm2015/ptsecurity-mosaic-button.js.map +1 -1
  316. package/fesm2015/ptsecurity-mosaic-card.js +54 -42
  317. package/fesm2015/ptsecurity-mosaic-card.js.map +1 -1
  318. package/fesm2015/ptsecurity-mosaic-checkbox.js +82 -59
  319. package/fesm2015/ptsecurity-mosaic-checkbox.js.map +1 -1
  320. package/fesm2015/ptsecurity-mosaic-core.js +758 -239
  321. package/fesm2015/ptsecurity-mosaic-core.js.map +1 -1
  322. package/fesm2015/ptsecurity-mosaic-datepicker.js +544 -376
  323. package/fesm2015/ptsecurity-mosaic-datepicker.js.map +1 -1
  324. package/fesm2015/ptsecurity-mosaic-design-tokens.js +57 -16
  325. package/fesm2015/ptsecurity-mosaic-design-tokens.js.map +1 -1
  326. package/fesm2015/ptsecurity-mosaic-divider.js +34 -26
  327. package/fesm2015/ptsecurity-mosaic-divider.js.map +1 -1
  328. package/fesm2015/ptsecurity-mosaic-dropdown.js +219 -171
  329. package/fesm2015/ptsecurity-mosaic-dropdown.js.map +1 -1
  330. package/fesm2015/ptsecurity-mosaic-form-field.js +184 -119
  331. package/fesm2015/ptsecurity-mosaic-form-field.js.map +1 -1
  332. package/fesm2015/ptsecurity-mosaic-icon.js +56 -39
  333. package/fesm2015/ptsecurity-mosaic-icon.js.map +1 -1
  334. package/fesm2015/ptsecurity-mosaic-input.js +191 -116
  335. package/fesm2015/ptsecurity-mosaic-input.js.map +1 -1
  336. package/fesm2015/ptsecurity-mosaic-link.js +57 -45
  337. package/fesm2015/ptsecurity-mosaic-link.js.map +1 -1
  338. package/fesm2015/ptsecurity-mosaic-list.js +301 -177
  339. package/fesm2015/ptsecurity-mosaic-list.js.map +1 -1
  340. package/fesm2015/ptsecurity-mosaic-modal.js +243 -159
  341. package/fesm2015/ptsecurity-mosaic-modal.js.map +1 -1
  342. package/fesm2015/ptsecurity-mosaic-navbar.js +280 -205
  343. package/fesm2015/ptsecurity-mosaic-navbar.js.map +1 -1
  344. package/fesm2015/ptsecurity-mosaic-popover.js +297 -597
  345. package/fesm2015/ptsecurity-mosaic-popover.js.map +1 -1
  346. package/fesm2015/ptsecurity-mosaic-progress-bar.js +48 -38
  347. package/fesm2015/ptsecurity-mosaic-progress-bar.js.map +1 -1
  348. package/fesm2015/ptsecurity-mosaic-progress-spinner.js +48 -38
  349. package/fesm2015/ptsecurity-mosaic-progress-spinner.js.map +1 -1
  350. package/fesm2015/ptsecurity-mosaic-radio.js +99 -76
  351. package/fesm2015/ptsecurity-mosaic-radio.js.map +1 -1
  352. package/fesm2015/ptsecurity-mosaic-select.js +236 -136
  353. package/fesm2015/ptsecurity-mosaic-select.js.map +1 -1
  354. package/fesm2015/ptsecurity-mosaic-sidebar.js +85 -66
  355. package/fesm2015/ptsecurity-mosaic-sidebar.js.map +1 -1
  356. package/fesm2015/ptsecurity-mosaic-sidepanel.js +207 -139
  357. package/fesm2015/ptsecurity-mosaic-sidepanel.js.map +1 -1
  358. package/fesm2015/ptsecurity-mosaic-splitter.js +92 -82
  359. package/fesm2015/ptsecurity-mosaic-splitter.js.map +1 -1
  360. package/fesm2015/ptsecurity-mosaic-table.js +33 -19
  361. package/fesm2015/ptsecurity-mosaic-table.js.map +1 -1
  362. package/fesm2015/ptsecurity-mosaic-tabs.js +557 -387
  363. package/fesm2015/ptsecurity-mosaic-tabs.js.map +1 -1
  364. package/fesm2015/ptsecurity-mosaic-tags.js +273 -192
  365. package/fesm2015/ptsecurity-mosaic-tags.js.map +1 -1
  366. package/fesm2015/ptsecurity-mosaic-textarea.js +83 -50
  367. package/fesm2015/ptsecurity-mosaic-textarea.js.map +1 -1
  368. package/fesm2015/ptsecurity-mosaic-timepicker.js +87 -64
  369. package/fesm2015/ptsecurity-mosaic-timepicker.js.map +1 -1
  370. package/fesm2015/ptsecurity-mosaic-toggle.js +77 -55
  371. package/fesm2015/ptsecurity-mosaic-toggle.js.map +1 -1
  372. package/fesm2015/ptsecurity-mosaic-tooltip.js +293 -566
  373. package/fesm2015/ptsecurity-mosaic-tooltip.js.map +1 -1
  374. package/fesm2015/ptsecurity-mosaic-tree-select.js +188 -106
  375. package/fesm2015/ptsecurity-mosaic-tree-select.js.map +1 -1
  376. package/fesm2015/ptsecurity-mosaic-tree.js +1001 -279
  377. package/fesm2015/ptsecurity-mosaic-tree.js.map +1 -1
  378. package/form-field/cleaner.d.ts +5 -0
  379. package/form-field/form-field.d.ts +5 -0
  380. package/form-field/form-field.module.d.ts +12 -0
  381. package/form-field/hint.d.ts +3 -0
  382. package/form-field/package.json +0 -1
  383. package/form-field/prefix.d.ts +3 -0
  384. package/form-field/ptsecurity-mosaic-form-field.d.ts +1 -0
  385. package/form-field/stepper.d.ts +3 -0
  386. package/form-field/suffix.d.ts +3 -0
  387. package/icon/icon.component.d.ts +5 -0
  388. package/icon/icon.module.d.ts +8 -0
  389. package/icon/package.json +0 -1
  390. package/icon/ptsecurity-mosaic-icon.d.ts +1 -0
  391. package/input/input-number-validators.d.ts +7 -2
  392. package/input/input-number.d.ts +3 -0
  393. package/input/input.d.ts +5 -0
  394. package/input/input.module.d.ts +11 -0
  395. package/input/package.json +0 -1
  396. package/input/ptsecurity-mosaic-input.d.ts +1 -0
  397. package/link/link.component.d.ts +3 -0
  398. package/link/link.module.d.ts +7 -0
  399. package/link/package.json +0 -1
  400. package/link/ptsecurity-mosaic-link.d.ts +1 -0
  401. package/list/list-selection.component.d.ts +30 -3
  402. package/list/list.component.d.ts +5 -0
  403. package/list/list.module.d.ts +9 -0
  404. package/list/package.json +0 -1
  405. package/list/ptsecurity-mosaic-list.d.ts +1 -0
  406. package/modal/css-unit.pipe.d.ts +3 -0
  407. package/modal/modal-control.service.d.ts +3 -0
  408. package/modal/modal.component.d.ts +5 -0
  409. package/modal/modal.directive.d.ts +9 -0
  410. package/modal/modal.module.d.ts +12 -0
  411. package/modal/modal.service.d.ts +3 -0
  412. package/modal/package.json +0 -1
  413. package/modal/ptsecurity-mosaic-modal.d.ts +1 -2
  414. package/navbar/navbar-item.component.d.ts +13 -0
  415. package/navbar/navbar.component.d.ts +5 -0
  416. package/navbar/navbar.module.d.ts +11 -0
  417. package/navbar/package.json +0 -1
  418. package/navbar/ptsecurity-mosaic-navbar.d.ts +1 -1
  419. package/navbar/vertical-navbar.component.d.ts +5 -0
  420. package/package.json +8 -9
  421. package/popover/package.json +0 -1
  422. package/popover/popover-confirm.component.d.ts +33 -0
  423. package/popover/popover.component.d.ts +50 -136
  424. package/popover/popover.module.d.ts +9 -0
  425. package/popover/ptsecurity-mosaic-popover.d.ts +1 -0
  426. package/popover/public-api.d.ts +1 -0
  427. package/prebuilt-themes/dark-theme.css +1 -1
  428. package/prebuilt-themes/default-theme.css +1 -1
  429. package/prebuilt-visual/default-visual.css +1 -0
  430. package/progress-bar/package.json +0 -1
  431. package/progress-bar/progress-bar.component.d.ts +3 -0
  432. package/progress-bar/progress-bar.module.d.ts +7 -0
  433. package/progress-bar/ptsecurity-mosaic-progress-bar.d.ts +1 -0
  434. package/progress-spinner/package.json +0 -1
  435. package/progress-spinner/progress-spinner.component.d.ts +3 -0
  436. package/progress-spinner/progress-spinner.module.d.ts +7 -0
  437. package/progress-spinner/ptsecurity-mosaic-progress-spinner.d.ts +1 -0
  438. package/ptsecurity-mosaic.d.ts +1 -0
  439. package/radio/package.json +0 -1
  440. package/radio/ptsecurity-mosaic-radio.d.ts +1 -0
  441. package/radio/radio.component.d.ts +5 -0
  442. package/radio/radio.module.d.ts +8 -0
  443. package/schematics/ng-update/update-9.0.0/secondary-entry-points-migration.js +6 -3
  444. package/schematics/ng-update/update-9.0.0/secondary-entry-points-migration.js.map +1 -1
  445. package/select/package.json +0 -1
  446. package/select/ptsecurity-mosaic-select.d.ts +1 -0
  447. package/select/select.component.d.ts +11 -7
  448. package/select/select.module.d.ts +11 -0
  449. package/sidebar/package.json +0 -1
  450. package/sidebar/ptsecurity-mosaic-sidebar.d.ts +1 -1
  451. package/sidebar/sidebar.component.d.ts +7 -0
  452. package/sidebar/sidebar.module.d.ts +6 -0
  453. package/sidepanel/package.json +0 -1
  454. package/sidepanel/ptsecurity-mosaic-sidepanel.d.ts +1 -1
  455. package/sidepanel/sidepanel-container.component.d.ts +3 -0
  456. package/sidepanel/sidepanel-directives.d.ts +13 -0
  457. package/sidepanel/sidepanel.module.d.ts +13 -0
  458. package/sidepanel/sidepanel.service.d.ts +3 -0
  459. package/splitter/package.json +0 -1
  460. package/splitter/ptsecurity-mosaic-splitter.d.ts +1 -0
  461. package/splitter/splitter.component.d.ts +7 -0
  462. package/splitter/splitter.module.d.ts +7 -0
  463. package/table/package.json +0 -1
  464. package/table/ptsecurity-mosaic-table.d.ts +1 -0
  465. package/table/table.component.d.ts +3 -0
  466. package/table/table.module.d.ts +8 -0
  467. package/tabs/package.json +0 -1
  468. package/tabs/paginated-tab-header.d.ts +3 -0
  469. package/tabs/ptsecurity-mosaic-tabs.d.ts +1 -5
  470. package/tabs/tab-body.component.d.ts +5 -0
  471. package/tabs/tab-content.directive.d.ts +3 -0
  472. package/tabs/tab-group.component.d.ts +24 -4
  473. package/tabs/tab-header.component.d.ts +3 -0
  474. package/tabs/tab-label-wrapper.directive.d.ts +9 -0
  475. package/tabs/tab-label.directive.d.ts +3 -0
  476. package/tabs/tab-nav-bar/tab-nav-bar.d.ts +5 -0
  477. package/tabs/tab.component.d.ts +12 -3
  478. package/tabs/tabs.module.d.ts +18 -0
  479. package/tags/package.json +0 -1
  480. package/tags/ptsecurity-mosaic-tags.d.ts +1 -0
  481. package/tags/tag-input.d.ts +3 -0
  482. package/tags/tag-list.component.d.ts +3 -0
  483. package/tags/tag.component.d.ts +9 -0
  484. package/tags/tag.module.d.ts +9 -0
  485. package/textarea/package.json +0 -1
  486. package/textarea/ptsecurity-mosaic-textarea.d.ts +1 -0
  487. package/textarea/textarea.component.d.ts +3 -0
  488. package/textarea/textarea.module.d.ts +9 -0
  489. package/timepicker/package.json +0 -1
  490. package/timepicker/ptsecurity-mosaic-timepicker.d.ts +1 -0
  491. package/timepicker/timepicker.directive.d.ts +5 -2
  492. package/timepicker/timepicker.module.d.ts +9 -0
  493. package/toggle/package.json +0 -1
  494. package/toggle/ptsecurity-mosaic-toggle.d.ts +1 -0
  495. package/toggle/toggle.component.d.ts +3 -0
  496. package/toggle/toggle.module.d.ts +8 -0
  497. package/tooltip/package.json +0 -1
  498. package/tooltip/ptsecurity-mosaic-tooltip.d.ts +1 -0
  499. package/tooltip/tooltip.animations.d.ts +8 -0
  500. package/tooltip/tooltip.component.d.ts +74 -134
  501. package/tooltip/tooltip.module.d.ts +7 -0
  502. package/tree/control/base-tree-control.d.ts +40 -0
  503. package/tree/control/flat-tree-control.d.ts +48 -0
  504. package/tree/control/nested-tree-control.d.ts +19 -0
  505. package/tree/control/tree-control.d.ts +44 -0
  506. package/tree/data-source/flat-data-source.d.ts +2 -1
  507. package/tree/node.d.ts +34 -0
  508. package/tree/outlet.d.ts +9 -0
  509. package/tree/package.json +0 -1
  510. package/tree/padding.directive.d.ts +36 -5
  511. package/tree/ptsecurity-mosaic-tree.d.ts +1 -0
  512. package/tree/public-api.d.ts +8 -1
  513. package/tree/toggle.d.ts +20 -15
  514. package/tree/tree-base.d.ts +97 -0
  515. package/tree/tree-errors.d.ts +25 -0
  516. package/tree/tree-option.component.d.ts +15 -4
  517. package/tree/tree-selection.component.d.ts +46 -24
  518. package/tree/tree.d.ts +6 -0
  519. package/tree/tree.module.d.ts +14 -0
  520. package/tree-select/package.json +0 -1
  521. package/tree-select/ptsecurity-mosaic-tree-select.d.ts +1 -0
  522. package/tree-select/tree-select.component.d.ts +8 -8
  523. package/tree-select/tree-select.module.d.ts +11 -0
  524. package/autocomplete/ptsecurity-mosaic-autocomplete.metadata.json +0 -1
  525. package/bundles/ptsecurity-mosaic-autocomplete.umd.min.js +0 -2
  526. package/bundles/ptsecurity-mosaic-autocomplete.umd.min.js.map +0 -1
  527. package/bundles/ptsecurity-mosaic-button-toggle.umd.min.js +0 -16
  528. package/bundles/ptsecurity-mosaic-button-toggle.umd.min.js.map +0 -1
  529. package/bundles/ptsecurity-mosaic-button.umd.min.js +0 -16
  530. package/bundles/ptsecurity-mosaic-button.umd.min.js.map +0 -1
  531. package/bundles/ptsecurity-mosaic-card.umd.min.js +0 -16
  532. package/bundles/ptsecurity-mosaic-card.umd.min.js.map +0 -1
  533. package/bundles/ptsecurity-mosaic-checkbox.umd.min.js +0 -16
  534. package/bundles/ptsecurity-mosaic-checkbox.umd.min.js.map +0 -1
  535. package/bundles/ptsecurity-mosaic-core.umd.min.js +0 -17
  536. package/bundles/ptsecurity-mosaic-core.umd.min.js.map +0 -1
  537. package/bundles/ptsecurity-mosaic-datepicker.umd.min.js +0 -2
  538. package/bundles/ptsecurity-mosaic-datepicker.umd.min.js.map +0 -1
  539. package/bundles/ptsecurity-mosaic-design-tokens.umd.min.js +0 -2
  540. package/bundles/ptsecurity-mosaic-design-tokens.umd.min.js.map +0 -1
  541. package/bundles/ptsecurity-mosaic-divider.umd.min.js +0 -2
  542. package/bundles/ptsecurity-mosaic-divider.umd.min.js.map +0 -1
  543. package/bundles/ptsecurity-mosaic-dropdown.umd.min.js +0 -17
  544. package/bundles/ptsecurity-mosaic-dropdown.umd.min.js.map +0 -1
  545. package/bundles/ptsecurity-mosaic-form-field.umd.min.js +0 -17
  546. package/bundles/ptsecurity-mosaic-form-field.umd.min.js.map +0 -1
  547. package/bundles/ptsecurity-mosaic-icon.umd.min.js +0 -16
  548. package/bundles/ptsecurity-mosaic-icon.umd.min.js.map +0 -1
  549. package/bundles/ptsecurity-mosaic-input.umd.min.js +0 -16
  550. package/bundles/ptsecurity-mosaic-input.umd.min.js.map +0 -1
  551. package/bundles/ptsecurity-mosaic-link.umd.min.js +0 -16
  552. package/bundles/ptsecurity-mosaic-link.umd.min.js.map +0 -1
  553. package/bundles/ptsecurity-mosaic-list.umd.min.js +0 -16
  554. package/bundles/ptsecurity-mosaic-list.umd.min.js.map +0 -1
  555. package/bundles/ptsecurity-mosaic-modal.umd.min.js +0 -16
  556. package/bundles/ptsecurity-mosaic-modal.umd.min.js.map +0 -1
  557. package/bundles/ptsecurity-mosaic-navbar.umd.min.js +0 -16
  558. package/bundles/ptsecurity-mosaic-navbar.umd.min.js.map +0 -1
  559. package/bundles/ptsecurity-mosaic-popover.umd.min.js +0 -16
  560. package/bundles/ptsecurity-mosaic-popover.umd.min.js.map +0 -1
  561. package/bundles/ptsecurity-mosaic-progress-bar.umd.min.js +0 -16
  562. package/bundles/ptsecurity-mosaic-progress-bar.umd.min.js.map +0 -1
  563. package/bundles/ptsecurity-mosaic-progress-spinner.umd.min.js +0 -16
  564. package/bundles/ptsecurity-mosaic-progress-spinner.umd.min.js.map +0 -1
  565. package/bundles/ptsecurity-mosaic-radio.umd.min.js +0 -16
  566. package/bundles/ptsecurity-mosaic-radio.umd.min.js.map +0 -1
  567. package/bundles/ptsecurity-mosaic-select.umd.min.js +0 -16
  568. package/bundles/ptsecurity-mosaic-select.umd.min.js.map +0 -1
  569. package/bundles/ptsecurity-mosaic-sidebar.umd.min.js +0 -2
  570. package/bundles/ptsecurity-mosaic-sidebar.umd.min.js.map +0 -1
  571. package/bundles/ptsecurity-mosaic-sidepanel.umd.min.js +0 -2
  572. package/bundles/ptsecurity-mosaic-sidepanel.umd.min.js.map +0 -1
  573. package/bundles/ptsecurity-mosaic-splitter.umd.min.js +0 -2
  574. package/bundles/ptsecurity-mosaic-splitter.umd.min.js.map +0 -1
  575. package/bundles/ptsecurity-mosaic-table.umd.min.js +0 -2
  576. package/bundles/ptsecurity-mosaic-table.umd.min.js.map +0 -1
  577. package/bundles/ptsecurity-mosaic-tabs.umd.min.js +0 -16
  578. package/bundles/ptsecurity-mosaic-tabs.umd.min.js.map +0 -1
  579. package/bundles/ptsecurity-mosaic-tags.umd.min.js +0 -16
  580. package/bundles/ptsecurity-mosaic-tags.umd.min.js.map +0 -1
  581. package/bundles/ptsecurity-mosaic-textarea.umd.min.js +0 -16
  582. package/bundles/ptsecurity-mosaic-textarea.umd.min.js.map +0 -1
  583. package/bundles/ptsecurity-mosaic-timepicker.umd.min.js +0 -2
  584. package/bundles/ptsecurity-mosaic-timepicker.umd.min.js.map +0 -1
  585. package/bundles/ptsecurity-mosaic-toggle.umd.min.js +0 -16
  586. package/bundles/ptsecurity-mosaic-toggle.umd.min.js.map +0 -1
  587. package/bundles/ptsecurity-mosaic-tooltip.umd.min.js +0 -16
  588. package/bundles/ptsecurity-mosaic-tooltip.umd.min.js.map +0 -1
  589. package/bundles/ptsecurity-mosaic-tree-select.umd.min.js +0 -16
  590. package/bundles/ptsecurity-mosaic-tree-select.umd.min.js.map +0 -1
  591. package/bundles/ptsecurity-mosaic-tree.umd.min.js +0 -16
  592. package/bundles/ptsecurity-mosaic-tree.umd.min.js.map +0 -1
  593. package/bundles/ptsecurity-mosaic.umd.min.js +0 -2
  594. package/bundles/ptsecurity-mosaic.umd.min.js.map +0 -1
  595. package/button/ptsecurity-mosaic-button.metadata.json +0 -1
  596. package/button-toggle/ptsecurity-mosaic-button-toggle.metadata.json +0 -1
  597. package/card/ptsecurity-mosaic-card.metadata.json +0 -1
  598. package/checkbox/ptsecurity-mosaic-checkbox.metadata.json +0 -1
  599. package/core/ptsecurity-mosaic-core.metadata.json +0 -1
  600. package/datepicker/ptsecurity-mosaic-datepicker.metadata.json +0 -1
  601. package/design-tokens/ptsecurity-mosaic-design-tokens.metadata.json +0 -1
  602. package/divider/ptsecurity-mosaic-divider.metadata.json +0 -1
  603. package/dropdown/ptsecurity-mosaic-dropdown.metadata.json +0 -1
  604. package/esm2015/tree/node.directive.js +0 -15
  605. package/form-field/ptsecurity-mosaic-form-field.metadata.json +0 -1
  606. package/icon/ptsecurity-mosaic-icon.metadata.json +0 -1
  607. package/input/ptsecurity-mosaic-input.metadata.json +0 -1
  608. package/link/ptsecurity-mosaic-link.metadata.json +0 -1
  609. package/list/ptsecurity-mosaic-list.metadata.json +0 -1
  610. package/modal/ptsecurity-mosaic-modal.metadata.json +0 -1
  611. package/navbar/ptsecurity-mosaic-navbar.metadata.json +0 -1
  612. package/popover/ptsecurity-mosaic-popover.metadata.json +0 -1
  613. package/progress-bar/ptsecurity-mosaic-progress-bar.metadata.json +0 -1
  614. package/progress-spinner/ptsecurity-mosaic-progress-spinner.metadata.json +0 -1
  615. package/ptsecurity-mosaic.metadata.json +0 -1
  616. package/radio/ptsecurity-mosaic-radio.metadata.json +0 -1
  617. package/select/ptsecurity-mosaic-select.metadata.json +0 -1
  618. package/sidebar/ptsecurity-mosaic-sidebar.metadata.json +0 -1
  619. package/sidepanel/ptsecurity-mosaic-sidepanel.metadata.json +0 -1
  620. package/splitter/ptsecurity-mosaic-splitter.metadata.json +0 -1
  621. package/table/ptsecurity-mosaic-table.metadata.json +0 -1
  622. package/tabs/ptsecurity-mosaic-tabs.metadata.json +0 -1
  623. package/tags/ptsecurity-mosaic-tags.metadata.json +0 -1
  624. package/textarea/ptsecurity-mosaic-textarea.metadata.json +0 -1
  625. package/timepicker/ptsecurity-mosaic-timepicker.metadata.json +0 -1
  626. package/toggle/ptsecurity-mosaic-toggle.metadata.json +0 -1
  627. package/tooltip/ptsecurity-mosaic-tooltip.metadata.json +0 -1
  628. package/tree/node.directive.d.ts +0 -4
  629. package/tree/ptsecurity-mosaic-tree.metadata.json +0 -1
  630. package/tree-select/ptsecurity-mosaic-tree-select.metadata.json +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","../../../packages/mosaic/progress-bar/progress-bar.component.ts","../../../packages/mosaic/progress-bar/progress-bar.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","create","idIterator","_elementRef","this","McProgressBarMixinBase","mixinColor","McProgressBarBase","ThemePalette","Primary","McProgressBar","elementRef","_this","_super","id","value","mode","TypeError","String","__","constructor","__extends","defineProperty","Math","max","min","Component","args","selector","template","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","inputs","host","class","[attr.id]","ElementRef","Input","NgModule","imports","CommonModule","PlatformModule","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,IAuFCC,OAAOQ,OAsGXR,OAAOQ,OCrMhC,IAAIC,EAAa,IAOb,SAAmBC,GAAAC,KAAAD,YAAAA,GAIVE,EACiCC,EAAAA,WAAWC,EAAmBC,EAAAA,aAAaC,uBAmBrF,SAAAC,EAAYC,GAAZ,IAAAC,EACIC,EAAAb,KAAAI,KAAMO,IAAWP,YALZQ,EAAAE,GAAa,mBAAmBZ,IAChCU,EAAAG,MAAgB,EAChBH,EAAAI,KAAwB,gCDlBXzB,EAAGC,GACzB,GAAiB,mBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIyB,UAAU,uBAAyBC,OAAO1B,GAAK,iCAE7D,SAAS2B,IAAOf,KAAKgB,YAAc7B,EADnCD,EAAcC,EAAGC,GAEjBD,EAAEO,UAAkB,OAANN,EAAaC,OAAOQ,OAAOT,IAAM2B,EAAGrB,UAAYN,EAAEM,UAAW,IAAIqB,GCUhDE,CAAAX,EAAAG,GAS/BpB,OAAA6B,eAAIZ,EAAAZ,UAAA,aAAU,KAAd,WACI,OAAOyB,KAAKC,IAlCA,EAkCiBD,KAAKE,IAjCtB,IAiCuCrB,KAAKW,QAjC5C,wCAuBeV,uBAZlCqB,EAAAA,UAASC,KAAA,CAAC,CACPC,SAAU,kBACVC,SAAA,2ZAEAC,gBAAiBC,EAAAA,wBAAwBC,OACzCC,cAAeC,EAAAA,kBAAkBC,KACjCC,OAAQ,CAAC,SACTC,KAAM,CACFC,MAAO,kBACPC,YAAa,0xBA/BjBC,EAAAA,0CAmCCC,EAAAA,qBACAA,EAAAA,oBACAA,EAAAA,eCpBL,iCAZCC,EAAAA,SAAQf,KAAA,CAAC,CACNgB,QAAS,CACLC,EAAAA,aACAC,EAAAA,gBAEJC,QAAS,CACLpC,GAEJqC,aAAc,CACVrC","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 {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n ElementRef,\n Input\n} from '@angular/core';\nimport { CanColor, CanColorCtor, mixinColor, ThemePalette } from '@ptsecurity/mosaic/core';\n\n\nexport type ProgressBarMode = 'determinate' | 'indeterminate';\n\nlet idIterator = 0;\n\nconst MIN_PERCENT = 0;\nconst MAX_PERCENT = 100;\n\nexport class McProgressBarBase {\n // tslint:disable-next-line:naming-convention\n constructor(public _elementRef: ElementRef) {}\n}\n\n// tslint:disable-next-line:naming-convention\nexport const McProgressBarMixinBase:\n CanColorCtor & typeof McProgressBarBase = mixinColor(McProgressBarBase, ThemePalette.Primary);\n\n@Component({\n selector: 'mc-progress-bar',\n templateUrl: './progress-bar.component.html',\n styleUrls: ['./progress-bar.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n inputs: ['color'],\n host: {\n class: 'mc-progress-bar',\n '[attr.id]': 'id'\n }\n})\nexport class McProgressBar extends McProgressBarMixinBase implements CanColor {\n @Input() id: string = `mc-progress-bar-${idIterator++}`;\n @Input() value: number = 0;\n @Input() mode: ProgressBarMode = 'determinate';\n\n constructor(elementRef: ElementRef) {\n super(elementRef);\n }\n\n get percentage(): number {\n return Math.max(MIN_PERCENT, Math.min(MAX_PERCENT, this.value)) / MAX_PERCENT;\n }\n}\n","import { PlatformModule } from '@angular/cdk/platform';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport {\n McProgressBar\n} from './progress-bar.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n PlatformModule\n ],\n exports: [\n McProgressBar\n ],\n declarations: [\n McProgressBar\n ]\n})\nexport class McProgressBarModule {}\n"]}
@@ -1,16 +0,0 @@
1
- !function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("@angular/cdk/platform"),require("@angular/common"),require("@angular/core"),require("@ptsecurity/mosaic/core")):"function"==typeof define&&define.amd?define("@ptsecurity/mosaic/progress-spinner",["exports","@angular/cdk/platform","@angular/common","@angular/core","@ptsecurity/mosaic/core"],r):r(((e="undefined"!=typeof globalThis?globalThis:e||self).ptsecurity=e.ptsecurity||{},e.ptsecurity.mosaic=e.ptsecurity.mosaic||{},e.ptsecurity.mosaic["progress-spinner"]={}),e.ng.cdk.platform,e.ng.common,e.ng.core,e.ptsecurity.mosaic.core)}(this,(function(e,r,n,t,s){"use strict";
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
- ***************************************************************************** */var i=function(e,r){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])})(e,r)};Object.create;Object.create;var o=0,c=function(e){this._elementRef=e},a=s.mixinColor(c,s.ThemePalette.Primary),p=function(e){function r(r){var n=e.call(this,r)||this;return n.id="mc-progress-spinner-"+o++,n.value=0,n.mode="determinate",n}return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}i(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}(r,e),Object.defineProperty(r.prototype,"percentage",{get:function(){return Math.max(0,Math.min(100,this.value))/100},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"dashOffsetPercent",{get:function(){return 273-273*this.percentage+"%"},enumerable:!1,configurable:!0}),r}(a);p.decorators=[{type:t.Component,args:[{selector:"mc-progress-spinner",template:'<div class="mc-progress-spinner__inner"\n [ngClass]="{\'mc-progress-spinner__inner--indeterminate\': mode === \'indeterminate\'}">\n <svg focusable="false"\n preserveAspectRatio="xMidYMid meet"\n viewBox="0 0 100 100"\n class="mc-progress-spinner__svg">\n <circle cx="50%"\n cy="50%"\n r="42.5%"\n class="mc-progress-spinner__circle"\n [ngStyle]="{\'stroke-dashoffset\': mode === \'determinate\' ? dashOffsetPercent : null}">\n </circle>\n </svg>\n</div>\n\n',changeDetection:t.ChangeDetectionStrategy.OnPush,encapsulation:t.ViewEncapsulation.None,inputs:["color"],host:{class:"mc-progress-spinner","[attr.id]":"id"},styles:["@-webkit-keyframes mc-progress-spinner-indeterminate{to{transform:rotate(270deg)}}@keyframes mc-progress-spinner-indeterminate{to{transform:rotate(270deg)}}.mc-progress-spinner{display:inline-block;width:var(--mc-progress-spinner-size-size,16px);height:var(--mc-progress-spinner-size-size,16px);overflow:hidden}.mc-progress-spinner__circle{fill:none;stroke:#000;stroke-dasharray:273%;stroke-width:13%;transition:stroke-dashoffset .3s;transform-origin:center center}.mc-progress-spinner__inner{width:100%;height:100%;transform:rotate(-90deg)}.mc-progress-spinner__inner--indeterminate{-webkit-animation:mc-progress-spinner-indeterminate 1.5s cubic-bezier(.455,.03,.515,.955) infinite;animation:mc-progress-spinner-indeterminate 1.5s cubic-bezier(.455,.03,.515,.955) infinite}.mc-progress-spinner__inner--indeterminate .mc-progress-spinner__circle{stroke-dashoffset:80%}.mc-progress-spinner__svg{width:100%;height:100%}"]}]}],p.ctorParameters=function(){return[{type:t.ElementRef}]},p.propDecorators={id:[{type:t.Input}],value:[{type:t.Input}],mode:[{type:t.Input}]};var m=function(){};m.decorators=[{type:t.NgModule,args:[{imports:[n.CommonModule,r.PlatformModule],exports:[p],declarations:[p]}]}],e.McProgressSpinner=p,e.McProgressSpinnerBase=c,e.McProgressSpinnerMixinBase=a,e.McProgressSpinnerModule=m,Object.defineProperty(e,"__esModule",{value:!0})}));
16
- //# sourceMappingURL=ptsecurity-mosaic-progress-spinner.umd.min.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","../../../packages/mosaic/progress-spinner/progress-spinner.component.ts","../../../packages/mosaic/progress-spinner/progress-spinner.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","create","idIterator","_elementRef","this","McProgressSpinnerMixinBase","mixinColor","McProgressSpinnerBase","ThemePalette","Primary","McProgressSpinner","elementRef","_this","_super","id","value","mode","TypeError","String","__","constructor","__extends","defineProperty","Math","max","min","percentage","Component","args","selector","template","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","inputs","host","class","[attr.id]","ElementRef","Input","NgModule","imports","CommonModule","PlatformModule","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,IAuFCC,OAAOQ,OAsGXR,OAAOQ,OCrMhC,IAAIC,EAAa,IAOb,SAAmBC,GAAAC,KAAAD,YAAAA,GAIVE,EACqCC,EAAAA,WAAWC,EAAuBC,EAAAA,aAAaC,uBAqB7F,SAAAC,EAAYC,GAAZ,IAAAC,EACIC,EAAAb,KAAAI,KAAMO,IAAWP,YALZQ,EAAAE,GAAa,uBAAuBZ,IACpCU,EAAAG,MAAgB,EAChBH,EAAAI,KAA4B,gCDpBfzB,EAAGC,GACzB,GAAiB,mBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIyB,UAAU,uBAAyBC,OAAO1B,GAAK,iCAE7D,SAAS2B,IAAOf,KAAKgB,YAAc7B,EADnCD,EAAcC,EAAGC,GAEjBD,EAAEO,UAAkB,OAANN,EAAaC,OAAOQ,OAAOT,IAAM2B,EAAGrB,UAAYN,EAAEM,UAAW,IAAIqB,GCY5CE,CAAAX,EAAAG,GASnCpB,OAAA6B,eAAIZ,EAAAZ,UAAA,aAAU,KAAd,WACI,OAAOyB,KAAKC,IApCA,EAoCiBD,KAAKE,IAnCtB,IAmCuCrB,KAAKW,QAnC5C,qCAsChBtB,OAAA6B,eAAIZ,EAAAZ,UAAA,oBAAiB,KAArB,WACI,OA5Be,IAAA,IA4BYM,KAAKsB,WAA2B,wCAd5BrB,uBAZtCsB,EAAAA,UAASC,KAAA,CAAC,CACPC,SAAU,sBACVC,SAAA,yjBAEAC,gBAAiBC,EAAAA,wBAAwBC,OACzCC,cAAeC,EAAAA,kBAAkBC,KACjCC,OAAQ,CAAC,SACTC,KAAM,CACFC,MAAO,sBACPC,YAAa,o9BAjCjBC,EAAAA,0CAqCCC,EAAAA,qBACAA,EAAAA,oBACAA,EAAAA,eCxBL,iCAZCC,EAAAA,SAAQf,KAAA,CAAC,CACNgB,QAAS,CACLC,EAAAA,aACAC,EAAAA,gBAEJC,QAAS,CACLrC,GAEJsC,aAAc,CACVtC","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 {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n ElementRef,\n Input\n} from '@angular/core';\nimport { CanColor, CanColorCtor, mixinColor, ThemePalette } from '@ptsecurity/mosaic/core';\n\n\nexport type ProgressSpinnerMode = 'determinate' | 'indeterminate';\n\nlet idIterator = 0;\n\nconst MIN_PERCENT = 0;\nconst MAX_PERCENT = 100;\n\nexport class McProgressSpinnerBase {\n // tslint:disable-next-line:naming-convention\n constructor(public _elementRef: ElementRef) {}\n}\n\n// tslint:disable-next-line:naming-convention\nexport const McProgressSpinnerMixinBase:\n CanColorCtor & typeof McProgressSpinnerBase = mixinColor(McProgressSpinnerBase, ThemePalette.Primary);\n\nconst MAX_DASH_ARRAY = 273;\n\n@Component({\n selector: 'mc-progress-spinner',\n templateUrl: './progress-spinner.component.html',\n styleUrls: ['./progress-spinner.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n inputs: ['color'],\n host: {\n class: 'mc-progress-spinner',\n '[attr.id]': 'id'\n }\n})\nexport class McProgressSpinner extends McProgressSpinnerMixinBase implements CanColor {\n @Input() id: string = `mc-progress-spinner-${idIterator++}`;\n @Input() value: number = 0;\n @Input() mode: ProgressSpinnerMode = 'determinate';\n\n constructor(elementRef: ElementRef) {\n super(elementRef);\n }\n\n get percentage(): number {\n return Math.max(MIN_PERCENT, Math.min(MAX_PERCENT, this.value)) / MAX_PERCENT;\n }\n\n get dashOffsetPercent(): string {\n return `${MAX_DASH_ARRAY - this.percentage * MAX_DASH_ARRAY}%`;\n }\n}\n","import { PlatformModule } from '@angular/cdk/platform';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { McProgressSpinner } from './progress-spinner.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n PlatformModule\n ],\n exports: [\n McProgressSpinner\n ],\n declarations: [\n McProgressSpinner\n ]\n})\nexport class McProgressSpinnerModule {}\n"]}
@@ -1,16 +0,0 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/cdk/a11y"),require("@angular/common"),require("@angular/core"),require("@ptsecurity/mosaic/core"),require("@angular/cdk/collections"),require("@angular/forms")):"function"==typeof define&&define.amd?define("@ptsecurity/mosaic/radio",["exports","@angular/cdk/a11y","@angular/common","@angular/core","@ptsecurity/mosaic/core","@angular/cdk/collections","@angular/forms"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).ptsecurity=e.ptsecurity||{},e.ptsecurity.mosaic=e.ptsecurity.mosaic||{},e.ptsecurity.mosaic.radio={}),e.ng.cdk.a11y,e.ng.common,e.ng.core,e.ptsecurity.mosaic.core,e.ng.cdk.collections,e.ng.forms)}(this,(function(e,t,i,o,n,r,a){"use strict";
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
- ***************************************************************************** */var c=function(e,t){return(c=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])})(e,t)};function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function i(){this.constructor=e}c(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}Object.create;Object.create;var u=0,l=function(e,t){this.source=e,this.value=t},d=function(e){this._elementRef=e},p=n.mixinDisabled(d),h={provide:a.NG_VALUE_ACCESSOR,useExisting:o.forwardRef((function(){return f})),multi:!0},f=function(e){function t(t,i){var n=e.call(this,t)||this;return n._changeDetector=i,n.change=new o.EventEmitter,n._value=null,n._name="mc-radio-group-"+u++,n._selected=null,n.isInitialized=!1,n._labelPosition="after",n._disabled=!1,n._required=!1,n.controlValueAccessorChangeFn=function(){},n.onTouched=function(){},n}return s(t,e),Object.defineProperty(t.prototype,"name",{get:function(){return this._name},set:function(e){this._name=e,this.updateRadioButtonNames()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"labelPosition",{get:function(){return this._labelPosition},set:function(e){this._labelPosition="before"===e?"before":"after",this.markRadiosForCheck()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"value",{get:function(){return this._value},set:function(e){this._value!==e&&(this._value=e,this.updateSelectedRadioFromValue(),this.checkSelectedRadioButton())},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"selected",{get:function(){return this._selected},set:function(e){this._selected=e,this.value=e?e.value:null,this.checkSelectedRadioButton()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"disabled",{get:function(){return this._disabled},set:function(e){this._disabled=n.toBoolean(e),this.markRadiosForCheck()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"required",{get:function(){return this._required},set:function(e){this._required=n.toBoolean(e),this.markRadiosForCheck()},enumerable:!1,configurable:!0}),t.prototype.checkSelectedRadioButton=function(){this._selected&&!this._selected.checked&&(this._selected.checked=!0)},t.prototype.ngAfterContentInit=function(){this.isInitialized=!0},t.prototype.touch=function(){this.onTouched&&this.onTouched()},t.prototype.emitChangeEvent=function(){this.isInitialized&&this.change.emit(new l(this._selected,this._value))},t.prototype.markRadiosForCheck=function(){this.radios&&this.radios.forEach((function(e){return e.markForCheck()}))},t.prototype.writeValue=function(e){this.value=e,this._changeDetector.markForCheck()},t.prototype.registerOnChange=function(e){this.controlValueAccessorChangeFn=e},t.prototype.registerOnTouched=function(e){this.onTouched=e},t.prototype.setDisabledState=function(e){this.disabled=e,this._changeDetector.markForCheck()},t.prototype.updateRadioButtonNames=function(){var e=this;this.radios&&this.radios.forEach((function(t){t.name=e.name}))},t.prototype.updateSelectedRadioFromValue=function(){var e=this,t=null!==this._selected&&this._selected.value===this._value;null==this.radios||t||(this._selected=null,this.radios.forEach((function(t){t.checked=e.value===t.value,t.checked&&(e._selected=t)})))},t}(p);f.decorators=[{type:o.Directive,args:[{selector:"mc-radio-group",exportAs:"mcRadioGroup",host:{role:"radiogroup",class:"mc-radio-group"},providers:[h]}]}],f.ctorParameters=function(){return[{type:o.ElementRef},{type:o.ChangeDetectorRef}]},f.propDecorators={name:[{type:o.Input}],labelPosition:[{type:o.Input}],value:[{type:o.Input}],selected:[{type:o.Input}],disabled:[{type:o.Input}],required:[{type:o.Input}],change:[{type:o.Output}],radios:[{type:o.ContentChildren,args:[o.forwardRef((function(){return y})),{descendants:!0}]}]};var b=function(e){this._elementRef=e},m=n.mixinColor(n.mixinTabIndex(b)),y=function(e){function t(t,i,n,r,a){var c=e.call(this,i)||this;return c._changeDetector=n,c.focusMonitor=r,c._radioDispatcher=a,c.change=new o.EventEmitter,c.isFocused=!1,c.uniqueId="mc-radio-"+ ++u,c._checked=!1,c._value=null,c.removeUniqueSelectionListener=function(){},c.id=c.uniqueId,c.radioGroup=t,c.removeUniqueSelectionListener=a.listen((function(e,t){e!==c.id&&t===c.name&&(c.checked=!1)})),c}return s(t,e),Object.defineProperty(t.prototype,"checked",{get:function(){return this._checked},set:function(e){var t=n.toBoolean(e);this._checked!==t&&(this._checked=t,t&&this.radioGroup&&this.radioGroup.value!==this.value?this.radioGroup.selected=this:!t&&this.radioGroup&&this.radioGroup.value===this.value&&(this.radioGroup.selected=null),t&&this._radioDispatcher.notify(this.id,this.name),this._changeDetector.markForCheck())},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"value",{get:function(){return this._value},set:function(e){this._value!==e&&(this._value=e,null!=this.radioGroup&&(this.checked||(this.checked=this.radioGroup.value===e),this.checked&&(this.radioGroup.selected=this)))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"disabled",{get:function(){return this._disabled||null!=this.radioGroup&&this.radioGroup.disabled},set:function(e){var t=n.toBoolean(e);this._disabled!==t&&(this._disabled=t,this._changeDetector.markForCheck())},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"required",{get:function(){return this._required||this.radioGroup&&this.radioGroup.required},set:function(e){this._required=n.toBoolean(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"labelPosition",{get:function(){return this._labelPosition||this.radioGroup&&this.radioGroup.labelPosition||"after"},set:function(e){this._labelPosition=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"inputId",{get:function(){return(this.id||this.uniqueId)+"-input"},enumerable:!1,configurable:!0}),t.prototype.ngOnInit=function(){this.radioGroup&&(this.checked=this.radioGroup.value===this._value,this.name=this.radioGroup.name)},t.prototype.ngAfterViewInit=function(){var e=this;this.focusMonitor.monitor(this._elementRef,!0).subscribe((function(t){!t&&e.radioGroup&&e.radioGroup.touch()}))},t.prototype.ngOnDestroy=function(){this.focusMonitor.stopMonitoring(this._elementRef),this.removeUniqueSelectionListener()},t.prototype.focus=function(){this.inputElement.nativeElement.focus()},t.prototype.markForCheck=function(){this._changeDetector.markForCheck()},t.prototype.onInputClick=function(e){e.stopPropagation()},t.prototype.onInputChange=function(e){e.stopPropagation();var t=this.radioGroup&&this.value!==this.radioGroup.value;this.checked=!0,this.emitChangeEvent(),this.radioGroup&&(this.radioGroup.controlValueAccessorChangeFn(this.value),this.radioGroup.touch(),t&&this.radioGroup.emitChangeEvent())},t.prototype.emitChangeEvent=function(){this.change.emit(new l(this,this._value))},t}(m);y.decorators=[{type:o.Component,args:[{selector:"mc-radio-button",template:'<label class="mc-radio-label" [attr.for]="inputId" #label>\n <input type="radio"\n class="mc-radio-input cdk-visually-hidden"\n #input\n [id]="inputId"\n [checked]="checked"\n [disabled]="disabled"\n [tabIndex]="tabIndex"\n [attr.name]="name"\n [required]="required"\n [attr.aria-label]="ariaLabel"\n [attr.aria-labelledby]="ariaLabelledby"\n [attr.aria-describedby]="ariaDescribedby"\n (change)="onInputChange($event)"\n (click)="onInputClick($event)">\n\n <div class="mc-radio-label-content" [class.mc-radio-label-before]="labelPosition == \'before\'">\n <div class="mc-radio-button__outer-circle"></div>\n <div class="mc-radio-button__inner-circle"></div>\n <ng-content></ng-content>\n </div>\n</label>\n',inputs:["color","tabIndex"],encapsulation:o.ViewEncapsulation.None,changeDetection:o.ChangeDetectionStrategy.OnPush,exportAs:"mcRadioButton",host:{class:"mc-radio-button","[attr.id]":"id","[class.mc-selected]":"checked","[class.mc-disabled]":"disabled"},styles:['.mc-radio-button{display:inline-block}.mc-radio-label{display:inline-flex;align-items:center;vertical-align:middle;cursor:pointer;white-space:nowrap;width:100%}.mc-radio-label-content{display:inline-block;position:relative;order:0;line-height:inherit;padding-left:calc(var(--mc-radio-size-size, 14px) + var(--mc-radio-size-padding, 8px));padding-right:0}.mc-radio-label-content .mc-radio-button__inner-circle,.mc-radio-label-content .mc-radio-button__outer-circle{box-sizing:content-box;position:absolute;content:"";border-style:solid;border-radius:50%}.mc-radio-label-content .mc-radio-button__outer-circle{left:0;top:calc(50% - 8px);width:var(--mc-radio-size-size,14px);height:var(--mc-radio-size-size,14px);border-width:1px}.mc-radio-label-content .mc-radio-button__inner-circle{display:none;left:1px;top:calc(50% - 7px);width:6px;height:6px;border-width:4px}[dir=rtl] .mc-radio-label-content{padding-right:var(--mc-radio-size-padding,8px);padding-left:0}.mc-radio-input{position:absolute;outline:none;opacity:0}']}]}],y.ctorParameters=function(){return[{type:f,decorators:[{type:o.Optional}]},{type:o.ElementRef},{type:o.ChangeDetectorRef},{type:t.FocusMonitor},{type:r.UniqueSelectionDispatcher}]},y.propDecorators={checked:[{type:o.Input}],value:[{type:o.Input}],disabled:[{type:o.Input}],required:[{type:o.Input}],labelPosition:[{type:o.Input}],name:[{type:o.Input}],ariaLabel:[{type:o.Input,args:["aria-label"]}],ariaLabelledby:[{type:o.Input,args:["aria-labelledby"]}],ariaDescribedby:[{type:o.Input,args:["aria-describedby"]}],inputElement:[{type:o.ViewChild,args:["input",{static:!1}]}],change:[{type:o.Output}],isFocused:[{type:o.Input}],id:[{type:o.Input}]};var g=function(){};g.decorators=[{type:o.NgModule,args:[{imports:[i.CommonModule,t.A11yModule,n.McCommonModule],exports:[f,y],declarations:[f,y]}]}],e.MC_RADIO_GROUP_CONTROL_VALUE_ACCESSOR=h,e.McRadioButton=y,e.McRadioButtonMixinBase=m,e.McRadioChange=l,e.McRadioGroup=f,e.McRadioGroupBase=d,e.McRadioGroupMixinBase=p,e.McRadioModule=g,Object.defineProperty(e,"__esModule",{value:!0})}));
16
- //# sourceMappingURL=ptsecurity-mosaic-radio.umd.min.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","../../../packages/mosaic/radio/radio.component.ts","../../../packages/mosaic/radio/radio.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__extends","TypeError","String","__","this","constructor","create","nextUniqueId","source","value","_elementRef","McRadioGroupMixinBase","mixinDisabled","McRadioGroupBase","MC_RADIO_GROUP_CONTROL_VALUE_ACCESSOR","provide","NG_VALUE_ACCESSOR","useExisting","forwardRef","McRadioGroup","multi","elementRef","_changeDetector","_this","_super","change","EventEmitter","_value","_name","_selected","isInitialized","_labelPosition","_disabled","_required","controlValueAccessorChangeFn","onTouched","defineProperty","updateRadioButtonNames","v","markRadiosForCheck","newValue","updateSelectedRadioFromValue","checkSelectedRadioButton","selected","toBoolean","checked","ngAfterContentInit","touch","emitChangeEvent","emit","McRadioChange","radios","forEach","radio","markForCheck","writeValue","registerOnChange","fn","registerOnTouched","setDisabledState","isDisabled","disabled","name","isAlreadySelected","Directive","args","selector","exportAs","host","role","class","providers","ElementRef","ChangeDetectorRef","Input","Output","ContentChildren","McRadioButton","descendants","McRadioButtonBase","McRadioButtonMixinBase","mixinColor","mixinTabIndex","radioGroup","focusMonitor","_radioDispatcher","isFocused","uniqueId","_checked","removeUniqueSelectionListener","id","listen","newCheckedState","notify","newDisabledState","required","labelPosition","ngOnInit","ngAfterViewInit","monitor","subscribe","focusOrigin","ngOnDestroy","stopMonitoring","focus","inputElement","nativeElement","onInputClick","event","stopPropagation","onInputChange","groupValueChanged","Component","template","inputs","encapsulation","ViewEncapsulation","None","changeDetection","ChangeDetectionStrategy","OnPush","[attr.id]","[class.mc-selected]","[class.mc-disabled]","decorators","type","Optional","FocusMonitor","UniqueSelectionDispatcher","ViewChild","static","NgModule","imports","CommonModule","A11yModule","McCommonModule","exports","declarations"],"mappings":"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","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 } from '@angular/cdk/a11y';\nimport { UniqueSelectionDispatcher } from '@angular/cdk/collections';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n QueryList,\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\n\n// Increasing integer for generating unique ids for radio components.\nlet nextUniqueId = 0;\n\n/** Change event object emitted by McRadio. */\nexport class McRadioChange {\n constructor(\n /** The McRadioButton that emits the change event. */\n public source: McRadioButton,\n /** The value of the McRadioButton. */\n public value: any) {}\n}\n\n// Boilerplate for applying mixins to McRadioGroup.\n/** @docs-private */\nexport class McRadioGroupBase {\n // tslint:disable-next-line:naming-convention\n constructor(public _elementRef: ElementRef) {}\n}\n// tslint:disable-next-line:naming-convention\nexport const McRadioGroupMixinBase: CanDisableCtor & typeof McRadioGroupBase = mixinDisabled(McRadioGroupBase);\n\n/**\n * Provider Expression that allows mc-radio-group to register as a ControlValueAccessor. This\n * allows it to support [(ngModel)] and ngControl.\n * @docs-private\n */\nexport const MC_RADIO_GROUP_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => McRadioGroup),\n multi: true\n};\n\n@Directive({\n selector: 'mc-radio-group',\n exportAs: 'mcRadioGroup',\n host: {\n role: 'radiogroup',\n class: 'mc-radio-group'\n },\n providers: [MC_RADIO_GROUP_CONTROL_VALUE_ACCESSOR]\n})\nexport class McRadioGroup extends McRadioGroupMixinBase\n implements AfterContentInit, ControlValueAccessor, CanDisable {\n\n /** Name of the radio button group. All radio buttons inside this group will use this name. */\n @Input()\n get name(): string { return this._name; }\n set name(value: string) {\n this._name = value;\n this.updateRadioButtonNames();\n }\n\n /** Whether the labels should appear after or before the radio-buttons. Defaults to 'after' */\n @Input()\n get labelPosition(): 'before' | 'after' {\n return this._labelPosition;\n }\n set labelPosition(v) {\n this._labelPosition = v === 'before' ? 'before' : 'after';\n this.markRadiosForCheck();\n }\n\n /** Value of the radio button. */\n @Input()\n get value(): any { return this._value; }\n set value(newValue: any) {\n if (this._value !== newValue) {\n // Set this before proceeding to ensure no circular loop occurs with selection.\n this._value = newValue;\n\n this.updateSelectedRadioFromValue();\n this.checkSelectedRadioButton();\n }\n }\n\n /** Whether the radio button is selected. */\n @Input()\n get selected() { return this._selected; }\n set selected(selected: McRadioButton | null) {\n this._selected = selected;\n this.value = selected ? selected.value : null;\n this.checkSelectedRadioButton();\n }\n\n /** Whether the radio group is disabled */\n @Input()\n get disabled(): boolean { return this._disabled; }\n set disabled(value) {\n this._disabled = toBoolean(value);\n this.markRadiosForCheck();\n }\n\n /** Whether the radio group is required */\n @Input()\n get required(): boolean { return this._required; }\n set required(value: boolean) {\n this._required = toBoolean(value);\n this.markRadiosForCheck();\n }\n\n /**\n * Event emitted when the group value changes.\n * Change events are only emitted when the value changes due to user interaction with\n * a radio button (the same behavior as `<input type-\"radio\">`).\n */\n @Output() readonly change: EventEmitter<McRadioChange> = new EventEmitter<McRadioChange>();\n\n /** Child radio buttons. */\n @ContentChildren(forwardRef(() => McRadioButton), { descendants: true })\n radios: QueryList<McRadioButton>;\n\n /**\n * Selected value for group. Should equal the value of the selected radio button if there *is*\n * a corresponding radio button with a matching value. If there is *not* such a corresponding\n * radio button, this value persists to be applied in case a new radio button is added with a\n * matching value.\n */\n private _value: any = null;\n\n /** The HTML name attribute applied to radio buttons in this group. */\n private _name: string = `mc-radio-group-${nextUniqueId++}`;\n\n /** The currently selected radio button. Should match value. */\n private _selected: McRadioButton | null = null;\n\n /** Whether the `value` has been set to its initial value. */\n private isInitialized: boolean = false;\n\n /** Whether the labels should appear after or before the radio-buttons. Defaults to 'after' */\n private _labelPosition: 'before' | 'after' = 'after';\n\n /** Whether the radio group is disabled. */\n private _disabled: boolean = false;\n\n /** Whether the radio group is required. */\n private _required: boolean = false;\n\n constructor(elementRef: ElementRef, private readonly _changeDetector: ChangeDetectorRef) {\n super(elementRef);\n }\n\n /** The method to be called in order to update ngModel */\n // tslint:disable-next-line\n controlValueAccessorChangeFn: (value: any) => void = () => {};\n\n /**\n * onTouch function registered via registerOnTouch (ControlValueAccessor).\n * @docs-private\n */\n // tslint:disable-next-line\n onTouched: () => any = () => {};\n\n checkSelectedRadioButton() {\n if (this._selected && !this._selected.checked) {\n this._selected.checked = true;\n }\n }\n\n /**\n * Initialize properties once content children are available.\n * This allows us to propagate relevant attributes to associated buttons.\n */\n ngAfterContentInit() {\n // Mark this component as initialized in AfterContentInit because the initial value can\n // possibly be set by NgModel on McRadioGroup, and it is possible that the OnInit of the\n // NgModel occurs *after* the OnInit of the McRadioGroup.\n this.isInitialized = true;\n }\n\n /**\n * Mark this group as being \"touched\" (for ngModel). Meant to be called by the contained\n * radio buttons upon their blur.\n */\n touch() {\n if (this.onTouched) {\n this.onTouched();\n }\n }\n\n /** Dispatch change event with current selection and group value. */\n emitChangeEvent(): void {\n if (this.isInitialized) {\n this.change.emit(new McRadioChange(this._selected!, this._value));\n }\n }\n\n markRadiosForCheck() {\n if (this.radios) {\n this.radios.forEach((radio) => radio.markForCheck());\n }\n }\n\n /**\n * Sets the model value. Implemented as part of ControlValueAccessor.\n */\n writeValue(value: any) {\n this.value = value;\n this._changeDetector.markForCheck();\n }\n\n /**\n * Registers a callback to be triggered when the model value changes.\n * Implemented as part of ControlValueAccessor.\n * @param fn Callback to be registered.\n */\n registerOnChange(fn: (value: any) => void) {\n this.controlValueAccessorChangeFn = fn;\n }\n\n /**\n * Registers a callback to be triggered when the control is touched.\n * Implemented as part of ControlValueAccessor.\n * @param fn Callback to be registered.\n */\n registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n\n /**\n * Sets the disabled state of the control. Implemented as a part of ControlValueAccessor.\n * @param isDisabled Whether the control should be disabled.\n */\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled;\n this._changeDetector.markForCheck();\n }\n\n private updateRadioButtonNames(): void {\n if (this.radios) {\n this.radios.forEach((radio) => {\n radio.name = this.name;\n });\n }\n }\n\n /** Updates the `selected` radio button from the internal _value state. */\n private updateSelectedRadioFromValue(): void {\n // If the value already matches the selected radio, do nothing.\n const isAlreadySelected = this._selected !== null && this._selected.value === this._value;\n\n if (this.radios != null && !isAlreadySelected) {\n this._selected = null;\n this.radios.forEach((radio) => {\n radio.checked = this.value === radio.value;\n if (radio.checked) {\n this._selected = radio;\n }\n });\n }\n }\n}\n\n\n// Boilerplate for applying mixins to McRadioButton.\n/** @docs-private */\n// tslint:disable-next-line:naming-convention\nabstract class McRadioButtonBase {\n // Since the disabled property is manually defined for the McRadioButton and isn't set up in\n // the mixin base class. To be able to use the tabindex mixin, a disabled property must be\n // defined to properly work.\n abstract disabled: boolean;\n\n // tslint:disable-next-line:naming-convention\n constructor(public _elementRef: ElementRef) {}\n}\n\n// tslint:disable-next-line:naming-convention\nexport const McRadioButtonMixinBase:\n CanColorCtor & HasTabIndexCtor & typeof McRadioButtonBase = mixinColor(mixinTabIndex(McRadioButtonBase));\n\n\n@Component({\n selector: 'mc-radio-button',\n templateUrl: 'radio.component.html',\n styleUrls: ['radio.scss'],\n inputs: ['color', 'tabIndex'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: 'mcRadioButton',\n host: {\n class: 'mc-radio-button',\n '[attr.id]': 'id',\n '[class.mc-selected]': 'checked',\n '[class.mc-disabled]': 'disabled'\n }\n})\nexport class McRadioButton extends McRadioButtonMixinBase\n implements OnInit, AfterViewInit, OnDestroy, CanColor, HasTabIndex {\n\n /** Whether this radio button is checked. */\n @Input()\n get checked(): boolean { return this._checked; }\n set checked(value: boolean) {\n const newCheckedState = toBoolean(value);\n\n if (this._checked !== newCheckedState) {\n this._checked = newCheckedState;\n\n if (newCheckedState && this.radioGroup && this.radioGroup.value !== this.value) {\n this.radioGroup.selected = this;\n } else if (!newCheckedState && this.radioGroup && this.radioGroup.value === this.value) {\n // When unchecking the selected radio button, update the selected radio\n // property on the group.\n this.radioGroup.selected = null;\n }\n\n if (newCheckedState) {\n // Notify all radio buttons with the same name to un-check.\n this._radioDispatcher.notify(this.id, this.name);\n }\n this._changeDetector.markForCheck();\n }\n }\n\n /** The value of this radio button. */\n @Input()\n get value(): any { return this._value; }\n set value(value: any) {\n if (this._value !== value) {\n this._value = value;\n if (this.radioGroup != null) {\n if (!this.checked) {\n // Update checked when the value changed to match the radio group's value\n this.checked = this.radioGroup.value === value;\n }\n if (this.checked) {\n this.radioGroup.selected = this;\n }\n }\n }\n }\n\n /** Whether the radio button is disabled. */\n @Input()\n get disabled(): boolean {\n return this._disabled || (this.radioGroup != null && this.radioGroup.disabled);\n }\n set disabled(value: boolean) {\n const newDisabledState = toBoolean(value);\n\n if (this._disabled !== newDisabledState) {\n\n this._disabled = newDisabledState;\n this._changeDetector.markForCheck();\n }\n }\n\n /** Whether the radio button is required. */\n @Input()\n get required(): boolean {\n return this._required || (this.radioGroup && this.radioGroup.required);\n }\n set required(value: boolean) {\n this._required = toBoolean(value);\n }\n\n /** Whether the label should appear after or before the radio button. Defaults to 'after' */\n @Input()\n get labelPosition(): 'before' | 'after' {\n return this._labelPosition || (this.radioGroup && this.radioGroup.labelPosition) || 'after';\n }\n set labelPosition(value) {\n this._labelPosition = value;\n }\n\n /** Analog to HTML 'name' attribute used to group radios for unique selection. */\n @Input() name: string;\n\n /** Used to set the 'aria-label' attribute on the underlying input element. */\n @Input('aria-label') ariaLabel: string;\n\n /** The 'aria-labelledby' attribute takes precedence as the element's text alternative. */\n @Input('aria-labelledby') ariaLabelledby: string;\n\n /** The 'aria-describedby' attribute is read after the element's label and field type. */\n @Input('aria-describedby') ariaDescribedby: string;\n\n /** The native `<input type=radio>` element */\n @ViewChild('input', {static: false}) inputElement: ElementRef;\n\n /**\n * Event emitted when the checked state of this radio button changes.\n * Change events are only emitted when the value changes due to user interaction with\n * the radio button (the same behavior as `<input type-\"radio\">`).\n */\n @Output() readonly change: EventEmitter<McRadioChange> = new EventEmitter<McRadioChange>();\n\n /** The parent radio group. May or may not be present. */\n radioGroup: McRadioGroup;\n\n @Input()\n isFocused: boolean = false;\n\n /** The unique ID for the radio button. */\n @Input() id: string;\n\n /** ID of the native input element inside `<mc-radio-button>` */\n get inputId(): string { return `${this.id || this.uniqueId}-input`; }\n\n private _labelPosition: 'before' | 'after';\n\n /* tslint:disable:member-ordering */\n private readonly uniqueId: string = `mc-radio-${++nextUniqueId}`;\n\n /** Whether this radio is checked. */\n private _checked: boolean = false;\n\n /** Whether this radio is disabled. */\n private _disabled: boolean;\n\n /** Whether this radio is required. */\n private _required: boolean;\n\n /** Value assigned to this radio. */\n private _value: any = null;\n\n constructor(\n @Optional() radioGroup: McRadioGroup,\n elementRef: ElementRef,\n private readonly _changeDetector: ChangeDetectorRef,\n private focusMonitor: FocusMonitor,\n private readonly _radioDispatcher: UniqueSelectionDispatcher\n ) {\n super(elementRef);\n\n this.id = this.uniqueId;\n\n this.radioGroup = radioGroup;\n\n this.removeUniqueSelectionListener =\n _radioDispatcher.listen((id: string, name: string) => {\n if (id !== this.id && name === this.name) {\n this.checked = false;\n }\n });\n }\n\n ngOnInit() {\n if (this.radioGroup) {\n // If the radio is inside a radio group, determine if it should be checked\n this.checked = this.radioGroup.value === this._value;\n // Copy name from parent radio group\n this.name = this.radioGroup.name;\n }\n }\n\n ngAfterViewInit() {\n this.focusMonitor\n .monitor(this._elementRef, true)\n .subscribe((focusOrigin) => {\n if (!focusOrigin && this.radioGroup) {\n this.radioGroup.touch();\n }\n });\n }\n\n ngOnDestroy() {\n this.focusMonitor.stopMonitoring(this._elementRef);\n this.removeUniqueSelectionListener();\n }\n\n /** Focuses the radio button. */\n focus(): void {\n this.inputElement.nativeElement.focus();\n }\n\n /**\n * Marks the radio button as needing checking for change detection.\n * This method is exposed because the parent radio group will directly\n * update bound properties of the radio button.\n */\n markForCheck() {\n // When group value changes, the button will not be notified. Use `markForCheck` to explicit\n // update radio button's status\n this._changeDetector.markForCheck();\n }\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 `radio-button` 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\n onInputChange(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 const groupValueChanged = this.radioGroup && this.value !== this.radioGroup.value;\n this.checked = true;\n this.emitChangeEvent();\n\n if (this.radioGroup) {\n this.radioGroup.controlValueAccessorChangeFn(this.value);\n this.radioGroup.touch();\n if (groupValueChanged) {\n this.radioGroup.emitChangeEvent();\n }\n }\n }\n\n /** Unregister function for _radioDispatcher */\n // tslint:disable-next-line\n private readonly removeUniqueSelectionListener: () => void = () => {};\n\n /** Dispatch change event with current value. */\n private emitChangeEvent(): void {\n this.change.emit(new McRadioChange(this, this._value));\n }\n}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { McCommonModule } from '@ptsecurity/mosaic/core';\n\nimport { McRadioButton, McRadioGroup } from './radio.component';\n\n\n@NgModule({\n imports: [CommonModule, A11yModule, McCommonModule],\n exports: [McRadioGroup, McRadioButton],\n declarations: [McRadioGroup, McRadioButton]\n})\nexport class McRadioModule {\n}\n"]}
@@ -1,16 +0,0 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/cdk/overlay"),require("@angular/common"),require("@angular/core"),require("@ptsecurity/mosaic/core"),require("@ptsecurity/mosaic/form-field"),require("@ptsecurity/mosaic/icon"),require("@ptsecurity/mosaic/tags"),require("@angular/cdk/bidi"),require("@angular/cdk/coercion"),require("@angular/cdk/collections"),require("@angular/forms"),require("@ptsecurity/cdk/a11y"),require("@ptsecurity/cdk/keycodes"),require("@ptsecurity/mosaic/input"),require("rxjs"),require("rxjs/operators")):"function"==typeof define&&define.amd?define("@ptsecurity/mosaic/select",["exports","@angular/cdk/overlay","@angular/common","@angular/core","@ptsecurity/mosaic/core","@ptsecurity/mosaic/form-field","@ptsecurity/mosaic/icon","@ptsecurity/mosaic/tags","@angular/cdk/bidi","@angular/cdk/coercion","@angular/cdk/collections","@angular/forms","@ptsecurity/cdk/a11y","@ptsecurity/cdk/keycodes","@ptsecurity/mosaic/input","rxjs","rxjs/operators"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).ptsecurity=e.ptsecurity||{},e.ptsecurity.mosaic=e.ptsecurity.mosaic||{},e.ptsecurity.mosaic.select={}),e.ng.cdk.overlay,e.ng.common,e.ng.core,e.ptsecurity.mosaic.core,e.ptsecurity.mosaic["form-field"],e.ptsecurity.mosaic.icon,e.ptsecurity.mosaic.tags,e.ng.cdk.bidi,e.ng.cdk.coercion,e.ng.cdk.collections,e.ng.forms,e.mc.cdk.a11y,e.mc.cdk.keycodes,e.ptsecurity.mosaic.input,e.rxjs,e.rxjs.operators)}(this,(function(e,t,i,n,r,o,s,a,c,l,p,h,d,u,g,m,y){"use strict";
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
- ***************************************************************************** */var f=function(e,t){return(f=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])})(e,t)};Object.create;function v(e,t){var i="function"==typeof Symbol&&e[Symbol.iterator];if(!i)return e;var n,r,o=i.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(n=o.next()).done;)s.push(n.value)}catch(e){r={error:e}}finally{try{n&&!n.done&&(i=o.return)&&i.call(o)}finally{if(r)throw r.error}}return s}function _(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(v(arguments[t]));return e}Object.create;var b=0,C=function(e,t){this.source=e,this.value=t},S=function(){function e(e){this.searchChangesSubscription=new m.Subscription,this.isSearchChanged=!1,e.canCleanerClearByEsc=!1}return e.prototype.focus=function(){this.input.focus()},e.prototype.reset=function(){this.input.ngControl.reset()},e.prototype.ngAfterContentInit=function(){var e=this;if(!this.input)throw Error("McSelectSearch does not work without mcInput");if(!this.input.ngControl)throw Error("McSelectSearch does not work without ngControl");Promise.resolve().then((function(){e.searchChangesSubscription=e.input.ngControl.valueChanges.subscribe((function(){e.isSearchChanged=!0}))}))},e.prototype.ngOnDestroy=function(){this.searchChangesSubscription.unsubscribe()},e.prototype.handleKeydown=function(e){e.keyCode===u.ESCAPE&&this.input.value&&(this.reset(),e.stopPropagation()),[u.SPACE,u.HOME,u.END].includes(e.keyCode)&&e.stopPropagation()},e}();S.decorators=[{type:n.Directive,args:[{selector:"[mcSelectSearch]",exportAs:"mcSelectSearch",host:{"(keydown)":"handleKeydown($event)"}}]}],S.ctorParameters=function(){return[{type:o.McFormField}]},S.propDecorators={input:[{type:n.ContentChild,args:[g.McInput,{static:!1}]}]};var w=function(){};w.decorators=[{type:n.Directive,args:[{selector:"[mc-select-search-empty-result]",exportAs:"mcSelectSearchEmptyResult"}]}];var O=function(){};O.decorators=[{type:n.Directive,args:[{selector:"mc-select-trigger"}]}];var x=function(e,t,i,n,r){this.elementRef=e,this.defaultErrorStateMatcher=t,this.parentForm=i,this.parentFormGroup=n,this.ngControl=r},k=function(e){function t(t,i,r,o,s,a,c,l,p,h,d,u,g,f,v){var C=e.call(this,s,o,l,p,d)||this;return C._changeDetectorRef=t,C._ngZone=i,C._renderer=r,C.rawValidators=a,C._dir=c,C._parentFormField=h,C.ngModel=u,C.formControlName=g,C._scrollStrategyFactory=f,C.mcValidation=v,C.controlType="select",C.hiddenItems=0,C.triggerFontSize=0,C.previousSelectionModelSelected=[],C.transformOrigin="top",C.panelDoneAnimatingStream=new m.Subject,C.scrollStrategy=C._scrollStrategyFactory(),C.offsetY=0,C.positions=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom"}],C.hiddenItemsText="...ещё",C.backdropClass="cdk-overlay-transparent-backdrop",C.optionSelectionChanges=m.defer((function(){return C.options?m.merge.apply(void 0,_(C.options.map((function(e){return e.onSelectionChange})),C.selectionModel.selected.map((function(e){return e.onSelectionChange})))):C._ngZone.onStable.asObservable().pipe(y.take(1),y.switchMap((function(){return C.optionSelectionChanges})))})),C.openedChange=new n.EventEmitter,C.openedStream=C.openedChange.pipe(y.filter((function(e){return e})),y.map((function(){}))),C.closedStream=C.openedChange.pipe(y.filter((function(e){return!e})),y.map((function(){}))),C.selectionChange=new n.EventEmitter,C.valueChange=new n.EventEmitter,C._hasBackdrop=!1,C._required=!1,C._multiple=!1,C._focused=!1,C.panelOpen=!1,C.closeSubscription=m.Subscription.EMPTY,C.scrollTop=0,C.uid="mc-select-"+b++,C.destroy=new m.Subject,C.onChange=function(){},C.onTouched=function(){},C._compareWith=function(e,t){return e===t},C.ngControl&&(C.ngControl.valueAccessor=C),C.id=C.id,C}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function i(){this.constructor=e}f(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}(t,e),Object.defineProperty(t.prototype,"hasBackdrop",{get:function(){return this._hasBackdrop},set:function(e){this._hasBackdrop=l.coerceBooleanProperty(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"placeholder",{get:function(){return this._placeholder},set:function(e){this._placeholder=e,this.stateChanges.next()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"required",{get:function(){return this._required},set:function(e){this._required=l.coerceBooleanProperty(e),this.stateChanges.next()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"multiple",{get:function(){return this._multiple},set:function(e){if(this.selectionModel)throw r.getMcSelectDynamicMultipleError();this._multiple=l.coerceBooleanProperty(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"compareWith",{get:function(){return this._compareWith},set:function(e){if("function"!=typeof e)throw r.getMcSelectNonFunctionValueError();this._compareWith=e,this.selectionModel&&this.initializeSelection()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"value",{get:function(){return this._value},set:function(e){e!==this._value&&(this.writeValue(e),this._value=e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"id",{get:function(){return this._id},set:function(e){this._id=e||this.uid,this.stateChanges.next()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"focused",{get:function(){return this._focused||this.panelOpen},set:function(e){this._focused=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isEmptySearchResult",{get:function(){return this.search&&0===this.options.length&&!!this.search.input.value},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"canShowCleaner",{get:function(){return this.cleaner&&this.selectionModel.hasValue()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"selected",{get:function(){return this.multiple?this.selectionModel.selected:this.selectionModel.selected[0]},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"triggerValue",{get:function(){return this.empty?"":this.selectionModel.selected[0].viewValue},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"triggerValues",{get:function(){if(this.empty)return[];var e=this.selectionModel.selected;return this.isRtl()&&e.reverse(),e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"empty",{get:function(){return!this.selectionModel||this.selectionModel.isEmpty()},enumerable:!1,configurable:!0}),t.prototype.ngOnInit=function(){var e=this;this.selectionModel=new p.SelectionModel(this.multiple),this.stateChanges.next(),this.panelDoneAnimatingStream.pipe(y.distinctUntilChanged(),y.takeUntil(this.destroy)).subscribe((function(){e.panelOpen?(e.scrollTop=0,e.search&&e.search.focus(),e.openedChange.emit(!0)):(e.openedChange.emit(!1),e._changeDetectorRef.markForCheck())}))},t.prototype.ngAfterContentInit=function(){var e=this;this.mcValidation.useValidation&&r.setMosaicValidation(this),this.initKeyManager(),this.selectionModel.changed.pipe(y.takeUntil(this.destroy)).subscribe((function(e){e.added.forEach((function(e){return e.select()})),e.removed.forEach((function(e){return e.deselect()}))})),this.options.changes.pipe(y.startWith(null),y.takeUntil(this.destroy)).subscribe((function(){e.resetOptions(),e.initializeSelection()}))},t.prototype.ngAfterViewInit=function(){var e=this;this.tags.changes.subscribe((function(){setTimeout((function(){return e.calculateHiddenItems()}),0)}))},t.prototype.ngDoCheck=function(){this.ngControl&&this.updateErrorState()},t.prototype.ngOnChanges=function(e){e.disabled&&this.stateChanges.next()},t.prototype.ngOnDestroy=function(){this.destroy.next(),this.destroy.complete(),this.stateChanges.complete(),this.closeSubscription.unsubscribe()},t.prototype.hiddenItemsTextFormatter=function(e,t){return e+" "+t},t.prototype.clearValue=function(e){e.stopPropagation(),this.selectionModel.clear(),this.keyManager.setActiveItem(-1),this.propagateChanges()},t.prototype.resetSearch=function(){this.search&&(this.search.reset(),this.search.isSearchChanged=!1)},t.prototype.toggle=function(){this.panelOpen?this.close():this.open()},t.prototype.open=function(){var e,t=this;this.disabled||!(null===(e=this.options)||void 0===e?void 0:e.length)||this.panelOpen||(this.triggerRect=this.trigger.nativeElement.getBoundingClientRect(),this.triggerFontSize=parseInt(getComputedStyle(this.trigger.nativeElement)["font-size"]),this.panelOpen=!0,this.keyManager.withHorizontalOrientation(null),this.highlightCorrectOption(),this._changeDetectorRef.markForCheck(),this._ngZone.onStable.asObservable().pipe(y.take(1)).subscribe((function(){t.scrollActiveOptionIntoView(),t.triggerFontSize&&t.overlayDir.overlayRef&&t.overlayDir.overlayRef.overlayElement&&(t.overlayDir.overlayRef.overlayElement.style.fontSize=t.triggerFontSize+"px")})))},t.prototype.close=function(){this.panelOpen&&(this.resetSearch(),this.panelOpen=!1,this.keyManager.withHorizontalOrientation(this.isRtl()?"rtl":"ltr"),this._changeDetectorRef.markForCheck(),this.onTouched())},t.prototype.writeValue=function(e){this.options&&this.setSelectionByValue(e)},t.prototype.registerOnChange=function(e){this.onChange=e},t.prototype.registerOnTouched=function(e){this.onTouched=e},t.prototype.setDisabledState=function(e){this.disabled=e,this._changeDetectorRef.markForCheck(),this.stateChanges.next()},t.prototype.isRtl=function(){return!!this._dir&&"rtl"===this._dir.value},t.prototype.handleKeydown=function(e){this.disabled||(this.panelOpen?this.handleOpenKeydown(e):this.handleClosedKeydown(e))},t.prototype.onFocus=function(){this.disabled||(this._focused=!0,this.stateChanges.next())},t.prototype.onBlur=function(){this._focused=!1,this.disabled||this.panelOpen||(this.onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next())},t.prototype.onAttached=function(){var e=this;this.overlayDir.positionChange.pipe(y.take(1)).subscribe((function(){e._changeDetectorRef.detectChanges(),e.setOverlayPosition(),e.optionsContainer.nativeElement.scrollTop=e.scrollTop,e.updateScrollSize()})),this.closeSubscription=this.closingActions().subscribe((function(){return e.close()}))},t.prototype.getPanelTheme=function(){return this._parentFormField?"mc-"+this._parentFormField.color:""},t.prototype.focus=function(){this.elementRef.nativeElement.focus()},t.prototype.onContainerClick=function(){this.focus()},t.prototype.onRemoveMatcherItem=function(e,t){t.stopPropagation(),e.deselect()},t.prototype.calculateHiddenItems=function(){var e=this;if(!this.customTrigger&&!this.empty&&this.multiple){var t=0,i=this.getTotalItemsWidthInMatcher(),n=0;if(this.tags.forEach((function(i){i.nativeElement.offsetTop<i.nativeElement.offsetHeight&&(n+=e.getItemWidth(i.nativeElement),t++)})),this.hiddenItems=this.selected.length-t,this.hiddenItems){var r=this.trigger.nativeElement.querySelector(".mc-select__match-hidden-text"),o=this.trigger.nativeElement.querySelector(".mc-select__match-list"),s=r.offsetTop<r.offsetHeight,a=o.getBoundingClientRect().width,c=a+86;if(s&&i<c&&(this.hiddenItems=0),n===a||n+86<a)return void this._changeDetectorRef.markForCheck();!s&&i+86>c&&this.hiddenItems++}this._changeDetectorRef.markForCheck()}},t.prototype.getItemHeight=function(){return this.options.first?this.options.first.getHeight():0},t.prototype.closingActions=function(){var e=this;return m.merge(this.overlayDir.overlayRef.outsidePointerEvents().pipe(y.filter((function(t){return!e.elementRef.nativeElement.contains(t.target)}))),this.overlayDir.overlayRef.detachments())},t.prototype.getHeightOfOptionsContainer=function(){return this.optionsContainer.nativeElement.getClientRects()[0].height},t.prototype.updateScrollSize=function(){this.options.first&&this.keyManager.withScrollSize(Math.floor(this.getHeightOfOptionsContainer()/this.options.first.getHeight()))},t.prototype.getTotalItemsWidthInMatcher=function(){var e=this,t=this.trigger.nativeElement.cloneNode(!0);t.querySelector(".mc-select__match-hidden-text").remove(),this._renderer.setStyle(t,"position","absolute"),this._renderer.setStyle(t,"visibility","hidden"),this._renderer.setStyle(t,"top","-100%"),this._renderer.setStyle(t,"left","0"),this._renderer.appendChild(this.trigger.nativeElement,t);var i=0;return t.querySelectorAll("mc-tag").forEach((function(t){i+=e.getItemWidth(t)})),t.remove(),i},t.prototype.getItemWidth=function(e){var t=window.getComputedStyle(e);return parseInt(t.width)+parseInt(t.marginLeft)+parseInt(t.marginRight)},t.prototype.handleClosedKeydown=function(e){var t=e.keyCode,i=[u.DOWN_ARROW,u.UP_ARROW,u.LEFT_ARROW,u.RIGHT_ARROW].includes(t);[u.ENTER,u.SPACE].includes(t)||(this.multiple||e.altKey)&&i?(e.preventDefault(),this.open()):this.multiple||this.keyManager.onKeydown(e)},t.prototype.handleOpenKeydown=function(e){var t=e.keyCode,i=t===u.DOWN_ARROW||t===u.UP_ARROW;if(i&&e.altKey)e.preventDefault(),this.close();else if(t===u.HOME)e.preventDefault(),this.keyManager.setFirstItemActive();else if(t===u.END)e.preventDefault(),this.keyManager.setLastItemActive();else if(t===u.PAGE_UP)e.preventDefault(),this.keyManager.setPreviousPageItemActive();else if(t===u.PAGE_DOWN)e.preventDefault(),this.keyManager.setNextPageItemActive();else if(t!==u.ENTER&&t!==u.SPACE||!this.keyManager.activeItem)if(this._multiple&&t===u.A&&e.ctrlKey){e.preventDefault();var n=this.options.some((function(e){return!e.selected}));this.options.forEach((function(e){n&&!e.disabled?e.select():e.deselect()}))}else{var r=this.keyManager.activeItemIndex;this.keyManager.onKeydown(e),this._multiple&&i&&e.shiftKey&&this.keyManager.activeItem&&this.keyManager.activeItemIndex!==r&&this.keyManager.activeItem.selectViaInteraction(),this.search&&this.search.focus()}else e.preventDefault(),this.keyManager.activeItem.selectViaInteraction()},t.prototype.initializeSelection=function(){var e=this;Promise.resolve().then((function(){e.setSelectionByValue(e.ngControl?e.ngControl.value:e._value)}))},t.prototype.setSelectionByValue=function(e){var t=this;if(this.previousSelectionModelSelected=this.selectionModel.selected,this.multiple&&e){if(!Array.isArray(e))throw r.getMcSelectNonArrayValueError();this.selectionModel.clear(),e.forEach((function(e){return t.selectValue(e)})),this.sortValues()}else{this.selectionModel.clear();var i=this.selectValue(e);i&&this.keyManager.setActiveItem(i)}this._changeDetectorRef.markForCheck()},t.prototype.getCorrespondOption=function(e){var t=this;return _(this.options.toArray(),this.previousSelectionModelSelected).find((function(i){try{return null!=i.value&&t.compareWith(i.value,e)}catch(e){return n.isDevMode()&&console.warn(e),!1}}))},t.prototype.selectValue=function(e){var t=this.getCorrespondOption(e);return t&&this.selectionModel.select(t),t},t.prototype.initKeyManager=function(){var e=this;this.keyManager=new d.ActiveDescendantKeyManager(this.options).withTypeAhead(200,this.search?-1:0).withVerticalOrientation().withHorizontalOrientation(this.isRtl()?"rtl":"ltr"),this.keyManager.tabOut.pipe(y.takeUntil(this.destroy)).subscribe((function(){e.focus(),e.close()})),this.keyManager.change.pipe(y.takeUntil(this.destroy)).subscribe((function(){e.panelOpen&&e.panel?e.scrollActiveOptionIntoView():e.panelOpen||e.multiple||!e.keyManager.activeItem||e.keyManager.activeItem.selectViaInteraction()}))},t.prototype.resetOptions=function(){var e=this,t=m.merge(this.options.changes,this.destroy);this.optionSelectionChanges.pipe(y.takeUntil(t)).subscribe((function(t){e.onSelect(t.source,t.isUserInput),e.search&&e.search.isSearchChanged&&(Promise.resolve().then((function(){return e.keyManager.updateActiveItem(0)})),e.search.isSearchChanged=!1),t.isUserInput&&!e.multiple&&e.panelOpen&&(e.close(),e.focus())})),m.merge.apply(void 0,_(this.options.map((function(e){return e.stateChanges})))).pipe(y.takeUntil(t)).subscribe((function(){e._changeDetectorRef.markForCheck(),e.stateChanges.next()}))},t.prototype.onSelect=function(e,t){var i=this.selectionModel.isSelected(e);null!=e.value||this._multiple?(e.selected?this.selectionModel.select(e):this.selectionModel.deselect(e),t&&this.keyManager.setActiveItem(e),this.multiple&&(this.sortValues(),t&&(this.search?this.search.focus():this.focus()))):(e.deselect(),this.selectionModel.clear(),this.propagateChanges(e.value)),i!==this.selectionModel.isSelected(e)&&this.propagateChanges(),this.stateChanges.next()},t.prototype.sortValues=function(){var e=this;if(this.multiple){var t=this.options.toArray();this.selectionModel.sort((function(i,n){return e.sortComparator?e.sortComparator(i,n,t):t.indexOf(i)-t.indexOf(n)})),this.stateChanges.next()}},t.prototype.propagateChanges=function(e){var t=null;t=this.multiple?this.selected.map((function(e){return e.value})):this.selected?this.selected.value:e,this._value=t,this.valueChange.emit(t),this.onChange(t),this.selectionChange.emit(new C(this,t)),this._changeDetectorRef.markForCheck()},t.prototype.highlightCorrectOption=function(){this.keyManager&&(this.empty?this.keyManager.setFirstItemActive():this.keyManager.setActiveItem(this.selectionModel.selected[0]))},t.prototype.scrollActiveOptionIntoView=function(){this.keyManager.activeItem&&this.keyManager.activeItem.focus()},t.prototype.setOverlayPosition=function(){var e;this.resetOverlay();var t,i,n=this.getOverlayRect(),o=this.getOverlayWidth(),s=this.isRtl(),a=2*r.SELECT_PANEL_PADDING_X,c=this.selectionModel.selected[0]||this.options.first;t=c&&c.group?r.SELECT_PANEL_INDENT_PADDING_X:r.SELECT_PANEL_PADDING_X,s||(t*=-1);var l=0-(n.left+t-(s?a:0)),p=n.right+t-o+(s?0:a);(l>0||p>0)&&(t=(e=v(this.calculateOverlayXPosition(n,o,t),2))[0],i=e[1],this.overlayDir.overlayRef.overlayElement.style.maxWidth=i+"px"),this.overlayDir.offsetX=Math.round(t),this.overlayDir.overlayRef.updatePosition()},t.prototype.calculateOverlayXPosition=function(e,t,i){var n,o,s=i,a=this.triggerRect.left,c=t-this.triggerRect.right,l=a<=c,p=this.triggerRect.width+r.SELECT_PANEL_INDENT_PADDING_X;if(l)n=c+p-r.SELECT_PANEL_VIEWPORT_PADDING,o=e.width<n?e.width:n;else{var h=void 0;n=a+p-r.SELECT_PANEL_VIEWPORT_PADDING,e.width<n?(o=e.width,h=this.triggerRect.right-o):(o=n,h=this.triggerRect.right-(o-r.SELECT_PANEL_INDENT_PADDING_X)),s-=this.triggerRect.left-h}return[s,o]},t.prototype.resetOverlay=function(){this.overlayDir.offsetX=0,this.overlayDir.overlayRef.overlayElement.style.maxWidth="unset",this.overlayDir.overlayRef.updatePosition()},t.prototype.getOverlayRect=function(){return this.overlayDir.overlayRef.overlayElement.getBoundingClientRect()},t.prototype.getOverlayWidth=function(){return this.scrollStrategy._overlayRef.hostElement.clientWidth},t}(r.mixinTabIndex(r.mixinDisabled(r.mixinErrorState(x))));k.decorators=[{type:n.Component,args:[{selector:"mc-select",exportAs:"mcSelect",template:'<div cdk-overlay-origin\n class="mc-select__trigger"\n (click)="toggle()"\n [class.mc-select__trigger_multiple]="multiple"\n #origin="cdkOverlayOrigin"\n #trigger>\n <div class="mc-select__matcher" [ngSwitch]="empty">\n <span class="mc-select__placeholder" *ngSwitchCase="true">{{ placeholder || \'\\u00A0\' }}</span>\n <span *ngSwitchCase="false" [ngSwitch]="!!customTrigger">\n <div *ngSwitchDefault [ngSwitch]="multiple" class="mc-select__match-container">\n <span *ngSwitchCase="false" class="mc-select__matcher-text">{{ triggerValue }}</span>\n <div *ngSwitchCase="true" class="mc-select__match-list">\n <mc-tag *ngFor="let option of triggerValues"\n [disabled]="option.disabled || disabled"\n [selectable]="false"\n [class.mc-error]="errorState">\n {{ option.viewValue }}\n <i mc-icon="mc-close-S_16"\n *ngIf="!option.disabled && !disabled"\n (click)="onRemoveMatcherItem(option, $event)">\n </i>\n </mc-tag>\n </div>\n <div class="mc-select__match-hidden-text" [style.display]="hiddenItems > 0 ? \'block\' : \'none\'">\n {{ hiddenItemsTextFormatter(hiddenItemsText, hiddenItems) }}\n </div>\n </div>\n <ng-content select="mc-select-trigger" *ngSwitchCase="true"></ng-content>\n </span>\n </div>\n\n <div class="mc-select__cleaner" *ngIf="canShowCleaner" (click)="clearValue($event)">\n <ng-content select="mc-cleaner"></ng-content>\n </div>\n\n <div class="mc-select__arrow-wrapper">\n <i class="mc-select__arrow" mc-icon="mc-angle-down-L_16"></i>\n </div>\n</div>\n\n<ng-template\n cdk-connected-overlay\n cdkConnectedOverlayLockPosition\n [cdkConnectedOverlayHasBackdrop]="hasBackdrop"\n [cdkConnectedOverlayBackdropClass]="backdropClass"\n [cdkConnectedOverlayScrollStrategy]="scrollStrategy"\n [cdkConnectedOverlayOrigin]="origin"\n [cdkConnectedOverlayOpen]="panelOpen"\n [cdkConnectedOverlayPositions]="positions"\n [cdkConnectedOverlayMinWidth]="triggerRect?.width"\n [cdkConnectedOverlayOffsetY]="offsetY"\n (backdropClick)="close()"\n (attach)="onAttached()"\n (detach)="close()">\n <div\n #panel\n class="mc-select__panel {{ getPanelTheme() }}"\n [ngClass]="panelClass"\n [style.transformOrigin]="transformOrigin"\n [style.font-size.px]="triggerFontSize"\n (keydown)="handleKeydown($event)">\n\n <div *ngIf="search" class="mc-select__search-container">\n <ng-content select="[mcSelectSearch]"></ng-content>\n </div>\n\n <div #optionsContainer\n class="mc-select__content"\n [@fadeInContent]="\'showing\'"\n (@fadeInContent.done)="panelDoneAnimatingStream.next($event.toState)">\n\n <div *ngIf="isEmptySearchResult" class="mc-select__no-options-message">\n <ng-content select="[mc-select-search-empty-result]"></ng-content>\n </div>\n <ng-content></ng-content>\n </div>\n </div>\n</ng-template>\n',inputs:["disabled","tabIndex"],encapsulation:n.ViewEncapsulation.None,changeDetection:n.ChangeDetectionStrategy.OnPush,host:{"[attr.id]":"id","[attr.tabindex]":"tabIndex","[attr.disabled]":"disabled || null",class:"mc-select","[class.mc-disabled]":"disabled","[class.mc-invalid]":"errorState","(keydown)":"handleKeydown($event)","(focus)":"onFocus()","(blur)":"onBlur()","(window:resize)":"calculateHiddenItems()"},animations:[r.mcSelectAnimations.transformPanel,r.mcSelectAnimations.fadeInContent],providers:[{provide:o.McFormFieldControl,useExisting:k},{provide:r.MC_OPTION_PARENT_COMPONENT,useExisting:k}],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}.mc-select{box-sizing:border-box;display:inline-block;width:100%;outline:none}.mc-select .mc-select__trigger{display:flex;box-sizing:border-box;position:relative;height:var(--mc-select-size-height,30px);cursor:pointer;padding-left:calc(var(--mc-select-size-left-padding, 16px) - var(--mc-form-field-size-border-width, 1px));padding-right:calc(var(--mc-select-size-right-padding, 8px) - var(--mc-form-field-size-border-width, 1px))}.mc-select .mc-select__trigger.mc-select__trigger_multiple{padding-left:calc(var(--mc-select-size-left-padding-multiple, 8px) - var(--mc-form-field-size-border-width, 1px))}.mc-select .mc-select__trigger.mc-select__trigger_multiple .mc-tag.mc-disabled .mc-tag__text{margin-right:7px}.mc-select.mc-disabled .mc-select__trigger{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.mc-select__no-options-message{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;position:relative;max-width:100%;height:var(--mc-option-size-height,32px);cursor:default;outline:none;padding-left:var(--mc-option-size-horizontal-padding,16px);padding-right:var(--mc-option-size-horizontal-padding,16px)}.mc-select__matcher{display:flex;align-items:center;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mc-select__matcher>span{width:100%}.mc-select__match-list{display:flex;flex-wrap:wrap;overflow:hidden;max-height:calc(var(--mc-select-size-height, 30px) - var(--mc-select-panel-size-border-width, 1px))}.mc-select__match-list .mc-tag{margin-right:4px}.mc-select__match-container{display:flex;flex-direction:row;justify-content:space-between;width:100%}.mc-select__match-container .mc-select__match-hidden-text{flex:0 0 70px;align-self:center;padding:0 8px;text-align:right}.mc-select__arrow-wrapper{align-self:center}.mc-form-field-appearance-fill .mc-select__arrow-wrapper,.mc-form-field-appearance-standard .mc-select__arrow-wrapper{transform:translateY(-50%)}.mc-form-field-appearance-outline .mc-select__arrow-wrapper{transform:translateY(-25%)}.mc-select__panel{min-width:100%;max-width:var(--mc-select-panel-size-max-width,640px);overflow:hidden;border-width:var(--mc-select-panel-size-border-width,1px);border-style:solid;border-bottom-left-radius:var(--mc-select-panel-size-border-radius,3px);border-bottom-right-radius:var(--mc-select-panel-size-border-radius,3px)}.mc-select__panel .mc-optgroup-label,.mc-select__panel .mc-option{font-size:inherit;line-height:var(--mc-option-size-height,32px);height:var(--mc-option-size-height,32px)}.mc-select__content{max-height:var(--mc-select-panel-size-max-height,232px);padding:var(--mc-select-panel-size-vertical-padding,4px) 0;overflow:auto}.mc-select__content .cdk-virtual-scroll-viewport{min-height:var(--mc-select-panel-size-max-height,232px)-8px;max-height:var(--mc-select-panel-size-max-height,232px)-8px}.mc-form-field-type-select:not(.mc-disabled) .mc-form-field-flex{cursor:pointer}.mc-select__search-container{border-bottom-width:1px;border-bottom-style:solid}"]}]}],k.ctorParameters=function(){return[{type:n.ChangeDetectorRef},{type:n.NgZone},{type:n.Renderer2},{type:r.ErrorStateMatcher},{type:n.ElementRef},{type:Array,decorators:[{type:n.Optional},{type:n.Inject,args:[h.NG_VALIDATORS]}]},{type:c.Directionality,decorators:[{type:n.Optional}]},{type:h.NgForm,decorators:[{type:n.Optional}]},{type:h.FormGroupDirective,decorators:[{type:n.Optional}]},{type:o.McFormField,decorators:[{type:n.Optional}]},{type:h.NgControl,decorators:[{type:n.Self},{type:n.Optional}]},{type:h.NgModel,decorators:[{type:n.Optional},{type:n.Self}]},{type:h.FormControlName,decorators:[{type:n.Optional},{type:n.Self}]},{type:void 0,decorators:[{type:n.Inject,args:[r.MC_SELECT_SCROLL_STRATEGY]}]},{type:void 0,decorators:[{type:n.Optional},{type:n.Inject,args:[r.MC_VALIDATION]}]}]},k.propDecorators={trigger:[{type:n.ViewChild,args:["trigger",{static:!1}]}],panel:[{type:n.ViewChild,args:["panel",{static:!1}]}],optionsContainer:[{type:n.ViewChild,args:["optionsContainer",{static:!1}]}],overlayDir:[{type:n.ViewChild,args:[t.CdkConnectedOverlay,{static:!1}]}],tags:[{type:n.ViewChildren,args:[a.McTag]}],customTrigger:[{type:n.ContentChild,args:[O,{static:!1}]}],cleaner:[{type:n.ContentChild,args:["mcSelectCleaner",{static:!0}]}],options:[{type:n.ContentChildren,args:[r.McOption,{descendants:!0}]}],optionGroups:[{type:n.ContentChildren,args:[r.McOptgroup]}],search:[{type:n.ContentChild,args:[S,{static:!1}]}],hiddenItemsText:[{type:n.Input}],panelClass:[{type:n.Input}],backdropClass:[{type:n.Input}],errorStateMatcher:[{type:n.Input}],sortComparator:[{type:n.Input}],openedChange:[{type:n.Output}],openedStream:[{type:n.Output,args:["opened"]}],closedStream:[{type:n.Output,args:["closed"]}],selectionChange:[{type:n.Output}],valueChange:[{type:n.Output}],hasBackdrop:[{type:n.Input}],placeholder:[{type:n.Input}],required:[{type:n.Input}],multiple:[{type:n.Input}],compareWith:[{type:n.Input}],value:[{type:n.Input}],id:[{type:n.Input}],hiddenItemsTextFormatter:[{type:n.Input}]};var M=function(){};M.decorators=[{type:n.NgModule,args:[{imports:[i.CommonModule,t.OverlayModule,r.McOptionModule,s.McIconModule,a.McTagsModule],exports:[o.McFormFieldModule,k,S,w,O,r.McOptionModule,i.CommonModule],declarations:[k,S,w,O],providers:[r.MC_SELECT_SCROLL_STRATEGY_PROVIDER]}]}],e.McSelect=k,e.McSelectBase=x,e.McSelectChange=C,e.McSelectModule=M,e.McSelectSearch=S,e.McSelectSearchEmptyResult=w,e.McSelectTrigger=O,Object.defineProperty(e,"__esModule",{value:!0})}));
16
- //# sourceMappingURL=ptsecurity-mosaic-select.umd.min.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","../../../packages/mosaic/select/select.component.ts","../../../packages/mosaic/select/select.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","create","__read","o","n","m","Symbol","iterator","r","e","i","ar","next","done","push","value","error","__spread","arguments","length","concat","nextUniqueId","source","this","McSelectSearch","formField","searchChangesSubscription","Subscription","isSearchChanged","canCleanerClearByEsc","focus","input","reset","ngControl","ngAfterContentInit","_this","Error","Promise","resolve","then","valueChanges","subscribe","ngOnDestroy","unsubscribe","handleKeydown","event","keyCode","ESCAPE","stopPropagation","SPACE","HOME","END","includes","Directive","args","selector","exportAs","host","(keydown)","McFormField","ContentChild","McInput","static","elementRef","defaultErrorStateMatcher","parentForm","parentFormGroup","McSelect","_changeDetectorRef","_ngZone","_renderer","rawValidators","_dir","_parentFormField","ngModel","formControlName","_scrollStrategyFactory","mcValidation","_super","controlType","hiddenItems","triggerFontSize","previousSelectionModelSelected","transformOrigin","panelDoneAnimatingStream","Subject","scrollStrategy","offsetY","positions","originX","originY","overlayX","overlayY","hiddenItemsText","backdropClass","optionSelectionChanges","defer","options","merge","apply","map","option","onSelectionChange","selectionModel","selected","onStable","asObservable","pipe","take","switchMap","openedChange","EventEmitter","openedStream","filter","closedStream","selectionChange","valueChange","_hasBackdrop","_required","_multiple","_focused","panelOpen","closeSubscription","EMPTY","scrollTop","uid","destroy","onChange","onTouched","_compareWith","o1","o2","valueAccessor","id","TypeError","String","__","constructor","__extends","defineProperty","coerceBooleanProperty","_placeholder","stateChanges","getMcSelectDynamicMultipleError","fn","getMcSelectNonFunctionValueError","initializeSelection","_value","newValue","writeValue","_id","search","cleaner","hasValue","multiple","empty","viewValue","selectedOptions","isRtl","reverse","isEmpty","ngOnInit","SelectionModel","distinctUntilChanged","takeUntil","emit","markForCheck","useValidation","setMosaicValidation","initKeyManager","changed","added","forEach","select","removed","deselect","changes","startWith","resetOptions","ngAfterViewInit","tags","setTimeout","calculateHiddenItems","ngDoCheck","updateErrorState","ngOnChanges","disabled","complete","hiddenItemsTextFormatter","clearValue","$event","clear","keyManager","setActiveItem","propagateChanges","resetSearch","toggle","close","open","_a","triggerRect","trigger","nativeElement","getBoundingClientRect","parseInt","getComputedStyle","withHorizontalOrientation","highlightCorrectOption","scrollActiveOptionIntoView","overlayDir","overlayRef","overlayElement","style","fontSize","setSelectionByValue","registerOnChange","registerOnTouched","setDisabledState","isDisabled","handleOpenKeydown","handleClosedKeydown","onFocus","onBlur","onAttached","positionChange","detectChanges","setOverlayPosition","optionsContainer","updateScrollSize","closingActions","getPanelTheme","color","onContainerClick","onRemoveMatcherItem","customTrigger","visibleItems","totalItemsWidth","getTotalItemsWidthInMatcher","totalVisibleItemsWidth","tag","offsetTop","offsetHeight","getItemWidth","itemsCounter","querySelector","matcherList","itemsCounterShowed","matcherListWidth","width","matcherWidth","getItemHeight","first","getHeight","outsidePointerEvents","contains","target","detachments","getHeightOfOptionsContainer","getClientRects","height","withScrollSize","Math","floor","triggerClone","cloneNode","remove","setStyle","appendChild","querySelectorAll","item","element","computedStyle","window","marginLeft","marginRight","isArrowKey","DOWN_ARROW","UP_ARROW","LEFT_ARROW","RIGHT_ARROW","ENTER","altKey","preventDefault","onKeydown","setFirstItemActive","setLastItemActive","PAGE_UP","setPreviousPageItemActive","PAGE_DOWN","setNextPageItemActive","activeItem","A","ctrlKey","hasDeselectedOptions_1","some","previouslyFocusedIndex","activeItemIndex","shiftKey","selectViaInteraction","isArray","getMcSelectNonArrayValueError","currentValue","selectValue","sortValues","correspondingOption","getCorrespondOption","toArray","find","compareWith","isDevMode","console","warn","ActiveDescendantKeyManager","withTypeAhead","withVerticalOrientation","tabOut","change","panel","changedOrDestroyed","onSelect","isUserInput","updateActiveItem","wasSelected","isSelected","options_1","sort","a","sortComparator","indexOf","fallbackValue","valueToEmit","McSelectChange","resetOverlay","offsetX","overlayMaxWidth","overlayRect","getOverlayRect","windowWidth","getOverlayWidth","paddingWidth","SELECT_PANEL_PADDING_X","group","SELECT_PANEL_INDENT_PADDING_X","leftOverflow","left","rightOverflow","right","_b","calculateOverlayXPosition","maxWidth","round","updatePosition","basicOffsetX","maxDropdownWidth","leftIndent","rightIndent","isRightDirection","triggerWidth","SELECT_PANEL_VIEWPORT_PADDING","leftOffset","_overlayRef","hostElement","clientWidth","mixinTabIndex","mixinDisabled","mixinErrorState","McSelectBase","Component","template","inputs","encapsulation","ViewEncapsulation","None","changeDetection","ChangeDetectionStrategy","OnPush","[attr.id]","[attr.tabindex]","[attr.disabled]","class","[class.mc-disabled]","[class.mc-invalid]","(focus)","(blur)","(window:resize)","animations","mcSelectAnimations","transformPanel","fadeInContent","providers","provide","McFormFieldControl","useExisting","MC_OPTION_PARENT_COMPONENT","ChangeDetectorRef","NgZone","Renderer2","ErrorStateMatcher","ElementRef","Optional","type","Inject","NG_VALIDATORS","Directionality","decorators","NgForm","FormGroupDirective","NgControl","Self","NgModel","FormControlName","MC_SELECT_SCROLL_STRATEGY","MC_VALIDATION","ViewChild","CdkConnectedOverlay","ViewChildren","McTag","McSelectTrigger","ContentChildren","McOption","descendants","McOptgroup","Input","Output","NgModule","imports","CommonModule","OverlayModule","McOptionModule","McIconModule","McTagsModule","exports","McFormFieldModule","McSelectSearchEmptyResult","declarations","MC_SELECT_SCROLL_STRATEGY_PROVIDER"],"mappings":"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","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","/* tslint:disable:no-empty */\n\nimport { Directionality } from '@angular/cdk/bidi';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport { CdkConnectedOverlay } from '@angular/cdk/overlay';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n Directive,\n DoCheck,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n isDevMode,\n NgZone,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n QueryList,\n Renderer2,\n Self,\n SimpleChanges,\n ViewChild,\n ViewChildren,\n ViewEncapsulation\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n FormControlName,\n FormGroupDirective,\n NG_VALIDATORS,\n NgControl,\n NgForm,\n NgModel,\n Validator\n} from '@angular/forms';\nimport { ActiveDescendantKeyManager } from '@ptsecurity/cdk/a11y';\nimport {\n DOWN_ARROW,\n END,\n ENTER,\n HOME,\n LEFT_ARROW,\n RIGHT_ARROW,\n SPACE,\n UP_ARROW,\n A,\n ESCAPE,\n PAGE_UP,\n PAGE_DOWN\n} from '@ptsecurity/cdk/keycodes';\nimport {\n CanDisable,\n CanDisableCtor,\n CanUpdateErrorState,\n CanUpdateErrorStateCtor,\n ErrorStateMatcher,\n HasTabIndex,\n HasTabIndexCtor,\n MC_OPTION_PARENT_COMPONENT,\n McOptgroup,\n McOption,\n McOptionSelectionChange,\n mixinDisabled,\n mixinErrorState,\n mixinTabIndex,\n mcSelectAnimations,\n\n SELECT_PANEL_INDENT_PADDING_X,\n SELECT_PANEL_PADDING_X,\n SELECT_PANEL_VIEWPORT_PADDING,\n MC_SELECT_SCROLL_STRATEGY,\n\n getMcSelectDynamicMultipleError,\n getMcSelectNonFunctionValueError,\n getMcSelectNonArrayValueError,\n\n setMosaicValidation,\n MC_VALIDATION,\n McValidationOptions\n} from '@ptsecurity/mosaic/core';\nimport { McCleaner, McFormField, McFormFieldControl } from '@ptsecurity/mosaic/form-field';\nimport { McInput } from '@ptsecurity/mosaic/input';\nimport { McTag } from '@ptsecurity/mosaic/tags';\nimport { defer, merge, Observable, Subject, Subscription } from 'rxjs';\nimport {\n filter,\n map,\n startWith,\n switchMap,\n take,\n takeUntil,\n distinctUntilChanged\n} from 'rxjs/operators';\n\n\nlet nextUniqueId = 0;\n\n/** Change event object that is emitted when the select value has changed. */\nexport class McSelectChange {\n constructor(public source: McSelect, public value: any) {}\n}\n\n@Directive({\n selector: '[mcSelectSearch]',\n exportAs: 'mcSelectSearch',\n host: {\n '(keydown)': 'handleKeydown($event)'\n }\n})\nexport class McSelectSearch implements AfterContentInit, OnDestroy {\n @ContentChild(McInput, { static: false }) input: McInput;\n\n searchChangesSubscription: Subscription = new Subscription();\n\n isSearchChanged: boolean = false;\n\n constructor(formField: McFormField) {\n formField.canCleanerClearByEsc = false;\n }\n\n focus(): void {\n this.input.focus();\n }\n\n reset(): void {\n this.input.ngControl.reset();\n }\n\n ngAfterContentInit(): void {\n if (!this.input) {\n throw Error('McSelectSearch does not work without mcInput');\n }\n\n if (!this.input.ngControl) {\n throw Error('McSelectSearch does not work without ngControl');\n }\n\n Promise.resolve().then(() => {\n this.searchChangesSubscription = this.input.ngControl.valueChanges!.subscribe(() => {\n this.isSearchChanged = true;\n });\n });\n }\n\n ngOnDestroy(): void {\n this.searchChangesSubscription.unsubscribe();\n }\n\n handleKeydown(event: KeyboardEvent) {\n // tslint:disable-next-line:deprecation\n if (event.keyCode === ESCAPE) {\n if (this.input.value) {\n this.reset();\n event.stopPropagation();\n }\n }\n\n // tslint:disable-next-line:deprecation\n if ([SPACE, HOME, END].includes(event.keyCode)) {\n event.stopPropagation();\n }\n }\n}\n\n@Directive({\n selector: '[mc-select-search-empty-result]',\n exportAs: 'mcSelectSearchEmptyResult'\n})\nexport class McSelectSearchEmptyResult {}\n\n\n@Directive({ selector: 'mc-select-trigger' })\nexport class McSelectTrigger {}\n\n\nexport class McSelectBase {\n constructor(\n public elementRef: ElementRef,\n public defaultErrorStateMatcher: ErrorStateMatcher,\n public parentForm: NgForm,\n public parentFormGroup: FormGroupDirective,\n public ngControl: NgControl\n ) {}\n}\n\n// tslint:disable-next-line:naming-convention\nconst McSelectMixinBase: CanDisableCtor & HasTabIndexCtor & CanUpdateErrorStateCtor &\n typeof McSelectBase = mixinTabIndex(mixinDisabled(mixinErrorState(McSelectBase)));\n\n\n@Component({\n selector: 'mc-select',\n exportAs: 'mcSelect',\n templateUrl: 'select.html',\n styleUrls: ['./select.scss'],\n inputs: ['disabled', 'tabIndex'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.id]': 'id',\n '[attr.tabindex]': 'tabIndex',\n '[attr.disabled]': 'disabled || null',\n\n class: 'mc-select',\n '[class.mc-disabled]': 'disabled',\n '[class.mc-invalid]': 'errorState',\n\n '(keydown)': 'handleKeydown($event)',\n '(focus)': 'onFocus()',\n '(blur)': 'onBlur()',\n '(window:resize)': 'calculateHiddenItems()'\n },\n animations: [\n mcSelectAnimations.transformPanel,\n mcSelectAnimations.fadeInContent\n ],\n providers: [\n { provide: McFormFieldControl, useExisting: McSelect },\n { provide: MC_OPTION_PARENT_COMPONENT, useExisting: McSelect }\n ]\n})\nexport class McSelect extends McSelectMixinBase implements\n AfterContentInit, AfterViewInit, OnChanges, OnDestroy, OnInit, DoCheck, ControlValueAccessor, CanDisable,\n HasTabIndex, McFormFieldControl<any>, CanUpdateErrorState {\n\n /** A name for this control that can be used by `mc-form-field`. */\n controlType = 'select';\n\n hiddenItems: number = 0;\n\n /** The last measured value for the trigger's client bounding rect. */\n triggerRect: ClientRect;\n\n /** The cached font-size of the trigger element. */\n triggerFontSize = 0;\n\n /** Deals with the selection logic. */\n selectionModel: SelectionModel<McOption>;\n\n previousSelectionModelSelected: McOption[] = [];\n\n /** Manages keyboard events for options in the panel. */\n keyManager: ActiveDescendantKeyManager<McOption>;\n\n /** The value of the select panel's transform-origin property. */\n transformOrigin: string = 'top';\n\n /** Emits when the panel element is finished transforming in. */\n panelDoneAnimatingStream = new Subject<string>();\n\n /** Strategy that will be used to handle scrolling while the select panel is open. */\n scrollStrategy = this._scrollStrategyFactory();\n\n /**\n * The y-offset of the overlay panel in relation to the trigger's top start corner.\n * This must be adjusted to align the selected option text over the trigger text.\n * when the panel opens. Will change based on the y-position of the selected option.\n */\n offsetY = 0;\n\n /**\n * This position config ensures that the top \"start\" corner of the overlay\n * is aligned with with the top \"start\" of the origin by default (overlapping\n * the trigger completely). If the panel cannot fit below the trigger, it\n * will fall back to a position above the trigger.\n */\n positions = [\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top'\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom'\n }\n ];\n\n @ViewChild('trigger', { static: false }) trigger: ElementRef;\n\n @ViewChild('panel', { static: false }) panel: ElementRef;\n\n @ViewChild('optionsContainer', { static: false }) optionsContainer: ElementRef;\n\n @ViewChild(CdkConnectedOverlay, { static: false }) overlayDir: CdkConnectedOverlay;\n\n @ViewChildren(McTag) tags: QueryList<McTag>;\n\n /** User-supplied override of the trigger element. */\n @ContentChild(McSelectTrigger, { static: false }) customTrigger: McSelectTrigger;\n\n @ContentChild('mcSelectCleaner', { static: true }) cleaner: McCleaner;\n\n /** All of the defined select options. */\n @ContentChildren(McOption, { descendants: true }) options: QueryList<McOption>;\n\n /** All of the defined groups of options. */\n @ContentChildren(McOptgroup) optionGroups: QueryList<McOptgroup>;\n\n @ContentChild(McSelectSearch, { static: false }) search: McSelectSearch;\n\n @Input() hiddenItemsText: string = '...ещё';\n\n /** Classes to be passed to the select panel. Supports the same syntax as `ngClass`. */\n @Input() panelClass: string | string[] | Set<string> | { [key: string]: any };\n\n @Input() backdropClass: string = 'cdk-overlay-transparent-backdrop';\n\n /** Object used to control when error messages are shown. */\n @Input() errorStateMatcher: ErrorStateMatcher;\n\n /**\n * Function used to sort the values in a select in multiple mode.\n * Follows the same logic as `Array.prototype.sort`.\n */\n @Input() sortComparator: (a: McOption, b: McOption, options: McOption[]) => number;\n\n /** Combined stream of all of the child options' change events. */\n readonly optionSelectionChanges: Observable<McOptionSelectionChange> = defer(() => {\n if (this.options) {\n return merge(\n ...this.options.map((option) => option.onSelectionChange),\n ...this.selectionModel.selected.map((option) => option.onSelectionChange)\n );\n }\n\n return this._ngZone.onStable\n .asObservable()\n .pipe(take(1), switchMap(() => this.optionSelectionChanges));\n }) as Observable<McOptionSelectionChange>;\n\n /** Event emitted when the select panel has been toggled. */\n @Output() readonly openedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** Event emitted when the select has been opened. */\n @Output('opened') readonly openedStream: Observable<void> =\n this.openedChange.pipe(filter((o) => o), map(() => {}));\n\n /** Event emitted when the select has been closed. */\n @Output('closed') readonly closedStream: Observable<void> =\n this.openedChange.pipe(filter((o) => !o), map(() => {}));\n\n /** Event emitted when the selected value has been changed by the user. */\n @Output() readonly selectionChange: EventEmitter<McSelectChange> = new EventEmitter<McSelectChange>();\n\n /**\n * Event that emits whenever the raw value of the select changes. This is here primarily\n * to facilitate the two-way binding for the `value` input.\n * @docs-private\n */\n @Output() readonly valueChange: EventEmitter<any> = new EventEmitter<any>();\n\n @Input()\n get hasBackdrop(): boolean {\n return this._hasBackdrop;\n }\n\n set hasBackdrop(value: boolean) {\n this._hasBackdrop = coerceBooleanProperty(value);\n }\n\n private _hasBackdrop: boolean = false;\n\n @Input()\n get placeholder(): string {\n return this._placeholder;\n }\n\n set placeholder(value: string) {\n this._placeholder = value;\n\n this.stateChanges.next();\n }\n\n private _placeholder: string;\n\n @Input()\n get required(): boolean {\n return this._required;\n }\n\n set required(value: boolean) {\n this._required = coerceBooleanProperty(value);\n\n this.stateChanges.next();\n }\n\n private _required: boolean = false;\n\n @Input()\n get multiple(): boolean {\n return this._multiple;\n }\n\n set multiple(value: boolean) {\n if (this.selectionModel) {\n throw getMcSelectDynamicMultipleError();\n }\n\n this._multiple = coerceBooleanProperty(value);\n }\n\n private _multiple: boolean = false;\n\n /**\n * Function to compare the option values with the selected values. The first argument\n * is a value from an option. The second is a value from the selection. A boolean\n * should be returned.\n */\n @Input()\n get compareWith() {\n return this._compareWith;\n }\n\n set compareWith(fn: (o1: any, o2: any) => boolean) {\n /* tslint:disable-next-line:strict-type-predicates */\n if (typeof fn !== 'function') {\n throw getMcSelectNonFunctionValueError();\n }\n\n this._compareWith = fn;\n\n if (this.selectionModel) {\n // A different comparator means the selection could change.\n this.initializeSelection();\n }\n }\n\n /** Value of the select control. */\n @Input()\n get value(): any {\n return this._value;\n }\n\n set value(newValue: any) {\n if (newValue !== this._value) {\n this.writeValue(newValue);\n this._value = newValue;\n }\n }\n\n private _value: any;\n\n @Input()\n get id(): string {\n return this._id;\n }\n\n set id(value: string) {\n this._id = value || this.uid;\n this.stateChanges.next();\n }\n\n private _id: string;\n\n /** Whether the select is focused. */\n get focused(): boolean {\n return this._focused || this.panelOpen;\n }\n\n set focused(value: boolean) {\n this._focused = value;\n }\n\n private _focused = false;\n\n panelOpen = false;\n\n get isEmptySearchResult(): boolean {\n return this.search && this.options.length === 0 && !!this.search.input.value;\n }\n\n get canShowCleaner(): boolean {\n return this.cleaner && this.selectionModel.hasValue();\n }\n\n get selected(): McOption | McOption[] {\n return this.multiple ? this.selectionModel.selected : this.selectionModel.selected[0];\n }\n\n get triggerValue(): string {\n if (this.empty) { return ''; }\n\n return this.selectionModel.selected[0].viewValue;\n }\n\n get triggerValues(): McOption[] {\n if (this.empty) { return []; }\n\n const selectedOptions = this.selectionModel.selected;\n\n if (this.isRtl()) { selectedOptions.reverse(); }\n\n return selectedOptions;\n }\n\n get empty(): boolean {\n return !this.selectionModel || this.selectionModel.isEmpty();\n }\n\n private closeSubscription = Subscription.EMPTY;\n\n /** The scroll position of the overlay panel, calculated to center the selected option. */\n private scrollTop = 0;\n\n /** Unique id for this input. */\n private readonly uid = `mc-select-${nextUniqueId++}`;\n\n /** Emits whenever the component is destroyed. */\n private readonly destroy = new Subject<void>();\n\n constructor(\n private readonly _changeDetectorRef: ChangeDetectorRef,\n private readonly _ngZone: NgZone,\n private readonly _renderer: Renderer2,\n defaultErrorStateMatcher: ErrorStateMatcher,\n elementRef: ElementRef,\n @Optional() @Inject(NG_VALIDATORS) public rawValidators: Validator[],\n @Optional() private readonly _dir: Directionality,\n @Optional() parentForm: NgForm,\n @Optional() parentFormGroup: FormGroupDirective,\n @Optional() private readonly _parentFormField: McFormField,\n @Self() @Optional() ngControl: NgControl,\n @Optional() @Self() public ngModel: NgModel,\n @Optional() @Self() public formControlName: FormControlName,\n @Inject(MC_SELECT_SCROLL_STRATEGY) private readonly _scrollStrategyFactory,\n @Optional() @Inject(MC_VALIDATION) private mcValidation: McValidationOptions\n ) {\n super(elementRef, defaultErrorStateMatcher, parentForm, parentFormGroup, ngControl);\n\n if (this.ngControl) {\n // Note: we provide the value accessor through here, instead of\n // the `providers` to avoid running into a circular import.\n this.ngControl.valueAccessor = this;\n }\n\n // Force setter to be called in case id was not specified.\n this.id = this.id;\n }\n\n ngOnInit() {\n this.selectionModel = new SelectionModel<McOption>(this.multiple);\n this.stateChanges.next();\n\n // We need `distinctUntilChanged` here, because some browsers will\n // fire the animation end event twice for the same animation. See:\n // https://github.com/angular/angular/issues/24084\n this.panelDoneAnimatingStream\n .pipe(distinctUntilChanged(), takeUntil(this.destroy))\n .subscribe(() => {\n if (this.panelOpen) {\n this.scrollTop = 0;\n\n if (this.search) { this.search.focus(); }\n\n this.openedChange.emit(true);\n } else {\n this.openedChange.emit(false);\n this._changeDetectorRef.markForCheck();\n }\n });\n }\n\n ngAfterContentInit() {\n if (this.mcValidation.useValidation) {\n setMosaicValidation(this);\n }\n\n this.initKeyManager();\n\n this.selectionModel.changed\n .pipe(takeUntil(this.destroy))\n .subscribe((event) => {\n event.added.forEach((option) => option.select());\n event.removed.forEach((option) => option.deselect());\n });\n\n this.options.changes\n .pipe(startWith(null), takeUntil(this.destroy))\n .subscribe(() => {\n this.resetOptions();\n this.initializeSelection();\n });\n }\n\n ngAfterViewInit(): void {\n this.tags.changes\n .subscribe(() => {\n setTimeout(() => this.calculateHiddenItems(), 0);\n });\n }\n\n ngDoCheck() {\n if (this.ngControl) { this.updateErrorState(); }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n // Updating the disabled state is handled by `mixinDisabled`, but we need to additionally let\n // the parent form field know to run change detection when the disabled state changes.\n if (changes.disabled) {\n this.stateChanges.next();\n }\n }\n\n ngOnDestroy() {\n this.destroy.next();\n this.destroy.complete();\n this.stateChanges.complete();\n this.closeSubscription.unsubscribe();\n }\n\n @Input()\n hiddenItemsTextFormatter(hiddenItemsText: string, hiddenItems: number): string {\n return `${hiddenItemsText} ${hiddenItems}`;\n }\n\n clearValue($event): void {\n $event.stopPropagation();\n\n this.selectionModel.clear();\n this.keyManager.setActiveItem(-1);\n\n this.propagateChanges();\n }\n\n /** `View -> model callback called when value changes` */\n onChange: (value: any) => void = () => {};\n\n /** `View -> model callback called when select has been touched` */\n onTouched = () => {};\n\n resetSearch(): void {\n if (!this.search) { return; }\n\n this.search.reset();\n /*\n todo the incorrect behaviour of keyManager is possible here\n to avoid first item selection (to provide correct options flipping on closed select)\n we should process options update like it is the first options appearance\n */\n this.search.isSearchChanged = false;\n }\n\n /** Toggles the overlay panel open or closed. */\n toggle(): void {\n if (this.panelOpen) {\n this.close();\n } else {\n this.open();\n }\n }\n\n /** Opens the overlay panel. */\n open(): void {\n if (this.disabled || !this.options?.length || this.panelOpen) { return; }\n\n this.triggerRect = this.trigger.nativeElement.getBoundingClientRect();\n // Note: The computed font-size will be a string pixel value (e.g. \"16px\").\n // `parseInt` ignores the trailing 'px' and converts this to a number.\n this.triggerFontSize = parseInt(getComputedStyle(this.trigger.nativeElement)['font-size']);\n\n this.panelOpen = true;\n\n this.keyManager.withHorizontalOrientation(null);\n this.highlightCorrectOption();\n this._changeDetectorRef.markForCheck();\n\n // Set the font size on the panel element once it exists.\n this._ngZone.onStable.asObservable()\n .pipe(take(1))\n .subscribe(() => {\n this.scrollActiveOptionIntoView();\n\n if (this.triggerFontSize && this.overlayDir.overlayRef && this.overlayDir.overlayRef.overlayElement) {\n this.overlayDir.overlayRef.overlayElement.style.fontSize = `${this.triggerFontSize}px`;\n }\n });\n }\n\n /** Closes the overlay panel and focuses the host element. */\n close(): void {\n if (!this.panelOpen) { return; }\n\n // the order of calls is important\n this.resetSearch();\n this.panelOpen = false;\n this.keyManager.withHorizontalOrientation(this.isRtl() ? 'rtl' : 'ltr');\n\n this._changeDetectorRef.markForCheck();\n this.onTouched();\n }\n\n /**\n * Sets the select's value. Part of the ControlValueAccessor interface\n * required to integrate with Angular's core forms API.\n *\n * @param value New value to be written to the model.\n */\n writeValue(value: any): void {\n if (this.options) {\n this.setSelectionByValue(value);\n }\n }\n\n /**\n * Saves a callback function to be invoked when the select's value\n * changes from user input. Part of the ControlValueAccessor interface\n * required to integrate with Angular's core forms API.\n *\n * @param fn Callback to be triggered when the value changes.\n */\n registerOnChange(fn: (value: any) => void): void {\n this.onChange = fn;\n }\n\n /**\n * Saves a callback function to be invoked when the select is blurred\n * by the user. Part of the ControlValueAccessor interface required\n * to integrate with Angular's core forms API.\n *\n * @param fn Callback to be triggered when the component has been touched.\n */\n registerOnTouched(fn: () => {}): void {\n this.onTouched = fn;\n }\n\n /**\n * Disables the select. Part of the ControlValueAccessor interface required\n * to integrate with Angular's core forms API.\n *\n * @param isDisabled Sets whether the component is disabled.\n */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this._changeDetectorRef.markForCheck();\n this.stateChanges.next();\n }\n\n isRtl(): boolean {\n return this._dir ? this._dir.value === 'rtl' : false;\n }\n\n handleKeydown(event: KeyboardEvent): void {\n if (this.disabled) { return; }\n\n if (this.panelOpen) {\n this.handleOpenKeydown(event);\n } else {\n this.handleClosedKeydown(event);\n }\n }\n\n onFocus() {\n if (!this.disabled) {\n this._focused = true;\n\n this.stateChanges.next();\n }\n }\n\n /**\n * Calls the touched callback only if the panel is closed. Otherwise, the trigger will\n * \"blur\" to the panel when it opens, causing a false positive.\n */\n onBlur() {\n this._focused = false;\n\n if (!this.disabled && !this.panelOpen) {\n this.onTouched();\n this._changeDetectorRef.markForCheck();\n this.stateChanges.next();\n }\n }\n\n /**\n * Callback that is invoked when the overlay panel has been attached.\n */\n onAttached(): void {\n this.overlayDir.positionChange\n .pipe(take(1))\n .subscribe(() => {\n this._changeDetectorRef.detectChanges();\n this.setOverlayPosition();\n this.optionsContainer.nativeElement.scrollTop = this.scrollTop;\n\n this.updateScrollSize();\n });\n\n this.closeSubscription = this.closingActions()\n .subscribe(() => this.close());\n }\n\n /** Returns the theme to be used on the panel. */\n getPanelTheme(): string {\n return this._parentFormField ? `mc-${this._parentFormField.color}` : '';\n }\n\n /** Focuses the select element. */\n focus(): void {\n this.elementRef.nativeElement.focus();\n }\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n onContainerClick() {\n this.focus();\n }\n\n /** Invoked when an option is clicked. */\n onRemoveMatcherItem(option: McOption, $event): void {\n $event.stopPropagation();\n\n option.deselect();\n }\n\n calculateHiddenItems(): void {\n if (this.customTrigger || this.empty || !this.multiple) { return; }\n\n let visibleItems: number = 0;\n const totalItemsWidth = this.getTotalItemsWidthInMatcher();\n let totalVisibleItemsWidth: number = 0;\n\n this.tags.forEach((tag) => {\n if (tag.nativeElement.offsetTop < tag.nativeElement.offsetHeight) {\n totalVisibleItemsWidth += this.getItemWidth(tag.nativeElement);\n visibleItems++;\n }\n });\n\n this.hiddenItems = (this.selected as ArrayLike<McOption>).length - visibleItems;\n\n if (this.hiddenItems) {\n const itemsCounter = this.trigger.nativeElement.querySelector('.mc-select__match-hidden-text');\n const matcherList = this.trigger.nativeElement.querySelector('.mc-select__match-list');\n\n const itemsCounterShowed = itemsCounter.offsetTop < itemsCounter.offsetHeight;\n // const itemsCounterWidth: number = itemsCounter.getBoundingClientRect().width;\n const itemsCounterWidth: number = 86;\n\n const matcherListWidth: number = matcherList.getBoundingClientRect().width;\n const matcherWidth: number = matcherListWidth + itemsCounterWidth;\n\n if (itemsCounterShowed && (totalItemsWidth < matcherWidth)) { this.hiddenItems = 0; }\n\n if (\n totalVisibleItemsWidth === matcherListWidth ||\n (totalVisibleItemsWidth + itemsCounterWidth) < matcherListWidth\n ) {\n this._changeDetectorRef.markForCheck();\n\n return ;\n } else if (!itemsCounterShowed && (totalItemsWidth + itemsCounterWidth) > matcherWidth) {\n this.hiddenItems++;\n }\n }\n\n this._changeDetectorRef.markForCheck();\n }\n\n getItemHeight(): number {\n return this.options.first ? this.options.first.getHeight() : 0;\n }\n\n private closingActions() {\n return merge(\n this.overlayDir.overlayRef!.outsidePointerEvents()\n .pipe(filter((event) => !this.elementRef.nativeElement.contains(event.target))),\n this.overlayDir.overlayRef!.detachments()\n );\n }\n\n private getHeightOfOptionsContainer(): number {\n return this.optionsContainer.nativeElement.getClientRects()[0].height;\n }\n\n private updateScrollSize(): void {\n if (!this.options.first) { return; }\n\n this.keyManager.withScrollSize(\n Math.floor(this.getHeightOfOptionsContainer() / this.options.first.getHeight())\n );\n }\n\n private getTotalItemsWidthInMatcher(): number {\n const triggerClone = this.trigger.nativeElement.cloneNode(true);\n triggerClone.querySelector('.mc-select__match-hidden-text').remove();\n\n this._renderer.setStyle(triggerClone, 'position', 'absolute');\n this._renderer.setStyle(triggerClone, 'visibility', 'hidden');\n this._renderer.setStyle(triggerClone, 'top', '-100%');\n this._renderer.setStyle(triggerClone, 'left', '0');\n\n this._renderer.appendChild(this.trigger.nativeElement, triggerClone);\n\n let totalItemsWidth: number = 0;\n triggerClone.querySelectorAll('mc-tag').forEach((item) => {\n totalItemsWidth += this.getItemWidth(item);\n });\n\n triggerClone.remove();\n\n return totalItemsWidth;\n }\n\n private getItemWidth(element: HTMLElement): number {\n const computedStyle = window.getComputedStyle(element);\n\n const width: number = parseInt(computedStyle.width as string);\n const marginLeft: number = parseInt(computedStyle.marginLeft as string);\n const marginRight: number = parseInt(computedStyle.marginRight as string);\n\n return width + marginLeft + marginRight;\n }\n\n /** Handles keyboard events while the select is closed. */\n private handleClosedKeydown(event: KeyboardEvent): void {\n /* tslint:disable-next-line */\n const keyCode = event.keyCode;\n const isArrowKey = [DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW].includes(keyCode);\n const isOpenKey = [ENTER, SPACE].includes(keyCode);\n\n // Open the select on ALT + arrow key to match the native <select>\n if (isOpenKey || ((this.multiple || event.altKey) && isArrowKey)) {\n event.preventDefault(); // prevents the page from scrolling down when pressing space\n this.open();\n } else if (!this.multiple) {\n this.keyManager.onKeydown(event);\n }\n }\n\n /** Handles keyboard events when the selected is open. */\n private handleOpenKeydown(event: KeyboardEvent): void {\n /* tslint:disable-next-line */\n const keyCode = event.keyCode;\n const isArrowKey = keyCode === DOWN_ARROW || keyCode === UP_ARROW;\n\n if (isArrowKey && event.altKey) {\n // Close the select on ALT + arrow key to match the native <select>\n event.preventDefault();\n this.close();\n } else if (keyCode === HOME) {\n event.preventDefault();\n\n this.keyManager.setFirstItemActive();\n } else if (keyCode === END) {\n event.preventDefault();\n\n this.keyManager.setLastItemActive();\n } else if (keyCode === PAGE_UP) {\n event.preventDefault();\n\n this.keyManager.setPreviousPageItemActive();\n } else if (keyCode === PAGE_DOWN) {\n event.preventDefault();\n\n this.keyManager.setNextPageItemActive();\n } else if ((keyCode === ENTER || keyCode === SPACE) && this.keyManager.activeItem) {\n event.preventDefault();\n this.keyManager.activeItem.selectViaInteraction();\n } else if (this._multiple && keyCode === A && event.ctrlKey) {\n event.preventDefault();\n const hasDeselectedOptions = this.options.some((option) => !option.selected);\n this.options.forEach((option) => {\n if (hasDeselectedOptions && !option.disabled) {\n option.select();\n } else {\n option.deselect();\n }\n });\n } else {\n const previouslyFocusedIndex = this.keyManager.activeItemIndex;\n\n this.keyManager.onKeydown(event);\n\n if (this._multiple && isArrowKey && event.shiftKey && this.keyManager.activeItem &&\n this.keyManager.activeItemIndex !== previouslyFocusedIndex) {\n this.keyManager.activeItem.selectViaInteraction();\n }\n\n if (this.search) {\n this.search.focus();\n }\n }\n }\n\n private initializeSelection(): void {\n // Defer setting the value in order to avoid the \"Expression\n // has changed after it was checked\" errors from Angular.\n Promise.resolve().then(() => {\n this.setSelectionByValue(this.ngControl ? this.ngControl.value : this._value);\n });\n }\n\n /**\n * Sets the selected option based on a value. If no option can be\n * found with the designated value, the select trigger is cleared.\n */\n private setSelectionByValue(value: any | any[]): void {\n this.previousSelectionModelSelected = this.selectionModel.selected;\n\n if (this.multiple && value) {\n if (!Array.isArray(value)) {\n throw getMcSelectNonArrayValueError();\n }\n\n this.selectionModel.clear();\n value.forEach((currentValue: any) => this.selectValue(currentValue));\n this.sortValues();\n } else {\n this.selectionModel.clear();\n const correspondingOption = this.selectValue(value);\n\n // Shift focus to the active item. Note that we shouldn't do this in multiple\n // mode, because we don't know what option the user interacted with last.\n if (correspondingOption) {\n this.keyManager.setActiveItem(correspondingOption);\n }\n }\n\n this._changeDetectorRef.markForCheck();\n }\n\n private getCorrespondOption(value: any): McOption | undefined {\n return [\n ...this.options.toArray(),\n ...this.previousSelectionModelSelected\n ].find((option: McOption) => {\n try {\n // Treat null as a special reset value.\n return option.value != null && this.compareWith(option.value, value);\n } catch (error) {\n if (isDevMode()) {\n // Notify developers of errors in their comparator.\n console.warn(error);\n }\n\n return false;\n }\n });\n }\n\n /**\n * Finds and selects and option based on its value.\n * @returns Option that has the corresponding value.\n */\n private selectValue(value: any): McOption | undefined {\n const correspondingOption = this.getCorrespondOption(value);\n\n if (correspondingOption) {\n this.selectionModel.select(correspondingOption);\n }\n\n return correspondingOption;\n }\n\n /** Sets up a key manager to listen to keyboard events on the overlay panel. */\n private initKeyManager() {\n const typeAheadDebounce = 200;\n\n this.keyManager = new ActiveDescendantKeyManager<McOption>(this.options)\n .withTypeAhead(typeAheadDebounce, this.search ? -1 : 0)\n .withVerticalOrientation()\n .withHorizontalOrientation(this.isRtl() ? 'rtl' : 'ltr');\n\n this.keyManager.tabOut\n .pipe(takeUntil(this.destroy))\n .subscribe(() => {\n // Restore focus to the trigger before closing. Ensures that the focus\n // position won't be lost if the user got focus into the overlay.\n this.focus();\n this.close();\n });\n\n this.keyManager.change\n .pipe(takeUntil(this.destroy))\n .subscribe(() => {\n if (this.panelOpen && this.panel) {\n this.scrollActiveOptionIntoView();\n } else if (!this.panelOpen && !this.multiple && this.keyManager.activeItem) {\n this.keyManager.activeItem.selectViaInteraction();\n }\n });\n }\n\n /** Drops current option subscriptions and IDs and resets from scratch. */\n private resetOptions(): void {\n const changedOrDestroyed = merge(this.options.changes, this.destroy);\n\n this.optionSelectionChanges\n .pipe(takeUntil(changedOrDestroyed))\n .subscribe((event) => {\n this.onSelect(event.source, event.isUserInput);\n\n if (this.search && this.search.isSearchChanged) {\n Promise.resolve().then(() => this.keyManager.updateActiveItem(0));\n\n this.search.isSearchChanged = false;\n }\n\n if (event.isUserInput && !this.multiple && this.panelOpen) {\n this.close();\n this.focus();\n }\n });\n\n // Listen to changes in the internal state of the options and react accordingly.\n // Handles cases like the labels of the selected options changing.\n merge(...this.options.map((option) => option.stateChanges))\n .pipe(takeUntil(changedOrDestroyed))\n .subscribe(() => {\n this._changeDetectorRef.markForCheck();\n this.stateChanges.next();\n });\n }\n\n /** Invoked when an option is clicked. */\n private onSelect(option: McOption, isUserInput: boolean): void {\n const wasSelected = this.selectionModel.isSelected(option);\n\n if (option.value == null && !this._multiple) {\n option.deselect();\n this.selectionModel.clear();\n this.propagateChanges(option.value);\n } else {\n if (option.selected) {\n this.selectionModel.select(option);\n } else {\n this.selectionModel.deselect(option);\n }\n\n if (isUserInput) {\n this.keyManager.setActiveItem(option);\n }\n\n if (this.multiple) {\n this.sortValues();\n\n if (isUserInput) {\n // In case the user selected the option with their mouse, we\n // want to restore focus back to the trigger, in order to\n // prevent the select keyboard controls from clashing with\n // the ones from `mc-option`.\n // If search is avaliable then we focus search again.\n if (this.search) {\n this.search.focus();\n } else {\n this.focus();\n }\n }\n }\n }\n\n if (wasSelected !== this.selectionModel.isSelected(option)) {\n this.propagateChanges();\n }\n\n this.stateChanges.next();\n }\n\n /** Sorts the selected values in the selected based on their order in the panel. */\n private sortValues() {\n if (this.multiple) {\n const options = this.options.toArray();\n\n this.selectionModel.sort((a, b) => {\n return this.sortComparator ? this.sortComparator(a, b, options) :\n options.indexOf(a) - options.indexOf(b);\n });\n this.stateChanges.next();\n }\n }\n\n /** Emits change event to set the model value. */\n private propagateChanges(fallbackValue?: any): void {\n let valueToEmit: any = null;\n\n if (this.multiple) {\n valueToEmit = (this.selected as McOption[]).map((option) => option.value);\n } else {\n valueToEmit = this.selected ? (this.selected as McOption).value : fallbackValue;\n }\n\n this._value = valueToEmit;\n this.valueChange.emit(valueToEmit);\n this.onChange(valueToEmit);\n this.selectionChange.emit(new McSelectChange(this, valueToEmit));\n this._changeDetectorRef.markForCheck();\n }\n\n /**\n * Highlights the selected item. If no option is selected, it will highlight\n * the first item instead.\n */\n private highlightCorrectOption(): void {\n if (this.keyManager) {\n if (this.empty) {\n this.keyManager.setFirstItemActive();\n } else {\n this.keyManager.setActiveItem(this.selectionModel.selected[0]);\n }\n }\n }\n\n /** Scrolls the active option into view. */\n private scrollActiveOptionIntoView(): void {\n if (!this.keyManager.activeItem) { return; }\n\n this.keyManager.activeItem.focus();\n }\n\n /**\n * Sets the x-offset of the overlay panel in relation to the trigger's top start corner.\n * This must be adjusted to align the selected option text over the trigger text when\n * the panel opens. Will change based on LTR or RTL text direction. Note that the offset\n * can't be calculated until the panel has been attached, because we need to know the\n * content width in order to constrain the panel within the viewport.\n */\n private setOverlayPosition(): void {\n this.resetOverlay();\n\n const overlayRect = this.getOverlayRect();\n // Window width without scrollbar\n const windowWidth = this.getOverlayWidth();\n const isRtl = this.isRtl();\n /* tslint:disable-next-line:no-magic-numbers */\n const paddingWidth = SELECT_PANEL_PADDING_X * 2;\n let offsetX: number;\n let overlayMaxWidth: number;\n\n const selected = this.selectionModel.selected[0] || this.options.first;\n offsetX = selected && selected.group ? SELECT_PANEL_INDENT_PADDING_X : SELECT_PANEL_PADDING_X;\n\n // Invert the offset in LTR.\n if (!isRtl) { offsetX *= -1; }\n\n // Determine if select overflows on either side.\n const leftOverflow = 0 - (overlayRect.left + offsetX - (isRtl ? paddingWidth : 0));\n const rightOverflow = overlayRect.right + offsetX - windowWidth\n + (isRtl ? 0 : paddingWidth);\n\n // If the element overflows on either side, reduce the offset to allow it to fit.\n if (leftOverflow > 0 || rightOverflow > 0) {\n [offsetX, overlayMaxWidth] = this.calculateOverlayXPosition(overlayRect, windowWidth, offsetX);\n this.overlayDir.overlayRef.overlayElement.style.maxWidth = `${overlayMaxWidth}px`;\n }\n\n // Set the offset directly in order to avoid having to go through change detection and\n // potentially triggering \"changed after it was checked\" errors. Round the value to avoid\n // blurry content in some browsers.\n this.overlayDir.offsetX = Math.round(offsetX);\n this.overlayDir.overlayRef.updatePosition();\n }\n\n private calculateOverlayXPosition(overlayRect, windowWidth, basicOffsetX) {\n let offsetX = basicOffsetX;\n const leftIndent = this.triggerRect.left;\n const rightIndent = windowWidth - this.triggerRect.right;\n // Setting direction of dropdown expansion\n const isRightDirection = leftIndent <= rightIndent;\n\n let maxDropdownWidth: number;\n let overlayMaxWidth: number;\n const triggerWidth = this.triggerRect.width + SELECT_PANEL_INDENT_PADDING_X;\n\n if (isRightDirection) {\n maxDropdownWidth = rightIndent + triggerWidth - SELECT_PANEL_VIEWPORT_PADDING;\n overlayMaxWidth = overlayRect.width < maxDropdownWidth ? overlayRect.width : maxDropdownWidth;\n } else {\n let leftOffset;\n maxDropdownWidth = leftIndent + triggerWidth - SELECT_PANEL_VIEWPORT_PADDING;\n\n if (overlayRect.width < maxDropdownWidth) {\n overlayMaxWidth = overlayRect.width;\n leftOffset = this.triggerRect.right - overlayMaxWidth;\n } else {\n overlayMaxWidth = maxDropdownWidth;\n leftOffset = this.triggerRect.right - (overlayMaxWidth - SELECT_PANEL_INDENT_PADDING_X);\n }\n offsetX -= this.triggerRect.left - leftOffset;\n }\n\n return [offsetX, overlayMaxWidth];\n }\n\n private resetOverlay() {\n this.overlayDir.offsetX = 0;\n this.overlayDir.overlayRef.overlayElement.style.maxWidth = 'unset';\n this.overlayDir.overlayRef.updatePosition();\n }\n\n private getOverlayRect() {\n return this.overlayDir.overlayRef.overlayElement.getBoundingClientRect();\n }\n\n private getOverlayWidth() {\n return this.scrollStrategy._overlayRef.hostElement.clientWidth;\n }\n\n /** Comparison function to specify which option is displayed. Defaults to object equality. */\n private _compareWith = (o1: any, o2: any) => o1 === o2;\n}\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MC_SELECT_SCROLL_STRATEGY_PROVIDER, McOptionModule } from '@ptsecurity/mosaic/core';\nimport { McFormFieldModule } from '@ptsecurity/mosaic/form-field';\nimport { McIconModule } from '@ptsecurity/mosaic/icon';\nimport { McTagsModule } from '@ptsecurity/mosaic/tags';\n\nimport { McSelect, McSelectSearch, McSelectSearchEmptyResult, McSelectTrigger } from './select.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n OverlayModule,\n McOptionModule,\n McIconModule,\n McTagsModule\n ],\n exports: [\n McFormFieldModule,\n McSelect,\n McSelectSearch,\n McSelectSearchEmptyResult,\n McSelectTrigger,\n McOptionModule,\n CommonModule\n ],\n declarations: [\n McSelect,\n McSelectSearch,\n McSelectSearchEmptyResult,\n McSelectTrigger],\n providers: [MC_SELECT_SCROLL_STRATEGY_PROVIDER]\n})\nexport class McSelectModule {}\n"]}
@@ -1,2 +0,0 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/common"),require("@angular/core"),require("@ptsecurity/cdk/keycodes"),require("@angular/animations")):"function"==typeof define&&define.amd?define("@ptsecurity/mosaic/sidebar",["exports","@angular/common","@angular/core","@ptsecurity/cdk/keycodes","@angular/animations"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).ptsecurity=e.ptsecurity||{},e.ptsecurity.mosaic=e.ptsecurity.mosaic||{},e.ptsecurity.mosaic.sidebar={}),e.ng.common,e.ng.core,e.mc.cdk.keycodes,e.ng.animations)}(this,(function(e,t,n,i,o){"use strict";var s;!function(e){e.Opened="opened",e.Closed="closed"}(s||(s={}));var a,r={sidebarState:o.trigger("state",[o.state("opened",o.style({minWidth:"{{ openedStateMinWidth }}",width:"{{ openedStateWidth }}",maxWidth:"{{ openedStateMaxWidth }}"}),{params:{openedStateMinWidth:"",openedStateWidth:"",openedStateMaxWidth:""}}),o.state("closed",o.style({minWidth:"{{ closedStateWidth }}",width:"{{ closedStateWidth }}",maxWidth:"{{ closedStateWidth }}"}),{params:{closedStateWidth:""}}),o.transition("opened => closed",[o.animate("0.1s")]),o.transition("closed => opened",[o.animate("0.2s")])])};e.SidebarPositions=void 0,(a=e.SidebarPositions||(e.SidebarPositions={})).Left="left",a.Right="right";var d=function(){};d.decorators=[{type:n.Directive,args:[{selector:"[mc-sidebar-opened]",exportAs:"mcSidebarOpened"}]}],d.propDecorators={minWidth:[{type:n.Input}],width:[{type:n.Input}],maxWidth:[{type:n.Input}]};var p=function(){};p.decorators=[{type:n.Directive,args:[{selector:"[mc-sidebar-closed]",exportAs:"mcSidebarClosed"}]}],p.propDecorators={width:[{type:n.Input}]};var c=function(){function t(e,t){this.ngZone=e,this.elementRef=t,this._opened=!0,this.params={openedStateWidth:"inherit",openedStateMinWidth:"inherit",openedStateMaxWidth:"inherit",closedStateWidth:"32px"},this.stateChanged=new n.EventEmitter,this.internalState=!0}return Object.defineProperty(t.prototype,"opened",{get:function(){return this._opened},set:function(e){this._opened&&this.saveWidth(),this._opened=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"animationState",{get:function(){return this._opened?s.Opened:s.Closed},enumerable:!1,configurable:!0}),t.prototype.ngOnInit=function(){this.position!==e.SidebarPositions.Left&&this.position!==e.SidebarPositions.Right||this.registerKeydownListener()},t.prototype.ngOnDestroy=function(){this.position!==e.SidebarPositions.Left&&this.position!==e.SidebarPositions.Right||this.unRegisterKeydownListener()},t.prototype.toggle=function(){this.opened=!this.opened},t.prototype.onAnimationStart=function(){this._opened&&(this.internalState=this._opened)},t.prototype.onAnimationDone=function(){this.internalState=this._opened,this.stateChanged.emit(this._opened)},t.prototype.ngAfterContentInit=function(){this.params={openedStateWidth:this.openedContent.width||"inherit",openedStateMinWidth:this.openedContent.minWidth||"inherit",openedStateMaxWidth:this.openedContent.maxWidth||"inherit",closedStateWidth:this.closedContent.width||"32px"}},t.prototype.registerKeydownListener=function(){var t=this;this.documentKeydownListener=function(n){i.isControl(n)||i.isInput(n)||(t.position===e.SidebarPositions.Left&&i.isLeftBracket(n)||t.position===e.SidebarPositions.Right&&i.isRightBracket(n))&&t.ngZone.run((function(){return t._opened=!t._opened}))},this.ngZone.runOutsideAngular((function(){document.addEventListener("keypress",t.documentKeydownListener,!0)}))},t.prototype.unRegisterKeydownListener=function(){document.removeEventListener("keypress",this.documentKeydownListener,!0)},t.prototype.saveWidth=function(){this.params.openedStateWidth=this.elementRef.nativeElement.offsetWidth+"px"},t}();c.decorators=[{type:n.Component,args:[{selector:"mc-sidebar",exportAs:"mcSidebar",template:'<ng-container [ngSwitch]="internalState">\n <ng-container *ngSwitchCase="true">\n <ng-content select="[mc-sidebar-opened]"></ng-content>\n </ng-container>\n\n <ng-container *ngSwitchCase="false">\n <ng-content select="[mc-sidebar-closed]"></ng-content>\n </ng-container>\n</ng-container>\n',host:{class:"mc-sidebar","[@state]":"{\n value: animationState,\n params: params\n }","(@state.start)":"onAnimationStart()","(@state.done)":"onAnimationDone()"},animations:[r.sidebarState],encapsulation:n.ViewEncapsulation.None,changeDetection:n.ChangeDetectionStrategy.OnPush,styles:[".mc-sidebar{display:inline-block;height:100%;overflow:hidden}.mc-sidebar-closed,.mc-sidebar-opened{height:100%}"]}]}],c.ctorParameters=function(){return[{type:n.NgZone},{type:n.ElementRef}]},c.propDecorators={opened:[{type:n.Input}],position:[{type:n.Input}],stateChanged:[{type:n.Output}],openedContent:[{type:n.ContentChild,args:[d,{static:!1}]}],closedContent:[{type:n.ContentChild,args:[p,{static:!1}]}]};var h=function(){};h.decorators=[{type:n.NgModule,args:[{imports:[t.CommonModule],declarations:[p,d,c],exports:[p,d,c]}]}],e.McSidebar=c,e.McSidebarClosed=p,e.McSidebarModule=h,e.McSidebarOpened=d,e.ɵa=r,Object.defineProperty(e,"__esModule",{value:!0})}));
2
- //# sourceMappingURL=ptsecurity-mosaic-sidebar.umd.min.js.map