@ptsecurity/mosaic 15.5.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 (788) hide show
  1. package/_theming.scss +29 -6
  2. package/_visual.scss +6 -4
  3. package/autocomplete/autocomplete-trigger.directive.d.ts +6 -16
  4. package/autocomplete/autocomplete.component.d.ts +1 -1
  5. package/button/_button-theme.scss +2 -5
  6. package/button/button.component.d.ts +1 -1
  7. package/button-toggle/_button-toggle-theme.scss +2 -5
  8. package/button-toggle/button-toggle.component.d.ts +3 -3
  9. package/card/card.component.d.ts +1 -1
  10. package/checkbox/_checkbox-theme.scss +6 -5
  11. package/checkbox/checkbox-config.d.ts +1 -1
  12. package/checkbox/checkbox.d.ts +1 -1
  13. package/code-block/_code-block-theme.scss +2 -6
  14. package/code-block/actionbar.component.d.ts +1 -1
  15. package/code-block/code-block.component.d.ts +1 -1
  16. package/core/common-behaviors/color.d.ts +1 -1
  17. package/core/common-behaviors/constructor.d.ts +2 -2
  18. package/core/common-behaviors/disabled.d.ts +1 -1
  19. package/core/common-behaviors/error-state.d.ts +1 -1
  20. package/core/common-behaviors/tabindex.d.ts +1 -1
  21. package/core/datetime/date-formats.d.ts +1 -1
  22. package/core/formatters/index.d.ts +1 -1
  23. package/core/formatters/number/formatter.d.ts +55 -0
  24. package/core/forms/_forms-theme.scss +2 -4
  25. package/core/label/label-options.d.ts +1 -1
  26. package/core/locales/en-US.d.ts +13 -2
  27. package/core/locales/es-LA.d.ts +21 -0
  28. package/core/locales/fa-IR.d.ts +22 -0
  29. package/core/locales/locale-service.d.ts +111 -5
  30. package/core/locales/pt-BR.d.ts +21 -0
  31. package/core/locales/ru-RU.d.ts +13 -2
  32. package/core/locales/zh-CN.d.ts +20 -0
  33. package/core/option/_optgroup-theme.scss +2 -4
  34. package/core/option/_option-theme.scss +2 -5
  35. package/core/option/action.d.ts +1 -1
  36. package/core/option/optgroup.d.ts +1 -1
  37. package/core/option/option.d.ts +37 -8
  38. package/core/overlay/overlay-position-map.d.ts +7 -1
  39. package/core/selection/pseudo-checkbox/pseudo-checkbox.d.ts +2 -2
  40. package/core/styles/_variables.scss +1 -0
  41. package/core/styles/theming/_badges.scss +2 -1
  42. package/core/styles/theming/_theming.scss +1 -0
  43. package/datepicker/_datepicker-theme.scss +2 -5
  44. package/datepicker/calendar-body.component.d.ts +2 -2
  45. package/datepicker/calendar-header.component.d.ts +9 -3
  46. package/datepicker/calendar.component.d.ts +4 -5
  47. package/datepicker/datepicker-input.directive.d.ts +1 -1
  48. package/datepicker/datepicker-toggle.component.d.ts +1 -1
  49. package/datepicker/datepicker.component.d.ts +1 -1
  50. package/datepicker/month-view.component.d.ts +4 -5
  51. package/divider/divider.component.d.ts +1 -1
  52. package/dl/_dl-theme.scss +2 -5
  53. package/dl/dl.component.d.ts +1 -1
  54. package/dropdown/_dropdown-theme.scss +2 -5
  55. package/dropdown/dropdown-item.component.d.ts +1 -1
  56. package/dropdown/dropdown-trigger.directive.d.ts +1 -1
  57. package/dropdown/dropdown.component.d.ts +1 -1
  58. package/dropdown/dropdown.types.d.ts +3 -3
  59. package/ellipsis-center/ellipsis-center.directive.d.ts +1 -1
  60. package/{esm2020 → esm2022}/autocomplete/autocomplete-origin.directive.mjs +4 -4
  61. package/esm2022/autocomplete/autocomplete-trigger.directive.mjs +555 -0
  62. package/{esm2020 → esm2022}/autocomplete/autocomplete.component.mjs +26 -26
  63. package/{esm2020 → esm2022}/autocomplete/autocomplete.module.mjs +10 -10
  64. package/esm2022/button/button.component.mjs +148 -0
  65. package/{esm2020 → esm2022}/button/button.module.mjs +13 -13
  66. package/esm2022/button-toggle/button-toggle.component.mjs +381 -0
  67. package/{esm2020 → esm2022}/button-toggle/button-toggle.module.mjs +5 -5
  68. package/esm2022/card/card.component.mjs +80 -0
  69. package/{esm2020 → esm2022}/card/card.module.mjs +9 -9
  70. package/{esm2020 → esm2022}/checkbox/checkbox-module.mjs +5 -5
  71. package/{esm2020 → esm2022}/checkbox/checkbox-required-validator.mjs +4 -4
  72. package/esm2022/checkbox/checkbox.mjs +300 -0
  73. package/{esm2020 → esm2022}/code-block/actionbar.component.mjs +4 -4
  74. package/esm2022/code-block/code-block.component.mjs +157 -0
  75. package/esm2022/code-block/code-block.module.mjs +60 -0
  76. package/esm2022/core/common-behaviors/color.mjs +33 -0
  77. package/{esm2020 → esm2022}/core/common-behaviors/common-module.mjs +5 -5
  78. package/{esm2020 → esm2022}/core/common-behaviors/disabled.mjs +6 -6
  79. package/{esm2020 → esm2022}/core/common-behaviors/tabindex.mjs +6 -6
  80. package/{esm2020 → esm2022}/core/error/error-options.mjs +7 -7
  81. package/{esm2020 → esm2022}/core/formatters/date/formatter.mjs +4 -4
  82. package/{esm2020 → esm2022}/core/formatters/date/formatter.pipe.mjs +40 -40
  83. package/esm2022/core/formatters/index.mjs +86 -0
  84. package/esm2022/core/formatters/number/formatter.mjs +350 -0
  85. package/{esm2020 → esm2022}/core/forms/forms-module.mjs +7 -7
  86. package/{esm2020 → esm2022}/core/forms/forms.directive.mjs +7 -7
  87. package/{esm2020 → esm2022}/core/highlight/highlight.pipe.mjs +4 -4
  88. package/{esm2020 → esm2022}/core/highlight/index.mjs +5 -5
  89. package/{esm2020 → esm2022}/core/line/line.mjs +8 -8
  90. package/esm2022/core/locales/en-US.mjs +21 -0
  91. package/esm2022/core/locales/es-LA.mjs +27 -0
  92. package/esm2022/core/locales/fa-IR.mjs +28 -0
  93. package/{esm2020 → esm2022}/core/locales/locale-service.mjs +7 -7
  94. package/{esm2020 → esm2022}/core/locales/locale-service.module.mjs +7 -7
  95. package/esm2022/core/locales/pt-BR.mjs +27 -0
  96. package/esm2022/core/locales/ru-RU.mjs +21 -0
  97. package/esm2022/core/locales/zh-CN.mjs +26 -0
  98. package/{esm2020 → esm2022}/core/option/action.mjs +9 -9
  99. package/{esm2020 → esm2022}/core/option/optgroup.mjs +5 -5
  100. package/{esm2020 → esm2022}/core/option/option-module.mjs +5 -5
  101. package/esm2022/core/option/option.mjs +298 -0
  102. package/esm2022/core/overlay/overlay-position-map.mjs +251 -0
  103. package/{esm2020 → esm2022}/core/pop-up/pop-up-trigger.mjs +4 -4
  104. package/{esm2020 → esm2022}/core/pop-up/pop-up.mjs +4 -4
  105. package/{esm2020 → esm2022}/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +4 -4
  106. package/{esm2020 → esm2022}/core/selection/pseudo-checkbox/pseudo-checkbox.module.mjs +5 -5
  107. package/esm2022/core/services/measure-scrollbar.service.mjs +48 -0
  108. package/{esm2020 → esm2022}/core/utils/data-size/data-size.pipe.mjs +8 -8
  109. package/{esm2020 → esm2022}/core/version.mjs +2 -2
  110. package/{esm2020 → esm2022}/datepicker/calendar-body.component.mjs +4 -4
  111. package/esm2022/datepicker/calendar-header.component.mjs +135 -0
  112. package/esm2022/datepicker/calendar.component.mjs +166 -0
  113. package/esm2022/datepicker/datepicker-input.directive.mjs +955 -0
  114. package/{esm2020 → esm2022}/datepicker/datepicker-intl.mjs +4 -4
  115. package/{esm2020 → esm2022}/datepicker/datepicker-module.mjs +38 -38
  116. package/esm2022/datepicker/datepicker-toggle.component.mjs +86 -0
  117. package/esm2022/datepicker/datepicker.component.mjs +393 -0
  118. package/esm2022/datepicker/month-view.component.mjs +149 -0
  119. package/{esm2020 → esm2022}/divider/divider.component.mjs +4 -4
  120. package/{esm2020 → esm2022}/divider/divider.module.mjs +5 -5
  121. package/{esm2020 → esm2022}/dl/dl.component.mjs +10 -10
  122. package/{esm2020 → esm2022}/dl/dl.module.mjs +13 -13
  123. package/{esm2020 → esm2022}/dropdown/dropdown-content.directive.mjs +4 -4
  124. package/{esm2020 → esm2022}/dropdown/dropdown-item.component.mjs +6 -6
  125. package/esm2022/dropdown/dropdown-trigger.directive.mjs +489 -0
  126. package/esm2022/dropdown/dropdown.component.mjs +292 -0
  127. package/{esm2020 → esm2022}/dropdown/dropdown.module.mjs +15 -15
  128. package/esm2022/ellipsis-center/ellipsis-center.directive.mjs +106 -0
  129. package/{esm2020 → esm2022}/file-upload/file-drop.mjs +4 -4
  130. package/{esm2020 → esm2022}/file-upload/file-upload.module.mjs +25 -25
  131. package/esm2022/file-upload/multiple-file-upload.component.mjs +165 -0
  132. package/esm2022/file-upload/single-file-upload.component.mjs +134 -0
  133. package/{esm2020 → esm2022}/form-field/cleaner.mjs +4 -4
  134. package/esm2022/form-field/form-field.mjs +267 -0
  135. package/{esm2020 → esm2022}/form-field/form-field.module.mjs +23 -23
  136. package/{esm2020 → esm2022}/form-field/hint.mjs +4 -4
  137. package/esm2022/form-field/password-hint.mjs +146 -0
  138. package/{esm2020 → esm2022}/form-field/prefix.mjs +4 -4
  139. package/{esm2020 → esm2022}/form-field/stepper.mjs +6 -6
  140. package/{esm2020 → esm2022}/form-field/suffix.mjs +4 -4
  141. package/esm2022/form-field/validate.directive.mjs +158 -0
  142. package/{esm2020 → esm2022}/icon/icon.component.mjs +7 -7
  143. package/{esm2020 → esm2022}/icon/icon.module.mjs +11 -11
  144. package/{esm2020 → esm2022}/input/input-number-validators.mjs +7 -7
  145. package/esm2022/input/input-number.mjs +168 -0
  146. package/esm2022/input/input-password.mjs +343 -0
  147. package/esm2022/input/input.mjs +297 -0
  148. package/{esm2020 → esm2022}/input/input.module.mjs +23 -23
  149. package/esm2022/link/link.component.mjs +122 -0
  150. package/{esm2020 → esm2022}/link/link.module.mjs +7 -7
  151. package/esm2022/list/list-selection.component.mjs +705 -0
  152. package/{esm2020 → esm2022}/list/list.component.mjs +8 -8
  153. package/{esm2020 → esm2022}/list/list.module.mjs +20 -20
  154. package/esm2022/loader-overlay/loader-overlay.component.mjs +103 -0
  155. package/{esm2020 → esm2022}/loader-overlay/loader-overlay.module.mjs +17 -17
  156. package/{esm2020 → esm2022}/markdown/markdown.component.mjs +13 -13
  157. package/{esm2020 → esm2022}/markdown/markdown.module.mjs +5 -5
  158. package/{esm2020 → esm2022}/markdown/markdown.service.mjs +4 -4
  159. package/{esm2020 → esm2022}/modal/css-unit.pipe.mjs +4 -4
  160. package/esm2022/modal/modal-control.service.mjs +85 -0
  161. package/esm2022/modal/modal.component.mjs +520 -0
  162. package/{esm2020 → esm2022}/modal/modal.directive.mjs +13 -13
  163. package/esm2022/modal/modal.module.mjs +75 -0
  164. package/{esm2020 → esm2022}/modal/modal.service.mjs +8 -8
  165. package/esm2022/navbar/navbar-item.component.mjs +606 -0
  166. package/esm2022/navbar/navbar.component.mjs +248 -0
  167. package/{esm2020 → esm2022}/navbar/navbar.module.mjs +37 -37
  168. package/{esm2020 → esm2022}/navbar/vertical-navbar.component.mjs +20 -17
  169. package/esm2022/popover/popover-confirm.component.mjs +108 -0
  170. package/esm2022/popover/popover.component.mjs +266 -0
  171. package/{esm2020 → esm2022}/popover/popover.module.mjs +8 -8
  172. package/{esm2020 → esm2022}/progress-bar/progress-bar.component.mjs +4 -4
  173. package/{esm2020 → esm2022}/progress-bar/progress-bar.module.mjs +7 -7
  174. package/{esm2020 → esm2022}/progress-spinner/progress-spinner.component.mjs +12 -12
  175. package/{esm2020 → esm2022}/progress-spinner/progress-spinner.module.mjs +7 -7
  176. package/esm2022/radio/radio.component.mjs +457 -0
  177. package/{esm2020 → esm2022}/radio/radio.module.mjs +5 -5
  178. package/esm2022/select/select-option.directive.mjs +65 -0
  179. package/esm2022/select/select.component.mjs +1160 -0
  180. package/{esm2020 → esm2022}/select/select.module.mjs +32 -32
  181. package/esm2022/sidebar/sidebar.component.mjs +146 -0
  182. package/{esm2020 → esm2022}/sidebar/sidebar.module.mjs +9 -9
  183. package/esm2022/sidepanel/sidepanel-container.component.mjs +110 -0
  184. package/{esm2020 → esm2022}/sidepanel/sidepanel-directives.mjs +18 -18
  185. package/{esm2020 → esm2022}/sidepanel/sidepanel.module.mjs +32 -32
  186. package/{esm2020 → esm2022}/sidepanel/sidepanel.service.mjs +10 -10
  187. package/esm2022/splitter/splitter.component.mjs +482 -0
  188. package/{esm2020 → esm2022}/splitter/splitter.module.mjs +12 -12
  189. package/{esm2020 → esm2022}/table/table.component.mjs +4 -4
  190. package/{esm2020 → esm2022}/table/table.module.mjs +9 -9
  191. package/esm2022/tabs/paginated-tab-header.mjs +488 -0
  192. package/esm2022/tabs/tab-body.component.mjs +179 -0
  193. package/{esm2020 → esm2022}/tabs/tab-content.directive.mjs +4 -4
  194. package/esm2022/tabs/tab-group.component.mjs +349 -0
  195. package/{esm2020 → esm2022}/tabs/tab-header.component.mjs +4 -4
  196. package/{esm2020 → esm2022}/tabs/tab-label-wrapper.directive.mjs +4 -4
  197. package/{esm2020 → esm2022}/tabs/tab-label.directive.mjs +4 -4
  198. package/esm2022/tabs/tab-nav-bar/tab-nav-bar.mjs +111 -0
  199. package/{esm2020 → esm2022}/tabs/tab.component.mjs +43 -34
  200. package/{esm2020 → esm2022}/tabs/tabs.module.mjs +42 -42
  201. package/esm2022/tags/tag-default-options.mjs +4 -0
  202. package/esm2022/tags/tag-input.mjs +250 -0
  203. package/esm2022/tags/tag-list.component.mjs +718 -0
  204. package/esm2022/tags/tag.component.mjs +381 -0
  205. package/esm2022/tags/tag.module.mjs +56 -0
  206. package/esm2022/textarea/textarea.component.mjs +254 -0
  207. package/{esm2020 → esm2022}/textarea/textarea.module.mjs +5 -5
  208. package/esm2022/timepicker/timepicker.directive.mjs +647 -0
  209. package/{esm2020 → esm2022}/timepicker/timepicker.module.mjs +11 -11
  210. package/{esm2020 → esm2022}/timezone/cities-by-filter.pipe.mjs +4 -4
  211. package/esm2022/timezone/timezone-option.component.mjs +48 -0
  212. package/{esm2020 → esm2022}/timezone/timezone-option.directive.mjs +4 -4
  213. package/{esm2020 → esm2022}/timezone/timezone-select.component.mjs +11 -11
  214. package/{esm2020 → esm2022}/timezone/timezone.module.mjs +29 -29
  215. package/{esm2020 → esm2022}/timezone/utc-offset.pipe.mjs +4 -4
  216. package/esm2022/title/title.directive.mjs +107 -0
  217. package/{esm2020 → esm2022}/title/title.module.mjs +5 -5
  218. package/{esm2020 → esm2022}/toast/toast-container.component.mjs +4 -4
  219. package/esm2022/toast/toast.component.mjs +92 -0
  220. package/esm2022/toast/toast.module.mjs +48 -0
  221. package/esm2022/toast/toast.service.mjs +188 -0
  222. package/esm2022/toggle/toggle.component.mjs +156 -0
  223. package/{esm2020 → esm2022}/toggle/toggle.module.mjs +5 -5
  224. package/esm2022/tooltip/tooltip.component.mjs +299 -0
  225. package/{esm2020 → esm2022}/tooltip/tooltip.module.mjs +14 -14
  226. package/esm2022/tree/data-source/flat-data-source.mjs +162 -0
  227. package/{esm2020 → esm2022}/tree/node.mjs +4 -4
  228. package/{esm2020 → esm2022}/tree/outlet.mjs +4 -4
  229. package/esm2022/tree/padding.directive.mjs +113 -0
  230. package/esm2022/tree/toggle.mjs +81 -0
  231. package/esm2022/tree/tree-base.mjs +243 -0
  232. package/esm2022/tree/tree-option.component.mjs +303 -0
  233. package/esm2022/tree/tree-selection.component.mjs +558 -0
  234. package/{esm2020 → esm2022}/tree/tree.mjs +4 -4
  235. package/{esm2020 → esm2022}/tree/tree.module.mjs +21 -21
  236. package/esm2022/tree-select/tree-select.component.mjs +936 -0
  237. package/{esm2020 → esm2022}/tree-select/tree-select.module.mjs +17 -17
  238. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-autocomplete.mjs +80 -77
  239. package/fesm2022/ptsecurity-mosaic-autocomplete.mjs.map +1 -0
  240. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-button-toggle.mjs +47 -47
  241. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-button-toggle.mjs.map +1 -1
  242. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-button.mjs +25 -25
  243. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-button.mjs.map +1 -1
  244. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-card.mjs +17 -17
  245. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-card.mjs.map +1 -1
  246. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-checkbox.mjs +39 -39
  247. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-checkbox.mjs.map +1 -1
  248. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-code-block.mjs +34 -34
  249. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-code-block.mjs.map +1 -1
  250. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-core.mjs +600 -224
  251. package/fesm2022/ptsecurity-mosaic-core.mjs.map +1 -0
  252. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-datepicker.mjs +335 -351
  253. package/fesm2022/ptsecurity-mosaic-datepicker.mjs.map +1 -0
  254. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-divider.mjs +7 -7
  255. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-divider.mjs.map +1 -1
  256. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-dl.mjs +21 -21
  257. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-dl.mjs.map +1 -1
  258. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-dropdown.mjs +89 -89
  259. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-dropdown.mjs.map +1 -1
  260. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-ellipsis-center.mjs +11 -11
  261. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-ellipsis-center.mjs.map +1 -1
  262. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-file-upload.mjs +55 -47
  263. package/fesm2022/ptsecurity-mosaic-file-upload.mjs.map +1 -0
  264. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-form-field.mjs +92 -87
  265. package/fesm2022/ptsecurity-mosaic-form-field.mjs.map +1 -0
  266. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-icon.mjs +16 -16
  267. package/fesm2022/ptsecurity-mosaic-icon.mjs.map +1 -0
  268. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-input.mjs +128 -128
  269. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-input.mjs.map +1 -1
  270. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-link.mjs +22 -22
  271. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-link.mjs.map +1 -1
  272. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-list.mjs +88 -88
  273. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-list.mjs.map +1 -1
  274. package/fesm2022/ptsecurity-mosaic-loader-overlay.mjs +155 -0
  275. package/{fesm2015 → fesm2022}/ptsecurity-mosaic-loader-overlay.mjs.map +1 -1
  276. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-markdown.mjs +19 -19
  277. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-markdown.mjs.map +1 -1
  278. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-modal.mjs +157 -144
  279. package/fesm2022/ptsecurity-mosaic-modal.mjs.map +1 -0
  280. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-navbar.mjs +196 -187
  281. package/fesm2022/ptsecurity-mosaic-navbar.mjs.map +1 -0
  282. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-popover.mjs +37 -37
  283. package/{fesm2015 → fesm2022}/ptsecurity-mosaic-popover.mjs.map +1 -1
  284. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-progress-bar.mjs +9 -9
  285. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-progress-bar.mjs.map +1 -1
  286. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-progress-spinner.mjs +18 -18
  287. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-progress-spinner.mjs.map +1 -1
  288. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-radio.mjs +80 -79
  289. package/{fesm2015 → fesm2022}/ptsecurity-mosaic-radio.mjs.map +1 -1
  290. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-select.mjs +188 -174
  291. package/fesm2022/ptsecurity-mosaic-select.mjs.map +1 -0
  292. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-sidebar.mjs +29 -29
  293. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-sidebar.mjs.map +1 -1
  294. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-sidepanel.mjs +63 -63
  295. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-sidepanel.mjs.map +1 -1
  296. package/{fesm2015 → fesm2022}/ptsecurity-mosaic-splitter.mjs +55 -55
  297. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-splitter.mjs.map +1 -1
  298. package/fesm2022/ptsecurity-mosaic-table.mjs +45 -0
  299. package/fesm2022/ptsecurity-mosaic-table.mjs.map +1 -0
  300. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tabs.mjs +188 -179
  301. package/fesm2022/ptsecurity-mosaic-tabs.mjs.map +1 -0
  302. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tags.mjs +150 -144
  303. package/fesm2022/ptsecurity-mosaic-tags.mjs.map +1 -0
  304. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-textarea.mjs +41 -41
  305. package/{fesm2015 → fesm2022}/ptsecurity-mosaic-textarea.mjs.map +1 -1
  306. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-timepicker.mjs +95 -95
  307. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-timepicker.mjs.map +1 -1
  308. package/fesm2022/ptsecurity-mosaic-timezone.mjs +314 -0
  309. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-timezone.mjs.map +1 -1
  310. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-title.mjs +18 -18
  311. package/fesm2022/ptsecurity-mosaic-title.mjs.map +1 -0
  312. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-toast.mjs +47 -41
  313. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-toast.mjs.map +1 -1
  314. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-toggle.mjs +35 -35
  315. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-toggle.mjs.map +1 -1
  316. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tooltip.mjs +47 -47
  317. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tooltip.mjs.map +1 -1
  318. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tree-select.mjs +123 -123
  319. package/fesm2022/ptsecurity-mosaic-tree-select.mjs.map +1 -0
  320. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tree.mjs +203 -198
  321. package/fesm2022/ptsecurity-mosaic-tree.mjs.map +1 -0
  322. package/file-upload/_file-upload-theme.scss +2 -4
  323. package/file-upload/file-upload.d.ts +1 -1
  324. package/file-upload/multiple-file-upload.component.d.ts +5 -4
  325. package/file-upload/single-file-upload.component.d.ts +5 -4
  326. package/form-field/_form-field-theme.scss +7 -5
  327. package/form-field/form-field.d.ts +1 -2
  328. package/form-field/form-field.scss +1 -3
  329. package/form-field/hint.d.ts +1 -1
  330. package/form-field/password-hint.d.ts +6 -3
  331. package/icon/icon.component.d.ts +1 -1
  332. package/input/_input-theme.scss +7 -6
  333. package/input/input-number-validators.d.ts +2 -2
  334. package/input/input-number.d.ts +1 -1
  335. package/input/input-password.d.ts +2 -2
  336. package/input/input.d.ts +1 -1
  337. package/link/_link-theme.scss +7 -8
  338. package/link/link.component.d.ts +1 -1
  339. package/list/_list-theme.scss +2 -5
  340. package/list/list-selection.component.d.ts +2 -2
  341. package/loader-overlay/_loader-overlay-theme.scss +2 -5
  342. package/loader-overlay/loader-overlay.component.d.ts +1 -1
  343. package/loader-overlay/loader-overlay.scss +3 -0
  344. package/markdown/_markdown-theme.scss +3 -6
  345. package/markdown/markdown.component.d.ts +1 -1
  346. package/modal/_modal-theme.scss +3 -5
  347. package/modal/modal.component.d.ts +5 -2
  348. package/modal/modal.module.d.ts +2 -1
  349. package/modal/modal.scss +14 -2
  350. package/modal/modal.type.d.ts +3 -3
  351. package/navbar/_navbar-theme.scss +2 -6
  352. package/navbar/navbar-item.component.d.ts +5 -4
  353. package/navbar/navbar.component.d.ts +7 -4
  354. package/navbar/vertical-navbar.component.d.ts +5 -3
  355. package/package.json +156 -246
  356. package/popover/_popover-theme.scss +2 -6
  357. package/popover/popover-confirm.component.d.ts +1 -1
  358. package/popover/popover.component.d.ts +1 -1
  359. package/prebuilt-themes/dark-theme.css +1 -1
  360. package/prebuilt-themes/default-theme.css +1 -1
  361. package/progress-bar/progress-bar.component.d.ts +2 -2
  362. package/progress-spinner/progress-spinner.component.d.ts +3 -3
  363. package/radio/_radio-theme.scss +6 -6
  364. package/radio/radio.component.d.ts +2 -2
  365. package/select/_select-theme.scss +2 -5
  366. package/select/select.component.d.ts +12 -9
  367. package/select/select.scss +3 -1
  368. package/sidebar/sidebar.component.d.ts +3 -3
  369. package/sidepanel/_sidepanel-theme.scss +2 -5
  370. package/sidepanel/sidepanel-directives.d.ts +2 -2
  371. package/splitter/splitter.component.d.ts +3 -3
  372. package/table/_table-theme.scss +2 -5
  373. package/tabs/_tabs-theme.scss +2 -5
  374. package/tabs/paginated-tab-header.d.ts +3 -3
  375. package/tabs/tab-body.component.d.ts +3 -3
  376. package/tabs/tab-group.component.d.ts +2 -2
  377. package/tabs/tab-header.component.d.ts +2 -2
  378. package/tabs/tab-label-wrapper.directive.d.ts +1 -1
  379. package/tabs/tab-nav-bar/tab-nav-bar.d.ts +1 -1
  380. package/tabs/tab.component.d.ts +1 -1
  381. package/tags/_tag-theme.scss +2 -5
  382. package/tags/tag-default-options.d.ts +4 -0
  383. package/tags/tag-input.d.ts +1 -1
  384. package/tags/tag-list.component.d.ts +2 -1
  385. package/tags/tag-list.scss +6 -2
  386. package/tags/tag.component.d.ts +2 -2
  387. package/textarea/_textarea-theme.scss +2 -5
  388. package/textarea/textarea.component.d.ts +1 -1
  389. package/timepicker/timepicker.directive.d.ts +1 -1
  390. package/timezone/_timezone-option-theme.scss +2 -5
  391. package/timezone/timezone-option.component.d.ts +1 -1
  392. package/toast/_toast-theme.scss +2 -5
  393. package/toast/toast.type.d.ts +1 -1
  394. package/toggle/_toggle-theme.scss +2 -5
  395. package/toggle/toggle.component.d.ts +2 -2
  396. package/tooltip/_tooltip-theme.scss +2 -5
  397. package/tooltip/tooltip.component.d.ts +3 -3
  398. package/tree/_tree-theme.scss +2 -4
  399. package/tree/node.d.ts +1 -1
  400. package/tree/padding.directive.d.ts +1 -1
  401. package/tree/toggle.d.ts +2 -2
  402. package/tree/tree-base.d.ts +1 -1
  403. package/tree/tree-option.component.d.ts +1 -1
  404. package/tree/tree-option.scss +4 -2
  405. package/tree/tree-selection.component.d.ts +1 -1
  406. package/tree-select/_tree-select-theme.scss +2 -5
  407. package/tree-select/tree-select.component.d.ts +1 -1
  408. package/esm2020/autocomplete/autocomplete-trigger.directive.mjs +0 -552
  409. package/esm2020/button/button.component.mjs +0 -148
  410. package/esm2020/button-toggle/button-toggle.component.mjs +0 -381
  411. package/esm2020/card/card.component.mjs +0 -80
  412. package/esm2020/checkbox/checkbox.mjs +0 -300
  413. package/esm2020/code-block/code-block.component.mjs +0 -157
  414. package/esm2020/code-block/code-block.module.mjs +0 -60
  415. package/esm2020/core/common-behaviors/color.mjs +0 -33
  416. package/esm2020/core/formatters/index.mjs +0 -78
  417. package/esm2020/core/formatters/number/formatter.mjs +0 -129
  418. package/esm2020/core/locales/en-US.mjs +0 -10
  419. package/esm2020/core/locales/es-LA.mjs +0 -6
  420. package/esm2020/core/locales/fa-IR.mjs +0 -6
  421. package/esm2020/core/locales/pt-BR.mjs +0 -6
  422. package/esm2020/core/locales/ru-RU.mjs +0 -10
  423. package/esm2020/core/locales/zh-CN.mjs +0 -6
  424. package/esm2020/core/option/option.mjs +0 -262
  425. package/esm2020/core/overlay/overlay-position-map.mjs +0 -245
  426. package/esm2020/core/services/measure-scrollbar.service.mjs +0 -48
  427. package/esm2020/datepicker/calendar-header.component.mjs +0 -134
  428. package/esm2020/datepicker/calendar.component.mjs +0 -175
  429. package/esm2020/datepicker/datepicker-input.directive.mjs +0 -954
  430. package/esm2020/datepicker/datepicker-toggle.component.mjs +0 -86
  431. package/esm2020/datepicker/datepicker.component.mjs +0 -393
  432. package/esm2020/datepicker/month-view.component.mjs +0 -158
  433. package/esm2020/dropdown/dropdown-trigger.directive.mjs +0 -489
  434. package/esm2020/dropdown/dropdown.component.mjs +0 -292
  435. package/esm2020/ellipsis-center/ellipsis-center.directive.mjs +0 -106
  436. package/esm2020/file-upload/multiple-file-upload.component.mjs +0 -161
  437. package/esm2020/file-upload/single-file-upload.component.mjs +0 -130
  438. package/esm2020/form-field/form-field.mjs +0 -270
  439. package/esm2020/form-field/password-hint.mjs +0 -138
  440. package/esm2020/form-field/validate.directive.mjs +0 -158
  441. package/esm2020/input/input-number.mjs +0 -168
  442. package/esm2020/input/input-password.mjs +0 -343
  443. package/esm2020/input/input.mjs +0 -297
  444. package/esm2020/link/link.component.mjs +0 -122
  445. package/esm2020/list/list-selection.component.mjs +0 -705
  446. package/esm2020/loader-overlay/loader-overlay.component.mjs +0 -103
  447. package/esm2020/modal/modal-control.service.mjs +0 -85
  448. package/esm2020/modal/modal.component.mjs +0 -510
  449. package/esm2020/modal/modal.module.mjs +0 -71
  450. package/esm2020/navbar/navbar-item.component.mjs +0 -605
  451. package/esm2020/navbar/navbar.component.mjs +0 -239
  452. package/esm2020/popover/popover-confirm.component.mjs +0 -108
  453. package/esm2020/popover/popover.component.mjs +0 -266
  454. package/esm2020/radio/radio.component.mjs +0 -456
  455. package/esm2020/select/select-option.directive.mjs +0 -65
  456. package/esm2020/select/select.component.mjs +0 -1146
  457. package/esm2020/sidebar/sidebar.component.mjs +0 -146
  458. package/esm2020/sidepanel/sidepanel-container.component.mjs +0 -110
  459. package/esm2020/splitter/splitter.component.mjs +0 -482
  460. package/esm2020/tabs/paginated-tab-header.mjs +0 -488
  461. package/esm2020/tabs/tab-body.component.mjs +0 -179
  462. package/esm2020/tabs/tab-group.component.mjs +0 -349
  463. package/esm2020/tabs/tab-nav-bar/tab-nav-bar.mjs +0 -111
  464. package/esm2020/tags/tag-default-options.mjs +0 -4
  465. package/esm2020/tags/tag-input.mjs +0 -248
  466. package/esm2020/tags/tag-list.component.mjs +0 -714
  467. package/esm2020/tags/tag.component.mjs +0 -381
  468. package/esm2020/tags/tag.module.mjs +0 -56
  469. package/esm2020/textarea/textarea.component.mjs +0 -254
  470. package/esm2020/timepicker/timepicker.directive.mjs +0 -647
  471. package/esm2020/timezone/timezone-option.component.mjs +0 -48
  472. package/esm2020/title/title.directive.mjs +0 -107
  473. package/esm2020/toast/toast.component.mjs +0 -92
  474. package/esm2020/toast/toast.module.mjs +0 -42
  475. package/esm2020/toast/toast.service.mjs +0 -188
  476. package/esm2020/toggle/toggle.component.mjs +0 -156
  477. package/esm2020/tooltip/tooltip.component.mjs +0 -299
  478. package/esm2020/tree/data-source/flat-data-source.mjs +0 -162
  479. package/esm2020/tree/padding.directive.mjs +0 -113
  480. package/esm2020/tree/toggle.mjs +0 -81
  481. package/esm2020/tree/tree-base.mjs +0 -243
  482. package/esm2020/tree/tree-option.component.mjs +0 -299
  483. package/esm2020/tree/tree-selection.component.mjs +0 -557
  484. package/esm2020/tree-select/tree-select.component.mjs +0 -936
  485. package/fesm2015/ptsecurity-mosaic-autocomplete.mjs +0 -753
  486. package/fesm2015/ptsecurity-mosaic-autocomplete.mjs.map +0 -1
  487. package/fesm2015/ptsecurity-mosaic-button-toggle.mjs +0 -405
  488. package/fesm2015/ptsecurity-mosaic-button-toggle.mjs.map +0 -1
  489. package/fesm2015/ptsecurity-mosaic-button.mjs +0 -193
  490. package/fesm2015/ptsecurity-mosaic-button.mjs.map +0 -1
  491. package/fesm2015/ptsecurity-mosaic-card.mjs +0 -111
  492. package/fesm2015/ptsecurity-mosaic-card.mjs.map +0 -1
  493. package/fesm2015/ptsecurity-mosaic-checkbox.mjs +0 -351
  494. package/fesm2015/ptsecurity-mosaic-checkbox.mjs.map +0 -1
  495. package/fesm2015/ptsecurity-mosaic-code-block.mjs +0 -280
  496. package/fesm2015/ptsecurity-mosaic-code-block.mjs.map +0 -1
  497. package/fesm2015/ptsecurity-mosaic-core.mjs +0 -2314
  498. package/fesm2015/ptsecurity-mosaic-core.mjs.map +0 -1
  499. package/fesm2015/ptsecurity-mosaic-datepicker.mjs +0 -2112
  500. package/fesm2015/ptsecurity-mosaic-datepicker.mjs.map +0 -1
  501. package/fesm2015/ptsecurity-mosaic-divider.mjs +0 -61
  502. package/fesm2015/ptsecurity-mosaic-divider.mjs.map +0 -1
  503. package/fesm2015/ptsecurity-mosaic-dl.mjs +0 -126
  504. package/fesm2015/ptsecurity-mosaic-dl.mjs.map +0 -1
  505. package/fesm2015/ptsecurity-mosaic-dropdown.mjs +0 -1115
  506. package/fesm2015/ptsecurity-mosaic-dropdown.mjs.map +0 -1
  507. package/fesm2015/ptsecurity-mosaic-ellipsis-center.mjs +0 -113
  508. package/fesm2015/ptsecurity-mosaic-ellipsis-center.mjs.map +0 -1
  509. package/fesm2015/ptsecurity-mosaic-file-upload.mjs +0 -392
  510. package/fesm2015/ptsecurity-mosaic-file-upload.mjs.map +0 -1
  511. package/fesm2015/ptsecurity-mosaic-form-field.mjs +0 -768
  512. package/fesm2015/ptsecurity-mosaic-form-field.mjs.map +0 -1
  513. package/fesm2015/ptsecurity-mosaic-icon.mjs +0 -86
  514. package/fesm2015/ptsecurity-mosaic-icon.mjs.map +0 -1
  515. package/fesm2015/ptsecurity-mosaic-input.mjs +0 -951
  516. package/fesm2015/ptsecurity-mosaic-input.mjs.map +0 -1
  517. package/fesm2015/ptsecurity-mosaic-link.mjs +0 -150
  518. package/fesm2015/ptsecurity-mosaic-link.mjs.map +0 -1
  519. package/fesm2015/ptsecurity-mosaic-list.mjs +0 -807
  520. package/fesm2015/ptsecurity-mosaic-list.mjs.map +0 -1
  521. package/fesm2015/ptsecurity-mosaic-loader-overlay.mjs +0 -157
  522. package/fesm2015/ptsecurity-mosaic-markdown.mjs +0 -128
  523. package/fesm2015/ptsecurity-mosaic-markdown.mjs.map +0 -1
  524. package/fesm2015/ptsecurity-mosaic-modal.mjs +0 -875
  525. package/fesm2015/ptsecurity-mosaic-modal.mjs.map +0 -1
  526. package/fesm2015/ptsecurity-mosaic-navbar.mjs +0 -1054
  527. package/fesm2015/ptsecurity-mosaic-navbar.mjs.map +0 -1
  528. package/fesm2015/ptsecurity-mosaic-popover.mjs +0 -411
  529. package/fesm2015/ptsecurity-mosaic-progress-bar.mjs +0 -74
  530. package/fesm2015/ptsecurity-mosaic-progress-bar.mjs.map +0 -1
  531. package/fesm2015/ptsecurity-mosaic-progress-spinner.mjs +0 -93
  532. package/fesm2015/ptsecurity-mosaic-progress-spinner.mjs.map +0 -1
  533. package/fesm2015/ptsecurity-mosaic-radio.mjs +0 -480
  534. package/fesm2015/ptsecurity-mosaic-select.mjs +0 -1286
  535. package/fesm2015/ptsecurity-mosaic-select.mjs.map +0 -1
  536. package/fesm2015/ptsecurity-mosaic-sidebar.mjs +0 -202
  537. package/fesm2015/ptsecurity-mosaic-sidebar.mjs.map +0 -1
  538. package/fesm2015/ptsecurity-mosaic-sidepanel.mjs +0 -622
  539. package/fesm2015/ptsecurity-mosaic-sidepanel.mjs.map +0 -1
  540. package/fesm2015/ptsecurity-mosaic-splitter.mjs.map +0 -1
  541. package/fesm2015/ptsecurity-mosaic-table.mjs +0 -45
  542. package/fesm2015/ptsecurity-mosaic-table.mjs.map +0 -1
  543. package/fesm2015/ptsecurity-mosaic-tabs.mjs +0 -1523
  544. package/fesm2015/ptsecurity-mosaic-tabs.mjs.map +0 -1
  545. package/fesm2015/ptsecurity-mosaic-tags.mjs +0 -1391
  546. package/fesm2015/ptsecurity-mosaic-tags.mjs.map +0 -1
  547. package/fesm2015/ptsecurity-mosaic-textarea.mjs +0 -280
  548. package/fesm2015/ptsecurity-mosaic-timepicker.mjs +0 -708
  549. package/fesm2015/ptsecurity-mosaic-timepicker.mjs.map +0 -1
  550. package/fesm2015/ptsecurity-mosaic-timezone.mjs +0 -316
  551. package/fesm2015/ptsecurity-mosaic-timezone.mjs.map +0 -1
  552. package/fesm2015/ptsecurity-mosaic-title.mjs +0 -128
  553. package/fesm2015/ptsecurity-mosaic-title.mjs.map +0 -1
  554. package/fesm2015/ptsecurity-mosaic-toast.mjs +0 -379
  555. package/fesm2015/ptsecurity-mosaic-toast.mjs.map +0 -1
  556. package/fesm2015/ptsecurity-mosaic-toggle.mjs +0 -178
  557. package/fesm2015/ptsecurity-mosaic-toggle.mjs.map +0 -1
  558. package/fesm2015/ptsecurity-mosaic-tooltip.mjs +0 -369
  559. package/fesm2015/ptsecurity-mosaic-tooltip.mjs.map +0 -1
  560. package/fesm2015/ptsecurity-mosaic-tree-select.mjs +0 -983
  561. package/fesm2015/ptsecurity-mosaic-tree-select.mjs.map +0 -1
  562. package/fesm2015/ptsecurity-mosaic-tree.mjs +0 -1815
  563. package/fesm2015/ptsecurity-mosaic-tree.mjs.map +0 -1
  564. package/fesm2020/ptsecurity-mosaic-autocomplete.mjs.map +0 -1
  565. package/fesm2020/ptsecurity-mosaic-core.mjs.map +0 -1
  566. package/fesm2020/ptsecurity-mosaic-datepicker.mjs.map +0 -1
  567. package/fesm2020/ptsecurity-mosaic-file-upload.mjs.map +0 -1
  568. package/fesm2020/ptsecurity-mosaic-form-field.mjs.map +0 -1
  569. package/fesm2020/ptsecurity-mosaic-icon.mjs.map +0 -1
  570. package/fesm2020/ptsecurity-mosaic-loader-overlay.mjs +0 -155
  571. package/fesm2020/ptsecurity-mosaic-loader-overlay.mjs.map +0 -1
  572. package/fesm2020/ptsecurity-mosaic-modal.mjs.map +0 -1
  573. package/fesm2020/ptsecurity-mosaic-navbar.mjs.map +0 -1
  574. package/fesm2020/ptsecurity-mosaic-popover.mjs.map +0 -1
  575. package/fesm2020/ptsecurity-mosaic-radio.mjs.map +0 -1
  576. package/fesm2020/ptsecurity-mosaic-select.mjs.map +0 -1
  577. package/fesm2020/ptsecurity-mosaic-splitter.mjs +0 -524
  578. package/fesm2020/ptsecurity-mosaic-table.mjs +0 -45
  579. package/fesm2020/ptsecurity-mosaic-table.mjs.map +0 -1
  580. package/fesm2020/ptsecurity-mosaic-tabs.mjs.map +0 -1
  581. package/fesm2020/ptsecurity-mosaic-tags.mjs.map +0 -1
  582. package/fesm2020/ptsecurity-mosaic-textarea.mjs.map +0 -1
  583. package/fesm2020/ptsecurity-mosaic-timezone.mjs +0 -314
  584. package/fesm2020/ptsecurity-mosaic-title.mjs.map +0 -1
  585. package/fesm2020/ptsecurity-mosaic-tree-select.mjs.map +0 -1
  586. package/fesm2020/ptsecurity-mosaic-tree.mjs.map +0 -1
  587. package/fesm2020/ptsecurity-mosaic.mjs +0 -4
  588. package/fesm2020/ptsecurity-mosaic.mjs.map +0 -1
  589. /package/{esm2020 → esm2022}/autocomplete/index.mjs +0 -0
  590. /package/{esm2020 → esm2022}/autocomplete/ptsecurity-mosaic-autocomplete.mjs +0 -0
  591. /package/{esm2020 → esm2022}/autocomplete/public-api.mjs +0 -0
  592. /package/{esm2020 → esm2022}/button/index.mjs +0 -0
  593. /package/{esm2020 → esm2022}/button/ptsecurity-mosaic-button.mjs +0 -0
  594. /package/{esm2020 → esm2022}/button/public-api.mjs +0 -0
  595. /package/{esm2020 → esm2022}/button-toggle/index.mjs +0 -0
  596. /package/{esm2020 → esm2022}/button-toggle/ptsecurity-mosaic-button-toggle.mjs +0 -0
  597. /package/{esm2020 → esm2022}/button-toggle/public-api.mjs +0 -0
  598. /package/{esm2020 → esm2022}/card/index.mjs +0 -0
  599. /package/{esm2020 → esm2022}/card/ptsecurity-mosaic-card.mjs +0 -0
  600. /package/{esm2020 → esm2022}/card/public-api.mjs +0 -0
  601. /package/{esm2020 → esm2022}/checkbox/checkbox-config.mjs +0 -0
  602. /package/{esm2020 → esm2022}/checkbox/index.mjs +0 -0
  603. /package/{esm2020 → esm2022}/checkbox/ptsecurity-mosaic-checkbox.mjs +0 -0
  604. /package/{esm2020 → esm2022}/checkbox/public-api.mjs +0 -0
  605. /package/{esm2020 → esm2022}/code-block/code-block.types.mjs +0 -0
  606. /package/{esm2020 → esm2022}/code-block/index.mjs +0 -0
  607. /package/{esm2020 → esm2022}/code-block/ptsecurity-mosaic-code-block.mjs +0 -0
  608. /package/{esm2020 → esm2022}/code-block/public-api.mjs +0 -0
  609. /package/{esm2020 → esm2022}/core/animation/animation.mjs +0 -0
  610. /package/{esm2020 → esm2022}/core/animation/fade-animations.mjs +0 -0
  611. /package/{esm2020 → esm2022}/core/animation/index.mjs +0 -0
  612. /package/{esm2020 → esm2022}/core/animation/select-animations.mjs +0 -0
  613. /package/{esm2020 → esm2022}/core/common-behaviors/constructor.mjs +0 -0
  614. /package/{esm2020 → esm2022}/core/common-behaviors/error-state.mjs +0 -0
  615. /package/{esm2020 → esm2022}/core/common-behaviors/index.mjs +0 -0
  616. /package/{esm2020 → esm2022}/core/datetime/date-adapter.mjs +0 -0
  617. /package/{esm2020 → esm2022}/core/datetime/date-formats.mjs +0 -0
  618. /package/{esm2020 → esm2022}/core/datetime/index.mjs +0 -0
  619. /package/{esm2020 → esm2022}/core/forms/index.mjs +0 -0
  620. /package/{esm2020 → esm2022}/core/index.mjs +0 -0
  621. /package/{esm2020 → esm2022}/core/label/label-options.mjs +0 -0
  622. /package/{esm2020 → esm2022}/core/locales/index.mjs +0 -0
  623. /package/{esm2020 → esm2022}/core/option/index.mjs +0 -0
  624. /package/{esm2020 → esm2022}/core/pop-up/constants.mjs +0 -0
  625. /package/{esm2020 → esm2022}/core/pop-up/index.mjs +0 -0
  626. /package/{esm2020 → esm2022}/core/ptsecurity-mosaic-core.mjs +0 -0
  627. /package/{esm2020 → esm2022}/core/public-api.mjs +0 -0
  628. /package/{esm2020 → esm2022}/core/select/constants.mjs +0 -0
  629. /package/{esm2020 → esm2022}/core/select/errors.mjs +0 -0
  630. /package/{esm2020 → esm2022}/core/select/events.mjs +0 -0
  631. /package/{esm2020 → esm2022}/core/select/index.mjs +0 -0
  632. /package/{esm2020 → esm2022}/core/selection/constants.mjs +0 -0
  633. /package/{esm2020 → esm2022}/core/selection/index.mjs +0 -0
  634. /package/{esm2020 → esm2022}/core/title/index.mjs +0 -0
  635. /package/{esm2020 → esm2022}/core/title/title-text-ref.mjs +0 -0
  636. /package/{esm2020 → esm2022}/core/utils/data-size/config.mjs +0 -0
  637. /package/{esm2020 → esm2022}/core/utils/data-size/index.mjs +0 -0
  638. /package/{esm2020 → esm2022}/core/utils/data-size/size.mjs +0 -0
  639. /package/{esm2020 → esm2022}/core/utils/index.mjs +0 -0
  640. /package/{esm2020 → esm2022}/core/utils/public-api.mjs +0 -0
  641. /package/{esm2020 → esm2022}/core/utils/utils.mjs +0 -0
  642. /package/{esm2020 → esm2022}/core/validation/index.mjs +0 -0
  643. /package/{esm2020 → esm2022}/core/validation/validation.mjs +0 -0
  644. /package/{esm2020 → esm2022}/datepicker/datepicker-animations.mjs +0 -0
  645. /package/{esm2020 → esm2022}/datepicker/datepicker-errors.mjs +0 -0
  646. /package/{esm2020 → esm2022}/datepicker/index.mjs +0 -0
  647. /package/{esm2020 → esm2022}/datepicker/ptsecurity-mosaic-datepicker.mjs +0 -0
  648. /package/{esm2020 → esm2022}/datepicker/public-api.mjs +0 -0
  649. /package/{esm2020 → esm2022}/divider/index.mjs +0 -0
  650. /package/{esm2020 → esm2022}/divider/ptsecurity-mosaic-divider.mjs +0 -0
  651. /package/{esm2020 → esm2022}/divider/public-api.mjs +0 -0
  652. /package/{esm2020 → esm2022}/dl/index.mjs +0 -0
  653. /package/{esm2020 → esm2022}/dl/ptsecurity-mosaic-dl.mjs +0 -0
  654. /package/{esm2020 → esm2022}/dl/public-api.mjs +0 -0
  655. /package/{esm2020 → esm2022}/dropdown/dropdown-animations.mjs +0 -0
  656. /package/{esm2020 → esm2022}/dropdown/dropdown-errors.mjs +0 -0
  657. /package/{esm2020 → esm2022}/dropdown/dropdown.types.mjs +0 -0
  658. /package/{esm2020 → esm2022}/dropdown/index.mjs +0 -0
  659. /package/{esm2020 → esm2022}/dropdown/ptsecurity-mosaic-dropdown.mjs +0 -0
  660. /package/{esm2020 → esm2022}/dropdown/public-api.mjs +0 -0
  661. /package/{esm2020 → esm2022}/ellipsis-center/index.mjs +0 -0
  662. /package/{esm2020 → esm2022}/ellipsis-center/ptsecurity-mosaic-ellipsis-center.mjs +0 -0
  663. /package/{esm2020 → esm2022}/ellipsis-center/public-api.mjs +0 -0
  664. /package/{esm2020 → esm2022}/file-upload/file-upload.mjs +0 -0
  665. /package/{esm2020 → esm2022}/file-upload/index.mjs +0 -0
  666. /package/{esm2020 → esm2022}/file-upload/ptsecurity-mosaic-file-upload.mjs +0 -0
  667. /package/{esm2020 → esm2022}/file-upload/public-api.mjs +0 -0
  668. /package/{esm2020 → esm2022}/form-field/form-field-control.mjs +0 -0
  669. /package/{esm2020 → esm2022}/form-field/form-field-errors.mjs +0 -0
  670. /package/{esm2020 → esm2022}/form-field/index.mjs +0 -0
  671. /package/{esm2020 → esm2022}/form-field/ptsecurity-mosaic-form-field.mjs +0 -0
  672. /package/{esm2020 → esm2022}/form-field/public-api.mjs +0 -0
  673. /package/{esm2020 → esm2022}/icon/index.mjs +0 -0
  674. /package/{esm2020 → esm2022}/icon/ptsecurity-mosaic-icon.mjs +0 -0
  675. /package/{esm2020 → esm2022}/icon/public-api.mjs +0 -0
  676. /package/{esm2020 → esm2022}/index.mjs +0 -0
  677. /package/{esm2020 → esm2022}/input/index.mjs +0 -0
  678. /package/{esm2020 → esm2022}/input/input-errors.mjs +0 -0
  679. /package/{esm2020 → esm2022}/input/input-value-accessor.mjs +0 -0
  680. /package/{esm2020 → esm2022}/input/ptsecurity-mosaic-input.mjs +0 -0
  681. /package/{esm2020 → esm2022}/input/public-api.mjs +0 -0
  682. /package/{esm2020 → esm2022}/link/index.mjs +0 -0
  683. /package/{esm2020 → esm2022}/link/ptsecurity-mosaic-link.mjs +0 -0
  684. /package/{esm2020 → esm2022}/link/public-api.mjs +0 -0
  685. /package/{esm2020 → esm2022}/list/index.mjs +0 -0
  686. /package/{esm2020 → esm2022}/list/ptsecurity-mosaic-list.mjs +0 -0
  687. /package/{esm2020 → esm2022}/list/public-api.mjs +0 -0
  688. /package/{esm2020 → esm2022}/loader-overlay/index.mjs +0 -0
  689. /package/{esm2020 → esm2022}/loader-overlay/ptsecurity-mosaic-loader-overlay.mjs +0 -0
  690. /package/{esm2020 → esm2022}/loader-overlay/public-api.mjs +0 -0
  691. /package/{esm2020 → esm2022}/markdown/index.mjs +0 -0
  692. /package/{esm2020 → esm2022}/markdown/markdown.values.mjs +0 -0
  693. /package/{esm2020 → esm2022}/markdown/ptsecurity-mosaic-markdown.mjs +0 -0
  694. /package/{esm2020 → esm2022}/markdown/public-api.mjs +0 -0
  695. /package/{esm2020 → esm2022}/modal/index.mjs +0 -0
  696. /package/{esm2020 → esm2022}/modal/modal-ref.class.mjs +0 -0
  697. /package/{esm2020 → esm2022}/modal/modal-util.mjs +0 -0
  698. /package/{esm2020 → esm2022}/modal/modal.type.mjs +0 -0
  699. /package/{esm2020 → esm2022}/modal/ptsecurity-mosaic-modal.mjs +0 -0
  700. /package/{esm2020 → esm2022}/modal/public-api.mjs +0 -0
  701. /package/{esm2020 → esm2022}/navbar/index.mjs +0 -0
  702. /package/{esm2020 → esm2022}/navbar/ptsecurity-mosaic-navbar.mjs +0 -0
  703. /package/{esm2020 → esm2022}/navbar/public-api.mjs +0 -0
  704. /package/{esm2020 → esm2022}/navbar/vertical-navbar.animation.mjs +0 -0
  705. /package/{esm2020 → esm2022}/popover/index.mjs +0 -0
  706. /package/{esm2020 → esm2022}/popover/popover-animations.mjs +0 -0
  707. /package/{esm2020 → esm2022}/popover/ptsecurity-mosaic-popover.mjs +0 -0
  708. /package/{esm2020 → esm2022}/popover/public-api.mjs +0 -0
  709. /package/{esm2020 → esm2022}/progress-bar/index.mjs +0 -0
  710. /package/{esm2020 → esm2022}/progress-bar/ptsecurity-mosaic-progress-bar.mjs +0 -0
  711. /package/{esm2020 → esm2022}/progress-bar/public-api.mjs +0 -0
  712. /package/{esm2020 → esm2022}/progress-spinner/index.mjs +0 -0
  713. /package/{esm2020 → esm2022}/progress-spinner/ptsecurity-mosaic-progress-spinner.mjs +0 -0
  714. /package/{esm2020 → esm2022}/progress-spinner/public-api.mjs +0 -0
  715. /package/{esm2020 → esm2022}/ptsecurity-mosaic.mjs +0 -0
  716. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
  717. /package/{esm2020 → esm2022}/radio/index.mjs +0 -0
  718. /package/{esm2020 → esm2022}/radio/ptsecurity-mosaic-radio.mjs +0 -0
  719. /package/{esm2020 → esm2022}/radio/public-api.mjs +0 -0
  720. /package/{esm2020 → esm2022}/select/index.mjs +0 -0
  721. /package/{esm2020 → esm2022}/select/ptsecurity-mosaic-select.mjs +0 -0
  722. /package/{esm2020 → esm2022}/select/public-api.mjs +0 -0
  723. /package/{esm2020 → esm2022}/sidebar/index.mjs +0 -0
  724. /package/{esm2020 → esm2022}/sidebar/ptsecurity-mosaic-sidebar.mjs +0 -0
  725. /package/{esm2020 → esm2022}/sidebar/public-api.mjs +0 -0
  726. /package/{esm2020 → esm2022}/sidebar/sidebar-animations.mjs +0 -0
  727. /package/{esm2020 → esm2022}/sidepanel/index.mjs +0 -0
  728. /package/{esm2020 → esm2022}/sidepanel/ptsecurity-mosaic-sidepanel.mjs +0 -0
  729. /package/{esm2020 → esm2022}/sidepanel/public-api.mjs +0 -0
  730. /package/{esm2020 → esm2022}/sidepanel/sidepanel-animations.mjs +0 -0
  731. /package/{esm2020 → esm2022}/sidepanel/sidepanel-config.mjs +0 -0
  732. /package/{esm2020 → esm2022}/sidepanel/sidepanel-ref.mjs +0 -0
  733. /package/{esm2020 → esm2022}/splitter/index.mjs +0 -0
  734. /package/{esm2020 → esm2022}/splitter/ptsecurity-mosaic-splitter.mjs +0 -0
  735. /package/{esm2020 → esm2022}/splitter/public-api.mjs +0 -0
  736. /package/{esm2020 → esm2022}/table/index.mjs +0 -0
  737. /package/{esm2020 → esm2022}/table/ptsecurity-mosaic-table.mjs +0 -0
  738. /package/{esm2020 → esm2022}/table/public-api.mjs +0 -0
  739. /package/{esm2020 → esm2022}/tabs/index.mjs +0 -0
  740. /package/{esm2020 → esm2022}/tabs/ptsecurity-mosaic-tabs.mjs +0 -0
  741. /package/{esm2020 → esm2022}/tabs/public-api.mjs +0 -0
  742. /package/{esm2020 → esm2022}/tabs/tab-nav-bar/index.mjs +0 -0
  743. /package/{esm2020 → esm2022}/tabs/tabs-animations.mjs +0 -0
  744. /package/{esm2020 → esm2022}/tags/index.mjs +0 -0
  745. /package/{esm2020 → esm2022}/tags/ptsecurity-mosaic-tags.mjs +0 -0
  746. /package/{esm2020 → esm2022}/tags/public-api.mjs +0 -0
  747. /package/{esm2020 → esm2022}/tags/tag-text-control.mjs +0 -0
  748. /package/{esm2020 → esm2022}/textarea/index.mjs +0 -0
  749. /package/{esm2020 → esm2022}/textarea/ptsecurity-mosaic-textarea.mjs +0 -0
  750. /package/{esm2020 → esm2022}/textarea/public-api.mjs +0 -0
  751. /package/{esm2020 → esm2022}/timepicker/index.mjs +0 -0
  752. /package/{esm2020 → esm2022}/timepicker/ptsecurity-mosaic-timepicker.mjs +0 -0
  753. /package/{esm2020 → esm2022}/timepicker/public-api.mjs +0 -0
  754. /package/{esm2020 → esm2022}/timepicker/timepicker.constants.mjs +0 -0
  755. /package/{esm2020 → esm2022}/timezone/index.mjs +0 -0
  756. /package/{esm2020 → esm2022}/timezone/ptsecurity-mosaic-timezone.mjs +0 -0
  757. /package/{esm2020 → esm2022}/timezone/public-api.mjs +0 -0
  758. /package/{esm2020 → esm2022}/timezone/timezone.models.mjs +0 -0
  759. /package/{esm2020 → esm2022}/timezone/timezone.utils.mjs +0 -0
  760. /package/{esm2020 → esm2022}/title/index.mjs +0 -0
  761. /package/{esm2020 → esm2022}/title/ptsecurity-mosaic-title.mjs +0 -0
  762. /package/{esm2020 → esm2022}/title/public-api.mjs +0 -0
  763. /package/{esm2020 → esm2022}/toast/index.mjs +0 -0
  764. /package/{esm2020 → esm2022}/toast/ptsecurity-mosaic-toast.mjs +0 -0
  765. /package/{esm2020 → esm2022}/toast/public-api.mjs +0 -0
  766. /package/{esm2020 → esm2022}/toast/toast-animations.mjs +0 -0
  767. /package/{esm2020 → esm2022}/toast/toast.type.mjs +0 -0
  768. /package/{esm2020 → esm2022}/toggle/index.mjs +0 -0
  769. /package/{esm2020 → esm2022}/toggle/ptsecurity-mosaic-toggle.mjs +0 -0
  770. /package/{esm2020 → esm2022}/toggle/public-api.mjs +0 -0
  771. /package/{esm2020 → esm2022}/tooltip/index.mjs +0 -0
  772. /package/{esm2020 → esm2022}/tooltip/ptsecurity-mosaic-tooltip.mjs +0 -0
  773. /package/{esm2020 → esm2022}/tooltip/public-api.mjs +0 -0
  774. /package/{esm2020 → esm2022}/tooltip/tooltip.animations.mjs +0 -0
  775. /package/{esm2020 → esm2022}/tree/control/base-tree-control.mjs +0 -0
  776. /package/{esm2020 → esm2022}/tree/control/flat-tree-control.mjs +0 -0
  777. /package/{esm2020 → esm2022}/tree/control/nested-tree-control.mjs +0 -0
  778. /package/{esm2020 → esm2022}/tree/control/tree-control.mjs +0 -0
  779. /package/{esm2020 → esm2022}/tree/data-source/nested-data-source.mjs +0 -0
  780. /package/{esm2020 → esm2022}/tree/index.mjs +0 -0
  781. /package/{esm2020 → esm2022}/tree/ptsecurity-mosaic-tree.mjs +0 -0
  782. /package/{esm2020 → esm2022}/tree/public-api.mjs +0 -0
  783. /package/{esm2020 → esm2022}/tree/tree-errors.mjs +0 -0
  784. /package/{esm2020 → esm2022}/tree-select/index.mjs +0 -0
  785. /package/{esm2020 → esm2022}/tree-select/ptsecurity-mosaic-tree-select.mjs +0 -0
  786. /package/{esm2020 → esm2022}/tree-select/public-api.mjs +0 -0
  787. /package/{fesm2015 → fesm2022}/ptsecurity-mosaic.mjs +0 -0
  788. /package/{fesm2015 → fesm2022}/ptsecurity-mosaic.mjs.map +0 -0
@@ -1,1286 +0,0 @@
1
- import * as i2$1 from '@angular/cdk/overlay';
2
- import { CdkConnectedOverlay, OverlayModule } from '@angular/cdk/overlay';
3
- import * as i5 from '@angular/common';
4
- import { CommonModule } from '@angular/common';
5
- import * as i0 from '@angular/core';
6
- import { Directive, Inject, Optional, ContentChild, EventEmitter, isDevMode, TemplateRef, Component, ViewEncapsulation, ChangeDetectionStrategy, Self, ViewChild, ViewChildren, ContentChildren, Input, Output, NgModule } from '@angular/core';
7
- import * as i2 from '@ptsecurity/mosaic/core';
8
- import { mixinTabIndex, mixinDisabled, mixinErrorState, getMcSelectDynamicMultipleError, getMcSelectNonFunctionValueError, getMcSelectNonArrayValueError, SELECT_PANEL_PADDING_X, SELECT_PANEL_INDENT_PADDING_X, SELECT_PANEL_VIEWPORT_PADDING, MC_SELECT_SCROLL_STRATEGY, MC_LOCALE_SERVICE, MC_OPTION_PARENT_COMPONENT, McOption, McOptgroup, mcSelectAnimations, McOptionModule, MC_SELECT_SCROLL_STRATEGY_PROVIDER } from '@ptsecurity/mosaic/core';
9
- import * as i1 from '@ptsecurity/mosaic/form-field';
10
- import { McFormFieldControl, McFormFieldModule } from '@ptsecurity/mosaic/form-field';
11
- import * as i7 from '@ptsecurity/mosaic/icon';
12
- import { McIconModule } from '@ptsecurity/mosaic/icon';
13
- import * as i8 from '@ptsecurity/mosaic/tags';
14
- import { McTag, McTagsModule } from '@ptsecurity/mosaic/tags';
15
- import { McTooltipTrigger, MC_TOOLTIP_SCROLL_STRATEGY, McToolTipModule } from '@ptsecurity/mosaic/tooltip';
16
- import * as i3 from '@angular/cdk/bidi';
17
- import { coerceBooleanProperty } from '@angular/cdk/coercion';
18
- import { SelectionModel } from '@angular/cdk/collections';
19
- import { ActiveDescendantKeyManager } from '@ptsecurity/cdk/a11y';
20
- import { ESCAPE, SPACE, HOME, END, DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW, ENTER, TAB, PAGE_UP, PAGE_DOWN, A } from '@ptsecurity/cdk/keycodes';
21
- import { McInput } from '@ptsecurity/mosaic/input';
22
- import { Subscription, Subject, defer, merge, BehaviorSubject } from 'rxjs';
23
- import { take, switchMap, filter, map, distinctUntilChanged, takeUntil, startWith } from 'rxjs/operators';
24
- import * as i4 from '@angular/forms';
25
-
26
- class McOptionTooltip extends McTooltipTrigger {
27
- constructor(option, overlay, elementRef, ngZone, scrollDispatcher, hostView, scrollStrategy, direction) {
28
- super(overlay, elementRef, ngZone, scrollDispatcher, hostView, scrollStrategy, direction);
29
- this.option = option;
30
- }
31
- get textElement() {
32
- return this.option.textElement.nativeElement;
33
- }
34
- get isOverflown() {
35
- return this.textElement.clientWidth < this.textElement.scrollWidth;
36
- }
37
- ngAfterViewInit() {
38
- this.content = this.option.viewValue;
39
- this.resizeObserver = new ResizeObserver(() => this.disabled = !this.isOverflown);
40
- this.mutationObserver = new MutationObserver(() => this.content = this.option.viewValue);
41
- this.mutationObserver.observe(this.textElement, {
42
- characterData: true, attributes: false, childList: true, subtree: true
43
- });
44
- }
45
- ngOnDestroy() {
46
- super.ngOnDestroy();
47
- if (this.resizeObserver) {
48
- this.resizeObserver.unobserve(this.textElement);
49
- this.resizeObserver.disconnect();
50
- }
51
- if (this.mutationObserver) {
52
- this.mutationObserver.disconnect();
53
- }
54
- }
55
- onMouseEnter() {
56
- this.resizeObserver.observe(this.textElement);
57
- this.disabled = !this.isOverflown;
58
- }
59
- onMouseLeave() {
60
- this.resizeObserver.unobserve(this.textElement);
61
- this.disabled = true;
62
- }
63
- }
64
- /** @nocollapse */ McOptionTooltip.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McOptionTooltip, deps: [{ token: i2.McOption }, { token: i2$1.Overlay }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i2$1.ScrollDispatcher }, { token: i0.ViewContainerRef }, { token: MC_TOOLTIP_SCROLL_STRATEGY }, { token: i3.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
65
- /** @nocollapse */ McOptionTooltip.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: McOptionTooltip, selector: "mc-option", host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()" } }, usesInheritance: true, ngImport: i0 });
66
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McOptionTooltip, decorators: [{
67
- type: Directive,
68
- args: [{
69
- selector: 'mc-option',
70
- host: {
71
- '(mouseenter)': 'onMouseEnter()',
72
- '(mouseleave)': 'onMouseLeave()'
73
- }
74
- }]
75
- }], ctorParameters: function () {
76
- return [{ type: i2.McOption }, { type: i2$1.Overlay }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i2$1.ScrollDispatcher }, { type: i0.ViewContainerRef }, { type: undefined, decorators: [{
77
- type: Inject,
78
- args: [MC_TOOLTIP_SCROLL_STRATEGY]
79
- }] }, { type: i3.Directionality, decorators: [{
80
- type: Optional
81
- }] }];
82
- } });
83
-
84
- let nextUniqueId = 0;
85
- /** Change event object that is emitted when the select value has changed. */
86
- class McSelectChange {
87
- constructor(source, value) {
88
- this.source = source;
89
- this.value = value;
90
- }
91
- }
92
- class McSelectFooter {
93
- }
94
- /** @nocollapse */ McSelectFooter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McSelectFooter, deps: [], target: i0.ɵɵFactoryTarget.Directive });
95
- /** @nocollapse */ McSelectFooter.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: McSelectFooter, selector: "mc-select-footer", host: { classAttribute: "mc-select__footer" }, ngImport: i0 });
96
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McSelectFooter, decorators: [{
97
- type: Directive,
98
- args: [{ selector: 'mc-select-footer', host: { class: 'mc-select__footer' } }]
99
- }] });
100
- class McSelectSearch {
101
- constructor(formField) {
102
- this.searchChangesSubscription = new Subscription();
103
- this.isSearchChanged = false;
104
- formField.canCleanerClearByEsc = false;
105
- }
106
- focus() {
107
- this.input.focus();
108
- }
109
- reset() {
110
- this.input.ngControl.reset();
111
- }
112
- ngAfterContentInit() {
113
- if (!this.input) {
114
- throw Error('McSelectSearch does not work without mcInput');
115
- }
116
- if (!this.input.ngControl) {
117
- throw Error('McSelectSearch does not work without ngControl');
118
- }
119
- Promise.resolve().then(() => {
120
- this.searchChangesSubscription = this.input.ngControl.valueChanges.subscribe(() => {
121
- this.isSearchChanged = true;
122
- });
123
- });
124
- }
125
- ngOnDestroy() {
126
- this.searchChangesSubscription.unsubscribe();
127
- }
128
- handleKeydown(event) {
129
- // tslint:disable-next-line:deprecation
130
- if (event.keyCode === ESCAPE) {
131
- if (this.input.value) {
132
- this.reset();
133
- event.stopPropagation();
134
- }
135
- }
136
- // tslint:disable-next-line:deprecation
137
- if ([SPACE, HOME, END].includes(event.keyCode)) {
138
- event.stopPropagation();
139
- }
140
- }
141
- }
142
- /** @nocollapse */ McSelectSearch.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McSelectSearch, deps: [{ token: i1.McFormField }], target: i0.ɵɵFactoryTarget.Directive });
143
- /** @nocollapse */ McSelectSearch.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: McSelectSearch, selector: "[mcSelectSearch]", host: { listeners: { "keydown": "handleKeydown($event)" } }, queries: [{ propertyName: "input", first: true, predicate: McInput, descendants: true }], exportAs: ["mcSelectSearch"], ngImport: i0 });
144
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McSelectSearch, decorators: [{
145
- type: Directive,
146
- args: [{
147
- selector: '[mcSelectSearch]',
148
- exportAs: 'mcSelectSearch',
149
- host: {
150
- '(keydown)': 'handleKeydown($event)'
151
- }
152
- }]
153
- }], ctorParameters: function () { return [{ type: i1.McFormField }]; }, propDecorators: { input: [{
154
- type: ContentChild,
155
- args: [McInput, { static: false }]
156
- }] } });
157
- class McSelectSearchEmptyResult {
158
- }
159
- /** @nocollapse */ McSelectSearchEmptyResult.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McSelectSearchEmptyResult, deps: [], target: i0.ɵɵFactoryTarget.Directive });
160
- /** @nocollapse */ McSelectSearchEmptyResult.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: McSelectSearchEmptyResult, selector: "[mc-select-search-empty-result]", exportAs: ["mcSelectSearchEmptyResult"], ngImport: i0 });
161
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McSelectSearchEmptyResult, decorators: [{
162
- type: Directive,
163
- args: [{
164
- selector: '[mc-select-search-empty-result]',
165
- exportAs: 'mcSelectSearchEmptyResult'
166
- }]
167
- }] });
168
- class McSelectTrigger {
169
- }
170
- /** @nocollapse */ McSelectTrigger.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McSelectTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive });
171
- /** @nocollapse */ McSelectTrigger.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: McSelectTrigger, selector: "mc-select-trigger, [mc-select-trigger]", ngImport: i0 });
172
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McSelectTrigger, decorators: [{
173
- type: Directive,
174
- args: [{ selector: 'mc-select-trigger, [mc-select-trigger]' }]
175
- }] });
176
- class McSelectMatcher {
177
- }
178
- /** @nocollapse */ McSelectMatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McSelectMatcher, deps: [], target: i0.ɵɵFactoryTarget.Directive });
179
- /** @nocollapse */ McSelectMatcher.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: McSelectMatcher, selector: "mc-select-matcher, [mc-select-matcher]", ngImport: i0 });
180
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McSelectMatcher, decorators: [{
181
- type: Directive,
182
- args: [{ selector: 'mc-select-matcher, [mc-select-matcher]' }]
183
- }] });
184
- /** @docs-private */
185
- class McSelectBase {
186
- constructor(elementRef, defaultErrorStateMatcher, parentForm, parentFormGroup, ngControl) {
187
- this.elementRef = elementRef;
188
- this.defaultErrorStateMatcher = defaultErrorStateMatcher;
189
- this.parentForm = parentForm;
190
- this.parentFormGroup = parentFormGroup;
191
- this.ngControl = ngControl;
192
- /**
193
- * Emits whenever the component state changes and should cause the parent
194
- * form-field to update. Implemented as part of `McFormFieldControl`.
195
- * @docs-private
196
- */
197
- this.stateChanges = new Subject();
198
- }
199
- }
200
- /** @docs-private */
201
- const McSelectMixinBase = mixinTabIndex(mixinDisabled(mixinErrorState(McSelectBase)));
202
- class McSelect extends McSelectMixinBase {
203
- constructor(_changeDetectorRef, _ngZone, _renderer, defaultErrorStateMatcher, elementRef, _dir, parentForm, parentFormGroup, parentFormField, ngControl, scrollStrategyFactory, localeService) {
204
- var _a;
205
- super(elementRef, defaultErrorStateMatcher, parentForm, parentFormGroup, ngControl);
206
- this._changeDetectorRef = _changeDetectorRef;
207
- this._ngZone = _ngZone;
208
- this._renderer = _renderer;
209
- this._dir = _dir;
210
- this.parentFormField = parentFormField;
211
- this.scrollStrategyFactory = scrollStrategyFactory;
212
- this.localeService = localeService;
213
- /** A name for this control that can be used by `mc-form-field`. */
214
- this.controlType = 'select';
215
- this.hiddenItems = 0;
216
- /** The cached font-size of the trigger element. */
217
- this.triggerFontSize = 0;
218
- this.previousSelectionModelSelected = [];
219
- /** The value of the select panel's transform-origin property. */
220
- this.transformOrigin = 'top';
221
- /** Emits when the panel element is finished transforming in. */
222
- this.panelDoneAnimatingStream = new Subject();
223
- /** Strategy that will be used to handle scrolling while the select panel is open. */
224
- this.scrollStrategy = this.scrollStrategyFactory();
225
- /**
226
- * The y-offset of the overlay panel in relation to the trigger's top start corner.
227
- * This must be adjusted to align the selected option text over the trigger text.
228
- * when the panel opens. Will change based on the y-position of the selected option.
229
- */
230
- this.offsetY = 0;
231
- /**
232
- * This position config ensures that the top "start" corner of the overlay
233
- * is aligned with with the top "start" of the origin by default (overlapping
234
- * the trigger completely). If the panel cannot fit below the trigger, it
235
- * will fall back to a position above the trigger.
236
- */
237
- this.positions = [
238
- {
239
- originX: 'start',
240
- originY: 'bottom',
241
- overlayX: 'start',
242
- overlayY: 'top'
243
- },
244
- {
245
- originX: 'start',
246
- originY: 'top',
247
- overlayX: 'start',
248
- overlayY: 'bottom'
249
- }
250
- ];
251
- this.hiddenItemsText = 'еще';
252
- this.backdropClass = 'cdk-overlay-transparent-backdrop';
253
- /** Combined stream of all of the child options' change events. */
254
- this.optionSelectionChanges = defer(() => {
255
- if (this.options) {
256
- return merge(...this.options.map((option) => option.onSelectionChange), ...this.selectionModel.selected.map((option) => option.onSelectionChange));
257
- }
258
- return this._ngZone.onStable
259
- .asObservable()
260
- .pipe(take(1), switchMap(() => this.optionSelectionChanges));
261
- });
262
- /** Event emitted when the select panel has been toggled. */
263
- this.openedChange = new EventEmitter();
264
- /** Event emitted when the select has been opened. */
265
- this.openedStream = this.openedChange.pipe(filter((o) => o), map(() => { }));
266
- /** Event emitted when the select has been closed. */
267
- this.closedStream = this.openedChange.pipe(filter((o) => !o), map(() => { }));
268
- /** Event emitted when the selected value has been changed by the user. */
269
- this.selectionChange = new EventEmitter();
270
- /**
271
- * Event that emits whenever the raw value of the select changes. This is here primarily
272
- * to facilitate the two-way binding for the `value` input.
273
- * @docs-private
274
- */
275
- this.valueChange = new EventEmitter();
276
- this._hasBackdrop = false;
277
- this._required = false;
278
- this._multiple = false;
279
- this._disabled = false;
280
- this._focused = false;
281
- this.panelOpen = false;
282
- this.closeSubscription = Subscription.EMPTY;
283
- /** The scroll position of the overlay panel, calculated to center the selected option. */
284
- this.scrollTop = 0;
285
- /** Unique id for this input. */
286
- this.uid = `mc-select-${nextUniqueId++}`;
287
- this.visibleChanges = new BehaviorSubject(false);
288
- /** Emits whenever the component is destroyed. */
289
- this.destroy = new Subject();
290
- /** `View -> model callback called when value changes` */
291
- this.onChange = () => { };
292
- /** `View -> model callback called when select has been touched` */
293
- this.onTouched = () => { };
294
- this.updateLocaleParams = () => {
295
- var _a;
296
- this.hiddenItemsText = (_a = this.localeService) === null || _a === void 0 ? void 0 : _a.getParams('select').hiddenItemsText;
297
- this._changeDetectorRef.markForCheck();
298
- };
299
- /** Comparison function to specify which option is displayed. Defaults to object equality. */
300
- this._compareWith = (o1, o2) => o1 === o2;
301
- (_a = this.localeService) === null || _a === void 0 ? void 0 : _a.changes.subscribe(this.updateLocaleParams);
302
- if (this.ngControl) {
303
- // Note: we provide the value accessor through here, instead of
304
- // the `providers` to avoid running into a circular import.
305
- this.ngControl.valueAccessor = this;
306
- }
307
- // Force setter to be called in case id was not specified.
308
- this.id = this.id;
309
- }
310
- get hasBackdrop() {
311
- return this._hasBackdrop;
312
- }
313
- set hasBackdrop(value) {
314
- this._hasBackdrop = coerceBooleanProperty(value);
315
- }
316
- get placeholder() {
317
- return this._placeholder;
318
- }
319
- set placeholder(value) {
320
- this._placeholder = value;
321
- this.stateChanges.next();
322
- }
323
- get required() {
324
- return this._required;
325
- }
326
- set required(value) {
327
- this._required = coerceBooleanProperty(value);
328
- this.stateChanges.next();
329
- }
330
- get multiple() {
331
- return this._multiple;
332
- }
333
- set multiple(value) {
334
- if (this.selectionModel) {
335
- throw getMcSelectDynamicMultipleError();
336
- }
337
- this._multiple = coerceBooleanProperty(value);
338
- }
339
- /**
340
- * Function to compare the option values with the selected values. The first argument
341
- * is a value from an option. The second is a value from the selection. A boolean
342
- * should be returned.
343
- */
344
- get compareWith() {
345
- return this._compareWith;
346
- }
347
- set compareWith(fn) {
348
- /* tslint:disable-next-line:strict-type-predicates */
349
- if (typeof fn !== 'function') {
350
- throw getMcSelectNonFunctionValueError();
351
- }
352
- this._compareWith = fn;
353
- if (this.selectionModel) {
354
- // A different comparator means the selection could change.
355
- this.initializeSelection();
356
- }
357
- }
358
- /** Value of the select control. */
359
- get value() {
360
- return this._value;
361
- }
362
- set value(newValue) {
363
- if (newValue !== this._value) {
364
- this.writeValue(newValue);
365
- this._value = newValue;
366
- }
367
- }
368
- get id() {
369
- return this._id;
370
- }
371
- set id(value) {
372
- this._id = value || this.uid;
373
- this.stateChanges.next();
374
- }
375
- get disabled() {
376
- return this._disabled;
377
- }
378
- set disabled(value) {
379
- this._disabled = coerceBooleanProperty(value);
380
- if (this.parentFormField) {
381
- this._disabled ? this.parentFormField.stopFocusMonitor() : this.parentFormField.runFocusMonitor();
382
- }
383
- }
384
- /** Whether the select is focused. */
385
- get focused() {
386
- return this._focused || this.panelOpen;
387
- }
388
- set focused(value) {
389
- this._focused = value;
390
- }
391
- get isEmptySearchResult() {
392
- return this.search && this.options.length === 0 && !!this.search.input.value;
393
- }
394
- get canShowCleaner() {
395
- return !this.disabled && this.cleaner && this.selectionModel.hasValue();
396
- }
397
- get selected() {
398
- return this.multiple ? this.selectionModel.selected : this.selectionModel.selected[0];
399
- }
400
- get triggerValue() {
401
- if (this.empty) {
402
- return '';
403
- }
404
- return this.selectionModel.selected[0].viewValue;
405
- }
406
- get triggerValues() {
407
- if (this.empty) {
408
- return [];
409
- }
410
- const selectedOptions = this.selectionModel.selected;
411
- if (this.isRtl()) {
412
- selectedOptions.reverse();
413
- }
414
- return selectedOptions;
415
- }
416
- get empty() {
417
- return !this.selectionModel || this.selectionModel.isEmpty();
418
- }
419
- ngOnInit() {
420
- this.selectionModel = new SelectionModel(this.multiple);
421
- this.stateChanges.next();
422
- // We need `distinctUntilChanged` here, because some browsers will
423
- // fire the animation end event twice for the same animation. See:
424
- // https://github.com/angular/angular/issues/24084
425
- this.panelDoneAnimatingStream
426
- .pipe(distinctUntilChanged(), takeUntil(this.destroy))
427
- .subscribe(() => {
428
- if (this.panelOpen) {
429
- this.scrollTop = 0;
430
- if (this.search) {
431
- this.search.focus();
432
- }
433
- this.openedChange.emit(true);
434
- }
435
- else {
436
- this.openedChange.emit(false);
437
- this._changeDetectorRef.markForCheck();
438
- }
439
- });
440
- merge(this.optionSelectionChanges, this.visibleChanges).pipe(takeUntil(this.destroy), distinctUntilChanged())
441
- .subscribe(() => setTimeout(() => this.calculateHiddenItems(), 0));
442
- }
443
- ngAfterContentInit() {
444
- this.initKeyManager();
445
- this.selectionModel.changed
446
- .pipe(takeUntil(this.destroy))
447
- .subscribe((event) => {
448
- event.added.forEach((option) => option.select());
449
- event.removed.forEach((option) => option.deselect());
450
- });
451
- this.options.changes
452
- .pipe(startWith(null), takeUntil(this.destroy))
453
- .subscribe(() => {
454
- this.resetOptions();
455
- this.initializeSelection();
456
- });
457
- }
458
- ngAfterViewInit() {
459
- this.tags.changes
460
- .subscribe(() => {
461
- setTimeout(() => this.calculateHiddenItems(), 0);
462
- });
463
- }
464
- ngDoCheck() {
465
- this.visibleChanges.next(this.isVisible());
466
- if (this.ngControl) {
467
- this.updateErrorState();
468
- }
469
- }
470
- ngOnChanges(changes) {
471
- // Updating the disabled state is handled by `mixinDisabled`, but we need to additionally let
472
- // the parent form field know to run change detection when the disabled state changes.
473
- if (changes.disabled) {
474
- this.stateChanges.next();
475
- }
476
- }
477
- ngOnDestroy() {
478
- this.destroy.next();
479
- this.destroy.complete();
480
- this.stateChanges.complete();
481
- this.closeSubscription.unsubscribe();
482
- }
483
- hiddenItemsTextFormatter(hiddenItemsText, hiddenItems) {
484
- return `${hiddenItemsText} ${hiddenItems}`;
485
- }
486
- clearValue($event) {
487
- $event.stopPropagation();
488
- this.selectionModel.clear();
489
- this.keyManager.setActiveItem(-1);
490
- this.propagateChanges();
491
- }
492
- resetSearch() {
493
- if (!this.search) {
494
- return;
495
- }
496
- this.search.reset();
497
- /*
498
- todo the incorrect behaviour of keyManager is possible here
499
- to avoid first item selection (to provide correct options flipping on closed select)
500
- we should process options update like it is the first options appearance
501
- */
502
- this.search.isSearchChanged = false;
503
- }
504
- /** Toggles the overlay panel open or closed. */
505
- toggle() {
506
- if (this.panelOpen) {
507
- this.close();
508
- }
509
- else {
510
- this.open();
511
- }
512
- }
513
- /** Opens the overlay panel. */
514
- open() {
515
- var _a;
516
- if (this.disabled || !((_a = this.options) === null || _a === void 0 ? void 0 : _a.length) || this.panelOpen) {
517
- return;
518
- }
519
- this.triggerRect = this.trigger.nativeElement.getBoundingClientRect();
520
- // Note: The computed font-size will be a string pixel value (e.g. "16px").
521
- // `parseInt` ignores the trailing 'px' and converts this to a number.
522
- this.triggerFontSize = parseInt(getComputedStyle(this.trigger.nativeElement)['font-size']);
523
- this.panelOpen = true;
524
- this.keyManager.withHorizontalOrientation(null);
525
- this.highlightCorrectOption();
526
- this._changeDetectorRef.markForCheck();
527
- // Set the font size on the panel element once it exists.
528
- this._ngZone.onStable.asObservable()
529
- .pipe(take(1))
530
- .subscribe(() => {
531
- this.scrollActiveOptionIntoView();
532
- if (this.triggerFontSize && this.overlayDir.overlayRef && this.overlayDir.overlayRef.overlayElement) {
533
- this.overlayDir.overlayRef.overlayElement.style.fontSize = `${this.triggerFontSize}px`;
534
- }
535
- });
536
- }
537
- /** Closes the overlay panel and focuses the host element. */
538
- close() {
539
- if (!this.panelOpen) {
540
- return;
541
- }
542
- // the order of calls is important
543
- this.resetSearch();
544
- this.panelOpen = false;
545
- this.keyManager.withHorizontalOrientation(this.isRtl() ? 'rtl' : 'ltr');
546
- this._changeDetectorRef.markForCheck();
547
- this.onTouched();
548
- }
549
- /**
550
- * Sets the select's value. Part of the ControlValueAccessor interface
551
- * required to integrate with Angular's core forms API.
552
- *
553
- * @param value New value to be written to the model.
554
- */
555
- writeValue(value) {
556
- if (this.options) {
557
- this.setSelectionByValue(value);
558
- }
559
- }
560
- /**
561
- * Saves a callback function to be invoked when the select's value
562
- * changes from user input. Part of the ControlValueAccessor interface
563
- * required to integrate with Angular's core forms API.
564
- *
565
- * @param fn Callback to be triggered when the value changes.
566
- */
567
- registerOnChange(fn) {
568
- this.onChange = fn;
569
- }
570
- /**
571
- * Saves a callback function to be invoked when the select is blurred
572
- * by the user. Part of the ControlValueAccessor interface required
573
- * to integrate with Angular's core forms API.
574
- *
575
- * @param fn Callback to be triggered when the component has been touched.
576
- */
577
- registerOnTouched(fn) {
578
- this.onTouched = fn;
579
- }
580
- /**
581
- * Disables the select. Part of the ControlValueAccessor interface required
582
- * to integrate with Angular's core forms API.
583
- *
584
- * @param isDisabled Sets whether the component is disabled.
585
- */
586
- setDisabledState(isDisabled) {
587
- this.disabled = isDisabled;
588
- this._changeDetectorRef.markForCheck();
589
- this.stateChanges.next();
590
- }
591
- isRtl() {
592
- return this._dir ? this._dir.value === 'rtl' : false;
593
- }
594
- handleKeydown(event) {
595
- if (this.disabled) {
596
- return;
597
- }
598
- if (this.panelOpen) {
599
- this.handleOpenKeydown(event);
600
- }
601
- else {
602
- this.handleClosedKeydown(event);
603
- }
604
- }
605
- onFocus() {
606
- if (!this.disabled) {
607
- this._focused = true;
608
- this.stateChanges.next();
609
- }
610
- }
611
- /**
612
- * Calls the touched callback only if the panel is closed. Otherwise, the trigger will
613
- * "blur" to the panel when it opens, causing a false positive.
614
- */
615
- onBlur() {
616
- var _a;
617
- this._focused = false;
618
- if (!this.disabled && !this.panelOpen) {
619
- this.onTouched();
620
- this._changeDetectorRef.markForCheck();
621
- this.stateChanges.next();
622
- if ((_a = this.ngControl) === null || _a === void 0 ? void 0 : _a.control) {
623
- const control = this.ngControl.control;
624
- control.updateValueAndValidity({ emitEvent: false });
625
- control.statusChanges.emit(control.status);
626
- }
627
- }
628
- }
629
- /**
630
- * Callback that is invoked when the overlay panel has been attached.
631
- */
632
- onAttached() {
633
- this.overlayDir.positionChange
634
- .pipe(take(1))
635
- .subscribe(() => {
636
- this._changeDetectorRef.detectChanges();
637
- this.setOverlayPosition();
638
- this.optionsContainer.nativeElement.scrollTop = this.scrollTop;
639
- this.updateScrollSize();
640
- });
641
- this.closeSubscription = this.closingActions()
642
- .subscribe(() => this.close());
643
- }
644
- /** Returns the theme to be used on the panel. */
645
- getPanelTheme() {
646
- return this.parentFormField ? `mc-${this.parentFormField.color}` : '';
647
- }
648
- /** Focuses the select element. */
649
- focus() {
650
- this.elementRef.nativeElement.focus();
651
- }
652
- /**
653
- * Implemented as part of McFormFieldControl.
654
- * @docs-private
655
- */
656
- onContainerClick() {
657
- this.focus();
658
- }
659
- /** Invoked when an option is clicked. */
660
- onRemoveMatcherItem(option, $event) {
661
- $event.stopPropagation();
662
- option.deselect();
663
- }
664
- calculateHiddenItems() {
665
- if (this.customTrigger || this.empty || !this.multiple) {
666
- return;
667
- }
668
- const totalItemsWidth = this.getTotalItemsWidthInMatcher();
669
- const [totalVisibleItemsWidth, visibleItems] = this.getTotalVisibleItems();
670
- this.hiddenItems = this.selected.length - visibleItems;
671
- this._changeDetectorRef.detectChanges();
672
- if (this.hiddenItems) {
673
- const itemsCounter = this.trigger.nativeElement.querySelector('.mc-select__match-hidden-text');
674
- const matcherList = this.trigger.nativeElement.querySelector('.mc-select__match-list');
675
- const itemsCounterShowed = itemsCounter.offsetTop < itemsCounter.offsetHeight;
676
- const itemsCounterWidth = Math.floor(itemsCounter.getBoundingClientRect().width);
677
- const matcherListWidth = Math.floor(matcherList.getBoundingClientRect().width);
678
- const matcherWidth = matcherListWidth + (itemsCounterShowed ? itemsCounterWidth : 0);
679
- if (itemsCounterShowed && (totalItemsWidth < matcherWidth)) {
680
- this.hiddenItems = 0;
681
- this._changeDetectorRef.detectChanges();
682
- }
683
- if (totalVisibleItemsWidth === matcherListWidth ||
684
- (totalVisibleItemsWidth + itemsCounterWidth) < matcherListWidth) {
685
- this._changeDetectorRef.markForCheck();
686
- return;
687
- }
688
- }
689
- this._changeDetectorRef.markForCheck();
690
- }
691
- getItemHeight() {
692
- return this.options.first ? this.options.first.getHeight() : 0;
693
- }
694
- isVisible() {
695
- return this.elementRef.nativeElement.offsetTop < this.elementRef.nativeElement.offsetHeight;
696
- }
697
- closingActions() {
698
- return merge(this.overlayDir.overlayRef.outsidePointerEvents()
699
- .pipe(filter((event) => !this.elementRef.nativeElement.contains(event.target))), this.overlayDir.overlayRef.detachments());
700
- }
701
- getHeightOfOptionsContainer() {
702
- return this.optionsContainer.nativeElement.getClientRects()[0].height;
703
- }
704
- updateScrollSize() {
705
- if (!this.options.first) {
706
- return;
707
- }
708
- this.keyManager.withScrollSize(Math.floor(this.getHeightOfOptionsContainer() / this.options.first.getHeight()));
709
- }
710
- getTotalItemsWidthInMatcher() {
711
- var _a;
712
- const triggerClone = this.buildTriggerClone();
713
- (_a = triggerClone.querySelector('.mc-select__match-hidden-text')) === null || _a === void 0 ? void 0 : _a.remove();
714
- this._renderer.appendChild(this.trigger.nativeElement, triggerClone);
715
- let totalItemsWidth = 0;
716
- triggerClone.querySelectorAll('mc-tag')
717
- .forEach((item) => totalItemsWidth += this.getItemWidth(item));
718
- triggerClone.remove();
719
- return totalItemsWidth;
720
- }
721
- getItemWidth(element) {
722
- const computedStyle = window.getComputedStyle(element);
723
- const width = parseInt(computedStyle.width);
724
- const marginLeft = parseInt(computedStyle.marginLeft);
725
- const marginRight = parseInt(computedStyle.marginRight);
726
- return width + marginLeft + marginRight;
727
- }
728
- /** Handles keyboard events while the select is closed. */
729
- handleClosedKeydown(event) {
730
- /* tslint:disable-next-line */
731
- const keyCode = event.keyCode;
732
- const isArrowKey = [DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW].includes(keyCode);
733
- const isOpenKey = [ENTER, SPACE].includes(keyCode);
734
- // Open the select on ALT + arrow key to match the native <select>
735
- if (isOpenKey || ((this.multiple || event.altKey) && isArrowKey)) {
736
- event.preventDefault(); // prevents the page from scrolling down when pressing space
737
- this.open();
738
- }
739
- else if (!this.multiple) {
740
- this.keyManager.onKeydown(event);
741
- }
742
- }
743
- /** Handles keyboard events when the selected is open. */
744
- handleOpenKeydown(event) {
745
- /* tslint:disable-next-line */
746
- const keyCode = event.keyCode;
747
- const isArrowKey = keyCode === DOWN_ARROW || keyCode === UP_ARROW;
748
- if (isArrowKey && event.altKey || keyCode === ESCAPE || keyCode === TAB) {
749
- // Close the select on ALT + arrow key to match the native <select>
750
- event.preventDefault();
751
- this.close();
752
- this.focus();
753
- }
754
- else if (keyCode === HOME) {
755
- event.preventDefault();
756
- this.keyManager.setFirstItemActive();
757
- }
758
- else if (keyCode === END) {
759
- event.preventDefault();
760
- this.keyManager.setLastItemActive();
761
- }
762
- else if (keyCode === PAGE_UP) {
763
- event.preventDefault();
764
- this.keyManager.setPreviousPageItemActive();
765
- }
766
- else if (keyCode === PAGE_DOWN) {
767
- event.preventDefault();
768
- this.keyManager.setNextPageItemActive();
769
- }
770
- else if ((keyCode === ENTER || keyCode === SPACE) && this.keyManager.activeItem) {
771
- event.preventDefault();
772
- this.keyManager.activeItem.selectViaInteraction();
773
- }
774
- else if (this._multiple && keyCode === A && event.ctrlKey) {
775
- event.preventDefault();
776
- const hasDeselectedOptions = this.options.some((option) => !option.selected);
777
- this.options.forEach((option) => {
778
- if (hasDeselectedOptions && !option.disabled) {
779
- option.select();
780
- }
781
- else {
782
- option.deselect();
783
- }
784
- });
785
- }
786
- else {
787
- const previouslyFocusedIndex = this.keyManager.activeItemIndex;
788
- this.keyManager.onKeydown(event);
789
- if (this._multiple && isArrowKey && event.shiftKey && this.keyManager.activeItem &&
790
- this.keyManager.activeItemIndex !== previouslyFocusedIndex) {
791
- this.keyManager.activeItem.selectViaInteraction();
792
- }
793
- if (this.search) {
794
- this.search.focus();
795
- }
796
- }
797
- }
798
- initializeSelection() {
799
- // Defer setting the value in order to avoid the "Expression
800
- // has changed after it was checked" errors from Angular.
801
- Promise.resolve().then(() => {
802
- this.setSelectionByValue(this.ngControl ? this.ngControl.value : this._value);
803
- });
804
- }
805
- /**
806
- * Sets the selected option based on a value. If no option can be
807
- * found with the designated value, the select trigger is cleared.
808
- */
809
- setSelectionByValue(value) {
810
- this.previousSelectionModelSelected = this.selectionModel.selected;
811
- if (this.multiple && value) {
812
- if (!Array.isArray(value)) {
813
- throw getMcSelectNonArrayValueError();
814
- }
815
- this.selectionModel.clear();
816
- value.forEach((currentValue) => this.selectValue(currentValue));
817
- this.sortValues();
818
- }
819
- else {
820
- this.selectionModel.clear();
821
- const correspondingOption = this.selectValue(value);
822
- // Shift focus to the active item. Note that we shouldn't do this in multiple
823
- // mode, because we don't know what option the user interacted with last.
824
- if (correspondingOption) {
825
- this.keyManager.setActiveItem(correspondingOption);
826
- }
827
- }
828
- this._changeDetectorRef.markForCheck();
829
- }
830
- getCorrespondOption(value) {
831
- return [
832
- ...this.options.toArray(),
833
- ...this.previousSelectionModelSelected
834
- ].find((option) => {
835
- try {
836
- // Treat null as a special reset value.
837
- return option.value != null && this.compareWith(option.value, value);
838
- }
839
- catch (error) {
840
- if (isDevMode()) {
841
- // Notify developers of errors in their comparator.
842
- console.warn(error);
843
- }
844
- return false;
845
- }
846
- });
847
- }
848
- /**
849
- * Finds and selects and option based on its value.
850
- * @returns Option that has the corresponding value.
851
- */
852
- selectValue(value) {
853
- const correspondingOption = this.getCorrespondOption(value);
854
- if (correspondingOption) {
855
- this.selectionModel.select(correspondingOption);
856
- }
857
- return correspondingOption;
858
- }
859
- /** Sets up a key manager to listen to keyboard events on the overlay panel. */
860
- initKeyManager() {
861
- const typeAheadDebounce = 200;
862
- this.keyManager = new ActiveDescendantKeyManager(this.options)
863
- .withTypeAhead(typeAheadDebounce, this.search ? -1 : 0)
864
- .withVerticalOrientation()
865
- .withHorizontalOrientation(this.isRtl() ? 'rtl' : 'ltr');
866
- this.keyManager.change
867
- .pipe(takeUntil(this.destroy))
868
- .subscribe(() => {
869
- if (this.panelOpen && this.panel) {
870
- this.scrollActiveOptionIntoView();
871
- }
872
- else if (!this.panelOpen && !this.multiple && this.keyManager.activeItem) {
873
- this.keyManager.activeItem.selectViaInteraction();
874
- }
875
- });
876
- }
877
- /** Drops current option subscriptions and IDs and resets from scratch. */
878
- resetOptions() {
879
- const changedOrDestroyed = merge(this.options.changes, this.destroy);
880
- this.optionSelectionChanges
881
- .pipe(takeUntil(changedOrDestroyed))
882
- .subscribe((event) => {
883
- this.onSelect(event.source, event.isUserInput);
884
- if (this.search && this.search.isSearchChanged) {
885
- Promise.resolve().then(() => this.keyManager.updateActiveItem(0));
886
- this.search.isSearchChanged = false;
887
- }
888
- if (event.isUserInput && !this.multiple && this.panelOpen) {
889
- this.close();
890
- this.focus();
891
- }
892
- });
893
- // Listen to changes in the internal state of the options and react accordingly.
894
- // Handles cases like the labels of the selected options changing.
895
- merge(...this.options.map((option) => option.stateChanges))
896
- .pipe(takeUntil(changedOrDestroyed))
897
- .subscribe(() => {
898
- this._changeDetectorRef.markForCheck();
899
- this.stateChanges.next();
900
- });
901
- }
902
- /** Invoked when an option is clicked. */
903
- onSelect(option, isUserInput) {
904
- const wasSelected = this.selectionModel.isSelected(option);
905
- if (option.value == null && !this._multiple) {
906
- option.deselect();
907
- this.selectionModel.clear();
908
- this.propagateChanges(option.value);
909
- }
910
- else {
911
- if (option.selected) {
912
- this.selectionModel.select(option);
913
- }
914
- else {
915
- this.selectionModel.deselect(option);
916
- }
917
- if (isUserInput) {
918
- this.keyManager.setActiveItem(option);
919
- }
920
- if (this.multiple) {
921
- this.sortValues();
922
- if (isUserInput) {
923
- // In case the user selected the option with their mouse, we
924
- // want to restore focus back to the trigger, in order to
925
- // prevent the select keyboard controls from clashing with
926
- // the ones from `mc-option`.
927
- // If search is avaliable then we focus search again.
928
- if (this.search) {
929
- this.search.focus();
930
- }
931
- else {
932
- this.focus();
933
- }
934
- }
935
- }
936
- }
937
- if (wasSelected !== this.selectionModel.isSelected(option)) {
938
- this.propagateChanges();
939
- }
940
- this.stateChanges.next();
941
- }
942
- /** Sorts the selected values in the selected based on their order in the panel. */
943
- sortValues() {
944
- if (this.multiple) {
945
- const options = this.options.toArray();
946
- this.selectionModel.sort((a, b) => {
947
- return this.sortComparator ? this.sortComparator(a, b, options) :
948
- options.indexOf(a) - options.indexOf(b);
949
- });
950
- this.stateChanges.next();
951
- }
952
- }
953
- /** Emits change event to set the model value. */
954
- propagateChanges(fallbackValue) {
955
- let valueToEmit;
956
- if (this.multiple) {
957
- valueToEmit = this.selected.map((option) => option.value);
958
- }
959
- else {
960
- valueToEmit = this.selected ? this.selected.value : fallbackValue;
961
- }
962
- this._value = valueToEmit;
963
- this.valueChange.emit(valueToEmit);
964
- this.onChange(valueToEmit);
965
- this.selectionChange.emit(new McSelectChange(this, valueToEmit));
966
- this._changeDetectorRef.markForCheck();
967
- }
968
- /**
969
- * Highlights the selected item. If no option is selected, it will highlight
970
- * the first item instead.
971
- */
972
- highlightCorrectOption() {
973
- if (this.keyManager) {
974
- if (this.empty) {
975
- this.keyManager.setFirstItemActive();
976
- }
977
- else {
978
- this.keyManager.setActiveItem(this.selectionModel.selected[0]);
979
- }
980
- }
981
- }
982
- /** Scrolls the active option into view. */
983
- scrollActiveOptionIntoView() {
984
- var _a;
985
- (_a = this.keyManager.activeItem) === null || _a === void 0 ? void 0 : _a.focus();
986
- }
987
- /**
988
- * Sets the x-offset of the overlay panel in relation to the trigger's top start corner.
989
- * This must be adjusted to align the selected option text over the trigger text when
990
- * the panel opens. Will change based on LTR or RTL text direction. Note that the offset
991
- * can't be calculated until the panel has been attached, because we need to know the
992
- * content width in order to constrain the panel within the viewport.
993
- */
994
- setOverlayPosition() {
995
- this.resetOverlay();
996
- const overlayRect = this.getOverlayRect();
997
- // Window width without scrollbar
998
- const windowWidth = this.getOverlayWidth();
999
- const isRtl = this.isRtl();
1000
- /* tslint:disable-next-line:no-magic-numbers */
1001
- const paddingWidth = SELECT_PANEL_PADDING_X * 2;
1002
- let offsetX = SELECT_PANEL_PADDING_X;
1003
- let overlayMaxWidth;
1004
- // Invert the offset in LTR.
1005
- if (!isRtl) {
1006
- offsetX *= -1;
1007
- }
1008
- // Determine if select overflows on either side.
1009
- const leftOverflow = 0 - (overlayRect.left + offsetX - (isRtl ? paddingWidth : 0));
1010
- const rightOverflow = overlayRect.right + offsetX - windowWidth
1011
- + (isRtl ? 0 : paddingWidth);
1012
- // If the element overflows on either side, reduce the offset to allow it to fit.
1013
- if (leftOverflow > 0 || rightOverflow > 0) {
1014
- [offsetX, overlayMaxWidth] = this.calculateOverlayXPosition(overlayRect, windowWidth, offsetX);
1015
- this.overlayDir.overlayRef.overlayElement.style.maxWidth = `${overlayMaxWidth}px`;
1016
- }
1017
- // Set the offset directly in order to avoid having to go through change detection and
1018
- // potentially triggering "changed after it was checked" errors. Round the value to avoid
1019
- // blurry content in some browsers.
1020
- this.overlayDir.offsetX = Math.round(offsetX);
1021
- this.overlayDir.overlayRef.updatePosition();
1022
- }
1023
- calculateOverlayXPosition(overlayRect, windowWidth, basicOffsetX) {
1024
- let offsetX = basicOffsetX;
1025
- const leftIndent = this.triggerRect.left;
1026
- const rightIndent = windowWidth - this.triggerRect.right;
1027
- // Setting direction of dropdown expansion
1028
- const isRightDirection = leftIndent <= rightIndent;
1029
- let maxDropdownWidth;
1030
- let overlayMaxWidth;
1031
- const triggerWidth = this.triggerRect.width + SELECT_PANEL_INDENT_PADDING_X;
1032
- if (isRightDirection) {
1033
- maxDropdownWidth = rightIndent + triggerWidth - SELECT_PANEL_VIEWPORT_PADDING;
1034
- overlayMaxWidth = overlayRect.width < maxDropdownWidth ? overlayRect.width : maxDropdownWidth;
1035
- }
1036
- else {
1037
- let leftOffset;
1038
- maxDropdownWidth = leftIndent + triggerWidth - SELECT_PANEL_VIEWPORT_PADDING;
1039
- if (overlayRect.width < maxDropdownWidth) {
1040
- overlayMaxWidth = overlayRect.width;
1041
- leftOffset = this.triggerRect.right - overlayMaxWidth;
1042
- }
1043
- else {
1044
- overlayMaxWidth = maxDropdownWidth;
1045
- leftOffset = this.triggerRect.right - (overlayMaxWidth - SELECT_PANEL_INDENT_PADDING_X);
1046
- }
1047
- offsetX -= this.triggerRect.left - leftOffset;
1048
- }
1049
- return [offsetX, overlayMaxWidth];
1050
- }
1051
- resetOverlay() {
1052
- this.overlayDir.offsetX = 0;
1053
- this.overlayDir.overlayRef.overlayElement.style.maxWidth = 'unset';
1054
- this.overlayDir.overlayRef.updatePosition();
1055
- }
1056
- getOverlayRect() {
1057
- return this.overlayDir.overlayRef.overlayElement.getBoundingClientRect();
1058
- }
1059
- getOverlayWidth() {
1060
- return this.scrollStrategy._overlayRef.hostElement.clientWidth;
1061
- }
1062
- getTotalVisibleItems() {
1063
- const triggerClone = this.buildTriggerClone();
1064
- this._renderer.setStyle(triggerClone.querySelector('.mc-select__match-hidden-text'), 'display', 'block');
1065
- this._renderer.appendChild(this.trigger.nativeElement, triggerClone);
1066
- let visibleItemsCount = 0;
1067
- let totalVisibleItemsWidth = 0;
1068
- triggerClone.querySelectorAll('mc-tag')
1069
- .forEach((item) => {
1070
- if (item.offsetTop < item.offsetHeight) {
1071
- totalVisibleItemsWidth += this.getItemWidth(item);
1072
- visibleItemsCount++;
1073
- }
1074
- });
1075
- triggerClone.remove();
1076
- return [totalVisibleItemsWidth, visibleItemsCount];
1077
- }
1078
- buildTriggerClone() {
1079
- const triggerClone = this.trigger.nativeElement.cloneNode(true);
1080
- this._renderer.setStyle(triggerClone, 'position', 'absolute');
1081
- this._renderer.setStyle(triggerClone, 'visibility', 'hidden');
1082
- this._renderer.setStyle(triggerClone, 'top', '-100%');
1083
- this._renderer.setStyle(triggerClone, 'left', '0');
1084
- return triggerClone;
1085
- }
1086
- }
1087
- /** @nocollapse */ McSelect.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McSelect, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i2.ErrorStateMatcher }, { token: i0.ElementRef }, { token: i3.Directionality, optional: true }, { token: i4.NgForm, optional: true }, { token: i4.FormGroupDirective, optional: true }, { token: i1.McFormField, optional: true }, { token: i4.NgControl, optional: true, self: true }, { token: MC_SELECT_SCROLL_STRATEGY }, { token: MC_LOCALE_SERVICE, optional: true }], target: i0.ɵɵFactoryTarget.Component });
1088
- /** @nocollapse */ McSelect.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: McSelect, selector: "mc-select", inputs: { disabled: "disabled", tabIndex: "tabIndex", hiddenItemsText: "hiddenItemsText", panelClass: "panelClass", backdropClass: "backdropClass", errorStateMatcher: "errorStateMatcher", sortComparator: "sortComparator", hasBackdrop: "hasBackdrop", placeholder: "placeholder", required: "required", multiple: "multiple", compareWith: "compareWith", value: "value", id: "id", hiddenItemsTextFormatter: "hiddenItemsTextFormatter" }, outputs: { openedChange: "openedChange", openedStream: "opened", closedStream: "closed", selectionChange: "selectionChange", valueChange: "valueChange" }, host: { listeners: { "keydown": "handleKeydown($event)", "focus": "onFocus()", "blur": "onBlur()", "window:resize": "calculateHiddenItems()" }, properties: { "attr.id": "id", "attr.tabindex": "tabIndex", "attr.disabled": "disabled || null", "class.mc-disabled": "disabled", "class.mc-invalid": "errorState" }, classAttribute: "mc-select" }, providers: [
1089
- { provide: McFormFieldControl, useExisting: McSelect },
1090
- { provide: MC_OPTION_PARENT_COMPONENT, useExisting: McSelect }
1091
- ], queries: [{ propertyName: "customTrigger", first: true, predicate: McSelectTrigger, descendants: true }, { propertyName: "customMatcher", first: true, predicate: McSelectMatcher, descendants: true }, { propertyName: "customTagTemplateRef", first: true, predicate: ["mcSelectTagContent"], descendants: true, read: TemplateRef }, { propertyName: "cleaner", first: true, predicate: ["mcSelectCleaner"], descendants: true, static: true }, { propertyName: "search", first: true, predicate: McSelectSearch, descendants: true }, { propertyName: "options", predicate: McOption, descendants: true }, { propertyName: "optionGroups", predicate: McOptgroup }], viewQueries: [{ propertyName: "trigger", first: true, predicate: ["trigger"], descendants: true }, { propertyName: "panel", first: true, predicate: ["panel"], descendants: true }, { propertyName: "optionsContainer", first: true, predicate: ["optionsContainer"], descendants: true }, { propertyName: "overlayDir", first: true, predicate: CdkConnectedOverlay, descendants: true }, { propertyName: "tags", predicate: McTag, descendants: true }], exportAs: ["mcSelect"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div cdk-overlay-origin\n class=\"mc-select__trigger\"\n (click)=\"toggle()\"\n [class.mc-select__trigger_multiple]=\"multiple\"\n #origin=\"cdkOverlayOrigin\"\n #trigger\n [ngSwitch]=\"!!customMatcher\">\n\n <div class=\"mc-select__matcher\" *ngSwitchCase=\"false\">\n <span class=\"mc-select__placeholder\" *ngIf=\"empty\">{{ placeholder || '\\u00A0' }}</span>\n <span *ngIf=\"!empty\" [ngSwitch]=\"!!customTrigger\">\n <div *ngSwitchDefault [ngSwitch]=\"multiple\" class=\"mc-select__match-container\">\n <span *ngSwitchCase=\"false\" class=\"mc-select__matcher-text\">{{ triggerValue }}</span>\n <div *ngSwitchCase=\"true\" class=\"mc-select__match-list\">\n <ng-container *ngIf=\"!customTagTemplateRef\">\n <mc-tag *ngFor=\"let option of triggerValues\"\n [disabled]=\"option.disabled || disabled\"\n [selectable]=\"false\"\n [class.mc-error]=\"errorState\">\n {{ option.viewValue }}\n <i mc-icon=\"mc-close-S_16\" mcTagRemove\n *ngIf=\"!option.disabled && !disabled\"\n (click)=\"onRemoveMatcherItem(option, $event)\">\n </i>\n </mc-tag>\n </ng-container>\n <ng-container *ngIf=\"customTagTemplateRef\">\n <ng-container *ngFor=\"let option of triggerValues\"\n [ngTemplateOutlet]=\"customTagTemplateRef\"\n [ngTemplateOutletContext]=\"{$implicit: option, select: this}\">\n </ng-container>\n </ng-container>\n </div>\n <div class=\"mc-select__match-hidden-text\" [style.display]=\"hiddenItems > 0 ? 'block' : 'none'\">\n {{ hiddenItemsTextFormatter(hiddenItemsText, hiddenItems) }}\n </div>\n </div>\n <ng-content select=\"mc-select-trigger, [mc-select-trigger]\" *ngSwitchCase=\"true\"></ng-content>\n </span>\n\n <div class=\"mc-select__cleaner\" *ngIf=\"canShowCleaner\" (click)=\"clearValue($event)\">\n <ng-content select=\"mc-cleaner\"></ng-content>\n </div>\n\n <div class=\"mc-select__arrow-wrapper\">\n <i class=\"mc-select__arrow\" mc-icon=\"mc-angle-down-S_16\"></i>\n </div>\n </div>\n\n <ng-content select=\"mc-select-matcher, [mc-select-matcher]\" *ngSwitchCase=\"true\"></ng-content>\n</div>\n\n<ng-template\n cdk-connected-overlay\n cdkConnectedOverlayLockPosition\n [cdkConnectedOverlayHasBackdrop]=\"hasBackdrop\"\n [cdkConnectedOverlayBackdropClass]=\"backdropClass\"\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy\"\n [cdkConnectedOverlayOrigin]=\"origin\"\n [cdkConnectedOverlayOpen]=\"panelOpen\"\n [cdkConnectedOverlayPositions]=\"positions\"\n [cdkConnectedOverlayMinWidth]=\"triggerRect?.width!\"\n [cdkConnectedOverlayOffsetY]=\"offsetY\"\n (backdropClick)=\"close()\"\n (attach)=\"onAttached()\"\n (detach)=\"close()\">\n <div\n #panel\n class=\"mc-select__panel {{ getPanelTheme() }}\"\n [ngClass]=\"panelClass\"\n [style.transformOrigin]=\"transformOrigin\"\n [style.font-size.px]=\"triggerFontSize\"\n (keydown)=\"handleKeydown($event)\">\n\n <div *ngIf=\"search\" class=\"mc-select__search-container\">\n <ng-content select=\"[mcSelectSearch]\"></ng-content>\n </div>\n\n <div #optionsContainer\n class=\"mc-select__content mc-scrollbar\"\n [@fadeInContent]=\"'showing'\"\n (@fadeInContent.done)=\"panelDoneAnimatingStream.next($event.toState)\">\n\n <div *ngIf=\"isEmptySearchResult\" class=\"mc-select__no-options-message\">\n <ng-content select=\"[mc-select-search-empty-result]\"></ng-content>\n </div>\n <ng-content></ng-content>\n </div>\n\n <ng-content select=\"mc-select-footer,[mc-select-footer]\"></ng-content>\n </div>\n</ng-template>\n", styles: [".mc-select__matcher{display:flex;align-items:center;width:100%;overflow:hidden;white-space:nowrap}.mc-select__matcher>span{flex:1;overflow:hidden}.mc-select__match-container{width:100%;text-overflow:ellipsis;overflow:hidden}.mc-select__match-container .mc-select__match-hidden-text{flex:0 0 70px;align-self:center;padding:0 8px;text-align:right}.mc-select{box-sizing:border-box;display:inline-block;width:100%;outline:none}.mc-select .mc-select__trigger{display:flex;box-sizing:border-box;position:relative;height:calc(var(--mc-form-field-size-height, 32px) - var(--mc-form-field-size-border-width, 1px) * 2);cursor:pointer}.mc-select .mc-select__trigger .mc-select__matcher{padding-left:calc(var(--mc-select-size-left-padding, 12px) - var(--mc-form-field-size-border-width, 1px));padding-right:calc(var(--mc-select-size-right-padding, 6px) - var(--mc-form-field-size-border-width, 1px))}.mc-select .mc-select__trigger.mc-select__trigger_multiple .mc-select__matcher{padding-left:calc(var(--mc-select-size-left-padding-multiple, 12px) - var(--mc-form-field-size-border-width, 1px))}.mc-select .mc-select__trigger.mc-select__trigger_multiple .mc-select__matcher .mc-select__match-container{display:flex}.mc-select .mc-select__trigger.mc-select__trigger_multiple .mc-select__matcher .mc-tag.mc-disabled .mc-tag__text{margin-right:7px}.mc-select.mc-disabled .mc-select__trigger{-webkit-user-select:none;user-select:none;cursor:default}.mc-select__no-options-message{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;position:relative;max-width:100%;height:var(--mc-option-size-height, 32px);cursor:default;outline:none;padding-left:var(--mc-option-size-horizontal-padding, 12px);padding-right:var(--mc-option-size-horizontal-padding, 12px)}.mc-select__match-list{display:flex;flex-wrap:wrap;overflow:hidden;max-height:calc(var(--mc-form-field-size-height, 32px) - 4px);height:calc(var(--mc-form-field-size-height, 32px) - 4px)}.mc-select__match-list .mc-tag{margin-right:4px}.mc-select__arrow-wrapper{display:flex;align-self:center}.mc-form-field-appearance-fill .mc-select__arrow-wrapper,.mc-form-field-appearance-standard .mc-select__arrow-wrapper{transform:translateY(-50%)}.mc-form-field-appearance-outline .mc-select__arrow-wrapper{transform:translateY(-25%)}.mc-select__panel{min-width:100%;max-width:var(--mc-select-panel-size-max-width, 640px);overflow:hidden;border-width:var(--mc-select-panel-size-border-width, 1px);border-style:solid;border-bottom-left-radius:var(--mc-select-panel-size-border-radius, 4px);border-bottom-right-radius:var(--mc-select-panel-size-border-radius, 4px)}.mc-select__panel .mc-optgroup-label,.mc-select__panel .mc-option{font-size:inherit;line-height:var(--mc-option-size-height, 32px);height:var(--mc-option-size-height, 32px)}.mc-select__panel .mc-select__footer{display:flex;align-items:center;box-sizing:border-box;padding:4px 12px;border-top-width:1px;border-top-style:solid;min-height:var(--mc-list-size-footer-min-height, 48px)}.mc-select__content{max-height:var(--mc-select-panel-size-max-height, 232px);padding:var(--mc-select-panel-size-vertical-padding, 4px) 0;overflow:hidden auto}.mc-select__content .cdk-virtual-scroll-viewport{min-height:calc(var(--mc-select-panel-size-max-height, 232px) - 8px);max-height:calc(var(--mc-select-panel-size-max-height, 232px) - 8px)}.mc-form-field-type-select:not(.mc-disabled) .mc-form-field-flex{cursor:pointer}.mc-select__search-container{border-bottom-width:1px;border-bottom-style:solid}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i5.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i2$1.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i2$1.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: i7.McIcon, selector: "[mc-icon]", inputs: ["color"] }, { kind: "directive", type: i7.McIconCSSStyler, selector: "[mc-icon]" }, { kind: "component", type: i8.McTag, selector: "mc-tag, [mc-tag], mc-basic-tag, [mc-basic-tag]", inputs: ["color", "selected", "value", "selectable", "removable", "tabindex", "disabled"], outputs: ["selectionChange", "destroyed", "removed"], exportAs: ["mcTag"] }, { kind: "directive", type: i8.McTagRemove, selector: "[mcTagRemove]" }], animations: [
1092
- mcSelectAnimations.transformPanel,
1093
- mcSelectAnimations.fadeInContent
1094
- ], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1095
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McSelect, decorators: [{
1096
- type: Component,
1097
- args: [{ selector: 'mc-select', exportAs: 'mcSelect', inputs: ['disabled', 'tabIndex'], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
1098
- '[attr.id]': 'id',
1099
- '[attr.tabindex]': 'tabIndex',
1100
- '[attr.disabled]': 'disabled || null',
1101
- class: 'mc-select',
1102
- '[class.mc-disabled]': 'disabled',
1103
- '[class.mc-invalid]': 'errorState',
1104
- '(keydown)': 'handleKeydown($event)',
1105
- '(focus)': 'onFocus()',
1106
- '(blur)': 'onBlur()',
1107
- '(window:resize)': 'calculateHiddenItems()'
1108
- }, animations: [
1109
- mcSelectAnimations.transformPanel,
1110
- mcSelectAnimations.fadeInContent
1111
- ], providers: [
1112
- { provide: McFormFieldControl, useExisting: McSelect },
1113
- { provide: MC_OPTION_PARENT_COMPONENT, useExisting: McSelect }
1114
- ], template: "<div cdk-overlay-origin\n class=\"mc-select__trigger\"\n (click)=\"toggle()\"\n [class.mc-select__trigger_multiple]=\"multiple\"\n #origin=\"cdkOverlayOrigin\"\n #trigger\n [ngSwitch]=\"!!customMatcher\">\n\n <div class=\"mc-select__matcher\" *ngSwitchCase=\"false\">\n <span class=\"mc-select__placeholder\" *ngIf=\"empty\">{{ placeholder || '\\u00A0' }}</span>\n <span *ngIf=\"!empty\" [ngSwitch]=\"!!customTrigger\">\n <div *ngSwitchDefault [ngSwitch]=\"multiple\" class=\"mc-select__match-container\">\n <span *ngSwitchCase=\"false\" class=\"mc-select__matcher-text\">{{ triggerValue }}</span>\n <div *ngSwitchCase=\"true\" class=\"mc-select__match-list\">\n <ng-container *ngIf=\"!customTagTemplateRef\">\n <mc-tag *ngFor=\"let option of triggerValues\"\n [disabled]=\"option.disabled || disabled\"\n [selectable]=\"false\"\n [class.mc-error]=\"errorState\">\n {{ option.viewValue }}\n <i mc-icon=\"mc-close-S_16\" mcTagRemove\n *ngIf=\"!option.disabled && !disabled\"\n (click)=\"onRemoveMatcherItem(option, $event)\">\n </i>\n </mc-tag>\n </ng-container>\n <ng-container *ngIf=\"customTagTemplateRef\">\n <ng-container *ngFor=\"let option of triggerValues\"\n [ngTemplateOutlet]=\"customTagTemplateRef\"\n [ngTemplateOutletContext]=\"{$implicit: option, select: this}\">\n </ng-container>\n </ng-container>\n </div>\n <div class=\"mc-select__match-hidden-text\" [style.display]=\"hiddenItems > 0 ? 'block' : 'none'\">\n {{ hiddenItemsTextFormatter(hiddenItemsText, hiddenItems) }}\n </div>\n </div>\n <ng-content select=\"mc-select-trigger, [mc-select-trigger]\" *ngSwitchCase=\"true\"></ng-content>\n </span>\n\n <div class=\"mc-select__cleaner\" *ngIf=\"canShowCleaner\" (click)=\"clearValue($event)\">\n <ng-content select=\"mc-cleaner\"></ng-content>\n </div>\n\n <div class=\"mc-select__arrow-wrapper\">\n <i class=\"mc-select__arrow\" mc-icon=\"mc-angle-down-S_16\"></i>\n </div>\n </div>\n\n <ng-content select=\"mc-select-matcher, [mc-select-matcher]\" *ngSwitchCase=\"true\"></ng-content>\n</div>\n\n<ng-template\n cdk-connected-overlay\n cdkConnectedOverlayLockPosition\n [cdkConnectedOverlayHasBackdrop]=\"hasBackdrop\"\n [cdkConnectedOverlayBackdropClass]=\"backdropClass\"\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy\"\n [cdkConnectedOverlayOrigin]=\"origin\"\n [cdkConnectedOverlayOpen]=\"panelOpen\"\n [cdkConnectedOverlayPositions]=\"positions\"\n [cdkConnectedOverlayMinWidth]=\"triggerRect?.width!\"\n [cdkConnectedOverlayOffsetY]=\"offsetY\"\n (backdropClick)=\"close()\"\n (attach)=\"onAttached()\"\n (detach)=\"close()\">\n <div\n #panel\n class=\"mc-select__panel {{ getPanelTheme() }}\"\n [ngClass]=\"panelClass\"\n [style.transformOrigin]=\"transformOrigin\"\n [style.font-size.px]=\"triggerFontSize\"\n (keydown)=\"handleKeydown($event)\">\n\n <div *ngIf=\"search\" class=\"mc-select__search-container\">\n <ng-content select=\"[mcSelectSearch]\"></ng-content>\n </div>\n\n <div #optionsContainer\n class=\"mc-select__content mc-scrollbar\"\n [@fadeInContent]=\"'showing'\"\n (@fadeInContent.done)=\"panelDoneAnimatingStream.next($event.toState)\">\n\n <div *ngIf=\"isEmptySearchResult\" class=\"mc-select__no-options-message\">\n <ng-content select=\"[mc-select-search-empty-result]\"></ng-content>\n </div>\n <ng-content></ng-content>\n </div>\n\n <ng-content select=\"mc-select-footer,[mc-select-footer]\"></ng-content>\n </div>\n</ng-template>\n", styles: [".mc-select__matcher{display:flex;align-items:center;width:100%;overflow:hidden;white-space:nowrap}.mc-select__matcher>span{flex:1;overflow:hidden}.mc-select__match-container{width:100%;text-overflow:ellipsis;overflow:hidden}.mc-select__match-container .mc-select__match-hidden-text{flex:0 0 70px;align-self:center;padding:0 8px;text-align:right}.mc-select{box-sizing:border-box;display:inline-block;width:100%;outline:none}.mc-select .mc-select__trigger{display:flex;box-sizing:border-box;position:relative;height:calc(var(--mc-form-field-size-height, 32px) - var(--mc-form-field-size-border-width, 1px) * 2);cursor:pointer}.mc-select .mc-select__trigger .mc-select__matcher{padding-left:calc(var(--mc-select-size-left-padding, 12px) - var(--mc-form-field-size-border-width, 1px));padding-right:calc(var(--mc-select-size-right-padding, 6px) - var(--mc-form-field-size-border-width, 1px))}.mc-select .mc-select__trigger.mc-select__trigger_multiple .mc-select__matcher{padding-left:calc(var(--mc-select-size-left-padding-multiple, 12px) - var(--mc-form-field-size-border-width, 1px))}.mc-select .mc-select__trigger.mc-select__trigger_multiple .mc-select__matcher .mc-select__match-container{display:flex}.mc-select .mc-select__trigger.mc-select__trigger_multiple .mc-select__matcher .mc-tag.mc-disabled .mc-tag__text{margin-right:7px}.mc-select.mc-disabled .mc-select__trigger{-webkit-user-select:none;user-select:none;cursor:default}.mc-select__no-options-message{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;position:relative;max-width:100%;height:var(--mc-option-size-height, 32px);cursor:default;outline:none;padding-left:var(--mc-option-size-horizontal-padding, 12px);padding-right:var(--mc-option-size-horizontal-padding, 12px)}.mc-select__match-list{display:flex;flex-wrap:wrap;overflow:hidden;max-height:calc(var(--mc-form-field-size-height, 32px) - 4px);height:calc(var(--mc-form-field-size-height, 32px) - 4px)}.mc-select__match-list .mc-tag{margin-right:4px}.mc-select__arrow-wrapper{display:flex;align-self:center}.mc-form-field-appearance-fill .mc-select__arrow-wrapper,.mc-form-field-appearance-standard .mc-select__arrow-wrapper{transform:translateY(-50%)}.mc-form-field-appearance-outline .mc-select__arrow-wrapper{transform:translateY(-25%)}.mc-select__panel{min-width:100%;max-width:var(--mc-select-panel-size-max-width, 640px);overflow:hidden;border-width:var(--mc-select-panel-size-border-width, 1px);border-style:solid;border-bottom-left-radius:var(--mc-select-panel-size-border-radius, 4px);border-bottom-right-radius:var(--mc-select-panel-size-border-radius, 4px)}.mc-select__panel .mc-optgroup-label,.mc-select__panel .mc-option{font-size:inherit;line-height:var(--mc-option-size-height, 32px);height:var(--mc-option-size-height, 32px)}.mc-select__panel .mc-select__footer{display:flex;align-items:center;box-sizing:border-box;padding:4px 12px;border-top-width:1px;border-top-style:solid;min-height:var(--mc-list-size-footer-min-height, 48px)}.mc-select__content{max-height:var(--mc-select-panel-size-max-height, 232px);padding:var(--mc-select-panel-size-vertical-padding, 4px) 0;overflow:hidden auto}.mc-select__content .cdk-virtual-scroll-viewport{min-height:calc(var(--mc-select-panel-size-max-height, 232px) - 8px);max-height:calc(var(--mc-select-panel-size-max-height, 232px) - 8px)}.mc-form-field-type-select:not(.mc-disabled) .mc-form-field-flex{cursor:pointer}.mc-select__search-container{border-bottom-width:1px;border-bottom-style:solid}\n"] }]
1115
- }], ctorParameters: function () {
1116
- return [{ type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i2.ErrorStateMatcher }, { type: i0.ElementRef }, { type: i3.Directionality, decorators: [{
1117
- type: Optional
1118
- }] }, { type: i4.NgForm, decorators: [{
1119
- type: Optional
1120
- }] }, { type: i4.FormGroupDirective, decorators: [{
1121
- type: Optional
1122
- }] }, { type: i1.McFormField, decorators: [{
1123
- type: Optional
1124
- }] }, { type: i4.NgControl, decorators: [{
1125
- type: Self
1126
- }, {
1127
- type: Optional
1128
- }] }, { type: undefined, decorators: [{
1129
- type: Inject,
1130
- args: [MC_SELECT_SCROLL_STRATEGY]
1131
- }] }, { type: i2.McLocaleService, decorators: [{
1132
- type: Optional
1133
- }, {
1134
- type: Inject,
1135
- args: [MC_LOCALE_SERVICE]
1136
- }] }];
1137
- }, propDecorators: { trigger: [{
1138
- type: ViewChild,
1139
- args: ['trigger', { static: false }]
1140
- }], panel: [{
1141
- type: ViewChild,
1142
- args: ['panel', { static: false }]
1143
- }], optionsContainer: [{
1144
- type: ViewChild,
1145
- args: ['optionsContainer', { static: false }]
1146
- }], overlayDir: [{
1147
- type: ViewChild,
1148
- args: [CdkConnectedOverlay, { static: false }]
1149
- }], tags: [{
1150
- type: ViewChildren,
1151
- args: [McTag]
1152
- }], customTrigger: [{
1153
- type: ContentChild,
1154
- args: [McSelectTrigger, { static: false }]
1155
- }], customMatcher: [{
1156
- type: ContentChild,
1157
- args: [McSelectMatcher, { static: false }]
1158
- }], customTagTemplateRef: [{
1159
- type: ContentChild,
1160
- args: ['mcSelectTagContent', { static: false, read: TemplateRef }]
1161
- }], cleaner: [{
1162
- type: ContentChild,
1163
- args: ['mcSelectCleaner', { static: true }]
1164
- }], options: [{
1165
- type: ContentChildren,
1166
- args: [McOption, { descendants: true }]
1167
- }], optionGroups: [{
1168
- type: ContentChildren,
1169
- args: [McOptgroup]
1170
- }], search: [{
1171
- type: ContentChild,
1172
- args: [McSelectSearch, { static: false }]
1173
- }], hiddenItemsText: [{
1174
- type: Input
1175
- }], panelClass: [{
1176
- type: Input
1177
- }], backdropClass: [{
1178
- type: Input
1179
- }], errorStateMatcher: [{
1180
- type: Input
1181
- }], sortComparator: [{
1182
- type: Input
1183
- }], openedChange: [{
1184
- type: Output
1185
- }], openedStream: [{
1186
- type: Output,
1187
- args: ['opened']
1188
- }], closedStream: [{
1189
- type: Output,
1190
- args: ['closed']
1191
- }], selectionChange: [{
1192
- type: Output
1193
- }], valueChange: [{
1194
- type: Output
1195
- }], hasBackdrop: [{
1196
- type: Input
1197
- }], placeholder: [{
1198
- type: Input
1199
- }], required: [{
1200
- type: Input
1201
- }], multiple: [{
1202
- type: Input
1203
- }], compareWith: [{
1204
- type: Input
1205
- }], value: [{
1206
- type: Input
1207
- }], id: [{
1208
- type: Input
1209
- }], hiddenItemsTextFormatter: [{
1210
- type: Input
1211
- }] } });
1212
-
1213
- class McSelectModule {
1214
- }
1215
- /** @nocollapse */ McSelectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1216
- /** @nocollapse */ McSelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: McSelectModule, declarations: [McSelect,
1217
- McSelectSearch,
1218
- McSelectSearchEmptyResult,
1219
- McSelectTrigger,
1220
- McSelectMatcher,
1221
- McOptionTooltip,
1222
- McSelectFooter], imports: [CommonModule,
1223
- OverlayModule,
1224
- McOptionModule,
1225
- McIconModule,
1226
- McTagsModule,
1227
- McToolTipModule], exports: [McFormFieldModule,
1228
- McSelect,
1229
- McSelectSearch,
1230
- McSelectSearchEmptyResult,
1231
- McSelectTrigger,
1232
- McSelectMatcher,
1233
- McSelectFooter,
1234
- McOptionTooltip,
1235
- McOptionModule,
1236
- CommonModule] });
1237
- /** @nocollapse */ McSelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McSelectModule, providers: [MC_SELECT_SCROLL_STRATEGY_PROVIDER], imports: [CommonModule,
1238
- OverlayModule,
1239
- McOptionModule,
1240
- McIconModule,
1241
- McTagsModule,
1242
- McToolTipModule, McFormFieldModule,
1243
- McOptionModule,
1244
- CommonModule] });
1245
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McSelectModule, decorators: [{
1246
- type: NgModule,
1247
- args: [{
1248
- imports: [
1249
- CommonModule,
1250
- OverlayModule,
1251
- McOptionModule,
1252
- McIconModule,
1253
- McTagsModule,
1254
- McToolTipModule
1255
- ],
1256
- exports: [
1257
- McFormFieldModule,
1258
- McSelect,
1259
- McSelectSearch,
1260
- McSelectSearchEmptyResult,
1261
- McSelectTrigger,
1262
- McSelectMatcher,
1263
- McSelectFooter,
1264
- McOptionTooltip,
1265
- McOptionModule,
1266
- CommonModule
1267
- ],
1268
- declarations: [
1269
- McSelect,
1270
- McSelectSearch,
1271
- McSelectSearchEmptyResult,
1272
- McSelectTrigger,
1273
- McSelectMatcher,
1274
- McOptionTooltip,
1275
- McSelectFooter
1276
- ],
1277
- providers: [MC_SELECT_SCROLL_STRATEGY_PROVIDER]
1278
- }]
1279
- }] });
1280
-
1281
- /**
1282
- * Generated bundle index. Do not edit.
1283
- */
1284
-
1285
- export { McOptionTooltip, McSelect, McSelectBase, McSelectChange, McSelectFooter, McSelectMatcher, McSelectModule, McSelectSearch, McSelectSearchEmptyResult, McSelectTrigger };
1286
- //# sourceMappingURL=ptsecurity-mosaic-select.mjs.map