@ptsecurity/mosaic 15.6.0 → 16.1.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 (763) hide show
  1. package/_theming.scss +28 -1
  2. package/_visual.scss +3 -1
  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/_code-block-theme.scss +8 -0
  12. package/code-block/actionbar.component.d.ts +1 -1
  13. package/code-block/code-block.component.d.ts +1 -1
  14. package/core/common-behaviors/color.d.ts +1 -1
  15. package/core/common-behaviors/constructor.d.ts +2 -2
  16. package/core/common-behaviors/disabled.d.ts +1 -1
  17. package/core/common-behaviors/error-state.d.ts +1 -1
  18. package/core/common-behaviors/tabindex.d.ts +1 -1
  19. package/core/datetime/date-formats.d.ts +1 -1
  20. package/core/formatters/index.d.ts +1 -1
  21. package/core/formatters/number/formatter.d.ts +55 -0
  22. package/core/label/label-options.d.ts +1 -1
  23. package/core/locales/en-US.d.ts +19 -1
  24. package/core/locales/es-LA.d.ts +27 -0
  25. package/core/locales/fa-IR.d.ts +28 -0
  26. package/core/locales/locale-service.d.ts +148 -3
  27. package/core/locales/pt-BR.d.ts +27 -0
  28. package/core/locales/ru-RU.d.ts +20 -1
  29. package/core/locales/zh-CN.d.ts +26 -0
  30. package/core/option/action.d.ts +1 -1
  31. package/core/option/optgroup.d.ts +1 -1
  32. package/core/option/option.d.ts +37 -8
  33. package/core/overlay/overlay-position-map.d.ts +7 -1
  34. package/core/pop-up/constants.d.ts +2 -1
  35. package/core/selection/pseudo-checkbox/pseudo-checkbox.d.ts +2 -2
  36. package/core/styles/_variables.scss +1 -0
  37. package/core/styles/theming/_theming.scss +1 -0
  38. package/datepicker/calendar-body.component.d.ts +2 -2
  39. package/datepicker/calendar-header.component.d.ts +9 -3
  40. package/datepicker/calendar.component.d.ts +4 -5
  41. package/datepicker/datepicker-input.directive.d.ts +1 -1
  42. package/datepicker/datepicker-toggle.component.d.ts +1 -1
  43. package/datepicker/datepicker.component.d.ts +1 -1
  44. package/datepicker/month-view.component.d.ts +4 -5
  45. package/divider/divider.component.d.ts +1 -1
  46. package/dl/dl.component.d.ts +1 -1
  47. package/dropdown/dropdown-item.component.d.ts +1 -1
  48. package/dropdown/dropdown-trigger.directive.d.ts +1 -1
  49. package/dropdown/dropdown.component.d.ts +1 -1
  50. package/dropdown/dropdown.scss +6 -6
  51. package/dropdown/dropdown.types.d.ts +3 -3
  52. package/ellipsis-center/ellipsis-center.directive.d.ts +1 -1
  53. package/{esm2020 → esm2022}/autocomplete/autocomplete-origin.directive.mjs +4 -4
  54. package/esm2022/autocomplete/autocomplete-trigger.directive.mjs +555 -0
  55. package/{esm2020 → esm2022}/autocomplete/autocomplete.component.mjs +26 -26
  56. package/{esm2020 → esm2022}/autocomplete/autocomplete.module.mjs +10 -10
  57. package/esm2022/button/button.component.mjs +148 -0
  58. package/{esm2020 → esm2022}/button/button.module.mjs +13 -13
  59. package/esm2022/button-toggle/button-toggle.component.mjs +381 -0
  60. package/{esm2020 → esm2022}/button-toggle/button-toggle.module.mjs +5 -5
  61. package/esm2022/card/card.component.mjs +80 -0
  62. package/{esm2020 → esm2022}/card/card.module.mjs +9 -9
  63. package/{esm2020 → esm2022}/checkbox/checkbox-module.mjs +5 -5
  64. package/{esm2020 → esm2022}/checkbox/checkbox-required-validator.mjs +4 -4
  65. package/esm2022/checkbox/checkbox.mjs +300 -0
  66. package/{esm2020 → esm2022}/code-block/actionbar.component.mjs +4 -4
  67. package/esm2022/code-block/code-block.component.mjs +157 -0
  68. package/esm2022/code-block/code-block.module.mjs +60 -0
  69. package/esm2022/core/common-behaviors/color.mjs +33 -0
  70. package/{esm2020 → esm2022}/core/common-behaviors/common-module.mjs +5 -5
  71. package/{esm2020 → esm2022}/core/common-behaviors/disabled.mjs +6 -6
  72. package/{esm2020 → esm2022}/core/common-behaviors/tabindex.mjs +6 -6
  73. package/{esm2020 → esm2022}/core/error/error-options.mjs +7 -7
  74. package/{esm2020 → esm2022}/core/formatters/date/formatter.mjs +4 -4
  75. package/{esm2020 → esm2022}/core/formatters/date/formatter.pipe.mjs +40 -40
  76. package/esm2022/core/formatters/index.mjs +86 -0
  77. package/esm2022/core/formatters/number/formatter.mjs +350 -0
  78. package/{esm2020 → esm2022}/core/forms/forms-module.mjs +7 -7
  79. package/{esm2020 → esm2022}/core/forms/forms.directive.mjs +7 -7
  80. package/{esm2020 → esm2022}/core/highlight/highlight.pipe.mjs +4 -4
  81. package/{esm2020 → esm2022}/core/highlight/index.mjs +5 -5
  82. package/{esm2020 → esm2022}/core/line/line.mjs +8 -8
  83. package/esm2022/core/locales/en-US.mjs +28 -0
  84. package/esm2022/core/locales/es-LA.mjs +35 -0
  85. package/esm2022/core/locales/fa-IR.mjs +34 -0
  86. package/{esm2020 → esm2022}/core/locales/locale-service.mjs +7 -7
  87. package/{esm2020 → esm2022}/core/locales/locale-service.module.mjs +7 -7
  88. package/esm2022/core/locales/pt-BR.mjs +33 -0
  89. package/esm2022/core/locales/ru-RU.mjs +31 -0
  90. package/esm2022/core/locales/zh-CN.mjs +32 -0
  91. package/{esm2020 → esm2022}/core/option/action.mjs +9 -9
  92. package/{esm2020 → esm2022}/core/option/optgroup.mjs +4 -4
  93. package/{esm2020 → esm2022}/core/option/option-module.mjs +5 -5
  94. package/esm2022/core/option/option.mjs +299 -0
  95. package/esm2022/core/overlay/overlay-position-map.mjs +251 -0
  96. package/{esm2020 → esm2022}/core/pop-up/constants.mjs +2 -1
  97. package/esm2022/core/pop-up/pop-up-trigger.mjs +256 -0
  98. package/{esm2020 → esm2022}/core/pop-up/pop-up.mjs +4 -4
  99. package/{esm2020 → esm2022}/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +4 -4
  100. package/{esm2020 → esm2022}/core/selection/pseudo-checkbox/pseudo-checkbox.module.mjs +5 -5
  101. package/esm2022/core/services/measure-scrollbar.service.mjs +48 -0
  102. package/{esm2020 → esm2022}/core/utils/data-size/data-size.pipe.mjs +8 -8
  103. package/{esm2020 → esm2022}/core/version.mjs +2 -2
  104. package/{esm2020 → esm2022}/datepicker/calendar-body.component.mjs +4 -4
  105. package/esm2022/datepicker/calendar-header.component.mjs +135 -0
  106. package/esm2022/datepicker/calendar.component.mjs +166 -0
  107. package/esm2022/datepicker/datepicker-input.directive.mjs +963 -0
  108. package/{esm2020 → esm2022}/datepicker/datepicker-intl.mjs +4 -4
  109. package/{esm2020 → esm2022}/datepicker/datepicker-module.mjs +38 -38
  110. package/esm2022/datepicker/datepicker-toggle.component.mjs +86 -0
  111. package/esm2022/datepicker/datepicker.component.mjs +393 -0
  112. package/esm2022/datepicker/month-view.component.mjs +149 -0
  113. package/{esm2020 → esm2022}/divider/divider.component.mjs +4 -4
  114. package/{esm2020 → esm2022}/divider/divider.module.mjs +5 -5
  115. package/{esm2020 → esm2022}/dl/dl.component.mjs +10 -10
  116. package/{esm2020 → esm2022}/dl/dl.module.mjs +13 -13
  117. package/{esm2020 → esm2022}/dropdown/dropdown-content.directive.mjs +4 -4
  118. package/{esm2020 → esm2022}/dropdown/dropdown-item.component.mjs +6 -6
  119. package/esm2022/dropdown/dropdown-trigger.directive.mjs +489 -0
  120. package/esm2022/dropdown/dropdown.component.mjs +292 -0
  121. package/{esm2020 → esm2022}/dropdown/dropdown.module.mjs +15 -15
  122. package/esm2022/ellipsis-center/ellipsis-center.directive.mjs +106 -0
  123. package/{esm2020 → esm2022}/file-upload/file-drop.mjs +4 -4
  124. package/{esm2020 → esm2022}/file-upload/file-upload.module.mjs +25 -25
  125. package/esm2022/file-upload/multiple-file-upload.component.mjs +165 -0
  126. package/esm2022/file-upload/single-file-upload.component.mjs +134 -0
  127. package/{esm2020 → esm2022}/form-field/cleaner.mjs +4 -4
  128. package/esm2022/form-field/form-field.mjs +267 -0
  129. package/{esm2020 → esm2022}/form-field/form-field.module.mjs +23 -23
  130. package/{esm2020 → esm2022}/form-field/hint.mjs +4 -4
  131. package/esm2022/form-field/password-hint.mjs +149 -0
  132. package/{esm2020 → esm2022}/form-field/prefix.mjs +4 -4
  133. package/{esm2020 → esm2022}/form-field/stepper.mjs +6 -6
  134. package/{esm2020 → esm2022}/form-field/suffix.mjs +4 -4
  135. package/esm2022/form-field/validate.directive.mjs +158 -0
  136. package/{esm2020 → esm2022}/icon/icon.component.mjs +7 -7
  137. package/{esm2020 → esm2022}/icon/icon.module.mjs +11 -11
  138. package/{esm2020 → esm2022}/input/input-number-validators.mjs +7 -7
  139. package/esm2022/input/input-number.mjs +386 -0
  140. package/esm2022/input/input-password.mjs +343 -0
  141. package/esm2022/input/input.mjs +297 -0
  142. package/{esm2020 → esm2022}/input/input.module.mjs +23 -23
  143. package/esm2022/link/link.component.mjs +122 -0
  144. package/{esm2020 → esm2022}/link/link.module.mjs +7 -7
  145. package/esm2022/list/list-selection.component.mjs +705 -0
  146. package/{esm2020 → esm2022}/list/list.component.mjs +7 -7
  147. package/{esm2020 → esm2022}/list/list.module.mjs +20 -20
  148. package/esm2022/loader-overlay/loader-overlay.component.mjs +103 -0
  149. package/{esm2020 → esm2022}/loader-overlay/loader-overlay.module.mjs +17 -17
  150. package/{esm2020 → esm2022}/markdown/markdown.component.mjs +13 -13
  151. package/{esm2020 → esm2022}/markdown/markdown.module.mjs +5 -5
  152. package/{esm2020 → esm2022}/markdown/markdown.service.mjs +4 -4
  153. package/{esm2020 → esm2022}/modal/css-unit.pipe.mjs +4 -4
  154. package/esm2022/modal/modal-control.service.mjs +85 -0
  155. package/esm2022/modal/modal.component.mjs +523 -0
  156. package/{esm2020 → esm2022}/modal/modal.directive.mjs +13 -13
  157. package/esm2022/modal/modal.module.mjs +75 -0
  158. package/esm2022/modal/modal.service.mjs +124 -0
  159. package/esm2022/navbar/navbar-item.component.mjs +606 -0
  160. package/esm2022/navbar/navbar.component.mjs +248 -0
  161. package/{esm2020 → esm2022}/navbar/navbar.module.mjs +37 -37
  162. package/esm2022/navbar/vertical-navbar.component.mjs +117 -0
  163. package/esm2022/popover/popover-confirm.component.mjs +108 -0
  164. package/esm2022/popover/popover.component.mjs +266 -0
  165. package/{esm2020 → esm2022}/popover/popover.module.mjs +8 -8
  166. package/{esm2020 → esm2022}/progress-bar/progress-bar.component.mjs +4 -4
  167. package/{esm2020 → esm2022}/progress-bar/progress-bar.module.mjs +7 -7
  168. package/{esm2020 → esm2022}/progress-spinner/progress-spinner.component.mjs +12 -12
  169. package/{esm2020 → esm2022}/progress-spinner/progress-spinner.module.mjs +7 -7
  170. package/esm2022/radio/radio.component.mjs +457 -0
  171. package/{esm2020 → esm2022}/radio/radio.module.mjs +5 -5
  172. package/esm2022/select/select-option.directive.mjs +65 -0
  173. package/esm2022/select/select.component.mjs +1160 -0
  174. package/{esm2020 → esm2022}/select/select.module.mjs +32 -32
  175. package/esm2022/sidebar/sidebar.component.mjs +146 -0
  176. package/{esm2020 → esm2022}/sidebar/sidebar.module.mjs +9 -9
  177. package/esm2022/sidepanel/sidepanel-container.component.mjs +110 -0
  178. package/{esm2020 → esm2022}/sidepanel/sidepanel-directives.mjs +18 -18
  179. package/{esm2020 → esm2022}/sidepanel/sidepanel.module.mjs +32 -32
  180. package/{esm2020 → esm2022}/sidepanel/sidepanel.service.mjs +10 -10
  181. package/esm2022/splitter/splitter.component.mjs +482 -0
  182. package/{esm2020 → esm2022}/splitter/splitter.module.mjs +12 -12
  183. package/{esm2020 → esm2022}/table/table.component.mjs +4 -4
  184. package/{esm2020 → esm2022}/table/table.module.mjs +9 -9
  185. package/esm2022/tabs/paginated-tab-header.mjs +488 -0
  186. package/esm2022/tabs/tab-body.component.mjs +179 -0
  187. package/{esm2020 → esm2022}/tabs/tab-content.directive.mjs +4 -4
  188. package/esm2022/tabs/tab-group.component.mjs +349 -0
  189. package/{esm2020 → esm2022}/tabs/tab-header.component.mjs +4 -4
  190. package/{esm2020 → esm2022}/tabs/tab-label-wrapper.directive.mjs +4 -4
  191. package/{esm2020 → esm2022}/tabs/tab-label.directive.mjs +4 -4
  192. package/esm2022/tabs/tab-nav-bar/tab-nav-bar.mjs +111 -0
  193. package/{esm2020 → esm2022}/tabs/tab.component.mjs +43 -34
  194. package/{esm2020 → esm2022}/tabs/tabs.module.mjs +42 -42
  195. package/esm2022/tags/tag-input.mjs +250 -0
  196. package/esm2022/tags/tag-list.component.mjs +718 -0
  197. package/esm2022/tags/tag.component.mjs +381 -0
  198. package/esm2022/tags/tag.module.mjs +56 -0
  199. package/esm2022/textarea/textarea.component.mjs +254 -0
  200. package/{esm2020 → esm2022}/textarea/textarea.module.mjs +5 -5
  201. package/esm2022/timepicker/timepicker.directive.mjs +647 -0
  202. package/{esm2020 → esm2022}/timepicker/timepicker.module.mjs +11 -11
  203. package/{esm2020 → esm2022}/timezone/cities-by-filter.pipe.mjs +4 -4
  204. package/esm2022/timezone/timezone-option.component.mjs +48 -0
  205. package/{esm2020 → esm2022}/timezone/timezone-option.directive.mjs +4 -4
  206. package/esm2022/timezone/timezone-select.component.mjs +40 -0
  207. package/{esm2020 → esm2022}/timezone/timezone.module.mjs +29 -29
  208. package/{esm2020 → esm2022}/timezone/utc-offset.pipe.mjs +4 -4
  209. package/esm2022/title/title.directive.mjs +107 -0
  210. package/{esm2020 → esm2022}/title/title.module.mjs +5 -5
  211. package/{esm2020 → esm2022}/toast/toast-container.component.mjs +4 -4
  212. package/esm2022/toast/toast.component.mjs +92 -0
  213. package/esm2022/toast/toast.module.mjs +48 -0
  214. package/esm2022/toast/toast.service.mjs +188 -0
  215. package/esm2022/toggle/toggle.component.mjs +156 -0
  216. package/{esm2020 → esm2022}/toggle/toggle.module.mjs +5 -5
  217. package/esm2022/tooltip/tooltip.component.mjs +299 -0
  218. package/{esm2020 → esm2022}/tooltip/tooltip.module.mjs +14 -14
  219. package/esm2022/tree/data-source/flat-data-source.mjs +162 -0
  220. package/{esm2020 → esm2022}/tree/node.mjs +4 -4
  221. package/{esm2020 → esm2022}/tree/outlet.mjs +4 -4
  222. package/esm2022/tree/padding.directive.mjs +113 -0
  223. package/esm2022/tree/toggle.mjs +81 -0
  224. package/esm2022/tree/tree-base.mjs +243 -0
  225. package/esm2022/tree/tree-option.component.mjs +303 -0
  226. package/esm2022/tree/tree-selection.component.mjs +558 -0
  227. package/{esm2020 → esm2022}/tree/tree.mjs +4 -4
  228. package/{esm2020 → esm2022}/tree/tree.module.mjs +21 -21
  229. package/esm2022/tree-select/tree-select.component.mjs +936 -0
  230. package/{esm2020 → esm2022}/tree-select/tree-select.module.mjs +17 -17
  231. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-autocomplete.mjs +80 -77
  232. package/fesm2022/ptsecurity-mosaic-autocomplete.mjs.map +1 -0
  233. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-button-toggle.mjs +47 -47
  234. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-button-toggle.mjs.map +1 -1
  235. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-button.mjs +25 -25
  236. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-button.mjs.map +1 -1
  237. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-card.mjs +17 -17
  238. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-card.mjs.map +1 -1
  239. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-checkbox.mjs +39 -39
  240. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-checkbox.mjs.map +1 -1
  241. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-code-block.mjs +34 -34
  242. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-code-block.mjs.map +1 -1
  243. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-core.mjs +650 -220
  244. package/fesm2022/ptsecurity-mosaic-core.mjs.map +1 -0
  245. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-datepicker.mjs +343 -351
  246. package/fesm2022/ptsecurity-mosaic-datepicker.mjs.map +1 -0
  247. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-divider.mjs +7 -7
  248. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-divider.mjs.map +1 -1
  249. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-dl.mjs +21 -21
  250. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-dl.mjs.map +1 -1
  251. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-dropdown.mjs +90 -90
  252. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-dropdown.mjs.map +1 -1
  253. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-ellipsis-center.mjs +11 -11
  254. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-ellipsis-center.mjs.map +1 -1
  255. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-file-upload.mjs +55 -47
  256. package/fesm2022/ptsecurity-mosaic-file-upload.mjs.map +1 -0
  257. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-form-field.mjs +87 -84
  258. package/fesm2022/ptsecurity-mosaic-form-field.mjs.map +1 -0
  259. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-icon.mjs +16 -16
  260. package/fesm2022/ptsecurity-mosaic-icon.mjs.map +1 -0
  261. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-input.mjs +383 -167
  262. package/fesm2022/ptsecurity-mosaic-input.mjs.map +1 -0
  263. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-link.mjs +22 -22
  264. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-link.mjs.map +1 -1
  265. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-list.mjs +86 -86
  266. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-list.mjs.map +1 -1
  267. package/fesm2022/ptsecurity-mosaic-loader-overlay.mjs +155 -0
  268. package/{fesm2015 → fesm2022}/ptsecurity-mosaic-loader-overlay.mjs.map +1 -1
  269. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-markdown.mjs +19 -19
  270. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-markdown.mjs.map +1 -1
  271. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-modal.mjs +164 -148
  272. package/fesm2022/ptsecurity-mosaic-modal.mjs.map +1 -0
  273. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-navbar.mjs +186 -178
  274. package/fesm2022/ptsecurity-mosaic-navbar.mjs.map +1 -0
  275. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-popover.mjs +38 -38
  276. package/fesm2022/ptsecurity-mosaic-popover.mjs.map +1 -0
  277. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-progress-bar.mjs +9 -9
  278. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-progress-bar.mjs.map +1 -1
  279. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-progress-spinner.mjs +18 -18
  280. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-progress-spinner.mjs.map +1 -1
  281. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-radio.mjs +78 -78
  282. package/{fesm2015 → fesm2022}/ptsecurity-mosaic-radio.mjs.map +1 -1
  283. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-select.mjs +189 -175
  284. package/fesm2022/ptsecurity-mosaic-select.mjs.map +1 -0
  285. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-sidebar.mjs +29 -29
  286. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-sidebar.mjs.map +1 -1
  287. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-sidepanel.mjs +63 -63
  288. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-sidepanel.mjs.map +1 -1
  289. package/{fesm2015 → fesm2022}/ptsecurity-mosaic-splitter.mjs +55 -55
  290. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-splitter.mjs.map +1 -1
  291. package/fesm2022/ptsecurity-mosaic-table.mjs +45 -0
  292. package/fesm2022/ptsecurity-mosaic-table.mjs.map +1 -0
  293. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tabs.mjs +188 -179
  294. package/fesm2022/ptsecurity-mosaic-tabs.mjs.map +1 -0
  295. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tags.mjs +131 -131
  296. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tags.mjs.map +1 -1
  297. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-textarea.mjs +41 -41
  298. package/{fesm2015 → fesm2022}/ptsecurity-mosaic-textarea.mjs.map +1 -1
  299. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-timepicker.mjs +95 -95
  300. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-timepicker.mjs.map +1 -1
  301. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-timezone.mjs +54 -54
  302. package/fesm2022/ptsecurity-mosaic-timezone.mjs.map +1 -0
  303. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-title.mjs +18 -18
  304. package/fesm2022/ptsecurity-mosaic-title.mjs.map +1 -0
  305. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-toast.mjs +47 -41
  306. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-toast.mjs.map +1 -1
  307. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-toggle.mjs +35 -35
  308. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-toggle.mjs.map +1 -1
  309. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tooltip.mjs +47 -47
  310. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tooltip.mjs.map +1 -1
  311. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tree-select.mjs +123 -123
  312. package/fesm2022/ptsecurity-mosaic-tree-select.mjs.map +1 -0
  313. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tree.mjs +202 -198
  314. package/fesm2022/ptsecurity-mosaic-tree.mjs.map +1 -0
  315. package/file-upload/file-upload.d.ts +1 -1
  316. package/file-upload/multiple-file-upload.component.d.ts +5 -4
  317. package/file-upload/single-file-upload.component.d.ts +5 -4
  318. package/form-field/_form-field-theme.scss +4 -0
  319. package/form-field/form-field.d.ts +1 -1
  320. package/form-field/hint.d.ts +1 -1
  321. package/form-field/password-hint.d.ts +2 -1
  322. package/icon/icon.component.d.ts +1 -1
  323. package/input/input-number-validators.d.ts +2 -2
  324. package/input/input-number.d.ts +61 -10
  325. package/input/input-password.d.ts +2 -2
  326. package/input/input.d.ts +1 -1
  327. package/link/link.component.d.ts +1 -1
  328. package/list/list-selection.component.d.ts +2 -2
  329. package/loader-overlay/loader-overlay.component.d.ts +1 -1
  330. package/loader-overlay/loader-overlay.scss +12 -2
  331. package/markdown/markdown.component.d.ts +1 -1
  332. package/modal/modal.component.d.ts +6 -2
  333. package/modal/modal.module.d.ts +2 -1
  334. package/modal/modal.scss +14 -2
  335. package/modal/modal.type.d.ts +3 -3
  336. package/navbar/navbar-item.component.d.ts +3 -3
  337. package/navbar/navbar-item.scss +5 -0
  338. package/navbar/navbar.component.d.ts +7 -4
  339. package/navbar/vertical-navbar.component.d.ts +5 -3
  340. package/package.json +148 -237
  341. package/popover/popover-confirm.component.d.ts +1 -1
  342. package/popover/popover.component.d.ts +1 -1
  343. package/prebuilt-themes/dark-theme.css +1 -1
  344. package/prebuilt-themes/default-theme.css +1 -1
  345. package/prebuilt-visual/default-visual.css +1 -1
  346. package/progress-bar/progress-bar.component.d.ts +2 -2
  347. package/progress-spinner/progress-spinner.component.d.ts +3 -3
  348. package/radio/_radio-theme.scss +4 -0
  349. package/radio/radio.component.d.ts +2 -2
  350. package/select/select.component.d.ts +12 -9
  351. package/select/select.scss +1 -1
  352. package/sidebar/sidebar.component.d.ts +3 -3
  353. package/sidepanel/sidepanel-directives.d.ts +2 -2
  354. package/splitter/splitter.component.d.ts +3 -3
  355. package/tabs/paginated-tab-header.d.ts +3 -3
  356. package/tabs/tab-body.component.d.ts +3 -3
  357. package/tabs/tab-group.component.d.ts +2 -2
  358. package/tabs/tab-header.component.d.ts +2 -2
  359. package/tabs/tab-label-wrapper.directive.d.ts +1 -1
  360. package/tabs/tab-nav-bar/tab-nav-bar.d.ts +1 -1
  361. package/tabs/tab.component.d.ts +1 -1
  362. package/tags/tag-input.d.ts +1 -1
  363. package/tags/tag-list.component.d.ts +1 -1
  364. package/tags/tag.component.d.ts +1 -1
  365. package/textarea/textarea.component.d.ts +1 -1
  366. package/timepicker/timepicker.directive.d.ts +1 -1
  367. package/timezone/timezone-option.component.d.ts +1 -1
  368. package/toast/toast.type.d.ts +1 -1
  369. package/toggle/toggle.component.d.ts +2 -2
  370. package/tooltip/tooltip.component.d.ts +3 -3
  371. package/tree/node.d.ts +1 -1
  372. package/tree/padding.directive.d.ts +1 -1
  373. package/tree/toggle.d.ts +2 -2
  374. package/tree/tree-base.d.ts +1 -1
  375. package/tree/tree-option.component.d.ts +1 -1
  376. package/tree/tree-option.scss +4 -2
  377. package/tree/tree-selection.component.d.ts +1 -1
  378. package/tree-select/tree-select.component.d.ts +1 -1
  379. package/esm2020/autocomplete/autocomplete-trigger.directive.mjs +0 -552
  380. package/esm2020/button/button.component.mjs +0 -148
  381. package/esm2020/button-toggle/button-toggle.component.mjs +0 -381
  382. package/esm2020/card/card.component.mjs +0 -80
  383. package/esm2020/checkbox/checkbox.mjs +0 -300
  384. package/esm2020/code-block/code-block.component.mjs +0 -157
  385. package/esm2020/code-block/code-block.module.mjs +0 -60
  386. package/esm2020/core/common-behaviors/color.mjs +0 -33
  387. package/esm2020/core/formatters/index.mjs +0 -78
  388. package/esm2020/core/formatters/number/formatter.mjs +0 -129
  389. package/esm2020/core/locales/en-US.mjs +0 -10
  390. package/esm2020/core/locales/es-LA.mjs +0 -6
  391. package/esm2020/core/locales/fa-IR.mjs +0 -6
  392. package/esm2020/core/locales/pt-BR.mjs +0 -6
  393. package/esm2020/core/locales/ru-RU.mjs +0 -10
  394. package/esm2020/core/locales/zh-CN.mjs +0 -6
  395. package/esm2020/core/option/option.mjs +0 -262
  396. package/esm2020/core/overlay/overlay-position-map.mjs +0 -245
  397. package/esm2020/core/pop-up/pop-up-trigger.mjs +0 -247
  398. package/esm2020/core/services/measure-scrollbar.service.mjs +0 -48
  399. package/esm2020/datepicker/calendar-header.component.mjs +0 -134
  400. package/esm2020/datepicker/calendar.component.mjs +0 -175
  401. package/esm2020/datepicker/datepicker-input.directive.mjs +0 -954
  402. package/esm2020/datepicker/datepicker-toggle.component.mjs +0 -86
  403. package/esm2020/datepicker/datepicker.component.mjs +0 -393
  404. package/esm2020/datepicker/month-view.component.mjs +0 -158
  405. package/esm2020/dropdown/dropdown-trigger.directive.mjs +0 -489
  406. package/esm2020/dropdown/dropdown.component.mjs +0 -292
  407. package/esm2020/ellipsis-center/ellipsis-center.directive.mjs +0 -106
  408. package/esm2020/file-upload/multiple-file-upload.component.mjs +0 -161
  409. package/esm2020/file-upload/single-file-upload.component.mjs +0 -130
  410. package/esm2020/form-field/form-field.mjs +0 -267
  411. package/esm2020/form-field/password-hint.mjs +0 -146
  412. package/esm2020/form-field/validate.directive.mjs +0 -158
  413. package/esm2020/input/input-number.mjs +0 -168
  414. package/esm2020/input/input-password.mjs +0 -343
  415. package/esm2020/input/input.mjs +0 -297
  416. package/esm2020/link/link.component.mjs +0 -122
  417. package/esm2020/list/list-selection.component.mjs +0 -705
  418. package/esm2020/loader-overlay/loader-overlay.component.mjs +0 -103
  419. package/esm2020/modal/modal-control.service.mjs +0 -85
  420. package/esm2020/modal/modal.component.mjs +0 -510
  421. package/esm2020/modal/modal.module.mjs +0 -71
  422. package/esm2020/modal/modal.service.mjs +0 -124
  423. package/esm2020/navbar/navbar-item.component.mjs +0 -606
  424. package/esm2020/navbar/navbar.component.mjs +0 -239
  425. package/esm2020/navbar/vertical-navbar.component.mjs +0 -114
  426. package/esm2020/popover/popover-confirm.component.mjs +0 -108
  427. package/esm2020/popover/popover.component.mjs +0 -266
  428. package/esm2020/radio/radio.component.mjs +0 -457
  429. package/esm2020/select/select-option.directive.mjs +0 -65
  430. package/esm2020/select/select.component.mjs +0 -1146
  431. package/esm2020/sidebar/sidebar.component.mjs +0 -146
  432. package/esm2020/sidepanel/sidepanel-container.component.mjs +0 -110
  433. package/esm2020/splitter/splitter.component.mjs +0 -482
  434. package/esm2020/tabs/paginated-tab-header.mjs +0 -488
  435. package/esm2020/tabs/tab-body.component.mjs +0 -179
  436. package/esm2020/tabs/tab-group.component.mjs +0 -349
  437. package/esm2020/tabs/tab-nav-bar/tab-nav-bar.mjs +0 -111
  438. package/esm2020/tags/tag-input.mjs +0 -250
  439. package/esm2020/tags/tag-list.component.mjs +0 -718
  440. package/esm2020/tags/tag.component.mjs +0 -381
  441. package/esm2020/tags/tag.module.mjs +0 -56
  442. package/esm2020/textarea/textarea.component.mjs +0 -254
  443. package/esm2020/timepicker/timepicker.directive.mjs +0 -647
  444. package/esm2020/timezone/timezone-option.component.mjs +0 -48
  445. package/esm2020/timezone/timezone-select.component.mjs +0 -40
  446. package/esm2020/title/title.directive.mjs +0 -107
  447. package/esm2020/toast/toast.component.mjs +0 -92
  448. package/esm2020/toast/toast.module.mjs +0 -42
  449. package/esm2020/toast/toast.service.mjs +0 -188
  450. package/esm2020/toggle/toggle.component.mjs +0 -156
  451. package/esm2020/tooltip/tooltip.component.mjs +0 -299
  452. package/esm2020/tree/data-source/flat-data-source.mjs +0 -162
  453. package/esm2020/tree/padding.directive.mjs +0 -113
  454. package/esm2020/tree/toggle.mjs +0 -81
  455. package/esm2020/tree/tree-base.mjs +0 -243
  456. package/esm2020/tree/tree-option.component.mjs +0 -300
  457. package/esm2020/tree/tree-selection.component.mjs +0 -557
  458. package/esm2020/tree-select/tree-select.component.mjs +0 -936
  459. package/fesm2015/ptsecurity-mosaic-autocomplete.mjs +0 -753
  460. package/fesm2015/ptsecurity-mosaic-autocomplete.mjs.map +0 -1
  461. package/fesm2015/ptsecurity-mosaic-button-toggle.mjs +0 -405
  462. package/fesm2015/ptsecurity-mosaic-button-toggle.mjs.map +0 -1
  463. package/fesm2015/ptsecurity-mosaic-button.mjs +0 -193
  464. package/fesm2015/ptsecurity-mosaic-button.mjs.map +0 -1
  465. package/fesm2015/ptsecurity-mosaic-card.mjs +0 -111
  466. package/fesm2015/ptsecurity-mosaic-card.mjs.map +0 -1
  467. package/fesm2015/ptsecurity-mosaic-checkbox.mjs +0 -351
  468. package/fesm2015/ptsecurity-mosaic-checkbox.mjs.map +0 -1
  469. package/fesm2015/ptsecurity-mosaic-code-block.mjs +0 -280
  470. package/fesm2015/ptsecurity-mosaic-code-block.mjs.map +0 -1
  471. package/fesm2015/ptsecurity-mosaic-core.mjs +0 -2314
  472. package/fesm2015/ptsecurity-mosaic-core.mjs.map +0 -1
  473. package/fesm2015/ptsecurity-mosaic-datepicker.mjs +0 -2112
  474. package/fesm2015/ptsecurity-mosaic-datepicker.mjs.map +0 -1
  475. package/fesm2015/ptsecurity-mosaic-divider.mjs +0 -61
  476. package/fesm2015/ptsecurity-mosaic-divider.mjs.map +0 -1
  477. package/fesm2015/ptsecurity-mosaic-dl.mjs +0 -126
  478. package/fesm2015/ptsecurity-mosaic-dl.mjs.map +0 -1
  479. package/fesm2015/ptsecurity-mosaic-dropdown.mjs +0 -1115
  480. package/fesm2015/ptsecurity-mosaic-dropdown.mjs.map +0 -1
  481. package/fesm2015/ptsecurity-mosaic-ellipsis-center.mjs +0 -113
  482. package/fesm2015/ptsecurity-mosaic-ellipsis-center.mjs.map +0 -1
  483. package/fesm2015/ptsecurity-mosaic-file-upload.mjs +0 -392
  484. package/fesm2015/ptsecurity-mosaic-file-upload.mjs.map +0 -1
  485. package/fesm2015/ptsecurity-mosaic-form-field.mjs +0 -772
  486. package/fesm2015/ptsecurity-mosaic-form-field.mjs.map +0 -1
  487. package/fesm2015/ptsecurity-mosaic-icon.mjs +0 -86
  488. package/fesm2015/ptsecurity-mosaic-icon.mjs.map +0 -1
  489. package/fesm2015/ptsecurity-mosaic-input.mjs +0 -951
  490. package/fesm2015/ptsecurity-mosaic-input.mjs.map +0 -1
  491. package/fesm2015/ptsecurity-mosaic-link.mjs +0 -150
  492. package/fesm2015/ptsecurity-mosaic-link.mjs.map +0 -1
  493. package/fesm2015/ptsecurity-mosaic-list.mjs +0 -807
  494. package/fesm2015/ptsecurity-mosaic-list.mjs.map +0 -1
  495. package/fesm2015/ptsecurity-mosaic-loader-overlay.mjs +0 -157
  496. package/fesm2015/ptsecurity-mosaic-markdown.mjs +0 -128
  497. package/fesm2015/ptsecurity-mosaic-markdown.mjs.map +0 -1
  498. package/fesm2015/ptsecurity-mosaic-modal.mjs +0 -875
  499. package/fesm2015/ptsecurity-mosaic-modal.mjs.map +0 -1
  500. package/fesm2015/ptsecurity-mosaic-navbar.mjs +0 -1055
  501. package/fesm2015/ptsecurity-mosaic-navbar.mjs.map +0 -1
  502. package/fesm2015/ptsecurity-mosaic-popover.mjs +0 -411
  503. package/fesm2015/ptsecurity-mosaic-popover.mjs.map +0 -1
  504. package/fesm2015/ptsecurity-mosaic-progress-bar.mjs +0 -74
  505. package/fesm2015/ptsecurity-mosaic-progress-bar.mjs.map +0 -1
  506. package/fesm2015/ptsecurity-mosaic-progress-spinner.mjs +0 -93
  507. package/fesm2015/ptsecurity-mosaic-progress-spinner.mjs.map +0 -1
  508. package/fesm2015/ptsecurity-mosaic-radio.mjs +0 -481
  509. package/fesm2015/ptsecurity-mosaic-select.mjs +0 -1286
  510. package/fesm2015/ptsecurity-mosaic-select.mjs.map +0 -1
  511. package/fesm2015/ptsecurity-mosaic-sidebar.mjs +0 -202
  512. package/fesm2015/ptsecurity-mosaic-sidebar.mjs.map +0 -1
  513. package/fesm2015/ptsecurity-mosaic-sidepanel.mjs +0 -622
  514. package/fesm2015/ptsecurity-mosaic-sidepanel.mjs.map +0 -1
  515. package/fesm2015/ptsecurity-mosaic-splitter.mjs.map +0 -1
  516. package/fesm2015/ptsecurity-mosaic-table.mjs +0 -45
  517. package/fesm2015/ptsecurity-mosaic-table.mjs.map +0 -1
  518. package/fesm2015/ptsecurity-mosaic-tabs.mjs +0 -1523
  519. package/fesm2015/ptsecurity-mosaic-tabs.mjs.map +0 -1
  520. package/fesm2015/ptsecurity-mosaic-tags.mjs +0 -1397
  521. package/fesm2015/ptsecurity-mosaic-tags.mjs.map +0 -1
  522. package/fesm2015/ptsecurity-mosaic-textarea.mjs +0 -280
  523. package/fesm2015/ptsecurity-mosaic-timepicker.mjs +0 -708
  524. package/fesm2015/ptsecurity-mosaic-timepicker.mjs.map +0 -1
  525. package/fesm2015/ptsecurity-mosaic-timezone.mjs +0 -316
  526. package/fesm2015/ptsecurity-mosaic-timezone.mjs.map +0 -1
  527. package/fesm2015/ptsecurity-mosaic-title.mjs +0 -128
  528. package/fesm2015/ptsecurity-mosaic-title.mjs.map +0 -1
  529. package/fesm2015/ptsecurity-mosaic-toast.mjs +0 -379
  530. package/fesm2015/ptsecurity-mosaic-toast.mjs.map +0 -1
  531. package/fesm2015/ptsecurity-mosaic-toggle.mjs +0 -178
  532. package/fesm2015/ptsecurity-mosaic-toggle.mjs.map +0 -1
  533. package/fesm2015/ptsecurity-mosaic-tooltip.mjs +0 -369
  534. package/fesm2015/ptsecurity-mosaic-tooltip.mjs.map +0 -1
  535. package/fesm2015/ptsecurity-mosaic-tree-select.mjs +0 -983
  536. package/fesm2015/ptsecurity-mosaic-tree-select.mjs.map +0 -1
  537. package/fesm2015/ptsecurity-mosaic-tree.mjs +0 -1816
  538. package/fesm2015/ptsecurity-mosaic-tree.mjs.map +0 -1
  539. package/fesm2020/ptsecurity-mosaic-autocomplete.mjs.map +0 -1
  540. package/fesm2020/ptsecurity-mosaic-core.mjs.map +0 -1
  541. package/fesm2020/ptsecurity-mosaic-datepicker.mjs.map +0 -1
  542. package/fesm2020/ptsecurity-mosaic-file-upload.mjs.map +0 -1
  543. package/fesm2020/ptsecurity-mosaic-form-field.mjs.map +0 -1
  544. package/fesm2020/ptsecurity-mosaic-icon.mjs.map +0 -1
  545. package/fesm2020/ptsecurity-mosaic-input.mjs.map +0 -1
  546. package/fesm2020/ptsecurity-mosaic-loader-overlay.mjs +0 -155
  547. package/fesm2020/ptsecurity-mosaic-loader-overlay.mjs.map +0 -1
  548. package/fesm2020/ptsecurity-mosaic-modal.mjs.map +0 -1
  549. package/fesm2020/ptsecurity-mosaic-navbar.mjs.map +0 -1
  550. package/fesm2020/ptsecurity-mosaic-popover.mjs.map +0 -1
  551. package/fesm2020/ptsecurity-mosaic-radio.mjs.map +0 -1
  552. package/fesm2020/ptsecurity-mosaic-select.mjs.map +0 -1
  553. package/fesm2020/ptsecurity-mosaic-splitter.mjs +0 -524
  554. package/fesm2020/ptsecurity-mosaic-table.mjs +0 -45
  555. package/fesm2020/ptsecurity-mosaic-table.mjs.map +0 -1
  556. package/fesm2020/ptsecurity-mosaic-tabs.mjs.map +0 -1
  557. package/fesm2020/ptsecurity-mosaic-textarea.mjs.map +0 -1
  558. package/fesm2020/ptsecurity-mosaic-timezone.mjs.map +0 -1
  559. package/fesm2020/ptsecurity-mosaic-title.mjs.map +0 -1
  560. package/fesm2020/ptsecurity-mosaic-tree-select.mjs.map +0 -1
  561. package/fesm2020/ptsecurity-mosaic-tree.mjs.map +0 -1
  562. package/fesm2020/ptsecurity-mosaic.mjs +0 -4
  563. package/fesm2020/ptsecurity-mosaic.mjs.map +0 -1
  564. /package/{esm2020 → esm2022}/autocomplete/index.mjs +0 -0
  565. /package/{esm2020 → esm2022}/autocomplete/ptsecurity-mosaic-autocomplete.mjs +0 -0
  566. /package/{esm2020 → esm2022}/autocomplete/public-api.mjs +0 -0
  567. /package/{esm2020 → esm2022}/button/index.mjs +0 -0
  568. /package/{esm2020 → esm2022}/button/ptsecurity-mosaic-button.mjs +0 -0
  569. /package/{esm2020 → esm2022}/button/public-api.mjs +0 -0
  570. /package/{esm2020 → esm2022}/button-toggle/index.mjs +0 -0
  571. /package/{esm2020 → esm2022}/button-toggle/ptsecurity-mosaic-button-toggle.mjs +0 -0
  572. /package/{esm2020 → esm2022}/button-toggle/public-api.mjs +0 -0
  573. /package/{esm2020 → esm2022}/card/index.mjs +0 -0
  574. /package/{esm2020 → esm2022}/card/ptsecurity-mosaic-card.mjs +0 -0
  575. /package/{esm2020 → esm2022}/card/public-api.mjs +0 -0
  576. /package/{esm2020 → esm2022}/checkbox/checkbox-config.mjs +0 -0
  577. /package/{esm2020 → esm2022}/checkbox/index.mjs +0 -0
  578. /package/{esm2020 → esm2022}/checkbox/ptsecurity-mosaic-checkbox.mjs +0 -0
  579. /package/{esm2020 → esm2022}/checkbox/public-api.mjs +0 -0
  580. /package/{esm2020 → esm2022}/code-block/code-block.types.mjs +0 -0
  581. /package/{esm2020 → esm2022}/code-block/index.mjs +0 -0
  582. /package/{esm2020 → esm2022}/code-block/ptsecurity-mosaic-code-block.mjs +0 -0
  583. /package/{esm2020 → esm2022}/code-block/public-api.mjs +0 -0
  584. /package/{esm2020 → esm2022}/core/animation/animation.mjs +0 -0
  585. /package/{esm2020 → esm2022}/core/animation/fade-animations.mjs +0 -0
  586. /package/{esm2020 → esm2022}/core/animation/index.mjs +0 -0
  587. /package/{esm2020 → esm2022}/core/animation/select-animations.mjs +0 -0
  588. /package/{esm2020 → esm2022}/core/common-behaviors/constructor.mjs +0 -0
  589. /package/{esm2020 → esm2022}/core/common-behaviors/error-state.mjs +0 -0
  590. /package/{esm2020 → esm2022}/core/common-behaviors/index.mjs +0 -0
  591. /package/{esm2020 → esm2022}/core/datetime/date-adapter.mjs +0 -0
  592. /package/{esm2020 → esm2022}/core/datetime/date-formats.mjs +0 -0
  593. /package/{esm2020 → esm2022}/core/datetime/index.mjs +0 -0
  594. /package/{esm2020 → esm2022}/core/forms/index.mjs +0 -0
  595. /package/{esm2020 → esm2022}/core/index.mjs +0 -0
  596. /package/{esm2020 → esm2022}/core/label/label-options.mjs +0 -0
  597. /package/{esm2020 → esm2022}/core/locales/index.mjs +0 -0
  598. /package/{esm2020 → esm2022}/core/option/index.mjs +0 -0
  599. /package/{esm2020 → esm2022}/core/pop-up/index.mjs +0 -0
  600. /package/{esm2020 → esm2022}/core/ptsecurity-mosaic-core.mjs +0 -0
  601. /package/{esm2020 → esm2022}/core/public-api.mjs +0 -0
  602. /package/{esm2020 → esm2022}/core/select/constants.mjs +0 -0
  603. /package/{esm2020 → esm2022}/core/select/errors.mjs +0 -0
  604. /package/{esm2020 → esm2022}/core/select/events.mjs +0 -0
  605. /package/{esm2020 → esm2022}/core/select/index.mjs +0 -0
  606. /package/{esm2020 → esm2022}/core/selection/constants.mjs +0 -0
  607. /package/{esm2020 → esm2022}/core/selection/index.mjs +0 -0
  608. /package/{esm2020 → esm2022}/core/title/index.mjs +0 -0
  609. /package/{esm2020 → esm2022}/core/title/title-text-ref.mjs +0 -0
  610. /package/{esm2020 → esm2022}/core/utils/data-size/config.mjs +0 -0
  611. /package/{esm2020 → esm2022}/core/utils/data-size/index.mjs +0 -0
  612. /package/{esm2020 → esm2022}/core/utils/data-size/size.mjs +0 -0
  613. /package/{esm2020 → esm2022}/core/utils/index.mjs +0 -0
  614. /package/{esm2020 → esm2022}/core/utils/public-api.mjs +0 -0
  615. /package/{esm2020 → esm2022}/core/utils/utils.mjs +0 -0
  616. /package/{esm2020 → esm2022}/core/validation/index.mjs +0 -0
  617. /package/{esm2020 → esm2022}/core/validation/validation.mjs +0 -0
  618. /package/{esm2020 → esm2022}/datepicker/datepicker-animations.mjs +0 -0
  619. /package/{esm2020 → esm2022}/datepicker/datepicker-errors.mjs +0 -0
  620. /package/{esm2020 → esm2022}/datepicker/index.mjs +0 -0
  621. /package/{esm2020 → esm2022}/datepicker/ptsecurity-mosaic-datepicker.mjs +0 -0
  622. /package/{esm2020 → esm2022}/datepicker/public-api.mjs +0 -0
  623. /package/{esm2020 → esm2022}/divider/index.mjs +0 -0
  624. /package/{esm2020 → esm2022}/divider/ptsecurity-mosaic-divider.mjs +0 -0
  625. /package/{esm2020 → esm2022}/divider/public-api.mjs +0 -0
  626. /package/{esm2020 → esm2022}/dl/index.mjs +0 -0
  627. /package/{esm2020 → esm2022}/dl/ptsecurity-mosaic-dl.mjs +0 -0
  628. /package/{esm2020 → esm2022}/dl/public-api.mjs +0 -0
  629. /package/{esm2020 → esm2022}/dropdown/dropdown-animations.mjs +0 -0
  630. /package/{esm2020 → esm2022}/dropdown/dropdown-errors.mjs +0 -0
  631. /package/{esm2020 → esm2022}/dropdown/dropdown.types.mjs +0 -0
  632. /package/{esm2020 → esm2022}/dropdown/index.mjs +0 -0
  633. /package/{esm2020 → esm2022}/dropdown/ptsecurity-mosaic-dropdown.mjs +0 -0
  634. /package/{esm2020 → esm2022}/dropdown/public-api.mjs +0 -0
  635. /package/{esm2020 → esm2022}/ellipsis-center/index.mjs +0 -0
  636. /package/{esm2020 → esm2022}/ellipsis-center/ptsecurity-mosaic-ellipsis-center.mjs +0 -0
  637. /package/{esm2020 → esm2022}/ellipsis-center/public-api.mjs +0 -0
  638. /package/{esm2020 → esm2022}/file-upload/file-upload.mjs +0 -0
  639. /package/{esm2020 → esm2022}/file-upload/index.mjs +0 -0
  640. /package/{esm2020 → esm2022}/file-upload/ptsecurity-mosaic-file-upload.mjs +0 -0
  641. /package/{esm2020 → esm2022}/file-upload/public-api.mjs +0 -0
  642. /package/{esm2020 → esm2022}/form-field/form-field-control.mjs +0 -0
  643. /package/{esm2020 → esm2022}/form-field/form-field-errors.mjs +0 -0
  644. /package/{esm2020 → esm2022}/form-field/index.mjs +0 -0
  645. /package/{esm2020 → esm2022}/form-field/ptsecurity-mosaic-form-field.mjs +0 -0
  646. /package/{esm2020 → esm2022}/form-field/public-api.mjs +0 -0
  647. /package/{esm2020 → esm2022}/icon/index.mjs +0 -0
  648. /package/{esm2020 → esm2022}/icon/ptsecurity-mosaic-icon.mjs +0 -0
  649. /package/{esm2020 → esm2022}/icon/public-api.mjs +0 -0
  650. /package/{esm2020 → esm2022}/index.mjs +0 -0
  651. /package/{esm2020 → esm2022}/input/index.mjs +0 -0
  652. /package/{esm2020 → esm2022}/input/input-errors.mjs +0 -0
  653. /package/{esm2020 → esm2022}/input/input-value-accessor.mjs +0 -0
  654. /package/{esm2020 → esm2022}/input/ptsecurity-mosaic-input.mjs +0 -0
  655. /package/{esm2020 → esm2022}/input/public-api.mjs +0 -0
  656. /package/{esm2020 → esm2022}/link/index.mjs +0 -0
  657. /package/{esm2020 → esm2022}/link/ptsecurity-mosaic-link.mjs +0 -0
  658. /package/{esm2020 → esm2022}/link/public-api.mjs +0 -0
  659. /package/{esm2020 → esm2022}/list/index.mjs +0 -0
  660. /package/{esm2020 → esm2022}/list/ptsecurity-mosaic-list.mjs +0 -0
  661. /package/{esm2020 → esm2022}/list/public-api.mjs +0 -0
  662. /package/{esm2020 → esm2022}/loader-overlay/index.mjs +0 -0
  663. /package/{esm2020 → esm2022}/loader-overlay/ptsecurity-mosaic-loader-overlay.mjs +0 -0
  664. /package/{esm2020 → esm2022}/loader-overlay/public-api.mjs +0 -0
  665. /package/{esm2020 → esm2022}/markdown/index.mjs +0 -0
  666. /package/{esm2020 → esm2022}/markdown/markdown.values.mjs +0 -0
  667. /package/{esm2020 → esm2022}/markdown/ptsecurity-mosaic-markdown.mjs +0 -0
  668. /package/{esm2020 → esm2022}/markdown/public-api.mjs +0 -0
  669. /package/{esm2020 → esm2022}/modal/index.mjs +0 -0
  670. /package/{esm2020 → esm2022}/modal/modal-ref.class.mjs +0 -0
  671. /package/{esm2020 → esm2022}/modal/modal-util.mjs +0 -0
  672. /package/{esm2020 → esm2022}/modal/modal.type.mjs +0 -0
  673. /package/{esm2020 → esm2022}/modal/ptsecurity-mosaic-modal.mjs +0 -0
  674. /package/{esm2020 → esm2022}/modal/public-api.mjs +0 -0
  675. /package/{esm2020 → esm2022}/navbar/index.mjs +0 -0
  676. /package/{esm2020 → esm2022}/navbar/ptsecurity-mosaic-navbar.mjs +0 -0
  677. /package/{esm2020 → esm2022}/navbar/public-api.mjs +0 -0
  678. /package/{esm2020 → esm2022}/navbar/vertical-navbar.animation.mjs +0 -0
  679. /package/{esm2020 → esm2022}/popover/index.mjs +0 -0
  680. /package/{esm2020 → esm2022}/popover/popover-animations.mjs +0 -0
  681. /package/{esm2020 → esm2022}/popover/ptsecurity-mosaic-popover.mjs +0 -0
  682. /package/{esm2020 → esm2022}/popover/public-api.mjs +0 -0
  683. /package/{esm2020 → esm2022}/progress-bar/index.mjs +0 -0
  684. /package/{esm2020 → esm2022}/progress-bar/ptsecurity-mosaic-progress-bar.mjs +0 -0
  685. /package/{esm2020 → esm2022}/progress-bar/public-api.mjs +0 -0
  686. /package/{esm2020 → esm2022}/progress-spinner/index.mjs +0 -0
  687. /package/{esm2020 → esm2022}/progress-spinner/ptsecurity-mosaic-progress-spinner.mjs +0 -0
  688. /package/{esm2020 → esm2022}/progress-spinner/public-api.mjs +0 -0
  689. /package/{esm2020 → esm2022}/ptsecurity-mosaic.mjs +0 -0
  690. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
  691. /package/{esm2020 → esm2022}/radio/index.mjs +0 -0
  692. /package/{esm2020 → esm2022}/radio/ptsecurity-mosaic-radio.mjs +0 -0
  693. /package/{esm2020 → esm2022}/radio/public-api.mjs +0 -0
  694. /package/{esm2020 → esm2022}/select/index.mjs +0 -0
  695. /package/{esm2020 → esm2022}/select/ptsecurity-mosaic-select.mjs +0 -0
  696. /package/{esm2020 → esm2022}/select/public-api.mjs +0 -0
  697. /package/{esm2020 → esm2022}/sidebar/index.mjs +0 -0
  698. /package/{esm2020 → esm2022}/sidebar/ptsecurity-mosaic-sidebar.mjs +0 -0
  699. /package/{esm2020 → esm2022}/sidebar/public-api.mjs +0 -0
  700. /package/{esm2020 → esm2022}/sidebar/sidebar-animations.mjs +0 -0
  701. /package/{esm2020 → esm2022}/sidepanel/index.mjs +0 -0
  702. /package/{esm2020 → esm2022}/sidepanel/ptsecurity-mosaic-sidepanel.mjs +0 -0
  703. /package/{esm2020 → esm2022}/sidepanel/public-api.mjs +0 -0
  704. /package/{esm2020 → esm2022}/sidepanel/sidepanel-animations.mjs +0 -0
  705. /package/{esm2020 → esm2022}/sidepanel/sidepanel-config.mjs +0 -0
  706. /package/{esm2020 → esm2022}/sidepanel/sidepanel-ref.mjs +0 -0
  707. /package/{esm2020 → esm2022}/splitter/index.mjs +0 -0
  708. /package/{esm2020 → esm2022}/splitter/ptsecurity-mosaic-splitter.mjs +0 -0
  709. /package/{esm2020 → esm2022}/splitter/public-api.mjs +0 -0
  710. /package/{esm2020 → esm2022}/table/index.mjs +0 -0
  711. /package/{esm2020 → esm2022}/table/ptsecurity-mosaic-table.mjs +0 -0
  712. /package/{esm2020 → esm2022}/table/public-api.mjs +0 -0
  713. /package/{esm2020 → esm2022}/tabs/index.mjs +0 -0
  714. /package/{esm2020 → esm2022}/tabs/ptsecurity-mosaic-tabs.mjs +0 -0
  715. /package/{esm2020 → esm2022}/tabs/public-api.mjs +0 -0
  716. /package/{esm2020 → esm2022}/tabs/tab-nav-bar/index.mjs +0 -0
  717. /package/{esm2020 → esm2022}/tabs/tabs-animations.mjs +0 -0
  718. /package/{esm2020 → esm2022}/tags/index.mjs +0 -0
  719. /package/{esm2020 → esm2022}/tags/ptsecurity-mosaic-tags.mjs +0 -0
  720. /package/{esm2020 → esm2022}/tags/public-api.mjs +0 -0
  721. /package/{esm2020 → esm2022}/tags/tag-default-options.mjs +0 -0
  722. /package/{esm2020 → esm2022}/tags/tag-text-control.mjs +0 -0
  723. /package/{esm2020 → esm2022}/textarea/index.mjs +0 -0
  724. /package/{esm2020 → esm2022}/textarea/ptsecurity-mosaic-textarea.mjs +0 -0
  725. /package/{esm2020 → esm2022}/textarea/public-api.mjs +0 -0
  726. /package/{esm2020 → esm2022}/timepicker/index.mjs +0 -0
  727. /package/{esm2020 → esm2022}/timepicker/ptsecurity-mosaic-timepicker.mjs +0 -0
  728. /package/{esm2020 → esm2022}/timepicker/public-api.mjs +0 -0
  729. /package/{esm2020 → esm2022}/timepicker/timepicker.constants.mjs +0 -0
  730. /package/{esm2020 → esm2022}/timezone/index.mjs +0 -0
  731. /package/{esm2020 → esm2022}/timezone/ptsecurity-mosaic-timezone.mjs +0 -0
  732. /package/{esm2020 → esm2022}/timezone/public-api.mjs +0 -0
  733. /package/{esm2020 → esm2022}/timezone/timezone.models.mjs +0 -0
  734. /package/{esm2020 → esm2022}/timezone/timezone.utils.mjs +0 -0
  735. /package/{esm2020 → esm2022}/title/index.mjs +0 -0
  736. /package/{esm2020 → esm2022}/title/ptsecurity-mosaic-title.mjs +0 -0
  737. /package/{esm2020 → esm2022}/title/public-api.mjs +0 -0
  738. /package/{esm2020 → esm2022}/toast/index.mjs +0 -0
  739. /package/{esm2020 → esm2022}/toast/ptsecurity-mosaic-toast.mjs +0 -0
  740. /package/{esm2020 → esm2022}/toast/public-api.mjs +0 -0
  741. /package/{esm2020 → esm2022}/toast/toast-animations.mjs +0 -0
  742. /package/{esm2020 → esm2022}/toast/toast.type.mjs +0 -0
  743. /package/{esm2020 → esm2022}/toggle/index.mjs +0 -0
  744. /package/{esm2020 → esm2022}/toggle/ptsecurity-mosaic-toggle.mjs +0 -0
  745. /package/{esm2020 → esm2022}/toggle/public-api.mjs +0 -0
  746. /package/{esm2020 → esm2022}/tooltip/index.mjs +0 -0
  747. /package/{esm2020 → esm2022}/tooltip/ptsecurity-mosaic-tooltip.mjs +0 -0
  748. /package/{esm2020 → esm2022}/tooltip/public-api.mjs +0 -0
  749. /package/{esm2020 → esm2022}/tooltip/tooltip.animations.mjs +0 -0
  750. /package/{esm2020 → esm2022}/tree/control/base-tree-control.mjs +0 -0
  751. /package/{esm2020 → esm2022}/tree/control/flat-tree-control.mjs +0 -0
  752. /package/{esm2020 → esm2022}/tree/control/nested-tree-control.mjs +0 -0
  753. /package/{esm2020 → esm2022}/tree/control/tree-control.mjs +0 -0
  754. /package/{esm2020 → esm2022}/tree/data-source/nested-data-source.mjs +0 -0
  755. /package/{esm2020 → esm2022}/tree/index.mjs +0 -0
  756. /package/{esm2020 → esm2022}/tree/ptsecurity-mosaic-tree.mjs +0 -0
  757. /package/{esm2020 → esm2022}/tree/public-api.mjs +0 -0
  758. /package/{esm2020 → esm2022}/tree/tree-errors.mjs +0 -0
  759. /package/{esm2020 → esm2022}/tree-select/index.mjs +0 -0
  760. /package/{esm2020 → esm2022}/tree-select/ptsecurity-mosaic-tree-select.mjs +0 -0
  761. /package/{esm2020 → esm2022}/tree-select/public-api.mjs +0 -0
  762. /package/{fesm2015 → fesm2022}/ptsecurity-mosaic.mjs +0 -0
  763. /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