@ptsecurity/mosaic 15.6.0 → 16.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (750) hide show
  1. package/_theming.scss +19 -0
  2. package/_visual.scss +2 -0
  3. package/autocomplete/autocomplete-trigger.directive.d.ts +6 -16
  4. package/autocomplete/autocomplete.component.d.ts +1 -1
  5. package/button/button.component.d.ts +1 -1
  6. package/button-toggle/button-toggle.component.d.ts +3 -3
  7. package/card/card.component.d.ts +1 -1
  8. package/checkbox/_checkbox-theme.scss +4 -0
  9. package/checkbox/checkbox-config.d.ts +1 -1
  10. package/checkbox/checkbox.d.ts +1 -1
  11. package/code-block/actionbar.component.d.ts +1 -1
  12. package/code-block/code-block.component.d.ts +1 -1
  13. package/core/common-behaviors/color.d.ts +1 -1
  14. package/core/common-behaviors/constructor.d.ts +2 -2
  15. package/core/common-behaviors/disabled.d.ts +1 -1
  16. package/core/common-behaviors/error-state.d.ts +1 -1
  17. package/core/common-behaviors/tabindex.d.ts +1 -1
  18. package/core/datetime/date-formats.d.ts +1 -1
  19. package/core/formatters/index.d.ts +1 -1
  20. package/core/formatters/number/formatter.d.ts +55 -0
  21. package/core/label/label-options.d.ts +1 -1
  22. package/core/locales/en-US.d.ts +13 -2
  23. package/core/locales/es-LA.d.ts +21 -0
  24. package/core/locales/fa-IR.d.ts +22 -0
  25. package/core/locales/locale-service.d.ts +111 -5
  26. package/core/locales/pt-BR.d.ts +21 -0
  27. package/core/locales/ru-RU.d.ts +13 -2
  28. package/core/locales/zh-CN.d.ts +20 -0
  29. package/core/option/action.d.ts +1 -1
  30. package/core/option/optgroup.d.ts +1 -1
  31. package/core/option/option.d.ts +37 -8
  32. package/core/overlay/overlay-position-map.d.ts +7 -1
  33. package/core/selection/pseudo-checkbox/pseudo-checkbox.d.ts +2 -2
  34. package/core/styles/_variables.scss +1 -0
  35. package/core/styles/theming/_theming.scss +1 -0
  36. package/datepicker/calendar-body.component.d.ts +2 -2
  37. package/datepicker/calendar-header.component.d.ts +9 -3
  38. package/datepicker/calendar.component.d.ts +4 -5
  39. package/datepicker/datepicker-input.directive.d.ts +1 -1
  40. package/datepicker/datepicker-toggle.component.d.ts +1 -1
  41. package/datepicker/datepicker.component.d.ts +1 -1
  42. package/datepicker/month-view.component.d.ts +4 -5
  43. package/divider/divider.component.d.ts +1 -1
  44. package/dl/dl.component.d.ts +1 -1
  45. package/dropdown/dropdown-item.component.d.ts +1 -1
  46. package/dropdown/dropdown-trigger.directive.d.ts +1 -1
  47. package/dropdown/dropdown.component.d.ts +1 -1
  48. package/dropdown/dropdown.types.d.ts +3 -3
  49. package/ellipsis-center/ellipsis-center.directive.d.ts +1 -1
  50. package/{esm2020 → esm2022}/autocomplete/autocomplete-origin.directive.mjs +4 -4
  51. package/esm2022/autocomplete/autocomplete-trigger.directive.mjs +555 -0
  52. package/{esm2020 → esm2022}/autocomplete/autocomplete.component.mjs +26 -26
  53. package/{esm2020 → esm2022}/autocomplete/autocomplete.module.mjs +10 -10
  54. package/esm2022/button/button.component.mjs +148 -0
  55. package/{esm2020 → esm2022}/button/button.module.mjs +13 -13
  56. package/esm2022/button-toggle/button-toggle.component.mjs +381 -0
  57. package/{esm2020 → esm2022}/button-toggle/button-toggle.module.mjs +5 -5
  58. package/esm2022/card/card.component.mjs +80 -0
  59. package/{esm2020 → esm2022}/card/card.module.mjs +9 -9
  60. package/{esm2020 → esm2022}/checkbox/checkbox-module.mjs +5 -5
  61. package/{esm2020 → esm2022}/checkbox/checkbox-required-validator.mjs +4 -4
  62. package/esm2022/checkbox/checkbox.mjs +300 -0
  63. package/{esm2020 → esm2022}/code-block/actionbar.component.mjs +4 -4
  64. package/esm2022/code-block/code-block.component.mjs +157 -0
  65. package/esm2022/code-block/code-block.module.mjs +60 -0
  66. package/esm2022/core/common-behaviors/color.mjs +33 -0
  67. package/{esm2020 → esm2022}/core/common-behaviors/common-module.mjs +5 -5
  68. package/{esm2020 → esm2022}/core/common-behaviors/disabled.mjs +6 -6
  69. package/{esm2020 → esm2022}/core/common-behaviors/tabindex.mjs +6 -6
  70. package/{esm2020 → esm2022}/core/error/error-options.mjs +7 -7
  71. package/{esm2020 → esm2022}/core/formatters/date/formatter.mjs +4 -4
  72. package/{esm2020 → esm2022}/core/formatters/date/formatter.pipe.mjs +40 -40
  73. package/esm2022/core/formatters/index.mjs +86 -0
  74. package/esm2022/core/formatters/number/formatter.mjs +350 -0
  75. package/{esm2020 → esm2022}/core/forms/forms-module.mjs +7 -7
  76. package/{esm2020 → esm2022}/core/forms/forms.directive.mjs +7 -7
  77. package/{esm2020 → esm2022}/core/highlight/highlight.pipe.mjs +4 -4
  78. package/{esm2020 → esm2022}/core/highlight/index.mjs +5 -5
  79. package/{esm2020 → esm2022}/core/line/line.mjs +8 -8
  80. package/esm2022/core/locales/en-US.mjs +21 -0
  81. package/esm2022/core/locales/es-LA.mjs +27 -0
  82. package/esm2022/core/locales/fa-IR.mjs +28 -0
  83. package/{esm2020 → esm2022}/core/locales/locale-service.mjs +7 -7
  84. package/{esm2020 → esm2022}/core/locales/locale-service.module.mjs +7 -7
  85. package/esm2022/core/locales/pt-BR.mjs +27 -0
  86. package/esm2022/core/locales/ru-RU.mjs +21 -0
  87. package/esm2022/core/locales/zh-CN.mjs +26 -0
  88. package/{esm2020 → esm2022}/core/option/action.mjs +9 -9
  89. package/{esm2020 → esm2022}/core/option/optgroup.mjs +4 -4
  90. package/{esm2020 → esm2022}/core/option/option-module.mjs +5 -5
  91. package/esm2022/core/option/option.mjs +298 -0
  92. package/esm2022/core/overlay/overlay-position-map.mjs +251 -0
  93. package/{esm2020 → esm2022}/core/pop-up/pop-up-trigger.mjs +4 -4
  94. package/{esm2020 → esm2022}/core/pop-up/pop-up.mjs +4 -4
  95. package/{esm2020 → esm2022}/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +4 -4
  96. package/{esm2020 → esm2022}/core/selection/pseudo-checkbox/pseudo-checkbox.module.mjs +5 -5
  97. package/esm2022/core/services/measure-scrollbar.service.mjs +48 -0
  98. package/{esm2020 → esm2022}/core/utils/data-size/data-size.pipe.mjs +8 -8
  99. package/{esm2020 → esm2022}/core/version.mjs +2 -2
  100. package/{esm2020 → esm2022}/datepicker/calendar-body.component.mjs +4 -4
  101. package/esm2022/datepicker/calendar-header.component.mjs +135 -0
  102. package/esm2022/datepicker/calendar.component.mjs +166 -0
  103. package/esm2022/datepicker/datepicker-input.directive.mjs +955 -0
  104. package/{esm2020 → esm2022}/datepicker/datepicker-intl.mjs +4 -4
  105. package/{esm2020 → esm2022}/datepicker/datepicker-module.mjs +38 -38
  106. package/esm2022/datepicker/datepicker-toggle.component.mjs +86 -0
  107. package/esm2022/datepicker/datepicker.component.mjs +393 -0
  108. package/esm2022/datepicker/month-view.component.mjs +149 -0
  109. package/{esm2020 → esm2022}/divider/divider.component.mjs +4 -4
  110. package/{esm2020 → esm2022}/divider/divider.module.mjs +5 -5
  111. package/{esm2020 → esm2022}/dl/dl.component.mjs +10 -10
  112. package/{esm2020 → esm2022}/dl/dl.module.mjs +13 -13
  113. package/{esm2020 → esm2022}/dropdown/dropdown-content.directive.mjs +4 -4
  114. package/{esm2020 → esm2022}/dropdown/dropdown-item.component.mjs +6 -6
  115. package/esm2022/dropdown/dropdown-trigger.directive.mjs +489 -0
  116. package/esm2022/dropdown/dropdown.component.mjs +292 -0
  117. package/{esm2020 → esm2022}/dropdown/dropdown.module.mjs +15 -15
  118. package/esm2022/ellipsis-center/ellipsis-center.directive.mjs +106 -0
  119. package/{esm2020 → esm2022}/file-upload/file-drop.mjs +4 -4
  120. package/{esm2020 → esm2022}/file-upload/file-upload.module.mjs +25 -25
  121. package/esm2022/file-upload/multiple-file-upload.component.mjs +165 -0
  122. package/esm2022/file-upload/single-file-upload.component.mjs +134 -0
  123. package/{esm2020 → esm2022}/form-field/cleaner.mjs +4 -4
  124. package/esm2022/form-field/form-field.mjs +267 -0
  125. package/{esm2020 → esm2022}/form-field/form-field.module.mjs +23 -23
  126. package/{esm2020 → esm2022}/form-field/hint.mjs +4 -4
  127. package/{esm2020 → esm2022}/form-field/password-hint.mjs +9 -9
  128. package/{esm2020 → esm2022}/form-field/prefix.mjs +4 -4
  129. package/{esm2020 → esm2022}/form-field/stepper.mjs +6 -6
  130. package/{esm2020 → esm2022}/form-field/suffix.mjs +4 -4
  131. package/esm2022/form-field/validate.directive.mjs +158 -0
  132. package/{esm2020 → esm2022}/icon/icon.component.mjs +7 -7
  133. package/{esm2020 → esm2022}/icon/icon.module.mjs +11 -11
  134. package/{esm2020 → esm2022}/input/input-number-validators.mjs +7 -7
  135. package/esm2022/input/input-number.mjs +168 -0
  136. package/esm2022/input/input-password.mjs +343 -0
  137. package/esm2022/input/input.mjs +297 -0
  138. package/{esm2020 → esm2022}/input/input.module.mjs +23 -23
  139. package/esm2022/link/link.component.mjs +122 -0
  140. package/{esm2020 → esm2022}/link/link.module.mjs +7 -7
  141. package/esm2022/list/list-selection.component.mjs +705 -0
  142. package/{esm2020 → esm2022}/list/list.component.mjs +7 -7
  143. package/{esm2020 → esm2022}/list/list.module.mjs +20 -20
  144. package/esm2022/loader-overlay/loader-overlay.component.mjs +103 -0
  145. package/{esm2020 → esm2022}/loader-overlay/loader-overlay.module.mjs +17 -17
  146. package/{esm2020 → esm2022}/markdown/markdown.component.mjs +13 -13
  147. package/{esm2020 → esm2022}/markdown/markdown.module.mjs +5 -5
  148. package/{esm2020 → esm2022}/markdown/markdown.service.mjs +4 -4
  149. package/{esm2020 → esm2022}/modal/css-unit.pipe.mjs +4 -4
  150. package/esm2022/modal/modal-control.service.mjs +85 -0
  151. package/esm2022/modal/modal.component.mjs +520 -0
  152. package/{esm2020 → esm2022}/modal/modal.directive.mjs +13 -13
  153. package/esm2022/modal/modal.module.mjs +75 -0
  154. package/{esm2020 → esm2022}/modal/modal.service.mjs +8 -8
  155. package/esm2022/navbar/navbar-item.component.mjs +606 -0
  156. package/esm2022/navbar/navbar.component.mjs +248 -0
  157. package/{esm2020 → esm2022}/navbar/navbar.module.mjs +37 -37
  158. package/{esm2020 → esm2022}/navbar/vertical-navbar.component.mjs +20 -17
  159. package/esm2022/popover/popover-confirm.component.mjs +108 -0
  160. package/esm2022/popover/popover.component.mjs +266 -0
  161. package/{esm2020 → esm2022}/popover/popover.module.mjs +8 -8
  162. package/{esm2020 → esm2022}/progress-bar/progress-bar.component.mjs +4 -4
  163. package/{esm2020 → esm2022}/progress-bar/progress-bar.module.mjs +7 -7
  164. package/{esm2020 → esm2022}/progress-spinner/progress-spinner.component.mjs +12 -12
  165. package/{esm2020 → esm2022}/progress-spinner/progress-spinner.module.mjs +7 -7
  166. package/esm2022/radio/radio.component.mjs +457 -0
  167. package/{esm2020 → esm2022}/radio/radio.module.mjs +5 -5
  168. package/esm2022/select/select-option.directive.mjs +65 -0
  169. package/esm2022/select/select.component.mjs +1160 -0
  170. package/{esm2020 → esm2022}/select/select.module.mjs +32 -32
  171. package/esm2022/sidebar/sidebar.component.mjs +146 -0
  172. package/{esm2020 → esm2022}/sidebar/sidebar.module.mjs +9 -9
  173. package/esm2022/sidepanel/sidepanel-container.component.mjs +110 -0
  174. package/{esm2020 → esm2022}/sidepanel/sidepanel-directives.mjs +18 -18
  175. package/{esm2020 → esm2022}/sidepanel/sidepanel.module.mjs +32 -32
  176. package/{esm2020 → esm2022}/sidepanel/sidepanel.service.mjs +10 -10
  177. package/esm2022/splitter/splitter.component.mjs +482 -0
  178. package/{esm2020 → esm2022}/splitter/splitter.module.mjs +12 -12
  179. package/{esm2020 → esm2022}/table/table.component.mjs +4 -4
  180. package/{esm2020 → esm2022}/table/table.module.mjs +9 -9
  181. package/esm2022/tabs/paginated-tab-header.mjs +488 -0
  182. package/esm2022/tabs/tab-body.component.mjs +179 -0
  183. package/{esm2020 → esm2022}/tabs/tab-content.directive.mjs +4 -4
  184. package/esm2022/tabs/tab-group.component.mjs +349 -0
  185. package/{esm2020 → esm2022}/tabs/tab-header.component.mjs +4 -4
  186. package/{esm2020 → esm2022}/tabs/tab-label-wrapper.directive.mjs +4 -4
  187. package/{esm2020 → esm2022}/tabs/tab-label.directive.mjs +4 -4
  188. package/esm2022/tabs/tab-nav-bar/tab-nav-bar.mjs +111 -0
  189. package/{esm2020 → esm2022}/tabs/tab.component.mjs +43 -34
  190. package/{esm2020 → esm2022}/tabs/tabs.module.mjs +42 -42
  191. package/esm2022/tags/tag-input.mjs +250 -0
  192. package/esm2022/tags/tag-list.component.mjs +718 -0
  193. package/esm2022/tags/tag.component.mjs +381 -0
  194. package/esm2022/tags/tag.module.mjs +56 -0
  195. package/esm2022/textarea/textarea.component.mjs +254 -0
  196. package/{esm2020 → esm2022}/textarea/textarea.module.mjs +5 -5
  197. package/esm2022/timepicker/timepicker.directive.mjs +647 -0
  198. package/{esm2020 → esm2022}/timepicker/timepicker.module.mjs +11 -11
  199. package/{esm2020 → esm2022}/timezone/cities-by-filter.pipe.mjs +4 -4
  200. package/esm2022/timezone/timezone-option.component.mjs +48 -0
  201. package/{esm2020 → esm2022}/timezone/timezone-option.directive.mjs +4 -4
  202. package/{esm2020 → esm2022}/timezone/timezone-select.component.mjs +11 -11
  203. package/{esm2020 → esm2022}/timezone/timezone.module.mjs +29 -29
  204. package/{esm2020 → esm2022}/timezone/utc-offset.pipe.mjs +4 -4
  205. package/esm2022/title/title.directive.mjs +107 -0
  206. package/{esm2020 → esm2022}/title/title.module.mjs +5 -5
  207. package/{esm2020 → esm2022}/toast/toast-container.component.mjs +4 -4
  208. package/esm2022/toast/toast.component.mjs +92 -0
  209. package/esm2022/toast/toast.module.mjs +48 -0
  210. package/esm2022/toast/toast.service.mjs +188 -0
  211. package/esm2022/toggle/toggle.component.mjs +156 -0
  212. package/{esm2020 → esm2022}/toggle/toggle.module.mjs +5 -5
  213. package/esm2022/tooltip/tooltip.component.mjs +299 -0
  214. package/{esm2020 → esm2022}/tooltip/tooltip.module.mjs +14 -14
  215. package/esm2022/tree/data-source/flat-data-source.mjs +162 -0
  216. package/{esm2020 → esm2022}/tree/node.mjs +4 -4
  217. package/{esm2020 → esm2022}/tree/outlet.mjs +4 -4
  218. package/esm2022/tree/padding.directive.mjs +113 -0
  219. package/esm2022/tree/toggle.mjs +81 -0
  220. package/esm2022/tree/tree-base.mjs +243 -0
  221. package/esm2022/tree/tree-option.component.mjs +303 -0
  222. package/esm2022/tree/tree-selection.component.mjs +558 -0
  223. package/{esm2020 → esm2022}/tree/tree.mjs +4 -4
  224. package/{esm2020 → esm2022}/tree/tree.module.mjs +21 -21
  225. package/esm2022/tree-select/tree-select.component.mjs +936 -0
  226. package/{esm2020 → esm2022}/tree-select/tree-select.module.mjs +17 -17
  227. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-autocomplete.mjs +80 -77
  228. package/fesm2022/ptsecurity-mosaic-autocomplete.mjs.map +1 -0
  229. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-button-toggle.mjs +47 -47
  230. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-button-toggle.mjs.map +1 -1
  231. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-button.mjs +25 -25
  232. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-button.mjs.map +1 -1
  233. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-card.mjs +17 -17
  234. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-card.mjs.map +1 -1
  235. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-checkbox.mjs +39 -39
  236. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-checkbox.mjs.map +1 -1
  237. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-code-block.mjs +34 -34
  238. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-code-block.mjs.map +1 -1
  239. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-core.mjs +598 -222
  240. package/fesm2022/ptsecurity-mosaic-core.mjs.map +1 -0
  241. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-datepicker.mjs +335 -351
  242. package/fesm2022/ptsecurity-mosaic-datepicker.mjs.map +1 -0
  243. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-divider.mjs +7 -7
  244. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-divider.mjs.map +1 -1
  245. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-dl.mjs +21 -21
  246. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-dl.mjs.map +1 -1
  247. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-dropdown.mjs +89 -89
  248. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-dropdown.mjs.map +1 -1
  249. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-ellipsis-center.mjs +11 -11
  250. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-ellipsis-center.mjs.map +1 -1
  251. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-file-upload.mjs +55 -47
  252. package/fesm2022/ptsecurity-mosaic-file-upload.mjs.map +1 -0
  253. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-form-field.mjs +80 -80
  254. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-form-field.mjs.map +1 -1
  255. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-icon.mjs +16 -16
  256. package/fesm2022/ptsecurity-mosaic-icon.mjs.map +1 -0
  257. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-input.mjs +128 -128
  258. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-input.mjs.map +1 -1
  259. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-link.mjs +22 -22
  260. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-link.mjs.map +1 -1
  261. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-list.mjs +86 -86
  262. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-list.mjs.map +1 -1
  263. package/fesm2022/ptsecurity-mosaic-loader-overlay.mjs +155 -0
  264. package/{fesm2015 → fesm2022}/ptsecurity-mosaic-loader-overlay.mjs.map +1 -1
  265. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-markdown.mjs +19 -19
  266. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-markdown.mjs.map +1 -1
  267. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-modal.mjs +157 -144
  268. package/fesm2022/ptsecurity-mosaic-modal.mjs.map +1 -0
  269. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-navbar.mjs +184 -176
  270. package/fesm2022/ptsecurity-mosaic-navbar.mjs.map +1 -0
  271. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-popover.mjs +37 -37
  272. package/{fesm2015 → fesm2022}/ptsecurity-mosaic-popover.mjs.map +1 -1
  273. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-progress-bar.mjs +9 -9
  274. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-progress-bar.mjs.map +1 -1
  275. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-progress-spinner.mjs +18 -18
  276. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-progress-spinner.mjs.map +1 -1
  277. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-radio.mjs +78 -78
  278. package/{fesm2015 → fesm2022}/ptsecurity-mosaic-radio.mjs.map +1 -1
  279. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-select.mjs +188 -174
  280. package/fesm2022/ptsecurity-mosaic-select.mjs.map +1 -0
  281. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-sidebar.mjs +29 -29
  282. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-sidebar.mjs.map +1 -1
  283. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-sidepanel.mjs +63 -63
  284. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-sidepanel.mjs.map +1 -1
  285. package/{fesm2015 → fesm2022}/ptsecurity-mosaic-splitter.mjs +55 -55
  286. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-splitter.mjs.map +1 -1
  287. package/fesm2022/ptsecurity-mosaic-table.mjs +45 -0
  288. package/fesm2022/ptsecurity-mosaic-table.mjs.map +1 -0
  289. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tabs.mjs +188 -179
  290. package/fesm2022/ptsecurity-mosaic-tabs.mjs.map +1 -0
  291. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tags.mjs +131 -131
  292. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tags.mjs.map +1 -1
  293. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-textarea.mjs +41 -41
  294. package/{fesm2015 → fesm2022}/ptsecurity-mosaic-textarea.mjs.map +1 -1
  295. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-timepicker.mjs +95 -95
  296. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-timepicker.mjs.map +1 -1
  297. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-timezone.mjs +53 -53
  298. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-timezone.mjs.map +1 -1
  299. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-title.mjs +18 -18
  300. package/fesm2022/ptsecurity-mosaic-title.mjs.map +1 -0
  301. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-toast.mjs +47 -41
  302. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-toast.mjs.map +1 -1
  303. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-toggle.mjs +35 -35
  304. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-toggle.mjs.map +1 -1
  305. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tooltip.mjs +47 -47
  306. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tooltip.mjs.map +1 -1
  307. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tree-select.mjs +122 -122
  308. package/fesm2022/ptsecurity-mosaic-tree-select.mjs.map +1 -0
  309. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tree.mjs +202 -198
  310. package/fesm2022/ptsecurity-mosaic-tree.mjs.map +1 -0
  311. package/file-upload/file-upload.d.ts +1 -1
  312. package/file-upload/multiple-file-upload.component.d.ts +5 -4
  313. package/file-upload/single-file-upload.component.d.ts +5 -4
  314. package/form-field/_form-field-theme.scss +4 -0
  315. package/form-field/form-field.d.ts +1 -1
  316. package/form-field/hint.d.ts +1 -1
  317. package/form-field/password-hint.d.ts +1 -1
  318. package/icon/icon.component.d.ts +1 -1
  319. package/input/input-number-validators.d.ts +2 -2
  320. package/input/input-number.d.ts +1 -1
  321. package/input/input-password.d.ts +2 -2
  322. package/input/input.d.ts +1 -1
  323. package/link/link.component.d.ts +1 -1
  324. package/list/list-selection.component.d.ts +2 -2
  325. package/loader-overlay/loader-overlay.component.d.ts +1 -1
  326. package/loader-overlay/loader-overlay.scss +3 -0
  327. package/markdown/markdown.component.d.ts +1 -1
  328. package/modal/modal.component.d.ts +5 -2
  329. package/modal/modal.module.d.ts +2 -1
  330. package/modal/modal.scss +14 -2
  331. package/modal/modal.type.d.ts +3 -3
  332. package/navbar/navbar-item.component.d.ts +3 -3
  333. package/navbar/navbar.component.d.ts +7 -4
  334. package/navbar/vertical-navbar.component.d.ts +5 -3
  335. package/package.json +149 -239
  336. package/popover/popover-confirm.component.d.ts +1 -1
  337. package/popover/popover.component.d.ts +1 -1
  338. package/prebuilt-themes/dark-theme.css +1 -1
  339. package/prebuilt-themes/default-theme.css +1 -1
  340. package/prebuilt-visual/default-visual.css +1 -1
  341. package/progress-bar/progress-bar.component.d.ts +2 -2
  342. package/progress-spinner/progress-spinner.component.d.ts +3 -3
  343. package/radio/_radio-theme.scss +4 -0
  344. package/radio/radio.component.d.ts +2 -2
  345. package/select/select.component.d.ts +12 -9
  346. package/select/select.scss +1 -1
  347. package/sidebar/sidebar.component.d.ts +3 -3
  348. package/sidepanel/sidepanel-directives.d.ts +2 -2
  349. package/splitter/splitter.component.d.ts +3 -3
  350. package/tabs/paginated-tab-header.d.ts +3 -3
  351. package/tabs/tab-body.component.d.ts +3 -3
  352. package/tabs/tab-group.component.d.ts +2 -2
  353. package/tabs/tab-header.component.d.ts +2 -2
  354. package/tabs/tab-label-wrapper.directive.d.ts +1 -1
  355. package/tabs/tab-nav-bar/tab-nav-bar.d.ts +1 -1
  356. package/tabs/tab.component.d.ts +1 -1
  357. package/tags/tag-input.d.ts +1 -1
  358. package/tags/tag-list.component.d.ts +1 -1
  359. package/tags/tag.component.d.ts +1 -1
  360. package/textarea/textarea.component.d.ts +1 -1
  361. package/timepicker/timepicker.directive.d.ts +1 -1
  362. package/timezone/timezone-option.component.d.ts +1 -1
  363. package/toast/toast.type.d.ts +1 -1
  364. package/toggle/toggle.component.d.ts +2 -2
  365. package/tooltip/tooltip.component.d.ts +3 -3
  366. package/tree/node.d.ts +1 -1
  367. package/tree/padding.directive.d.ts +1 -1
  368. package/tree/toggle.d.ts +2 -2
  369. package/tree/tree-base.d.ts +1 -1
  370. package/tree/tree-option.component.d.ts +1 -1
  371. package/tree/tree-option.scss +4 -2
  372. package/tree/tree-selection.component.d.ts +1 -1
  373. package/tree-select/tree-select.component.d.ts +1 -1
  374. package/esm2020/autocomplete/autocomplete-trigger.directive.mjs +0 -552
  375. package/esm2020/button/button.component.mjs +0 -148
  376. package/esm2020/button-toggle/button-toggle.component.mjs +0 -381
  377. package/esm2020/card/card.component.mjs +0 -80
  378. package/esm2020/checkbox/checkbox.mjs +0 -300
  379. package/esm2020/code-block/code-block.component.mjs +0 -157
  380. package/esm2020/code-block/code-block.module.mjs +0 -60
  381. package/esm2020/core/common-behaviors/color.mjs +0 -33
  382. package/esm2020/core/formatters/index.mjs +0 -78
  383. package/esm2020/core/formatters/number/formatter.mjs +0 -129
  384. package/esm2020/core/locales/en-US.mjs +0 -10
  385. package/esm2020/core/locales/es-LA.mjs +0 -6
  386. package/esm2020/core/locales/fa-IR.mjs +0 -6
  387. package/esm2020/core/locales/pt-BR.mjs +0 -6
  388. package/esm2020/core/locales/ru-RU.mjs +0 -10
  389. package/esm2020/core/locales/zh-CN.mjs +0 -6
  390. package/esm2020/core/option/option.mjs +0 -262
  391. package/esm2020/core/overlay/overlay-position-map.mjs +0 -245
  392. package/esm2020/core/services/measure-scrollbar.service.mjs +0 -48
  393. package/esm2020/datepicker/calendar-header.component.mjs +0 -134
  394. package/esm2020/datepicker/calendar.component.mjs +0 -175
  395. package/esm2020/datepicker/datepicker-input.directive.mjs +0 -954
  396. package/esm2020/datepicker/datepicker-toggle.component.mjs +0 -86
  397. package/esm2020/datepicker/datepicker.component.mjs +0 -393
  398. package/esm2020/datepicker/month-view.component.mjs +0 -158
  399. package/esm2020/dropdown/dropdown-trigger.directive.mjs +0 -489
  400. package/esm2020/dropdown/dropdown.component.mjs +0 -292
  401. package/esm2020/ellipsis-center/ellipsis-center.directive.mjs +0 -106
  402. package/esm2020/file-upload/multiple-file-upload.component.mjs +0 -161
  403. package/esm2020/file-upload/single-file-upload.component.mjs +0 -130
  404. package/esm2020/form-field/form-field.mjs +0 -267
  405. package/esm2020/form-field/validate.directive.mjs +0 -158
  406. package/esm2020/input/input-number.mjs +0 -168
  407. package/esm2020/input/input-password.mjs +0 -343
  408. package/esm2020/input/input.mjs +0 -297
  409. package/esm2020/link/link.component.mjs +0 -122
  410. package/esm2020/list/list-selection.component.mjs +0 -705
  411. package/esm2020/loader-overlay/loader-overlay.component.mjs +0 -103
  412. package/esm2020/modal/modal-control.service.mjs +0 -85
  413. package/esm2020/modal/modal.component.mjs +0 -510
  414. package/esm2020/modal/modal.module.mjs +0 -71
  415. package/esm2020/navbar/navbar-item.component.mjs +0 -606
  416. package/esm2020/navbar/navbar.component.mjs +0 -239
  417. package/esm2020/popover/popover-confirm.component.mjs +0 -108
  418. package/esm2020/popover/popover.component.mjs +0 -266
  419. package/esm2020/radio/radio.component.mjs +0 -457
  420. package/esm2020/select/select-option.directive.mjs +0 -65
  421. package/esm2020/select/select.component.mjs +0 -1146
  422. package/esm2020/sidebar/sidebar.component.mjs +0 -146
  423. package/esm2020/sidepanel/sidepanel-container.component.mjs +0 -110
  424. package/esm2020/splitter/splitter.component.mjs +0 -482
  425. package/esm2020/tabs/paginated-tab-header.mjs +0 -488
  426. package/esm2020/tabs/tab-body.component.mjs +0 -179
  427. package/esm2020/tabs/tab-group.component.mjs +0 -349
  428. package/esm2020/tabs/tab-nav-bar/tab-nav-bar.mjs +0 -111
  429. package/esm2020/tags/tag-input.mjs +0 -250
  430. package/esm2020/tags/tag-list.component.mjs +0 -718
  431. package/esm2020/tags/tag.component.mjs +0 -381
  432. package/esm2020/tags/tag.module.mjs +0 -56
  433. package/esm2020/textarea/textarea.component.mjs +0 -254
  434. package/esm2020/timepicker/timepicker.directive.mjs +0 -647
  435. package/esm2020/timezone/timezone-option.component.mjs +0 -48
  436. package/esm2020/title/title.directive.mjs +0 -107
  437. package/esm2020/toast/toast.component.mjs +0 -92
  438. package/esm2020/toast/toast.module.mjs +0 -42
  439. package/esm2020/toast/toast.service.mjs +0 -188
  440. package/esm2020/toggle/toggle.component.mjs +0 -156
  441. package/esm2020/tooltip/tooltip.component.mjs +0 -299
  442. package/esm2020/tree/data-source/flat-data-source.mjs +0 -162
  443. package/esm2020/tree/padding.directive.mjs +0 -113
  444. package/esm2020/tree/toggle.mjs +0 -81
  445. package/esm2020/tree/tree-base.mjs +0 -243
  446. package/esm2020/tree/tree-option.component.mjs +0 -300
  447. package/esm2020/tree/tree-selection.component.mjs +0 -557
  448. package/esm2020/tree-select/tree-select.component.mjs +0 -936
  449. package/fesm2015/ptsecurity-mosaic-autocomplete.mjs +0 -753
  450. package/fesm2015/ptsecurity-mosaic-autocomplete.mjs.map +0 -1
  451. package/fesm2015/ptsecurity-mosaic-button-toggle.mjs +0 -405
  452. package/fesm2015/ptsecurity-mosaic-button-toggle.mjs.map +0 -1
  453. package/fesm2015/ptsecurity-mosaic-button.mjs +0 -193
  454. package/fesm2015/ptsecurity-mosaic-button.mjs.map +0 -1
  455. package/fesm2015/ptsecurity-mosaic-card.mjs +0 -111
  456. package/fesm2015/ptsecurity-mosaic-card.mjs.map +0 -1
  457. package/fesm2015/ptsecurity-mosaic-checkbox.mjs +0 -351
  458. package/fesm2015/ptsecurity-mosaic-checkbox.mjs.map +0 -1
  459. package/fesm2015/ptsecurity-mosaic-code-block.mjs +0 -280
  460. package/fesm2015/ptsecurity-mosaic-code-block.mjs.map +0 -1
  461. package/fesm2015/ptsecurity-mosaic-core.mjs +0 -2314
  462. package/fesm2015/ptsecurity-mosaic-core.mjs.map +0 -1
  463. package/fesm2015/ptsecurity-mosaic-datepicker.mjs +0 -2112
  464. package/fesm2015/ptsecurity-mosaic-datepicker.mjs.map +0 -1
  465. package/fesm2015/ptsecurity-mosaic-divider.mjs +0 -61
  466. package/fesm2015/ptsecurity-mosaic-divider.mjs.map +0 -1
  467. package/fesm2015/ptsecurity-mosaic-dl.mjs +0 -126
  468. package/fesm2015/ptsecurity-mosaic-dl.mjs.map +0 -1
  469. package/fesm2015/ptsecurity-mosaic-dropdown.mjs +0 -1115
  470. package/fesm2015/ptsecurity-mosaic-dropdown.mjs.map +0 -1
  471. package/fesm2015/ptsecurity-mosaic-ellipsis-center.mjs +0 -113
  472. package/fesm2015/ptsecurity-mosaic-ellipsis-center.mjs.map +0 -1
  473. package/fesm2015/ptsecurity-mosaic-file-upload.mjs +0 -392
  474. package/fesm2015/ptsecurity-mosaic-file-upload.mjs.map +0 -1
  475. package/fesm2015/ptsecurity-mosaic-form-field.mjs +0 -772
  476. package/fesm2015/ptsecurity-mosaic-form-field.mjs.map +0 -1
  477. package/fesm2015/ptsecurity-mosaic-icon.mjs +0 -86
  478. package/fesm2015/ptsecurity-mosaic-icon.mjs.map +0 -1
  479. package/fesm2015/ptsecurity-mosaic-input.mjs +0 -951
  480. package/fesm2015/ptsecurity-mosaic-input.mjs.map +0 -1
  481. package/fesm2015/ptsecurity-mosaic-link.mjs +0 -150
  482. package/fesm2015/ptsecurity-mosaic-link.mjs.map +0 -1
  483. package/fesm2015/ptsecurity-mosaic-list.mjs +0 -807
  484. package/fesm2015/ptsecurity-mosaic-list.mjs.map +0 -1
  485. package/fesm2015/ptsecurity-mosaic-loader-overlay.mjs +0 -157
  486. package/fesm2015/ptsecurity-mosaic-markdown.mjs +0 -128
  487. package/fesm2015/ptsecurity-mosaic-markdown.mjs.map +0 -1
  488. package/fesm2015/ptsecurity-mosaic-modal.mjs +0 -875
  489. package/fesm2015/ptsecurity-mosaic-modal.mjs.map +0 -1
  490. package/fesm2015/ptsecurity-mosaic-navbar.mjs +0 -1055
  491. package/fesm2015/ptsecurity-mosaic-navbar.mjs.map +0 -1
  492. package/fesm2015/ptsecurity-mosaic-popover.mjs +0 -411
  493. package/fesm2015/ptsecurity-mosaic-progress-bar.mjs +0 -74
  494. package/fesm2015/ptsecurity-mosaic-progress-bar.mjs.map +0 -1
  495. package/fesm2015/ptsecurity-mosaic-progress-spinner.mjs +0 -93
  496. package/fesm2015/ptsecurity-mosaic-progress-spinner.mjs.map +0 -1
  497. package/fesm2015/ptsecurity-mosaic-radio.mjs +0 -481
  498. package/fesm2015/ptsecurity-mosaic-select.mjs +0 -1286
  499. package/fesm2015/ptsecurity-mosaic-select.mjs.map +0 -1
  500. package/fesm2015/ptsecurity-mosaic-sidebar.mjs +0 -202
  501. package/fesm2015/ptsecurity-mosaic-sidebar.mjs.map +0 -1
  502. package/fesm2015/ptsecurity-mosaic-sidepanel.mjs +0 -622
  503. package/fesm2015/ptsecurity-mosaic-sidepanel.mjs.map +0 -1
  504. package/fesm2015/ptsecurity-mosaic-splitter.mjs.map +0 -1
  505. package/fesm2015/ptsecurity-mosaic-table.mjs +0 -45
  506. package/fesm2015/ptsecurity-mosaic-table.mjs.map +0 -1
  507. package/fesm2015/ptsecurity-mosaic-tabs.mjs +0 -1523
  508. package/fesm2015/ptsecurity-mosaic-tabs.mjs.map +0 -1
  509. package/fesm2015/ptsecurity-mosaic-tags.mjs +0 -1397
  510. package/fesm2015/ptsecurity-mosaic-tags.mjs.map +0 -1
  511. package/fesm2015/ptsecurity-mosaic-textarea.mjs +0 -280
  512. package/fesm2015/ptsecurity-mosaic-timepicker.mjs +0 -708
  513. package/fesm2015/ptsecurity-mosaic-timepicker.mjs.map +0 -1
  514. package/fesm2015/ptsecurity-mosaic-timezone.mjs +0 -316
  515. package/fesm2015/ptsecurity-mosaic-timezone.mjs.map +0 -1
  516. package/fesm2015/ptsecurity-mosaic-title.mjs +0 -128
  517. package/fesm2015/ptsecurity-mosaic-title.mjs.map +0 -1
  518. package/fesm2015/ptsecurity-mosaic-toast.mjs +0 -379
  519. package/fesm2015/ptsecurity-mosaic-toast.mjs.map +0 -1
  520. package/fesm2015/ptsecurity-mosaic-toggle.mjs +0 -178
  521. package/fesm2015/ptsecurity-mosaic-toggle.mjs.map +0 -1
  522. package/fesm2015/ptsecurity-mosaic-tooltip.mjs +0 -369
  523. package/fesm2015/ptsecurity-mosaic-tooltip.mjs.map +0 -1
  524. package/fesm2015/ptsecurity-mosaic-tree-select.mjs +0 -983
  525. package/fesm2015/ptsecurity-mosaic-tree-select.mjs.map +0 -1
  526. package/fesm2015/ptsecurity-mosaic-tree.mjs +0 -1816
  527. package/fesm2015/ptsecurity-mosaic-tree.mjs.map +0 -1
  528. package/fesm2020/ptsecurity-mosaic-autocomplete.mjs.map +0 -1
  529. package/fesm2020/ptsecurity-mosaic-core.mjs.map +0 -1
  530. package/fesm2020/ptsecurity-mosaic-datepicker.mjs.map +0 -1
  531. package/fesm2020/ptsecurity-mosaic-file-upload.mjs.map +0 -1
  532. package/fesm2020/ptsecurity-mosaic-icon.mjs.map +0 -1
  533. package/fesm2020/ptsecurity-mosaic-loader-overlay.mjs +0 -155
  534. package/fesm2020/ptsecurity-mosaic-loader-overlay.mjs.map +0 -1
  535. package/fesm2020/ptsecurity-mosaic-modal.mjs.map +0 -1
  536. package/fesm2020/ptsecurity-mosaic-navbar.mjs.map +0 -1
  537. package/fesm2020/ptsecurity-mosaic-popover.mjs.map +0 -1
  538. package/fesm2020/ptsecurity-mosaic-radio.mjs.map +0 -1
  539. package/fesm2020/ptsecurity-mosaic-select.mjs.map +0 -1
  540. package/fesm2020/ptsecurity-mosaic-splitter.mjs +0 -524
  541. package/fesm2020/ptsecurity-mosaic-table.mjs +0 -45
  542. package/fesm2020/ptsecurity-mosaic-table.mjs.map +0 -1
  543. package/fesm2020/ptsecurity-mosaic-tabs.mjs.map +0 -1
  544. package/fesm2020/ptsecurity-mosaic-textarea.mjs.map +0 -1
  545. package/fesm2020/ptsecurity-mosaic-title.mjs.map +0 -1
  546. package/fesm2020/ptsecurity-mosaic-tree-select.mjs.map +0 -1
  547. package/fesm2020/ptsecurity-mosaic-tree.mjs.map +0 -1
  548. package/fesm2020/ptsecurity-mosaic.mjs +0 -4
  549. package/fesm2020/ptsecurity-mosaic.mjs.map +0 -1
  550. /package/{esm2020 → esm2022}/autocomplete/index.mjs +0 -0
  551. /package/{esm2020 → esm2022}/autocomplete/ptsecurity-mosaic-autocomplete.mjs +0 -0
  552. /package/{esm2020 → esm2022}/autocomplete/public-api.mjs +0 -0
  553. /package/{esm2020 → esm2022}/button/index.mjs +0 -0
  554. /package/{esm2020 → esm2022}/button/ptsecurity-mosaic-button.mjs +0 -0
  555. /package/{esm2020 → esm2022}/button/public-api.mjs +0 -0
  556. /package/{esm2020 → esm2022}/button-toggle/index.mjs +0 -0
  557. /package/{esm2020 → esm2022}/button-toggle/ptsecurity-mosaic-button-toggle.mjs +0 -0
  558. /package/{esm2020 → esm2022}/button-toggle/public-api.mjs +0 -0
  559. /package/{esm2020 → esm2022}/card/index.mjs +0 -0
  560. /package/{esm2020 → esm2022}/card/ptsecurity-mosaic-card.mjs +0 -0
  561. /package/{esm2020 → esm2022}/card/public-api.mjs +0 -0
  562. /package/{esm2020 → esm2022}/checkbox/checkbox-config.mjs +0 -0
  563. /package/{esm2020 → esm2022}/checkbox/index.mjs +0 -0
  564. /package/{esm2020 → esm2022}/checkbox/ptsecurity-mosaic-checkbox.mjs +0 -0
  565. /package/{esm2020 → esm2022}/checkbox/public-api.mjs +0 -0
  566. /package/{esm2020 → esm2022}/code-block/code-block.types.mjs +0 -0
  567. /package/{esm2020 → esm2022}/code-block/index.mjs +0 -0
  568. /package/{esm2020 → esm2022}/code-block/ptsecurity-mosaic-code-block.mjs +0 -0
  569. /package/{esm2020 → esm2022}/code-block/public-api.mjs +0 -0
  570. /package/{esm2020 → esm2022}/core/animation/animation.mjs +0 -0
  571. /package/{esm2020 → esm2022}/core/animation/fade-animations.mjs +0 -0
  572. /package/{esm2020 → esm2022}/core/animation/index.mjs +0 -0
  573. /package/{esm2020 → esm2022}/core/animation/select-animations.mjs +0 -0
  574. /package/{esm2020 → esm2022}/core/common-behaviors/constructor.mjs +0 -0
  575. /package/{esm2020 → esm2022}/core/common-behaviors/error-state.mjs +0 -0
  576. /package/{esm2020 → esm2022}/core/common-behaviors/index.mjs +0 -0
  577. /package/{esm2020 → esm2022}/core/datetime/date-adapter.mjs +0 -0
  578. /package/{esm2020 → esm2022}/core/datetime/date-formats.mjs +0 -0
  579. /package/{esm2020 → esm2022}/core/datetime/index.mjs +0 -0
  580. /package/{esm2020 → esm2022}/core/forms/index.mjs +0 -0
  581. /package/{esm2020 → esm2022}/core/index.mjs +0 -0
  582. /package/{esm2020 → esm2022}/core/label/label-options.mjs +0 -0
  583. /package/{esm2020 → esm2022}/core/locales/index.mjs +0 -0
  584. /package/{esm2020 → esm2022}/core/option/index.mjs +0 -0
  585. /package/{esm2020 → esm2022}/core/pop-up/constants.mjs +0 -0
  586. /package/{esm2020 → esm2022}/core/pop-up/index.mjs +0 -0
  587. /package/{esm2020 → esm2022}/core/ptsecurity-mosaic-core.mjs +0 -0
  588. /package/{esm2020 → esm2022}/core/public-api.mjs +0 -0
  589. /package/{esm2020 → esm2022}/core/select/constants.mjs +0 -0
  590. /package/{esm2020 → esm2022}/core/select/errors.mjs +0 -0
  591. /package/{esm2020 → esm2022}/core/select/events.mjs +0 -0
  592. /package/{esm2020 → esm2022}/core/select/index.mjs +0 -0
  593. /package/{esm2020 → esm2022}/core/selection/constants.mjs +0 -0
  594. /package/{esm2020 → esm2022}/core/selection/index.mjs +0 -0
  595. /package/{esm2020 → esm2022}/core/title/index.mjs +0 -0
  596. /package/{esm2020 → esm2022}/core/title/title-text-ref.mjs +0 -0
  597. /package/{esm2020 → esm2022}/core/utils/data-size/config.mjs +0 -0
  598. /package/{esm2020 → esm2022}/core/utils/data-size/index.mjs +0 -0
  599. /package/{esm2020 → esm2022}/core/utils/data-size/size.mjs +0 -0
  600. /package/{esm2020 → esm2022}/core/utils/index.mjs +0 -0
  601. /package/{esm2020 → esm2022}/core/utils/public-api.mjs +0 -0
  602. /package/{esm2020 → esm2022}/core/utils/utils.mjs +0 -0
  603. /package/{esm2020 → esm2022}/core/validation/index.mjs +0 -0
  604. /package/{esm2020 → esm2022}/core/validation/validation.mjs +0 -0
  605. /package/{esm2020 → esm2022}/datepicker/datepicker-animations.mjs +0 -0
  606. /package/{esm2020 → esm2022}/datepicker/datepicker-errors.mjs +0 -0
  607. /package/{esm2020 → esm2022}/datepicker/index.mjs +0 -0
  608. /package/{esm2020 → esm2022}/datepicker/ptsecurity-mosaic-datepicker.mjs +0 -0
  609. /package/{esm2020 → esm2022}/datepicker/public-api.mjs +0 -0
  610. /package/{esm2020 → esm2022}/divider/index.mjs +0 -0
  611. /package/{esm2020 → esm2022}/divider/ptsecurity-mosaic-divider.mjs +0 -0
  612. /package/{esm2020 → esm2022}/divider/public-api.mjs +0 -0
  613. /package/{esm2020 → esm2022}/dl/index.mjs +0 -0
  614. /package/{esm2020 → esm2022}/dl/ptsecurity-mosaic-dl.mjs +0 -0
  615. /package/{esm2020 → esm2022}/dl/public-api.mjs +0 -0
  616. /package/{esm2020 → esm2022}/dropdown/dropdown-animations.mjs +0 -0
  617. /package/{esm2020 → esm2022}/dropdown/dropdown-errors.mjs +0 -0
  618. /package/{esm2020 → esm2022}/dropdown/dropdown.types.mjs +0 -0
  619. /package/{esm2020 → esm2022}/dropdown/index.mjs +0 -0
  620. /package/{esm2020 → esm2022}/dropdown/ptsecurity-mosaic-dropdown.mjs +0 -0
  621. /package/{esm2020 → esm2022}/dropdown/public-api.mjs +0 -0
  622. /package/{esm2020 → esm2022}/ellipsis-center/index.mjs +0 -0
  623. /package/{esm2020 → esm2022}/ellipsis-center/ptsecurity-mosaic-ellipsis-center.mjs +0 -0
  624. /package/{esm2020 → esm2022}/ellipsis-center/public-api.mjs +0 -0
  625. /package/{esm2020 → esm2022}/file-upload/file-upload.mjs +0 -0
  626. /package/{esm2020 → esm2022}/file-upload/index.mjs +0 -0
  627. /package/{esm2020 → esm2022}/file-upload/ptsecurity-mosaic-file-upload.mjs +0 -0
  628. /package/{esm2020 → esm2022}/file-upload/public-api.mjs +0 -0
  629. /package/{esm2020 → esm2022}/form-field/form-field-control.mjs +0 -0
  630. /package/{esm2020 → esm2022}/form-field/form-field-errors.mjs +0 -0
  631. /package/{esm2020 → esm2022}/form-field/index.mjs +0 -0
  632. /package/{esm2020 → esm2022}/form-field/ptsecurity-mosaic-form-field.mjs +0 -0
  633. /package/{esm2020 → esm2022}/form-field/public-api.mjs +0 -0
  634. /package/{esm2020 → esm2022}/icon/index.mjs +0 -0
  635. /package/{esm2020 → esm2022}/icon/ptsecurity-mosaic-icon.mjs +0 -0
  636. /package/{esm2020 → esm2022}/icon/public-api.mjs +0 -0
  637. /package/{esm2020 → esm2022}/index.mjs +0 -0
  638. /package/{esm2020 → esm2022}/input/index.mjs +0 -0
  639. /package/{esm2020 → esm2022}/input/input-errors.mjs +0 -0
  640. /package/{esm2020 → esm2022}/input/input-value-accessor.mjs +0 -0
  641. /package/{esm2020 → esm2022}/input/ptsecurity-mosaic-input.mjs +0 -0
  642. /package/{esm2020 → esm2022}/input/public-api.mjs +0 -0
  643. /package/{esm2020 → esm2022}/link/index.mjs +0 -0
  644. /package/{esm2020 → esm2022}/link/ptsecurity-mosaic-link.mjs +0 -0
  645. /package/{esm2020 → esm2022}/link/public-api.mjs +0 -0
  646. /package/{esm2020 → esm2022}/list/index.mjs +0 -0
  647. /package/{esm2020 → esm2022}/list/ptsecurity-mosaic-list.mjs +0 -0
  648. /package/{esm2020 → esm2022}/list/public-api.mjs +0 -0
  649. /package/{esm2020 → esm2022}/loader-overlay/index.mjs +0 -0
  650. /package/{esm2020 → esm2022}/loader-overlay/ptsecurity-mosaic-loader-overlay.mjs +0 -0
  651. /package/{esm2020 → esm2022}/loader-overlay/public-api.mjs +0 -0
  652. /package/{esm2020 → esm2022}/markdown/index.mjs +0 -0
  653. /package/{esm2020 → esm2022}/markdown/markdown.values.mjs +0 -0
  654. /package/{esm2020 → esm2022}/markdown/ptsecurity-mosaic-markdown.mjs +0 -0
  655. /package/{esm2020 → esm2022}/markdown/public-api.mjs +0 -0
  656. /package/{esm2020 → esm2022}/modal/index.mjs +0 -0
  657. /package/{esm2020 → esm2022}/modal/modal-ref.class.mjs +0 -0
  658. /package/{esm2020 → esm2022}/modal/modal-util.mjs +0 -0
  659. /package/{esm2020 → esm2022}/modal/modal.type.mjs +0 -0
  660. /package/{esm2020 → esm2022}/modal/ptsecurity-mosaic-modal.mjs +0 -0
  661. /package/{esm2020 → esm2022}/modal/public-api.mjs +0 -0
  662. /package/{esm2020 → esm2022}/navbar/index.mjs +0 -0
  663. /package/{esm2020 → esm2022}/navbar/ptsecurity-mosaic-navbar.mjs +0 -0
  664. /package/{esm2020 → esm2022}/navbar/public-api.mjs +0 -0
  665. /package/{esm2020 → esm2022}/navbar/vertical-navbar.animation.mjs +0 -0
  666. /package/{esm2020 → esm2022}/popover/index.mjs +0 -0
  667. /package/{esm2020 → esm2022}/popover/popover-animations.mjs +0 -0
  668. /package/{esm2020 → esm2022}/popover/ptsecurity-mosaic-popover.mjs +0 -0
  669. /package/{esm2020 → esm2022}/popover/public-api.mjs +0 -0
  670. /package/{esm2020 → esm2022}/progress-bar/index.mjs +0 -0
  671. /package/{esm2020 → esm2022}/progress-bar/ptsecurity-mosaic-progress-bar.mjs +0 -0
  672. /package/{esm2020 → esm2022}/progress-bar/public-api.mjs +0 -0
  673. /package/{esm2020 → esm2022}/progress-spinner/index.mjs +0 -0
  674. /package/{esm2020 → esm2022}/progress-spinner/ptsecurity-mosaic-progress-spinner.mjs +0 -0
  675. /package/{esm2020 → esm2022}/progress-spinner/public-api.mjs +0 -0
  676. /package/{esm2020 → esm2022}/ptsecurity-mosaic.mjs +0 -0
  677. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
  678. /package/{esm2020 → esm2022}/radio/index.mjs +0 -0
  679. /package/{esm2020 → esm2022}/radio/ptsecurity-mosaic-radio.mjs +0 -0
  680. /package/{esm2020 → esm2022}/radio/public-api.mjs +0 -0
  681. /package/{esm2020 → esm2022}/select/index.mjs +0 -0
  682. /package/{esm2020 → esm2022}/select/ptsecurity-mosaic-select.mjs +0 -0
  683. /package/{esm2020 → esm2022}/select/public-api.mjs +0 -0
  684. /package/{esm2020 → esm2022}/sidebar/index.mjs +0 -0
  685. /package/{esm2020 → esm2022}/sidebar/ptsecurity-mosaic-sidebar.mjs +0 -0
  686. /package/{esm2020 → esm2022}/sidebar/public-api.mjs +0 -0
  687. /package/{esm2020 → esm2022}/sidebar/sidebar-animations.mjs +0 -0
  688. /package/{esm2020 → esm2022}/sidepanel/index.mjs +0 -0
  689. /package/{esm2020 → esm2022}/sidepanel/ptsecurity-mosaic-sidepanel.mjs +0 -0
  690. /package/{esm2020 → esm2022}/sidepanel/public-api.mjs +0 -0
  691. /package/{esm2020 → esm2022}/sidepanel/sidepanel-animations.mjs +0 -0
  692. /package/{esm2020 → esm2022}/sidepanel/sidepanel-config.mjs +0 -0
  693. /package/{esm2020 → esm2022}/sidepanel/sidepanel-ref.mjs +0 -0
  694. /package/{esm2020 → esm2022}/splitter/index.mjs +0 -0
  695. /package/{esm2020 → esm2022}/splitter/ptsecurity-mosaic-splitter.mjs +0 -0
  696. /package/{esm2020 → esm2022}/splitter/public-api.mjs +0 -0
  697. /package/{esm2020 → esm2022}/table/index.mjs +0 -0
  698. /package/{esm2020 → esm2022}/table/ptsecurity-mosaic-table.mjs +0 -0
  699. /package/{esm2020 → esm2022}/table/public-api.mjs +0 -0
  700. /package/{esm2020 → esm2022}/tabs/index.mjs +0 -0
  701. /package/{esm2020 → esm2022}/tabs/ptsecurity-mosaic-tabs.mjs +0 -0
  702. /package/{esm2020 → esm2022}/tabs/public-api.mjs +0 -0
  703. /package/{esm2020 → esm2022}/tabs/tab-nav-bar/index.mjs +0 -0
  704. /package/{esm2020 → esm2022}/tabs/tabs-animations.mjs +0 -0
  705. /package/{esm2020 → esm2022}/tags/index.mjs +0 -0
  706. /package/{esm2020 → esm2022}/tags/ptsecurity-mosaic-tags.mjs +0 -0
  707. /package/{esm2020 → esm2022}/tags/public-api.mjs +0 -0
  708. /package/{esm2020 → esm2022}/tags/tag-default-options.mjs +0 -0
  709. /package/{esm2020 → esm2022}/tags/tag-text-control.mjs +0 -0
  710. /package/{esm2020 → esm2022}/textarea/index.mjs +0 -0
  711. /package/{esm2020 → esm2022}/textarea/ptsecurity-mosaic-textarea.mjs +0 -0
  712. /package/{esm2020 → esm2022}/textarea/public-api.mjs +0 -0
  713. /package/{esm2020 → esm2022}/timepicker/index.mjs +0 -0
  714. /package/{esm2020 → esm2022}/timepicker/ptsecurity-mosaic-timepicker.mjs +0 -0
  715. /package/{esm2020 → esm2022}/timepicker/public-api.mjs +0 -0
  716. /package/{esm2020 → esm2022}/timepicker/timepicker.constants.mjs +0 -0
  717. /package/{esm2020 → esm2022}/timezone/index.mjs +0 -0
  718. /package/{esm2020 → esm2022}/timezone/ptsecurity-mosaic-timezone.mjs +0 -0
  719. /package/{esm2020 → esm2022}/timezone/public-api.mjs +0 -0
  720. /package/{esm2020 → esm2022}/timezone/timezone.models.mjs +0 -0
  721. /package/{esm2020 → esm2022}/timezone/timezone.utils.mjs +0 -0
  722. /package/{esm2020 → esm2022}/title/index.mjs +0 -0
  723. /package/{esm2020 → esm2022}/title/ptsecurity-mosaic-title.mjs +0 -0
  724. /package/{esm2020 → esm2022}/title/public-api.mjs +0 -0
  725. /package/{esm2020 → esm2022}/toast/index.mjs +0 -0
  726. /package/{esm2020 → esm2022}/toast/ptsecurity-mosaic-toast.mjs +0 -0
  727. /package/{esm2020 → esm2022}/toast/public-api.mjs +0 -0
  728. /package/{esm2020 → esm2022}/toast/toast-animations.mjs +0 -0
  729. /package/{esm2020 → esm2022}/toast/toast.type.mjs +0 -0
  730. /package/{esm2020 → esm2022}/toggle/index.mjs +0 -0
  731. /package/{esm2020 → esm2022}/toggle/ptsecurity-mosaic-toggle.mjs +0 -0
  732. /package/{esm2020 → esm2022}/toggle/public-api.mjs +0 -0
  733. /package/{esm2020 → esm2022}/tooltip/index.mjs +0 -0
  734. /package/{esm2020 → esm2022}/tooltip/ptsecurity-mosaic-tooltip.mjs +0 -0
  735. /package/{esm2020 → esm2022}/tooltip/public-api.mjs +0 -0
  736. /package/{esm2020 → esm2022}/tooltip/tooltip.animations.mjs +0 -0
  737. /package/{esm2020 → esm2022}/tree/control/base-tree-control.mjs +0 -0
  738. /package/{esm2020 → esm2022}/tree/control/flat-tree-control.mjs +0 -0
  739. /package/{esm2020 → esm2022}/tree/control/nested-tree-control.mjs +0 -0
  740. /package/{esm2020 → esm2022}/tree/control/tree-control.mjs +0 -0
  741. /package/{esm2020 → esm2022}/tree/data-source/nested-data-source.mjs +0 -0
  742. /package/{esm2020 → esm2022}/tree/index.mjs +0 -0
  743. /package/{esm2020 → esm2022}/tree/ptsecurity-mosaic-tree.mjs +0 -0
  744. /package/{esm2020 → esm2022}/tree/public-api.mjs +0 -0
  745. /package/{esm2020 → esm2022}/tree/tree-errors.mjs +0 -0
  746. /package/{esm2020 → esm2022}/tree-select/index.mjs +0 -0
  747. /package/{esm2020 → esm2022}/tree-select/ptsecurity-mosaic-tree-select.mjs +0 -0
  748. /package/{esm2020 → esm2022}/tree-select/public-api.mjs +0 -0
  749. /package/{fesm2015 → fesm2022}/ptsecurity-mosaic.mjs +0 -0
  750. /package/{fesm2015 → fesm2022}/ptsecurity-mosaic.mjs.map +0 -0
@@ -0,0 +1,298 @@
1
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
2
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Inject, InjectionToken, Input, Optional, Output, ViewChild, ViewEncapsulation } from '@angular/core';
3
+ import { ENTER, SPACE } from '@ptsecurity/cdk/keycodes';
4
+ import { Subject } from 'rxjs';
5
+ import { MC_TITLE_TEXT_REF } from '../title';
6
+ import { McOptgroup } from './optgroup';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "./optgroup";
9
+ import * as i2 from "@angular/common";
10
+ import * as i3 from "../selection/pseudo-checkbox/pseudo-checkbox";
11
+ /**
12
+ * Option IDs need to be unique across components, so this counter exists outside of
13
+ * the component definition.
14
+ */
15
+ let uniqueIdCounter = 0;
16
+ /** Event object emitted by McOption when selected or deselected. */
17
+ export class McOptionSelectionChange {
18
+ constructor(source, isUserInput = false) {
19
+ this.source = source;
20
+ this.isUserInput = isUserInput;
21
+ }
22
+ }
23
+ /**
24
+ * Injection token used to provide the parent component to options.
25
+ */
26
+ export const MC_OPTION_PARENT_COMPONENT = new InjectionToken('MC_OPTION_PARENT_COMPONENT');
27
+ export class McOptionBase {
28
+ /** Emits the selection change event. */
29
+ emitSelectionChangeEvent(isUserInput = false) {
30
+ this.onSelectionChange.emit(new McOptionSelectionChange(this, isUserInput));
31
+ }
32
+ }
33
+ export class McVirtualOption extends McOptionBase {
34
+ get disabled() {
35
+ return this._disabled;
36
+ }
37
+ set disabled(value) {
38
+ this._disabled = coerceBooleanProperty(value);
39
+ }
40
+ get selected() {
41
+ return this._selected;
42
+ }
43
+ get viewValue() {
44
+ return this.value;
45
+ }
46
+ constructor(value, _disabled = false) {
47
+ super();
48
+ this.value = value;
49
+ this._disabled = _disabled;
50
+ this._selected = false;
51
+ this.onSelectionChange = new EventEmitter();
52
+ }
53
+ select() {
54
+ if (!this._selected) {
55
+ this._selected = true;
56
+ this.emitSelectionChangeEvent();
57
+ }
58
+ }
59
+ deselect() {
60
+ if (this._selected) {
61
+ this._selected = false;
62
+ this.emitSelectionChangeEvent();
63
+ }
64
+ }
65
+ }
66
+ /**
67
+ * Single option inside of a `<mc-select>` element.
68
+ */
69
+ export class McOption extends McOptionBase {
70
+ get showCheckbox() {
71
+ return this._showCheckbox === undefined ? this.multiple : this._showCheckbox;
72
+ }
73
+ set showCheckbox(value) {
74
+ this._showCheckbox = coerceBooleanProperty(value);
75
+ }
76
+ /**
77
+ * The displayed value of the option. It is necessary to show the selected option in the
78
+ * select's trigger.
79
+ */
80
+ get viewValue() {
81
+ // TODO: Add input property alternative for node envs.
82
+ return (this.getHostElement().textContent || '').trim();
83
+ }
84
+ /** Whether the wrapping component is in multiple selection mode. */
85
+ get multiple() {
86
+ return this.parent && this.parent.multiple;
87
+ }
88
+ get id() {
89
+ return this._id;
90
+ }
91
+ get selected() {
92
+ return this._selected;
93
+ }
94
+ get disabled() {
95
+ return (this.group && this.group.disabled) || this._disabled;
96
+ }
97
+ set disabled(value) {
98
+ this._disabled = coerceBooleanProperty(value);
99
+ }
100
+ /**
101
+ * Whether or not the option is currently active and ready to be selected.
102
+ * An active option displays styles as if it is focused, but the
103
+ * focus is actually retained somewhere else. This comes in handy
104
+ * for components like autocomplete where focus must remain on the input.
105
+ */
106
+ get active() {
107
+ return this._active;
108
+ }
109
+ constructor(element, changeDetectorRef, parent, group) {
110
+ super();
111
+ this.element = element;
112
+ this.changeDetectorRef = changeDetectorRef;
113
+ this.parent = parent;
114
+ this.group = group;
115
+ /** Event emitted when the option is selected or deselected. */
116
+ // tslint:disable-next-line:no-output-on-prefix
117
+ this.onSelectionChange = new EventEmitter();
118
+ /** Emits when the state of the option changes and any parents have to be notified. */
119
+ this.stateChanges = new Subject();
120
+ this._id = `mc-option-${uniqueIdCounter++}`;
121
+ this._selected = false;
122
+ this._disabled = false;
123
+ this._active = false;
124
+ this.mostRecentViewValue = '';
125
+ }
126
+ ngAfterViewChecked() {
127
+ // Since parent components could be using the option's label to display the selected values
128
+ // (e.g. `mc-select`) and they don't have a way of knowing if the option's label has changed
129
+ // we have to check for changes in the DOM ourselves and dispatch an event. These checks are
130
+ // relatively cheap, however we still limit them only to selected options in order to avoid
131
+ // hitting the DOM too often.
132
+ if (this._selected) {
133
+ const viewValue = this.viewValue;
134
+ if (viewValue !== this.mostRecentViewValue) {
135
+ this.mostRecentViewValue = viewValue;
136
+ this.stateChanges.next();
137
+ }
138
+ }
139
+ }
140
+ ngOnDestroy() {
141
+ this.stateChanges.complete();
142
+ }
143
+ getHeight() {
144
+ // tslint:disable-next-line:naming-convention
145
+ const DOMRect = this.element.nativeElement.getClientRects()[0];
146
+ return DOMRect ? DOMRect.height : 0;
147
+ }
148
+ select() {
149
+ if (!this._selected) {
150
+ this._selected = true;
151
+ this.changeDetectorRef.markForCheck();
152
+ this.emitSelectionChangeEvent();
153
+ }
154
+ }
155
+ deselect() {
156
+ if (this._selected) {
157
+ this._selected = false;
158
+ this.changeDetectorRef.markForCheck();
159
+ this.emitSelectionChangeEvent();
160
+ }
161
+ }
162
+ focus() {
163
+ const element = this.getHostElement();
164
+ if (typeof element.focus === 'function') {
165
+ element.focus();
166
+ }
167
+ }
168
+ /**
169
+ * This method sets display styles on the option to make it appear
170
+ * active. This is used by the ActiveDescendantKeyManager so key
171
+ * events will display the proper options as active on arrow key events.
172
+ */
173
+ setActiveStyles() {
174
+ if (!this._active) {
175
+ this._active = true;
176
+ this.changeDetectorRef.markForCheck();
177
+ }
178
+ }
179
+ /**
180
+ * This method removes display styles on the option that made it appear
181
+ * active. This is used by the ActiveDescendantKeyManager so key
182
+ * events will display the proper options as active on arrow key events.
183
+ */
184
+ setInactiveStyles() {
185
+ if (this._active) {
186
+ this._active = false;
187
+ this.changeDetectorRef.markForCheck();
188
+ }
189
+ }
190
+ /** Gets the label to be used when determining whether the option should be focused. */
191
+ getLabel() {
192
+ return this.viewValue;
193
+ }
194
+ /** Ensures the option is selected when activated from the keyboard. */
195
+ handleKeydown(event) {
196
+ // tslint:disable-next-line
197
+ if (event.keyCode === ENTER || event.keyCode === SPACE) {
198
+ this.selectViaInteraction();
199
+ // Prevent the page from scrolling down and form submits.
200
+ event.preventDefault();
201
+ }
202
+ }
203
+ /**
204
+ * `Selects the option while indicating the selection came from the user. Used to
205
+ * determine if the select's view -> model callback should be invoked.`
206
+ */
207
+ selectViaInteraction() {
208
+ if (!this.disabled) {
209
+ this._selected = this.multiple ? !this._selected : true;
210
+ this.changeDetectorRef.markForCheck();
211
+ this.emitSelectionChangeEvent(true);
212
+ }
213
+ }
214
+ getTabIndex() {
215
+ return this.disabled ? '-1' : '0';
216
+ }
217
+ getHostElement() {
218
+ return this.element.nativeElement;
219
+ }
220
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: McOption, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: MC_OPTION_PARENT_COMPONENT, optional: true }, { token: i1.McOptgroup, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
221
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: McOption, selector: "mc-option", inputs: { value: "value", showCheckbox: "showCheckbox", disabled: "disabled" }, outputs: { onSelectionChange: "onSelectionChange" }, host: { listeners: { "click": "selectViaInteraction()", "keydown": "handleKeydown($event)" }, properties: { "attr.tabindex": "getTabIndex()", "class.mc-selected": "selected", "class.mc-option-multiple": "multiple", "class.mc-active": "active", "class.mc-disabled": "disabled", "id": "id" }, classAttribute: "mc-option" }, providers: [{
222
+ provide: MC_TITLE_TEXT_REF, useExisting: McOption
223
+ }], viewQueries: [{ propertyName: "textElement", first: true, predicate: ["mcTitleText"], descendants: true }], exportAs: ["mcOption"], usesInheritance: true, ngImport: i0, template: "<mc-pseudo-checkbox\n *ngIf=\"showCheckbox\"\n [state]=\"selected ? 'checked' : 'unchecked'\"\n [disabled]=\"disabled\">\n</mc-pseudo-checkbox>\n\n<span #mcTitleText class=\"mc-option-text\"><ng-content></ng-content></span>\n\n<div class=\"mc-option-overlay\"></div>\n", 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, 10px);padding-right:var(--mc-option-size-horizontal-padding, 10px);-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}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.McPseudoCheckbox, selector: "mc-pseudo-checkbox", inputs: ["color", "state", "disabled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
224
+ }
225
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: McOption, decorators: [{
226
+ type: Component,
227
+ args: [{ selector: 'mc-option', exportAs: 'mcOption', host: {
228
+ '[attr.tabindex]': 'getTabIndex()',
229
+ class: 'mc-option',
230
+ '[class.mc-selected]': 'selected',
231
+ '[class.mc-option-multiple]': 'multiple',
232
+ '[class.mc-active]': 'active',
233
+ '[class.mc-disabled]': 'disabled',
234
+ '[id]': 'id',
235
+ '(click)': 'selectViaInteraction()',
236
+ '(keydown)': 'handleKeydown($event)'
237
+ }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [{
238
+ provide: MC_TITLE_TEXT_REF, useExisting: McOption
239
+ }], template: "<mc-pseudo-checkbox\n *ngIf=\"showCheckbox\"\n [state]=\"selected ? 'checked' : 'unchecked'\"\n [disabled]=\"disabled\">\n</mc-pseudo-checkbox>\n\n<span #mcTitleText class=\"mc-option-text\"><ng-content></ng-content></span>\n\n<div class=\"mc-option-overlay\"></div>\n", 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, 10px);padding-right:var(--mc-option-size-horizontal-padding, 10px);-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}\n"] }]
240
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
241
+ type: Optional
242
+ }, {
243
+ type: Inject,
244
+ args: [MC_OPTION_PARENT_COMPONENT]
245
+ }] }, { type: i1.McOptgroup, decorators: [{
246
+ type: Optional
247
+ }] }]; }, propDecorators: { textElement: [{
248
+ type: ViewChild,
249
+ args: ['mcTitleText', { static: false }]
250
+ }], value: [{
251
+ type: Input
252
+ }], showCheckbox: [{
253
+ type: Input
254
+ }], onSelectionChange: [{
255
+ type: Output
256
+ }], disabled: [{
257
+ type: Input
258
+ }] } });
259
+ /**
260
+ * Counts the amount of option group labels that precede the specified option.
261
+ * @param optionIndex Index of the option at which to start counting.
262
+ * @param options Flat list of all of the options.
263
+ * @param optionGroups Flat list of all of the option groups.
264
+ * @docs-private
265
+ */
266
+ export function countGroupLabelsBeforeOption(optionIndex, options, optionGroups) {
267
+ if (optionGroups.length) {
268
+ const optionsArray = options.toArray();
269
+ const groups = optionGroups.toArray();
270
+ let groupCounter = 0;
271
+ for (let i = 0; i < optionIndex + 1; i++) {
272
+ if (optionsArray[i].group && optionsArray[i].group === groups[groupCounter]) {
273
+ groupCounter++;
274
+ }
275
+ }
276
+ return groupCounter;
277
+ }
278
+ return 0;
279
+ }
280
+ /**
281
+ * Determines the position to which to scroll a panel in order for an option to be into view.
282
+ * @param optionIndex Index of the option to be scrolled into the view.
283
+ * @param optionHeight Height of the options.
284
+ * @param currentScrollPosition Current scroll position of the panel.
285
+ * @param panelHeight Height of the panel.
286
+ * @docs-private
287
+ */
288
+ export function getOptionScrollPosition(optionIndex, optionHeight, currentScrollPosition, panelHeight) {
289
+ const optionOffset = optionIndex * optionHeight;
290
+ if (optionOffset < currentScrollPosition) {
291
+ return optionOffset;
292
+ }
293
+ if (optionOffset + optionHeight > currentScrollPosition + panelHeight) {
294
+ return Math.max(0, optionOffset - panelHeight + optionHeight);
295
+ }
296
+ return currentScrollPosition;
297
+ }
298
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbW9zYWljL2NvcmUvb3B0aW9uL29wdGlvbi50cyIsIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL21vc2FpYy9jb3JlL29wdGlvbi9vcHRpb24uaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sY0FBYyxFQUNkLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxFQUVOLFNBQVMsRUFDVCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFBa0IsaUJBQWlCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFN0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFlBQVksQ0FBQzs7Ozs7QUFHeEM7OztHQUdHO0FBQ0gsSUFBSSxlQUFlLEdBQUcsQ0FBQyxDQUFDO0FBRXhCLG9FQUFvRTtBQUNwRSxNQUFNLE9BQU8sdUJBQXVCO0lBQ2hDLFlBQW1CLE1BQVMsRUFBUyxjQUFjLEtBQUs7UUFBckMsV0FBTSxHQUFOLE1BQU0sQ0FBRztRQUFTLGdCQUFXLEdBQVgsV0FBVyxDQUFRO0lBQUcsQ0FBQztDQUMvRDtBQW9CRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUNuQyxJQUFJLGNBQWMsQ0FBMEIsNEJBQTRCLENBQUMsQ0FBQztBQUU5RSxNQUFNLE9BQWdCLFlBQVk7SUFZOUIsd0NBQXdDO0lBQzlCLHdCQUF3QixDQUFDLFdBQVcsR0FB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RDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxVQUFVLHVCQUF1QixDQUNuQyxXQUFtQixFQUNuQixZQUFvQixFQUNwQixxQkFBNkIsRUFDN0IsV0FBbUI7SUFFbkIsTUFBTSxZQUFZLEdBQUcsV0FBVyxHQUFHLFlBQVksQ0FBQztJQUVoRCxJQUFJLFlBQVksR0FBRyxxQkFBcUIsRUFBRTtRQUFFLE9BQU8sWUFBWSxDQUFDO0tBQUU7SUFFbEUsSUFBSSxZQUFZLEdBQUcsWUFBWSxHQUFHLHFCQUFxQixHQUFHLFdBQVcsRUFBRTtRQUNuRSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLFlBQVksR0FBRyxXQUFXLEdBQUcsWUFBWSxDQUFDLENBQUM7S0FDakU7SUFFRCxPQUFPLHFCQUFxQixDQUFDO0FBQ2pDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdDaGVja2VkLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbmplY3QsXG4gICAgSW5qZWN0aW9uVG9rZW4sXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRU5URVIsIFNQQUNFIH0gZnJvbSAnQHB0c2VjdXJpdHkvY2RrL2tleWNvZGVzJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgTWNUaXRsZVRleHRSZWYsIE1DX1RJVExFX1RFWFRfUkVGIH0gZnJvbSAnLi4vdGl0bGUnO1xuXG5pbXBvcnQgeyBNY09wdGdyb3VwIH0gZnJvbSAnLi9vcHRncm91cCc7XG5cblxuLyoqXG4gKiBPcHRpb24gSURzIG5lZWQgdG8gYmUgdW5pcXVlIGFjcm9zcyBjb21wb25lbnRzLCBzbyB0aGlzIGNvdW50ZXIgZXhpc3RzIG91dHNpZGUgb2ZcbiAqIHRoZSBjb21wb25lbnQgZGVmaW5pdGlvbi5cbiAqL1xubGV0IHVuaXF1ZUlkQ291bnRlciA9IDA7XG5cbi8qKiBFdmVudCBvYmplY3QgZW1pdHRlZCBieSBNY09wdGlvbiB3aGVuIHNlbGVjdGVkIG9yIGRlc2VsZWN0ZWQuICovXG5leHBvcnQgY2xhc3MgTWNPcHRpb25TZWxlY3Rpb25DaGFuZ2U8VCA9IE1jT3B0aW9uPiB7XG4gICAgY29uc3RydWN0b3IocHVibGljIHNvdXJjZTogVCwgcHVibGljIGlzVXNlcklucHV0ID0gZmFsc2UpIHt9XG59XG5cbi8qKlxuICogRGVzY3JpYmVzIGEgcGFyZW50IGNvbXBvbmVudCB0aGF0IG1hbmFnZXMgYSBsaXN0IG9mIG9wdGlvbnMuXG4gKiBDb250YWlucyBwcm9wZXJ0aWVzIHRoYXQgdGhlIG9wdGlvbnMgY2FuIGluaGVyaXQuXG4gKiBAZG9jcy1wcml2YXRlXG4gKi9cbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBpbnRlcmZhY2UgTWNPcHRpb25QYXJlbnRDb21wb25lbnQge1xuICAgIG11bHRpcGxlPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBIYW5kbGVyIHRoYXQgd2lsbCB1cGRhdGUgc2Nyb2xsIHBvc2l0aW9uIG9mIGVsZW1lbnRzIGluc2lkZSBvdmVybGF5XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgS2V5Ym9hcmROYXZpZ2F0aW9uSGFuZGxlciB7XG4gICAgLyoqIFNjcm9sbHMgdGhlIGFjdGl2ZSBvcHRpb24gaW50byB2aWV3LiAqL1xuICAgIHNjcm9sbEFjdGl2ZU9wdGlvbkludG9WaWV3KCk6IHZvaWQ7XG59XG5cbi8qKlxuICogSW5qZWN0aW9uIHRva2VuIHVzZWQgdG8gcHJvdmlkZSB0aGUgcGFyZW50IGNvbXBvbmVudCB0byBvcHRpb25zLlxuICovXG5leHBvcnQgY29uc3QgTUNfT1BUSU9OX1BBUkVOVF9DT01QT05FTlQgPVxuICAgIG5ldyBJbmplY3Rpb25Ub2tlbjxNY09wdGlvblBhcmVudENvbXBvbmVudD4oJ01DX09QVElPTl9QQVJFTlRfQ09NUE9ORU5UJyk7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBNY09wdGlvbkJhc2Uge1xuICAgIHZhbHVlOiBhbnk7XG4gICAgYWJzdHJhY3QgZ2V0IHZpZXdWYWx1ZSgpOiBzdHJpbmc7XG4gICAgYWJzdHJhY3QgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW47XG4gICAgYWJzdHJhY3Qgc2V0IGRpc2FibGVkKHZhbHVlOiBhbnkpO1xuXG4gICAgYWJzdHJhY3QgcmVhZG9ubHkgb25TZWxlY3Rpb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxNY09wdGlvblNlbGVjdGlvbkNoYW5nZTxhbnk+PjtcblxuICAgIGFic3RyYWN0IHNlbGVjdCgpOiB2b2lkO1xuXG4gICAgYWJzdHJhY3QgZGVzZWxlY3QoKTogdm9pZDtcblxuICAgIC8qKiBFbWl0cyB0aGUgc2VsZWN0aW9uIGNoYW5nZSBldmVudC4gKi9cbiAgICBwcm90ZWN0ZWQgZW1pdFNlbGVjdGlvbkNoYW5nZUV2ZW50KGlzVXNlcklucHV0ID0gZmFsc2UpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblNlbGVjdGlvbkNoYW5nZS5lbWl0KG5ldyBNY09wdGlvblNlbGVjdGlvbkNoYW5nZSh0aGlzLCBpc1VzZXJJbnB1dCkpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIE1jVmlydHVhbE9wdGlvbiBleHRlbmRzIE1jT3B0aW9uQmFzZSB7XG4gICAgZ2V0IGRpc2FibGVkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gICAgfVxuICAgIHNldCBkaXNhYmxlZCh2YWx1ZTogYW55KSB7XG4gICAgICAgIHRoaXMuX2Rpc2FibGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG5cbiAgICBnZXQgc2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9zZWxlY3RlZCA9IGZhbHNlO1xuXG4gICAgZ2V0IHZpZXdWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZTtcbiAgICB9XG5cbiAgICByZWFkb25seSBvblNlbGVjdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8TWNPcHRpb25TZWxlY3Rpb25DaGFuZ2U8TWNWaXJ0dWFsT3B0aW9uPj4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgdmFsdWU6IGFueSxcbiAgICAgICAgcHJpdmF0ZSBfZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZVxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIHNlbGVjdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9zZWxlY3RlZCkge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWQgPSB0cnVlO1xuXG4gICAgICAgICAgICB0aGlzLmVtaXRTZWxlY3Rpb25DaGFuZ2VFdmVudCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZGVzZWxlY3QoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9zZWxlY3RlZCkge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWQgPSBmYWxzZTtcblxuICAgICAgICAgICAgdGhpcy5lbWl0U2VsZWN0aW9uQ2hhbmdlRXZlbnQoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqXG4gKiBTaW5nbGUgb3B0aW9uIGluc2lkZSBvZiBhIGA8bWMtc2VsZWN0PmAgZWxlbWVudC5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdtYy1vcHRpb24nLFxuICAgIGV4cG9ydEFzOiAnbWNPcHRpb24nLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1thdHRyLnRhYmluZGV4XSc6ICdnZXRUYWJJbmRleCgpJyxcbiAgICAgICAgY2xhc3M6ICdtYy1vcHRpb24nLFxuICAgICAgICAnW2NsYXNzLm1jLXNlbGVjdGVkXSc6ICdzZWxlY3RlZCcsXG4gICAgICAgICdbY2xhc3MubWMtb3B0aW9uLW11bHRpcGxlXSc6ICdtdWx0aXBsZScsXG4gICAgICAgICdbY2xhc3MubWMtYWN0aXZlXSc6ICdhY3RpdmUnLFxuICAgICAgICAnW2NsYXNzLm1jLWRpc2FibGVkXSc6ICdkaXNhYmxlZCcsXG4gICAgICAgICdbaWRdJzogJ2lkJyxcblxuICAgICAgICAnKGNsaWNrKSc6ICdzZWxlY3RWaWFJbnRlcmFjdGlvbigpJyxcbiAgICAgICAgJyhrZXlkb3duKSc6ICdoYW5kbGVLZXlkb3duKCRldmVudCknXG4gICAgfSxcbiAgICBzdHlsZVVybHM6IFsnb3B0aW9uLnNjc3MnXSxcbiAgICB0ZW1wbGF0ZVVybDogJ29wdGlvbi5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW3tcbiAgICAgICAgcHJvdmlkZTogTUNfVElUTEVfVEVYVF9SRUYsIHVzZUV4aXN0aW5nOiBNY09wdGlvblxuICAgIH1dXG59KVxuZXhwb3J0IGNsYXNzIE1jT3B0aW9uIGV4dGVuZHMgTWNPcHRpb25CYXNlIGltcGxlbWVudHMgQWZ0ZXJWaWV3Q2hlY2tlZCwgT25EZXN0cm95LCBNY1RpdGxlVGV4dFJlZiB7XG4gICAgQFZpZXdDaGlsZCgnbWNUaXRsZVRleHQnLCB7IHN0YXRpYzogZmFsc2UgfSkgdGV4dEVsZW1lbnQ6IEVsZW1lbnRSZWY7XG5cbiAgICAvKiogVGhlIGZvcm0gdmFsdWUgb2YgdGhlIG9wdGlvbi4gKi9cbiAgICBASW5wdXQoKSB2YWx1ZTogYW55O1xuXG4gICAgQElucHV0KClcbiAgICBnZXQgc2hvd0NoZWNrYm94KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2hvd0NoZWNrYm94ID09PSB1bmRlZmluZWQgPyB0aGlzLm11bHRpcGxlIDogdGhpcy5fc2hvd0NoZWNrYm94O1xuICAgIH1cblxuICAgIHNldCBzaG93Q2hlY2tib3godmFsdWUpIHtcbiAgICAgICAgdGhpcy5fc2hvd0NoZWNrYm94ID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9zaG93Q2hlY2tib3g6IGJvb2xlYW47XG5cbiAgICAvKiogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBvcHRpb24gaXMgc2VsZWN0ZWQgb3IgZGVzZWxlY3RlZC4gKi9cbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tb3V0cHV0LW9uLXByZWZpeFxuICAgIEBPdXRwdXQoKSByZWFkb25seSBvblNlbGVjdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8TWNPcHRpb25TZWxlY3Rpb25DaGFuZ2U+KCk7XG5cbiAgICAvKiogRW1pdHMgd2hlbiB0aGUgc3RhdGUgb2YgdGhlIG9wdGlvbiBjaGFuZ2VzIGFuZCBhbnkgcGFyZW50cyBoYXZlIHRvIGJlIG5vdGlmaWVkLiAqL1xuICAgIHJlYWRvbmx5IHN0YXRlQ2hhbmdlcyA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGlzcGxheWVkIHZhbHVlIG9mIHRoZSBvcHRpb24uIEl0IGlzIG5lY2Vzc2FyeSB0byBzaG93IHRoZSBzZWxlY3RlZCBvcHRpb24gaW4gdGhlXG4gICAgICogc2VsZWN0J3MgdHJpZ2dlci5cbiAgICAgKi9cbiAgICBnZXQgdmlld1ZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIC8vIFRPRE86IEFkZCBpbnB1dCBwcm9wZXJ0eSBhbHRlcm5hdGl2ZSBmb3Igbm9kZSBlbnZzLlxuICAgICAgICByZXR1cm4gKHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS50ZXh0Q29udGVudCB8fCAnJykudHJpbSgpO1xuICAgIH1cblxuICAgIC8qKiBXaGV0aGVyIHRoZSB3cmFwcGluZyBjb21wb25lbnQgaXMgaW4gbXVsdGlwbGUgc2VsZWN0aW9uIG1vZGUuICovXG4gICAgZ2V0IG11bHRpcGxlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5wYXJlbnQgJiYgdGhpcy5wYXJlbnQubXVsdGlwbGU7XG4gICAgfVxuXG4gICAgZ2V0IGlkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9pZCA9IGBtYy1vcHRpb24tJHt1bmlxdWVJZENvdW50ZXIrK31gO1xuXG4gICAgZ2V0IHNlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc2VsZWN0ZWQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGRpc2FibGVkKCkge1xuICAgICAgICByZXR1cm4gKHRoaXMuZ3JvdXAgJiYgdGhpcy5ncm91cC5kaXNhYmxlZCkgfHwgdGhpcy5fZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgc2V0IGRpc2FibGVkKHZhbHVlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5fZGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2Rpc2FibGVkID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIG9yIG5vdCB0aGUgb3B0aW9uIGlzIGN1cnJlbnRseSBhY3RpdmUgYW5kIHJlYWR5IHRvIGJlIHNlbGVjdGVkLlxuICAgICAqIEFuIGFjdGl2ZSBvcHRpb24gZGlzcGxheXMgc3R5bGVzIGFzIGlmIGl0IGlzIGZvY3VzZWQsIGJ1dCB0aGVcbiAgICAgKiBmb2N1cyBpcyBhY3R1YWxseSByZXRhaW5lZCBzb21ld2hlcmUgZWxzZS4gVGhpcyBjb21lcyBpbiBoYW5keVxuICAgICAqIGZvciBjb21wb25lbnRzIGxpa2UgYXV0b2NvbXBsZXRlIHdoZXJlIGZvY3VzIG11c3QgcmVtYWluIG9uIHRoZSBpbnB1dC5cbiAgICAgKi9cbiAgICBnZXQgYWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWN0aXZlO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2FjdGl2ZSA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBtb3N0UmVjZW50Vmlld1ZhbHVlID0gJyc7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50OiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChNQ19PUFRJT05fUEFSRU5UX0NPTVBPTkVOVCkgcHJpdmF0ZSByZWFkb25seSBwYXJlbnQ6IE1jT3B0aW9uUGFyZW50Q29tcG9uZW50LFxuICAgICAgICBAT3B0aW9uYWwoKSByZWFkb25seSBncm91cDogTWNPcHRncm91cFxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpIHtcbiAgICAgICAgLy8gU2luY2UgcGFyZW50IGNvbXBvbmVudHMgY291bGQgYmUgdXNpbmcgdGhlIG9wdGlvbidzIGxhYmVsIHRvIGRpc3BsYXkgdGhlIHNlbGVjdGVkIHZhbHVlc1xuICAgICAgICAvLyAoZS5nLiBgbWMtc2VsZWN0YCkgYW5kIHRoZXkgZG9uJ3QgaGF2ZSBhIHdheSBvZiBrbm93aW5nIGlmIHRoZSBvcHRpb24ncyBsYWJlbCBoYXMgY2hhbmdlZFxuICAgICAgICAvLyB3ZSBoYXZlIHRvIGNoZWNrIGZvciBjaGFuZ2VzIGluIHRoZSBET00gb3Vyc2VsdmVzIGFuZCBkaXNwYXRjaCBhbiBldmVudC4gVGhlc2UgY2hlY2tzIGFyZVxuICAgICAgICAvLyByZWxhdGl2ZWx5IGNoZWFwLCBob3dldmVyIHdlIHN0aWxsIGxpbWl0IHRoZW0gb25seSB0byBzZWxlY3RlZCBvcHRpb25zIGluIG9yZGVyIHRvIGF2b2lkXG4gICAgICAgIC8vIGhpdHRpbmcgdGhlIERPTSB0b28gb2Z0ZW4uXG4gICAgICAgIGlmICh0aGlzLl9zZWxlY3RlZCkge1xuICAgICAgICAgICAgY29uc3Qgdmlld1ZhbHVlID0gdGhpcy52aWV3VmFsdWU7XG5cbiAgICAgICAgICAgIGlmICh2aWV3VmFsdWUgIT09IHRoaXMubW9zdFJlY2VudFZpZXdWYWx1ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMubW9zdFJlY2VudFZpZXdWYWx1ZSA9IHZpZXdWYWx1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBnZXRIZWlnaHQoKTogbnVtYmVyIHtcbiAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5hbWluZy1jb252ZW50aW9uXG4gICAgICAgIGNvbnN0IERPTVJlY3Q6IERPTVJlY3QgPSB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5nZXRDbGllbnRSZWN0cygpWzBdO1xuXG4gICAgICAgIHJldHVybiBET01SZWN0ID8gRE9NUmVjdC5oZWlnaHQgOiAwO1xuICAgIH1cblxuICAgIHNlbGVjdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9zZWxlY3RlZCkge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWQgPSB0cnVlO1xuXG4gICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgdGhpcy5lbWl0U2VsZWN0aW9uQ2hhbmdlRXZlbnQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRlc2VsZWN0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkID0gZmFsc2U7XG5cbiAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB0aGlzLmVtaXRTZWxlY3Rpb25DaGFuZ2VFdmVudCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZm9jdXMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmdldEhvc3RFbGVtZW50KCk7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBlbGVtZW50LmZvY3VzID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICBlbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBzZXRzIGRpc3BsYXkgc3R5bGVzIG9uIHRoZSBvcHRpb24gdG8gbWFrZSBpdCBhcHBlYXJcbiAgICAgKiBhY3RpdmUuIFRoaXMgaXMgdXNlZCBieSB0aGUgQWN0aXZlRGVzY2VuZGFudEtleU1hbmFnZXIgc28ga2V5XG4gICAgICogZXZlbnRzIHdpbGwgZGlzcGxheSB0aGUgcHJvcGVyIG9wdGlvbnMgYXMgYWN0aXZlIG9uIGFycm93IGtleSBldmVudHMuXG4gICAgICovXG4gICAgc2V0QWN0aXZlU3R5bGVzKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX2FjdGl2ZSkge1xuICAgICAgICAgICAgdGhpcy5fYWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCByZW1vdmVzIGRpc3BsYXkgc3R5bGVzIG9uIHRoZSBvcHRpb24gdGhhdCBtYWRlIGl0IGFwcGVhclxuICAgICAqIGFjdGl2ZS4gVGhpcyBpcyB1c2VkIGJ5IHRoZSBBY3RpdmVEZXNjZW5kYW50S2V5TWFuYWdlciBzbyBrZXlcbiAgICAgKiBldmVudHMgd2lsbCBkaXNwbGF5IHRoZSBwcm9wZXIgb3B0aW9ucyBhcyBhY3RpdmUgb24gYXJyb3cga2V5IGV2ZW50cy5cbiAgICAgKi9cbiAgICBzZXRJbmFjdGl2ZVN0eWxlcygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX2FjdGl2ZSkge1xuICAgICAgICAgICAgdGhpcy5fYWN0aXZlID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEdldHMgdGhlIGxhYmVsIHRvIGJlIHVzZWQgd2hlbiBkZXRlcm1pbmluZyB3aGV0aGVyIHRoZSBvcHRpb24gc2hvdWxkIGJlIGZvY3VzZWQuICovXG4gICAgZ2V0TGFiZWwoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmlld1ZhbHVlO1xuICAgIH1cblxuICAgIC8qKiBFbnN1cmVzIHRoZSBvcHRpb24gaXMgc2VsZWN0ZWQgd2hlbiBhY3RpdmF0ZWQgZnJvbSB0aGUga2V5Ym9hcmQuICovXG4gICAgaGFuZGxlS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmVcbiAgICAgICAgaWYgKGV2ZW50LmtleUNvZGUgPT09IEVOVEVSIHx8IGV2ZW50LmtleUNvZGUgPT09IFNQQUNFKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdFZpYUludGVyYWN0aW9uKCk7XG5cbiAgICAgICAgICAgIC8vIFByZXZlbnQgdGhlIHBhZ2UgZnJvbSBzY3JvbGxpbmcgZG93biBhbmQgZm9ybSBzdWJtaXRzLlxuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGBTZWxlY3RzIHRoZSBvcHRpb24gd2hpbGUgaW5kaWNhdGluZyB0aGUgc2VsZWN0aW9uIGNhbWUgZnJvbSB0aGUgdXNlci4gVXNlZCB0b1xuICAgICAqIGRldGVybWluZSBpZiB0aGUgc2VsZWN0J3MgdmlldyAtPiBtb2RlbCBjYWxsYmFjayBzaG91bGQgYmUgaW52b2tlZC5gXG4gICAgICovXG4gICAgc2VsZWN0VmlhSW50ZXJhY3Rpb24oKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWQgPSB0aGlzLm11bHRpcGxlID8gIXRoaXMuX3NlbGVjdGVkIDogdHJ1ZTtcblxuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgIHRoaXMuZW1pdFNlbGVjdGlvbkNoYW5nZUV2ZW50KHRydWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0VGFiSW5kZXgoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQgPyAnLTEnIDogJzAnO1xuICAgIH1cblxuICAgIGdldEhvc3RFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICAgIH1cbn1cblxuLyoqXG4gKiBDb3VudHMgdGhlIGFtb3VudCBvZiBvcHRpb24gZ3JvdXAgbGFiZWxzIHRoYXQgcHJlY2VkZSB0aGUgc3BlY2lmaWVkIG9wdGlvbi5cbiAqIEBwYXJhbSBvcHRpb25JbmRleCBJbmRleCBvZiB0aGUgb3B0aW9uIGF0IHdoaWNoIHRvIHN0YXJ0IGNvdW50aW5nLlxuICogQHBhcmFtIG9wdGlvbnMgRmxhdCBsaXN0IG9mIGFsbCBvZiB0aGUgb3B0aW9ucy5cbiAqIEBwYXJhbSBvcHRpb25Hcm91cHMgRmxhdCBsaXN0IG9mIGFsbCBvZiB0aGUgb3B0aW9uIGdyb3Vwcy5cbiAqIEBkb2NzLXByaXZhdGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvdW50R3JvdXBMYWJlbHNCZWZvcmVPcHRpb24oXG4gICAgb3B0aW9uSW5kZXg6IG51bWJlcixcbiAgICBvcHRpb25zOiBRdWVyeUxpc3Q8TWNPcHRpb24+LFxuICAgIG9wdGlvbkdyb3VwczogUXVlcnlMaXN0PE1jT3B0Z3JvdXA+XG4pOiBudW1iZXIge1xuXG4gICAgaWYgKG9wdGlvbkdyb3Vwcy5sZW5ndGgpIHtcbiAgICAgICAgY29uc3Qgb3B0aW9uc0FycmF5ID0gb3B0aW9ucy50b0FycmF5KCk7XG4gICAgICAgIGNvbnN0IGdyb3VwcyA9IG9wdGlvbkdyb3Vwcy50b0FycmF5KCk7XG5cbiAgICAgICAgbGV0IGdyb3VwQ291bnRlciA9IDA7XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBvcHRpb25JbmRleCArIDE7IGkrKykge1xuICAgICAgICAgICAgaWYgKG9wdGlvbnNBcnJheVtpXS5ncm91cCAmJiBvcHRpb25zQXJyYXlbaV0uZ3JvdXAgPT09IGdyb3Vwc1tncm91cENvdW50ZXJdKSB7XG4gICAgICAgICAgICAgICAgZ3JvdXBDb3VudGVyKys7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZ3JvdXBDb3VudGVyO1xuICAgIH1cblxuICAgIHJldHVybiAwO1xufVxuXG4vKipcbiAqIERldGVybWluZXMgdGhlIHBvc2l0aW9uIHRvIHdoaWNoIHRvIHNjcm9sbCBhIHBhbmVsIGluIG9yZGVyIGZvciBhbiBvcHRpb24gdG8gYmUgaW50byB2aWV3LlxuICogQHBhcmFtIG9wdGlvbkluZGV4IEluZGV4IG9mIHRoZSBvcHRpb24gdG8gYmUgc2Nyb2xsZWQgaW50byB0aGUgdmlldy5cbiAqIEBwYXJhbSBvcHRpb25IZWlnaHQgSGVpZ2h0IG9mIHRoZSBvcHRpb25zLlxuICogQHBhcmFtIGN1cnJlbnRTY3JvbGxQb3NpdGlvbiBDdXJyZW50IHNjcm9sbCBwb3NpdGlvbiBvZiB0aGUgcGFuZWwuXG4gKiBAcGFyYW0gcGFuZWxIZWlnaHQgSGVpZ2h0IG9mIHRoZSBwYW5lbC5cbiAqIEBkb2NzLXByaXZhdGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldE9wdGlvblNjcm9sbFBvc2l0aW9uKFxuICAgIG9wdGlvbkluZGV4OiBudW1iZXIsXG4gICAgb3B0aW9uSGVpZ2h0OiBudW1iZXIsXG4gICAgY3VycmVudFNjcm9sbFBvc2l0aW9uOiBudW1iZXIsXG4gICAgcGFuZWxIZWlnaHQ6IG51bWJlclxuKTogbnVtYmVyIHtcbiAgICBjb25zdCBvcHRpb25PZmZzZXQgPSBvcHRpb25JbmRleCAqIG9wdGlvbkhlaWdodDtcblxuICAgIGlmIChvcHRpb25PZmZzZXQgPCBjdXJyZW50U2Nyb2xsUG9zaXRpb24pIHsgcmV0dXJuIG9wdGlvbk9mZnNldDsgfVxuXG4gICAgaWYgKG9wdGlvbk9mZnNldCArIG9wdGlvbkhlaWdodCA+IGN1cnJlbnRTY3JvbGxQb3NpdGlvbiArIHBhbmVsSGVpZ2h0KSB7XG4gICAgICAgIHJldHVybiBNYXRoLm1heCgwLCBvcHRpb25PZmZzZXQgLSBwYW5lbEhlaWdodCArIG9wdGlvbkhlaWdodCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGN1cnJlbnRTY3JvbGxQb3NpdGlvbjtcbn1cblxuIiwiPG1jLXBzZXVkby1jaGVja2JveFxuICAgICpuZ0lmPVwic2hvd0NoZWNrYm94XCJcbiAgICBbc3RhdGVdPVwic2VsZWN0ZWQgPyAnY2hlY2tlZCcgOiAndW5jaGVja2VkJ1wiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+XG48L21jLXBzZXVkby1jaGVja2JveD5cblxuPHNwYW4gI21jVGl0bGVUZXh0IGNsYXNzPVwibWMtb3B0aW9uLXRleHRcIj48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9zcGFuPlxuXG48ZGl2IGNsYXNzPVwibWMtb3B0aW9uLW92ZXJsYXlcIj48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,251 @@
1
+ import { Overlay } from '@angular/cdk/overlay';
2
+ export const POSITION_MAP = {
3
+ top: {
4
+ originX: 'center',
5
+ originY: 'top',
6
+ overlayX: 'center',
7
+ overlayY: 'bottom'
8
+ },
9
+ topCenter: {
10
+ originX: 'center',
11
+ originY: 'top',
12
+ overlayX: 'center',
13
+ overlayY: 'bottom'
14
+ },
15
+ topLeft: {
16
+ originX: 'start',
17
+ originY: 'top',
18
+ overlayX: 'start',
19
+ overlayY: 'bottom'
20
+ },
21
+ topRight: {
22
+ originX: 'end',
23
+ originY: 'top',
24
+ overlayX: 'end',
25
+ overlayY: 'bottom'
26
+ },
27
+ right: {
28
+ originX: 'end',
29
+ originY: 'center',
30
+ overlayX: 'start',
31
+ overlayY: 'center'
32
+ },
33
+ rightTop: {
34
+ originX: 'end',
35
+ originY: 'top',
36
+ overlayX: 'start',
37
+ overlayY: 'top'
38
+ },
39
+ rightBottom: {
40
+ originX: 'end',
41
+ originY: 'bottom',
42
+ overlayX: 'start',
43
+ overlayY: 'bottom'
44
+ },
45
+ bottom: {
46
+ originX: 'center',
47
+ originY: 'bottom',
48
+ overlayX: 'center',
49
+ overlayY: 'top'
50
+ },
51
+ bottomCenter: {
52
+ originX: 'center',
53
+ originY: 'bottom',
54
+ overlayX: 'center',
55
+ overlayY: 'top'
56
+ },
57
+ bottomLeft: {
58
+ originX: 'start',
59
+ originY: 'bottom',
60
+ overlayX: 'start',
61
+ overlayY: 'top'
62
+ },
63
+ bottomRight: {
64
+ originX: 'end',
65
+ originY: 'bottom',
66
+ overlayX: 'end',
67
+ overlayY: 'top'
68
+ },
69
+ left: {
70
+ originX: 'start',
71
+ originY: 'center',
72
+ overlayX: 'end',
73
+ overlayY: 'center'
74
+ },
75
+ leftTop: {
76
+ originX: 'start',
77
+ originY: 'top',
78
+ overlayX: 'end',
79
+ overlayY: 'top'
80
+ },
81
+ leftBottom: {
82
+ originX: 'start',
83
+ originY: 'bottom',
84
+ overlayX: 'end',
85
+ overlayY: 'bottom'
86
+ }
87
+ };
88
+ export const EXTENDED_OVERLAY_POSITIONS = objectValues([
89
+ POSITION_MAP.top,
90
+ POSITION_MAP.topLeft,
91
+ POSITION_MAP.topRight,
92
+ POSITION_MAP.right,
93
+ POSITION_MAP.rightTop,
94
+ POSITION_MAP.rightBottom,
95
+ POSITION_MAP.bottom,
96
+ POSITION_MAP.bottomLeft,
97
+ POSITION_MAP.bottomRight,
98
+ POSITION_MAP.left,
99
+ POSITION_MAP.leftTop,
100
+ POSITION_MAP.leftBottom
101
+ ]);
102
+ export const TOP_POSITION_PRIORITY = objectValues([
103
+ POSITION_MAP.top,
104
+ POSITION_MAP.bottom,
105
+ POSITION_MAP.right,
106
+ POSITION_MAP.rightBottom,
107
+ POSITION_MAP.leftBottom,
108
+ POSITION_MAP.bottomLeft,
109
+ POSITION_MAP.bottomRight
110
+ ]);
111
+ export const BOTTOM_POSITION_PRIORITY = objectValues([
112
+ POSITION_MAP.bottom,
113
+ POSITION_MAP.top,
114
+ POSITION_MAP.topLeft,
115
+ POSITION_MAP.topRight,
116
+ POSITION_MAP.rightBottom,
117
+ POSITION_MAP.leftBottom
118
+ ]);
119
+ export const RIGHT_POSITION_PRIORITY = objectValues([
120
+ POSITION_MAP.right,
121
+ POSITION_MAP.left,
122
+ POSITION_MAP.leftTop,
123
+ POSITION_MAP.leftBottom,
124
+ POSITION_MAP.top,
125
+ POSITION_MAP.bottom
126
+ ]);
127
+ export const LEFT_POSITION_PRIORITY = objectValues([
128
+ POSITION_MAP.left,
129
+ POSITION_MAP.right,
130
+ POSITION_MAP.rightTop,
131
+ POSITION_MAP.rightBottom,
132
+ POSITION_MAP.top,
133
+ POSITION_MAP.bottom
134
+ ]);
135
+ export const RIGHT_TOP_POSITION_PRIORITY = objectValues([
136
+ POSITION_MAP.rightTop,
137
+ POSITION_MAP.leftTop,
138
+ POSITION_MAP.left,
139
+ POSITION_MAP.leftBottom,
140
+ POSITION_MAP.topLeft,
141
+ POSITION_MAP.bottomLeft
142
+ ]);
143
+ export const RIGHT_BOTTOM_POSITION_PRIORITY = objectValues([
144
+ POSITION_MAP.rightBottom,
145
+ POSITION_MAP.leftBottom,
146
+ POSITION_MAP.left,
147
+ POSITION_MAP.leftTop,
148
+ POSITION_MAP.topLeft,
149
+ POSITION_MAP.bottomLeft
150
+ ]);
151
+ export const LEFT_TOP_POSITION_PRIORITY = objectValues([
152
+ POSITION_MAP.leftTop,
153
+ POSITION_MAP.rightTop,
154
+ POSITION_MAP.right,
155
+ POSITION_MAP.rightBottom,
156
+ POSITION_MAP.topRight,
157
+ POSITION_MAP.bottomRight
158
+ ]);
159
+ export const LEFT_BOTTOM_POSITION_PRIORITY = objectValues([
160
+ POSITION_MAP.leftBottom,
161
+ POSITION_MAP.rightBottom,
162
+ POSITION_MAP.right,
163
+ POSITION_MAP.rightTop,
164
+ POSITION_MAP.topRight,
165
+ POSITION_MAP.bottomRight
166
+ ]);
167
+ export const TOP_LEFT_POSITION_PRIORITY = objectValues([
168
+ POSITION_MAP.topLeft,
169
+ POSITION_MAP.topRight,
170
+ POSITION_MAP.bottomLeft,
171
+ POSITION_MAP.bottom,
172
+ POSITION_MAP.bottomRight,
173
+ POSITION_MAP.leftBottom,
174
+ POSITION_MAP.rightBottom
175
+ ]);
176
+ export const TOP_RIGHT_POSITION_PRIORITY = objectValues([
177
+ POSITION_MAP.topRight,
178
+ POSITION_MAP.topLeft,
179
+ POSITION_MAP.bottomRight,
180
+ POSITION_MAP.bottom,
181
+ POSITION_MAP.bottomLeft,
182
+ POSITION_MAP.leftBottom,
183
+ POSITION_MAP.rightBottom
184
+ ]);
185
+ export const BOTTOM_RIGHT_POSITION_PRIORITY = objectValues([
186
+ POSITION_MAP.bottomRight,
187
+ POSITION_MAP.bottomLeft,
188
+ POSITION_MAP.topRight,
189
+ POSITION_MAP.top,
190
+ POSITION_MAP.topLeft,
191
+ POSITION_MAP.leftTop,
192
+ POSITION_MAP.rightTop
193
+ ]);
194
+ export const BOTTOM_LEFT_POSITION_PRIORITY = objectValues([
195
+ POSITION_MAP.bottomLeft,
196
+ POSITION_MAP.bottomRight,
197
+ POSITION_MAP.topLeft,
198
+ POSITION_MAP.top,
199
+ POSITION_MAP.topRight,
200
+ POSITION_MAP.rightTop,
201
+ POSITION_MAP.leftTop
202
+ ]);
203
+ export const POSITION_PRIORITY_STRATEGY = {
204
+ top: TOP_POSITION_PRIORITY,
205
+ topLeft: TOP_LEFT_POSITION_PRIORITY,
206
+ topRight: TOP_RIGHT_POSITION_PRIORITY,
207
+ bottom: BOTTOM_POSITION_PRIORITY,
208
+ bottomLeft: BOTTOM_LEFT_POSITION_PRIORITY,
209
+ bottomRight: BOTTOM_RIGHT_POSITION_PRIORITY,
210
+ left: LEFT_POSITION_PRIORITY,
211
+ leftTop: LEFT_TOP_POSITION_PRIORITY,
212
+ leftBottom: LEFT_BOTTOM_POSITION_PRIORITY,
213
+ right: RIGHT_POSITION_PRIORITY,
214
+ rightTop: RIGHT_TOP_POSITION_PRIORITY,
215
+ rightBottom: RIGHT_BOTTOM_POSITION_PRIORITY
216
+ };
217
+ export const POSITION_TO_CSS_MAP = {
218
+ top: 'top',
219
+ topLeft: 'top-left',
220
+ topRight: 'top-right',
221
+ right: 'right',
222
+ rightTop: 'right-top',
223
+ rightBottom: 'right-bottom',
224
+ left: 'left',
225
+ leftTop: 'left-top',
226
+ leftBottom: 'left-bottom',
227
+ bottom: 'bottom',
228
+ bottomLeft: 'bottom-left',
229
+ bottomRight: 'bottom-right'
230
+ };
231
+ export const MC_CUSTOM_SCROLL_STRATEGY_PROVIDER = (token, factory) => ({
232
+ provide: token,
233
+ deps: [Overlay],
234
+ useFactory: factory
235
+ });
236
+ function arrayMap(array, iteratee) {
237
+ let index = -1;
238
+ const length = array === null ? 0 : array.length;
239
+ const result = Array(length);
240
+ while (++index < length) {
241
+ result[index] = iteratee(array[index], index, array);
242
+ }
243
+ return result;
244
+ }
245
+ function baseValues(object, props) {
246
+ return arrayMap(props, (key) => object[key]);
247
+ }
248
+ function objectValues(object) {
249
+ return object === null ? [] : baseValues(object, Object.keys(object));
250
+ }
251
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS1wb3NpdGlvbi1tYXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9tb3NhaWMvY29yZS9vdmVybGF5L292ZXJsYXktcG9zaXRpb24tbWFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBMEIsT0FBTyxFQUFrQixNQUFNLHNCQUFzQixDQUFDO0FBSXZGLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBOEM7SUFDbkUsR0FBRyxFQUFFO1FBQ0QsT0FBTyxFQUFFLFFBQVE7UUFDakIsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUsUUFBUTtRQUNsQixRQUFRLEVBQUUsUUFBUTtLQUNyQjtJQUNELFNBQVMsRUFBRTtRQUNQLE9BQU8sRUFBRSxRQUFRO1FBQ2pCLE9BQU8sRUFBRSxLQUFLO1FBQ2QsUUFBUSxFQUFFLFFBQVE7UUFDbEIsUUFBUSxFQUFFLFFBQVE7S0FDckI7SUFDRCxPQUFPLEVBQUU7UUFDTCxPQUFPLEVBQUUsT0FBTztRQUNoQixPQUFPLEVBQUUsS0FBSztRQUNkLFFBQVEsRUFBRSxPQUFPO1FBQ2pCLFFBQVEsRUFBRSxRQUFRO0tBQ3JCO0lBQ0QsUUFBUSxFQUFFO1FBQ04sT0FBTyxFQUFFLEtBQUs7UUFDZCxPQUFPLEVBQUUsS0FBSztRQUNkLFFBQVEsRUFBRSxLQUFLO1FBQ2YsUUFBUSxFQUFFLFFBQVE7S0FDckI7SUFDRCxLQUFLLEVBQUU7UUFDSCxPQUFPLEVBQUUsS0FBSztRQUNkLE9BQU8sRUFBRSxRQUFRO1FBQ2pCLFFBQVEsRUFBRSxPQUFPO1FBQ2pCLFFBQVEsRUFBRSxRQUFRO0tBQ3JCO0lBQ0QsUUFBUSxFQUFFO1FBQ04sT0FBTyxFQUFFLEtBQUs7UUFDZCxPQUFPLEVBQUUsS0FBSztRQUNkLFFBQVEsRUFBRSxPQUFPO1FBQ2pCLFFBQVEsRUFBRSxLQUFLO0tBQ2xCO0lBQ0QsV0FBVyxFQUFFO1FBQ1QsT0FBTyxFQUFFLEtBQUs7UUFDZCxP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RSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7S0FDMUQ7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNsQixDQUFDO0FBQ0QsU0FBUyxVQUFVLENBQUksTUFBVyxFQUFFLEtBQWU7SUFDL0MsT0FBTyxRQUFRLENBQUMsS0FBSyxFQUFHLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUNsRCxDQUFDO0FBQ0QsU0FBUyxZQUFZLENBQUksTUFBVztJQUNoQyxPQUFPLE1BQU0sS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDMUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIsIE92ZXJsYXksIFNjcm9sbFN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuXG5leHBvcnQgY29uc3QgUE9TSVRJT05fTUFQOiB7IFtrZXk6IHN0cmluZ106IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIgfSA9IHtcbiAgICB0b3A6IHtcbiAgICAgICAgb3JpZ2luWDogJ2NlbnRlcicsXG4gICAgICAgIG9yaWdpblk6ICd0b3AnLFxuICAgICAgICBvdmVybGF5WDogJ2NlbnRlcicsXG4gICAgICAgIG92ZXJsYXlZOiAnYm90dG9tJ1xuICAgIH0sXG4gICAgdG9wQ2VudGVyOiB7XG4gICAgICAgIG9yaWdpblg6ICdjZW50ZXInLFxuICAgICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgICAgb3ZlcmxheVg6ICdjZW50ZXInLFxuICAgICAgICBvdmVybGF5WTogJ2JvdHRvbSdcbiAgICB9LFxuICAgIHRvcExlZnQ6IHtcbiAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICBvdmVybGF5WTogJ2JvdHRvbSdcbiAgICB9LFxuICAgIHRvcFJpZ2h0OiB7XG4gICAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgICAgb3ZlcmxheVg6ICdlbmQnLFxuICAgICAgICBvdmVybGF5WTogJ2JvdHRvbSdcbiAgICB9LFxuICAgIHJpZ2h0OiB7XG4gICAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgICBvcmlnaW5ZOiAnY2VudGVyJyxcbiAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgIG92ZXJsYXlZOiAnY2VudGVyJ1xuICAgIH0sXG4gICAgcmlnaHRUb3A6IHtcbiAgICAgICAgb3JpZ2luWDogJ2VuZCcsXG4gICAgICAgIG9yaWdpblk6ICd0b3AnLFxuICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgICAgb3ZlcmxheVk6ICd0b3AnXG4gICAgfSxcbiAgICByaWdodEJvdHRvbToge1xuICAgICAgICBvcmlnaW5YOiAnZW5kJyxcbiAgICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICBvdmVybGF5WTogJ2JvdHRvbSdcbiAgICB9LFxuICAgIGJvdHRvbToge1xuICAgICAgICBvcmlnaW5YOiAnY2VudGVyJyxcbiAgICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgICAgIG92ZXJsYXlYOiAnY2VudGVyJyxcbiAgICAgICAgb3ZlcmxheVk6ICd0b3AnXG4gICAgfSxcbiAgICBib3R0b21DZW50ZXI6IHtcbiAgICAgICAgb3JpZ2luWDogJ2NlbnRlcicsXG4gICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICBvdmVybGF5WDogJ2NlbnRlcicsXG4gICAgICAgIG92ZXJsYXlZOiAndG9wJ1xuICAgIH0sXG4gICAgYm90dG9tTGVmdDoge1xuICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcbiAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgIG92ZXJsYXlZOiAndG9wJ1xuICAgIH0sXG4gICAgYm90dG9tUmlnaHQ6IHtcbiAgICAgICAgb3JpZ2luWDogJ2VuZCcsXG4gICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICBvdmVybGF5WDogJ2VuZCcsXG4gICAgICAgIG92ZXJsYXlZOiAndG9wJ1xuICAgIH0sXG4gICAgbGVmdDoge1xuICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgICBvcmlnaW5ZOiAnY2VudGVyJyxcbiAgICAgICAgb3ZlcmxheVg6ICdlbmQnLFxuICAgICAgICBvdmVybGF5WTogJ2NlbnRlcidcbiAgICB9LFxuICAgIGxlZnRUb3A6IHtcbiAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICAgIG92ZXJsYXlYOiAnZW5kJyxcbiAgICAgICAgb3ZlcmxheVk6ICd0b3AnXG4gICAgfSxcbiAgICBsZWZ0Qm90dG9tOiB7XG4gICAgICAgIG9yaWdpblg6ICdzdGFydCcsXG4gICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICBvdmVybGF5WDogJ2VuZCcsXG4gICAgICAgIG92ZXJsYXlZOiAnYm90dG9tJ1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBFWFRFTkRFRF9PVkVSTEFZX1BPU0lUSU9OUyA9IG9iamVjdFZhbHVlcyhbXG4gICAgUE9TSVRJT05fTUFQLnRvcCxcbiAgICBQT1NJVElPTl9NQVAudG9wTGVmdCxcbiAgICBQT1NJVElPTl9NQVAudG9wUmlnaHQsXG4gICAgUE9TSVRJT05fTUFQLnJpZ2h0LFxuICAgIFBPU0lUSU9OX01BUC5yaWdodFRvcCxcbiAgICBQT1NJVElPTl9NQVAucmlnaHRCb3R0b20sXG4gICAgUE9TSVRJT05fTUFQLmJvdHRvbSxcbiAgICBQT1NJVElPTl9NQVAuYm90dG9tTGVmdCxcbiAgICBQT1NJVElPTl9NQVAuYm90dG9tUmlnaHQsXG4gICAgUE9TSVRJT05fTUFQLmxlZnQsXG4gICAgUE9TSVRJT05fTUFQLmxlZnRUb3AsXG4gICAgUE9TSVRJT05fTUFQLmxlZnRCb3R0b21cbl0pO1xuXG5leHBvcnQgY29uc3QgVE9QX1BPU0lUSU9OX1BSSU9SSVRZID0gb2JqZWN0VmFsdWVzKFtcbiAgICBQT1NJVElPTl9NQVAudG9wLFxuICAgIFBPU0lUSU9OX01BUC5ib3R0b20sXG4gICAgUE9TSVRJT05fTUFQLnJpZ2h0LFxuICAgIFBPU0lUSU9OX01BUC5yaWdodEJvdHRvbSxcbiAgICBQT1NJVElPTl9NQVAubGVmdEJvdHRvbSxcbiAgICBQT1NJVElPTl9NQVAuYm90dG9tTGVmdCxcbiAgICBQT1NJVElPTl9NQVAuYm90dG9tUmlnaHRcbl0pO1xuXG5leHBvcnQgY29uc3QgQk9UVE9NX1BPU0lUSU9OX1BSSU9SSVRZID0gb2JqZWN0VmFsdWVzKFtcbiAgICBQT1NJVElPTl9NQVAuYm90dG9tLFxuICAgIFBPU0lUSU9OX01BUC50b3AsXG4gICAgUE9TSVRJT05fTUFQLnRvcExlZnQsXG4gICAgUE9TSVRJT05fTUFQLnRvcFJpZ2h0LFxuICAgIFBPU0lUSU9OX01BUC5yaWdodEJvdHRvbSxcbiAgICBQT1NJVElPTl9NQVAubGVmdEJvdHRvbVxuXSk7XG5cbmV4cG9ydCBjb25zdCBSSUdIVF9QT1NJVElPTl9QUklPUklUWSA9IG9iamVjdFZhbHVlcyhbXG4gICAgUE9TSVRJT05fTUFQLnJpZ2h0LFxuICAgIFBPU0lUSU9OX01BUC5sZWZ0LFxuICAgIFBPU0lUSU9OX01BUC5sZWZ0VG9wLFxuICAgIFBPU0lUSU9OX01BUC5sZWZ0Qm90dG9tLFxuICAgIFBPU0lUSU9OX01BUC50b3AsXG4gICAgUE9TSVRJT05fTUFQLmJvdHRvbVxuXSk7XG5cbmV4cG9ydCBjb25zdCBMRUZUX1BPU0lUSU9OX1BSSU9SSVRZID0gb2JqZWN0VmFsdWVzKFtcbiAgICBQT1NJVElPTl9NQVAubGVmdCxcbiAgICBQT1NJVElPTl9NQVAucmlnaHQsXG4gICAgUE9TSVRJT05fTUFQLnJpZ2h0VG9wLFxuICAgIFBPU0lUSU9OX01BUC5yaWdodEJvdHRvbSxcbiAgICBQT1NJVElPTl9NQVAudG9wLFxuICAgIFBPU0lUSU9OX01BUC5ib3R0b21cbl0pO1xuXG5leHBvcnQgY29uc3QgUklHSFRfVE9QX1BPU0lUSU9OX1BSSU9SSVRZID0gb2JqZWN0VmFsdWVzKFtcbiAgICBQT1NJVElPTl9NQVAucmlnaHRUb3AsXG4gICAgUE9TSVRJT05fTUFQLmxlZnRUb3AsXG4gICAgUE9TSVRJT05fTUFQLmxlZnQsXG4gICAgUE9TSVRJT05fTUFQLmxlZnRCb3R0b20sXG4gICAgUE9TSVRJT05fTUFQLnRvcExlZnQsXG4gICAgUE9TSVRJT05fTUFQLmJvdHRvbUxlZnRcbl0pO1xuXG5leHBvcnQgY29uc3QgUklHSFRfQk9UVE9NX1BPU0lUSU9OX1BSSU9SSVRZID0gb2JqZWN0VmFsdWVzKFtcbiAgICBQT1NJVElPTl9NQVAucmlnaHRCb3R0b20sXG4gICAgUE9TSVRJT05fTUFQLmxlZnRCb3R0b20sXG4gICAgUE9TSVRJT05fTUFQLmxlZnQsXG4gICAgUE9TSVRJT05fTUFQLmxlZnRUb3AsXG4gICAgUE9TSVRJT05fTUFQLnRvcExlZnQsXG4gICAgUE9TSVRJT05fTUFQLmJvdHRvbUxlZnRcbl0pO1xuXG5leHBvcnQgY29uc3QgTEVGVF9UT1BfUE9TSVRJT05fUFJJT1JJVFkgPSBvYmplY3RWYWx1ZXMoW1xuICAgIFBPU0lUSU9OX01BUC5sZWZ0VG9wLFxuICAgIFBPU0lUSU9OX01BUC5yaWdodFRvcCxcbiAgICBQT1NJVElPTl9NQVAucmlnaHQsXG4gICAgUE9TSVRJT05fTUFQLnJpZ2h0Qm90dG9tLFxuICAgIFBPU0lUSU9OX01BUC50b3BSaWdodCxcbiAgICBQT1NJVElPTl9NQVAuYm90dG9tUmlnaHRcbl0pO1xuXG5leHBvcnQgY29uc3QgTEVGVF9CT1RUT01fUE9TSVRJT05fUFJJT1JJVFkgPSBvYmplY3RWYWx1ZXMoW1xuICAgIFBPU0lUSU9OX01BUC5sZWZ0Qm90dG9tLFxuICAgIFBPU0lUSU9OX01BUC5yaWdodEJvdHRvbSxcbiAgICBQT1NJVElPTl9NQVAucmlnaHQsXG4gICAgUE9TSVRJT05fTUFQLnJpZ2h0VG9wLFxuICAgIFBPU0lUSU9OX01BUC50b3BSaWdodCxcbiAgICBQT1NJVElPTl9NQVAuYm90dG9tUmlnaHRcbl0pO1xuXG5leHBvcnQgY29uc3QgVE9QX0xFRlRfUE9TSVRJT05fUFJJT1JJVFkgPSBvYmplY3RWYWx1ZXMoW1xuICAgIFBPU0lUSU9OX01BUC50b3BMZWZ0LFxuICAgIFBPU0lUSU9OX01BUC50b3BSaWdodCxcbiAgICBQT1NJVElPTl9NQVAuYm90dG9tTGVmdCxcbiAgICBQT1NJVElPTl9NQVAuYm90dG9tLFxuICAgIFBPU0lUSU9OX01BUC5ib3R0b21SaWdodCxcbiAgICBQT1NJVElPTl9NQVAubGVmdEJvdHRvbSxcbiAgICBQT1NJVElPTl9NQVAucmlnaHRCb3R0b21cbl0pO1xuXG5leHBvcnQgY29uc3QgVE9QX1JJR0hUX1BPU0lUSU9OX1BSSU9SSVRZID0gb2JqZWN0VmFsdWVzKFtcbiAgICBQT1NJVElPTl9NQVAudG9wUmlnaHQsXG4gICAgUE9TSVRJT05fTUFQLnRvcExlZnQsXG4gICAgUE9TSVRJT05fTUFQLmJvdHRvbVJpZ2h0LFxuICAgIFBPU0lUSU9OX01BUC5ib3R0b20sXG4gICAgUE9TSVRJT05fTUFQLmJvdHRvbUxlZnQsXG4gICAgUE9TSVRJT05fTUFQLmxlZnRCb3R0b20sXG4gICAgUE9TSVRJT05fTUFQLnJpZ2h0Qm90dG9tXG5dKTtcblxuZXhwb3J0IGNvbnN0IEJPVFRPTV9SSUdIVF9QT1NJVElPTl9QUklPUklUWSA9IG9iamVjdFZhbHVlcyhbXG4gICAgUE9TSVRJT05fTUFQLmJvdHRvbVJpZ2h0LFxuICAgIFBPU0lUSU9OX01BUC5ib3R0b21MZWZ0LFxuICAgIFBPU0lUSU9OX01BUC50b3BSaWdodCxcbiAgICBQT1NJVElPTl9NQVAudG9wLFxuICAgIFBPU0lUSU9OX01BUC50b3BMZWZ0LFxuICAgIFBPU0lUSU9OX01BUC5sZWZ0VG9wLFxuICAgIFBPU0lUSU9OX01BUC5yaWdodFRvcFxuXSk7XG5cbmV4cG9ydCBjb25zdCBCT1RUT01fTEVGVF9QT1NJVElPTl9QUklPUklUWSA9IG9iamVjdFZhbHVlcyhbXG4gICAgUE9TSVRJT05fTUFQLmJvdHRvbUxlZnQsXG4gICAgUE9TSVRJT05fTUFQLmJvdHRvbVJpZ2h0LFxuICAgIFBPU0lUSU9OX01BUC50b3BMZWZ0LFxuICAgIFBPU0lUSU9OX01BUC50b3AsXG4gICAgUE9TSVRJT05fTUFQLnRvcFJpZ2h0LFxuICAgIFBPU0lUSU9OX01BUC5yaWdodFRvcCxcbiAgICBQT1NJVElPTl9NQVAubGVmdFRvcFxuXSk7XG5cbmV4cG9ydCBjb25zdCBQT1NJVElPTl9QUklPUklUWV9TVFJBVEVHWSA9IHtcbiAgICB0b3A6IFRPUF9QT1NJVElPTl9QUklPUklUWSxcbiAgICB0b3BMZWZ0OiBUT1BfTEVGVF9QT1NJVElPTl9QUklPUklUWSxcbiAgICB0b3BSaWdodDogVE9QX1JJR0hUX1BPU0lUSU9OX1BSSU9SSVRZLFxuICAgIGJvdHRvbTogQk9UVE9NX1BPU0lUSU9OX1BSSU9SSVRZLFxuICAgIGJvdHRvbUxlZnQ6IEJPVFRPTV9MRUZUX1BPU0lUSU9OX1BSSU9SSVRZLFxuICAgIGJvdHRvbVJpZ2h0OiBCT1RUT01fUklHSFRfUE9TSVRJT05fUFJJT1JJVFksXG4gICAgbGVmdDogTEVGVF9QT1NJVElPTl9QUklPUklUWSxcbiAgICBsZWZ0VG9wOiBMRUZUX1RPUF9QT1NJVElPTl9QUklPUklUWSxcbiAgICBsZWZ0Qm90dG9tOiBMRUZUX0JPVFRPTV9QT1NJVElPTl9QUklPUklUWSxcbiAgICByaWdodDogUklHSFRfUE9TSVRJT05fUFJJT1JJVFksXG4gICAgcmlnaHRUb3A6IFJJR0hUX1RPUF9QT1NJVElPTl9QUklPUklUWSxcbiAgICByaWdodEJvdHRvbTogUklHSFRfQk9UVE9NX1BPU0lUSU9OX1BSSU9SSVRZXG59O1xuXG5leHBvcnQgY29uc3QgUE9TSVRJT05fVE9fQ1NTX01BUDoge1trZXk6IHN0cmluZ106IHN0cmluZ30gPSB7XG4gICAgdG9wOiAndG9wJyxcbiAgICB0b3BMZWZ0OiAndG9wLWxlZnQnLFxuICAgIHRvcFJpZ2h0OiAndG9wLXJpZ2h0JyxcbiAgICByaWdodDogJ3JpZ2h0JyxcbiAgICByaWdodFRvcDogJ3JpZ2h0LXRvcCcsXG4gICAgcmlnaHRCb3R0b206ICdyaWdodC1ib3R0b20nLFxuICAgIGxlZnQ6ICdsZWZ0JyxcbiAgICBsZWZ0VG9wOiAnbGVmdC10b3AnLFxuICAgIGxlZnRCb3R0b206ICdsZWZ0LWJvdHRvbScsXG4gICAgYm90dG9tOiAnYm90dG9tJyxcbiAgICBib3R0b21MZWZ0OiAnYm90dG9tLWxlZnQnLFxuICAgIGJvdHRvbVJpZ2h0OiAnYm90dG9tLXJpZ2h0J1xufTtcblxuZXhwb3J0IGNvbnN0IE1DX0NVU1RPTV9TQ1JPTExfU1RSQVRFR1lfUFJPVklERVIgPSA8VD4oXG4gICAgdG9rZW46IEluamVjdGlvblRva2VuPFQ+LFxuICAgIGZhY3Rvcnk6IChvdmVybGF5OiBPdmVybGF5KSA9PiAoKSA9PiBTY3JvbGxTdHJhdGVneVxuKSA9PiAoe1xuICAgIHByb3ZpZGU6IHRva2VuLFxuICAgIGRlcHM6IFtPdmVybGF5XSxcbiAgICB1c2VGYWN0b3J5OiBmYWN0b3J5XG59KTtcblxuZnVuY3Rpb24gYXJyYXlNYXA8VCwgUz4oYXJyYXk6IFRbXSwgaXRlcmF0ZWU6IChpdGVtOiBULCBpbmRleDogbnVtYmVyLCBhcnI6IFRbXSkgPT4gUyk6IFNbXSB7XG4gICAgbGV0IGluZGV4ID0gLTE7XG4gICAgY29uc3QgbGVuZ3RoID0gYXJyYXkgPT09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuICAgIGNvbnN0IHJlc3VsdCA9IEFycmF5KGxlbmd0aCk7XG5cbiAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICByZXN1bHRbaW5kZXhdID0gaXRlcmF0ZWUoYXJyYXlbIGluZGV4IF0sIGluZGV4LCBhcnJheSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cbmZ1bmN0aW9uIGJhc2VWYWx1ZXM8VD4ob2JqZWN0OiBUW10sIHByb3BzOiBzdHJpbmdbXSk6IFRbXSB7XG4gICAgcmV0dXJuIGFycmF5TWFwKHByb3BzLCAgKGtleSkgPT4gb2JqZWN0W2tleV0pO1xufVxuZnVuY3Rpb24gb2JqZWN0VmFsdWVzPFQ+KG9iamVjdDogVFtdKTogVFtdIHtcbiAgICByZXR1cm4gb2JqZWN0ID09PSBudWxsID8gW10gOiBiYXNlVmFsdWVzKG9iamVjdCwgT2JqZWN0LmtleXMob2JqZWN0KSk7XG59XG4iXX0=