@ptsecurity/mosaic 15.6.0 → 16.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (750) hide show
  1. package/_theming.scss +19 -0
  2. package/_visual.scss +2 -0
  3. package/autocomplete/autocomplete-trigger.directive.d.ts +6 -16
  4. package/autocomplete/autocomplete.component.d.ts +1 -1
  5. package/button/button.component.d.ts +1 -1
  6. package/button-toggle/button-toggle.component.d.ts +3 -3
  7. package/card/card.component.d.ts +1 -1
  8. package/checkbox/_checkbox-theme.scss +4 -0
  9. package/checkbox/checkbox-config.d.ts +1 -1
  10. package/checkbox/checkbox.d.ts +1 -1
  11. package/code-block/actionbar.component.d.ts +1 -1
  12. package/code-block/code-block.component.d.ts +1 -1
  13. package/core/common-behaviors/color.d.ts +1 -1
  14. package/core/common-behaviors/constructor.d.ts +2 -2
  15. package/core/common-behaviors/disabled.d.ts +1 -1
  16. package/core/common-behaviors/error-state.d.ts +1 -1
  17. package/core/common-behaviors/tabindex.d.ts +1 -1
  18. package/core/datetime/date-formats.d.ts +1 -1
  19. package/core/formatters/index.d.ts +1 -1
  20. package/core/formatters/number/formatter.d.ts +55 -0
  21. package/core/label/label-options.d.ts +1 -1
  22. package/core/locales/en-US.d.ts +13 -2
  23. package/core/locales/es-LA.d.ts +21 -0
  24. package/core/locales/fa-IR.d.ts +22 -0
  25. package/core/locales/locale-service.d.ts +111 -5
  26. package/core/locales/pt-BR.d.ts +21 -0
  27. package/core/locales/ru-RU.d.ts +13 -2
  28. package/core/locales/zh-CN.d.ts +20 -0
  29. package/core/option/action.d.ts +1 -1
  30. package/core/option/optgroup.d.ts +1 -1
  31. package/core/option/option.d.ts +37 -8
  32. package/core/overlay/overlay-position-map.d.ts +7 -1
  33. package/core/selection/pseudo-checkbox/pseudo-checkbox.d.ts +2 -2
  34. package/core/styles/_variables.scss +1 -0
  35. package/core/styles/theming/_theming.scss +1 -0
  36. package/datepicker/calendar-body.component.d.ts +2 -2
  37. package/datepicker/calendar-header.component.d.ts +9 -3
  38. package/datepicker/calendar.component.d.ts +4 -5
  39. package/datepicker/datepicker-input.directive.d.ts +1 -1
  40. package/datepicker/datepicker-toggle.component.d.ts +1 -1
  41. package/datepicker/datepicker.component.d.ts +1 -1
  42. package/datepicker/month-view.component.d.ts +4 -5
  43. package/divider/divider.component.d.ts +1 -1
  44. package/dl/dl.component.d.ts +1 -1
  45. package/dropdown/dropdown-item.component.d.ts +1 -1
  46. package/dropdown/dropdown-trigger.directive.d.ts +1 -1
  47. package/dropdown/dropdown.component.d.ts +1 -1
  48. package/dropdown/dropdown.types.d.ts +3 -3
  49. package/ellipsis-center/ellipsis-center.directive.d.ts +1 -1
  50. package/{esm2020 → esm2022}/autocomplete/autocomplete-origin.directive.mjs +4 -4
  51. package/esm2022/autocomplete/autocomplete-trigger.directive.mjs +555 -0
  52. package/{esm2020 → esm2022}/autocomplete/autocomplete.component.mjs +26 -26
  53. package/{esm2020 → esm2022}/autocomplete/autocomplete.module.mjs +10 -10
  54. package/esm2022/button/button.component.mjs +148 -0
  55. package/{esm2020 → esm2022}/button/button.module.mjs +13 -13
  56. package/esm2022/button-toggle/button-toggle.component.mjs +381 -0
  57. package/{esm2020 → esm2022}/button-toggle/button-toggle.module.mjs +5 -5
  58. package/esm2022/card/card.component.mjs +80 -0
  59. package/{esm2020 → esm2022}/card/card.module.mjs +9 -9
  60. package/{esm2020 → esm2022}/checkbox/checkbox-module.mjs +5 -5
  61. package/{esm2020 → esm2022}/checkbox/checkbox-required-validator.mjs +4 -4
  62. package/esm2022/checkbox/checkbox.mjs +300 -0
  63. package/{esm2020 → esm2022}/code-block/actionbar.component.mjs +4 -4
  64. package/esm2022/code-block/code-block.component.mjs +157 -0
  65. package/esm2022/code-block/code-block.module.mjs +60 -0
  66. package/esm2022/core/common-behaviors/color.mjs +33 -0
  67. package/{esm2020 → esm2022}/core/common-behaviors/common-module.mjs +5 -5
  68. package/{esm2020 → esm2022}/core/common-behaviors/disabled.mjs +6 -6
  69. package/{esm2020 → esm2022}/core/common-behaviors/tabindex.mjs +6 -6
  70. package/{esm2020 → esm2022}/core/error/error-options.mjs +7 -7
  71. package/{esm2020 → esm2022}/core/formatters/date/formatter.mjs +4 -4
  72. package/{esm2020 → esm2022}/core/formatters/date/formatter.pipe.mjs +40 -40
  73. package/esm2022/core/formatters/index.mjs +86 -0
  74. package/esm2022/core/formatters/number/formatter.mjs +350 -0
  75. package/{esm2020 → esm2022}/core/forms/forms-module.mjs +7 -7
  76. package/{esm2020 → esm2022}/core/forms/forms.directive.mjs +7 -7
  77. package/{esm2020 → esm2022}/core/highlight/highlight.pipe.mjs +4 -4
  78. package/{esm2020 → esm2022}/core/highlight/index.mjs +5 -5
  79. package/{esm2020 → esm2022}/core/line/line.mjs +8 -8
  80. package/esm2022/core/locales/en-US.mjs +21 -0
  81. package/esm2022/core/locales/es-LA.mjs +27 -0
  82. package/esm2022/core/locales/fa-IR.mjs +28 -0
  83. package/{esm2020 → esm2022}/core/locales/locale-service.mjs +7 -7
  84. package/{esm2020 → esm2022}/core/locales/locale-service.module.mjs +7 -7
  85. package/esm2022/core/locales/pt-BR.mjs +27 -0
  86. package/esm2022/core/locales/ru-RU.mjs +21 -0
  87. package/esm2022/core/locales/zh-CN.mjs +26 -0
  88. package/{esm2020 → esm2022}/core/option/action.mjs +9 -9
  89. package/{esm2020 → esm2022}/core/option/optgroup.mjs +4 -4
  90. package/{esm2020 → esm2022}/core/option/option-module.mjs +5 -5
  91. package/esm2022/core/option/option.mjs +298 -0
  92. package/esm2022/core/overlay/overlay-position-map.mjs +251 -0
  93. package/{esm2020 → esm2022}/core/pop-up/pop-up-trigger.mjs +4 -4
  94. package/{esm2020 → esm2022}/core/pop-up/pop-up.mjs +4 -4
  95. package/{esm2020 → esm2022}/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +4 -4
  96. package/{esm2020 → esm2022}/core/selection/pseudo-checkbox/pseudo-checkbox.module.mjs +5 -5
  97. package/esm2022/core/services/measure-scrollbar.service.mjs +48 -0
  98. package/{esm2020 → esm2022}/core/utils/data-size/data-size.pipe.mjs +8 -8
  99. package/{esm2020 → esm2022}/core/version.mjs +2 -2
  100. package/{esm2020 → esm2022}/datepicker/calendar-body.component.mjs +4 -4
  101. package/esm2022/datepicker/calendar-header.component.mjs +135 -0
  102. package/esm2022/datepicker/calendar.component.mjs +166 -0
  103. package/esm2022/datepicker/datepicker-input.directive.mjs +955 -0
  104. package/{esm2020 → esm2022}/datepicker/datepicker-intl.mjs +4 -4
  105. package/{esm2020 → esm2022}/datepicker/datepicker-module.mjs +38 -38
  106. package/esm2022/datepicker/datepicker-toggle.component.mjs +86 -0
  107. package/esm2022/datepicker/datepicker.component.mjs +393 -0
  108. package/esm2022/datepicker/month-view.component.mjs +149 -0
  109. package/{esm2020 → esm2022}/divider/divider.component.mjs +4 -4
  110. package/{esm2020 → esm2022}/divider/divider.module.mjs +5 -5
  111. package/{esm2020 → esm2022}/dl/dl.component.mjs +10 -10
  112. package/{esm2020 → esm2022}/dl/dl.module.mjs +13 -13
  113. package/{esm2020 → esm2022}/dropdown/dropdown-content.directive.mjs +4 -4
  114. package/{esm2020 → esm2022}/dropdown/dropdown-item.component.mjs +6 -6
  115. package/esm2022/dropdown/dropdown-trigger.directive.mjs +489 -0
  116. package/esm2022/dropdown/dropdown.component.mjs +292 -0
  117. package/{esm2020 → esm2022}/dropdown/dropdown.module.mjs +15 -15
  118. package/esm2022/ellipsis-center/ellipsis-center.directive.mjs +106 -0
  119. package/{esm2020 → esm2022}/file-upload/file-drop.mjs +4 -4
  120. package/{esm2020 → esm2022}/file-upload/file-upload.module.mjs +25 -25
  121. package/esm2022/file-upload/multiple-file-upload.component.mjs +165 -0
  122. package/esm2022/file-upload/single-file-upload.component.mjs +134 -0
  123. package/{esm2020 → esm2022}/form-field/cleaner.mjs +4 -4
  124. package/esm2022/form-field/form-field.mjs +267 -0
  125. package/{esm2020 → esm2022}/form-field/form-field.module.mjs +23 -23
  126. package/{esm2020 → esm2022}/form-field/hint.mjs +4 -4
  127. package/{esm2020 → esm2022}/form-field/password-hint.mjs +9 -9
  128. package/{esm2020 → esm2022}/form-field/prefix.mjs +4 -4
  129. package/{esm2020 → esm2022}/form-field/stepper.mjs +6 -6
  130. package/{esm2020 → esm2022}/form-field/suffix.mjs +4 -4
  131. package/esm2022/form-field/validate.directive.mjs +158 -0
  132. package/{esm2020 → esm2022}/icon/icon.component.mjs +7 -7
  133. package/{esm2020 → esm2022}/icon/icon.module.mjs +11 -11
  134. package/{esm2020 → esm2022}/input/input-number-validators.mjs +7 -7
  135. package/esm2022/input/input-number.mjs +168 -0
  136. package/esm2022/input/input-password.mjs +343 -0
  137. package/esm2022/input/input.mjs +297 -0
  138. package/{esm2020 → esm2022}/input/input.module.mjs +23 -23
  139. package/esm2022/link/link.component.mjs +122 -0
  140. package/{esm2020 → esm2022}/link/link.module.mjs +7 -7
  141. package/esm2022/list/list-selection.component.mjs +705 -0
  142. package/{esm2020 → esm2022}/list/list.component.mjs +7 -7
  143. package/{esm2020 → esm2022}/list/list.module.mjs +20 -20
  144. package/esm2022/loader-overlay/loader-overlay.component.mjs +103 -0
  145. package/{esm2020 → esm2022}/loader-overlay/loader-overlay.module.mjs +17 -17
  146. package/{esm2020 → esm2022}/markdown/markdown.component.mjs +13 -13
  147. package/{esm2020 → esm2022}/markdown/markdown.module.mjs +5 -5
  148. package/{esm2020 → esm2022}/markdown/markdown.service.mjs +4 -4
  149. package/{esm2020 → esm2022}/modal/css-unit.pipe.mjs +4 -4
  150. package/esm2022/modal/modal-control.service.mjs +85 -0
  151. package/esm2022/modal/modal.component.mjs +520 -0
  152. package/{esm2020 → esm2022}/modal/modal.directive.mjs +13 -13
  153. package/esm2022/modal/modal.module.mjs +75 -0
  154. package/{esm2020 → esm2022}/modal/modal.service.mjs +8 -8
  155. package/esm2022/navbar/navbar-item.component.mjs +606 -0
  156. package/esm2022/navbar/navbar.component.mjs +248 -0
  157. package/{esm2020 → esm2022}/navbar/navbar.module.mjs +37 -37
  158. package/{esm2020 → esm2022}/navbar/vertical-navbar.component.mjs +20 -17
  159. package/esm2022/popover/popover-confirm.component.mjs +108 -0
  160. package/esm2022/popover/popover.component.mjs +266 -0
  161. package/{esm2020 → esm2022}/popover/popover.module.mjs +8 -8
  162. package/{esm2020 → esm2022}/progress-bar/progress-bar.component.mjs +4 -4
  163. package/{esm2020 → esm2022}/progress-bar/progress-bar.module.mjs +7 -7
  164. package/{esm2020 → esm2022}/progress-spinner/progress-spinner.component.mjs +12 -12
  165. package/{esm2020 → esm2022}/progress-spinner/progress-spinner.module.mjs +7 -7
  166. package/esm2022/radio/radio.component.mjs +457 -0
  167. package/{esm2020 → esm2022}/radio/radio.module.mjs +5 -5
  168. package/esm2022/select/select-option.directive.mjs +65 -0
  169. package/esm2022/select/select.component.mjs +1160 -0
  170. package/{esm2020 → esm2022}/select/select.module.mjs +32 -32
  171. package/esm2022/sidebar/sidebar.component.mjs +146 -0
  172. package/{esm2020 → esm2022}/sidebar/sidebar.module.mjs +9 -9
  173. package/esm2022/sidepanel/sidepanel-container.component.mjs +110 -0
  174. package/{esm2020 → esm2022}/sidepanel/sidepanel-directives.mjs +18 -18
  175. package/{esm2020 → esm2022}/sidepanel/sidepanel.module.mjs +32 -32
  176. package/{esm2020 → esm2022}/sidepanel/sidepanel.service.mjs +10 -10
  177. package/esm2022/splitter/splitter.component.mjs +482 -0
  178. package/{esm2020 → esm2022}/splitter/splitter.module.mjs +12 -12
  179. package/{esm2020 → esm2022}/table/table.component.mjs +4 -4
  180. package/{esm2020 → esm2022}/table/table.module.mjs +9 -9
  181. package/esm2022/tabs/paginated-tab-header.mjs +488 -0
  182. package/esm2022/tabs/tab-body.component.mjs +179 -0
  183. package/{esm2020 → esm2022}/tabs/tab-content.directive.mjs +4 -4
  184. package/esm2022/tabs/tab-group.component.mjs +349 -0
  185. package/{esm2020 → esm2022}/tabs/tab-header.component.mjs +4 -4
  186. package/{esm2020 → esm2022}/tabs/tab-label-wrapper.directive.mjs +4 -4
  187. package/{esm2020 → esm2022}/tabs/tab-label.directive.mjs +4 -4
  188. package/esm2022/tabs/tab-nav-bar/tab-nav-bar.mjs +111 -0
  189. package/{esm2020 → esm2022}/tabs/tab.component.mjs +43 -34
  190. package/{esm2020 → esm2022}/tabs/tabs.module.mjs +42 -42
  191. package/esm2022/tags/tag-input.mjs +250 -0
  192. package/esm2022/tags/tag-list.component.mjs +718 -0
  193. package/esm2022/tags/tag.component.mjs +381 -0
  194. package/esm2022/tags/tag.module.mjs +56 -0
  195. package/esm2022/textarea/textarea.component.mjs +254 -0
  196. package/{esm2020 → esm2022}/textarea/textarea.module.mjs +5 -5
  197. package/esm2022/timepicker/timepicker.directive.mjs +647 -0
  198. package/{esm2020 → esm2022}/timepicker/timepicker.module.mjs +11 -11
  199. package/{esm2020 → esm2022}/timezone/cities-by-filter.pipe.mjs +4 -4
  200. package/esm2022/timezone/timezone-option.component.mjs +48 -0
  201. package/{esm2020 → esm2022}/timezone/timezone-option.directive.mjs +4 -4
  202. package/{esm2020 → esm2022}/timezone/timezone-select.component.mjs +11 -11
  203. package/{esm2020 → esm2022}/timezone/timezone.module.mjs +29 -29
  204. package/{esm2020 → esm2022}/timezone/utc-offset.pipe.mjs +4 -4
  205. package/esm2022/title/title.directive.mjs +107 -0
  206. package/{esm2020 → esm2022}/title/title.module.mjs +5 -5
  207. package/{esm2020 → esm2022}/toast/toast-container.component.mjs +4 -4
  208. package/esm2022/toast/toast.component.mjs +92 -0
  209. package/esm2022/toast/toast.module.mjs +48 -0
  210. package/esm2022/toast/toast.service.mjs +188 -0
  211. package/esm2022/toggle/toggle.component.mjs +156 -0
  212. package/{esm2020 → esm2022}/toggle/toggle.module.mjs +5 -5
  213. package/esm2022/tooltip/tooltip.component.mjs +299 -0
  214. package/{esm2020 → esm2022}/tooltip/tooltip.module.mjs +14 -14
  215. package/esm2022/tree/data-source/flat-data-source.mjs +162 -0
  216. package/{esm2020 → esm2022}/tree/node.mjs +4 -4
  217. package/{esm2020 → esm2022}/tree/outlet.mjs +4 -4
  218. package/esm2022/tree/padding.directive.mjs +113 -0
  219. package/esm2022/tree/toggle.mjs +81 -0
  220. package/esm2022/tree/tree-base.mjs +243 -0
  221. package/esm2022/tree/tree-option.component.mjs +303 -0
  222. package/esm2022/tree/tree-selection.component.mjs +558 -0
  223. package/{esm2020 → esm2022}/tree/tree.mjs +4 -4
  224. package/{esm2020 → esm2022}/tree/tree.module.mjs +21 -21
  225. package/esm2022/tree-select/tree-select.component.mjs +936 -0
  226. package/{esm2020 → esm2022}/tree-select/tree-select.module.mjs +17 -17
  227. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-autocomplete.mjs +80 -77
  228. package/fesm2022/ptsecurity-mosaic-autocomplete.mjs.map +1 -0
  229. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-button-toggle.mjs +47 -47
  230. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-button-toggle.mjs.map +1 -1
  231. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-button.mjs +25 -25
  232. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-button.mjs.map +1 -1
  233. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-card.mjs +17 -17
  234. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-card.mjs.map +1 -1
  235. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-checkbox.mjs +39 -39
  236. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-checkbox.mjs.map +1 -1
  237. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-code-block.mjs +34 -34
  238. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-code-block.mjs.map +1 -1
  239. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-core.mjs +598 -222
  240. package/fesm2022/ptsecurity-mosaic-core.mjs.map +1 -0
  241. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-datepicker.mjs +335 -351
  242. package/fesm2022/ptsecurity-mosaic-datepicker.mjs.map +1 -0
  243. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-divider.mjs +7 -7
  244. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-divider.mjs.map +1 -1
  245. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-dl.mjs +21 -21
  246. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-dl.mjs.map +1 -1
  247. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-dropdown.mjs +89 -89
  248. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-dropdown.mjs.map +1 -1
  249. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-ellipsis-center.mjs +11 -11
  250. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-ellipsis-center.mjs.map +1 -1
  251. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-file-upload.mjs +55 -47
  252. package/fesm2022/ptsecurity-mosaic-file-upload.mjs.map +1 -0
  253. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-form-field.mjs +80 -80
  254. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-form-field.mjs.map +1 -1
  255. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-icon.mjs +16 -16
  256. package/fesm2022/ptsecurity-mosaic-icon.mjs.map +1 -0
  257. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-input.mjs +128 -128
  258. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-input.mjs.map +1 -1
  259. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-link.mjs +22 -22
  260. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-link.mjs.map +1 -1
  261. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-list.mjs +86 -86
  262. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-list.mjs.map +1 -1
  263. package/fesm2022/ptsecurity-mosaic-loader-overlay.mjs +155 -0
  264. package/{fesm2015 → fesm2022}/ptsecurity-mosaic-loader-overlay.mjs.map +1 -1
  265. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-markdown.mjs +19 -19
  266. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-markdown.mjs.map +1 -1
  267. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-modal.mjs +157 -144
  268. package/fesm2022/ptsecurity-mosaic-modal.mjs.map +1 -0
  269. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-navbar.mjs +184 -176
  270. package/fesm2022/ptsecurity-mosaic-navbar.mjs.map +1 -0
  271. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-popover.mjs +37 -37
  272. package/{fesm2015 → fesm2022}/ptsecurity-mosaic-popover.mjs.map +1 -1
  273. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-progress-bar.mjs +9 -9
  274. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-progress-bar.mjs.map +1 -1
  275. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-progress-spinner.mjs +18 -18
  276. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-progress-spinner.mjs.map +1 -1
  277. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-radio.mjs +78 -78
  278. package/{fesm2015 → fesm2022}/ptsecurity-mosaic-radio.mjs.map +1 -1
  279. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-select.mjs +188 -174
  280. package/fesm2022/ptsecurity-mosaic-select.mjs.map +1 -0
  281. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-sidebar.mjs +29 -29
  282. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-sidebar.mjs.map +1 -1
  283. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-sidepanel.mjs +63 -63
  284. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-sidepanel.mjs.map +1 -1
  285. package/{fesm2015 → fesm2022}/ptsecurity-mosaic-splitter.mjs +55 -55
  286. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-splitter.mjs.map +1 -1
  287. package/fesm2022/ptsecurity-mosaic-table.mjs +45 -0
  288. package/fesm2022/ptsecurity-mosaic-table.mjs.map +1 -0
  289. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tabs.mjs +188 -179
  290. package/fesm2022/ptsecurity-mosaic-tabs.mjs.map +1 -0
  291. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tags.mjs +131 -131
  292. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tags.mjs.map +1 -1
  293. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-textarea.mjs +41 -41
  294. package/{fesm2015 → fesm2022}/ptsecurity-mosaic-textarea.mjs.map +1 -1
  295. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-timepicker.mjs +95 -95
  296. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-timepicker.mjs.map +1 -1
  297. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-timezone.mjs +53 -53
  298. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-timezone.mjs.map +1 -1
  299. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-title.mjs +18 -18
  300. package/fesm2022/ptsecurity-mosaic-title.mjs.map +1 -0
  301. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-toast.mjs +47 -41
  302. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-toast.mjs.map +1 -1
  303. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-toggle.mjs +35 -35
  304. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-toggle.mjs.map +1 -1
  305. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tooltip.mjs +47 -47
  306. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tooltip.mjs.map +1 -1
  307. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tree-select.mjs +122 -122
  308. package/fesm2022/ptsecurity-mosaic-tree-select.mjs.map +1 -0
  309. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tree.mjs +202 -198
  310. package/fesm2022/ptsecurity-mosaic-tree.mjs.map +1 -0
  311. package/file-upload/file-upload.d.ts +1 -1
  312. package/file-upload/multiple-file-upload.component.d.ts +5 -4
  313. package/file-upload/single-file-upload.component.d.ts +5 -4
  314. package/form-field/_form-field-theme.scss +4 -0
  315. package/form-field/form-field.d.ts +1 -1
  316. package/form-field/hint.d.ts +1 -1
  317. package/form-field/password-hint.d.ts +1 -1
  318. package/icon/icon.component.d.ts +1 -1
  319. package/input/input-number-validators.d.ts +2 -2
  320. package/input/input-number.d.ts +1 -1
  321. package/input/input-password.d.ts +2 -2
  322. package/input/input.d.ts +1 -1
  323. package/link/link.component.d.ts +1 -1
  324. package/list/list-selection.component.d.ts +2 -2
  325. package/loader-overlay/loader-overlay.component.d.ts +1 -1
  326. package/loader-overlay/loader-overlay.scss +3 -0
  327. package/markdown/markdown.component.d.ts +1 -1
  328. package/modal/modal.component.d.ts +5 -2
  329. package/modal/modal.module.d.ts +2 -1
  330. package/modal/modal.scss +14 -2
  331. package/modal/modal.type.d.ts +3 -3
  332. package/navbar/navbar-item.component.d.ts +3 -3
  333. package/navbar/navbar.component.d.ts +7 -4
  334. package/navbar/vertical-navbar.component.d.ts +5 -3
  335. package/package.json +149 -239
  336. package/popover/popover-confirm.component.d.ts +1 -1
  337. package/popover/popover.component.d.ts +1 -1
  338. package/prebuilt-themes/dark-theme.css +1 -1
  339. package/prebuilt-themes/default-theme.css +1 -1
  340. package/prebuilt-visual/default-visual.css +1 -1
  341. package/progress-bar/progress-bar.component.d.ts +2 -2
  342. package/progress-spinner/progress-spinner.component.d.ts +3 -3
  343. package/radio/_radio-theme.scss +4 -0
  344. package/radio/radio.component.d.ts +2 -2
  345. package/select/select.component.d.ts +12 -9
  346. package/select/select.scss +1 -1
  347. package/sidebar/sidebar.component.d.ts +3 -3
  348. package/sidepanel/sidepanel-directives.d.ts +2 -2
  349. package/splitter/splitter.component.d.ts +3 -3
  350. package/tabs/paginated-tab-header.d.ts +3 -3
  351. package/tabs/tab-body.component.d.ts +3 -3
  352. package/tabs/tab-group.component.d.ts +2 -2
  353. package/tabs/tab-header.component.d.ts +2 -2
  354. package/tabs/tab-label-wrapper.directive.d.ts +1 -1
  355. package/tabs/tab-nav-bar/tab-nav-bar.d.ts +1 -1
  356. package/tabs/tab.component.d.ts +1 -1
  357. package/tags/tag-input.d.ts +1 -1
  358. package/tags/tag-list.component.d.ts +1 -1
  359. package/tags/tag.component.d.ts +1 -1
  360. package/textarea/textarea.component.d.ts +1 -1
  361. package/timepicker/timepicker.directive.d.ts +1 -1
  362. package/timezone/timezone-option.component.d.ts +1 -1
  363. package/toast/toast.type.d.ts +1 -1
  364. package/toggle/toggle.component.d.ts +2 -2
  365. package/tooltip/tooltip.component.d.ts +3 -3
  366. package/tree/node.d.ts +1 -1
  367. package/tree/padding.directive.d.ts +1 -1
  368. package/tree/toggle.d.ts +2 -2
  369. package/tree/tree-base.d.ts +1 -1
  370. package/tree/tree-option.component.d.ts +1 -1
  371. package/tree/tree-option.scss +4 -2
  372. package/tree/tree-selection.component.d.ts +1 -1
  373. package/tree-select/tree-select.component.d.ts +1 -1
  374. package/esm2020/autocomplete/autocomplete-trigger.directive.mjs +0 -552
  375. package/esm2020/button/button.component.mjs +0 -148
  376. package/esm2020/button-toggle/button-toggle.component.mjs +0 -381
  377. package/esm2020/card/card.component.mjs +0 -80
  378. package/esm2020/checkbox/checkbox.mjs +0 -300
  379. package/esm2020/code-block/code-block.component.mjs +0 -157
  380. package/esm2020/code-block/code-block.module.mjs +0 -60
  381. package/esm2020/core/common-behaviors/color.mjs +0 -33
  382. package/esm2020/core/formatters/index.mjs +0 -78
  383. package/esm2020/core/formatters/number/formatter.mjs +0 -129
  384. package/esm2020/core/locales/en-US.mjs +0 -10
  385. package/esm2020/core/locales/es-LA.mjs +0 -6
  386. package/esm2020/core/locales/fa-IR.mjs +0 -6
  387. package/esm2020/core/locales/pt-BR.mjs +0 -6
  388. package/esm2020/core/locales/ru-RU.mjs +0 -10
  389. package/esm2020/core/locales/zh-CN.mjs +0 -6
  390. package/esm2020/core/option/option.mjs +0 -262
  391. package/esm2020/core/overlay/overlay-position-map.mjs +0 -245
  392. package/esm2020/core/services/measure-scrollbar.service.mjs +0 -48
  393. package/esm2020/datepicker/calendar-header.component.mjs +0 -134
  394. package/esm2020/datepicker/calendar.component.mjs +0 -175
  395. package/esm2020/datepicker/datepicker-input.directive.mjs +0 -954
  396. package/esm2020/datepicker/datepicker-toggle.component.mjs +0 -86
  397. package/esm2020/datepicker/datepicker.component.mjs +0 -393
  398. package/esm2020/datepicker/month-view.component.mjs +0 -158
  399. package/esm2020/dropdown/dropdown-trigger.directive.mjs +0 -489
  400. package/esm2020/dropdown/dropdown.component.mjs +0 -292
  401. package/esm2020/ellipsis-center/ellipsis-center.directive.mjs +0 -106
  402. package/esm2020/file-upload/multiple-file-upload.component.mjs +0 -161
  403. package/esm2020/file-upload/single-file-upload.component.mjs +0 -130
  404. package/esm2020/form-field/form-field.mjs +0 -267
  405. package/esm2020/form-field/validate.directive.mjs +0 -158
  406. package/esm2020/input/input-number.mjs +0 -168
  407. package/esm2020/input/input-password.mjs +0 -343
  408. package/esm2020/input/input.mjs +0 -297
  409. package/esm2020/link/link.component.mjs +0 -122
  410. package/esm2020/list/list-selection.component.mjs +0 -705
  411. package/esm2020/loader-overlay/loader-overlay.component.mjs +0 -103
  412. package/esm2020/modal/modal-control.service.mjs +0 -85
  413. package/esm2020/modal/modal.component.mjs +0 -510
  414. package/esm2020/modal/modal.module.mjs +0 -71
  415. package/esm2020/navbar/navbar-item.component.mjs +0 -606
  416. package/esm2020/navbar/navbar.component.mjs +0 -239
  417. package/esm2020/popover/popover-confirm.component.mjs +0 -108
  418. package/esm2020/popover/popover.component.mjs +0 -266
  419. package/esm2020/radio/radio.component.mjs +0 -457
  420. package/esm2020/select/select-option.directive.mjs +0 -65
  421. package/esm2020/select/select.component.mjs +0 -1146
  422. package/esm2020/sidebar/sidebar.component.mjs +0 -146
  423. package/esm2020/sidepanel/sidepanel-container.component.mjs +0 -110
  424. package/esm2020/splitter/splitter.component.mjs +0 -482
  425. package/esm2020/tabs/paginated-tab-header.mjs +0 -488
  426. package/esm2020/tabs/tab-body.component.mjs +0 -179
  427. package/esm2020/tabs/tab-group.component.mjs +0 -349
  428. package/esm2020/tabs/tab-nav-bar/tab-nav-bar.mjs +0 -111
  429. package/esm2020/tags/tag-input.mjs +0 -250
  430. package/esm2020/tags/tag-list.component.mjs +0 -718
  431. package/esm2020/tags/tag.component.mjs +0 -381
  432. package/esm2020/tags/tag.module.mjs +0 -56
  433. package/esm2020/textarea/textarea.component.mjs +0 -254
  434. package/esm2020/timepicker/timepicker.directive.mjs +0 -647
  435. package/esm2020/timezone/timezone-option.component.mjs +0 -48
  436. package/esm2020/title/title.directive.mjs +0 -107
  437. package/esm2020/toast/toast.component.mjs +0 -92
  438. package/esm2020/toast/toast.module.mjs +0 -42
  439. package/esm2020/toast/toast.service.mjs +0 -188
  440. package/esm2020/toggle/toggle.component.mjs +0 -156
  441. package/esm2020/tooltip/tooltip.component.mjs +0 -299
  442. package/esm2020/tree/data-source/flat-data-source.mjs +0 -162
  443. package/esm2020/tree/padding.directive.mjs +0 -113
  444. package/esm2020/tree/toggle.mjs +0 -81
  445. package/esm2020/tree/tree-base.mjs +0 -243
  446. package/esm2020/tree/tree-option.component.mjs +0 -300
  447. package/esm2020/tree/tree-selection.component.mjs +0 -557
  448. package/esm2020/tree-select/tree-select.component.mjs +0 -936
  449. package/fesm2015/ptsecurity-mosaic-autocomplete.mjs +0 -753
  450. package/fesm2015/ptsecurity-mosaic-autocomplete.mjs.map +0 -1
  451. package/fesm2015/ptsecurity-mosaic-button-toggle.mjs +0 -405
  452. package/fesm2015/ptsecurity-mosaic-button-toggle.mjs.map +0 -1
  453. package/fesm2015/ptsecurity-mosaic-button.mjs +0 -193
  454. package/fesm2015/ptsecurity-mosaic-button.mjs.map +0 -1
  455. package/fesm2015/ptsecurity-mosaic-card.mjs +0 -111
  456. package/fesm2015/ptsecurity-mosaic-card.mjs.map +0 -1
  457. package/fesm2015/ptsecurity-mosaic-checkbox.mjs +0 -351
  458. package/fesm2015/ptsecurity-mosaic-checkbox.mjs.map +0 -1
  459. package/fesm2015/ptsecurity-mosaic-code-block.mjs +0 -280
  460. package/fesm2015/ptsecurity-mosaic-code-block.mjs.map +0 -1
  461. package/fesm2015/ptsecurity-mosaic-core.mjs +0 -2314
  462. package/fesm2015/ptsecurity-mosaic-core.mjs.map +0 -1
  463. package/fesm2015/ptsecurity-mosaic-datepicker.mjs +0 -2112
  464. package/fesm2015/ptsecurity-mosaic-datepicker.mjs.map +0 -1
  465. package/fesm2015/ptsecurity-mosaic-divider.mjs +0 -61
  466. package/fesm2015/ptsecurity-mosaic-divider.mjs.map +0 -1
  467. package/fesm2015/ptsecurity-mosaic-dl.mjs +0 -126
  468. package/fesm2015/ptsecurity-mosaic-dl.mjs.map +0 -1
  469. package/fesm2015/ptsecurity-mosaic-dropdown.mjs +0 -1115
  470. package/fesm2015/ptsecurity-mosaic-dropdown.mjs.map +0 -1
  471. package/fesm2015/ptsecurity-mosaic-ellipsis-center.mjs +0 -113
  472. package/fesm2015/ptsecurity-mosaic-ellipsis-center.mjs.map +0 -1
  473. package/fesm2015/ptsecurity-mosaic-file-upload.mjs +0 -392
  474. package/fesm2015/ptsecurity-mosaic-file-upload.mjs.map +0 -1
  475. package/fesm2015/ptsecurity-mosaic-form-field.mjs +0 -772
  476. package/fesm2015/ptsecurity-mosaic-form-field.mjs.map +0 -1
  477. package/fesm2015/ptsecurity-mosaic-icon.mjs +0 -86
  478. package/fesm2015/ptsecurity-mosaic-icon.mjs.map +0 -1
  479. package/fesm2015/ptsecurity-mosaic-input.mjs +0 -951
  480. package/fesm2015/ptsecurity-mosaic-input.mjs.map +0 -1
  481. package/fesm2015/ptsecurity-mosaic-link.mjs +0 -150
  482. package/fesm2015/ptsecurity-mosaic-link.mjs.map +0 -1
  483. package/fesm2015/ptsecurity-mosaic-list.mjs +0 -807
  484. package/fesm2015/ptsecurity-mosaic-list.mjs.map +0 -1
  485. package/fesm2015/ptsecurity-mosaic-loader-overlay.mjs +0 -157
  486. package/fesm2015/ptsecurity-mosaic-markdown.mjs +0 -128
  487. package/fesm2015/ptsecurity-mosaic-markdown.mjs.map +0 -1
  488. package/fesm2015/ptsecurity-mosaic-modal.mjs +0 -875
  489. package/fesm2015/ptsecurity-mosaic-modal.mjs.map +0 -1
  490. package/fesm2015/ptsecurity-mosaic-navbar.mjs +0 -1055
  491. package/fesm2015/ptsecurity-mosaic-navbar.mjs.map +0 -1
  492. package/fesm2015/ptsecurity-mosaic-popover.mjs +0 -411
  493. package/fesm2015/ptsecurity-mosaic-progress-bar.mjs +0 -74
  494. package/fesm2015/ptsecurity-mosaic-progress-bar.mjs.map +0 -1
  495. package/fesm2015/ptsecurity-mosaic-progress-spinner.mjs +0 -93
  496. package/fesm2015/ptsecurity-mosaic-progress-spinner.mjs.map +0 -1
  497. package/fesm2015/ptsecurity-mosaic-radio.mjs +0 -481
  498. package/fesm2015/ptsecurity-mosaic-select.mjs +0 -1286
  499. package/fesm2015/ptsecurity-mosaic-select.mjs.map +0 -1
  500. package/fesm2015/ptsecurity-mosaic-sidebar.mjs +0 -202
  501. package/fesm2015/ptsecurity-mosaic-sidebar.mjs.map +0 -1
  502. package/fesm2015/ptsecurity-mosaic-sidepanel.mjs +0 -622
  503. package/fesm2015/ptsecurity-mosaic-sidepanel.mjs.map +0 -1
  504. package/fesm2015/ptsecurity-mosaic-splitter.mjs.map +0 -1
  505. package/fesm2015/ptsecurity-mosaic-table.mjs +0 -45
  506. package/fesm2015/ptsecurity-mosaic-table.mjs.map +0 -1
  507. package/fesm2015/ptsecurity-mosaic-tabs.mjs +0 -1523
  508. package/fesm2015/ptsecurity-mosaic-tabs.mjs.map +0 -1
  509. package/fesm2015/ptsecurity-mosaic-tags.mjs +0 -1397
  510. package/fesm2015/ptsecurity-mosaic-tags.mjs.map +0 -1
  511. package/fesm2015/ptsecurity-mosaic-textarea.mjs +0 -280
  512. package/fesm2015/ptsecurity-mosaic-timepicker.mjs +0 -708
  513. package/fesm2015/ptsecurity-mosaic-timepicker.mjs.map +0 -1
  514. package/fesm2015/ptsecurity-mosaic-timezone.mjs +0 -316
  515. package/fesm2015/ptsecurity-mosaic-timezone.mjs.map +0 -1
  516. package/fesm2015/ptsecurity-mosaic-title.mjs +0 -128
  517. package/fesm2015/ptsecurity-mosaic-title.mjs.map +0 -1
  518. package/fesm2015/ptsecurity-mosaic-toast.mjs +0 -379
  519. package/fesm2015/ptsecurity-mosaic-toast.mjs.map +0 -1
  520. package/fesm2015/ptsecurity-mosaic-toggle.mjs +0 -178
  521. package/fesm2015/ptsecurity-mosaic-toggle.mjs.map +0 -1
  522. package/fesm2015/ptsecurity-mosaic-tooltip.mjs +0 -369
  523. package/fesm2015/ptsecurity-mosaic-tooltip.mjs.map +0 -1
  524. package/fesm2015/ptsecurity-mosaic-tree-select.mjs +0 -983
  525. package/fesm2015/ptsecurity-mosaic-tree-select.mjs.map +0 -1
  526. package/fesm2015/ptsecurity-mosaic-tree.mjs +0 -1816
  527. package/fesm2015/ptsecurity-mosaic-tree.mjs.map +0 -1
  528. package/fesm2020/ptsecurity-mosaic-autocomplete.mjs.map +0 -1
  529. package/fesm2020/ptsecurity-mosaic-core.mjs.map +0 -1
  530. package/fesm2020/ptsecurity-mosaic-datepicker.mjs.map +0 -1
  531. package/fesm2020/ptsecurity-mosaic-file-upload.mjs.map +0 -1
  532. package/fesm2020/ptsecurity-mosaic-icon.mjs.map +0 -1
  533. package/fesm2020/ptsecurity-mosaic-loader-overlay.mjs +0 -155
  534. package/fesm2020/ptsecurity-mosaic-loader-overlay.mjs.map +0 -1
  535. package/fesm2020/ptsecurity-mosaic-modal.mjs.map +0 -1
  536. package/fesm2020/ptsecurity-mosaic-navbar.mjs.map +0 -1
  537. package/fesm2020/ptsecurity-mosaic-popover.mjs.map +0 -1
  538. package/fesm2020/ptsecurity-mosaic-radio.mjs.map +0 -1
  539. package/fesm2020/ptsecurity-mosaic-select.mjs.map +0 -1
  540. package/fesm2020/ptsecurity-mosaic-splitter.mjs +0 -524
  541. package/fesm2020/ptsecurity-mosaic-table.mjs +0 -45
  542. package/fesm2020/ptsecurity-mosaic-table.mjs.map +0 -1
  543. package/fesm2020/ptsecurity-mosaic-tabs.mjs.map +0 -1
  544. package/fesm2020/ptsecurity-mosaic-textarea.mjs.map +0 -1
  545. package/fesm2020/ptsecurity-mosaic-title.mjs.map +0 -1
  546. package/fesm2020/ptsecurity-mosaic-tree-select.mjs.map +0 -1
  547. package/fesm2020/ptsecurity-mosaic-tree.mjs.map +0 -1
  548. package/fesm2020/ptsecurity-mosaic.mjs +0 -4
  549. package/fesm2020/ptsecurity-mosaic.mjs.map +0 -1
  550. /package/{esm2020 → esm2022}/autocomplete/index.mjs +0 -0
  551. /package/{esm2020 → esm2022}/autocomplete/ptsecurity-mosaic-autocomplete.mjs +0 -0
  552. /package/{esm2020 → esm2022}/autocomplete/public-api.mjs +0 -0
  553. /package/{esm2020 → esm2022}/button/index.mjs +0 -0
  554. /package/{esm2020 → esm2022}/button/ptsecurity-mosaic-button.mjs +0 -0
  555. /package/{esm2020 → esm2022}/button/public-api.mjs +0 -0
  556. /package/{esm2020 → esm2022}/button-toggle/index.mjs +0 -0
  557. /package/{esm2020 → esm2022}/button-toggle/ptsecurity-mosaic-button-toggle.mjs +0 -0
  558. /package/{esm2020 → esm2022}/button-toggle/public-api.mjs +0 -0
  559. /package/{esm2020 → esm2022}/card/index.mjs +0 -0
  560. /package/{esm2020 → esm2022}/card/ptsecurity-mosaic-card.mjs +0 -0
  561. /package/{esm2020 → esm2022}/card/public-api.mjs +0 -0
  562. /package/{esm2020 → esm2022}/checkbox/checkbox-config.mjs +0 -0
  563. /package/{esm2020 → esm2022}/checkbox/index.mjs +0 -0
  564. /package/{esm2020 → esm2022}/checkbox/ptsecurity-mosaic-checkbox.mjs +0 -0
  565. /package/{esm2020 → esm2022}/checkbox/public-api.mjs +0 -0
  566. /package/{esm2020 → esm2022}/code-block/code-block.types.mjs +0 -0
  567. /package/{esm2020 → esm2022}/code-block/index.mjs +0 -0
  568. /package/{esm2020 → esm2022}/code-block/ptsecurity-mosaic-code-block.mjs +0 -0
  569. /package/{esm2020 → esm2022}/code-block/public-api.mjs +0 -0
  570. /package/{esm2020 → esm2022}/core/animation/animation.mjs +0 -0
  571. /package/{esm2020 → esm2022}/core/animation/fade-animations.mjs +0 -0
  572. /package/{esm2020 → esm2022}/core/animation/index.mjs +0 -0
  573. /package/{esm2020 → esm2022}/core/animation/select-animations.mjs +0 -0
  574. /package/{esm2020 → esm2022}/core/common-behaviors/constructor.mjs +0 -0
  575. /package/{esm2020 → esm2022}/core/common-behaviors/error-state.mjs +0 -0
  576. /package/{esm2020 → esm2022}/core/common-behaviors/index.mjs +0 -0
  577. /package/{esm2020 → esm2022}/core/datetime/date-adapter.mjs +0 -0
  578. /package/{esm2020 → esm2022}/core/datetime/date-formats.mjs +0 -0
  579. /package/{esm2020 → esm2022}/core/datetime/index.mjs +0 -0
  580. /package/{esm2020 → esm2022}/core/forms/index.mjs +0 -0
  581. /package/{esm2020 → esm2022}/core/index.mjs +0 -0
  582. /package/{esm2020 → esm2022}/core/label/label-options.mjs +0 -0
  583. /package/{esm2020 → esm2022}/core/locales/index.mjs +0 -0
  584. /package/{esm2020 → esm2022}/core/option/index.mjs +0 -0
  585. /package/{esm2020 → esm2022}/core/pop-up/constants.mjs +0 -0
  586. /package/{esm2020 → esm2022}/core/pop-up/index.mjs +0 -0
  587. /package/{esm2020 → esm2022}/core/ptsecurity-mosaic-core.mjs +0 -0
  588. /package/{esm2020 → esm2022}/core/public-api.mjs +0 -0
  589. /package/{esm2020 → esm2022}/core/select/constants.mjs +0 -0
  590. /package/{esm2020 → esm2022}/core/select/errors.mjs +0 -0
  591. /package/{esm2020 → esm2022}/core/select/events.mjs +0 -0
  592. /package/{esm2020 → esm2022}/core/select/index.mjs +0 -0
  593. /package/{esm2020 → esm2022}/core/selection/constants.mjs +0 -0
  594. /package/{esm2020 → esm2022}/core/selection/index.mjs +0 -0
  595. /package/{esm2020 → esm2022}/core/title/index.mjs +0 -0
  596. /package/{esm2020 → esm2022}/core/title/title-text-ref.mjs +0 -0
  597. /package/{esm2020 → esm2022}/core/utils/data-size/config.mjs +0 -0
  598. /package/{esm2020 → esm2022}/core/utils/data-size/index.mjs +0 -0
  599. /package/{esm2020 → esm2022}/core/utils/data-size/size.mjs +0 -0
  600. /package/{esm2020 → esm2022}/core/utils/index.mjs +0 -0
  601. /package/{esm2020 → esm2022}/core/utils/public-api.mjs +0 -0
  602. /package/{esm2020 → esm2022}/core/utils/utils.mjs +0 -0
  603. /package/{esm2020 → esm2022}/core/validation/index.mjs +0 -0
  604. /package/{esm2020 → esm2022}/core/validation/validation.mjs +0 -0
  605. /package/{esm2020 → esm2022}/datepicker/datepicker-animations.mjs +0 -0
  606. /package/{esm2020 → esm2022}/datepicker/datepicker-errors.mjs +0 -0
  607. /package/{esm2020 → esm2022}/datepicker/index.mjs +0 -0
  608. /package/{esm2020 → esm2022}/datepicker/ptsecurity-mosaic-datepicker.mjs +0 -0
  609. /package/{esm2020 → esm2022}/datepicker/public-api.mjs +0 -0
  610. /package/{esm2020 → esm2022}/divider/index.mjs +0 -0
  611. /package/{esm2020 → esm2022}/divider/ptsecurity-mosaic-divider.mjs +0 -0
  612. /package/{esm2020 → esm2022}/divider/public-api.mjs +0 -0
  613. /package/{esm2020 → esm2022}/dl/index.mjs +0 -0
  614. /package/{esm2020 → esm2022}/dl/ptsecurity-mosaic-dl.mjs +0 -0
  615. /package/{esm2020 → esm2022}/dl/public-api.mjs +0 -0
  616. /package/{esm2020 → esm2022}/dropdown/dropdown-animations.mjs +0 -0
  617. /package/{esm2020 → esm2022}/dropdown/dropdown-errors.mjs +0 -0
  618. /package/{esm2020 → esm2022}/dropdown/dropdown.types.mjs +0 -0
  619. /package/{esm2020 → esm2022}/dropdown/index.mjs +0 -0
  620. /package/{esm2020 → esm2022}/dropdown/ptsecurity-mosaic-dropdown.mjs +0 -0
  621. /package/{esm2020 → esm2022}/dropdown/public-api.mjs +0 -0
  622. /package/{esm2020 → esm2022}/ellipsis-center/index.mjs +0 -0
  623. /package/{esm2020 → esm2022}/ellipsis-center/ptsecurity-mosaic-ellipsis-center.mjs +0 -0
  624. /package/{esm2020 → esm2022}/ellipsis-center/public-api.mjs +0 -0
  625. /package/{esm2020 → esm2022}/file-upload/file-upload.mjs +0 -0
  626. /package/{esm2020 → esm2022}/file-upload/index.mjs +0 -0
  627. /package/{esm2020 → esm2022}/file-upload/ptsecurity-mosaic-file-upload.mjs +0 -0
  628. /package/{esm2020 → esm2022}/file-upload/public-api.mjs +0 -0
  629. /package/{esm2020 → esm2022}/form-field/form-field-control.mjs +0 -0
  630. /package/{esm2020 → esm2022}/form-field/form-field-errors.mjs +0 -0
  631. /package/{esm2020 → esm2022}/form-field/index.mjs +0 -0
  632. /package/{esm2020 → esm2022}/form-field/ptsecurity-mosaic-form-field.mjs +0 -0
  633. /package/{esm2020 → esm2022}/form-field/public-api.mjs +0 -0
  634. /package/{esm2020 → esm2022}/icon/index.mjs +0 -0
  635. /package/{esm2020 → esm2022}/icon/ptsecurity-mosaic-icon.mjs +0 -0
  636. /package/{esm2020 → esm2022}/icon/public-api.mjs +0 -0
  637. /package/{esm2020 → esm2022}/index.mjs +0 -0
  638. /package/{esm2020 → esm2022}/input/index.mjs +0 -0
  639. /package/{esm2020 → esm2022}/input/input-errors.mjs +0 -0
  640. /package/{esm2020 → esm2022}/input/input-value-accessor.mjs +0 -0
  641. /package/{esm2020 → esm2022}/input/ptsecurity-mosaic-input.mjs +0 -0
  642. /package/{esm2020 → esm2022}/input/public-api.mjs +0 -0
  643. /package/{esm2020 → esm2022}/link/index.mjs +0 -0
  644. /package/{esm2020 → esm2022}/link/ptsecurity-mosaic-link.mjs +0 -0
  645. /package/{esm2020 → esm2022}/link/public-api.mjs +0 -0
  646. /package/{esm2020 → esm2022}/list/index.mjs +0 -0
  647. /package/{esm2020 → esm2022}/list/ptsecurity-mosaic-list.mjs +0 -0
  648. /package/{esm2020 → esm2022}/list/public-api.mjs +0 -0
  649. /package/{esm2020 → esm2022}/loader-overlay/index.mjs +0 -0
  650. /package/{esm2020 → esm2022}/loader-overlay/ptsecurity-mosaic-loader-overlay.mjs +0 -0
  651. /package/{esm2020 → esm2022}/loader-overlay/public-api.mjs +0 -0
  652. /package/{esm2020 → esm2022}/markdown/index.mjs +0 -0
  653. /package/{esm2020 → esm2022}/markdown/markdown.values.mjs +0 -0
  654. /package/{esm2020 → esm2022}/markdown/ptsecurity-mosaic-markdown.mjs +0 -0
  655. /package/{esm2020 → esm2022}/markdown/public-api.mjs +0 -0
  656. /package/{esm2020 → esm2022}/modal/index.mjs +0 -0
  657. /package/{esm2020 → esm2022}/modal/modal-ref.class.mjs +0 -0
  658. /package/{esm2020 → esm2022}/modal/modal-util.mjs +0 -0
  659. /package/{esm2020 → esm2022}/modal/modal.type.mjs +0 -0
  660. /package/{esm2020 → esm2022}/modal/ptsecurity-mosaic-modal.mjs +0 -0
  661. /package/{esm2020 → esm2022}/modal/public-api.mjs +0 -0
  662. /package/{esm2020 → esm2022}/navbar/index.mjs +0 -0
  663. /package/{esm2020 → esm2022}/navbar/ptsecurity-mosaic-navbar.mjs +0 -0
  664. /package/{esm2020 → esm2022}/navbar/public-api.mjs +0 -0
  665. /package/{esm2020 → esm2022}/navbar/vertical-navbar.animation.mjs +0 -0
  666. /package/{esm2020 → esm2022}/popover/index.mjs +0 -0
  667. /package/{esm2020 → esm2022}/popover/popover-animations.mjs +0 -0
  668. /package/{esm2020 → esm2022}/popover/ptsecurity-mosaic-popover.mjs +0 -0
  669. /package/{esm2020 → esm2022}/popover/public-api.mjs +0 -0
  670. /package/{esm2020 → esm2022}/progress-bar/index.mjs +0 -0
  671. /package/{esm2020 → esm2022}/progress-bar/ptsecurity-mosaic-progress-bar.mjs +0 -0
  672. /package/{esm2020 → esm2022}/progress-bar/public-api.mjs +0 -0
  673. /package/{esm2020 → esm2022}/progress-spinner/index.mjs +0 -0
  674. /package/{esm2020 → esm2022}/progress-spinner/ptsecurity-mosaic-progress-spinner.mjs +0 -0
  675. /package/{esm2020 → esm2022}/progress-spinner/public-api.mjs +0 -0
  676. /package/{esm2020 → esm2022}/ptsecurity-mosaic.mjs +0 -0
  677. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
  678. /package/{esm2020 → esm2022}/radio/index.mjs +0 -0
  679. /package/{esm2020 → esm2022}/radio/ptsecurity-mosaic-radio.mjs +0 -0
  680. /package/{esm2020 → esm2022}/radio/public-api.mjs +0 -0
  681. /package/{esm2020 → esm2022}/select/index.mjs +0 -0
  682. /package/{esm2020 → esm2022}/select/ptsecurity-mosaic-select.mjs +0 -0
  683. /package/{esm2020 → esm2022}/select/public-api.mjs +0 -0
  684. /package/{esm2020 → esm2022}/sidebar/index.mjs +0 -0
  685. /package/{esm2020 → esm2022}/sidebar/ptsecurity-mosaic-sidebar.mjs +0 -0
  686. /package/{esm2020 → esm2022}/sidebar/public-api.mjs +0 -0
  687. /package/{esm2020 → esm2022}/sidebar/sidebar-animations.mjs +0 -0
  688. /package/{esm2020 → esm2022}/sidepanel/index.mjs +0 -0
  689. /package/{esm2020 → esm2022}/sidepanel/ptsecurity-mosaic-sidepanel.mjs +0 -0
  690. /package/{esm2020 → esm2022}/sidepanel/public-api.mjs +0 -0
  691. /package/{esm2020 → esm2022}/sidepanel/sidepanel-animations.mjs +0 -0
  692. /package/{esm2020 → esm2022}/sidepanel/sidepanel-config.mjs +0 -0
  693. /package/{esm2020 → esm2022}/sidepanel/sidepanel-ref.mjs +0 -0
  694. /package/{esm2020 → esm2022}/splitter/index.mjs +0 -0
  695. /package/{esm2020 → esm2022}/splitter/ptsecurity-mosaic-splitter.mjs +0 -0
  696. /package/{esm2020 → esm2022}/splitter/public-api.mjs +0 -0
  697. /package/{esm2020 → esm2022}/table/index.mjs +0 -0
  698. /package/{esm2020 → esm2022}/table/ptsecurity-mosaic-table.mjs +0 -0
  699. /package/{esm2020 → esm2022}/table/public-api.mjs +0 -0
  700. /package/{esm2020 → esm2022}/tabs/index.mjs +0 -0
  701. /package/{esm2020 → esm2022}/tabs/ptsecurity-mosaic-tabs.mjs +0 -0
  702. /package/{esm2020 → esm2022}/tabs/public-api.mjs +0 -0
  703. /package/{esm2020 → esm2022}/tabs/tab-nav-bar/index.mjs +0 -0
  704. /package/{esm2020 → esm2022}/tabs/tabs-animations.mjs +0 -0
  705. /package/{esm2020 → esm2022}/tags/index.mjs +0 -0
  706. /package/{esm2020 → esm2022}/tags/ptsecurity-mosaic-tags.mjs +0 -0
  707. /package/{esm2020 → esm2022}/tags/public-api.mjs +0 -0
  708. /package/{esm2020 → esm2022}/tags/tag-default-options.mjs +0 -0
  709. /package/{esm2020 → esm2022}/tags/tag-text-control.mjs +0 -0
  710. /package/{esm2020 → esm2022}/textarea/index.mjs +0 -0
  711. /package/{esm2020 → esm2022}/textarea/ptsecurity-mosaic-textarea.mjs +0 -0
  712. /package/{esm2020 → esm2022}/textarea/public-api.mjs +0 -0
  713. /package/{esm2020 → esm2022}/timepicker/index.mjs +0 -0
  714. /package/{esm2020 → esm2022}/timepicker/ptsecurity-mosaic-timepicker.mjs +0 -0
  715. /package/{esm2020 → esm2022}/timepicker/public-api.mjs +0 -0
  716. /package/{esm2020 → esm2022}/timepicker/timepicker.constants.mjs +0 -0
  717. /package/{esm2020 → esm2022}/timezone/index.mjs +0 -0
  718. /package/{esm2020 → esm2022}/timezone/ptsecurity-mosaic-timezone.mjs +0 -0
  719. /package/{esm2020 → esm2022}/timezone/public-api.mjs +0 -0
  720. /package/{esm2020 → esm2022}/timezone/timezone.models.mjs +0 -0
  721. /package/{esm2020 → esm2022}/timezone/timezone.utils.mjs +0 -0
  722. /package/{esm2020 → esm2022}/title/index.mjs +0 -0
  723. /package/{esm2020 → esm2022}/title/ptsecurity-mosaic-title.mjs +0 -0
  724. /package/{esm2020 → esm2022}/title/public-api.mjs +0 -0
  725. /package/{esm2020 → esm2022}/toast/index.mjs +0 -0
  726. /package/{esm2020 → esm2022}/toast/ptsecurity-mosaic-toast.mjs +0 -0
  727. /package/{esm2020 → esm2022}/toast/public-api.mjs +0 -0
  728. /package/{esm2020 → esm2022}/toast/toast-animations.mjs +0 -0
  729. /package/{esm2020 → esm2022}/toast/toast.type.mjs +0 -0
  730. /package/{esm2020 → esm2022}/toggle/index.mjs +0 -0
  731. /package/{esm2020 → esm2022}/toggle/ptsecurity-mosaic-toggle.mjs +0 -0
  732. /package/{esm2020 → esm2022}/toggle/public-api.mjs +0 -0
  733. /package/{esm2020 → esm2022}/tooltip/index.mjs +0 -0
  734. /package/{esm2020 → esm2022}/tooltip/ptsecurity-mosaic-tooltip.mjs +0 -0
  735. /package/{esm2020 → esm2022}/tooltip/public-api.mjs +0 -0
  736. /package/{esm2020 → esm2022}/tooltip/tooltip.animations.mjs +0 -0
  737. /package/{esm2020 → esm2022}/tree/control/base-tree-control.mjs +0 -0
  738. /package/{esm2020 → esm2022}/tree/control/flat-tree-control.mjs +0 -0
  739. /package/{esm2020 → esm2022}/tree/control/nested-tree-control.mjs +0 -0
  740. /package/{esm2020 → esm2022}/tree/control/tree-control.mjs +0 -0
  741. /package/{esm2020 → esm2022}/tree/data-source/nested-data-source.mjs +0 -0
  742. /package/{esm2020 → esm2022}/tree/index.mjs +0 -0
  743. /package/{esm2020 → esm2022}/tree/ptsecurity-mosaic-tree.mjs +0 -0
  744. /package/{esm2020 → esm2022}/tree/public-api.mjs +0 -0
  745. /package/{esm2020 → esm2022}/tree/tree-errors.mjs +0 -0
  746. /package/{esm2020 → esm2022}/tree-select/index.mjs +0 -0
  747. /package/{esm2020 → esm2022}/tree-select/ptsecurity-mosaic-tree-select.mjs +0 -0
  748. /package/{esm2020 → esm2022}/tree-select/public-api.mjs +0 -0
  749. /package/{fesm2015 → fesm2022}/ptsecurity-mosaic.mjs +0 -0
  750. /package/{fesm2015 → fesm2022}/ptsecurity-mosaic.mjs.map +0 -0
@@ -1,1397 +0,0 @@
1
- import { PlatformModule } from '@angular/cdk/platform';
2
- import * as i4 from '@angular/common';
3
- import { CommonModule } from '@angular/common';
4
- import * as i0 from '@angular/core';
5
- import { InjectionToken, EventEmitter, Directive, Inject, Optional, Self, Input, Output, Component, ChangeDetectionStrategy, ViewEncapsulation, ViewChild, ContentChildren, ContentChild, forwardRef, NgModule } from '@angular/core';
6
- import { ENTER, TAB, SPACE, COMMA, SEMICOLON, BACKSPACE, DELETE, HOME, END } from '@ptsecurity/cdk/keycodes';
7
- import { coerceBooleanProperty } from '@angular/cdk/coercion';
8
- import * as i1 from '@ptsecurity/mosaic/form-field';
9
- import { McFormFieldControl } from '@ptsecurity/mosaic/form-field';
10
- import * as i3 from '@angular/forms';
11
- import { SelectionModel } from '@angular/cdk/collections';
12
- import { FocusKeyManager } from '@ptsecurity/cdk/a11y';
13
- import * as i1$1 from '@ptsecurity/mosaic/core';
14
- import { mixinColor, mixinDisabled, MC_TITLE_TEXT_REF, mixinErrorState } from '@ptsecurity/mosaic/core';
15
- import { Subject, merge } from 'rxjs';
16
- import { take, takeUntil, startWith } from 'rxjs/operators';
17
- import { McIcon } from '@ptsecurity/mosaic/icon';
18
- import * as i2 from '@angular/cdk/bidi';
19
-
20
- /** Injection token to be used to override the default options for the chips module. */
21
- const MC_TAGS_DEFAULT_OPTIONS = new InjectionToken('mc-tags-default-options');
22
-
23
- const McTagInputDefaultSeparators = {
24
- [ENTER]: { symbol: /\r?\n/, key: 'Enter' },
25
- [TAB]: { symbol: /\t/, key: 'Tab' },
26
- [SPACE]: { symbol: / /, key: ' ' },
27
- [COMMA]: { symbol: /,/, key: ',' },
28
- [SEMICOLON]: { symbol: /;/, key: ';' }
29
- };
30
- // Increasing integer for generating unique ids.
31
- let nextUniqueId$1 = 0;
32
- /**
33
- * Directive that adds tag-specific behaviors to an input element inside `<mc-form-field>`.
34
- * May be placed inside or outside of an `<mc-tag-list>`.
35
- */
36
- class McTagInput {
37
- constructor(elementRef, renderer, defaultOptions, trimDirective, ngControl) {
38
- this.elementRef = elementRef;
39
- this.renderer = renderer;
40
- this.defaultOptions = defaultOptions;
41
- this.trimDirective = trimDirective;
42
- this.ngControl = ngControl;
43
- /** Whether the control is focused. */
44
- this.focused = false;
45
- this._separatorKeyCodes = this.defaultOptions.separatorKeyCodes;
46
- /** Emitted when a tag is to be added. */
47
- this.tagEnd = new EventEmitter();
48
- /** The input's placeholder text. */
49
- this.placeholder = '';
50
- /** Unique id for the input. */
51
- this.id = `mc-tag-list-input-${nextUniqueId$1++}`;
52
- this._addOnBlur = true;
53
- this._disabled = false;
54
- this.countOfSymbolsForUpdateWidth = 3;
55
- // tslint:disable-next-line: no-unnecessary-type-assertion
56
- this.inputElement = this.elementRef.nativeElement;
57
- this.setDefaultInputWidth();
58
- this._separators = this.defaultOptions.separators || McTagInputDefaultSeparators;
59
- }
60
- /**
61
- * The list of key codes that will trigger a tagEnd event.
62
- *
63
- * Defaults to `[ENTER]`.
64
- */
65
- set separatorKeyCodes(value) {
66
- this._separatorKeyCodes = value || [];
67
- }
68
- get separators() {
69
- return this._separatorKeyCodes
70
- .reduce((acc, key) => {
71
- const separator = this.getSeparatorByKeyCode(key);
72
- return separator ? [...acc, separator] : acc;
73
- }, []);
74
- }
75
- /** Register input for tag list */
76
- set tagList(value) {
77
- if (value) {
78
- this._tagList = value;
79
- this._tagList.registerInput(this);
80
- }
81
- }
82
- /**
83
- * Whether or not the tagEnd event will be emitted when the input is blurred.
84
- */
85
- get addOnBlur() {
86
- return this._addOnBlur;
87
- }
88
- set addOnBlur(value) {
89
- this._addOnBlur = coerceBooleanProperty(value);
90
- }
91
- /** Whether the input is disabled. */
92
- get disabled() {
93
- return this._disabled || (this._tagList && this._tagList.disabled);
94
- }
95
- set disabled(value) {
96
- this._disabled = coerceBooleanProperty(value);
97
- }
98
- /** Whether the input is empty. */
99
- get empty() {
100
- return !this.inputElement.value;
101
- }
102
- ngOnChanges() {
103
- this._tagList.stateChanges.next();
104
- }
105
- onKeydown(event) {
106
- if (!this.inputElement.value) {
107
- this._tagList.keydown(event);
108
- }
109
- if (this.isSeparatorKey(event)) {
110
- this.emitTagEnd();
111
- event.preventDefault();
112
- }
113
- }
114
- /** Checks to see if the blur should emit the (tagEnd) event. */
115
- blur() {
116
- this.focused = false;
117
- // Blur the tag list if it is not focused
118
- if (!this._tagList.focused) {
119
- this.triggerValidation();
120
- this._tagList.blur();
121
- }
122
- // tslint:disable-next-line: no-unnecessary-type-assertion
123
- if (this.addOnBlur) {
124
- this.emitTagEnd();
125
- }
126
- this._tagList.stateChanges.next();
127
- }
128
- triggerValidation() {
129
- if (!this.hasControl()) {
130
- return;
131
- }
132
- this.ngControl.statusChanges.emit(this.ngControl.status);
133
- }
134
- /** Checks to see if the (tagEnd) event needs to be emitted. */
135
- emitTagEnd() {
136
- if (!this.hasControl() || (this.hasControl() && !this.ngControl.invalid)) {
137
- this.tagEnd.emit({ input: this.inputElement, value: this.trimValue(this.inputElement.value) });
138
- this.updateInputWidth();
139
- }
140
- }
141
- onInput() {
142
- this.updateInputWidth();
143
- // Let tag list know whenever the value changes.
144
- this._tagList.stateChanges.next();
145
- }
146
- onPaste($event) {
147
- if (!$event.clipboardData) {
148
- return;
149
- }
150
- const data = $event.clipboardData.getData('text');
151
- if (data && data.length === 0) {
152
- return;
153
- }
154
- const items = [];
155
- for (const separator of this.separators) {
156
- if (data.search(separator.symbol) > -1) {
157
- items.push(...data
158
- .split(separator.symbol)
159
- .map((item) => this.trimValue(item)));
160
- break;
161
- }
162
- }
163
- if (items.length === 0) {
164
- items.push(data);
165
- }
166
- items.forEach((item) => this.tagEnd.emit({ input: this.inputElement, value: item }));
167
- this.updateInputWidth();
168
- $event.preventDefault();
169
- $event.stopPropagation();
170
- }
171
- updateInputWidth() {
172
- const length = this.inputElement.value.length;
173
- this.renderer.setStyle(this.inputElement, 'max-width', 0);
174
- this.oneSymbolWidth = this.inputElement.scrollWidth / length;
175
- this.renderer.setStyle(this.inputElement, 'max-width', '');
176
- if (length > this.countOfSymbolsForUpdateWidth) {
177
- this.renderer.setStyle(this.inputElement, 'width', `${length * this.oneSymbolWidth}px`);
178
- }
179
- else {
180
- this.setDefaultInputWidth();
181
- }
182
- }
183
- onFocus() {
184
- this.focused = true;
185
- this._tagList.stateChanges.next();
186
- }
187
- /** Focuses the input. */
188
- focus() {
189
- this.inputElement.focus();
190
- }
191
- trimValue(value) {
192
- return this.trimDirective ? this.trimDirective.trim(value) : value;
193
- }
194
- getSeparatorByKeyCode(keyCode) {
195
- const sep = this._separators[keyCode];
196
- if (sep) {
197
- return sep;
198
- }
199
- return null;
200
- }
201
- hasControl() {
202
- return !!this.ngControl;
203
- }
204
- setDefaultInputWidth() {
205
- this.renderer.setStyle(this.inputElement, 'width', '30px');
206
- }
207
- /** Checks whether a keycode is one of the configured separators. */
208
- isSeparatorKey(event) {
209
- return this.separators
210
- .some((separator) => separator.key === event.key && !event.shiftKey);
211
- }
212
- }
213
- /** @nocollapse */ McTagInput.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McTagInput, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: MC_TAGS_DEFAULT_OPTIONS }, { token: i1.McTrim, optional: true, self: true }, { token: i3.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive });
214
- /** @nocollapse */ McTagInput.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: McTagInput, selector: "input[mcTagInputFor]", inputs: { separatorKeyCodes: ["mcTagInputSeparatorKeyCodes", "separatorKeyCodes"], placeholder: "placeholder", id: "id", tagList: ["mcTagInputFor", "tagList"], addOnBlur: ["mcTagInputAddOnBlur", "addOnBlur"], disabled: "disabled" }, outputs: { tagEnd: "mcTagInputTokenEnd" }, host: { listeners: { "keydown": "onKeydown($event)", "blur": "blur()", "focus": "onFocus()", "input": "onInput()", "paste": "onPaste($event)" }, properties: { "id": "id", "attr.disabled": "disabled || null", "attr.placeholder": "placeholder || null" }, classAttribute: "mc-tag-input" }, exportAs: ["mcTagInput", "mcTagInputFor"], usesOnChanges: true, ngImport: i0 });
215
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McTagInput, decorators: [{
216
- type: Directive,
217
- args: [{
218
- selector: 'input[mcTagInputFor]',
219
- exportAs: 'mcTagInput, mcTagInputFor',
220
- host: {
221
- class: 'mc-tag-input',
222
- '[id]': 'id',
223
- '[attr.disabled]': 'disabled || null',
224
- '[attr.placeholder]': 'placeholder || null',
225
- '(keydown)': 'onKeydown($event)',
226
- '(blur)': 'blur()',
227
- '(focus)': 'onFocus()',
228
- '(input)': 'onInput()',
229
- '(paste)': 'onPaste($event)'
230
- }
231
- }]
232
- }], ctorParameters: function () {
233
- return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
234
- type: Inject,
235
- args: [MC_TAGS_DEFAULT_OPTIONS]
236
- }] }, { type: i1.McTrim, decorators: [{
237
- type: Optional
238
- }, {
239
- type: Self
240
- }] }, { type: i3.NgControl, decorators: [{
241
- type: Optional
242
- }, {
243
- type: Self
244
- }] }];
245
- }, propDecorators: { separatorKeyCodes: [{
246
- type: Input,
247
- args: ['mcTagInputSeparatorKeyCodes']
248
- }], tagEnd: [{
249
- type: Output,
250
- args: ['mcTagInputTokenEnd']
251
- }], placeholder: [{
252
- type: Input
253
- }], id: [{
254
- type: Input
255
- }], tagList: [{
256
- type: Input,
257
- args: ['mcTagInputFor']
258
- }], addOnBlur: [{
259
- type: Input,
260
- args: ['mcTagInputAddOnBlur']
261
- }], disabled: [{
262
- type: Input
263
- }] } });
264
-
265
- /** Event object emitted by McTag when selected or deselected. */
266
- class McTagSelectionChange {
267
- constructor(source, selected, isUserInput = false) {
268
- this.source = source;
269
- this.selected = selected;
270
- this.isUserInput = isUserInput;
271
- }
272
- }
273
- const TAG_ATTRIBUTE_NAMES = ['mc-basic-tag'];
274
- /**
275
- * Dummy directive to add CSS class to tag avatar.
276
- * @docs-private
277
- */
278
- class McTagAvatar {
279
- }
280
- /** @nocollapse */ McTagAvatar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McTagAvatar, deps: [], target: i0.ɵɵFactoryTarget.Directive });
281
- /** @nocollapse */ McTagAvatar.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: McTagAvatar, selector: "mc-tag-avatar, [mcTagAvatar]", host: { classAttribute: "mc-tag-avatar" }, ngImport: i0 });
282
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McTagAvatar, decorators: [{
283
- type: Directive,
284
- args: [{
285
- selector: 'mc-tag-avatar, [mcTagAvatar]',
286
- host: { class: 'mc-tag-avatar' }
287
- }]
288
- }] });
289
- /**
290
- * Dummy directive to add CSS class to tag trailing icon.
291
- * @docs-private
292
- */
293
- class McTagTrailingIcon {
294
- }
295
- /** @nocollapse */ McTagTrailingIcon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McTagTrailingIcon, deps: [], target: i0.ɵɵFactoryTarget.Directive });
296
- /** @nocollapse */ McTagTrailingIcon.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: McTagTrailingIcon, selector: "mc-tag-trailing-icon, [mcTagTrailingIcon]", host: { classAttribute: "mc-tag-trailing-icon" }, ngImport: i0 });
297
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McTagTrailingIcon, decorators: [{
298
- type: Directive,
299
- args: [{
300
- selector: 'mc-tag-trailing-icon, [mcTagTrailingIcon]',
301
- host: { class: 'mc-tag-trailing-icon' }
302
- }]
303
- }] });
304
- /** @docs-private */
305
- class McTagBase {
306
- constructor(elementRef) {
307
- this.elementRef = elementRef;
308
- }
309
- }
310
- /** @docs-private */
311
- const McTagMixinBase = mixinColor(mixinDisabled(McTagBase));
312
- class McTag extends McTagMixinBase {
313
- constructor(elementRef, changeDetectorRef, _ngZone) {
314
- super(elementRef);
315
- this.elementRef = elementRef;
316
- this.changeDetectorRef = changeDetectorRef;
317
- this._ngZone = _ngZone;
318
- /** Emits when the tag is focused. */
319
- this.onFocus = new Subject();
320
- /** Emits when the tag is blured. */
321
- this.onBlur = new Subject();
322
- /** Whether the tag has focus. */
323
- this.hasFocus = false;
324
- /** Whether the tag list is selectable */
325
- this.tagListSelectable = true;
326
- /** Emitted when the tag is selected or deselected. */
327
- this.selectionChange = new EventEmitter();
328
- /** Emitted when the tag is destroyed. */
329
- this.destroyed = new EventEmitter();
330
- /** Emitted when a tag is to be removed. */
331
- this.removed = new EventEmitter();
332
- this._selected = false;
333
- this._selectable = true;
334
- this._removable = true;
335
- this._tabindex = -1;
336
- this._disabled = false;
337
- this.addHostClassName();
338
- this.nativeElement = elementRef.nativeElement;
339
- }
340
- /** Whether the tag is selected. */
341
- get selected() {
342
- return this._selected;
343
- }
344
- set selected(value) {
345
- const coercedValue = coerceBooleanProperty(value);
346
- if (coercedValue !== this._selected) {
347
- this._selected = coercedValue;
348
- this.dispatchSelectionChange();
349
- }
350
- }
351
- /** The value of the tag. Defaults to the content inside `<mc-tag>` tags. */
352
- get value() {
353
- return this._value !== undefined
354
- ? this._value
355
- : this.elementRef.nativeElement.textContent;
356
- }
357
- set value(value) {
358
- this._value = value;
359
- }
360
- /**
361
- * Whether or not the tag is selectable. When a tag is not selectable,
362
- * changes to its selected state are always ignored. By default a tag is
363
- * selectable, and it becomes non-selectable if its parent tag list is
364
- * not selectable.
365
- */
366
- get selectable() {
367
- return this._selectable && this.tagListSelectable;
368
- }
369
- set selectable(value) {
370
- this._selectable = coerceBooleanProperty(value);
371
- }
372
- /**
373
- * Determines whether or not the tag displays the remove styling and emits (removed) events.
374
- */
375
- get removable() {
376
- return this._removable;
377
- }
378
- set removable(value) {
379
- this._removable = coerceBooleanProperty(value);
380
- }
381
- get tabindex() {
382
- return this.disabled ? null : this._tabindex;
383
- }
384
- set tabindex(value) {
385
- this._tabindex = value;
386
- }
387
- get disabled() {
388
- return this._disabled;
389
- }
390
- set disabled(value) {
391
- if (value !== this.disabled) {
392
- this._disabled = value;
393
- }
394
- }
395
- ngAfterContentInit() {
396
- this.addClassModificatorForIcons();
397
- }
398
- addClassModificatorForIcons() {
399
- const icons = this.contentChildren.map((item) => item.elementRef.nativeElement);
400
- if (icons.length === 1) {
401
- const iconElement = icons[0];
402
- if (iconElement.classList.contains('mc-tag-remove')) {
403
- iconElement.classList.add('mc-icon_right');
404
- this.nativeElement.classList.add('mc-right-icon');
405
- }
406
- else {
407
- iconElement.classList.add('mc-icon_left');
408
- this.nativeElement.classList.add('mc-left-icon');
409
- }
410
- }
411
- else if (icons.length > 1) {
412
- const firstIconElement = icons[0];
413
- const secondIconElement = icons[1];
414
- firstIconElement.classList.add('mc-icon_left');
415
- secondIconElement.classList.add('mc-icon_right');
416
- }
417
- }
418
- addHostClassName() {
419
- // Add class for the different tags
420
- for (const attr of TAG_ATTRIBUTE_NAMES) {
421
- if (this.elementRef.nativeElement.hasAttribute(attr) ||
422
- this.elementRef.nativeElement.tagName.toLowerCase() === attr) {
423
- this.elementRef.nativeElement.classList.add(attr);
424
- return;
425
- }
426
- }
427
- this.elementRef.nativeElement.classList.add('mc-standard-tag');
428
- }
429
- ngOnDestroy() {
430
- this.destroyed.emit({ tag: this });
431
- }
432
- select() {
433
- if (!this._selected) {
434
- this._selected = true;
435
- this.dispatchSelectionChange();
436
- }
437
- }
438
- deselect() {
439
- if (this._selected) {
440
- this._selected = false;
441
- this.dispatchSelectionChange();
442
- }
443
- }
444
- selectViaInteraction() {
445
- if (!this._selected) {
446
- this._selected = true;
447
- this.dispatchSelectionChange(true);
448
- }
449
- }
450
- toggleSelected(isUserInput = false) {
451
- this._selected = !this.selected;
452
- this.dispatchSelectionChange(isUserInput);
453
- return this.selected;
454
- }
455
- /** Allows for programmatic focusing of the tag. */
456
- focus() {
457
- if (!this.selectable) {
458
- return;
459
- }
460
- if (!this.hasFocus) {
461
- this.elementRef.nativeElement.focus();
462
- this.onFocus.next({ tag: this });
463
- Promise.resolve().then(() => {
464
- this.hasFocus = true;
465
- this.changeDetectorRef.markForCheck();
466
- });
467
- }
468
- }
469
- /**
470
- * Allows for programmatic removal of the tag. Called by the McTagList when the DELETE or
471
- * BACKSPACE keys are pressed.
472
- *
473
- * Informs any listeners of the removal request. Does not remove the tag from the DOM.
474
- */
475
- remove() {
476
- if (this.removable) {
477
- this.removed.emit({ tag: this });
478
- }
479
- }
480
- handleMousedown(event) {
481
- if (this.disabled || !this.selectable) {
482
- event.preventDefault();
483
- }
484
- else {
485
- event.stopPropagation();
486
- }
487
- }
488
- handleKeydown(event) {
489
- if (this.disabled) {
490
- return;
491
- }
492
- // tslint:disable-next-line: deprecation
493
- switch (event.keyCode) {
494
- case DELETE:
495
- case BACKSPACE:
496
- // If we are removable, remove the focused tag
497
- this.remove();
498
- // Always prevent so page navigation does not occur
499
- event.preventDefault();
500
- break;
501
- case SPACE:
502
- // If we are selectable, toggle the focused tag
503
- if (this.selectable) {
504
- this.toggleSelected(true);
505
- }
506
- // Always prevent space from scrolling the page since the list has focus
507
- event.preventDefault();
508
- break;
509
- default:
510
- }
511
- }
512
- blur() {
513
- // When animations are enabled, Angular may end up removing the tag from the DOM a little
514
- // earlier than usual, causing it to be blurred and throwing off the logic in the tag list
515
- // that moves focus not the next item. To work around the issue, we defer marking the tag
516
- // as not focused until the next time the zone stabilizes.
517
- this._ngZone.onStable
518
- .asObservable()
519
- .pipe(take(1))
520
- .subscribe(() => {
521
- this._ngZone.run(() => {
522
- this.hasFocus = false;
523
- this.onBlur.next({ tag: this });
524
- });
525
- });
526
- }
527
- dispatchSelectionChange(isUserInput = false) {
528
- this.selectionChange.emit({
529
- source: this,
530
- isUserInput,
531
- selected: this._selected
532
- });
533
- }
534
- }
535
- /** @nocollapse */ McTag.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McTag, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
536
- /** @nocollapse */ McTag.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: McTag, selector: "mc-tag, [mc-tag], mc-basic-tag, [mc-basic-tag]", inputs: { color: "color", selected: "selected", value: "value", selectable: "selectable", removable: "removable", tabindex: "tabindex", disabled: "disabled" }, outputs: { selectionChange: "selectionChange", destroyed: "destroyed", removed: "removed" }, host: { listeners: { "mousedown": "handleMousedown($event)", "keydown": "handleKeydown($event)", "focus": "focus()", "blur": "blur()" }, properties: { "attr.tabindex": "tabindex", "attr.disabled": "disabled || null", "class.mc-selected": "selected", "class.mc-focused": "hasFocus", "class.mc-tag-with-avatar": "avatar", "class.mc-tag-with-icon": "contentChildren", "class.mc-tag-with-trailing-icon": "trailingIcon || removeIcon", "class.mc-disabled": "disabled" }, classAttribute: "mc-tag" }, providers: [{ provide: MC_TITLE_TEXT_REF, useExisting: McTag }], queries: [{ propertyName: "avatar", first: true, predicate: McTagAvatar, descendants: true }, { propertyName: "trailingIcon", first: true, predicate: McTagTrailingIcon, descendants: true }, { propertyName: "removeIcon", first: true, predicate: i0.forwardRef(function () { return McTagRemove; }), descendants: true }, { propertyName: "contentChildren", predicate: McIcon }], viewQueries: [{ propertyName: "textElement", first: true, predicate: ["mcTitleText"], descendants: true }], exportAs: ["mcTag"], usesInheritance: true, ngImport: i0, template: "<div class=\"mc-tag__wrapper\">\n <ng-content select=\"[mc-icon]:not([mcTagRemove])\"></ng-content>\n <span class=\"mc-tag__text\" #mcTitleText><ng-content></ng-content></span>\n <ng-content select=\"[mcTagRemove]\"></ng-content>\n</div>\n<div class=\"mc-tag-overlay\"></div>\n", styles: [".mc-tag{position:relative;display:inline-block;max-width:100%;margin:var(--mc-tags-size-margin, 2px);height:var(--mc-tags-size-height, 24px);border-width:var(--mc-tags-size-border-width, 1px);border-style:solid;border-radius:var(--mc-tags-size-border-radius, 4px);cursor:default;outline:none;box-sizing:border-box}.mc-tag .mc-icon.mc-tag-remove:hover{cursor:pointer}.mc-tag.mc-disabled .mc-icon.mc-tag-remove:hover{cursor:default}.mc-tag .mc-tag__text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mc-tag:not(.mc-tag-with-icon) .mc-tag__text{margin-right:calc(var(--mc-tags-size-text-margin, 8px) - var(--mc-tags-size-border-width, 1px))}.mc-tag__wrapper{display:flex;align-items:center;height:100%;flex:1 1 100%}.mc-tag__wrapper .mc-icon.mc-tag-remove{display:flex;align-items:center;justify-content:center;flex-shrink:0;height:var(--mc-tags-size-height, 24px);padding-left:var(--mc-tags-size-icon-padding, 4px);padding-right:var(--mc-tags-size-icon-padding, 4px)}.mc-tag__wrapper .mc-icon_left{margin-right:var(--mc-tags-size-icon-padding, 4px)}.mc-tag__wrapper>.mc-icon:first-child{margin-left:calc(var(--mc-tags-size-icon-padding, 4px) - var(--mc-tags-size-border-width, 1px))}.mc-tag__wrapper>.mc-tag__text:last-child{margin-right:calc(var(--mc-tags-size-text-margin, 8px) - var(--mc-tags-size-border-width, 1px))}.mc-tag__wrapper>.mc-tag__text:first-child{margin-left:calc(var(--mc-tags-size-text-margin, 8px) - var(--mc-tags-size-border-width, 1px))}.mc-tag-overlay{position:absolute;inset:-1px;pointer-events:none;border-radius:inherit}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
537
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McTag, decorators: [{
538
- type: Component,
539
- args: [{ selector: 'mc-tag, [mc-tag], mc-basic-tag, [mc-basic-tag]', exportAs: 'mcTag', inputs: ['color'], host: {
540
- class: 'mc-tag',
541
- '[attr.tabindex]': 'tabindex',
542
- '[attr.disabled]': 'disabled || null',
543
- '[class.mc-selected]': 'selected',
544
- '[class.mc-focused]': 'hasFocus',
545
- '[class.mc-tag-with-avatar]': 'avatar',
546
- '[class.mc-tag-with-icon]': 'contentChildren',
547
- '[class.mc-tag-with-trailing-icon]': 'trailingIcon || removeIcon',
548
- '[class.mc-disabled]': 'disabled',
549
- '(mousedown)': 'handleMousedown($event)',
550
- '(keydown)': 'handleKeydown($event)',
551
- '(focus)': 'focus()',
552
- '(blur)': 'blur()'
553
- }, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [{ provide: MC_TITLE_TEXT_REF, useExisting: McTag }], template: "<div class=\"mc-tag__wrapper\">\n <ng-content select=\"[mc-icon]:not([mcTagRemove])\"></ng-content>\n <span class=\"mc-tag__text\" #mcTitleText><ng-content></ng-content></span>\n <ng-content select=\"[mcTagRemove]\"></ng-content>\n</div>\n<div class=\"mc-tag-overlay\"></div>\n", styles: [".mc-tag{position:relative;display:inline-block;max-width:100%;margin:var(--mc-tags-size-margin, 2px);height:var(--mc-tags-size-height, 24px);border-width:var(--mc-tags-size-border-width, 1px);border-style:solid;border-radius:var(--mc-tags-size-border-radius, 4px);cursor:default;outline:none;box-sizing:border-box}.mc-tag .mc-icon.mc-tag-remove:hover{cursor:pointer}.mc-tag.mc-disabled .mc-icon.mc-tag-remove:hover{cursor:default}.mc-tag .mc-tag__text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mc-tag:not(.mc-tag-with-icon) .mc-tag__text{margin-right:calc(var(--mc-tags-size-text-margin, 8px) - var(--mc-tags-size-border-width, 1px))}.mc-tag__wrapper{display:flex;align-items:center;height:100%;flex:1 1 100%}.mc-tag__wrapper .mc-icon.mc-tag-remove{display:flex;align-items:center;justify-content:center;flex-shrink:0;height:var(--mc-tags-size-height, 24px);padding-left:var(--mc-tags-size-icon-padding, 4px);padding-right:var(--mc-tags-size-icon-padding, 4px)}.mc-tag__wrapper .mc-icon_left{margin-right:var(--mc-tags-size-icon-padding, 4px)}.mc-tag__wrapper>.mc-icon:first-child{margin-left:calc(var(--mc-tags-size-icon-padding, 4px) - var(--mc-tags-size-border-width, 1px))}.mc-tag__wrapper>.mc-tag__text:last-child{margin-right:calc(var(--mc-tags-size-text-margin, 8px) - var(--mc-tags-size-border-width, 1px))}.mc-tag__wrapper>.mc-tag__text:first-child{margin-left:calc(var(--mc-tags-size-text-margin, 8px) - var(--mc-tags-size-border-width, 1px))}.mc-tag-overlay{position:absolute;inset:-1px;pointer-events:none;border-radius:inherit}\n"] }]
554
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }]; }, propDecorators: { textElement: [{
555
- type: ViewChild,
556
- args: ['mcTitleText']
557
- }], contentChildren: [{
558
- type: ContentChildren,
559
- args: [McIcon]
560
- }], avatar: [{
561
- type: ContentChild,
562
- args: [McTagAvatar, { static: false }]
563
- }], trailingIcon: [{
564
- type: ContentChild,
565
- args: [McTagTrailingIcon, { static: false }]
566
- }], removeIcon: [{
567
- type: ContentChild,
568
- args: [forwardRef(() => McTagRemove), { static: false }]
569
- }], selectionChange: [{
570
- type: Output
571
- }], destroyed: [{
572
- type: Output
573
- }], removed: [{
574
- type: Output
575
- }], selected: [{
576
- type: Input
577
- }], value: [{
578
- type: Input
579
- }], selectable: [{
580
- type: Input
581
- }], removable: [{
582
- type: Input
583
- }], tabindex: [{
584
- type: Input
585
- }], disabled: [{
586
- type: Input
587
- }] } });
588
- /**
589
- *
590
- * Example:
591
- *
592
- * `<mc-tag>
593
- * <mc-icon mcTagRemove>cancel</mc-icon>
594
- * </mc-tag>`
595
- *
596
- * You *may* use a custom icon, but you may need to override the `mc-tag-remove` positioning
597
- * styles to properly center the icon within the tag.
598
- */
599
- class McTagRemove {
600
- constructor(parentTag) {
601
- this.parentTag = parentTag;
602
- }
603
- focus($event) {
604
- $event.stopPropagation();
605
- }
606
- /** Calls the parent tag's public `remove()` method if applicable. */
607
- handleClick(event) {
608
- if (this.parentTag.removable) {
609
- this.parentTag.hasFocus = true;
610
- this.parentTag.remove();
611
- }
612
- // We need to stop event propagation because otherwise the event will bubble up to the
613
- // form field and cause the `onContainerClick` method to be invoked. This method would then
614
- // reset the focused tag that has been focused after tag removal. Usually the parent
615
- // the parent click listener of the `McTag` would prevent propagation, but it can happen
616
- // that the tag is being removed before the event bubbles up.
617
- event.stopPropagation();
618
- }
619
- }
620
- /** @nocollapse */ McTagRemove.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McTagRemove, deps: [{ token: forwardRef(() => McTag) }], target: i0.ɵɵFactoryTarget.Directive });
621
- /** @nocollapse */ McTagRemove.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: McTagRemove, selector: "[mcTagRemove]", host: { listeners: { "click": "handleClick($event)", "focus": "focus($event)" }, properties: { "attr.tabindex": "-1" }, classAttribute: "mc-tag-remove mc-tag-trailing-icon" }, ngImport: i0 });
622
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McTagRemove, decorators: [{
623
- type: Directive,
624
- args: [{
625
- selector: '[mcTagRemove]',
626
- host: {
627
- class: 'mc-tag-remove mc-tag-trailing-icon',
628
- '[attr.tabindex]': '-1',
629
- '(click)': 'handleClick($event)',
630
- '(focus)': 'focus($event)'
631
- }
632
- }]
633
- }], ctorParameters: function () {
634
- return [{ type: McTag, decorators: [{
635
- type: Inject,
636
- args: [forwardRef(() => McTag)]
637
- }] }];
638
- } });
639
-
640
- /** @docs-private */
641
- class McTagListBase {
642
- constructor(defaultErrorStateMatcher, parentForm, parentFormGroup, ngControl) {
643
- this.defaultErrorStateMatcher = defaultErrorStateMatcher;
644
- this.parentForm = parentForm;
645
- this.parentFormGroup = parentFormGroup;
646
- this.ngControl = ngControl;
647
- /**
648
- * Emits whenever the component state changes and should cause the parent
649
- * form-field to update. Implemented as part of `McFormFieldControl`.
650
- * @docs-private
651
- */
652
- this.stateChanges = new Subject();
653
- }
654
- }
655
- /** @docs-private */
656
- const McTagListMixinBase = mixinErrorState(McTagListBase);
657
- // Increasing integer for generating unique ids for tag-list components.
658
- let nextUniqueId = 0;
659
- /** Change event object that is emitted when the tag list value has changed. */
660
- class McTagListChange {
661
- constructor(source, value) {
662
- this.source = source;
663
- this.value = value;
664
- }
665
- }
666
- class McTagList extends McTagListMixinBase {
667
- constructor(elementRef, changeDetectorRef, defaultErrorStateMatcher, dir, parentForm, parentFormGroup, ngControl) {
668
- super(defaultErrorStateMatcher, parentForm, parentFormGroup, ngControl);
669
- this.elementRef = elementRef;
670
- this.changeDetectorRef = changeDetectorRef;
671
- this.dir = dir;
672
- this.controlType = 'tag-list';
673
- this._tabIndex = 0;
674
- /**
675
- * Event that emits whenever the raw value of the tag-list changes. This is here primarily
676
- * to facilitate the two-way binding for the `value` input.
677
- * @docs-private
678
- */
679
- this.valueChange = new EventEmitter();
680
- this.uid = `mc-tag-list-${nextUniqueId++}`;
681
- /**
682
- * User defined tab index.
683
- * When it is not null, use user defined tab index. Otherwise use tabIndex
684
- */
685
- this.userTabIndex = null;
686
- this.tagChanges = new EventEmitter();
687
- /** Orientation of the tag list. */
688
- this.orientation = 'horizontal';
689
- /** Event emitted when the selected tag list value has been changed by the user. */
690
- this.change = new EventEmitter();
691
- this._required = false;
692
- this._disabled = false;
693
- this._selectable = true;
694
- this._multiple = false;
695
- /**
696
- * When a tag is destroyed, we store the index of the destroyed tag until the tags
697
- * query list notifies about the update. This is necessary because we cannot determine an
698
- * appropriate tag that should receive focus until the array of tags updated completely.
699
- */
700
- this.lastDestroyedTagIndex = null;
701
- /** Subject that emits when the component has been destroyed. */
702
- this.destroyed = new Subject();
703
- // tslint:disable-next-line:no-empty
704
- this.onTouched = () => { };
705
- // tslint:disable-next-line:no-empty
706
- this.onChange = () => { };
707
- this._compareWith = (o1, o2) => o1 === o2;
708
- if (this.ngControl) {
709
- this.ngControl.valueAccessor = this;
710
- }
711
- }
712
- /** Combined stream of all of the child tags' selection change events. */
713
- get tagSelectionChanges() {
714
- return merge(...this.tags.map((tag) => tag.selectionChange));
715
- }
716
- /** Combined stream of all of the child tags' focus change events. */
717
- get tagFocusChanges() {
718
- return merge(...this.tags.map((tag) => tag.onFocus));
719
- }
720
- /** Combined stream of all of the child tags' blur change events. */
721
- get tagBlurChanges() {
722
- return merge(...this.tags.map((tag) => tag.onBlur));
723
- }
724
- /** Combined stream of all of the child tags' remove change events. */
725
- get tagRemoveChanges() {
726
- return merge(...this.tags.map((tag) => tag.destroyed));
727
- }
728
- /** The array of selected tags inside tag list. */
729
- get selected() {
730
- return this.multiple ? this.selectionModel.selected : this.selectionModel.selected[0];
731
- }
732
- get canShowCleaner() {
733
- return this.cleaner && this.tags.length > 0;
734
- }
735
- /** Whether the user should be allowed to select multiple tags. */
736
- get multiple() {
737
- return this._multiple;
738
- }
739
- set multiple(value) {
740
- this._multiple = coerceBooleanProperty(value);
741
- }
742
- /**
743
- * A function to compare the option values with the selected values. The first argument
744
- * is a value from an option. The second is a value from the selection. A boolean
745
- * should be returned.
746
- */
747
- get compareWith() {
748
- return this._compareWith;
749
- }
750
- set compareWith(fn) {
751
- this._compareWith = fn;
752
- if (this.selectionModel) {
753
- // A different comparator means the selection could change.
754
- this.initializeSelection();
755
- }
756
- }
757
- /**
758
- * Implemented as part of McFormFieldControl.
759
- * @docs-private
760
- */
761
- get value() {
762
- return this._value;
763
- }
764
- set value(value) {
765
- this.writeValue(value);
766
- this._value = value;
767
- }
768
- /**
769
- * Implemented as part of McFormFieldControl.
770
- * @docs-private
771
- */
772
- get id() {
773
- return this.tagInput ? this.tagInput.id : this.uid;
774
- }
775
- /**
776
- * Implemented as part of McFormFieldControl.
777
- * @docs-private
778
- */
779
- get required() {
780
- return this._required;
781
- }
782
- set required(value) {
783
- this._required = coerceBooleanProperty(value);
784
- this.stateChanges.next();
785
- }
786
- /**
787
- * Implemented as part of McFormFieldControl.
788
- * @docs-private
789
- */
790
- get placeholder() {
791
- return this.tagInput ? this.tagInput.placeholder : this._placeholder;
792
- }
793
- set placeholder(value) {
794
- this._placeholder = value;
795
- this.stateChanges.next();
796
- }
797
- /** Whether any tags or the mcTagInput inside of this tag-list has focus. */
798
- get focused() {
799
- return (this.tagInput && this.tagInput.focused) || this.hasFocusedTag();
800
- }
801
- /**
802
- * Implemented as part of McFormFieldControl.
803
- * @docs-private
804
- */
805
- get empty() {
806
- return (!this.tagInput || this.tagInput.empty) && this.tags.length === 0;
807
- }
808
- /**
809
- * Implemented as part of McFormFieldControl.
810
- * @docs-private
811
- */
812
- get shouldLabelFloat() {
813
- return !this.empty || this.focused;
814
- }
815
- /**
816
- * Implemented as part of McFormFieldControl.
817
- * @docs-private
818
- */
819
- get disabled() {
820
- return this.ngControl ? !!this.ngControl.disabled : this._disabled;
821
- }
822
- set disabled(value) {
823
- this._disabled = coerceBooleanProperty(value);
824
- this.syncTagsDisabledState();
825
- }
826
- /**
827
- * Whether or not this tag list is selectable. When a tag list is not selectable,
828
- * the selected states for all the tags inside the tag list are always ignored.
829
- */
830
- get selectable() {
831
- return this._selectable;
832
- }
833
- set selectable(value) {
834
- this._selectable = coerceBooleanProperty(value);
835
- this.propagateSelectableToChildren();
836
- }
837
- get tabIndex() {
838
- return this._tabIndex;
839
- }
840
- set tabIndex(value) {
841
- this.userTabIndex = value;
842
- this._tabIndex = value;
843
- }
844
- ngAfterContentInit() {
845
- this.keyManager = new FocusKeyManager(this.tags)
846
- .withVerticalOrientation()
847
- .withHorizontalOrientation(this.dir ? this.dir.value : 'ltr');
848
- if (this.dir) {
849
- this.dir.change
850
- .pipe(takeUntil(this.destroyed))
851
- .subscribe((dir) => this.keyManager.withHorizontalOrientation(dir));
852
- }
853
- // Prevents the tag list from capturing focus and redirecting
854
- // it back to the first tag when the user tabs out.
855
- this.keyManager.tabOut
856
- .pipe(takeUntil(this.destroyed))
857
- .subscribe(() => {
858
- this._tabIndex = -1;
859
- setTimeout(() => {
860
- this._tabIndex = this.userTabIndex || 0;
861
- this.changeDetectorRef.markForCheck();
862
- });
863
- });
864
- // When the list changes, re-subscribe
865
- this.tags.changes
866
- .pipe(startWith(null), takeUntil(this.destroyed))
867
- .subscribe(() => {
868
- if (this.disabled) {
869
- // Since this happens after the content has been
870
- // checked, we need to defer it to the next tick.
871
- Promise.resolve().then(() => { this.syncTagsDisabledState(); });
872
- }
873
- this.resetTags();
874
- // Reset tags selected/deselected status
875
- this.initializeSelection();
876
- // Check to see if we need to update our tab index
877
- this.updateTabIndex();
878
- // Check to see if we have a destroyed tag and need to refocus
879
- this.updateFocusForDestroyedTags();
880
- // Defer setting the value in order to avoid the "Expression
881
- // has changed after it was checked" errors from Angular.
882
- Promise.resolve().then(() => {
883
- this.tagChanges.emit(this.tags.toArray());
884
- this.stateChanges.next();
885
- this.propagateTagsChanges();
886
- });
887
- });
888
- this.propagateSelectableToChildren();
889
- }
890
- ngOnInit() {
891
- this.selectionModel = new SelectionModel(this.multiple, undefined, false);
892
- this.stateChanges.next();
893
- }
894
- ngDoCheck() {
895
- if (this.ngControl) {
896
- // We need to re-evaluate this on every change detection cycle, because there are some
897
- // error triggers that we can't subscribe to (e.g. parent form submissions). This means
898
- // that whatever logic is in here has to be super lean or we risk destroying the performance.
899
- this.updateErrorState();
900
- }
901
- }
902
- ngOnDestroy() {
903
- this.destroyed.next();
904
- this.destroyed.complete();
905
- this.stateChanges.complete();
906
- this.dropSubscriptions();
907
- }
908
- /** Associates an HTML input element with this tag list. */
909
- registerInput(inputElement) {
910
- var _a;
911
- this.tagInput = inputElement;
912
- // todo need rethink about it
913
- if (this.ngControl && ((_a = inputElement.ngControl) === null || _a === void 0 ? void 0 : _a.statusChanges)) {
914
- inputElement.ngControl.statusChanges
915
- .subscribe(() => this.ngControl.control.setErrors(inputElement.ngControl.errors));
916
- }
917
- }
918
- // Implemented as part of ControlValueAccessor.
919
- writeValue(value) {
920
- if (this.tags) {
921
- this.setSelectionByValue(value, false);
922
- }
923
- }
924
- // Implemented as part of ControlValueAccessor.
925
- registerOnChange(fn) {
926
- this.onChange = fn;
927
- }
928
- // Implemented as part of ControlValueAccessor.
929
- registerOnTouched(fn) {
930
- this.onTouched = fn;
931
- }
932
- // Implemented as part of ControlValueAccessor.
933
- setDisabledState(isDisabled) {
934
- this.disabled = isDisabled;
935
- this.stateChanges.next();
936
- }
937
- /**
938
- * Implemented as part of McFormFieldControl.
939
- * @docs-private
940
- */
941
- onContainerClick(event) {
942
- if (!this.originatesFromTag(event)) {
943
- this.focus();
944
- }
945
- }
946
- /**
947
- * Focuses the first non-disabled tag in this tag list, or the associated input when there
948
- * are no eligible tags.
949
- */
950
- focus() {
951
- if (this.disabled) {
952
- return;
953
- }
954
- // TODO: ARIA says this should focus the first `selected` tag if any are selected.
955
- // Focus on first element if there's no tagInput inside tag-list
956
- if (this.tagInput && this.tagInput.focused) {
957
- // do nothing
958
- }
959
- else if (this.tags.length > 0) {
960
- this.keyManager.setFirstItemActive();
961
- this.stateChanges.next();
962
- }
963
- else {
964
- this.focusInput();
965
- this.stateChanges.next();
966
- }
967
- }
968
- /** Attempt to focus an input if we have one. */
969
- focusInput() {
970
- if (this.tagInput) {
971
- this.tagInput.focus();
972
- }
973
- }
974
- /**
975
- * Pass events to the keyboard manager. Available here for tests.
976
- */
977
- keydown(event) {
978
- const target = event.target;
979
- // If they are on an empty input and hit backspace, focus the last tag
980
- // tslint:disable-next-line: deprecation
981
- if (event.keyCode === BACKSPACE && this.isInputEmpty(target)) {
982
- this.keyManager.setLastItemActive();
983
- event.preventDefault();
984
- }
985
- else if (target && target.classList.contains('mc-tag')) {
986
- // tslint:disable-next-line: deprecation
987
- if (event.keyCode === HOME) {
988
- this.keyManager.setFirstItemActive();
989
- event.preventDefault();
990
- // tslint:disable-next-line: deprecation
991
- }
992
- else if (event.keyCode === END) {
993
- this.keyManager.setLastItemActive();
994
- event.preventDefault();
995
- }
996
- else {
997
- this.keyManager.onKeydown(event);
998
- }
999
- this.stateChanges.next();
1000
- }
1001
- }
1002
- setSelectionByValue(value, isUserInput = true) {
1003
- this.clearSelection();
1004
- this.tags.forEach((tag) => tag.deselect());
1005
- if (Array.isArray(value)) {
1006
- value.forEach((currentValue) => this.selectValue(currentValue, isUserInput));
1007
- this.sortValues();
1008
- }
1009
- else {
1010
- const correspondingTag = this.selectValue(value, isUserInput);
1011
- // Shift focus to the active item. Note that we shouldn't do this in multiple
1012
- // mode, because we don't know what tag the user interacted with last.
1013
- if (correspondingTag && isUserInput) {
1014
- this.keyManager.setActiveItem(correspondingTag);
1015
- }
1016
- }
1017
- }
1018
- /** When blurred, mark the field as touched when focus moved outside the tag list. */
1019
- blur() {
1020
- if (!this.hasFocusedTag()) {
1021
- this.keyManager.setActiveItem(-1);
1022
- }
1023
- if (!this.disabled) {
1024
- if (this.tagInput) {
1025
- // If there's a tag input, we should check whether the focus moved to tag input.
1026
- // If the focus is not moved to tag input, mark the field as touched. If the focus moved
1027
- // to tag input, do nothing.
1028
- // Timeout is needed to wait for the focus() event trigger on tag input.
1029
- setTimeout(() => {
1030
- if (!this.focused) {
1031
- this.markAsTouched();
1032
- this.revalidate();
1033
- }
1034
- });
1035
- }
1036
- else {
1037
- // If there's no tag input, then mark the field as touched.
1038
- this.markAsTouched();
1039
- this.revalidate();
1040
- }
1041
- }
1042
- }
1043
- /** Mark the field as touched */
1044
- markAsTouched() {
1045
- this.onTouched();
1046
- this.changeDetectorRef.markForCheck();
1047
- this.stateChanges.next();
1048
- }
1049
- /**
1050
- * Check the tab index as you should not be allowed to focus an empty list.
1051
- */
1052
- updateTabIndex() {
1053
- // If we have 0 tags, we should not allow keyboard focus
1054
- this._tabIndex = this.userTabIndex || (this.tags.length === 0 ? -1 : 0);
1055
- }
1056
- /**
1057
- * If the amount of tags changed, we need to update the
1058
- * key manager state and focus the next closest tag.
1059
- */
1060
- updateFocusForDestroyedTags() {
1061
- if (this.lastDestroyedTagIndex != null) {
1062
- if (this.tags.length) {
1063
- const newTagIndex = Math.min(this.lastDestroyedTagIndex, this.tags.length - 1);
1064
- this.keyManager.setActiveItem(newTagIndex);
1065
- }
1066
- else {
1067
- this.focusInput();
1068
- }
1069
- }
1070
- this.lastDestroyedTagIndex = null;
1071
- }
1072
- /**
1073
- * Utility to ensure all indexes are valid.
1074
- *
1075
- * @param index The index to be checked.
1076
- * @returns True if the index is valid for our list of tags.
1077
- */
1078
- isValidIndex(index) {
1079
- return index >= 0 && index < this.tags.length;
1080
- }
1081
- isInputEmpty(element) {
1082
- if (element && element.nodeName.toLowerCase() === 'input') {
1083
- const input = element;
1084
- return !input.value;
1085
- }
1086
- return false;
1087
- }
1088
- /**
1089
- * Finds and selects the tag based on its value.
1090
- * @returns Tag that has the corresponding value.
1091
- */
1092
- selectValue(value, isUserInput = true) {
1093
- const correspondingTag = this.tags.find((tag) => {
1094
- return tag.value != null && this._compareWith(tag.value, value);
1095
- });
1096
- if (correspondingTag) {
1097
- if (isUserInput) {
1098
- correspondingTag.selectViaInteraction();
1099
- }
1100
- else {
1101
- correspondingTag.select();
1102
- }
1103
- this.selectionModel.select(correspondingTag);
1104
- }
1105
- return correspondingTag;
1106
- }
1107
- initializeSelection() {
1108
- // Defer setting the value in order to avoid the "Expression
1109
- // has changed after it was checked" errors from Angular.
1110
- Promise.resolve().then(() => {
1111
- if (this.ngControl || this._value) {
1112
- this.setSelectionByValue(this.ngControl ? this.ngControl.value : this._value, false);
1113
- this.stateChanges.next();
1114
- }
1115
- });
1116
- }
1117
- /**
1118
- * Deselects every tag in the list.
1119
- * @param skip Tag that should not be deselected.
1120
- */
1121
- clearSelection(skip) {
1122
- this.selectionModel.clear();
1123
- this.tags.forEach((tag) => {
1124
- if (tag !== skip) {
1125
- tag.deselect();
1126
- }
1127
- });
1128
- this.stateChanges.next();
1129
- }
1130
- /**
1131
- * Sorts the model values, ensuring that they keep the same
1132
- * order that they have in the panel.
1133
- */
1134
- sortValues() {
1135
- if (this._multiple) {
1136
- this.selectionModel.clear();
1137
- this.tags.forEach((tag) => {
1138
- if (tag.selected) {
1139
- this.selectionModel.select(tag);
1140
- }
1141
- });
1142
- this.stateChanges.next();
1143
- }
1144
- }
1145
- /** Emits change event to set the model value. */
1146
- // todo need rethink this method and selection logic
1147
- propagateChanges(fallbackValue) {
1148
- let valueToEmit;
1149
- if (Array.isArray(this.selected)) {
1150
- valueToEmit = this.selected.map((tag) => tag.value);
1151
- }
1152
- else {
1153
- valueToEmit = this.selected ? this.selected.value : fallbackValue;
1154
- }
1155
- this._value = valueToEmit;
1156
- this.change.emit(new McTagListChange(this, valueToEmit));
1157
- this.valueChange.emit(valueToEmit);
1158
- this.onChange(valueToEmit);
1159
- this.changeDetectorRef.markForCheck();
1160
- }
1161
- propagateTagsChanges() {
1162
- const valueToEmit = this.tags.map((tag) => tag.value);
1163
- this._value = valueToEmit;
1164
- this.change.emit(new McTagListChange(this, valueToEmit));
1165
- this.valueChange.emit(valueToEmit);
1166
- this.onChange(valueToEmit);
1167
- this.changeDetectorRef.markForCheck();
1168
- }
1169
- resetTags() {
1170
- this.dropSubscriptions();
1171
- this.listenToTagsFocus();
1172
- this.listenToTagsSelection();
1173
- this.listenToTagsRemoved();
1174
- }
1175
- dropSubscriptions() {
1176
- if (this.tagFocusSubscription) {
1177
- this.tagFocusSubscription.unsubscribe();
1178
- this.tagFocusSubscription = null;
1179
- }
1180
- if (this.tagBlurSubscription) {
1181
- this.tagBlurSubscription.unsubscribe();
1182
- this.tagBlurSubscription = null;
1183
- }
1184
- if (this.tagSelectionSubscription) {
1185
- this.tagSelectionSubscription.unsubscribe();
1186
- this.tagSelectionSubscription = null;
1187
- }
1188
- if (this.tagRemoveSubscription) {
1189
- this.tagRemoveSubscription.unsubscribe();
1190
- this.tagRemoveSubscription = null;
1191
- }
1192
- }
1193
- /** Listens to user-generated selection events on each tag. */
1194
- listenToTagsSelection() {
1195
- this.tagSelectionSubscription = this.tagSelectionChanges.subscribe((event) => {
1196
- if (event.source.selected) {
1197
- this.selectionModel.select(event.source);
1198
- }
1199
- else {
1200
- this.selectionModel.deselect(event.source);
1201
- }
1202
- // For single selection tag list, make sure the deselected value is unselected.
1203
- if (!this.multiple) {
1204
- this.tags.forEach((tag) => {
1205
- if (!this.selectionModel.isSelected(tag) && tag.selected) {
1206
- tag.deselect();
1207
- }
1208
- });
1209
- }
1210
- if (event.isUserInput) {
1211
- this.propagateChanges();
1212
- }
1213
- });
1214
- }
1215
- /** Listens to user-generated selection events on each tag. */
1216
- listenToTagsFocus() {
1217
- this.tagFocusSubscription = this.tagFocusChanges
1218
- .subscribe((event) => {
1219
- const tagIndex = this.tags.toArray().indexOf(event.tag);
1220
- if (this.isValidIndex(tagIndex)) {
1221
- this.keyManager.updateActiveItem(tagIndex);
1222
- }
1223
- this.stateChanges.next();
1224
- });
1225
- this.tagBlurSubscription = this.tagBlurChanges
1226
- .subscribe(() => {
1227
- this.blur();
1228
- this.stateChanges.next();
1229
- });
1230
- }
1231
- listenToTagsRemoved() {
1232
- this.tagRemoveSubscription = this.tagRemoveChanges
1233
- .subscribe((event) => {
1234
- const tag = event.tag;
1235
- const tagIndex = this.tags.toArray().indexOf(event.tag);
1236
- // In case the tag that will be removed is currently focused, we temporarily store
1237
- // the index in order to be able to determine an appropriate sibling tag that will
1238
- // receive focus.
1239
- if (this.isValidIndex(tagIndex) && tag.hasFocus) {
1240
- this.lastDestroyedTagIndex = tagIndex;
1241
- }
1242
- });
1243
- }
1244
- /** Checks whether an event comes from inside a tag element. */
1245
- originatesFromTag(event) {
1246
- let currentElement = event.target;
1247
- while (currentElement && currentElement !== this.elementRef.nativeElement) {
1248
- if (currentElement.classList.contains('mc-tag')) {
1249
- return true;
1250
- }
1251
- currentElement = currentElement.parentElement;
1252
- }
1253
- return false;
1254
- }
1255
- /** Checks whether any of the tags is focused. */
1256
- hasFocusedTag() {
1257
- return this.tags.some((tag) => tag.hasFocus);
1258
- }
1259
- /** Syncs the list's disabled state with the individual tags. */
1260
- syncTagsDisabledState() {
1261
- if (this.tags) {
1262
- this.tags.forEach((tag) => {
1263
- tag.disabled = this._disabled;
1264
- });
1265
- }
1266
- }
1267
- /** Revalidate control. */
1268
- revalidate() {
1269
- var _a;
1270
- if ((_a = this.ngControl) === null || _a === void 0 ? void 0 : _a.control) {
1271
- const control = this.ngControl.control;
1272
- control.updateValueAndValidity({ emitEvent: false });
1273
- control.statusChanges.emit(control.status);
1274
- }
1275
- }
1276
- propagateSelectableToChildren() {
1277
- if (this.tags) {
1278
- this.tags.forEach((tag) => tag.tagListSelectable = this._selectable);
1279
- }
1280
- }
1281
- }
1282
- /** @nocollapse */ McTagList.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McTagList, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1$1.ErrorStateMatcher }, { token: i2.Directionality, optional: true }, { token: i3.NgForm, optional: true }, { token: i3.FormGroupDirective, optional: true }, { token: i3.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
1283
- /** @nocollapse */ McTagList.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: McTagList, selector: "mc-tag-list", inputs: { multiple: "multiple", compareWith: "compareWith", value: "value", required: "required", placeholder: "placeholder", disabled: "disabled", selectable: "selectable", tabIndex: "tabIndex", errorStateMatcher: "errorStateMatcher", orientation: "orientation" }, outputs: { valueChange: "valueChange", change: "change" }, host: { listeners: { "focus": "focus()", "blur": "blur()", "keydown": "keydown($event)" }, properties: { "class.mc-disabled": "disabled", "class.mc-invalid": "errorState", "attr.tabindex": "disabled ? null : tabIndex", "id": "uid" }, classAttribute: "mc-tag-list" }, providers: [{ provide: McFormFieldControl, useExisting: McTagList }], queries: [{ propertyName: "cleaner", first: true, predicate: ["mcTagListCleaner"], descendants: true, static: true }, { propertyName: "tags", predicate: McTag, descendants: true }], exportAs: ["mcTagList"], usesInheritance: true, ngImport: i0, template: "<div class=\"mc-tags-list__list-container\">\n <ng-content></ng-content>\n</div>\n\n<div class=\"mc-tags-list__cleaner\"\n *ngIf=\"canShowCleaner\">\n <ng-content select=\"mc-cleaner\"></ng-content>\n</div>\n", styles: [".mc-tag-list{display:flex;flex-direction:row;box-sizing:border-box}.mc-tag-input{border:none;outline:none;background:transparent}.mc-tags-list__list-container{display:flex;flex-wrap:wrap;flex:1 1 100%;box-sizing:border-box;min-width:0;min-height:calc(var(--mc-form-field-size-height, 32px) - var(--mc-form-field-size-border-width, 1px) * 2)}.mc-tags-list__list-container .mc-tag-input{max-width:100%;flex:1 1 auto;height:var(--mc-tag-input-size-height, 22px);margin:var(--mc-tag-input-size-margin, 2px 4px)}.mc-form-field-type-tag-list .mc-tags-list__list-container{padding:var(--mc-tag-list-size-padding, 1px 12px)}.mc-tags-list__cleaner .mc-cleaner{height:30px}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1284
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McTagList, decorators: [{
1285
- type: Component,
1286
- args: [{ selector: 'mc-tag-list', exportAs: 'mcTagList', host: {
1287
- class: 'mc-tag-list',
1288
- '[class.mc-disabled]': 'disabled',
1289
- '[class.mc-invalid]': 'errorState',
1290
- '[attr.tabindex]': 'disabled ? null : tabIndex',
1291
- '[id]': 'uid',
1292
- '(focus)': 'focus()',
1293
- '(blur)': 'blur()',
1294
- '(keydown)': 'keydown($event)'
1295
- }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: McFormFieldControl, useExisting: McTagList }], template: "<div class=\"mc-tags-list__list-container\">\n <ng-content></ng-content>\n</div>\n\n<div class=\"mc-tags-list__cleaner\"\n *ngIf=\"canShowCleaner\">\n <ng-content select=\"mc-cleaner\"></ng-content>\n</div>\n", styles: [".mc-tag-list{display:flex;flex-direction:row;box-sizing:border-box}.mc-tag-input{border:none;outline:none;background:transparent}.mc-tags-list__list-container{display:flex;flex-wrap:wrap;flex:1 1 100%;box-sizing:border-box;min-width:0;min-height:calc(var(--mc-form-field-size-height, 32px) - var(--mc-form-field-size-border-width, 1px) * 2)}.mc-tags-list__list-container .mc-tag-input{max-width:100%;flex:1 1 auto;height:var(--mc-tag-input-size-height, 22px);margin:var(--mc-tag-input-size-margin, 2px 4px)}.mc-form-field-type-tag-list .mc-tags-list__list-container{padding:var(--mc-tag-list-size-padding, 1px 12px)}.mc-tags-list__cleaner .mc-cleaner{height:30px}\n"] }]
1296
- }], ctorParameters: function () {
1297
- return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1$1.ErrorStateMatcher }, { type: i2.Directionality, decorators: [{
1298
- type: Optional
1299
- }] }, { type: i3.NgForm, decorators: [{
1300
- type: Optional
1301
- }] }, { type: i3.FormGroupDirective, decorators: [{
1302
- type: Optional
1303
- }] }, { type: i3.NgControl, decorators: [{
1304
- type: Optional
1305
- }, {
1306
- type: Self
1307
- }] }];
1308
- }, propDecorators: { multiple: [{
1309
- type: Input
1310
- }], compareWith: [{
1311
- type: Input
1312
- }], value: [{
1313
- type: Input
1314
- }], required: [{
1315
- type: Input
1316
- }], placeholder: [{
1317
- type: Input
1318
- }], disabled: [{
1319
- type: Input
1320
- }], selectable: [{
1321
- type: Input
1322
- }], tabIndex: [{
1323
- type: Input
1324
- }], valueChange: [{
1325
- type: Output
1326
- }], errorStateMatcher: [{
1327
- type: Input
1328
- }], orientation: [{
1329
- type: Input,
1330
- args: ['orientation']
1331
- }], change: [{
1332
- type: Output
1333
- }], cleaner: [{
1334
- type: ContentChild,
1335
- args: ['mcTagListCleaner', { static: true }]
1336
- }], tags: [{
1337
- type: ContentChildren,
1338
- args: [McTag, {
1339
- // Need to use `descendants: true`,
1340
- // Ivy will no longer match indirect descendants if it's left as false.
1341
- descendants: true
1342
- }]
1343
- }] } });
1344
-
1345
- class McTagsModule {
1346
- }
1347
- /** @nocollapse */ McTagsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McTagsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1348
- /** @nocollapse */ McTagsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: McTagsModule, declarations: [McTagList,
1349
- McTag,
1350
- McTagInput,
1351
- McTagTrailingIcon,
1352
- McTagAvatar,
1353
- McTagRemove], imports: [CommonModule, PlatformModule], exports: [McTagList,
1354
- McTag,
1355
- McTagInput,
1356
- McTagTrailingIcon,
1357
- McTagAvatar,
1358
- McTagRemove] });
1359
- /** @nocollapse */ McTagsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McTagsModule, providers: [{
1360
- provide: MC_TAGS_DEFAULT_OPTIONS,
1361
- // tslint:disable-next-line: no-object-literal-type-assertion
1362
- useValue: { separatorKeyCodes: [ENTER] }
1363
- }], imports: [CommonModule, PlatformModule] });
1364
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McTagsModule, decorators: [{
1365
- type: NgModule,
1366
- args: [{
1367
- imports: [CommonModule, PlatformModule],
1368
- exports: [
1369
- McTagList,
1370
- McTag,
1371
- McTagInput,
1372
- McTagTrailingIcon,
1373
- McTagAvatar,
1374
- McTagRemove
1375
- ],
1376
- declarations: [
1377
- McTagList,
1378
- McTag,
1379
- McTagInput,
1380
- McTagTrailingIcon,
1381
- McTagAvatar,
1382
- McTagRemove
1383
- ],
1384
- providers: [{
1385
- provide: MC_TAGS_DEFAULT_OPTIONS,
1386
- // tslint:disable-next-line: no-object-literal-type-assertion
1387
- useValue: { separatorKeyCodes: [ENTER] }
1388
- }]
1389
- }]
1390
- }] });
1391
-
1392
- /**
1393
- * Generated bundle index. Do not edit.
1394
- */
1395
-
1396
- export { MC_TAGS_DEFAULT_OPTIONS, McTag, McTagAvatar, McTagBase, McTagInput, McTagList, McTagListBase, McTagListChange, McTagListMixinBase, McTagMixinBase, McTagRemove, McTagSelectionChange, McTagTrailingIcon, McTagsModule };
1397
- //# sourceMappingURL=ptsecurity-mosaic-tags.mjs.map