@ptsecurity/mosaic 15.6.0 → 16.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (763) hide show
  1. package/_theming.scss +28 -1
  2. package/_visual.scss +3 -1
  3. package/autocomplete/autocomplete-trigger.directive.d.ts +6 -16
  4. package/autocomplete/autocomplete.component.d.ts +1 -1
  5. package/button/button.component.d.ts +1 -1
  6. package/button-toggle/button-toggle.component.d.ts +3 -3
  7. package/card/card.component.d.ts +1 -1
  8. package/checkbox/_checkbox-theme.scss +4 -0
  9. package/checkbox/checkbox-config.d.ts +1 -1
  10. package/checkbox/checkbox.d.ts +1 -1
  11. package/code-block/_code-block-theme.scss +8 -0
  12. package/code-block/actionbar.component.d.ts +1 -1
  13. package/code-block/code-block.component.d.ts +1 -1
  14. package/core/common-behaviors/color.d.ts +1 -1
  15. package/core/common-behaviors/constructor.d.ts +2 -2
  16. package/core/common-behaviors/disabled.d.ts +1 -1
  17. package/core/common-behaviors/error-state.d.ts +1 -1
  18. package/core/common-behaviors/tabindex.d.ts +1 -1
  19. package/core/datetime/date-formats.d.ts +1 -1
  20. package/core/formatters/index.d.ts +1 -1
  21. package/core/formatters/number/formatter.d.ts +55 -0
  22. package/core/label/label-options.d.ts +1 -1
  23. package/core/locales/en-US.d.ts +19 -1
  24. package/core/locales/es-LA.d.ts +27 -0
  25. package/core/locales/fa-IR.d.ts +28 -0
  26. package/core/locales/locale-service.d.ts +148 -3
  27. package/core/locales/pt-BR.d.ts +27 -0
  28. package/core/locales/ru-RU.d.ts +20 -1
  29. package/core/locales/zh-CN.d.ts +26 -0
  30. package/core/option/action.d.ts +1 -1
  31. package/core/option/optgroup.d.ts +1 -1
  32. package/core/option/option.d.ts +37 -8
  33. package/core/overlay/overlay-position-map.d.ts +7 -1
  34. package/core/pop-up/constants.d.ts +2 -1
  35. package/core/selection/pseudo-checkbox/pseudo-checkbox.d.ts +2 -2
  36. package/core/styles/_variables.scss +1 -0
  37. package/core/styles/theming/_theming.scss +1 -0
  38. package/datepicker/calendar-body.component.d.ts +2 -2
  39. package/datepicker/calendar-header.component.d.ts +9 -3
  40. package/datepicker/calendar.component.d.ts +4 -5
  41. package/datepicker/datepicker-input.directive.d.ts +1 -1
  42. package/datepicker/datepicker-toggle.component.d.ts +1 -1
  43. package/datepicker/datepicker.component.d.ts +1 -1
  44. package/datepicker/month-view.component.d.ts +4 -5
  45. package/divider/divider.component.d.ts +1 -1
  46. package/dl/dl.component.d.ts +1 -1
  47. package/dropdown/dropdown-item.component.d.ts +1 -1
  48. package/dropdown/dropdown-trigger.directive.d.ts +1 -1
  49. package/dropdown/dropdown.component.d.ts +1 -1
  50. package/dropdown/dropdown.scss +6 -6
  51. package/dropdown/dropdown.types.d.ts +3 -3
  52. package/ellipsis-center/ellipsis-center.directive.d.ts +1 -1
  53. package/{esm2020 → esm2022}/autocomplete/autocomplete-origin.directive.mjs +4 -4
  54. package/esm2022/autocomplete/autocomplete-trigger.directive.mjs +555 -0
  55. package/{esm2020 → esm2022}/autocomplete/autocomplete.component.mjs +26 -26
  56. package/{esm2020 → esm2022}/autocomplete/autocomplete.module.mjs +10 -10
  57. package/esm2022/button/button.component.mjs +148 -0
  58. package/{esm2020 → esm2022}/button/button.module.mjs +13 -13
  59. package/esm2022/button-toggle/button-toggle.component.mjs +381 -0
  60. package/{esm2020 → esm2022}/button-toggle/button-toggle.module.mjs +5 -5
  61. package/esm2022/card/card.component.mjs +80 -0
  62. package/{esm2020 → esm2022}/card/card.module.mjs +9 -9
  63. package/{esm2020 → esm2022}/checkbox/checkbox-module.mjs +5 -5
  64. package/{esm2020 → esm2022}/checkbox/checkbox-required-validator.mjs +4 -4
  65. package/esm2022/checkbox/checkbox.mjs +300 -0
  66. package/{esm2020 → esm2022}/code-block/actionbar.component.mjs +4 -4
  67. package/esm2022/code-block/code-block.component.mjs +157 -0
  68. package/esm2022/code-block/code-block.module.mjs +60 -0
  69. package/esm2022/core/common-behaviors/color.mjs +33 -0
  70. package/{esm2020 → esm2022}/core/common-behaviors/common-module.mjs +5 -5
  71. package/{esm2020 → esm2022}/core/common-behaviors/disabled.mjs +6 -6
  72. package/{esm2020 → esm2022}/core/common-behaviors/tabindex.mjs +6 -6
  73. package/{esm2020 → esm2022}/core/error/error-options.mjs +7 -7
  74. package/{esm2020 → esm2022}/core/formatters/date/formatter.mjs +4 -4
  75. package/{esm2020 → esm2022}/core/formatters/date/formatter.pipe.mjs +40 -40
  76. package/esm2022/core/formatters/index.mjs +86 -0
  77. package/esm2022/core/formatters/number/formatter.mjs +350 -0
  78. package/{esm2020 → esm2022}/core/forms/forms-module.mjs +7 -7
  79. package/{esm2020 → esm2022}/core/forms/forms.directive.mjs +7 -7
  80. package/{esm2020 → esm2022}/core/highlight/highlight.pipe.mjs +4 -4
  81. package/{esm2020 → esm2022}/core/highlight/index.mjs +5 -5
  82. package/{esm2020 → esm2022}/core/line/line.mjs +8 -8
  83. package/esm2022/core/locales/en-US.mjs +28 -0
  84. package/esm2022/core/locales/es-LA.mjs +35 -0
  85. package/esm2022/core/locales/fa-IR.mjs +34 -0
  86. package/{esm2020 → esm2022}/core/locales/locale-service.mjs +7 -7
  87. package/{esm2020 → esm2022}/core/locales/locale-service.module.mjs +7 -7
  88. package/esm2022/core/locales/pt-BR.mjs +33 -0
  89. package/esm2022/core/locales/ru-RU.mjs +31 -0
  90. package/esm2022/core/locales/zh-CN.mjs +32 -0
  91. package/{esm2020 → esm2022}/core/option/action.mjs +9 -9
  92. package/{esm2020 → esm2022}/core/option/optgroup.mjs +4 -4
  93. package/{esm2020 → esm2022}/core/option/option-module.mjs +5 -5
  94. package/esm2022/core/option/option.mjs +299 -0
  95. package/esm2022/core/overlay/overlay-position-map.mjs +251 -0
  96. package/{esm2020 → esm2022}/core/pop-up/constants.mjs +2 -1
  97. package/esm2022/core/pop-up/pop-up-trigger.mjs +256 -0
  98. package/{esm2020 → esm2022}/core/pop-up/pop-up.mjs +4 -4
  99. package/{esm2020 → esm2022}/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +4 -4
  100. package/{esm2020 → esm2022}/core/selection/pseudo-checkbox/pseudo-checkbox.module.mjs +5 -5
  101. package/esm2022/core/services/measure-scrollbar.service.mjs +48 -0
  102. package/{esm2020 → esm2022}/core/utils/data-size/data-size.pipe.mjs +8 -8
  103. package/{esm2020 → esm2022}/core/version.mjs +2 -2
  104. package/{esm2020 → esm2022}/datepicker/calendar-body.component.mjs +4 -4
  105. package/esm2022/datepicker/calendar-header.component.mjs +135 -0
  106. package/esm2022/datepicker/calendar.component.mjs +166 -0
  107. package/esm2022/datepicker/datepicker-input.directive.mjs +963 -0
  108. package/{esm2020 → esm2022}/datepicker/datepicker-intl.mjs +4 -4
  109. package/{esm2020 → esm2022}/datepicker/datepicker-module.mjs +38 -38
  110. package/esm2022/datepicker/datepicker-toggle.component.mjs +86 -0
  111. package/esm2022/datepicker/datepicker.component.mjs +393 -0
  112. package/esm2022/datepicker/month-view.component.mjs +149 -0
  113. package/{esm2020 → esm2022}/divider/divider.component.mjs +4 -4
  114. package/{esm2020 → esm2022}/divider/divider.module.mjs +5 -5
  115. package/{esm2020 → esm2022}/dl/dl.component.mjs +10 -10
  116. package/{esm2020 → esm2022}/dl/dl.module.mjs +13 -13
  117. package/{esm2020 → esm2022}/dropdown/dropdown-content.directive.mjs +4 -4
  118. package/{esm2020 → esm2022}/dropdown/dropdown-item.component.mjs +6 -6
  119. package/esm2022/dropdown/dropdown-trigger.directive.mjs +489 -0
  120. package/esm2022/dropdown/dropdown.component.mjs +292 -0
  121. package/{esm2020 → esm2022}/dropdown/dropdown.module.mjs +15 -15
  122. package/esm2022/ellipsis-center/ellipsis-center.directive.mjs +106 -0
  123. package/{esm2020 → esm2022}/file-upload/file-drop.mjs +4 -4
  124. package/{esm2020 → esm2022}/file-upload/file-upload.module.mjs +25 -25
  125. package/esm2022/file-upload/multiple-file-upload.component.mjs +165 -0
  126. package/esm2022/file-upload/single-file-upload.component.mjs +134 -0
  127. package/{esm2020 → esm2022}/form-field/cleaner.mjs +4 -4
  128. package/esm2022/form-field/form-field.mjs +267 -0
  129. package/{esm2020 → esm2022}/form-field/form-field.module.mjs +23 -23
  130. package/{esm2020 → esm2022}/form-field/hint.mjs +4 -4
  131. package/esm2022/form-field/password-hint.mjs +149 -0
  132. package/{esm2020 → esm2022}/form-field/prefix.mjs +4 -4
  133. package/{esm2020 → esm2022}/form-field/stepper.mjs +6 -6
  134. package/{esm2020 → esm2022}/form-field/suffix.mjs +4 -4
  135. package/esm2022/form-field/validate.directive.mjs +158 -0
  136. package/{esm2020 → esm2022}/icon/icon.component.mjs +7 -7
  137. package/{esm2020 → esm2022}/icon/icon.module.mjs +11 -11
  138. package/{esm2020 → esm2022}/input/input-number-validators.mjs +7 -7
  139. package/esm2022/input/input-number.mjs +386 -0
  140. package/esm2022/input/input-password.mjs +343 -0
  141. package/esm2022/input/input.mjs +297 -0
  142. package/{esm2020 → esm2022}/input/input.module.mjs +23 -23
  143. package/esm2022/link/link.component.mjs +122 -0
  144. package/{esm2020 → esm2022}/link/link.module.mjs +7 -7
  145. package/esm2022/list/list-selection.component.mjs +705 -0
  146. package/{esm2020 → esm2022}/list/list.component.mjs +7 -7
  147. package/{esm2020 → esm2022}/list/list.module.mjs +20 -20
  148. package/esm2022/loader-overlay/loader-overlay.component.mjs +103 -0
  149. package/{esm2020 → esm2022}/loader-overlay/loader-overlay.module.mjs +17 -17
  150. package/{esm2020 → esm2022}/markdown/markdown.component.mjs +13 -13
  151. package/{esm2020 → esm2022}/markdown/markdown.module.mjs +5 -5
  152. package/{esm2020 → esm2022}/markdown/markdown.service.mjs +4 -4
  153. package/{esm2020 → esm2022}/modal/css-unit.pipe.mjs +4 -4
  154. package/esm2022/modal/modal-control.service.mjs +85 -0
  155. package/esm2022/modal/modal.component.mjs +523 -0
  156. package/{esm2020 → esm2022}/modal/modal.directive.mjs +13 -13
  157. package/esm2022/modal/modal.module.mjs +75 -0
  158. package/esm2022/modal/modal.service.mjs +124 -0
  159. package/esm2022/navbar/navbar-item.component.mjs +606 -0
  160. package/esm2022/navbar/navbar.component.mjs +248 -0
  161. package/{esm2020 → esm2022}/navbar/navbar.module.mjs +37 -37
  162. package/esm2022/navbar/vertical-navbar.component.mjs +117 -0
  163. package/esm2022/popover/popover-confirm.component.mjs +108 -0
  164. package/esm2022/popover/popover.component.mjs +266 -0
  165. package/{esm2020 → esm2022}/popover/popover.module.mjs +8 -8
  166. package/{esm2020 → esm2022}/progress-bar/progress-bar.component.mjs +4 -4
  167. package/{esm2020 → esm2022}/progress-bar/progress-bar.module.mjs +7 -7
  168. package/{esm2020 → esm2022}/progress-spinner/progress-spinner.component.mjs +12 -12
  169. package/{esm2020 → esm2022}/progress-spinner/progress-spinner.module.mjs +7 -7
  170. package/esm2022/radio/radio.component.mjs +457 -0
  171. package/{esm2020 → esm2022}/radio/radio.module.mjs +5 -5
  172. package/esm2022/select/select-option.directive.mjs +65 -0
  173. package/esm2022/select/select.component.mjs +1160 -0
  174. package/{esm2020 → esm2022}/select/select.module.mjs +32 -32
  175. package/esm2022/sidebar/sidebar.component.mjs +146 -0
  176. package/{esm2020 → esm2022}/sidebar/sidebar.module.mjs +9 -9
  177. package/esm2022/sidepanel/sidepanel-container.component.mjs +110 -0
  178. package/{esm2020 → esm2022}/sidepanel/sidepanel-directives.mjs +18 -18
  179. package/{esm2020 → esm2022}/sidepanel/sidepanel.module.mjs +32 -32
  180. package/{esm2020 → esm2022}/sidepanel/sidepanel.service.mjs +10 -10
  181. package/esm2022/splitter/splitter.component.mjs +482 -0
  182. package/{esm2020 → esm2022}/splitter/splitter.module.mjs +12 -12
  183. package/{esm2020 → esm2022}/table/table.component.mjs +4 -4
  184. package/{esm2020 → esm2022}/table/table.module.mjs +9 -9
  185. package/esm2022/tabs/paginated-tab-header.mjs +488 -0
  186. package/esm2022/tabs/tab-body.component.mjs +179 -0
  187. package/{esm2020 → esm2022}/tabs/tab-content.directive.mjs +4 -4
  188. package/esm2022/tabs/tab-group.component.mjs +349 -0
  189. package/{esm2020 → esm2022}/tabs/tab-header.component.mjs +4 -4
  190. package/{esm2020 → esm2022}/tabs/tab-label-wrapper.directive.mjs +4 -4
  191. package/{esm2020 → esm2022}/tabs/tab-label.directive.mjs +4 -4
  192. package/esm2022/tabs/tab-nav-bar/tab-nav-bar.mjs +111 -0
  193. package/{esm2020 → esm2022}/tabs/tab.component.mjs +43 -34
  194. package/{esm2020 → esm2022}/tabs/tabs.module.mjs +42 -42
  195. package/esm2022/tags/tag-input.mjs +250 -0
  196. package/esm2022/tags/tag-list.component.mjs +718 -0
  197. package/esm2022/tags/tag.component.mjs +381 -0
  198. package/esm2022/tags/tag.module.mjs +56 -0
  199. package/esm2022/textarea/textarea.component.mjs +254 -0
  200. package/{esm2020 → esm2022}/textarea/textarea.module.mjs +5 -5
  201. package/esm2022/timepicker/timepicker.directive.mjs +647 -0
  202. package/{esm2020 → esm2022}/timepicker/timepicker.module.mjs +11 -11
  203. package/{esm2020 → esm2022}/timezone/cities-by-filter.pipe.mjs +4 -4
  204. package/esm2022/timezone/timezone-option.component.mjs +48 -0
  205. package/{esm2020 → esm2022}/timezone/timezone-option.directive.mjs +4 -4
  206. package/esm2022/timezone/timezone-select.component.mjs +40 -0
  207. package/{esm2020 → esm2022}/timezone/timezone.module.mjs +29 -29
  208. package/{esm2020 → esm2022}/timezone/utc-offset.pipe.mjs +4 -4
  209. package/esm2022/title/title.directive.mjs +107 -0
  210. package/{esm2020 → esm2022}/title/title.module.mjs +5 -5
  211. package/{esm2020 → esm2022}/toast/toast-container.component.mjs +4 -4
  212. package/esm2022/toast/toast.component.mjs +92 -0
  213. package/esm2022/toast/toast.module.mjs +48 -0
  214. package/esm2022/toast/toast.service.mjs +188 -0
  215. package/esm2022/toggle/toggle.component.mjs +156 -0
  216. package/{esm2020 → esm2022}/toggle/toggle.module.mjs +5 -5
  217. package/esm2022/tooltip/tooltip.component.mjs +299 -0
  218. package/{esm2020 → esm2022}/tooltip/tooltip.module.mjs +14 -14
  219. package/esm2022/tree/data-source/flat-data-source.mjs +162 -0
  220. package/{esm2020 → esm2022}/tree/node.mjs +4 -4
  221. package/{esm2020 → esm2022}/tree/outlet.mjs +4 -4
  222. package/esm2022/tree/padding.directive.mjs +113 -0
  223. package/esm2022/tree/toggle.mjs +81 -0
  224. package/esm2022/tree/tree-base.mjs +243 -0
  225. package/esm2022/tree/tree-option.component.mjs +303 -0
  226. package/esm2022/tree/tree-selection.component.mjs +558 -0
  227. package/{esm2020 → esm2022}/tree/tree.mjs +4 -4
  228. package/{esm2020 → esm2022}/tree/tree.module.mjs +21 -21
  229. package/esm2022/tree-select/tree-select.component.mjs +936 -0
  230. package/{esm2020 → esm2022}/tree-select/tree-select.module.mjs +17 -17
  231. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-autocomplete.mjs +80 -77
  232. package/fesm2022/ptsecurity-mosaic-autocomplete.mjs.map +1 -0
  233. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-button-toggle.mjs +47 -47
  234. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-button-toggle.mjs.map +1 -1
  235. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-button.mjs +25 -25
  236. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-button.mjs.map +1 -1
  237. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-card.mjs +17 -17
  238. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-card.mjs.map +1 -1
  239. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-checkbox.mjs +39 -39
  240. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-checkbox.mjs.map +1 -1
  241. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-code-block.mjs +34 -34
  242. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-code-block.mjs.map +1 -1
  243. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-core.mjs +650 -220
  244. package/fesm2022/ptsecurity-mosaic-core.mjs.map +1 -0
  245. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-datepicker.mjs +343 -351
  246. package/fesm2022/ptsecurity-mosaic-datepicker.mjs.map +1 -0
  247. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-divider.mjs +7 -7
  248. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-divider.mjs.map +1 -1
  249. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-dl.mjs +21 -21
  250. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-dl.mjs.map +1 -1
  251. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-dropdown.mjs +90 -90
  252. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-dropdown.mjs.map +1 -1
  253. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-ellipsis-center.mjs +11 -11
  254. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-ellipsis-center.mjs.map +1 -1
  255. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-file-upload.mjs +55 -47
  256. package/fesm2022/ptsecurity-mosaic-file-upload.mjs.map +1 -0
  257. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-form-field.mjs +87 -84
  258. package/fesm2022/ptsecurity-mosaic-form-field.mjs.map +1 -0
  259. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-icon.mjs +16 -16
  260. package/fesm2022/ptsecurity-mosaic-icon.mjs.map +1 -0
  261. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-input.mjs +383 -167
  262. package/fesm2022/ptsecurity-mosaic-input.mjs.map +1 -0
  263. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-link.mjs +22 -22
  264. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-link.mjs.map +1 -1
  265. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-list.mjs +86 -86
  266. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-list.mjs.map +1 -1
  267. package/fesm2022/ptsecurity-mosaic-loader-overlay.mjs +155 -0
  268. package/{fesm2015 → fesm2022}/ptsecurity-mosaic-loader-overlay.mjs.map +1 -1
  269. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-markdown.mjs +19 -19
  270. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-markdown.mjs.map +1 -1
  271. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-modal.mjs +164 -148
  272. package/fesm2022/ptsecurity-mosaic-modal.mjs.map +1 -0
  273. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-navbar.mjs +186 -178
  274. package/fesm2022/ptsecurity-mosaic-navbar.mjs.map +1 -0
  275. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-popover.mjs +38 -38
  276. package/fesm2022/ptsecurity-mosaic-popover.mjs.map +1 -0
  277. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-progress-bar.mjs +9 -9
  278. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-progress-bar.mjs.map +1 -1
  279. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-progress-spinner.mjs +18 -18
  280. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-progress-spinner.mjs.map +1 -1
  281. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-radio.mjs +78 -78
  282. package/{fesm2015 → fesm2022}/ptsecurity-mosaic-radio.mjs.map +1 -1
  283. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-select.mjs +189 -175
  284. package/fesm2022/ptsecurity-mosaic-select.mjs.map +1 -0
  285. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-sidebar.mjs +29 -29
  286. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-sidebar.mjs.map +1 -1
  287. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-sidepanel.mjs +63 -63
  288. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-sidepanel.mjs.map +1 -1
  289. package/{fesm2015 → fesm2022}/ptsecurity-mosaic-splitter.mjs +55 -55
  290. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-splitter.mjs.map +1 -1
  291. package/fesm2022/ptsecurity-mosaic-table.mjs +45 -0
  292. package/fesm2022/ptsecurity-mosaic-table.mjs.map +1 -0
  293. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tabs.mjs +188 -179
  294. package/fesm2022/ptsecurity-mosaic-tabs.mjs.map +1 -0
  295. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tags.mjs +131 -131
  296. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tags.mjs.map +1 -1
  297. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-textarea.mjs +41 -41
  298. package/{fesm2015 → fesm2022}/ptsecurity-mosaic-textarea.mjs.map +1 -1
  299. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-timepicker.mjs +95 -95
  300. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-timepicker.mjs.map +1 -1
  301. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-timezone.mjs +54 -54
  302. package/fesm2022/ptsecurity-mosaic-timezone.mjs.map +1 -0
  303. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-title.mjs +18 -18
  304. package/fesm2022/ptsecurity-mosaic-title.mjs.map +1 -0
  305. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-toast.mjs +47 -41
  306. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-toast.mjs.map +1 -1
  307. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-toggle.mjs +35 -35
  308. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-toggle.mjs.map +1 -1
  309. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tooltip.mjs +47 -47
  310. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tooltip.mjs.map +1 -1
  311. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tree-select.mjs +123 -123
  312. package/fesm2022/ptsecurity-mosaic-tree-select.mjs.map +1 -0
  313. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tree.mjs +202 -198
  314. package/fesm2022/ptsecurity-mosaic-tree.mjs.map +1 -0
  315. package/file-upload/file-upload.d.ts +1 -1
  316. package/file-upload/multiple-file-upload.component.d.ts +5 -4
  317. package/file-upload/single-file-upload.component.d.ts +5 -4
  318. package/form-field/_form-field-theme.scss +4 -0
  319. package/form-field/form-field.d.ts +1 -1
  320. package/form-field/hint.d.ts +1 -1
  321. package/form-field/password-hint.d.ts +2 -1
  322. package/icon/icon.component.d.ts +1 -1
  323. package/input/input-number-validators.d.ts +2 -2
  324. package/input/input-number.d.ts +61 -10
  325. package/input/input-password.d.ts +2 -2
  326. package/input/input.d.ts +1 -1
  327. package/link/link.component.d.ts +1 -1
  328. package/list/list-selection.component.d.ts +2 -2
  329. package/loader-overlay/loader-overlay.component.d.ts +1 -1
  330. package/loader-overlay/loader-overlay.scss +12 -2
  331. package/markdown/markdown.component.d.ts +1 -1
  332. package/modal/modal.component.d.ts +6 -2
  333. package/modal/modal.module.d.ts +2 -1
  334. package/modal/modal.scss +14 -2
  335. package/modal/modal.type.d.ts +3 -3
  336. package/navbar/navbar-item.component.d.ts +3 -3
  337. package/navbar/navbar-item.scss +5 -0
  338. package/navbar/navbar.component.d.ts +7 -4
  339. package/navbar/vertical-navbar.component.d.ts +5 -3
  340. package/package.json +148 -237
  341. package/popover/popover-confirm.component.d.ts +1 -1
  342. package/popover/popover.component.d.ts +1 -1
  343. package/prebuilt-themes/dark-theme.css +1 -1
  344. package/prebuilt-themes/default-theme.css +1 -1
  345. package/prebuilt-visual/default-visual.css +1 -1
  346. package/progress-bar/progress-bar.component.d.ts +2 -2
  347. package/progress-spinner/progress-spinner.component.d.ts +3 -3
  348. package/radio/_radio-theme.scss +4 -0
  349. package/radio/radio.component.d.ts +2 -2
  350. package/select/select.component.d.ts +12 -9
  351. package/select/select.scss +1 -1
  352. package/sidebar/sidebar.component.d.ts +3 -3
  353. package/sidepanel/sidepanel-directives.d.ts +2 -2
  354. package/splitter/splitter.component.d.ts +3 -3
  355. package/tabs/paginated-tab-header.d.ts +3 -3
  356. package/tabs/tab-body.component.d.ts +3 -3
  357. package/tabs/tab-group.component.d.ts +2 -2
  358. package/tabs/tab-header.component.d.ts +2 -2
  359. package/tabs/tab-label-wrapper.directive.d.ts +1 -1
  360. package/tabs/tab-nav-bar/tab-nav-bar.d.ts +1 -1
  361. package/tabs/tab.component.d.ts +1 -1
  362. package/tags/tag-input.d.ts +1 -1
  363. package/tags/tag-list.component.d.ts +1 -1
  364. package/tags/tag.component.d.ts +1 -1
  365. package/textarea/textarea.component.d.ts +1 -1
  366. package/timepicker/timepicker.directive.d.ts +1 -1
  367. package/timezone/timezone-option.component.d.ts +1 -1
  368. package/toast/toast.type.d.ts +1 -1
  369. package/toggle/toggle.component.d.ts +2 -2
  370. package/tooltip/tooltip.component.d.ts +3 -3
  371. package/tree/node.d.ts +1 -1
  372. package/tree/padding.directive.d.ts +1 -1
  373. package/tree/toggle.d.ts +2 -2
  374. package/tree/tree-base.d.ts +1 -1
  375. package/tree/tree-option.component.d.ts +1 -1
  376. package/tree/tree-option.scss +4 -2
  377. package/tree/tree-selection.component.d.ts +1 -1
  378. package/tree-select/tree-select.component.d.ts +1 -1
  379. package/esm2020/autocomplete/autocomplete-trigger.directive.mjs +0 -552
  380. package/esm2020/button/button.component.mjs +0 -148
  381. package/esm2020/button-toggle/button-toggle.component.mjs +0 -381
  382. package/esm2020/card/card.component.mjs +0 -80
  383. package/esm2020/checkbox/checkbox.mjs +0 -300
  384. package/esm2020/code-block/code-block.component.mjs +0 -157
  385. package/esm2020/code-block/code-block.module.mjs +0 -60
  386. package/esm2020/core/common-behaviors/color.mjs +0 -33
  387. package/esm2020/core/formatters/index.mjs +0 -78
  388. package/esm2020/core/formatters/number/formatter.mjs +0 -129
  389. package/esm2020/core/locales/en-US.mjs +0 -10
  390. package/esm2020/core/locales/es-LA.mjs +0 -6
  391. package/esm2020/core/locales/fa-IR.mjs +0 -6
  392. package/esm2020/core/locales/pt-BR.mjs +0 -6
  393. package/esm2020/core/locales/ru-RU.mjs +0 -10
  394. package/esm2020/core/locales/zh-CN.mjs +0 -6
  395. package/esm2020/core/option/option.mjs +0 -262
  396. package/esm2020/core/overlay/overlay-position-map.mjs +0 -245
  397. package/esm2020/core/pop-up/pop-up-trigger.mjs +0 -247
  398. package/esm2020/core/services/measure-scrollbar.service.mjs +0 -48
  399. package/esm2020/datepicker/calendar-header.component.mjs +0 -134
  400. package/esm2020/datepicker/calendar.component.mjs +0 -175
  401. package/esm2020/datepicker/datepicker-input.directive.mjs +0 -954
  402. package/esm2020/datepicker/datepicker-toggle.component.mjs +0 -86
  403. package/esm2020/datepicker/datepicker.component.mjs +0 -393
  404. package/esm2020/datepicker/month-view.component.mjs +0 -158
  405. package/esm2020/dropdown/dropdown-trigger.directive.mjs +0 -489
  406. package/esm2020/dropdown/dropdown.component.mjs +0 -292
  407. package/esm2020/ellipsis-center/ellipsis-center.directive.mjs +0 -106
  408. package/esm2020/file-upload/multiple-file-upload.component.mjs +0 -161
  409. package/esm2020/file-upload/single-file-upload.component.mjs +0 -130
  410. package/esm2020/form-field/form-field.mjs +0 -267
  411. package/esm2020/form-field/password-hint.mjs +0 -146
  412. package/esm2020/form-field/validate.directive.mjs +0 -158
  413. package/esm2020/input/input-number.mjs +0 -168
  414. package/esm2020/input/input-password.mjs +0 -343
  415. package/esm2020/input/input.mjs +0 -297
  416. package/esm2020/link/link.component.mjs +0 -122
  417. package/esm2020/list/list-selection.component.mjs +0 -705
  418. package/esm2020/loader-overlay/loader-overlay.component.mjs +0 -103
  419. package/esm2020/modal/modal-control.service.mjs +0 -85
  420. package/esm2020/modal/modal.component.mjs +0 -510
  421. package/esm2020/modal/modal.module.mjs +0 -71
  422. package/esm2020/modal/modal.service.mjs +0 -124
  423. package/esm2020/navbar/navbar-item.component.mjs +0 -606
  424. package/esm2020/navbar/navbar.component.mjs +0 -239
  425. package/esm2020/navbar/vertical-navbar.component.mjs +0 -114
  426. package/esm2020/popover/popover-confirm.component.mjs +0 -108
  427. package/esm2020/popover/popover.component.mjs +0 -266
  428. package/esm2020/radio/radio.component.mjs +0 -457
  429. package/esm2020/select/select-option.directive.mjs +0 -65
  430. package/esm2020/select/select.component.mjs +0 -1146
  431. package/esm2020/sidebar/sidebar.component.mjs +0 -146
  432. package/esm2020/sidepanel/sidepanel-container.component.mjs +0 -110
  433. package/esm2020/splitter/splitter.component.mjs +0 -482
  434. package/esm2020/tabs/paginated-tab-header.mjs +0 -488
  435. package/esm2020/tabs/tab-body.component.mjs +0 -179
  436. package/esm2020/tabs/tab-group.component.mjs +0 -349
  437. package/esm2020/tabs/tab-nav-bar/tab-nav-bar.mjs +0 -111
  438. package/esm2020/tags/tag-input.mjs +0 -250
  439. package/esm2020/tags/tag-list.component.mjs +0 -718
  440. package/esm2020/tags/tag.component.mjs +0 -381
  441. package/esm2020/tags/tag.module.mjs +0 -56
  442. package/esm2020/textarea/textarea.component.mjs +0 -254
  443. package/esm2020/timepicker/timepicker.directive.mjs +0 -647
  444. package/esm2020/timezone/timezone-option.component.mjs +0 -48
  445. package/esm2020/timezone/timezone-select.component.mjs +0 -40
  446. package/esm2020/title/title.directive.mjs +0 -107
  447. package/esm2020/toast/toast.component.mjs +0 -92
  448. package/esm2020/toast/toast.module.mjs +0 -42
  449. package/esm2020/toast/toast.service.mjs +0 -188
  450. package/esm2020/toggle/toggle.component.mjs +0 -156
  451. package/esm2020/tooltip/tooltip.component.mjs +0 -299
  452. package/esm2020/tree/data-source/flat-data-source.mjs +0 -162
  453. package/esm2020/tree/padding.directive.mjs +0 -113
  454. package/esm2020/tree/toggle.mjs +0 -81
  455. package/esm2020/tree/tree-base.mjs +0 -243
  456. package/esm2020/tree/tree-option.component.mjs +0 -300
  457. package/esm2020/tree/tree-selection.component.mjs +0 -557
  458. package/esm2020/tree-select/tree-select.component.mjs +0 -936
  459. package/fesm2015/ptsecurity-mosaic-autocomplete.mjs +0 -753
  460. package/fesm2015/ptsecurity-mosaic-autocomplete.mjs.map +0 -1
  461. package/fesm2015/ptsecurity-mosaic-button-toggle.mjs +0 -405
  462. package/fesm2015/ptsecurity-mosaic-button-toggle.mjs.map +0 -1
  463. package/fesm2015/ptsecurity-mosaic-button.mjs +0 -193
  464. package/fesm2015/ptsecurity-mosaic-button.mjs.map +0 -1
  465. package/fesm2015/ptsecurity-mosaic-card.mjs +0 -111
  466. package/fesm2015/ptsecurity-mosaic-card.mjs.map +0 -1
  467. package/fesm2015/ptsecurity-mosaic-checkbox.mjs +0 -351
  468. package/fesm2015/ptsecurity-mosaic-checkbox.mjs.map +0 -1
  469. package/fesm2015/ptsecurity-mosaic-code-block.mjs +0 -280
  470. package/fesm2015/ptsecurity-mosaic-code-block.mjs.map +0 -1
  471. package/fesm2015/ptsecurity-mosaic-core.mjs +0 -2314
  472. package/fesm2015/ptsecurity-mosaic-core.mjs.map +0 -1
  473. package/fesm2015/ptsecurity-mosaic-datepicker.mjs +0 -2112
  474. package/fesm2015/ptsecurity-mosaic-datepicker.mjs.map +0 -1
  475. package/fesm2015/ptsecurity-mosaic-divider.mjs +0 -61
  476. package/fesm2015/ptsecurity-mosaic-divider.mjs.map +0 -1
  477. package/fesm2015/ptsecurity-mosaic-dl.mjs +0 -126
  478. package/fesm2015/ptsecurity-mosaic-dl.mjs.map +0 -1
  479. package/fesm2015/ptsecurity-mosaic-dropdown.mjs +0 -1115
  480. package/fesm2015/ptsecurity-mosaic-dropdown.mjs.map +0 -1
  481. package/fesm2015/ptsecurity-mosaic-ellipsis-center.mjs +0 -113
  482. package/fesm2015/ptsecurity-mosaic-ellipsis-center.mjs.map +0 -1
  483. package/fesm2015/ptsecurity-mosaic-file-upload.mjs +0 -392
  484. package/fesm2015/ptsecurity-mosaic-file-upload.mjs.map +0 -1
  485. package/fesm2015/ptsecurity-mosaic-form-field.mjs +0 -772
  486. package/fesm2015/ptsecurity-mosaic-form-field.mjs.map +0 -1
  487. package/fesm2015/ptsecurity-mosaic-icon.mjs +0 -86
  488. package/fesm2015/ptsecurity-mosaic-icon.mjs.map +0 -1
  489. package/fesm2015/ptsecurity-mosaic-input.mjs +0 -951
  490. package/fesm2015/ptsecurity-mosaic-input.mjs.map +0 -1
  491. package/fesm2015/ptsecurity-mosaic-link.mjs +0 -150
  492. package/fesm2015/ptsecurity-mosaic-link.mjs.map +0 -1
  493. package/fesm2015/ptsecurity-mosaic-list.mjs +0 -807
  494. package/fesm2015/ptsecurity-mosaic-list.mjs.map +0 -1
  495. package/fesm2015/ptsecurity-mosaic-loader-overlay.mjs +0 -157
  496. package/fesm2015/ptsecurity-mosaic-markdown.mjs +0 -128
  497. package/fesm2015/ptsecurity-mosaic-markdown.mjs.map +0 -1
  498. package/fesm2015/ptsecurity-mosaic-modal.mjs +0 -875
  499. package/fesm2015/ptsecurity-mosaic-modal.mjs.map +0 -1
  500. package/fesm2015/ptsecurity-mosaic-navbar.mjs +0 -1055
  501. package/fesm2015/ptsecurity-mosaic-navbar.mjs.map +0 -1
  502. package/fesm2015/ptsecurity-mosaic-popover.mjs +0 -411
  503. package/fesm2015/ptsecurity-mosaic-popover.mjs.map +0 -1
  504. package/fesm2015/ptsecurity-mosaic-progress-bar.mjs +0 -74
  505. package/fesm2015/ptsecurity-mosaic-progress-bar.mjs.map +0 -1
  506. package/fesm2015/ptsecurity-mosaic-progress-spinner.mjs +0 -93
  507. package/fesm2015/ptsecurity-mosaic-progress-spinner.mjs.map +0 -1
  508. package/fesm2015/ptsecurity-mosaic-radio.mjs +0 -481
  509. package/fesm2015/ptsecurity-mosaic-select.mjs +0 -1286
  510. package/fesm2015/ptsecurity-mosaic-select.mjs.map +0 -1
  511. package/fesm2015/ptsecurity-mosaic-sidebar.mjs +0 -202
  512. package/fesm2015/ptsecurity-mosaic-sidebar.mjs.map +0 -1
  513. package/fesm2015/ptsecurity-mosaic-sidepanel.mjs +0 -622
  514. package/fesm2015/ptsecurity-mosaic-sidepanel.mjs.map +0 -1
  515. package/fesm2015/ptsecurity-mosaic-splitter.mjs.map +0 -1
  516. package/fesm2015/ptsecurity-mosaic-table.mjs +0 -45
  517. package/fesm2015/ptsecurity-mosaic-table.mjs.map +0 -1
  518. package/fesm2015/ptsecurity-mosaic-tabs.mjs +0 -1523
  519. package/fesm2015/ptsecurity-mosaic-tabs.mjs.map +0 -1
  520. package/fesm2015/ptsecurity-mosaic-tags.mjs +0 -1397
  521. package/fesm2015/ptsecurity-mosaic-tags.mjs.map +0 -1
  522. package/fesm2015/ptsecurity-mosaic-textarea.mjs +0 -280
  523. package/fesm2015/ptsecurity-mosaic-timepicker.mjs +0 -708
  524. package/fesm2015/ptsecurity-mosaic-timepicker.mjs.map +0 -1
  525. package/fesm2015/ptsecurity-mosaic-timezone.mjs +0 -316
  526. package/fesm2015/ptsecurity-mosaic-timezone.mjs.map +0 -1
  527. package/fesm2015/ptsecurity-mosaic-title.mjs +0 -128
  528. package/fesm2015/ptsecurity-mosaic-title.mjs.map +0 -1
  529. package/fesm2015/ptsecurity-mosaic-toast.mjs +0 -379
  530. package/fesm2015/ptsecurity-mosaic-toast.mjs.map +0 -1
  531. package/fesm2015/ptsecurity-mosaic-toggle.mjs +0 -178
  532. package/fesm2015/ptsecurity-mosaic-toggle.mjs.map +0 -1
  533. package/fesm2015/ptsecurity-mosaic-tooltip.mjs +0 -369
  534. package/fesm2015/ptsecurity-mosaic-tooltip.mjs.map +0 -1
  535. package/fesm2015/ptsecurity-mosaic-tree-select.mjs +0 -983
  536. package/fesm2015/ptsecurity-mosaic-tree-select.mjs.map +0 -1
  537. package/fesm2015/ptsecurity-mosaic-tree.mjs +0 -1816
  538. package/fesm2015/ptsecurity-mosaic-tree.mjs.map +0 -1
  539. package/fesm2020/ptsecurity-mosaic-autocomplete.mjs.map +0 -1
  540. package/fesm2020/ptsecurity-mosaic-core.mjs.map +0 -1
  541. package/fesm2020/ptsecurity-mosaic-datepicker.mjs.map +0 -1
  542. package/fesm2020/ptsecurity-mosaic-file-upload.mjs.map +0 -1
  543. package/fesm2020/ptsecurity-mosaic-form-field.mjs.map +0 -1
  544. package/fesm2020/ptsecurity-mosaic-icon.mjs.map +0 -1
  545. package/fesm2020/ptsecurity-mosaic-input.mjs.map +0 -1
  546. package/fesm2020/ptsecurity-mosaic-loader-overlay.mjs +0 -155
  547. package/fesm2020/ptsecurity-mosaic-loader-overlay.mjs.map +0 -1
  548. package/fesm2020/ptsecurity-mosaic-modal.mjs.map +0 -1
  549. package/fesm2020/ptsecurity-mosaic-navbar.mjs.map +0 -1
  550. package/fesm2020/ptsecurity-mosaic-popover.mjs.map +0 -1
  551. package/fesm2020/ptsecurity-mosaic-radio.mjs.map +0 -1
  552. package/fesm2020/ptsecurity-mosaic-select.mjs.map +0 -1
  553. package/fesm2020/ptsecurity-mosaic-splitter.mjs +0 -524
  554. package/fesm2020/ptsecurity-mosaic-table.mjs +0 -45
  555. package/fesm2020/ptsecurity-mosaic-table.mjs.map +0 -1
  556. package/fesm2020/ptsecurity-mosaic-tabs.mjs.map +0 -1
  557. package/fesm2020/ptsecurity-mosaic-textarea.mjs.map +0 -1
  558. package/fesm2020/ptsecurity-mosaic-timezone.mjs.map +0 -1
  559. package/fesm2020/ptsecurity-mosaic-title.mjs.map +0 -1
  560. package/fesm2020/ptsecurity-mosaic-tree-select.mjs.map +0 -1
  561. package/fesm2020/ptsecurity-mosaic-tree.mjs.map +0 -1
  562. package/fesm2020/ptsecurity-mosaic.mjs +0 -4
  563. package/fesm2020/ptsecurity-mosaic.mjs.map +0 -1
  564. /package/{esm2020 → esm2022}/autocomplete/index.mjs +0 -0
  565. /package/{esm2020 → esm2022}/autocomplete/ptsecurity-mosaic-autocomplete.mjs +0 -0
  566. /package/{esm2020 → esm2022}/autocomplete/public-api.mjs +0 -0
  567. /package/{esm2020 → esm2022}/button/index.mjs +0 -0
  568. /package/{esm2020 → esm2022}/button/ptsecurity-mosaic-button.mjs +0 -0
  569. /package/{esm2020 → esm2022}/button/public-api.mjs +0 -0
  570. /package/{esm2020 → esm2022}/button-toggle/index.mjs +0 -0
  571. /package/{esm2020 → esm2022}/button-toggle/ptsecurity-mosaic-button-toggle.mjs +0 -0
  572. /package/{esm2020 → esm2022}/button-toggle/public-api.mjs +0 -0
  573. /package/{esm2020 → esm2022}/card/index.mjs +0 -0
  574. /package/{esm2020 → esm2022}/card/ptsecurity-mosaic-card.mjs +0 -0
  575. /package/{esm2020 → esm2022}/card/public-api.mjs +0 -0
  576. /package/{esm2020 → esm2022}/checkbox/checkbox-config.mjs +0 -0
  577. /package/{esm2020 → esm2022}/checkbox/index.mjs +0 -0
  578. /package/{esm2020 → esm2022}/checkbox/ptsecurity-mosaic-checkbox.mjs +0 -0
  579. /package/{esm2020 → esm2022}/checkbox/public-api.mjs +0 -0
  580. /package/{esm2020 → esm2022}/code-block/code-block.types.mjs +0 -0
  581. /package/{esm2020 → esm2022}/code-block/index.mjs +0 -0
  582. /package/{esm2020 → esm2022}/code-block/ptsecurity-mosaic-code-block.mjs +0 -0
  583. /package/{esm2020 → esm2022}/code-block/public-api.mjs +0 -0
  584. /package/{esm2020 → esm2022}/core/animation/animation.mjs +0 -0
  585. /package/{esm2020 → esm2022}/core/animation/fade-animations.mjs +0 -0
  586. /package/{esm2020 → esm2022}/core/animation/index.mjs +0 -0
  587. /package/{esm2020 → esm2022}/core/animation/select-animations.mjs +0 -0
  588. /package/{esm2020 → esm2022}/core/common-behaviors/constructor.mjs +0 -0
  589. /package/{esm2020 → esm2022}/core/common-behaviors/error-state.mjs +0 -0
  590. /package/{esm2020 → esm2022}/core/common-behaviors/index.mjs +0 -0
  591. /package/{esm2020 → esm2022}/core/datetime/date-adapter.mjs +0 -0
  592. /package/{esm2020 → esm2022}/core/datetime/date-formats.mjs +0 -0
  593. /package/{esm2020 → esm2022}/core/datetime/index.mjs +0 -0
  594. /package/{esm2020 → esm2022}/core/forms/index.mjs +0 -0
  595. /package/{esm2020 → esm2022}/core/index.mjs +0 -0
  596. /package/{esm2020 → esm2022}/core/label/label-options.mjs +0 -0
  597. /package/{esm2020 → esm2022}/core/locales/index.mjs +0 -0
  598. /package/{esm2020 → esm2022}/core/option/index.mjs +0 -0
  599. /package/{esm2020 → esm2022}/core/pop-up/index.mjs +0 -0
  600. /package/{esm2020 → esm2022}/core/ptsecurity-mosaic-core.mjs +0 -0
  601. /package/{esm2020 → esm2022}/core/public-api.mjs +0 -0
  602. /package/{esm2020 → esm2022}/core/select/constants.mjs +0 -0
  603. /package/{esm2020 → esm2022}/core/select/errors.mjs +0 -0
  604. /package/{esm2020 → esm2022}/core/select/events.mjs +0 -0
  605. /package/{esm2020 → esm2022}/core/select/index.mjs +0 -0
  606. /package/{esm2020 → esm2022}/core/selection/constants.mjs +0 -0
  607. /package/{esm2020 → esm2022}/core/selection/index.mjs +0 -0
  608. /package/{esm2020 → esm2022}/core/title/index.mjs +0 -0
  609. /package/{esm2020 → esm2022}/core/title/title-text-ref.mjs +0 -0
  610. /package/{esm2020 → esm2022}/core/utils/data-size/config.mjs +0 -0
  611. /package/{esm2020 → esm2022}/core/utils/data-size/index.mjs +0 -0
  612. /package/{esm2020 → esm2022}/core/utils/data-size/size.mjs +0 -0
  613. /package/{esm2020 → esm2022}/core/utils/index.mjs +0 -0
  614. /package/{esm2020 → esm2022}/core/utils/public-api.mjs +0 -0
  615. /package/{esm2020 → esm2022}/core/utils/utils.mjs +0 -0
  616. /package/{esm2020 → esm2022}/core/validation/index.mjs +0 -0
  617. /package/{esm2020 → esm2022}/core/validation/validation.mjs +0 -0
  618. /package/{esm2020 → esm2022}/datepicker/datepicker-animations.mjs +0 -0
  619. /package/{esm2020 → esm2022}/datepicker/datepicker-errors.mjs +0 -0
  620. /package/{esm2020 → esm2022}/datepicker/index.mjs +0 -0
  621. /package/{esm2020 → esm2022}/datepicker/ptsecurity-mosaic-datepicker.mjs +0 -0
  622. /package/{esm2020 → esm2022}/datepicker/public-api.mjs +0 -0
  623. /package/{esm2020 → esm2022}/divider/index.mjs +0 -0
  624. /package/{esm2020 → esm2022}/divider/ptsecurity-mosaic-divider.mjs +0 -0
  625. /package/{esm2020 → esm2022}/divider/public-api.mjs +0 -0
  626. /package/{esm2020 → esm2022}/dl/index.mjs +0 -0
  627. /package/{esm2020 → esm2022}/dl/ptsecurity-mosaic-dl.mjs +0 -0
  628. /package/{esm2020 → esm2022}/dl/public-api.mjs +0 -0
  629. /package/{esm2020 → esm2022}/dropdown/dropdown-animations.mjs +0 -0
  630. /package/{esm2020 → esm2022}/dropdown/dropdown-errors.mjs +0 -0
  631. /package/{esm2020 → esm2022}/dropdown/dropdown.types.mjs +0 -0
  632. /package/{esm2020 → esm2022}/dropdown/index.mjs +0 -0
  633. /package/{esm2020 → esm2022}/dropdown/ptsecurity-mosaic-dropdown.mjs +0 -0
  634. /package/{esm2020 → esm2022}/dropdown/public-api.mjs +0 -0
  635. /package/{esm2020 → esm2022}/ellipsis-center/index.mjs +0 -0
  636. /package/{esm2020 → esm2022}/ellipsis-center/ptsecurity-mosaic-ellipsis-center.mjs +0 -0
  637. /package/{esm2020 → esm2022}/ellipsis-center/public-api.mjs +0 -0
  638. /package/{esm2020 → esm2022}/file-upload/file-upload.mjs +0 -0
  639. /package/{esm2020 → esm2022}/file-upload/index.mjs +0 -0
  640. /package/{esm2020 → esm2022}/file-upload/ptsecurity-mosaic-file-upload.mjs +0 -0
  641. /package/{esm2020 → esm2022}/file-upload/public-api.mjs +0 -0
  642. /package/{esm2020 → esm2022}/form-field/form-field-control.mjs +0 -0
  643. /package/{esm2020 → esm2022}/form-field/form-field-errors.mjs +0 -0
  644. /package/{esm2020 → esm2022}/form-field/index.mjs +0 -0
  645. /package/{esm2020 → esm2022}/form-field/ptsecurity-mosaic-form-field.mjs +0 -0
  646. /package/{esm2020 → esm2022}/form-field/public-api.mjs +0 -0
  647. /package/{esm2020 → esm2022}/icon/index.mjs +0 -0
  648. /package/{esm2020 → esm2022}/icon/ptsecurity-mosaic-icon.mjs +0 -0
  649. /package/{esm2020 → esm2022}/icon/public-api.mjs +0 -0
  650. /package/{esm2020 → esm2022}/index.mjs +0 -0
  651. /package/{esm2020 → esm2022}/input/index.mjs +0 -0
  652. /package/{esm2020 → esm2022}/input/input-errors.mjs +0 -0
  653. /package/{esm2020 → esm2022}/input/input-value-accessor.mjs +0 -0
  654. /package/{esm2020 → esm2022}/input/ptsecurity-mosaic-input.mjs +0 -0
  655. /package/{esm2020 → esm2022}/input/public-api.mjs +0 -0
  656. /package/{esm2020 → esm2022}/link/index.mjs +0 -0
  657. /package/{esm2020 → esm2022}/link/ptsecurity-mosaic-link.mjs +0 -0
  658. /package/{esm2020 → esm2022}/link/public-api.mjs +0 -0
  659. /package/{esm2020 → esm2022}/list/index.mjs +0 -0
  660. /package/{esm2020 → esm2022}/list/ptsecurity-mosaic-list.mjs +0 -0
  661. /package/{esm2020 → esm2022}/list/public-api.mjs +0 -0
  662. /package/{esm2020 → esm2022}/loader-overlay/index.mjs +0 -0
  663. /package/{esm2020 → esm2022}/loader-overlay/ptsecurity-mosaic-loader-overlay.mjs +0 -0
  664. /package/{esm2020 → esm2022}/loader-overlay/public-api.mjs +0 -0
  665. /package/{esm2020 → esm2022}/markdown/index.mjs +0 -0
  666. /package/{esm2020 → esm2022}/markdown/markdown.values.mjs +0 -0
  667. /package/{esm2020 → esm2022}/markdown/ptsecurity-mosaic-markdown.mjs +0 -0
  668. /package/{esm2020 → esm2022}/markdown/public-api.mjs +0 -0
  669. /package/{esm2020 → esm2022}/modal/index.mjs +0 -0
  670. /package/{esm2020 → esm2022}/modal/modal-ref.class.mjs +0 -0
  671. /package/{esm2020 → esm2022}/modal/modal-util.mjs +0 -0
  672. /package/{esm2020 → esm2022}/modal/modal.type.mjs +0 -0
  673. /package/{esm2020 → esm2022}/modal/ptsecurity-mosaic-modal.mjs +0 -0
  674. /package/{esm2020 → esm2022}/modal/public-api.mjs +0 -0
  675. /package/{esm2020 → esm2022}/navbar/index.mjs +0 -0
  676. /package/{esm2020 → esm2022}/navbar/ptsecurity-mosaic-navbar.mjs +0 -0
  677. /package/{esm2020 → esm2022}/navbar/public-api.mjs +0 -0
  678. /package/{esm2020 → esm2022}/navbar/vertical-navbar.animation.mjs +0 -0
  679. /package/{esm2020 → esm2022}/popover/index.mjs +0 -0
  680. /package/{esm2020 → esm2022}/popover/popover-animations.mjs +0 -0
  681. /package/{esm2020 → esm2022}/popover/ptsecurity-mosaic-popover.mjs +0 -0
  682. /package/{esm2020 → esm2022}/popover/public-api.mjs +0 -0
  683. /package/{esm2020 → esm2022}/progress-bar/index.mjs +0 -0
  684. /package/{esm2020 → esm2022}/progress-bar/ptsecurity-mosaic-progress-bar.mjs +0 -0
  685. /package/{esm2020 → esm2022}/progress-bar/public-api.mjs +0 -0
  686. /package/{esm2020 → esm2022}/progress-spinner/index.mjs +0 -0
  687. /package/{esm2020 → esm2022}/progress-spinner/ptsecurity-mosaic-progress-spinner.mjs +0 -0
  688. /package/{esm2020 → esm2022}/progress-spinner/public-api.mjs +0 -0
  689. /package/{esm2020 → esm2022}/ptsecurity-mosaic.mjs +0 -0
  690. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
  691. /package/{esm2020 → esm2022}/radio/index.mjs +0 -0
  692. /package/{esm2020 → esm2022}/radio/ptsecurity-mosaic-radio.mjs +0 -0
  693. /package/{esm2020 → esm2022}/radio/public-api.mjs +0 -0
  694. /package/{esm2020 → esm2022}/select/index.mjs +0 -0
  695. /package/{esm2020 → esm2022}/select/ptsecurity-mosaic-select.mjs +0 -0
  696. /package/{esm2020 → esm2022}/select/public-api.mjs +0 -0
  697. /package/{esm2020 → esm2022}/sidebar/index.mjs +0 -0
  698. /package/{esm2020 → esm2022}/sidebar/ptsecurity-mosaic-sidebar.mjs +0 -0
  699. /package/{esm2020 → esm2022}/sidebar/public-api.mjs +0 -0
  700. /package/{esm2020 → esm2022}/sidebar/sidebar-animations.mjs +0 -0
  701. /package/{esm2020 → esm2022}/sidepanel/index.mjs +0 -0
  702. /package/{esm2020 → esm2022}/sidepanel/ptsecurity-mosaic-sidepanel.mjs +0 -0
  703. /package/{esm2020 → esm2022}/sidepanel/public-api.mjs +0 -0
  704. /package/{esm2020 → esm2022}/sidepanel/sidepanel-animations.mjs +0 -0
  705. /package/{esm2020 → esm2022}/sidepanel/sidepanel-config.mjs +0 -0
  706. /package/{esm2020 → esm2022}/sidepanel/sidepanel-ref.mjs +0 -0
  707. /package/{esm2020 → esm2022}/splitter/index.mjs +0 -0
  708. /package/{esm2020 → esm2022}/splitter/ptsecurity-mosaic-splitter.mjs +0 -0
  709. /package/{esm2020 → esm2022}/splitter/public-api.mjs +0 -0
  710. /package/{esm2020 → esm2022}/table/index.mjs +0 -0
  711. /package/{esm2020 → esm2022}/table/ptsecurity-mosaic-table.mjs +0 -0
  712. /package/{esm2020 → esm2022}/table/public-api.mjs +0 -0
  713. /package/{esm2020 → esm2022}/tabs/index.mjs +0 -0
  714. /package/{esm2020 → esm2022}/tabs/ptsecurity-mosaic-tabs.mjs +0 -0
  715. /package/{esm2020 → esm2022}/tabs/public-api.mjs +0 -0
  716. /package/{esm2020 → esm2022}/tabs/tab-nav-bar/index.mjs +0 -0
  717. /package/{esm2020 → esm2022}/tabs/tabs-animations.mjs +0 -0
  718. /package/{esm2020 → esm2022}/tags/index.mjs +0 -0
  719. /package/{esm2020 → esm2022}/tags/ptsecurity-mosaic-tags.mjs +0 -0
  720. /package/{esm2020 → esm2022}/tags/public-api.mjs +0 -0
  721. /package/{esm2020 → esm2022}/tags/tag-default-options.mjs +0 -0
  722. /package/{esm2020 → esm2022}/tags/tag-text-control.mjs +0 -0
  723. /package/{esm2020 → esm2022}/textarea/index.mjs +0 -0
  724. /package/{esm2020 → esm2022}/textarea/ptsecurity-mosaic-textarea.mjs +0 -0
  725. /package/{esm2020 → esm2022}/textarea/public-api.mjs +0 -0
  726. /package/{esm2020 → esm2022}/timepicker/index.mjs +0 -0
  727. /package/{esm2020 → esm2022}/timepicker/ptsecurity-mosaic-timepicker.mjs +0 -0
  728. /package/{esm2020 → esm2022}/timepicker/public-api.mjs +0 -0
  729. /package/{esm2020 → esm2022}/timepicker/timepicker.constants.mjs +0 -0
  730. /package/{esm2020 → esm2022}/timezone/index.mjs +0 -0
  731. /package/{esm2020 → esm2022}/timezone/ptsecurity-mosaic-timezone.mjs +0 -0
  732. /package/{esm2020 → esm2022}/timezone/public-api.mjs +0 -0
  733. /package/{esm2020 → esm2022}/timezone/timezone.models.mjs +0 -0
  734. /package/{esm2020 → esm2022}/timezone/timezone.utils.mjs +0 -0
  735. /package/{esm2020 → esm2022}/title/index.mjs +0 -0
  736. /package/{esm2020 → esm2022}/title/ptsecurity-mosaic-title.mjs +0 -0
  737. /package/{esm2020 → esm2022}/title/public-api.mjs +0 -0
  738. /package/{esm2020 → esm2022}/toast/index.mjs +0 -0
  739. /package/{esm2020 → esm2022}/toast/ptsecurity-mosaic-toast.mjs +0 -0
  740. /package/{esm2020 → esm2022}/toast/public-api.mjs +0 -0
  741. /package/{esm2020 → esm2022}/toast/toast-animations.mjs +0 -0
  742. /package/{esm2020 → esm2022}/toast/toast.type.mjs +0 -0
  743. /package/{esm2020 → esm2022}/toggle/index.mjs +0 -0
  744. /package/{esm2020 → esm2022}/toggle/ptsecurity-mosaic-toggle.mjs +0 -0
  745. /package/{esm2020 → esm2022}/toggle/public-api.mjs +0 -0
  746. /package/{esm2020 → esm2022}/tooltip/index.mjs +0 -0
  747. /package/{esm2020 → esm2022}/tooltip/ptsecurity-mosaic-tooltip.mjs +0 -0
  748. /package/{esm2020 → esm2022}/tooltip/public-api.mjs +0 -0
  749. /package/{esm2020 → esm2022}/tooltip/tooltip.animations.mjs +0 -0
  750. /package/{esm2020 → esm2022}/tree/control/base-tree-control.mjs +0 -0
  751. /package/{esm2020 → esm2022}/tree/control/flat-tree-control.mjs +0 -0
  752. /package/{esm2020 → esm2022}/tree/control/nested-tree-control.mjs +0 -0
  753. /package/{esm2020 → esm2022}/tree/control/tree-control.mjs +0 -0
  754. /package/{esm2020 → esm2022}/tree/data-source/nested-data-source.mjs +0 -0
  755. /package/{esm2020 → esm2022}/tree/index.mjs +0 -0
  756. /package/{esm2020 → esm2022}/tree/ptsecurity-mosaic-tree.mjs +0 -0
  757. /package/{esm2020 → esm2022}/tree/public-api.mjs +0 -0
  758. /package/{esm2020 → esm2022}/tree/tree-errors.mjs +0 -0
  759. /package/{esm2020 → esm2022}/tree-select/index.mjs +0 -0
  760. /package/{esm2020 → esm2022}/tree-select/ptsecurity-mosaic-tree-select.mjs +0 -0
  761. /package/{esm2020 → esm2022}/tree-select/public-api.mjs +0 -0
  762. /package/{fesm2015 → fesm2022}/ptsecurity-mosaic.mjs +0 -0
  763. /package/{fesm2015 → fesm2022}/ptsecurity-mosaic.mjs.map +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"ptsecurity-mosaic-modal.mjs","sources":["../../../packages/mosaic/modal/modal-control.service.ts","../../../packages/mosaic/modal/modal-ref.class.ts","../../../packages/mosaic/modal/modal-util.ts","../../../packages/mosaic/modal/modal.type.ts","../../../packages/mosaic/modal/modal.directive.ts","../../../packages/mosaic/modal/css-unit.pipe.ts","../../../packages/mosaic/modal/modal.component.ts","../../../packages/mosaic/modal/modal.component.html","../../../packages/mosaic/modal/modal.service.ts","../../../packages/mosaic/modal/modal.module.ts","../../../packages/mosaic/modal/ptsecurity-mosaic-modal.ts"],"sourcesContent":["import { Injectable, Optional, SkipSelf } from '@angular/core';\nimport { Subject, Subscription } from 'rxjs';\n\nimport { McModalComponent } from '.';\nimport { McModalRef } from './modal-ref.class';\n\n\ninterface IRegisteredMeta {\n modalRef: McModalRef;\n afterOpenSubscription: Subscription;\n afterCloseSubscription: Subscription;\n}\n\n@Injectable()\nexport class McModalControlService {\n // Track singleton afterAllClose through over the injection tree\n get afterAllClose(): Subject<void> {\n return this.parentService ? this.parentService.afterAllClose : this.rootAfterAllClose;\n }\n\n // Track singleton openModals array through over the injection tree\n get openModals(): McModalRef[] {\n return this.parentService ? this.parentService.openModals : this.rootOpenModals;\n }\n\n // @ts-ignore\n private rootOpenModals: McModalRef[] = this.parentService ? null : [];\n // @ts-ignore\n private rootAfterAllClose: Subject<void> = this.parentService ? null : new Subject<void>();\n // @ts-ignore\n private rootRegisteredMetaMap: Map<McModalRef, IRegisteredMeta> = this.parentService ? null : new Map();\n\n // Registered modal for later usage\n private get registeredMetaMap(): Map<McModalRef, IRegisteredMeta> {\n return this.parentService ? this.parentService.registeredMetaMap : this.rootRegisteredMetaMap;\n }\n\n constructor(\n @Optional() @SkipSelf() private parentService: McModalControlService) {\n }\n\n // Register a modal to listen its open/close\n registerModal(modalRef: McModalRef): void {\n if (!this.hasRegistered(modalRef)) {\n const afterOpenSubscription = modalRef.afterOpen.subscribe(() => this.openModals.push(modalRef));\n const afterCloseSubscription = modalRef.afterClose.subscribe(() => this.removeOpenModal(modalRef));\n\n this.registeredMetaMap.set(modalRef, {modalRef, afterOpenSubscription, afterCloseSubscription});\n\n this.handleMultipleMasks(modalRef);\n }\n }\n\n hasRegistered(modalRef: McModalRef): boolean {\n return this.registeredMetaMap.has(modalRef);\n }\n\n // Close all registered opened modals\n closeAll(): void {\n let i = this.openModals.length;\n\n while (i--) {\n this.openModals[i].close();\n }\n }\n\n private removeOpenModal(modalRef: McModalRef): void {\n const index = this.openModals.indexOf(modalRef);\n\n if (index > -1) {\n this.openModals.splice(index, 1);\n\n if (!this.openModals.length) {\n this.afterAllClose.next();\n }\n }\n }\n\n private handleMultipleMasks(modalRef: McModalRef) {\n const modals = Array.from(this.registeredMetaMap.values()).map((v) => v.modalRef) as McModalComponent[];\n\n if (modals.filter((modal) => modal.mcVisible).length > 1) {\n const otherModals = modals.splice(0, modals.length - 1)\n .filter((modal) => modal.mcVisible && modal.mcMask);\n\n // hide other masks\n setTimeout(() => {\n otherModals.forEach((modal) => {\n modal.getInstance().mcMask = false;\n modal.markForCheck();\n });\n });\n\n // show other masks on close\n modalRef.afterClose.subscribe(() => {\n otherModals.forEach((modal) => {\n modal.getInstance().mcMask = true;\n modal.markForCheck();\n });\n });\n }\n }\n}\n","import { Observable } from 'rxjs';\n\nimport { McModalComponent } from './modal.component';\n\n\n/**\n * API class that public to users to handle the modal instance.\n * McModalRef is aim to avoid accessing to the modal instance directly by users.\n */\n// tslint:disable-next-line:naming-convention\nexport abstract class McModalRef<T = any, R = any> {\n abstract afterOpen: Observable<void>;\n abstract afterClose: Observable<R>;\n\n abstract open(): void;\n\n abstract close(result?: R): void;\n\n abstract destroy(result?: R): void;\n\n /**\n * Trigger the mcOnOk/mcOnCancel by manual\n */\n abstract triggerOk(): void;\n\n abstract triggerCancel(): void;\n\n // /**\n // * Return the ComponentRef of mcContent when specify mcContent as a Component\n // * Note: this method may return undefined if the Component has not ready yet.\n // (it only available after Modal's ngOnInit)\n // */\n // abstract getContentComponentRef(): ComponentRef<{}>;\n\n /**\n * Return the component instance of mcContent when specify mcContent as a Component\n * Note: this method may return undefined if the Component has not ready yet.\n * (it only available after Modal's ngOnInit)\n */\n abstract getContentComponent(): T;\n\n /**\n * Get the dom element of this Modal\n */\n abstract getElement(): HTMLElement;\n\n /**\n * Get the instance of the Modal itself\n */\n abstract getInstance(): McModalComponent;\n\n /**\n * Call markForCheck for change detector\n */\n abstract markForCheck();\n}\n","export interface IClickPosition {\n x: number;\n y: number;\n}\n\nexport class ModalUtil {\n private lastPosition: IClickPosition;\n\n constructor(private document: Document) {\n this.lastPosition = {x: -1, y: -1};\n this.listenDocumentClick();\n }\n\n getLastClickPosition(): IClickPosition {\n return this.lastPosition;\n }\n\n listenDocumentClick(): void {\n this.document.addEventListener('click', (event: MouseEvent) => {\n this.lastPosition = {x: event.clientX, y: event.clientY};\n });\n }\n}\n\nexport const modalUtilObject = new ModalUtil(document);\n","import { OverlayRef } from '@angular/cdk/overlay';\nimport { EventEmitter, TemplateRef, Type } from '@angular/core';\n\n\nexport type OnClickCallback<T> = ((instance: T) => (false | void | {}) | Promise<false | void | {}>);\n\n// Different modal styles we have supported\nexport type ModalType = 'default' | 'confirm' | 'custom';\n\n// Subtypes of Confirm Modal\nexport type ConfirmType = 'confirm' | 'success' | 'warn';\n\nexport enum ModalSize {\n Small = 'small',\n Medium = 'medium',\n // Normal is deprecated and will be deleted in 16.x\n Normal = 'medium',\n Large = 'large'\n}\n\n// Public options for using by service\nexport interface IModalOptions<T = any, R = any> {\n mcModalType?: ModalType;\n mcVisible?: boolean;\n mcZIndex?: number;\n mcWidth?: number | string;\n mcSize?: ModalSize;\n mcWrapClassName?: string;\n mcClassName?: string;\n mcStyle?: object;\n mcTitle?: string | TemplateRef<{}>;\n mcContent?: string | TemplateRef<{}> | Type<T>;\n mcComponent?: Type<T>; // The instance of component opened into the dialog.\n mcComponentParams?: any;\n mcClosable?: boolean;\n mcMask?: boolean;\n mcMaskClosable?: boolean;\n mcMaskStyle?: object;\n mcBodyStyle?: object;\n mcFooter?: string | TemplateRef<{}> | IModalButtonOptions<T>[]; // Default Modal ONLY\n mcGetContainer?: HTMLElement | OverlayRef | (() => HTMLElement | OverlayRef) | null; // STATIC\n mcAfterOpen?: EventEmitter<void>;\n mcAfterClose?: EventEmitter<R>;\n mcCloseByESC?: boolean;\n mcRestoreFocus?: boolean;\n\n // --- Predefined OK & Cancel buttons\n mcOkText?: string;\n mcOkType?: string;\n mcOkLoading?: boolean;\n mcOnOk?: EventEmitter<T> | OnClickCallback<T>;\n mcCancelText?: string;\n mcCancelLoading?: boolean;\n mcOnCancel?: EventEmitter<T> | OnClickCallback<T>;\n}\n\n// tslint:disable-next-line:no-any\nexport interface IModalOptionsForService<T = any> extends IModalOptions<T> {\n mcOnOk?: OnClickCallback<T>;\n mcOnCancel?: OnClickCallback<T>;\n}\n\nexport interface IModalButtonOptions<T = any> {\n label: string;\n // tslint:disable-next-line\n type?: string;\n shape?: string;\n ghost?: boolean;\n size?: string;\n // Default: true, indicate whether show loading automatically while onClick returned a Promise\n autoLoading?: boolean;\n\n // [NOTE] \"componentInstance\" will refer to the component's instance when using Component\n show?: boolean | ((this: IModalButtonOptions<T>, contentComponentInstance?: T) => boolean);\n loading?: boolean | ((this: IModalButtonOptions<T>, contentComponentInstance?: T) => boolean);\n disabled?: boolean | ((this: IModalButtonOptions<T>, contentComponentInstance?: T) => boolean);\n\n autoFocus?: boolean;\n mcModalMainAction?: boolean;\n\n onClick?(this: IModalButtonOptions<T>, contentComponentInstance?: T): (void | {}) | Promise<(void | {})>;\n}\n","import { Directive } from '@angular/core';\n\n\n@Directive({\n selector: `[mc-modal-title], mc-modal-title, [mcModalTitle]`,\n host: {\n class: 'mc-modal-header mc-modal-title'\n }\n})\nexport class McModalTitle {}\n\n@Directive({\n selector: `[mc-modal-body], mc-modal-body, [mcModalBody]`,\n host: {\n class: 'mc-modal-body'\n }\n})\nexport class McModalBody {}\n\n@Directive({\n selector: `[mc-modal-footer], mc-modal-footer, [mcModalFooter]`,\n host: {\n class: 'mc-modal-footer'\n }\n})\nexport class McModalFooter {}\n\n@Directive({\n selector: `[mc-modal-main-action]`\n})\nexport class McModalMainAction {}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n\n@Pipe({\n name: 'toCssUnit'\n})\nexport class CssUnitPipe implements PipeTransform {\n transform(value: number | string, defaultUnit: string = 'px'): string {\n const formatted = +value;\n\n return isNaN(formatted) ? `${value}` : `${formatted}${defaultUnit}`;\n }\n}\n","import { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { DOCUMENT } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ComponentFactoryResolver,\n ComponentRef,\n ElementRef,\n EventEmitter,\n Inject,\n Injector,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n Renderer2,\n SimpleChanges,\n TemplateRef,\n Type,\n ViewChild,\n ViewChildren,\n ViewContainerRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { ESCAPE, ENTER } from '@ptsecurity/cdk/keycodes';\nimport { ThemePalette } from '@ptsecurity/mosaic/core';\nimport { Observable } from 'rxjs';\n\nimport { McModalControlService } from './modal-control.service';\nimport { McModalRef } from './modal-ref.class';\nimport { modalUtilObject as ModalUtil } from './modal-util';\nimport { IModalButtonOptions, IModalOptions, ModalSize, ModalType, OnClickCallback } from './modal.type';\n\n\n// Duration when perform animations (ms)\nexport const MODAL_ANIMATE_DURATION = 200;\n\ntype AnimationState = 'enter' | 'leave' | null;\n\n\n@Component({\n selector: 'mc-modal',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '(keydown)': 'onKeyDown($event)'\n }\n})\nexport class McModalComponent<T = any, R = any> extends McModalRef<T, R>\n implements OnInit, OnChanges, AfterViewInit, OnDestroy, IModalOptions {\n\n themePalette = ThemePalette;\n\n @Input() mcModalType: ModalType = 'default';\n\n // The instance of component opened into the dialog.\n @Input() mcComponent: Type<T>;\n // If not specified, will use <ng-content>\n @Input() mcContent: string | TemplateRef<{}> | Type<T>;\n // available when mcContent is a component\n // @ts-ignore\n @Input() mcComponentParams: any;\n // Default Modal ONLY\n @Input() mcFooter: string | TemplateRef<{}> | IModalButtonOptions<T>[];\n\n @Input()\n get mcVisible() { return this._mcVisible; }\n set mcVisible(value) { this._mcVisible = value; }\n\n private _mcVisible = false;\n\n @Output() mcVisibleChange = new EventEmitter<boolean>();\n\n @Input() mcZIndex: number = 1000;\n @Input() mcWidth: number | string;\n @Input() mcSize: ModalSize = ModalSize.Medium;\n @Input() mcWrapClassName: string;\n @Input() mcClassName: string;\n @Input() mcStyle: object;\n @Input() mcTitle: string | TemplateRef<{}>;\n @Input() mcCloseByESC: boolean = true;\n\n @Input()\n get mcClosable() { return this._mcClosable; }\n set mcClosable(value) { this._mcClosable = value; }\n private _mcClosable = true;\n\n @Input()\n get mcMask() { return this._mcMask; }\n set mcMask(value) { this._mcMask = value; }\n private _mcMask = true;\n\n @Input()\n get mcMaskClosable() { return this._mcMaskClosable; }\n set mcMaskClosable(value) { this._mcMaskClosable = value; }\n private _mcMaskClosable = false;\n\n @Input() mcMaskStyle: object;\n @Input() mcBodyStyle: object;\n\n // Trigger when modal open(visible) after animations\n @Output() mcAfterOpen = new EventEmitter<void>();\n // Trigger when modal leave-animation over\n @Output() mcAfterClose = new EventEmitter<R>();\n\n // --- Predefined OK & Cancel buttons\n @Input() mcOkText: string;\n @Input() mcOkType = 'primary';\n\n @Input() mcRestoreFocus = true;\n\n @Input()\n get mcOkLoading() { return this._mcOkLoading; }\n set mcOkLoading(value) { this._mcOkLoading = value; }\n private _mcOkLoading = false;\n\n @Input() @Output() mcOnOk: EventEmitter<T> | OnClickCallback<T> = new EventEmitter<T>();\n @Input() mcCancelText: string;\n\n @Input()\n get mcCancelLoading() { return this._mcCancelLoading; }\n set mcCancelLoading(value) { this._mcCancelLoading = value; }\n private _mcCancelLoading = false;\n\n @Input() @Output() mcOnCancel: EventEmitter<T> | OnClickCallback<T> = new EventEmitter<T>();\n\n @ViewChild('modalContainer', { static: true }) modalContainer: ElementRef;\n @ViewChild('bodyContainer', { read: ViewContainerRef, static: false }) bodyContainer: ViewContainerRef;\n // Only aim to focus the ok button that needs to be auto focused\n @ViewChildren('autoFocusedButton', { read: ElementRef }) autoFocusedButtons: QueryList<ElementRef>;\n\n @ViewChild('modalBody') modalBody: ElementRef;\n\n isTopOverflow: boolean = false;\n isBottomOverflow: boolean = false;\n\n maskAnimationClassMap: object;\n modalAnimationClassMap: object;\n // The origin point that animation based on\n transformOrigin = '0px 0px 0px';\n\n // Observable alias for mcAfterOpen\n get afterOpen(): Observable<void> {\n return this.mcAfterOpen.asObservable();\n }\n\n // Observable alias for mcAfterClose\n get afterClose(): Observable<R> {\n return this.mcAfterClose.asObservable();\n }\n\n get okText(): string {\n return this.mcOkText;\n }\n\n get cancelText(): string {\n return this.mcCancelText;\n }\n\n // Indicate whether this dialog should hidden\n get hidden(): boolean {\n return !this.mcVisible && !this.animationState;\n }\n\n private focusedElementBeforeOpen: HTMLElement | null;\n\n // Handle the reference when using mcContent as Component\n private contentComponentRef: ComponentRef<T>;\n // Current animation state\n private animationState: AnimationState;\n private container: HTMLElement | OverlayRef;\n\n constructor(\n private overlay: Overlay,\n private renderer: Renderer2,\n private cfr: ComponentFactoryResolver,\n private elementRef: ElementRef,\n private viewContainer: ViewContainerRef,\n private modalControl: McModalControlService,\n private changeDetector: ChangeDetectorRef,\n @Inject(DOCUMENT) private document: any\n ) {\n super();\n }\n\n @Input() mcGetContainer: HTMLElement | OverlayRef | (() => HTMLElement | OverlayRef) = () => this.overlay.create();\n\n ngOnInit() {\n // Create component along without View\n if (this.isComponent(this.mcContent)) {\n this.createDynamicComponent(this.mcContent as Type<T>);\n }\n\n // Setup default button options\n if (this.isModalButtons(this.mcFooter)) {\n this.mcFooter = this.formatModalButtons(this.mcFooter as IModalButtonOptions<T>[]);\n }\n\n if (this.isComponent(this.mcComponent)) {\n this.createDynamicComponent(this.mcComponent);\n }\n\n // Place the modal dom to elsewhere\n this.container = typeof this.mcGetContainer === 'function' ? this.mcGetContainer() : this.mcGetContainer;\n if (this.container instanceof HTMLElement) {\n this.container.appendChild(this.elementRef.nativeElement);\n } else if (this.container instanceof OverlayRef) {\n // NOTE: only attach the dom to overlay, the view container is not changed actually\n this.container.overlayElement.appendChild(this.elementRef.nativeElement);\n }\n\n // Register modal when afterOpen/afterClose is stable\n this.modalControl.registerModal(this);\n }\n\n // [NOTE] NOT available when using by service!\n // Because ngOnChanges never be called when using by service,\n // here we can't support \"mcContent\"(Component) etc. as inputs that initialized dynamically.\n // BUT: User also can change \"mcContent\" dynamically to trigger UI changes\n // (provided you don't use \bComponent that needs initializations)\n ngOnChanges(changes: SimpleChanges) {\n if (changes.mcVisible) {\n // Do not trigger animation while initializing\n this.handleVisibleStateChange(this.mcVisible, !changes.mcVisible.firstChange);\n }\n }\n\n ngAfterViewInit() {\n // If using Component, it is the time to attach View while bodyContainer is ready\n if (this.contentComponentRef) {\n this.bodyContainer.insert(this.contentComponentRef.hostView);\n }\n this.getElement().getElementsByTagName('button')[0]?.focus();\n\n for (const autoFocusedButton of this.autoFocusedButtons.toArray()) {\n if (autoFocusedButton.nativeElement.autofocus) {\n (autoFocusedButton.nativeElement as HTMLButtonElement).focus();\n\n break;\n }\n }\n\n this.checkOverflow();\n }\n\n ngOnDestroy() {\n if (this.container instanceof OverlayRef) {\n this.container.dispose();\n }\n }\n\n checkOverflow(): void {\n const nativeElement = this.modalBody?.nativeElement;\n\n if (!nativeElement) { return; }\n\n const scrollTop: number = nativeElement.scrollTop;\n const offsetHeight: number = nativeElement.offsetHeight;\n const scrollHeight: number = nativeElement.scrollHeight;\n\n this.isTopOverflow = scrollTop > 0;\n\n this.isBottomOverflow = (scrollTop as number + offsetHeight as number) < scrollHeight;\n }\n\n open() {\n this.focusedElementBeforeOpen = this.document.activeElement;\n\n this.changeVisibleFromInside(true);\n }\n\n close(result?: R) {\n if (this.mcRestoreFocus) {\n this.focusedElementBeforeOpen?.focus();\n }\n\n this.changeVisibleFromInside(false, result);\n\n this.focusedElementBeforeOpen = null;\n }\n\n // Destroy equals Close\n destroy(result?: R) {\n this.close(result);\n }\n\n markForCheck() {\n this.changeDetector.markForCheck();\n }\n\n triggerOk() {\n this.onClickOkCancel('ok');\n }\n\n triggerCancel() {\n this.onClickOkCancel('cancel');\n }\n\n getInstance(): McModalComponent {\n return this;\n }\n\n getContentComponentRef(): ComponentRef<T> {\n return this.contentComponentRef;\n }\n\n getContentComponent(): T {\n return this.contentComponentRef && this.contentComponentRef.instance;\n }\n\n getElement(): HTMLElement {\n return this.elementRef && this.elementRef.nativeElement;\n }\n\n getMcFooter(): HTMLElement {\n return this.getElement().getElementsByClassName('mc-modal-footer').item(0) as HTMLElement;\n }\n\n onClickMask($event: MouseEvent) {\n if (\n this.mcMask &&\n this.mcMaskClosable &&\n ($event.target as HTMLElement).classList.contains('mc-modal-wrap') &&\n this.mcVisible\n ) {\n this.onClickOkCancel('cancel');\n }\n }\n\n // tslint:disable-next-line: no-reserved-keywords\n isModalType(type: ModalType): boolean {\n return this.mcModalType === type;\n }\n\n onKeyDown(event: KeyboardEvent): void {\n\n // tslint:disable-next-line:deprecation .key isn't supported in Edge\n if (event.keyCode === ESCAPE && this.container && (this.container instanceof OverlayRef)) {\n\n this.close();\n event.preventDefault();\n }\n // tslint:disable-next-line:deprecation .key isn't supported in Edge\n if (event.ctrlKey && event.keyCode === ENTER) {\n if (this.mcModalType === 'confirm') {\n this.triggerOk();\n }\n\n (this.getElement().querySelector('[mc-modal-main-action]') as HTMLElement)?.click();\n\n event.preventDefault();\n }\n }\n\n // AoT\n onClickCloseBtn() {\n if (this.mcVisible) {\n this.onClickOkCancel('cancel');\n }\n }\n\n // AoT\n // tslint:disable-next-line: no-reserved-keywords\n onClickOkCancel(type: 'ok' | 'cancel') {\n const trigger = { ok: this.mcOnOk, cancel: this.mcOnCancel }[type];\n const loadingKey = { ok: 'mcOkLoading', cancel: 'mcCancelLoading' }[type];\n\n if (trigger instanceof EventEmitter) {\n trigger.emit(this.getContentComponent());\n } else if (typeof trigger === 'function') {\n\n const result = trigger(this.getContentComponent());\n // Users can return \"false\" to prevent closing by default\n const caseClose = (doClose: boolean | void | {}) => (doClose !== false) && this.close(doClose as R);\n\n if (isPromise(result)) {\n this[loadingKey] = true;\n const handleThen = (doClose) => {\n this[loadingKey] = false;\n caseClose(doClose);\n };\n (result as Promise<void>).then(handleThen).catch(handleThen);\n } else {\n caseClose(result);\n }\n }\n }\n\n // AoT\n isNonEmptyString(value: {}): boolean {\n return typeof value === 'string' && value !== '';\n }\n\n // AoT\n isTemplateRef(value: {}): boolean {\n return value instanceof TemplateRef;\n }\n\n // AoT\n isComponent(value: {}): boolean {\n return value instanceof Type;\n }\n\n // AoT\n isModalButtons(value: {}): boolean {\n return Array.isArray(value) && value.length > 0;\n }\n\n // Lookup a button's property, if the prop is a function, call & then return the result, otherwise, return itself.\n // AoT\n getButtonCallableProp(options: IModalButtonOptions<T>, prop: string): {} {\n const value = options[prop];\n const args: any[] = [];\n if (this.contentComponentRef) {\n args.push(this.contentComponentRef.instance);\n }\n\n return typeof value === 'function' ? value.apply(options, args) : value;\n }\n\n // On mcFooter's modal button click\n // AoT\n onButtonClick(button: IModalButtonOptions<T>) {\n // Call onClick directly\n // tslint:disable-next-line:no-inferred-empty-object-type rule seems to be broken\n const result = this.getButtonCallableProp(button, 'onClick');\n if (isPromise(result)) {\n button.loading = true;\n (result as Promise<{}>).then(() => button.loading = false).catch(() => button.loading = false);\n }\n }\n\n // Do rest things when visible state changed\n private handleVisibleStateChange(visible: boolean, animation: boolean = true, closeResult?: R): Promise<any> {\n // Hide scrollbar at the first time when shown up\n if (visible) {\n this.changeBodyOverflow(1);\n }\n\n return Promise\n .resolve(animation && this.animateTo(visible))\n // Emit open/close event after animations over\n .then(() => {\n if (visible) {\n this.mcAfterOpen.emit();\n } else {\n this.mcAfterClose.emit(closeResult);\n // Show/hide scrollbar when animation is over\n this.changeBodyOverflow();\n }\n });\n }\n\n // Change mcVisible from inside\n private changeVisibleFromInside(visible: boolean, closeResult?: R): Promise<void> {\n if (this.mcVisible !== visible) {\n // Change mcVisible value immediately\n this.mcVisible = visible;\n this.mcVisibleChange.emit(visible);\n\n return this.handleVisibleStateChange(visible, true, closeResult);\n }\n\n return Promise.resolve();\n }\n\n private changeAnimationState(state: AnimationState) {\n this.animationState = state;\n if (state) {\n this.maskAnimationClassMap = {\n [`fade-${state}`]: true,\n [`fade-${state}-active`]: true\n };\n\n this.modalAnimationClassMap = {\n [`zoom-${state}`]: true,\n [`zoom-${state}-active`]: true\n };\n } else {\n // @ts-ignore\n this.maskAnimationClassMap = this.modalAnimationClassMap = null;\n }\n\n if (this.contentComponentRef) {\n this.contentComponentRef.changeDetectorRef.markForCheck();\n } else {\n this.changeDetector.markForCheck();\n }\n }\n\n private animateTo(isVisible: boolean): Promise<any> {\n // Figure out the lastest click position when shows up\n if (isVisible) {\n // [NOTE] Using timeout due to the document.click event is fired later than visible change,\n // so if not postponed to next event-loop, we can't get the lastest click position\n window.setTimeout(() => this.updateTransformOrigin());\n }\n\n this.changeAnimationState(isVisible ? 'enter' : 'leave');\n\n // Return when animation is over\n return new Promise((resolve) => {\n return window.setTimeout(\n () => {\n this.changeAnimationState(null);\n resolve(null);\n },\n MODAL_ANIMATE_DURATION\n );\n });\n }\n\n private formatModalButtons(buttons: IModalButtonOptions<T>[]): IModalButtonOptions<T>[] {\n return buttons.map((button) => {\n\n return {\n ...{\n type: 'default',\n size: 'default',\n autoLoading: true,\n show: true,\n loading: false,\n disabled: false\n },\n ...button\n };\n });\n }\n\n /**\n * Create a component dynamically but not attach to any View\n * (this action will be executed when bodyContainer is ready)\n * @param component Component class\n */\n private createDynamicComponent(component: Type<T>) {\n const factory = this.cfr.resolveComponentFactory(component);\n const childInjector = Injector.create({\n providers: [{provide: McModalRef, useValue: this}],\n parent: this.viewContainer.injector\n });\n\n this.contentComponentRef = factory.create(childInjector);\n\n if (this.mcComponentParams) {\n // @ts-ignore\n Object.assign(this.contentComponentRef.instance, this.mcComponentParams);\n }\n\n // Do the first change detection immediately\n // (or we do detection at ngAfterViewInit, multi-changes error will be thrown)\n this.contentComponentRef.changeDetectorRef.detectChanges();\n }\n\n // Update transform-origin to the last click position on document\n private updateTransformOrigin() {\n const modalElement = this.modalContainer.nativeElement as HTMLElement;\n const lastPosition = ModalUtil.getLastClickPosition();\n\n if (lastPosition) {\n this.transformOrigin = `${lastPosition.x - modalElement.offsetLeft}px ${lastPosition.y - modalElement.offsetTop}px 0px`;\n }\n }\n\n /**\n * Take care of the body's overflow to decide the existense of scrollbar\n * @param plusNum The number that the openModals.length will increase soon\n */\n private changeBodyOverflow(plusNum: number = 0) {\n const openModals = this.modalControl.openModals;\n\n if (openModals.length + plusNum > 0) {\n this.renderer.setStyle(this.document.body, 'overflow', 'hidden');\n } else {\n this.renderer.removeStyle(this.document.body, 'overflow');\n }\n }\n}\n\n////////////\n\nfunction isPromise(obj: {} | void): boolean {\n // tslint:disable-next-line: no-unbound-method\n return !!obj &&\n (typeof obj === 'object' || typeof obj === 'function') &&\n typeof (obj as Promise<{}>).then === 'function' &&\n typeof (obj as Promise<{}>).catch === 'function';\n}\n","<!-- Compatible: the <ng-content> can appear only once -->\n<ng-template #tplOriginContent>\n <ng-content></ng-content>\n</ng-template>\n\n<div>\n <div *ngIf=\"mcMask\"\n class=\"mc-modal-mask\"\n [ngClass]=\"maskAnimationClassMap\"\n [class.mc-modal-mask-hidden]=\"hidden\"\n [ngStyle]=\"mcMaskStyle\"\n [style.zIndex]=\"mcZIndex\"\n ></div>\n <div (mousedown)=\"onClickMask($event)\"\n class=\"mc-modal-wrap {{ mcWrapClassName }}\"\n [style.zIndex]=\"mcZIndex\"\n [style.display]=\"hidden ? 'none' : ''\"\n tabindex=\"-1\">\n\n <div #modalContainer\n class=\"mc-modal {{ mcClassName }} mc-modal_{{ mcSize }}\"\n [ngClass]=\"modalAnimationClassMap\"\n [ngStyle]=\"mcStyle\"\n [style.width]=\"mcWidth | toCssUnit\"\n [style.transform-origin]=\"transformOrigin\">\n\n <div class=\"mc-modal-content\" cdkTrapFocus [cdkTrapFocusAutoCapture]=\"mcRestoreFocus\">\n <button *ngIf=\"mcClosable\"\n mc-button\n (click)=\"onClickCloseBtn()\"\n class=\"mc-modal-close mc-button_transparent\">\n <i mc-icon=\"mc-close-L_16\" class=\"mc-icon mc-icon_light\" [color]=\"themePalette.Secondary\"></i>\n </button>\n <ng-container [ngSwitch]=\"true\">\n <ng-container *ngSwitchCase=\"isModalType('default')\"\n [ngTemplateOutlet]=\"tplContentDefault\"></ng-container>\n <ng-container *ngSwitchCase=\"isModalType('confirm')\"\n [ngTemplateOutlet]=\"tplContentConfirm\"></ng-container>\n <ng-container *ngSwitchCase=\"isModalType('custom')\"\n [ngTemplateOutlet]=\"tplContentCustom\"></ng-container>\n </ng-container>\n </div>\n </div>\n </div>\n</div>\n\n<ng-template #tplContentCustom>\n <ng-container #bodyContainer></ng-container>\n</ng-template>\n\n\n<!-- [Predefined] Default Modal Content -->\n<ng-template #tplContentDefault>\n <div *ngIf=\"mcTitle\" class=\"mc-modal-header\" [class.mc-modal-body_top-overflow]=\"isTopOverflow\">\n <div class=\"mc-modal-title\">\n <ng-container [ngSwitch]=\"true\">\n <ng-container *ngSwitchCase=\"isTemplateRef(mcTitle)\" [ngTemplateOutlet]=\"$any(mcTitle)\"></ng-container>\n <ng-container *ngSwitchCase=\"isNonEmptyString(mcTitle)\">\n <div [innerHTML]=\"mcTitle\"></div>\n </ng-container>\n </ng-container>\n </div>\n </div>\n <div class=\"mc-modal-body mc-scrollbar\" #modalBody [ngStyle]=\"mcBodyStyle\" (scroll)=\"checkOverflow()\">\n <ng-container #bodyContainer>\n <ng-container *ngIf=\"!isComponent(mcContent)\" [ngSwitch]=\"true\">\n <ng-container *ngSwitchCase=\"isTemplateRef(mcContent)\" [ngTemplateOutlet]=\"$any(mcContent)\"></ng-container>\n <ng-container *ngSwitchCase=\"isNonEmptyString(mcContent)\">\n <div [innerHTML]=\"mcContent\"></div>\n </ng-container>\n <ng-container *ngSwitchDefault [ngTemplateOutlet]=\"tplOriginContent\"></ng-container>\n </ng-container>\n </ng-container>\n </div>\n <div *ngIf=\"mcFooter || mcOkText || mcCancelText\" class=\"mc-modal-footer\" [class.mc-modal-body_bottom-overflow]=\"isBottomOverflow\">\n <ng-container [ngSwitch]=\"true\">\n <ng-container *ngSwitchCase=\"isTemplateRef(mcFooter)\" [ngTemplateOutlet]=\"$any(mcFooter)\"></ng-container>\n <ng-container *ngSwitchCase=\"isNonEmptyString(mcFooter)\">\n <div [innerHTML]=\"mcFooter\"></div>\n </ng-container>\n <ng-container *ngSwitchCase=\"isModalButtons(mcFooter)\">\n <ng-container *ngFor=\"let button of $any(mcFooter)\">\n <button\n mc-button\n #autoFocusedButton\n [attr.autofocus]=\"button.autoFocus\"\n [attr.mc-modal-main-action]=\"button.mcModalMainAction\"\n *ngIf=\"getButtonCallableProp(button, 'show')\"\n [disabled]=\"getButtonCallableProp(button, 'disabled')\"\n [class.mc-progress]=\"getButtonCallableProp(button, 'loading')\"\n (click)=\"onButtonClick(button)\"\n [color]=\"button.type\">\n {{ button.label }}\n </button>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <button\n #autoFocusedButton\n [attr.autofocus]=\"true\"\n *ngIf=\"mcOkText\"\n mc-button\n [color]=\"themePalette.Primary\"\n (click)=\"onClickOkCancel('ok')\">\n\n {{ okText }}\n </button>\n <button *ngIf=\"mcCancelText\" mc-button (click)=\"onClickOkCancel('cancel')\">\n {{ cancelText }}\n </button>\n </ng-container>\n </ng-container>\n </div>\n</ng-template>\n<!-- /[Predefined] Default Modal Content -->\n\n<!-- [Predefined] Confirm Modal Content -->\n<ng-template #tplContentConfirm>\n <div class=\"mc-modal-body\" [ngStyle]=\"mcBodyStyle\">\n <div class=\"mc-confirm-body-wrapper\">\n <div class=\"mc-confirm-body\">\n <div class=\"mc-confirm-content\">\n <ng-container #bodyContainer>\n <ng-container *ngIf=\"!isComponent(mcContent)\" [ngSwitch]=\"true\">\n <ng-container *ngSwitchCase=\"isTemplateRef(mcContent)\"\n [ngTemplateOutlet]=\"$any(mcContent)\">\n </ng-container>\n <ng-container *ngSwitchCase=\"isNonEmptyString(mcContent)\">\n <div [innerHTML]=\"mcContent\"></div>\n </ng-container>\n <ng-container *ngSwitchDefault [ngTemplateOutlet]=\"tplOriginContent\"></ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n </div> <!-- /.mc-confirm-body-wrapper -->\n </div>\n <div class=\"mc-confirm-btns\" *ngIf=\"mcOkText || mcCancelText\">\n <button\n mc-button\n #autoFocusedButton\n [color]=\"mcOkType\"\n [attr.autofocus]=\"true\"\n *ngIf=\"mcOkText\"\n (click)=\"onClickOkCancel('ok')\">\n\n {{ okText }}\n </button>\n\n <button mc-button [color]=\"themePalette.Secondary\" *ngIf=\"mcCancelText\" (click)=\"onClickOkCancel('cancel')\">\n {{ cancelText }}\n </button>\n </div>\n</ng-template>\n<!-- /[Predefined] Confirm Modal Content -->\n","import { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { ComponentRef, Injectable } from '@angular/core';\nimport { ESCAPE } from '@ptsecurity/cdk/keycodes';\nimport { Observable } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport { McModalControlService } from './modal-control.service';\nimport { McModalRef } from './modal-ref.class';\nimport { McModalComponent } from './modal.component';\nimport { ConfirmType, IModalOptions, IModalOptionsForService } from './modal.type';\n\n\n// A builder used for managing service creating modals\nexport class ModalBuilderForService {\n // Modal ComponentRef, \"null\" means it has been destroyed\n private modalRef: ComponentRef<McModalComponent> | null;\n private overlayRef: OverlayRef;\n\n constructor(private overlay: Overlay, options: IModalOptionsForService = {}) {\n this.createModal();\n\n if (!('mcGetContainer' in options)) {\n options.mcGetContainer = undefined;\n }\n\n this.changeProps(options);\n this.modalRef!.instance.open();\n this.modalRef!.instance.mcAfterClose.subscribe(() => this.destroyModal());\n\n this.overlayRef.keydownEvents()\n .pipe(filter((event: KeyboardEvent) => {\n // tslint:disable-next-line:deprecation replacement .key isn't supported in Edge\n return !!(event.keyCode === ESCAPE && options.mcCloseByESC);\n }))\n .subscribe(() => this.modalRef!.instance.close());\n }\n\n getInstance(): McModalComponent | null {\n return this.modalRef && this.modalRef.instance;\n }\n\n destroyModal(): void {\n if (this.modalRef) {\n this.overlayRef.dispose();\n this.modalRef = null;\n }\n }\n\n private changeProps(options: IModalOptions): void {\n if (this.modalRef) {\n // here not limit user's inputs at runtime\n Object.assign(this.modalRef.instance, options);\n }\n }\n\n // Create component to ApplicationRef\n private createModal(): void {\n this.overlayRef = this.overlay.create();\n this.overlayRef.hostElement.classList.add('mc-modal-overlay');\n this.modalRef = this.overlayRef.attach(new ComponentPortal(McModalComponent));\n }\n}\n\n@Injectable()\nexport class McModalService {\n // Track of the current close modals (we assume invisible is close this time)\n get openModals(): McModalRef[] {\n return this.modalControl.openModals;\n }\n\n get afterAllClose(): Observable<void> {\n return this.modalControl.afterAllClose.asObservable();\n }\n\n constructor(\n private overlay: Overlay,\n private modalControl: McModalControlService\n ) {}\n\n // Closes all of the currently-open dialogs\n closeAll(): void {\n this.modalControl.closeAll();\n }\n\n create<T>(options: IModalOptionsForService<T> = {}): McModalRef<T> {\n\n if (typeof options.mcOnCancel !== 'function') {\n // Leave a empty function to close this modal by default\n // tslint:disable-next-line\n options.mcOnCancel = () => {};\n }\n\n if (!('mcCloseByESC' in options)) {\n options.mcCloseByESC = true;\n }\n // Remove the Cancel button if the user not specify a Cancel button\n if (!('mcCancelText' in options)) {\n options.mcCancelText = undefined;\n }\n // Remove the Ok button if the user not specify a Ok button\n if (!('mcOkText' in options)) {\n options.mcOkText = undefined;\n }\n // Remove the footer if the user not specify a footer\n if (!('mcFooter' in options)) {\n options.mcFooter = undefined;\n }\n\n return new ModalBuilderForService(this.overlay, options).getInstance()!;\n }\n\n confirm<T>(options: IModalOptionsForService<T> = {}, confirmType: ConfirmType = 'confirm'): McModalRef<T> {\n if ('mcFooter' in options) {\n console.warn(`The Confirm-Modal doesn't support \"mcFooter\", this property will be ignored.`);\n }\n\n // NOTE: only support function currently by calling confirm()\n if (typeof options.mcOnOk !== 'function') {\n // Leave a empty function to close this modal by default\n // tslint:disable-next-line\n options.mcOnOk = () => {};\n }\n\n options.mcModalType = 'confirm';\n options.mcClassName = `mc-confirm mc-confirm-${confirmType} ${options.mcClassName || ''}`;\n\n return this.create(options);\n }\n\n open<T>(options: IModalOptionsForService<T> = {}): McModalRef<T> {\n\n options.mcModalType = 'custom';\n\n return this.create(options);\n }\n\n success<T>(options: IModalOptionsForService<T> = {}): McModalRef<T> {\n return this.simpleConfirm(options, 'success');\n }\n\n // tslint:disable-next-line: no-reserved-keywords\n delete<T>(options: IModalOptionsForService<T> = {}): McModalRef<T> {\n return this.simpleConfirm(options, 'warn');\n }\n\n private simpleConfirm<T>(options: IModalOptionsForService<T> = {}, confirmType: ConfirmType): McModalRef<T> {\n return this.confirm(options, confirmType);\n }\n}\n","import {\n A11yModule,\n ConfigurableFocusTrapFactory,\n FocusTrapFactory\n} from '@angular/cdk/a11y';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { McButtonModule } from '@ptsecurity/mosaic/button';\nimport { McIconModule } from '@ptsecurity/mosaic/icon';\n\nimport { CssUnitPipe } from './css-unit.pipe';\nimport { McModalControlService } from './modal-control.service';\nimport { McModalComponent } from './modal.component';\nimport { McModalBody, McModalFooter, McModalTitle, McModalMainAction } from './modal.directive';\nimport { McModalService } from './modal.service';\n\n\n@NgModule({\n imports: [\n CommonModule,\n OverlayModule,\n A11yModule,\n McButtonModule,\n McIconModule\n ],\n exports: [\n McModalComponent,\n McModalTitle,\n McModalBody,\n McModalFooter,\n McModalMainAction\n ],\n declarations: [\n McModalComponent,\n McModalTitle,\n McModalBody,\n McModalFooter,\n CssUnitPipe,\n McModalMainAction\n ],\n providers: [\n McModalControlService,\n McModalService,\n { provide: FocusTrapFactory, useClass: ConfigurableFocusTrapFactory }\n ]\n})\nexport class McModalModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["ModalUtil","i7.McModalMainAction","i8.CssUnitPipe","i2.McModalControlService"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ptsecurity-mosaic-navbar.mjs","sources":["../../../packages/mosaic/navbar/navbar.component.ts","../../../packages/mosaic/navbar/vertical-navbar.animation.ts","../../../packages/mosaic/navbar/vertical-navbar.component.ts","../../../packages/mosaic/navbar/navbar-item.component.ts","../../../packages/mosaic/navbar/navbar-item.component.html","../../../packages/mosaic/navbar/navbar.module.ts","../../../packages/mosaic/navbar/ptsecurity-mosaic-navbar.ts"],"sourcesContent":["import {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Directive,\n ElementRef,\n forwardRef,\n Input,\n OnDestroy,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport { FocusKeyManager } from '@ptsecurity/cdk/a11y';\nimport {\n LEFT_ARROW,\n RIGHT_ARROW,\n TAB,\n isHorizontalMovement,\n isVerticalMovement\n} from '@ptsecurity/cdk/keycodes';\nimport { merge, Observable, Subject, Subscription } from 'rxjs';\nimport { debounceTime, startWith, takeUntil } from 'rxjs/operators';\n\nimport {\n McNavbarFocusableItem,\n McNavbarFocusableItemEvent,\n McNavbarItem,\n McNavbarRectangleElement\n} from './navbar-item.component';\n\n\nexport type McNavbarContainerPositionType = 'left' | 'right';\n\n\n@Directive()\nexport class McFocusableComponent implements AfterContentInit, OnDestroy {\n @ContentChildren(forwardRef(() => McNavbarFocusableItem), { descendants: true })\n focusableItems: QueryList<McNavbarFocusableItem>;\n\n keyManager: FocusKeyManager<McNavbarFocusableItem>;\n\n @Input()\n get tabIndex(): any {\n return this._tabIndex;\n }\n\n set tabIndex(value: any) {\n this._tabIndex = value;\n }\n\n private _tabIndex = 0;\n\n get optionFocusChanges(): Observable<McNavbarFocusableItemEvent> {\n return merge(...this.focusableItems.map((item) => item.onFocus));\n }\n\n get optionBlurChanges(): Observable<McNavbarFocusableItemEvent> {\n return merge(...this.focusableItems.map((option) => option.onBlur));\n }\n\n protected readonly destroyed = new Subject<void>();\n\n private optionFocusSubscription: Subscription | null;\n private optionBlurSubscription: Subscription | null;\n\n constructor(protected changeDetectorRef: ChangeDetectorRef) {}\n\n ngAfterContentInit(): void {\n this.keyManager = new FocusKeyManager<McNavbarFocusableItem>(this.focusableItems)\n .withTypeAhead();\n\n this.keyManager.setFocusOrigin('keyboard');\n\n this.keyManager.tabOut\n .pipe(takeUntil(this.destroyed))\n .subscribe(() => {\n this.tabIndex = -1;\n\n setTimeout(() => {\n this.tabIndex = 0;\n this.changeDetectorRef.markForCheck();\n });\n });\n\n this.focusableItems.changes\n .pipe(startWith(null), takeUntil(this.destroyed))\n .subscribe(() => {\n this.resetOptions();\n\n // Check to see if we need to update our tab index\n this.updateTabIndex();\n });\n }\n\n ngOnDestroy() {\n this.destroyed.next();\n\n this.destroyed.complete();\n }\n\n focus(): void {\n if (this.focusableItems.length === 0) { return; }\n\n this.keyManager.setFirstItemActive();\n }\n\n blur() {\n if (!this.hasFocusedItem()) {\n this.keyManager.setActiveItem(-1);\n }\n\n this.changeDetectorRef.markForCheck();\n }\n\n protected resetOptions() {\n this.dropSubscriptions();\n this.listenToOptionsFocus();\n }\n\n protected dropSubscriptions() {\n if (this.optionFocusSubscription) {\n this.optionFocusSubscription.unsubscribe();\n this.optionFocusSubscription = null;\n }\n\n if (this.optionBlurSubscription) {\n this.optionBlurSubscription.unsubscribe();\n this.optionBlurSubscription = null;\n }\n }\n\n private listenToOptionsFocus(): void {\n this.optionFocusSubscription = this.optionFocusChanges\n .subscribe((event) => {\n const index: number = this.focusableItems.toArray().indexOf(event.item);\n\n if (this.isValidIndex(index)) {\n this.keyManager.updateActiveItem(index);\n }\n });\n\n this.optionBlurSubscription = this.optionBlurChanges\n .subscribe(() => this.blur());\n }\n\n private updateTabIndex(): void {\n this.tabIndex = this.focusableItems.length === 0 ? -1 : 0;\n }\n\n private isValidIndex(index: number): boolean {\n return index >= 0 && index < this.focusableItems.length;\n }\n\n private hasFocusedItem() {\n return this.focusableItems.some((item) => item.hasFocus);\n }\n}\n\n\n@Directive({\n selector: 'mc-navbar-container',\n host: {\n class: 'mc-navbar-container'\n }\n})\nexport class McNavbarContainer {}\n\n@Component({\n selector: 'mc-navbar',\n template: `<ng-content select=\"[mc-navbar-container], mc-navbar-container\"></ng-content>`,\n styleUrls: [\n './navbar.scss',\n './navbar-item.scss',\n './navbar-brand.scss',\n './navbar-divider.scss'\n ],\n host: {\n class: 'mc-navbar',\n\n '[attr.tabindex]': 'tabIndex',\n\n '(focus)': 'focus()',\n '(blur)': 'blur()',\n\n '(keydown)': 'onKeyDown($event)',\n\n '(window:resize)': 'resizeStream.next($event)'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class McNavbar extends McFocusableComponent implements AfterViewInit, AfterContentInit, OnDestroy {\n @ContentChildren(forwardRef(() => McNavbarRectangleElement), { descendants: true })\n rectangleElements: QueryList<McNavbarRectangleElement>;\n\n @ContentChildren(forwardRef(() => McNavbarItem), { descendants: true }) navbarItems: QueryList<McNavbarItem>;\n\n readonly resizeStream = new Subject<Event>();\n\n private readonly resizeDebounceInterval: number = 100;\n\n private get width(): number {\n return this.elementRef.nativeElement.getBoundingClientRect().width;\n }\n\n private get totalItemsWidth(): number {\n return this.rectangleElements\n .reduce((acc, item) => acc + item.getOuterElementWidth(), 0);\n }\n\n private get collapsableItems(): McNavbarItem[] {\n return this.navbarItems\n .toArray()\n .filter((item) => item.icon && item.title && item.collapsable)\n .reverse();\n }\n\n private resizeSubscription: Subscription;\n\n constructor(\n private elementRef: ElementRef,\n changeDetectorRef: ChangeDetectorRef\n ) {\n super(changeDetectorRef);\n\n this.resizeSubscription = this.resizeStream\n .pipe(debounceTime(this.resizeDebounceInterval))\n .subscribe(this.updateExpandedStateForItems);\n }\n\n ngAfterContentInit(): void {\n this.setItemsState();\n\n this.rectangleElements.changes\n .subscribe(this.setItemsState);\n\n super.ngAfterContentInit();\n\n this.keyManager\n .withVerticalOrientation(false)\n .withHorizontalOrientation('ltr');\n }\n\n ngAfterViewInit(): void {\n // Note: this wait is required for loading and rendering fonts for icons;\n // unfortunately we cannot control font rendering\n setTimeout(this.updateExpandedStateForItems);\n }\n\n ngOnDestroy() {\n this.resizeSubscription.unsubscribe();\n\n super.ngOnDestroy();\n }\n\n onKeyDown(event: KeyboardEvent) {\n // tslint:disable-next-line: deprecation\n const keyCode = event.keyCode;\n\n if (isVerticalMovement(event) || isHorizontalMovement(event)) {\n event.preventDefault();\n }\n\n if (keyCode === TAB) {\n this.keyManager.tabOut.next();\n\n return;\n } else if (keyCode === RIGHT_ARROW) {\n this.keyManager.setNextItemActive();\n } else if (keyCode === LEFT_ARROW) {\n this.keyManager.setPreviousItemActive();\n } else {\n this.keyManager.onKeydown(event);\n }\n }\n\n updateExpandedStateForItems = () => {\n const collapseDelta = this.totalItemsWidth - this.width;\n\n const needCollapse = collapseDelta > 0;\n\n if (needCollapse) {\n this.collapseItems(collapseDelta);\n } else {\n this.expandItems(collapseDelta);\n }\n }\n\n private collapseItems(collapseDelta: number) {\n let delta = collapseDelta;\n\n const unCollapsedItems = this.collapsableItems\n .filter((item) => !item.collapsed);\n\n for (const item of unCollapsedItems) {\n item.collapsed = true;\n delta -= item.getTitleWidth();\n\n if (delta < 0) { break; }\n }\n }\n\n private expandItems(collapseDelta: number) {\n let delta = collapseDelta;\n\n this.collapsableItems\n .filter((item) => item.collapsed)\n .forEach((item) => {\n if (delta + item.getTitleWidth() < 0) {\n item.collapsed = false;\n delta += item.getTitleWidth();\n }\n });\n }\n\n private setItemsState = () => {\n Promise.resolve()\n .then(() => this.rectangleElements?.forEach((item) => item.horizontal = true));\n }\n}\n","import { animate, AnimationTriggerMetadata, style, transition, trigger, state } from '@angular/animations';\nimport {\n VerticalNavbarSizeStatesCollapsedWidth as closedWidth,\n VerticalNavbarSizeStatesExpandedWidth as openedWidth\n} from '@mosaic-design/tokens-fe-2022/web';\n\n\nexport function toggleVerticalNavbarAnimation(): AnimationTriggerMetadata {\n return trigger('toggle', [\n state('0', style({ width: `var(--mc-vertical-navbar-size-states-collapsed-width, ${closedWidth})` })),\n state('1', style({ width: `var(--mc-vertical-navbar-size-states-expanded-width, ${openedWidth})` })),\n transition('0 <=> 1', animate('200ms cubic-bezier(0, 1, 0.5, 1)'))\n ]);\n}\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n forwardRef,\n Input,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport {\n DOWN_ARROW,\n UP_ARROW,\n TAB,\n isVerticalMovement,\n isHorizontalMovement\n} from '@ptsecurity/cdk/keycodes';\nimport { Subject } from 'rxjs';\n\nimport {\n McNavbarBento,\n McNavbarItem,\n McNavbarRectangleElement\n} from './navbar-item.component';\nimport { McFocusableComponent } from './navbar.component';\nimport { toggleVerticalNavbarAnimation } from './vertical-navbar.animation';\n\n\n@Component({\n selector: 'mc-vertical-navbar',\n exportAs: 'McVerticalNavbar',\n template: `\n <div class=\"mc-vertical-navbar__container\"\n [@toggle]=\"expanded\"\n (@toggle.done)=\"animationDone.next()\"\n [class.mc-collapsed]=\"!expanded\"\n [class.mc-expanded]=\"expanded\">\n\n <ng-content select=\"[mc-navbar-container], mc-navbar-container\"></ng-content>\n <ng-content select=\"[mc-navbar-toggle], mc-navbar-toggle\"></ng-content>\n </div>\n `,\n styleUrls: [\n './vertical-navbar.scss',\n './navbar-item.scss',\n './navbar-brand.scss',\n './navbar-divider.scss'\n ],\n host: {\n class: 'mc-vertical-navbar',\n '[attr.tabindex]': 'tabIndex',\n\n '(focus)': 'focus()',\n '(blur)': 'blur()',\n\n '(keydown)': 'onKeyDown($event)'\n },\n animations: [toggleVerticalNavbarAnimation()],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class McVerticalNavbar extends McFocusableComponent implements AfterContentInit {\n @ContentChildren(forwardRef(() => McNavbarRectangleElement), { descendants: true })\n rectangleElements: QueryList<McNavbarRectangleElement>;\n\n @ContentChildren(forwardRef(() => McNavbarItem), { descendants: true }) items: QueryList<McNavbarItem>;\n\n @ContentChild(forwardRef(() => McNavbarBento)) bento: McNavbarBento;\n\n readonly animationDone: Subject<void> = new Subject();\n\n @Input()\n get expanded() {\n return this._expanded;\n }\n\n set expanded(value: boolean) {\n this._expanded = coerceBooleanProperty(value);\n\n this.updateExpandedStateForItems();\n }\n\n private _expanded: boolean = false;\n\n constructor(changeDetectorRef: ChangeDetectorRef) {\n super(changeDetectorRef);\n\n this.animationDone\n .subscribe(this.updateTooltipForItems);\n }\n\n ngAfterContentInit(): void {\n this.setItemsState();\n this.updateExpandedStateForItems();\n this.updateTooltipForItems();\n\n this.rectangleElements.changes\n .subscribe(this.setItemsState);\n\n super.ngAfterContentInit();\n\n this.keyManager.withVerticalOrientation(true);\n }\n\n toggle(): void {\n this.expanded = !this.expanded;\n\n this.changeDetectorRef.markForCheck();\n }\n\n onKeyDown(event: KeyboardEvent) {\n // tslint:disable-next-line: deprecation\n const keyCode = event.keyCode;\n\n if (isVerticalMovement(event) || isHorizontalMovement(event)) {\n event.preventDefault();\n }\n\n if (keyCode === TAB) {\n this.keyManager.tabOut.next();\n\n return;\n } else if (keyCode === DOWN_ARROW) {\n this.keyManager.setNextItemActive();\n } else if (keyCode === UP_ARROW) {\n this.keyManager.setPreviousItemActive();\n } else {\n this.keyManager.onKeydown(event);\n }\n }\n\n private updateExpandedStateForItems = () => {\n this.rectangleElements?.forEach((item) => {\n item.collapsed = !this.expanded;\n setTimeout(() => item.button?.updateClassModifierForIcons());\n });\n }\n\n private updateTooltipForItems = () => {\n this.items.forEach((item) => item.updateTooltip());\n }\n\n private setItemsState = () => {\n Promise.resolve()\n .then(() => this.rectangleElements?.forEach((item) => item.vertical = true));\n }\n}\n","import { FocusMonitor, FocusOrigin } from '@angular/cdk/a11y';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Overlay, ScrollDispatcher } from '@angular/cdk/overlay';\nimport { DOCUMENT } from '@angular/common';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n Directive,\n ElementRef,\n Inject,\n Input,\n NgZone,\n OnDestroy,\n Optional,\n TemplateRef,\n ViewContainerRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { IFocusableOption } from '@ptsecurity/cdk/a11y';\nimport { DOWN_ARROW, ENTER, NUMPAD_DIVIDE, RIGHT_ARROW, SLASH, SPACE } from '@ptsecurity/cdk/keycodes';\nimport { McButton, McButtonCssStyler } from '@ptsecurity/mosaic/button';\nimport { PopUpPlacements, PopUpTriggers, toBoolean } from '@ptsecurity/mosaic/core';\nimport { McDropdownTrigger } from '@ptsecurity/mosaic/dropdown';\nimport { McIcon } from '@ptsecurity/mosaic/icon';\nimport { MC_TOOLTIP_SCROLL_STRATEGY, McTooltipTrigger, TooltipModifier } from '@ptsecurity/mosaic/tooltip';\nimport { EMPTY, merge, Subject } from 'rxjs';\nimport { take, takeUntil } from 'rxjs/operators';\n\nimport { McVerticalNavbar } from './vertical-navbar.component';\n\n\n// tslint:disable-next-line:naming-convention\nexport interface McNavbarFocusableItemEvent {\n item: McNavbarFocusableItem;\n}\n\n\n@Directive({\n selector: 'mc-navbar-logo, [mc-navbar-logo]',\n host: {\n class: 'mc-navbar-logo',\n '(mouseenter)': 'hovered.next(true)',\n '(mouseleave)': 'hovered.next(false)'\n }\n})\nexport class McNavbarLogo {\n readonly hovered = new Subject<boolean>();\n}\n\n\n@Directive({\n selector: 'mc-navbar-item[bento], [mc-navbar-item][bento]',\n host: {\n class: 'mc-navbar-bento'\n }\n})\nexport class McNavbarBento {}\n\n\n@Directive({\n selector: 'mc-navbar-title, [mc-navbar-title]',\n host: {\n class: 'mc-navbar-title',\n '[class.mc-navbar-title_small]': 'isTextOverflown',\n\n '(mouseenter)': 'hovered.next(true)',\n '(mouseleave)': 'hovered.next(false)'\n }\n})\nexport class McNavbarTitle implements AfterViewInit {\n readonly hovered = new Subject<boolean>();\n\n outerElementWidth: number;\n isTextOverflown: boolean = false;\n\n get text(): string {\n return this.elementRef.nativeElement.innerText;\n }\n\n get isOverflown() {\n return this.elementRef.nativeElement.scrollWidth > this.elementRef.nativeElement.clientWidth;\n }\n\n constructor(private elementRef: ElementRef) {}\n\n getOuterElementWidth(): number {\n const { width, marginLeft, marginRight } = window.getComputedStyle(this.elementRef.nativeElement);\n\n return [width, marginLeft, marginRight].reduce((acc, item) => acc + parseInt(item) || 0, 0);\n }\n\n checkTextOverflown() {\n // tslint:disable-next-line:no-magic-numbers\n this.isTextOverflown = this.text.length > 18;\n }\n\n ngAfterViewInit(): void {\n this.outerElementWidth = this.getOuterElementWidth();\n }\n}\n\n@Directive({\n selector: 'mc-navbar-subtitle, [mc-navbar-subtitle]',\n host: {\n class: 'mc-navbar-subtitle',\n '(mouseenter)': 'hovered.next(true)',\n '(mouseleave)': 'hovered.next(false)'\n }\n})\nexport class McNavbarSubTitle implements AfterContentInit {\n readonly hovered = new Subject<boolean>();\n\n outerElementWidth: number;\n\n get text(): string {\n return this.elementRef.nativeElement.innerText;\n }\n\n get isOverflown() {\n return this.elementRef.nativeElement.scrollWidth > this.elementRef.nativeElement.clientWidth;\n }\n\n constructor(private elementRef: ElementRef) {}\n\n getOuterElementWidth(): number {\n const { width, marginLeft, marginRight } = window.getComputedStyle(this.elementRef.nativeElement);\n\n return [width, marginLeft, marginRight].reduce((acc, item) => acc + parseInt(item) || 0, 0);\n }\n\n ngAfterContentInit(): void {\n this.outerElementWidth = this.getOuterElementWidth();\n }\n}\n\n\n@Component({\n selector: 'mc-navbar-brand, [mc-navbar-brand]',\n exportAs: 'mcNavbarBrand',\n template: `\n <ng-content></ng-content>\n <div class=\"mc-navbar-item__overlay\"></div>\n `,\n host: {\n class: 'mc-navbar-brand',\n '[class.mc-hovered]': 'hovered'\n }\n})\nexport class McNavbarBrand implements AfterContentInit, OnDestroy {\n @ContentChild(McNavbarLogo) logo: McNavbarLogo;\n @ContentChild(McNavbarTitle) title: McNavbarTitle;\n\n hovered = false;\n\n get hasBento(): boolean {\n return !!this.navbar?.bento;\n }\n\n private destroyed = new Subject<void>();\n\n constructor(@Optional() private navbar: McVerticalNavbar) {\n }\n\n ngAfterContentInit(): void {\n merge(\n this.logo ? this.logo.hovered : EMPTY as any,\n this.title ? this.title.hovered : EMPTY as any\n )\n .pipe(takeUntil(this.destroyed))\n .subscribe((value) => this.hovered = !!value);\n\n this.navbar?.animationDone\n .subscribe(() => this.title?.checkTextOverflown());\n }\n\n ngOnDestroy(): void {\n this.destroyed.next();\n this.destroyed.complete();\n }\n}\n\n\n@Directive({\n selector: 'mc-navbar-divider',\n host: {\n class: 'mc-navbar-divider'\n }\n})\nexport class McNavbarDivider {}\n\n\n@Directive({\n selector: 'mc-navbar-item, [mc-navbar-item], mc-navbar-brand, [mc-navbar-brand], mc-navbar-toggle',\n host: {\n '[attr.tabindex]': 'tabIndex',\n '[attr.disabled]': 'disabled || null',\n\n class: 'mc-navbar-focusable-item',\n '[class.mc-navbar-item_button]': 'button',\n\n '(focus)': 'onFocusHandler()',\n '(blur)': 'blur()'\n }\n})\nexport class McNavbarFocusableItem implements IFocusableOption, AfterContentInit, OnDestroy {\n @ContentChild(McNavbarTitle) title: McNavbarTitle;\n\n @ContentChild(McButton) button: McButton;\n\n get tooltip(): McTooltipTrigger {\n return this._tooltip;\n }\n\n private _tooltip: McTooltipTrigger;\n\n readonly onFocus = new Subject<McNavbarFocusableItemEvent>();\n\n readonly onBlur = new Subject<McNavbarFocusableItemEvent>();\n\n get hasFocus(): boolean {\n return !!this.button?.hasFocus || this._hasFocus;\n }\n\n set hasFocus(value: boolean) {\n this._hasFocus = value;\n }\n\n private _hasFocus: boolean = false;\n\n @Input()\n get disabled() {\n return this._disabled;\n }\n\n set disabled(value: any) {\n const newValue = toBoolean(value);\n\n if (newValue !== this._disabled) {\n this._disabled = newValue;\n this.changeDetector.markForCheck();\n }\n }\n\n private _disabled = false;\n\n get tabIndex(): number {\n return -1;\n }\n\n constructor(\n private elementRef: ElementRef<HTMLElement>,\n private changeDetector: ChangeDetectorRef,\n private focusMonitor: FocusMonitor,\n private ngZone: NgZone\n ) {}\n\n ngAfterContentInit(): void {\n if (this.button) {\n this.button.tabIndex = -1;\n }\n\n this.focusMonitor.monitor(this.elementRef);\n }\n\n ngOnDestroy() {\n this.focusMonitor.stopMonitoring(this.elementRef);\n }\n\n setTooltip(value: McTooltipTrigger) {\n this._tooltip = value;\n }\n\n onFocusHandler() {\n if (this.disabled || this.hasFocus) { return; }\n\n this.onFocus.next({ item: this });\n\n this.hasFocus = true;\n\n this.changeDetector.markForCheck();\n\n this.elementRef.nativeElement.focus();\n }\n\n focus(origin?: FocusOrigin): void {\n if (this.disabled || this.hasFocus) { return; }\n\n if (origin === 'keyboard') {\n this.focusMonitor.focusVia(this.elementRef, origin);\n }\n\n if (this.button) {\n this.button.focusViaKeyboard();\n\n this.changeDetector.markForCheck();\n\n return;\n }\n\n this.tooltip?.show();\n this.onFocusHandler();\n }\n\n blur(): void {\n // When animations are enabled, Angular may end up removing the option from the DOM a little\n // earlier than usual, causing it to be blurred and throwing off the logic in the list\n // that moves focus not the next item. To work around the issue, we defer marking the option\n // as not focused until the next time the zone stabilizes.\n this.ngZone.onStable\n .asObservable()\n .pipe(take(1))\n .subscribe(() => {\n this.ngZone.run(() => {\n this._hasFocus = false;\n\n this.tooltip?.hide();\n\n if (this.button?.hasFocus) { return; }\n\n this.onBlur.next({ item: this });\n });\n });\n }\n\n getLabel(): string {\n return this.title?.text || '';\n }\n}\n\n\n@Directive({\n selector: 'mc-navbar-item, [mc-navbar-item], mc-navbar-divider, mc-navbar-brand, [mc-navbar-brand]',\n host: {\n '[class.mc-vertical]': 'vertical',\n '[class.mc-horizontal]': 'horizontal',\n\n '[class.mc-expanded]': 'vertical && !collapsed',\n '[class.mc-collapsed]': 'vertical && collapsed'\n }\n})\nexport class McNavbarRectangleElement {\n readonly state = new Subject<void>();\n\n get horizontal(): boolean {\n return this._horizontal;\n }\n\n set horizontal(value: boolean) {\n this._horizontal = value;\n\n this.state.next();\n }\n\n private _horizontal: boolean;\n\n get vertical(): boolean {\n return this._vertical;\n }\n\n set vertical(value: boolean) {\n this._vertical = value;\n\n this.state.next();\n }\n\n private _vertical: boolean;\n\n get collapsed(): boolean {\n return this._collapsed;\n }\n\n set collapsed(value: boolean) {\n this._collapsed = value;\n\n this.state.next();\n }\n\n private _collapsed: boolean;\n\n @ContentChild(McButtonCssStyler) button: McButtonCssStyler;\n\n constructor(public elementRef: ElementRef) {}\n\n getOuterElementWidth(): number {\n const { width, marginLeft, marginRight } = window.getComputedStyle(this.elementRef.nativeElement);\n\n return [width, marginLeft, marginRight].reduce((acc, item) => acc + parseInt(item), 0);\n }\n}\n\n\n@Component({\n selector: 'mc-navbar-item, [mc-navbar-item]',\n exportAs: 'mcNavbarItem',\n templateUrl: './navbar-item.component.html',\n host: {\n class: 'mc-navbar-item',\n '[class.mc-navbar-item_collapsed]': 'isCollapsed',\n\n '(keydown)': 'onKeyDown($event)'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class McNavbarItem extends McTooltipTrigger {\n @ContentChild(McNavbarTitle) title: McNavbarTitle;\n @ContentChild(McNavbarSubTitle) subTitle: McNavbarSubTitle;\n\n @ContentChild(McIcon) icon: McIcon;\n\n @Input() collapsedText: string;\n\n @Input('mcTrigger')\n get trigger(): string {\n return this._trigger;\n }\n\n set trigger(value: string) {\n if (value) {\n this._trigger = value;\n\n this.initListeners();\n }\n }\n\n set collapsed(value: boolean) {\n if (this._collapsed !== value) {\n this._collapsed = value;\n\n this.updateTooltip();\n this.updateCollapsedState();\n }\n }\n\n private _collapsed = false;\n\n isCollapsed: boolean;\n\n get croppedText(): string {\n const croppedTitleText = this.title?.isOverflown ? this.titleText : '';\n const croppedSubTitleText = this.subTitle?.isOverflown ? this.subTitleText : '';\n\n return `${croppedTitleText}\\n ${croppedSubTitleText}`;\n }\n\n @Input()\n get collapsable(): boolean {\n return this._collapsable;\n }\n\n set collapsable(value: boolean) {\n this._collapsable = coerceBooleanProperty(value);\n }\n\n private _collapsable: boolean = true;\n\n get titleText(): string | null {\n return this.collapsedText || this.title?.text || null;\n }\n\n get subTitleText(): string | null {\n return this.subTitle?.text || null;\n }\n\n get disabled(): boolean {\n if (this._disabled !== undefined) {\n return this._disabled;\n }\n\n return (!this.isCollapsed && !this.hasCroppedText) || !this.title;\n }\n\n set disabled(value) {\n this._disabled = coerceBooleanProperty(value);\n }\n\n get hasDropDownTrigger(): boolean {\n return !!this.dropdownTrigger;\n }\n\n get showVerticalDropDownAngle(): boolean {\n return !this.bento && this.hasDropDownTrigger && this.rectangleElement.vertical && !this.isCollapsed;\n }\n\n get showHorizontalDropDownAngle(): boolean {\n return this.hasDropDownTrigger && this.rectangleElement.horizontal && !this.isCollapsed ;\n }\n\n get hasCroppedText(): boolean {\n return !!(this.title?.isOverflown || this.subTitle?.isOverflown);\n }\n\n constructor(\n public rectangleElement: McNavbarRectangleElement,\n public navbarFocusableItem: McNavbarFocusableItem,\n private changeDetectorRef: ChangeDetectorRef,\n overlay: Overlay,\n elementRef: ElementRef,\n ngZone: NgZone,\n scrollDispatcher: ScrollDispatcher,\n hostView: ViewContainerRef,\n @Inject(MC_TOOLTIP_SCROLL_STRATEGY) scrollStrategy,\n @Optional() direction: Directionality,\n @Optional() private dropdownTrigger: McDropdownTrigger,\n @Optional() private bento: McNavbarBento\n ) {\n super(overlay, elementRef, ngZone, scrollDispatcher, hostView, scrollStrategy, direction);\n\n if (this.hasDropDownTrigger) {\n this.dropdownTrigger.openByArrowDown = false;\n }\n\n this.rectangleElement.state\n .subscribe(() => {\n this.collapsed = this.rectangleElement.collapsed;\n\n this.changeDetectorRef.detectChanges();\n });\n\n this._trigger = `${PopUpTriggers.Hover}`;\n\n this.navbarFocusableItem.setTooltip(this);\n }\n\n ngAfterContentInit(): void {\n this.updateTooltip();\n }\n\n updateTooltip(): void {\n if (this.isCollapsed) {\n this.content = `${this.titleText}\\n ${this.subTitleText || ''}`;\n } else if (!this.isCollapsed && this.hasCroppedText) {\n this.content = this.croppedText;\n }\n\n if (this.rectangleElement.vertical) {\n this.placement = PopUpPlacements.Right;\n }\n\n this.changeDetectorRef.markForCheck();\n }\n\n getTitleWidth(): number {\n return this.title.outerElementWidth;\n }\n\n onKeyDown($event: KeyboardEvent) {\n if (!this.hasDropDownTrigger) { return; }\n\n if (\n this.rectangleElement.horizontal && $event.keyCode === DOWN_ARROW ||\n this.rectangleElement.vertical && $event.keyCode === RIGHT_ARROW\n ) {\n this.dropdownTrigger.openedBy = 'keyboard';\n this.dropdownTrigger.open();\n\n $event.stopPropagation();\n $event.preventDefault();\n }\n }\n\n private updateCollapsedState() {\n Promise.resolve().then(() => {\n this.isCollapsed = this._collapsed;\n });\n }\n}\n\n\n@Component({\n selector: 'mc-navbar-toggle',\n template: `\n <i mc-icon\n [class.mc-angle-left-M_24]=\"navbar.expanded\"\n [class.mc-angle-right-M_24]=\"!navbar.expanded\"\n *ngIf=\"!customIcon\">\n </i>\n\n <ng-content select=\"[mc-icon]\"></ng-content>\n\n <div class=\"mc-navbar-item__title\" *ngIf=\"navbar.expanded\">\n <ng-content select=\"mc-navbar-title\"></ng-content>\n </div>\n\n <div class=\"mc-navbar-item__overlay\"></div>\n `,\n styleUrls: ['./navbar.scss'],\n host: {\n class: 'mc-navbar-item mc-navbar-toggle mc-vertical',\n '[class.mc-tooltip_open]': 'isOpen',\n\n '(keydown)': 'onKeydown($event)',\n '(click)': 'toggle()',\n '(touchend)': 'handleTouchend()'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class McNavbarToggle extends McTooltipTrigger implements OnDestroy {\n @ContentChild(McIcon) customIcon: McIcon;\n\n @Input('mcCollapsedTooltip')\n get content(): string | TemplateRef<any> {\n return this._content;\n }\n\n set content(content: string | TemplateRef<any>) {\n this._content = content;\n\n this.updateData();\n }\n\n get disabled(): boolean {\n return this.navbar.expanded;\n }\n\n protected modifier: TooltipModifier = TooltipModifier.Default;\n\n constructor(\n public navbar: McVerticalNavbar,\n private changeDetectorRef: ChangeDetectorRef,\n overlay: Overlay,\n elementRef: ElementRef,\n ngZone: NgZone,\n scrollDispatcher: ScrollDispatcher,\n hostView: ViewContainerRef,\n @Inject(MC_TOOLTIP_SCROLL_STRATEGY) scrollStrategy,\n @Optional() direction: Directionality,\n @Optional() @Inject(DOCUMENT) private document: any\n ) {\n super(overlay, elementRef, ngZone, scrollDispatcher, hostView, scrollStrategy, direction);\n\n this.placement = PopUpPlacements.Right;\n\n const window = this.getWindow();\n\n if (window) {\n this.ngZone.runOutsideAngular(() => {\n window.addEventListener('keydown', this.windowToggleHandler);\n });\n }\n }\n\n onKeydown($event: KeyboardEvent) {\n if ([SPACE, ENTER].includes($event.keyCode)) {\n this.toggle();\n\n $event.stopPropagation();\n $event.preventDefault();\n }\n\n super.handleKeydown($event);\n }\n\n ngOnDestroy(): void {\n const window = this.getWindow();\n\n if (window) {\n window.removeEventListener('keydown', this.windowToggleHandler);\n }\n }\n\n toggle = () => {\n this.navbar.toggle();\n\n this.changeDetectorRef.markForCheck();\n\n this.hide();\n }\n\n private getWindow(): Window {\n return this.document?.defaultView || window;\n }\n\n private windowToggleHandler = (event: KeyboardEvent) => {\n if (event.ctrlKey && [NUMPAD_DIVIDE, SLASH].includes(event.keyCode)) {\n this.ngZone.run(this.toggle);\n }\n }\n}\n","<ng-content select=\"[mc-icon]\"></ng-content>\n\n<div class=\"mc-navbar-item__container\" *ngIf=\"title\">\n <div class=\"mc-navbar-item__title\">\n <ng-content select=\"mc-navbar-title, [mc-navbar-title]\"></ng-content>\n <ng-content select=\"mc-navbar-subtitle, [mc-navbar-subtitle]\"></ng-content>\n </div>\n\n <i class=\"mc-navbar-item__arrow-icon\" mc-icon=\"mc-angle-right-M_24\" *ngIf=\"showVerticalDropDownAngle\"></i>\n <i class=\"mc-navbar-item__arrow-icon\" mc-icon=\"mc-angle-down-S_16\" *ngIf=\"showHorizontalDropDownAngle\"></i>\n\n</div>\n\n<ng-content></ng-content>\n\n<div class=\"mc-navbar-item__overlay\"></div>\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { PlatformModule } from '@angular/cdk/platform';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { McIconModule } from '@ptsecurity/mosaic/icon';\nimport { McToolTipModule } from '@ptsecurity/mosaic/tooltip';\n\nimport {\n McNavbarFocusableItem,\n McNavbarBrand,\n McNavbarDivider,\n McNavbarItem,\n McNavbarLogo,\n McNavbarTitle,\n McNavbarRectangleElement,\n McNavbarToggle,\n McNavbarSubTitle,\n McNavbarBento\n} from './navbar-item.component';\nimport { McNavbar, McNavbarContainer } from './navbar.component';\nimport { McVerticalNavbar } from './vertical-navbar.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n A11yModule,\n PlatformModule,\n McIconModule,\n McToolTipModule\n ],\n exports: [\n McNavbar,\n McNavbarContainer,\n McNavbarTitle,\n McNavbarItem,\n McNavbarBrand,\n McNavbarLogo,\n McNavbarToggle,\n McVerticalNavbar,\n McNavbarDivider,\n McNavbarFocusableItem,\n McNavbarRectangleElement,\n McNavbarSubTitle,\n McNavbarBento\n ],\n declarations: [\n McNavbar,\n McNavbarContainer,\n McNavbarTitle,\n McNavbarItem,\n McNavbarBrand,\n McNavbarLogo,\n McNavbarToggle,\n McVerticalNavbar,\n McNavbarDivider,\n McNavbarFocusableItem,\n McNavbarRectangleElement,\n McNavbarSubTitle,\n McNavbarBento\n ]\n})\nexport class McNavbarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["closedWidth","openedWidth","i1.McVerticalNavbar"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ptsecurity-mosaic-popover.mjs","sources":["../../../packages/mosaic/popover/popover-animations.ts","../../../packages/mosaic/popover/popover.component.ts","../../../packages/mosaic/popover/popover.component.html","../../../packages/mosaic/popover/popover-confirm.component.ts","../../../packages/mosaic/popover/popover-confirm.component.html","../../../packages/mosaic/popover/popover.module.ts","../../../packages/mosaic/popover/ptsecurity-mosaic-popover.ts"],"sourcesContent":["import {\n animate,\n AnimationTriggerMetadata,\n state,\n style,\n transition,\n trigger\n} from '@angular/animations';\n\n\nexport const mcPopoverAnimations: {\n readonly popoverState: AnimationTriggerMetadata;\n} = {\n /** Animation that transitions a tooltip in and out. */\n popoverState: trigger('state', [\n state('initial', style({\n opacity: 0,\n transform: 'scale(1, 0.8)'\n })),\n transition('* => visible', animate('120ms cubic-bezier(0, 0, 0.2, 1)', style({\n opacity: 1,\n transform: 'scale(1, 1)'\n }))),\n transition('* => hidden', animate('100ms linear', style({ opacity: 0 })))\n ])\n};\n","import { Directionality } from '@angular/cdk/bidi';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n FlexibleConnectedPositionStrategy,\n Overlay,\n ScrollDispatcher,\n ScrollStrategy,\n OverlayConfig\n} from '@angular/cdk/overlay';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Directive,\n ElementRef,\n EventEmitter,\n Inject,\n InjectionToken,\n Input,\n NgZone,\n Optional,\n Output,\n TemplateRef,\n Type,\n ViewContainerRef,\n ViewEncapsulation\n} from '@angular/core';\nimport {\n McPopUp,\n McPopUpTrigger,\n PopUpPlacements,\n PopUpSizes,\n PopUpTriggers,\n POSITION_TO_CSS_MAP\n} from '@ptsecurity/mosaic/core';\nimport { merge, NEVER } from 'rxjs';\n\nimport { mcPopoverAnimations } from './popover-animations';\n\n\n@Component({\n selector: 'mc-popover-component',\n templateUrl: './popover.component.html',\n preserveWhitespaces: false,\n styleUrls: ['./popover.scss'],\n host: {\n '(keydown.esc)': 'hide(0)'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [mcPopoverAnimations.popoverState]\n})\nexport class McPopoverComponent extends McPopUp {\n prefix = 'mc-popover';\n\n header: string | TemplateRef<any>;\n footer: string | TemplateRef<any>;\n\n isTrapFocus: boolean = false;\n\n constructor(changeDetectorRef: ChangeDetectorRef) {\n super(changeDetectorRef);\n }\n\n updateClassMap(placement: string, customClass: string, size: PopUpSizes) {\n super.updateClassMap(\n placement,\n customClass,\n { [`${this.prefix}_${size}`]: !!size }\n );\n }\n\n updateTrapFocus(isTrapFocus: boolean): void {\n this.isTrapFocus = isTrapFocus;\n }\n}\n\nexport const MC_POPOVER_SCROLL_STRATEGY =\n new InjectionToken<() => ScrollStrategy>('mc-popover-scroll-strategy');\n\n/** @docs-private */\nexport function mcPopoverScrollStrategyFactory(overlay: Overlay): () => ScrollStrategy {\n return () => overlay.scrollStrategies.reposition({ scrollThrottle: 20 });\n}\n\n/** @docs-private */\nexport const MC_POPOVER_SCROLL_STRATEGY_FACTORY_PROVIDER = {\n provide: MC_POPOVER_SCROLL_STRATEGY,\n deps: [Overlay],\n useFactory: mcPopoverScrollStrategyFactory\n};\n\n/** Creates an error to be thrown if the user supplied an invalid popover position. */\nexport function getMcPopoverInvalidPositionError(position: string) {\n return Error(`McPopover position \"${position}\" is invalid.`);\n}\n\n\n@Directive({\n selector: '[mcPopover]',\n exportAs: 'mcPopover',\n host: {\n '[class.mc-popover_open]': 'isOpen',\n '[class.mc-active]': 'hasClickTrigger && isOpen',\n '(keydown)': 'handleKeydown($event)',\n '(touchend)': 'handleTouchend()'\n }\n})\nexport class McPopoverTrigger extends McPopUpTrigger<McPopoverComponent> {\n @Input('mcPopoverVisible')\n get popoverVisible(): boolean {\n return this.visible;\n }\n\n set popoverVisible(value: boolean) {\n super.updateVisible(value);\n }\n\n @Input('mcPopoverPlacement')\n get popoverPlacement(): PopUpPlacements {\n return this.placement;\n }\n\n set popoverPlacement(value: PopUpPlacements) {\n super.updatePlacement(value);\n }\n\n @Input('mcPopoverPlacementPriority')\n get popoverPlacementPriority() {\n return this.placementPriority;\n }\n\n set popoverPlacementPriority(value) {\n super.updatePlacementPriority(value);\n }\n\n @Input()\n get hasBackdrop(): boolean {\n return this._hasBackdrop;\n }\n\n set hasBackdrop(value: boolean) {\n this._hasBackdrop = coerceBooleanProperty(value);\n }\n\n private _hasBackdrop: boolean = false;\n\n @Input('mcPopoverHeader')\n get header(): string | TemplateRef<any> {\n return this._header;\n }\n\n set header(value: string | TemplateRef<any>) {\n this._header = value;\n\n this.updateData();\n }\n\n private _header: string | TemplateRef<any>;\n\n @Input('mcPopoverContent')\n get content(): string | TemplateRef<any> {\n return this._content;\n }\n\n set content(value: string | TemplateRef<any>) {\n this._content = value;\n\n this.updateData();\n }\n\n @Input('mcPopoverFooter')\n get footer(): string | TemplateRef<any> {\n return this._footer;\n }\n\n set footer(value: string | TemplateRef<any>) {\n this._footer = value;\n\n this.updateData();\n }\n\n private _footer: string | TemplateRef<any>;\n\n @Input('mcPopoverDisabled')\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value) {\n this._disabled = coerceBooleanProperty(value);\n }\n\n @Input('mcTrigger')\n get trigger(): string {\n return this._trigger;\n }\n\n set trigger(value: string) {\n if (value) {\n this._trigger = value;\n } else {\n this._trigger = PopUpTriggers.Click;\n }\n\n this.initListeners();\n }\n\n private _trigger: string = PopUpTriggers.Click;\n\n @Input('mcPopoverSize')\n get size(): PopUpSizes {\n return this._size;\n }\n\n set size(value: PopUpSizes) {\n if ([PopUpSizes.Small, PopUpSizes.Medium, PopUpSizes.Large].includes(value)) {\n this._size = value;\n\n this.updateClassMap();\n } else {\n this._size = PopUpSizes.Medium;\n }\n }\n\n private _size: PopUpSizes = PopUpSizes.Medium;\n\n @Input('mcPopoverClass')\n get customClass() {\n return this._customClass;\n }\n\n set customClass(value: string) {\n this._customClass = value;\n\n this.updateClassMap();\n }\n\n @Input()\n get closeOnScroll(): boolean {\n return this._closeOnScroll;\n }\n\n set closeOnScroll(value: boolean) {\n this._closeOnScroll = coerceBooleanProperty(value);\n }\n\n private _closeOnScroll: boolean = false;\n\n get hasClickTrigger(): boolean {\n return this.trigger.includes(PopUpTriggers.Click);\n }\n\n @Input() backdropClass: string = 'cdk-overlay-transparent-backdrop';\n\n @Output('mcPopoverPlacementChange') placementChange = new EventEmitter();\n\n @Output('mcPopoverVisibleChange') visibleChange = new EventEmitter<boolean>();\n\n protected originSelector = '.mc-popover';\n\n protected get overlayConfig(): OverlayConfig {\n return {\n panelClass: 'mc-popover__panel',\n hasBackdrop: this.hasBackdrop,\n backdropClass: this.backdropClass\n };\n }\n\n constructor(\n overlay: Overlay,\n elementRef: ElementRef,\n ngZone: NgZone,\n scrollDispatcher: ScrollDispatcher,\n hostView: ViewContainerRef,\n @Inject(MC_POPOVER_SCROLL_STRATEGY) scrollStrategy,\n @Optional() direction: Directionality\n ) {\n super(overlay, elementRef, ngZone, scrollDispatcher, hostView, scrollStrategy, direction);\n }\n\n updateData() {\n if (!this.instance) { return; }\n\n this.instance.header = this.header;\n this.instance.content = this.content;\n this.instance.footer = this.footer;\n\n this.instance.updateTrapFocus(this.trigger !== PopUpTriggers.Focus);\n\n if (this.isOpen) {\n this.updatePosition(true);\n }\n }\n\n /** Updates the position of the current popover. */\n updatePosition(reapplyPosition: boolean = false) {\n this.overlayRef = this.createOverlay();\n\n const position = (this.overlayRef.getConfig().positionStrategy as FlexibleConnectedPositionStrategy)\n .withPositions(this.getPrioritizedPositions())\n .withPush(true);\n\n if (reapplyPosition) {\n setTimeout(() => position.reapplyLastPosition());\n }\n }\n\n getOverlayHandleComponentType(): Type<McPopoverComponent> {\n return McPopoverComponent;\n }\n\n updateClassMap(newPlacement: string = this.placement) {\n if (!this.instance) { return; }\n\n this.instance.updateClassMap(POSITION_TO_CSS_MAP[newPlacement], this.customClass, this.size);\n this.instance.markForCheck();\n }\n\n closingActionsForClick() {\n if (this.trigger === PopUpTriggers.Click) {\n return [\n this.overlayRef!.backdropClick(),\n this.hasBackdrop ? NEVER : this.overlayRef!.outsidePointerEvents()\n ];\n }\n\n return [];\n }\n\n closingActions() {\n return merge(\n ...this.closingActionsForClick(),\n this.closeOnScroll ? this.scrollDispatcher.scrolled() : NEVER\n );\n }\n}\n","<div class=\"mc-popover\"\n [cdkTrapFocus]=\"isTrapFocus\"\n [cdkTrapFocusAutoCapture]=\"isTrapFocus\"\n [ngClass]=\"classMap\"\n [@state]=\"visibility\"\n (@state.start)=\"animationStart()\"\n (@state.done)=\"animationDone($event)\">\n\n <div class=\"mc-popover__container\">\n <div class=\"mc-popover__header\" *ngIf=\"header\">\n <ng-container *ngIf=\"isTemplateRef(header)\" [ngTemplateOutlet]=\"$any(header)\"></ng-container>\n <ng-container *ngIf=\"!isTemplateRef(header)\">\n <div>{{ header }}</div>\n </ng-container>\n </div>\n\n <div class=\"mc-popover__content\"\n [ngClass]=\"{ 'mc-popover__content_padding_bottom': footer }\"\n *ngIf=\"content\">\n <ng-container *ngIf=\"isTemplateRef(content)\" [ngTemplateOutlet]=\"$any(content)\"></ng-container>\n <ng-container *ngIf=\"!isTemplateRef(content)\">\n <div>{{ content }}</div>\n </ng-container>\n </div>\n\n <div class=\"mc-popover__footer\" *ngIf=\"footer\">\n <ng-container *ngIf=\"isTemplateRef(footer)\" [ngTemplateOutlet]=\"$any(footer)\"></ng-container>\n <ng-container *ngIf=\"!isTemplateRef(footer)\">\n <div>{{ footer }}</div>\n </ng-container>\n </div>\n </div>\n\n <div class=\"mc-popover__arrow\" [class.mc-popover__arrow_with-footer]=\"footer\"></div>\n</div>\n","import { Directionality } from '@angular/cdk/bidi';\nimport { Overlay, ScrollDispatcher } from '@angular/cdk/overlay';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Directive,\n ElementRef,\n EventEmitter,\n Inject,\n InjectionToken,\n Input,\n NgZone,\n Optional,\n Output,\n ViewContainerRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { ThemePalette } from '@ptsecurity/mosaic/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { mcPopoverAnimations } from './popover-animations';\nimport { MC_POPOVER_SCROLL_STRATEGY, McPopoverComponent, McPopoverTrigger } from './popover.component';\n\n\nexport const MC_POPOVER_CONFIRM_TEXT = new InjectionToken<string>('');\nexport const MC_POPOVER_CONFIRM_BUTTON_TEXT = new InjectionToken<string>('');\n\n@Component({\n selector: 'mc-popover-confirm-component',\n templateUrl: './popover-confirm.component.html',\n preserveWhitespaces: false,\n styleUrls: ['./popover.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [mcPopoverAnimations.popoverState]\n})\nexport class McPopoverConfirmComponent extends McPopoverComponent {\n themePalette = ThemePalette;\n\n onConfirm = new Subject<void>();\n confirmButtonText: string;\n\n confirmText: string;\n\n constructor(changeDetectorRef: ChangeDetectorRef) {\n super(changeDetectorRef);\n }\n}\n\n\n@Directive({\n selector: '[mcPopoverConfirm]',\n exportAs: 'mcPopoverConfirm',\n host: {\n '[class.mc-popover_open]': 'isOpen',\n '(keydown)': 'handleKeydown($event)',\n '(touchend)': 'handleTouchend()'\n }\n})\nexport class McPopoverConfirmTrigger extends McPopoverTrigger {\n @Output() confirm: EventEmitter<void> = new EventEmitter<void>();\n\n @Input('mcPopoverConfirmText')\n get confirmText(): string {\n return this._confirmText;\n }\n\n set confirmText(value: string) {\n this._confirmText = value;\n\n this.updateData();\n }\n\n private _confirmText: string;\n\n @Input('mcPopoverConfirmButtonText')\n get confirmButtonText(): string {\n return this._confirmButtonText;\n }\n\n set confirmButtonText(value: string) {\n this._confirmButtonText = value;\n\n this.updateData();\n }\n\n private _confirmButtonText: string = 'Да';\n\n constructor(\n overlay: Overlay,\n elementRef: ElementRef,\n ngZone: NgZone,\n scrollDispatcher: ScrollDispatcher,\n hostView: ViewContainerRef,\n @Inject(MC_POPOVER_SCROLL_STRATEGY) scrollStrategy,\n @Optional() direction: Directionality,\n @Optional() @Inject(MC_POPOVER_CONFIRM_TEXT) confirmText: string,\n @Optional() @Inject(MC_POPOVER_CONFIRM_BUTTON_TEXT) confirmButtonText: string\n ) {\n super(overlay, elementRef, ngZone, scrollDispatcher, hostView, scrollStrategy, direction);\n\n this.confirmText = confirmText || 'Вы уверены, что хотите продолжить?';\n this.confirmButtonText = confirmButtonText || 'Да';\n }\n\n updateData() {\n if (!this.instance) { return; }\n super.updateData();\n this.setupButtonEvents();\n this.instance.confirmButtonText = this.confirmButtonText;\n this.instance.confirmText = this.confirmText;\n }\n\n setupButtonEvents() {\n this.instance.onConfirm.pipe(takeUntil(this.destroyed)).subscribe(() => {\n this.confirm.emit();\n this.hide();\n });\n }\n\n getOverlayHandleComponentType() {\n return McPopoverConfirmComponent;\n }\n}\n","<div class=\"mc-popover-confirm mc-popover\"\n cdkTrapFocus=\"true\"\n cdkTrapFocusAutoCapture=\"true\"\n [ngClass]=\"classMap\"\n [@state]=\"visibility\"\n (@state.start)=\"animationStart()\"\n (@state.done)=\"animationDone($event)\">\n <div class=\"mc-popover__content\">\n <div>{{ confirmText }}</div>\n <button mc-button [color]=\"themePalette.Primary\" (click)=\"onConfirm.next()\">{{confirmButtonText}}</button>\n </div>\n\n <div class=\"mc-popover__arrow\"></div>\n</div>\n","import { A11yModule, ConfigurableFocusTrapFactory, FocusTrapFactory } from '@angular/cdk/a11y';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { McButtonModule } from '@ptsecurity/mosaic/button';\n\nimport { McPopoverConfirmComponent, McPopoverConfirmTrigger } from './popover-confirm.component';\nimport { MC_POPOVER_SCROLL_STRATEGY_FACTORY_PROVIDER, McPopoverComponent, McPopoverTrigger } from './popover.component';\n\n\n@NgModule({\n declarations: [McPopoverComponent, McPopoverTrigger, McPopoverConfirmComponent, McPopoverConfirmTrigger],\n exports: [McPopoverComponent, McPopoverTrigger, McPopoverConfirmComponent, McPopoverConfirmTrigger],\n imports: [CommonModule, OverlayModule, McButtonModule, A11yModule],\n providers: [\n MC_POPOVER_SCROLL_STRATEGY_FACTORY_PROVIDER,\n { provide: FocusTrapFactory, useClass: ConfigurableFocusTrapFactory }\n ]\n})\nexport class McPopoverModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i3","i4","i5"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ptsecurity-mosaic-radio.mjs","sources":["../../../packages/mosaic/radio/radio.component.ts","../../../packages/mosaic/radio/radio.component.html","../../../packages/mosaic/radio/radio.module.ts","../../../packages/mosaic/radio/ptsecurity-mosaic-radio.ts"],"sourcesContent":["import { FocusMonitor } from '@angular/cdk/a11y';\nimport { UniqueSelectionDispatcher } from '@angular/cdk/collections';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n QueryList,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport {\n CanColor,\n CanColorCtor,\n CanDisable,\n CanDisableCtor,\n HasTabIndex,\n HasTabIndexCtor,\n mixinColor,\n mixinDisabled,\n mixinTabIndex,\n toBoolean\n} from '@ptsecurity/mosaic/core';\n\n\n// Increasing integer for generating unique ids for radio components.\nlet nextUniqueId = 0;\n\n/** Change event object emitted by McRadio. */\nexport class McRadioChange {\n constructor(\n /** The McRadioButton that emits the change event. */\n public source: McRadioButton,\n /** The value of the McRadioButton. */\n public value: any\n ) {}\n}\n\n// Boilerplate for applying mixins to McRadioGroup.\n/** @docs-private */\nexport class McRadioGroupBase {\n constructor(public elementRef: ElementRef) {}\n}\n/** @docs-private */\nexport const McRadioGroupMixinBase: CanDisableCtor & typeof McRadioGroupBase = mixinDisabled(McRadioGroupBase);\n\n/**\n * Provider Expression that allows mc-radio-group to register as a ControlValueAccessor. This\n * allows it to support [(ngModel)] and ngControl.\n * @docs-private\n */\nexport const MC_RADIO_GROUP_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => McRadioGroup),\n multi: true\n};\n\n@Directive({\n selector: 'mc-radio-group',\n exportAs: 'mcRadioGroup',\n host: {\n role: 'radiogroup',\n class: 'mc-radio-group'\n },\n providers: [MC_RADIO_GROUP_CONTROL_VALUE_ACCESSOR]\n})\nexport class McRadioGroup extends McRadioGroupMixinBase\n implements AfterContentInit, ControlValueAccessor, CanDisable {\n\n /** Name of the radio button group. All radio buttons inside this group will use this name. */\n @Input()\n get name(): string {\n return this._name;\n }\n\n set name(value: string) {\n this._name = value;\n this.updateRadioButtonNames();\n }\n\n /** Whether the labels should appear after or before the radio-buttons. Defaults to 'after' */\n @Input()\n get labelPosition(): 'before' | 'after' {\n return this._labelPosition;\n }\n\n set labelPosition(v) {\n this._labelPosition = v === 'before' ? 'before' : 'after';\n this.markRadiosForCheck();\n }\n\n /** Value of the radio button. */\n @Input()\n get value(): any {\n return this._value;\n }\n\n set value(newValue: any) {\n if (this._value !== newValue) {\n // Set this before proceeding to ensure no circular loop occurs with selection.\n this._value = newValue;\n\n this.updateSelectedRadioFromValue();\n this.checkSelectedRadioButton();\n }\n }\n\n /** Whether the radio button is selected. */\n @Input()\n get selected() {\n return this._selected;\n }\n\n set selected(selected: McRadioButton | null) {\n this._selected = selected;\n this.value = selected ? selected.value : null;\n this.checkSelectedRadioButton();\n }\n\n /** Whether the radio group is disabled */\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value) {\n this._disabled = toBoolean(value);\n this.markRadiosForCheck();\n }\n\n /** Whether the radio group is required */\n @Input()\n get required(): boolean {\n return this._required;\n }\n\n set required(value: boolean) {\n this._required = toBoolean(value);\n this.markRadiosForCheck();\n }\n\n /**\n * Event emitted when the group value changes.\n * Change events are only emitted when the value changes due to user interaction with\n * a radio button (the same behavior as `<input type-\"radio\">`).\n */\n @Output() readonly change: EventEmitter<McRadioChange> = new EventEmitter<McRadioChange>();\n\n /** Child radio buttons. */\n @ContentChildren(forwardRef(() => McRadioButton), { descendants: true })\n radios: QueryList<McRadioButton>;\n\n /**\n * Selected value for group. Should equal the value of the selected radio button if there *is*\n * a corresponding radio button with a matching value. If there is *not* such a corresponding\n * radio button, this value persists to be applied in case a new radio button is added with a\n * matching value.\n */\n private _value: any = null;\n\n /** The HTML name attribute applied to radio buttons in this group. */\n private _name: string = `mc-radio-group-${nextUniqueId++}`;\n\n /** The currently selected radio button. Should match value. */\n private _selected: McRadioButton | null = null;\n\n /** Whether the `value` has been set to its initial value. */\n private isInitialized: boolean = false;\n\n /** Whether the labels should appear after or before the radio-buttons. Defaults to 'after' */\n private _labelPosition: 'before' | 'after' = 'after';\n\n /** Whether the radio group is disabled. */\n private _disabled: boolean = false;\n\n /** Whether the radio group is required. */\n private _required: boolean = false;\n\n constructor(\n elementRef: ElementRef,\n private readonly changeDetector: ChangeDetectorRef\n ) {\n super(elementRef);\n }\n\n /** The method to be called in order to update ngModel */\n // tslint:disable-next-line\n controlValueAccessorChangeFn: (value: any) => void = () => {};\n\n /**\n * onTouch function registered via registerOnTouch (ControlValueAccessor).\n * @docs-private\n */\n // tslint:disable-next-line\n onTouched: () => any = () => {};\n\n checkSelectedRadioButton() {\n if (this._selected && !this._selected.checked) {\n this._selected.checked = true;\n }\n }\n\n /**\n * Initialize properties once content children are available.\n * This allows us to propagate relevant attributes to associated buttons.\n */\n ngAfterContentInit() {\n // Mark this component as initialized in AfterContentInit because the initial value can\n // possibly be set by NgModel on McRadioGroup, and it is possible that the OnInit of the\n // NgModel occurs *after* the OnInit of the McRadioGroup.\n this.isInitialized = true;\n }\n\n /**\n * Mark this group as being \"touched\" (for ngModel). Meant to be called by the contained\n * radio buttons upon their blur.\n */\n touch() {\n if (this.onTouched) {\n this.onTouched();\n }\n }\n\n /** Dispatch change event with current selection and group value. */\n emitChangeEvent(): void {\n if (this.isInitialized) {\n this.change.emit(new McRadioChange(this._selected!, this._value));\n }\n }\n\n markRadiosForCheck() {\n if (this.radios) {\n this.radios.forEach((radio) => radio.markForCheck());\n }\n }\n\n /**\n * Sets the model value. Implemented as part of ControlValueAccessor.\n */\n writeValue(value: any) {\n this.value = value;\n this.changeDetector.markForCheck();\n }\n\n /**\n * Registers a callback to be triggered when the model value changes.\n * Implemented as part of ControlValueAccessor.\n * @param fn Callback to be registered.\n */\n registerOnChange(fn: (value: any) => void) {\n this.controlValueAccessorChangeFn = fn;\n }\n\n /**\n * Registers a callback to be triggered when the control is touched.\n * Implemented as part of ControlValueAccessor.\n * @param fn Callback to be registered.\n */\n registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n\n /**\n * Sets the disabled state of the control. Implemented as a part of ControlValueAccessor.\n * @param isDisabled Whether the control should be disabled.\n */\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled;\n this.changeDetector.markForCheck();\n }\n\n private updateRadioButtonNames(): void {\n this.radios?.forEach((radio) => radio.name = this.name);\n }\n\n /** Updates the `selected` radio button from the internal _value state. */\n private updateSelectedRadioFromValue(): void {\n // If the value already matches the selected radio, do nothing.\n const isAlreadySelected = this._selected !== null && this._selected.value === this._value;\n\n if (this.radios != null && !isAlreadySelected) {\n this._selected = null;\n\n this.radios.forEach((radio) => {\n radio.checked = this.value === radio.value;\n\n if (radio.checked) {\n this._selected = radio;\n }\n });\n }\n }\n}\n\n\n// Boilerplate for applying mixins to McRadioButton.\n/** @docs-private */\nabstract class McRadioButtonBase {\n // Since the disabled property is manually defined for the McRadioButton and isn't set up in\n // the mixin base class. To be able to use the tabindex mixin, a disabled property must be\n // defined to properly work.\n abstract disabled: boolean;\n\n constructor(public elementRef: ElementRef) {}\n}\n\n/** @docs-private */\nexport const McRadioButtonMixinBase:\n CanColorCtor & HasTabIndexCtor & typeof McRadioButtonBase = mixinColor(mixinTabIndex(McRadioButtonBase));\n\n\n@Component({\n selector: 'mc-radio-button',\n templateUrl: 'radio.component.html',\n styleUrls: ['radio.scss'],\n inputs: ['color', 'tabIndex'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: 'mcRadioButton',\n host: {\n class: 'mc-radio-button',\n '[attr.id]': 'id',\n '[class.mc-selected]': 'checked',\n '[class.mc-disabled]': 'disabled'\n }\n})\nexport class McRadioButton extends McRadioButtonMixinBase\n implements OnInit, AfterViewInit, OnDestroy, CanColor, HasTabIndex {\n\n /** Whether this radio button is checked. */\n @Input()\n get checked(): boolean {\n return this._checked;\n }\n\n set checked(value: boolean) {\n const newCheckedState = toBoolean(value);\n\n if (this._checked !== newCheckedState) {\n this._checked = newCheckedState;\n\n if (newCheckedState && this.radioGroup && this.radioGroup.value !== this.value) {\n this.radioGroup.selected = this;\n } else if (!newCheckedState && this.radioGroup && this.radioGroup.value === this.value) {\n // When unchecking the selected radio button, update the selected radio\n // property on the group.\n this.radioGroup.selected = null;\n }\n\n if (newCheckedState) {\n // Notify all radio buttons with the same name to un-check.\n this.radioDispatcher.notify(this.id, this.name);\n }\n this.changeDetector.markForCheck();\n }\n }\n\n /** The value of this radio button. */\n @Input()\n get value(): any {\n return this._value;\n }\n\n set value(value: any) {\n if (this._value !== value) {\n this._value = value;\n\n if (this.radioGroup != null) {\n if (!this.checked) {\n // Update checked when the value changed to match the radio group's value\n this.checked = this.radioGroup.value === value;\n }\n\n if (this.checked) {\n this.radioGroup.selected = this;\n }\n }\n }\n }\n\n /** Whether the radio button is disabled. */\n @Input()\n get disabled(): boolean {\n return this._disabled || (this.radioGroup != null && this.radioGroup.disabled);\n }\n set disabled(value: boolean) {\n const newDisabledState = toBoolean(value);\n\n if (this._disabled !== newDisabledState) {\n\n this._disabled = newDisabledState;\n this.changeDetector.markForCheck();\n }\n }\n\n /** Whether the radio button is required. */\n @Input()\n get required(): boolean {\n return this._required || (this.radioGroup && this.radioGroup.required);\n }\n set required(value: boolean) {\n this._required = toBoolean(value);\n }\n\n /** Whether the label should appear after or before the radio button. Defaults to 'after' */\n @Input()\n get labelPosition(): 'before' | 'after' {\n return this._labelPosition || (this.radioGroup && this.radioGroup.labelPosition) || 'after';\n }\n set labelPosition(value) {\n this._labelPosition = value;\n }\n\n /** Analog to HTML 'name' attribute used to group radios for unique selection. */\n @Input() name: string;\n\n /** The native `<input type=radio>` element */\n @ViewChild('input', { static: false }) inputElement: ElementRef;\n\n /**\n * Event emitted when the checked state of this radio button changes.\n * Change events are only emitted when the value changes due to user interaction with\n * the radio button (the same behavior as `<input type-\"radio\">`).\n */\n @Output() readonly change: EventEmitter<McRadioChange> = new EventEmitter<McRadioChange>();\n\n /** The parent radio group. May or may not be present. */\n radioGroup: McRadioGroup;\n\n @Input()\n isFocused: boolean = false;\n\n /** The unique ID for the radio button. */\n @Input() id: string;\n\n /** ID of the native input element inside `<mc-radio-button>` */\n get inputId(): string { return `${this.id || this.uniqueId}-input`; }\n\n private _labelPosition: 'before' | 'after';\n\n /* tslint:disable:member-ordering */\n private readonly uniqueId: string = `mc-radio-${++nextUniqueId}`;\n\n /** Whether this radio is checked. */\n private _checked: boolean = false;\n\n /** Whether this radio is disabled. */\n private _disabled: boolean;\n\n /** Whether this radio is required. */\n private _required: boolean;\n\n /** Value assigned to this radio. */\n private _value: any = null;\n\n constructor(\n @Optional() radioGroup: McRadioGroup,\n elementRef: ElementRef,\n private readonly changeDetector: ChangeDetectorRef,\n private focusMonitor: FocusMonitor,\n private readonly radioDispatcher: UniqueSelectionDispatcher\n ) {\n super(elementRef);\n\n this.id = this.uniqueId;\n\n this.radioGroup = radioGroup;\n\n this.removeUniqueSelectionListener = radioDispatcher\n .listen((id: string, name: string) => {\n if (id !== this.id && name === this.name) {\n this.checked = false;\n }\n });\n }\n\n ngOnInit() {\n if (this.radioGroup) {\n // If the radio is inside a radio group, determine if it should be checked\n this.checked = this.radioGroup.value === this._value;\n // Copy name from parent radio group\n this.name = this.radioGroup.name;\n }\n }\n\n ngAfterViewInit() {\n this.focusMonitor\n .monitor(this.elementRef, true)\n .subscribe((focusOrigin) => {\n if (!focusOrigin && this.radioGroup) {\n this.radioGroup.touch();\n }\n });\n }\n\n ngOnDestroy() {\n this.focusMonitor.stopMonitoring(this.elementRef);\n this.removeUniqueSelectionListener();\n }\n\n /** Focuses the radio button. */\n focus(): void {\n this.inputElement.nativeElement.focus();\n }\n\n /**\n * Marks the radio button as needing checking for change detection.\n * This method is exposed because the parent radio group will directly\n * update bound properties of the radio button.\n */\n markForCheck() {\n // When group value changes, the button will not be notified. Use `markForCheck` to explicit\n // update radio button's status\n this.changeDetector.markForCheck();\n }\n\n onInputClick(event: Event) {\n // We have to stop propagation for click events on the visual hidden input element.\n // By default, when a user clicks on a label element, a generated click event will be\n // dispatched on the associated input element. Since we are using a label element as our\n // root container, the click event on the `radio-button` will be executed twice.\n // The real click event will bubble up, and the generated click event also tries to bubble up.\n // This will lead to multiple click events.\n // Preventing bubbling & forcing skip event from closing actions for the second event will solve that issue.\n event.stopPropagation();\n (event as Event & { mcPopoverPreventHide: boolean }).mcPopoverPreventHide = true;\n }\n\n onInputChange(event: Event) {\n // We always have to stop propagation on the change event.\n // Otherwise the change event, from the input element, will bubble up and\n // emit its event object to the `change` output.\n event.stopPropagation();\n\n const groupValueChanged = this.radioGroup && this.value !== this.radioGroup.value;\n this.checked = true;\n this.emitChangeEvent();\n\n if (this.radioGroup) {\n this.radioGroup.controlValueAccessorChangeFn(this.value);\n this.radioGroup.touch();\n\n if (groupValueChanged) {\n this.radioGroup.emitChangeEvent();\n }\n }\n }\n\n /** Unregister function for _radioDispatcher */\n // tslint:disable-next-line\n private readonly removeUniqueSelectionListener: () => void = () => {};\n\n /** Dispatch change event with current value. */\n private emitChangeEvent(): void {\n this.change.emit(new McRadioChange(this, this._value));\n }\n}\n","<label class=\"mc-radio-label\" [attr.for]=\"inputId\" #label>\n <input type=\"radio\"\n class=\"mc-radio-input cdk-visually-hidden\"\n #input\n [id]=\"inputId\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [tabIndex]=\"tabIndex\"\n [attr.name]=\"name\"\n [required]=\"required\"\n (change)=\"onInputChange($event)\"\n (click)=\"onInputClick($event)\">\n\n <div class=\"mc-radio-label-content\" [class.mc-radio-label-before]=\"labelPosition == 'before'\">\n <div class=\"mc-radio-button__outer-circle\">\n <div class=\"mc-radio-button__inner-circle\">\n <div class=\"mc-radio-button__inner-circle-cap\"></div>\n </div>\n </div>\n\n <div class=\"mc-radio__text-container\">\n <span class=\"mc-radio__text\">\n <ng-content></ng-content>\n </span>\n\n <ng-content select=\"mc-hint\"></ng-content>\n </div>\n </div>\n</label>\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { McCommonModule } from '@ptsecurity/mosaic/core';\n\nimport { McRadioButton, McRadioGroup } from './radio.component';\n\n\n@NgModule({\n imports: [CommonModule, A11yModule, McCommonModule],\n exports: [McRadioGroup, McRadioButton],\n declarations: [McRadioGroup, McRadioButton]\n})\nexport class McRadioModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}