@ptsecurity/mosaic 12.3.0 → 13.1.1

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