@ptsecurity/mosaic 15.5.0 → 16.0.0

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