@ptsecurity/mosaic 15.6.0 → 16.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (750) hide show
  1. package/_theming.scss +19 -0
  2. package/_visual.scss +2 -0
  3. package/autocomplete/autocomplete-trigger.directive.d.ts +6 -16
  4. package/autocomplete/autocomplete.component.d.ts +1 -1
  5. package/button/button.component.d.ts +1 -1
  6. package/button-toggle/button-toggle.component.d.ts +3 -3
  7. package/card/card.component.d.ts +1 -1
  8. package/checkbox/_checkbox-theme.scss +4 -0
  9. package/checkbox/checkbox-config.d.ts +1 -1
  10. package/checkbox/checkbox.d.ts +1 -1
  11. package/code-block/actionbar.component.d.ts +1 -1
  12. package/code-block/code-block.component.d.ts +1 -1
  13. package/core/common-behaviors/color.d.ts +1 -1
  14. package/core/common-behaviors/constructor.d.ts +2 -2
  15. package/core/common-behaviors/disabled.d.ts +1 -1
  16. package/core/common-behaviors/error-state.d.ts +1 -1
  17. package/core/common-behaviors/tabindex.d.ts +1 -1
  18. package/core/datetime/date-formats.d.ts +1 -1
  19. package/core/formatters/index.d.ts +1 -1
  20. package/core/formatters/number/formatter.d.ts +55 -0
  21. package/core/label/label-options.d.ts +1 -1
  22. package/core/locales/en-US.d.ts +13 -2
  23. package/core/locales/es-LA.d.ts +21 -0
  24. package/core/locales/fa-IR.d.ts +22 -0
  25. package/core/locales/locale-service.d.ts +111 -5
  26. package/core/locales/pt-BR.d.ts +21 -0
  27. package/core/locales/ru-RU.d.ts +13 -2
  28. package/core/locales/zh-CN.d.ts +20 -0
  29. package/core/option/action.d.ts +1 -1
  30. package/core/option/optgroup.d.ts +1 -1
  31. package/core/option/option.d.ts +37 -8
  32. package/core/overlay/overlay-position-map.d.ts +7 -1
  33. package/core/selection/pseudo-checkbox/pseudo-checkbox.d.ts +2 -2
  34. package/core/styles/_variables.scss +1 -0
  35. package/core/styles/theming/_theming.scss +1 -0
  36. package/datepicker/calendar-body.component.d.ts +2 -2
  37. package/datepicker/calendar-header.component.d.ts +9 -3
  38. package/datepicker/calendar.component.d.ts +4 -5
  39. package/datepicker/datepicker-input.directive.d.ts +1 -1
  40. package/datepicker/datepicker-toggle.component.d.ts +1 -1
  41. package/datepicker/datepicker.component.d.ts +1 -1
  42. package/datepicker/month-view.component.d.ts +4 -5
  43. package/divider/divider.component.d.ts +1 -1
  44. package/dl/dl.component.d.ts +1 -1
  45. package/dropdown/dropdown-item.component.d.ts +1 -1
  46. package/dropdown/dropdown-trigger.directive.d.ts +1 -1
  47. package/dropdown/dropdown.component.d.ts +1 -1
  48. package/dropdown/dropdown.types.d.ts +3 -3
  49. package/ellipsis-center/ellipsis-center.directive.d.ts +1 -1
  50. package/{esm2020 → esm2022}/autocomplete/autocomplete-origin.directive.mjs +4 -4
  51. package/esm2022/autocomplete/autocomplete-trigger.directive.mjs +555 -0
  52. package/{esm2020 → esm2022}/autocomplete/autocomplete.component.mjs +26 -26
  53. package/{esm2020 → esm2022}/autocomplete/autocomplete.module.mjs +10 -10
  54. package/esm2022/button/button.component.mjs +148 -0
  55. package/{esm2020 → esm2022}/button/button.module.mjs +13 -13
  56. package/esm2022/button-toggle/button-toggle.component.mjs +381 -0
  57. package/{esm2020 → esm2022}/button-toggle/button-toggle.module.mjs +5 -5
  58. package/esm2022/card/card.component.mjs +80 -0
  59. package/{esm2020 → esm2022}/card/card.module.mjs +9 -9
  60. package/{esm2020 → esm2022}/checkbox/checkbox-module.mjs +5 -5
  61. package/{esm2020 → esm2022}/checkbox/checkbox-required-validator.mjs +4 -4
  62. package/esm2022/checkbox/checkbox.mjs +300 -0
  63. package/{esm2020 → esm2022}/code-block/actionbar.component.mjs +4 -4
  64. package/esm2022/code-block/code-block.component.mjs +157 -0
  65. package/esm2022/code-block/code-block.module.mjs +60 -0
  66. package/esm2022/core/common-behaviors/color.mjs +33 -0
  67. package/{esm2020 → esm2022}/core/common-behaviors/common-module.mjs +5 -5
  68. package/{esm2020 → esm2022}/core/common-behaviors/disabled.mjs +6 -6
  69. package/{esm2020 → esm2022}/core/common-behaviors/tabindex.mjs +6 -6
  70. package/{esm2020 → esm2022}/core/error/error-options.mjs +7 -7
  71. package/{esm2020 → esm2022}/core/formatters/date/formatter.mjs +4 -4
  72. package/{esm2020 → esm2022}/core/formatters/date/formatter.pipe.mjs +40 -40
  73. package/esm2022/core/formatters/index.mjs +86 -0
  74. package/esm2022/core/formatters/number/formatter.mjs +350 -0
  75. package/{esm2020 → esm2022}/core/forms/forms-module.mjs +7 -7
  76. package/{esm2020 → esm2022}/core/forms/forms.directive.mjs +7 -7
  77. package/{esm2020 → esm2022}/core/highlight/highlight.pipe.mjs +4 -4
  78. package/{esm2020 → esm2022}/core/highlight/index.mjs +5 -5
  79. package/{esm2020 → esm2022}/core/line/line.mjs +8 -8
  80. package/esm2022/core/locales/en-US.mjs +21 -0
  81. package/esm2022/core/locales/es-LA.mjs +27 -0
  82. package/esm2022/core/locales/fa-IR.mjs +28 -0
  83. package/{esm2020 → esm2022}/core/locales/locale-service.mjs +7 -7
  84. package/{esm2020 → esm2022}/core/locales/locale-service.module.mjs +7 -7
  85. package/esm2022/core/locales/pt-BR.mjs +27 -0
  86. package/esm2022/core/locales/ru-RU.mjs +21 -0
  87. package/esm2022/core/locales/zh-CN.mjs +26 -0
  88. package/{esm2020 → esm2022}/core/option/action.mjs +9 -9
  89. package/{esm2020 → esm2022}/core/option/optgroup.mjs +4 -4
  90. package/{esm2020 → esm2022}/core/option/option-module.mjs +5 -5
  91. package/esm2022/core/option/option.mjs +298 -0
  92. package/esm2022/core/overlay/overlay-position-map.mjs +251 -0
  93. package/{esm2020 → esm2022}/core/pop-up/pop-up-trigger.mjs +4 -4
  94. package/{esm2020 → esm2022}/core/pop-up/pop-up.mjs +4 -4
  95. package/{esm2020 → esm2022}/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +4 -4
  96. package/{esm2020 → esm2022}/core/selection/pseudo-checkbox/pseudo-checkbox.module.mjs +5 -5
  97. package/esm2022/core/services/measure-scrollbar.service.mjs +48 -0
  98. package/{esm2020 → esm2022}/core/utils/data-size/data-size.pipe.mjs +8 -8
  99. package/{esm2020 → esm2022}/core/version.mjs +2 -2
  100. package/{esm2020 → esm2022}/datepicker/calendar-body.component.mjs +4 -4
  101. package/esm2022/datepicker/calendar-header.component.mjs +135 -0
  102. package/esm2022/datepicker/calendar.component.mjs +166 -0
  103. package/esm2022/datepicker/datepicker-input.directive.mjs +955 -0
  104. package/{esm2020 → esm2022}/datepicker/datepicker-intl.mjs +4 -4
  105. package/{esm2020 → esm2022}/datepicker/datepicker-module.mjs +38 -38
  106. package/esm2022/datepicker/datepicker-toggle.component.mjs +86 -0
  107. package/esm2022/datepicker/datepicker.component.mjs +393 -0
  108. package/esm2022/datepicker/month-view.component.mjs +149 -0
  109. package/{esm2020 → esm2022}/divider/divider.component.mjs +4 -4
  110. package/{esm2020 → esm2022}/divider/divider.module.mjs +5 -5
  111. package/{esm2020 → esm2022}/dl/dl.component.mjs +10 -10
  112. package/{esm2020 → esm2022}/dl/dl.module.mjs +13 -13
  113. package/{esm2020 → esm2022}/dropdown/dropdown-content.directive.mjs +4 -4
  114. package/{esm2020 → esm2022}/dropdown/dropdown-item.component.mjs +6 -6
  115. package/esm2022/dropdown/dropdown-trigger.directive.mjs +489 -0
  116. package/esm2022/dropdown/dropdown.component.mjs +292 -0
  117. package/{esm2020 → esm2022}/dropdown/dropdown.module.mjs +15 -15
  118. package/esm2022/ellipsis-center/ellipsis-center.directive.mjs +106 -0
  119. package/{esm2020 → esm2022}/file-upload/file-drop.mjs +4 -4
  120. package/{esm2020 → esm2022}/file-upload/file-upload.module.mjs +25 -25
  121. package/esm2022/file-upload/multiple-file-upload.component.mjs +165 -0
  122. package/esm2022/file-upload/single-file-upload.component.mjs +134 -0
  123. package/{esm2020 → esm2022}/form-field/cleaner.mjs +4 -4
  124. package/esm2022/form-field/form-field.mjs +267 -0
  125. package/{esm2020 → esm2022}/form-field/form-field.module.mjs +23 -23
  126. package/{esm2020 → esm2022}/form-field/hint.mjs +4 -4
  127. package/{esm2020 → esm2022}/form-field/password-hint.mjs +9 -9
  128. package/{esm2020 → esm2022}/form-field/prefix.mjs +4 -4
  129. package/{esm2020 → esm2022}/form-field/stepper.mjs +6 -6
  130. package/{esm2020 → esm2022}/form-field/suffix.mjs +4 -4
  131. package/esm2022/form-field/validate.directive.mjs +158 -0
  132. package/{esm2020 → esm2022}/icon/icon.component.mjs +7 -7
  133. package/{esm2020 → esm2022}/icon/icon.module.mjs +11 -11
  134. package/{esm2020 → esm2022}/input/input-number-validators.mjs +7 -7
  135. package/esm2022/input/input-number.mjs +168 -0
  136. package/esm2022/input/input-password.mjs +343 -0
  137. package/esm2022/input/input.mjs +297 -0
  138. package/{esm2020 → esm2022}/input/input.module.mjs +23 -23
  139. package/esm2022/link/link.component.mjs +122 -0
  140. package/{esm2020 → esm2022}/link/link.module.mjs +7 -7
  141. package/esm2022/list/list-selection.component.mjs +705 -0
  142. package/{esm2020 → esm2022}/list/list.component.mjs +7 -7
  143. package/{esm2020 → esm2022}/list/list.module.mjs +20 -20
  144. package/esm2022/loader-overlay/loader-overlay.component.mjs +103 -0
  145. package/{esm2020 → esm2022}/loader-overlay/loader-overlay.module.mjs +17 -17
  146. package/{esm2020 → esm2022}/markdown/markdown.component.mjs +13 -13
  147. package/{esm2020 → esm2022}/markdown/markdown.module.mjs +5 -5
  148. package/{esm2020 → esm2022}/markdown/markdown.service.mjs +4 -4
  149. package/{esm2020 → esm2022}/modal/css-unit.pipe.mjs +4 -4
  150. package/esm2022/modal/modal-control.service.mjs +85 -0
  151. package/esm2022/modal/modal.component.mjs +520 -0
  152. package/{esm2020 → esm2022}/modal/modal.directive.mjs +13 -13
  153. package/esm2022/modal/modal.module.mjs +75 -0
  154. package/{esm2020 → esm2022}/modal/modal.service.mjs +8 -8
  155. package/esm2022/navbar/navbar-item.component.mjs +606 -0
  156. package/esm2022/navbar/navbar.component.mjs +248 -0
  157. package/{esm2020 → esm2022}/navbar/navbar.module.mjs +37 -37
  158. package/{esm2020 → esm2022}/navbar/vertical-navbar.component.mjs +20 -17
  159. package/esm2022/popover/popover-confirm.component.mjs +108 -0
  160. package/esm2022/popover/popover.component.mjs +266 -0
  161. package/{esm2020 → esm2022}/popover/popover.module.mjs +8 -8
  162. package/{esm2020 → esm2022}/progress-bar/progress-bar.component.mjs +4 -4
  163. package/{esm2020 → esm2022}/progress-bar/progress-bar.module.mjs +7 -7
  164. package/{esm2020 → esm2022}/progress-spinner/progress-spinner.component.mjs +12 -12
  165. package/{esm2020 → esm2022}/progress-spinner/progress-spinner.module.mjs +7 -7
  166. package/esm2022/radio/radio.component.mjs +457 -0
  167. package/{esm2020 → esm2022}/radio/radio.module.mjs +5 -5
  168. package/esm2022/select/select-option.directive.mjs +65 -0
  169. package/esm2022/select/select.component.mjs +1160 -0
  170. package/{esm2020 → esm2022}/select/select.module.mjs +32 -32
  171. package/esm2022/sidebar/sidebar.component.mjs +146 -0
  172. package/{esm2020 → esm2022}/sidebar/sidebar.module.mjs +9 -9
  173. package/esm2022/sidepanel/sidepanel-container.component.mjs +110 -0
  174. package/{esm2020 → esm2022}/sidepanel/sidepanel-directives.mjs +18 -18
  175. package/{esm2020 → esm2022}/sidepanel/sidepanel.module.mjs +32 -32
  176. package/{esm2020 → esm2022}/sidepanel/sidepanel.service.mjs +10 -10
  177. package/esm2022/splitter/splitter.component.mjs +482 -0
  178. package/{esm2020 → esm2022}/splitter/splitter.module.mjs +12 -12
  179. package/{esm2020 → esm2022}/table/table.component.mjs +4 -4
  180. package/{esm2020 → esm2022}/table/table.module.mjs +9 -9
  181. package/esm2022/tabs/paginated-tab-header.mjs +488 -0
  182. package/esm2022/tabs/tab-body.component.mjs +179 -0
  183. package/{esm2020 → esm2022}/tabs/tab-content.directive.mjs +4 -4
  184. package/esm2022/tabs/tab-group.component.mjs +349 -0
  185. package/{esm2020 → esm2022}/tabs/tab-header.component.mjs +4 -4
  186. package/{esm2020 → esm2022}/tabs/tab-label-wrapper.directive.mjs +4 -4
  187. package/{esm2020 → esm2022}/tabs/tab-label.directive.mjs +4 -4
  188. package/esm2022/tabs/tab-nav-bar/tab-nav-bar.mjs +111 -0
  189. package/{esm2020 → esm2022}/tabs/tab.component.mjs +43 -34
  190. package/{esm2020 → esm2022}/tabs/tabs.module.mjs +42 -42
  191. package/esm2022/tags/tag-input.mjs +250 -0
  192. package/esm2022/tags/tag-list.component.mjs +718 -0
  193. package/esm2022/tags/tag.component.mjs +381 -0
  194. package/esm2022/tags/tag.module.mjs +56 -0
  195. package/esm2022/textarea/textarea.component.mjs +254 -0
  196. package/{esm2020 → esm2022}/textarea/textarea.module.mjs +5 -5
  197. package/esm2022/timepicker/timepicker.directive.mjs +647 -0
  198. package/{esm2020 → esm2022}/timepicker/timepicker.module.mjs +11 -11
  199. package/{esm2020 → esm2022}/timezone/cities-by-filter.pipe.mjs +4 -4
  200. package/esm2022/timezone/timezone-option.component.mjs +48 -0
  201. package/{esm2020 → esm2022}/timezone/timezone-option.directive.mjs +4 -4
  202. package/{esm2020 → esm2022}/timezone/timezone-select.component.mjs +11 -11
  203. package/{esm2020 → esm2022}/timezone/timezone.module.mjs +29 -29
  204. package/{esm2020 → esm2022}/timezone/utc-offset.pipe.mjs +4 -4
  205. package/esm2022/title/title.directive.mjs +107 -0
  206. package/{esm2020 → esm2022}/title/title.module.mjs +5 -5
  207. package/{esm2020 → esm2022}/toast/toast-container.component.mjs +4 -4
  208. package/esm2022/toast/toast.component.mjs +92 -0
  209. package/esm2022/toast/toast.module.mjs +48 -0
  210. package/esm2022/toast/toast.service.mjs +188 -0
  211. package/esm2022/toggle/toggle.component.mjs +156 -0
  212. package/{esm2020 → esm2022}/toggle/toggle.module.mjs +5 -5
  213. package/esm2022/tooltip/tooltip.component.mjs +299 -0
  214. package/{esm2020 → esm2022}/tooltip/tooltip.module.mjs +14 -14
  215. package/esm2022/tree/data-source/flat-data-source.mjs +162 -0
  216. package/{esm2020 → esm2022}/tree/node.mjs +4 -4
  217. package/{esm2020 → esm2022}/tree/outlet.mjs +4 -4
  218. package/esm2022/tree/padding.directive.mjs +113 -0
  219. package/esm2022/tree/toggle.mjs +81 -0
  220. package/esm2022/tree/tree-base.mjs +243 -0
  221. package/esm2022/tree/tree-option.component.mjs +303 -0
  222. package/esm2022/tree/tree-selection.component.mjs +558 -0
  223. package/{esm2020 → esm2022}/tree/tree.mjs +4 -4
  224. package/{esm2020 → esm2022}/tree/tree.module.mjs +21 -21
  225. package/esm2022/tree-select/tree-select.component.mjs +936 -0
  226. package/{esm2020 → esm2022}/tree-select/tree-select.module.mjs +17 -17
  227. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-autocomplete.mjs +80 -77
  228. package/fesm2022/ptsecurity-mosaic-autocomplete.mjs.map +1 -0
  229. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-button-toggle.mjs +47 -47
  230. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-button-toggle.mjs.map +1 -1
  231. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-button.mjs +25 -25
  232. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-button.mjs.map +1 -1
  233. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-card.mjs +17 -17
  234. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-card.mjs.map +1 -1
  235. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-checkbox.mjs +39 -39
  236. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-checkbox.mjs.map +1 -1
  237. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-code-block.mjs +34 -34
  238. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-code-block.mjs.map +1 -1
  239. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-core.mjs +598 -222
  240. package/fesm2022/ptsecurity-mosaic-core.mjs.map +1 -0
  241. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-datepicker.mjs +335 -351
  242. package/fesm2022/ptsecurity-mosaic-datepicker.mjs.map +1 -0
  243. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-divider.mjs +7 -7
  244. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-divider.mjs.map +1 -1
  245. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-dl.mjs +21 -21
  246. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-dl.mjs.map +1 -1
  247. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-dropdown.mjs +89 -89
  248. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-dropdown.mjs.map +1 -1
  249. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-ellipsis-center.mjs +11 -11
  250. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-ellipsis-center.mjs.map +1 -1
  251. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-file-upload.mjs +55 -47
  252. package/fesm2022/ptsecurity-mosaic-file-upload.mjs.map +1 -0
  253. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-form-field.mjs +80 -80
  254. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-form-field.mjs.map +1 -1
  255. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-icon.mjs +16 -16
  256. package/fesm2022/ptsecurity-mosaic-icon.mjs.map +1 -0
  257. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-input.mjs +128 -128
  258. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-input.mjs.map +1 -1
  259. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-link.mjs +22 -22
  260. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-link.mjs.map +1 -1
  261. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-list.mjs +86 -86
  262. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-list.mjs.map +1 -1
  263. package/fesm2022/ptsecurity-mosaic-loader-overlay.mjs +155 -0
  264. package/{fesm2015 → fesm2022}/ptsecurity-mosaic-loader-overlay.mjs.map +1 -1
  265. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-markdown.mjs +19 -19
  266. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-markdown.mjs.map +1 -1
  267. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-modal.mjs +157 -144
  268. package/fesm2022/ptsecurity-mosaic-modal.mjs.map +1 -0
  269. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-navbar.mjs +184 -176
  270. package/fesm2022/ptsecurity-mosaic-navbar.mjs.map +1 -0
  271. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-popover.mjs +37 -37
  272. package/{fesm2015 → fesm2022}/ptsecurity-mosaic-popover.mjs.map +1 -1
  273. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-progress-bar.mjs +9 -9
  274. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-progress-bar.mjs.map +1 -1
  275. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-progress-spinner.mjs +18 -18
  276. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-progress-spinner.mjs.map +1 -1
  277. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-radio.mjs +78 -78
  278. package/{fesm2015 → fesm2022}/ptsecurity-mosaic-radio.mjs.map +1 -1
  279. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-select.mjs +188 -174
  280. package/fesm2022/ptsecurity-mosaic-select.mjs.map +1 -0
  281. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-sidebar.mjs +29 -29
  282. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-sidebar.mjs.map +1 -1
  283. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-sidepanel.mjs +63 -63
  284. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-sidepanel.mjs.map +1 -1
  285. package/{fesm2015 → fesm2022}/ptsecurity-mosaic-splitter.mjs +55 -55
  286. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-splitter.mjs.map +1 -1
  287. package/fesm2022/ptsecurity-mosaic-table.mjs +45 -0
  288. package/fesm2022/ptsecurity-mosaic-table.mjs.map +1 -0
  289. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tabs.mjs +188 -179
  290. package/fesm2022/ptsecurity-mosaic-tabs.mjs.map +1 -0
  291. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tags.mjs +131 -131
  292. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tags.mjs.map +1 -1
  293. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-textarea.mjs +41 -41
  294. package/{fesm2015 → fesm2022}/ptsecurity-mosaic-textarea.mjs.map +1 -1
  295. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-timepicker.mjs +95 -95
  296. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-timepicker.mjs.map +1 -1
  297. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-timezone.mjs +53 -53
  298. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-timezone.mjs.map +1 -1
  299. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-title.mjs +18 -18
  300. package/fesm2022/ptsecurity-mosaic-title.mjs.map +1 -0
  301. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-toast.mjs +47 -41
  302. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-toast.mjs.map +1 -1
  303. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-toggle.mjs +35 -35
  304. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-toggle.mjs.map +1 -1
  305. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tooltip.mjs +47 -47
  306. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tooltip.mjs.map +1 -1
  307. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tree-select.mjs +122 -122
  308. package/fesm2022/ptsecurity-mosaic-tree-select.mjs.map +1 -0
  309. package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tree.mjs +202 -198
  310. package/fesm2022/ptsecurity-mosaic-tree.mjs.map +1 -0
  311. package/file-upload/file-upload.d.ts +1 -1
  312. package/file-upload/multiple-file-upload.component.d.ts +5 -4
  313. package/file-upload/single-file-upload.component.d.ts +5 -4
  314. package/form-field/_form-field-theme.scss +4 -0
  315. package/form-field/form-field.d.ts +1 -1
  316. package/form-field/hint.d.ts +1 -1
  317. package/form-field/password-hint.d.ts +1 -1
  318. package/icon/icon.component.d.ts +1 -1
  319. package/input/input-number-validators.d.ts +2 -2
  320. package/input/input-number.d.ts +1 -1
  321. package/input/input-password.d.ts +2 -2
  322. package/input/input.d.ts +1 -1
  323. package/link/link.component.d.ts +1 -1
  324. package/list/list-selection.component.d.ts +2 -2
  325. package/loader-overlay/loader-overlay.component.d.ts +1 -1
  326. package/loader-overlay/loader-overlay.scss +3 -0
  327. package/markdown/markdown.component.d.ts +1 -1
  328. package/modal/modal.component.d.ts +5 -2
  329. package/modal/modal.module.d.ts +2 -1
  330. package/modal/modal.scss +14 -2
  331. package/modal/modal.type.d.ts +3 -3
  332. package/navbar/navbar-item.component.d.ts +3 -3
  333. package/navbar/navbar.component.d.ts +7 -4
  334. package/navbar/vertical-navbar.component.d.ts +5 -3
  335. package/package.json +149 -239
  336. package/popover/popover-confirm.component.d.ts +1 -1
  337. package/popover/popover.component.d.ts +1 -1
  338. package/prebuilt-themes/dark-theme.css +1 -1
  339. package/prebuilt-themes/default-theme.css +1 -1
  340. package/prebuilt-visual/default-visual.css +1 -1
  341. package/progress-bar/progress-bar.component.d.ts +2 -2
  342. package/progress-spinner/progress-spinner.component.d.ts +3 -3
  343. package/radio/_radio-theme.scss +4 -0
  344. package/radio/radio.component.d.ts +2 -2
  345. package/select/select.component.d.ts +12 -9
  346. package/select/select.scss +1 -1
  347. package/sidebar/sidebar.component.d.ts +3 -3
  348. package/sidepanel/sidepanel-directives.d.ts +2 -2
  349. package/splitter/splitter.component.d.ts +3 -3
  350. package/tabs/paginated-tab-header.d.ts +3 -3
  351. package/tabs/tab-body.component.d.ts +3 -3
  352. package/tabs/tab-group.component.d.ts +2 -2
  353. package/tabs/tab-header.component.d.ts +2 -2
  354. package/tabs/tab-label-wrapper.directive.d.ts +1 -1
  355. package/tabs/tab-nav-bar/tab-nav-bar.d.ts +1 -1
  356. package/tabs/tab.component.d.ts +1 -1
  357. package/tags/tag-input.d.ts +1 -1
  358. package/tags/tag-list.component.d.ts +1 -1
  359. package/tags/tag.component.d.ts +1 -1
  360. package/textarea/textarea.component.d.ts +1 -1
  361. package/timepicker/timepicker.directive.d.ts +1 -1
  362. package/timezone/timezone-option.component.d.ts +1 -1
  363. package/toast/toast.type.d.ts +1 -1
  364. package/toggle/toggle.component.d.ts +2 -2
  365. package/tooltip/tooltip.component.d.ts +3 -3
  366. package/tree/node.d.ts +1 -1
  367. package/tree/padding.directive.d.ts +1 -1
  368. package/tree/toggle.d.ts +2 -2
  369. package/tree/tree-base.d.ts +1 -1
  370. package/tree/tree-option.component.d.ts +1 -1
  371. package/tree/tree-option.scss +4 -2
  372. package/tree/tree-selection.component.d.ts +1 -1
  373. package/tree-select/tree-select.component.d.ts +1 -1
  374. package/esm2020/autocomplete/autocomplete-trigger.directive.mjs +0 -552
  375. package/esm2020/button/button.component.mjs +0 -148
  376. package/esm2020/button-toggle/button-toggle.component.mjs +0 -381
  377. package/esm2020/card/card.component.mjs +0 -80
  378. package/esm2020/checkbox/checkbox.mjs +0 -300
  379. package/esm2020/code-block/code-block.component.mjs +0 -157
  380. package/esm2020/code-block/code-block.module.mjs +0 -60
  381. package/esm2020/core/common-behaviors/color.mjs +0 -33
  382. package/esm2020/core/formatters/index.mjs +0 -78
  383. package/esm2020/core/formatters/number/formatter.mjs +0 -129
  384. package/esm2020/core/locales/en-US.mjs +0 -10
  385. package/esm2020/core/locales/es-LA.mjs +0 -6
  386. package/esm2020/core/locales/fa-IR.mjs +0 -6
  387. package/esm2020/core/locales/pt-BR.mjs +0 -6
  388. package/esm2020/core/locales/ru-RU.mjs +0 -10
  389. package/esm2020/core/locales/zh-CN.mjs +0 -6
  390. package/esm2020/core/option/option.mjs +0 -262
  391. package/esm2020/core/overlay/overlay-position-map.mjs +0 -245
  392. package/esm2020/core/services/measure-scrollbar.service.mjs +0 -48
  393. package/esm2020/datepicker/calendar-header.component.mjs +0 -134
  394. package/esm2020/datepicker/calendar.component.mjs +0 -175
  395. package/esm2020/datepicker/datepicker-input.directive.mjs +0 -954
  396. package/esm2020/datepicker/datepicker-toggle.component.mjs +0 -86
  397. package/esm2020/datepicker/datepicker.component.mjs +0 -393
  398. package/esm2020/datepicker/month-view.component.mjs +0 -158
  399. package/esm2020/dropdown/dropdown-trigger.directive.mjs +0 -489
  400. package/esm2020/dropdown/dropdown.component.mjs +0 -292
  401. package/esm2020/ellipsis-center/ellipsis-center.directive.mjs +0 -106
  402. package/esm2020/file-upload/multiple-file-upload.component.mjs +0 -161
  403. package/esm2020/file-upload/single-file-upload.component.mjs +0 -130
  404. package/esm2020/form-field/form-field.mjs +0 -267
  405. package/esm2020/form-field/validate.directive.mjs +0 -158
  406. package/esm2020/input/input-number.mjs +0 -168
  407. package/esm2020/input/input-password.mjs +0 -343
  408. package/esm2020/input/input.mjs +0 -297
  409. package/esm2020/link/link.component.mjs +0 -122
  410. package/esm2020/list/list-selection.component.mjs +0 -705
  411. package/esm2020/loader-overlay/loader-overlay.component.mjs +0 -103
  412. package/esm2020/modal/modal-control.service.mjs +0 -85
  413. package/esm2020/modal/modal.component.mjs +0 -510
  414. package/esm2020/modal/modal.module.mjs +0 -71
  415. package/esm2020/navbar/navbar-item.component.mjs +0 -606
  416. package/esm2020/navbar/navbar.component.mjs +0 -239
  417. package/esm2020/popover/popover-confirm.component.mjs +0 -108
  418. package/esm2020/popover/popover.component.mjs +0 -266
  419. package/esm2020/radio/radio.component.mjs +0 -457
  420. package/esm2020/select/select-option.directive.mjs +0 -65
  421. package/esm2020/select/select.component.mjs +0 -1146
  422. package/esm2020/sidebar/sidebar.component.mjs +0 -146
  423. package/esm2020/sidepanel/sidepanel-container.component.mjs +0 -110
  424. package/esm2020/splitter/splitter.component.mjs +0 -482
  425. package/esm2020/tabs/paginated-tab-header.mjs +0 -488
  426. package/esm2020/tabs/tab-body.component.mjs +0 -179
  427. package/esm2020/tabs/tab-group.component.mjs +0 -349
  428. package/esm2020/tabs/tab-nav-bar/tab-nav-bar.mjs +0 -111
  429. package/esm2020/tags/tag-input.mjs +0 -250
  430. package/esm2020/tags/tag-list.component.mjs +0 -718
  431. package/esm2020/tags/tag.component.mjs +0 -381
  432. package/esm2020/tags/tag.module.mjs +0 -56
  433. package/esm2020/textarea/textarea.component.mjs +0 -254
  434. package/esm2020/timepicker/timepicker.directive.mjs +0 -647
  435. package/esm2020/timezone/timezone-option.component.mjs +0 -48
  436. package/esm2020/title/title.directive.mjs +0 -107
  437. package/esm2020/toast/toast.component.mjs +0 -92
  438. package/esm2020/toast/toast.module.mjs +0 -42
  439. package/esm2020/toast/toast.service.mjs +0 -188
  440. package/esm2020/toggle/toggle.component.mjs +0 -156
  441. package/esm2020/tooltip/tooltip.component.mjs +0 -299
  442. package/esm2020/tree/data-source/flat-data-source.mjs +0 -162
  443. package/esm2020/tree/padding.directive.mjs +0 -113
  444. package/esm2020/tree/toggle.mjs +0 -81
  445. package/esm2020/tree/tree-base.mjs +0 -243
  446. package/esm2020/tree/tree-option.component.mjs +0 -300
  447. package/esm2020/tree/tree-selection.component.mjs +0 -557
  448. package/esm2020/tree-select/tree-select.component.mjs +0 -936
  449. package/fesm2015/ptsecurity-mosaic-autocomplete.mjs +0 -753
  450. package/fesm2015/ptsecurity-mosaic-autocomplete.mjs.map +0 -1
  451. package/fesm2015/ptsecurity-mosaic-button-toggle.mjs +0 -405
  452. package/fesm2015/ptsecurity-mosaic-button-toggle.mjs.map +0 -1
  453. package/fesm2015/ptsecurity-mosaic-button.mjs +0 -193
  454. package/fesm2015/ptsecurity-mosaic-button.mjs.map +0 -1
  455. package/fesm2015/ptsecurity-mosaic-card.mjs +0 -111
  456. package/fesm2015/ptsecurity-mosaic-card.mjs.map +0 -1
  457. package/fesm2015/ptsecurity-mosaic-checkbox.mjs +0 -351
  458. package/fesm2015/ptsecurity-mosaic-checkbox.mjs.map +0 -1
  459. package/fesm2015/ptsecurity-mosaic-code-block.mjs +0 -280
  460. package/fesm2015/ptsecurity-mosaic-code-block.mjs.map +0 -1
  461. package/fesm2015/ptsecurity-mosaic-core.mjs +0 -2314
  462. package/fesm2015/ptsecurity-mosaic-core.mjs.map +0 -1
  463. package/fesm2015/ptsecurity-mosaic-datepicker.mjs +0 -2112
  464. package/fesm2015/ptsecurity-mosaic-datepicker.mjs.map +0 -1
  465. package/fesm2015/ptsecurity-mosaic-divider.mjs +0 -61
  466. package/fesm2015/ptsecurity-mosaic-divider.mjs.map +0 -1
  467. package/fesm2015/ptsecurity-mosaic-dl.mjs +0 -126
  468. package/fesm2015/ptsecurity-mosaic-dl.mjs.map +0 -1
  469. package/fesm2015/ptsecurity-mosaic-dropdown.mjs +0 -1115
  470. package/fesm2015/ptsecurity-mosaic-dropdown.mjs.map +0 -1
  471. package/fesm2015/ptsecurity-mosaic-ellipsis-center.mjs +0 -113
  472. package/fesm2015/ptsecurity-mosaic-ellipsis-center.mjs.map +0 -1
  473. package/fesm2015/ptsecurity-mosaic-file-upload.mjs +0 -392
  474. package/fesm2015/ptsecurity-mosaic-file-upload.mjs.map +0 -1
  475. package/fesm2015/ptsecurity-mosaic-form-field.mjs +0 -772
  476. package/fesm2015/ptsecurity-mosaic-form-field.mjs.map +0 -1
  477. package/fesm2015/ptsecurity-mosaic-icon.mjs +0 -86
  478. package/fesm2015/ptsecurity-mosaic-icon.mjs.map +0 -1
  479. package/fesm2015/ptsecurity-mosaic-input.mjs +0 -951
  480. package/fesm2015/ptsecurity-mosaic-input.mjs.map +0 -1
  481. package/fesm2015/ptsecurity-mosaic-link.mjs +0 -150
  482. package/fesm2015/ptsecurity-mosaic-link.mjs.map +0 -1
  483. package/fesm2015/ptsecurity-mosaic-list.mjs +0 -807
  484. package/fesm2015/ptsecurity-mosaic-list.mjs.map +0 -1
  485. package/fesm2015/ptsecurity-mosaic-loader-overlay.mjs +0 -157
  486. package/fesm2015/ptsecurity-mosaic-markdown.mjs +0 -128
  487. package/fesm2015/ptsecurity-mosaic-markdown.mjs.map +0 -1
  488. package/fesm2015/ptsecurity-mosaic-modal.mjs +0 -875
  489. package/fesm2015/ptsecurity-mosaic-modal.mjs.map +0 -1
  490. package/fesm2015/ptsecurity-mosaic-navbar.mjs +0 -1055
  491. package/fesm2015/ptsecurity-mosaic-navbar.mjs.map +0 -1
  492. package/fesm2015/ptsecurity-mosaic-popover.mjs +0 -411
  493. package/fesm2015/ptsecurity-mosaic-progress-bar.mjs +0 -74
  494. package/fesm2015/ptsecurity-mosaic-progress-bar.mjs.map +0 -1
  495. package/fesm2015/ptsecurity-mosaic-progress-spinner.mjs +0 -93
  496. package/fesm2015/ptsecurity-mosaic-progress-spinner.mjs.map +0 -1
  497. package/fesm2015/ptsecurity-mosaic-radio.mjs +0 -481
  498. package/fesm2015/ptsecurity-mosaic-select.mjs +0 -1286
  499. package/fesm2015/ptsecurity-mosaic-select.mjs.map +0 -1
  500. package/fesm2015/ptsecurity-mosaic-sidebar.mjs +0 -202
  501. package/fesm2015/ptsecurity-mosaic-sidebar.mjs.map +0 -1
  502. package/fesm2015/ptsecurity-mosaic-sidepanel.mjs +0 -622
  503. package/fesm2015/ptsecurity-mosaic-sidepanel.mjs.map +0 -1
  504. package/fesm2015/ptsecurity-mosaic-splitter.mjs.map +0 -1
  505. package/fesm2015/ptsecurity-mosaic-table.mjs +0 -45
  506. package/fesm2015/ptsecurity-mosaic-table.mjs.map +0 -1
  507. package/fesm2015/ptsecurity-mosaic-tabs.mjs +0 -1523
  508. package/fesm2015/ptsecurity-mosaic-tabs.mjs.map +0 -1
  509. package/fesm2015/ptsecurity-mosaic-tags.mjs +0 -1397
  510. package/fesm2015/ptsecurity-mosaic-tags.mjs.map +0 -1
  511. package/fesm2015/ptsecurity-mosaic-textarea.mjs +0 -280
  512. package/fesm2015/ptsecurity-mosaic-timepicker.mjs +0 -708
  513. package/fesm2015/ptsecurity-mosaic-timepicker.mjs.map +0 -1
  514. package/fesm2015/ptsecurity-mosaic-timezone.mjs +0 -316
  515. package/fesm2015/ptsecurity-mosaic-timezone.mjs.map +0 -1
  516. package/fesm2015/ptsecurity-mosaic-title.mjs +0 -128
  517. package/fesm2015/ptsecurity-mosaic-title.mjs.map +0 -1
  518. package/fesm2015/ptsecurity-mosaic-toast.mjs +0 -379
  519. package/fesm2015/ptsecurity-mosaic-toast.mjs.map +0 -1
  520. package/fesm2015/ptsecurity-mosaic-toggle.mjs +0 -178
  521. package/fesm2015/ptsecurity-mosaic-toggle.mjs.map +0 -1
  522. package/fesm2015/ptsecurity-mosaic-tooltip.mjs +0 -369
  523. package/fesm2015/ptsecurity-mosaic-tooltip.mjs.map +0 -1
  524. package/fesm2015/ptsecurity-mosaic-tree-select.mjs +0 -983
  525. package/fesm2015/ptsecurity-mosaic-tree-select.mjs.map +0 -1
  526. package/fesm2015/ptsecurity-mosaic-tree.mjs +0 -1816
  527. package/fesm2015/ptsecurity-mosaic-tree.mjs.map +0 -1
  528. package/fesm2020/ptsecurity-mosaic-autocomplete.mjs.map +0 -1
  529. package/fesm2020/ptsecurity-mosaic-core.mjs.map +0 -1
  530. package/fesm2020/ptsecurity-mosaic-datepicker.mjs.map +0 -1
  531. package/fesm2020/ptsecurity-mosaic-file-upload.mjs.map +0 -1
  532. package/fesm2020/ptsecurity-mosaic-icon.mjs.map +0 -1
  533. package/fesm2020/ptsecurity-mosaic-loader-overlay.mjs +0 -155
  534. package/fesm2020/ptsecurity-mosaic-loader-overlay.mjs.map +0 -1
  535. package/fesm2020/ptsecurity-mosaic-modal.mjs.map +0 -1
  536. package/fesm2020/ptsecurity-mosaic-navbar.mjs.map +0 -1
  537. package/fesm2020/ptsecurity-mosaic-popover.mjs.map +0 -1
  538. package/fesm2020/ptsecurity-mosaic-radio.mjs.map +0 -1
  539. package/fesm2020/ptsecurity-mosaic-select.mjs.map +0 -1
  540. package/fesm2020/ptsecurity-mosaic-splitter.mjs +0 -524
  541. package/fesm2020/ptsecurity-mosaic-table.mjs +0 -45
  542. package/fesm2020/ptsecurity-mosaic-table.mjs.map +0 -1
  543. package/fesm2020/ptsecurity-mosaic-tabs.mjs.map +0 -1
  544. package/fesm2020/ptsecurity-mosaic-textarea.mjs.map +0 -1
  545. package/fesm2020/ptsecurity-mosaic-title.mjs.map +0 -1
  546. package/fesm2020/ptsecurity-mosaic-tree-select.mjs.map +0 -1
  547. package/fesm2020/ptsecurity-mosaic-tree.mjs.map +0 -1
  548. package/fesm2020/ptsecurity-mosaic.mjs +0 -4
  549. package/fesm2020/ptsecurity-mosaic.mjs.map +0 -1
  550. /package/{esm2020 → esm2022}/autocomplete/index.mjs +0 -0
  551. /package/{esm2020 → esm2022}/autocomplete/ptsecurity-mosaic-autocomplete.mjs +0 -0
  552. /package/{esm2020 → esm2022}/autocomplete/public-api.mjs +0 -0
  553. /package/{esm2020 → esm2022}/button/index.mjs +0 -0
  554. /package/{esm2020 → esm2022}/button/ptsecurity-mosaic-button.mjs +0 -0
  555. /package/{esm2020 → esm2022}/button/public-api.mjs +0 -0
  556. /package/{esm2020 → esm2022}/button-toggle/index.mjs +0 -0
  557. /package/{esm2020 → esm2022}/button-toggle/ptsecurity-mosaic-button-toggle.mjs +0 -0
  558. /package/{esm2020 → esm2022}/button-toggle/public-api.mjs +0 -0
  559. /package/{esm2020 → esm2022}/card/index.mjs +0 -0
  560. /package/{esm2020 → esm2022}/card/ptsecurity-mosaic-card.mjs +0 -0
  561. /package/{esm2020 → esm2022}/card/public-api.mjs +0 -0
  562. /package/{esm2020 → esm2022}/checkbox/checkbox-config.mjs +0 -0
  563. /package/{esm2020 → esm2022}/checkbox/index.mjs +0 -0
  564. /package/{esm2020 → esm2022}/checkbox/ptsecurity-mosaic-checkbox.mjs +0 -0
  565. /package/{esm2020 → esm2022}/checkbox/public-api.mjs +0 -0
  566. /package/{esm2020 → esm2022}/code-block/code-block.types.mjs +0 -0
  567. /package/{esm2020 → esm2022}/code-block/index.mjs +0 -0
  568. /package/{esm2020 → esm2022}/code-block/ptsecurity-mosaic-code-block.mjs +0 -0
  569. /package/{esm2020 → esm2022}/code-block/public-api.mjs +0 -0
  570. /package/{esm2020 → esm2022}/core/animation/animation.mjs +0 -0
  571. /package/{esm2020 → esm2022}/core/animation/fade-animations.mjs +0 -0
  572. /package/{esm2020 → esm2022}/core/animation/index.mjs +0 -0
  573. /package/{esm2020 → esm2022}/core/animation/select-animations.mjs +0 -0
  574. /package/{esm2020 → esm2022}/core/common-behaviors/constructor.mjs +0 -0
  575. /package/{esm2020 → esm2022}/core/common-behaviors/error-state.mjs +0 -0
  576. /package/{esm2020 → esm2022}/core/common-behaviors/index.mjs +0 -0
  577. /package/{esm2020 → esm2022}/core/datetime/date-adapter.mjs +0 -0
  578. /package/{esm2020 → esm2022}/core/datetime/date-formats.mjs +0 -0
  579. /package/{esm2020 → esm2022}/core/datetime/index.mjs +0 -0
  580. /package/{esm2020 → esm2022}/core/forms/index.mjs +0 -0
  581. /package/{esm2020 → esm2022}/core/index.mjs +0 -0
  582. /package/{esm2020 → esm2022}/core/label/label-options.mjs +0 -0
  583. /package/{esm2020 → esm2022}/core/locales/index.mjs +0 -0
  584. /package/{esm2020 → esm2022}/core/option/index.mjs +0 -0
  585. /package/{esm2020 → esm2022}/core/pop-up/constants.mjs +0 -0
  586. /package/{esm2020 → esm2022}/core/pop-up/index.mjs +0 -0
  587. /package/{esm2020 → esm2022}/core/ptsecurity-mosaic-core.mjs +0 -0
  588. /package/{esm2020 → esm2022}/core/public-api.mjs +0 -0
  589. /package/{esm2020 → esm2022}/core/select/constants.mjs +0 -0
  590. /package/{esm2020 → esm2022}/core/select/errors.mjs +0 -0
  591. /package/{esm2020 → esm2022}/core/select/events.mjs +0 -0
  592. /package/{esm2020 → esm2022}/core/select/index.mjs +0 -0
  593. /package/{esm2020 → esm2022}/core/selection/constants.mjs +0 -0
  594. /package/{esm2020 → esm2022}/core/selection/index.mjs +0 -0
  595. /package/{esm2020 → esm2022}/core/title/index.mjs +0 -0
  596. /package/{esm2020 → esm2022}/core/title/title-text-ref.mjs +0 -0
  597. /package/{esm2020 → esm2022}/core/utils/data-size/config.mjs +0 -0
  598. /package/{esm2020 → esm2022}/core/utils/data-size/index.mjs +0 -0
  599. /package/{esm2020 → esm2022}/core/utils/data-size/size.mjs +0 -0
  600. /package/{esm2020 → esm2022}/core/utils/index.mjs +0 -0
  601. /package/{esm2020 → esm2022}/core/utils/public-api.mjs +0 -0
  602. /package/{esm2020 → esm2022}/core/utils/utils.mjs +0 -0
  603. /package/{esm2020 → esm2022}/core/validation/index.mjs +0 -0
  604. /package/{esm2020 → esm2022}/core/validation/validation.mjs +0 -0
  605. /package/{esm2020 → esm2022}/datepicker/datepicker-animations.mjs +0 -0
  606. /package/{esm2020 → esm2022}/datepicker/datepicker-errors.mjs +0 -0
  607. /package/{esm2020 → esm2022}/datepicker/index.mjs +0 -0
  608. /package/{esm2020 → esm2022}/datepicker/ptsecurity-mosaic-datepicker.mjs +0 -0
  609. /package/{esm2020 → esm2022}/datepicker/public-api.mjs +0 -0
  610. /package/{esm2020 → esm2022}/divider/index.mjs +0 -0
  611. /package/{esm2020 → esm2022}/divider/ptsecurity-mosaic-divider.mjs +0 -0
  612. /package/{esm2020 → esm2022}/divider/public-api.mjs +0 -0
  613. /package/{esm2020 → esm2022}/dl/index.mjs +0 -0
  614. /package/{esm2020 → esm2022}/dl/ptsecurity-mosaic-dl.mjs +0 -0
  615. /package/{esm2020 → esm2022}/dl/public-api.mjs +0 -0
  616. /package/{esm2020 → esm2022}/dropdown/dropdown-animations.mjs +0 -0
  617. /package/{esm2020 → esm2022}/dropdown/dropdown-errors.mjs +0 -0
  618. /package/{esm2020 → esm2022}/dropdown/dropdown.types.mjs +0 -0
  619. /package/{esm2020 → esm2022}/dropdown/index.mjs +0 -0
  620. /package/{esm2020 → esm2022}/dropdown/ptsecurity-mosaic-dropdown.mjs +0 -0
  621. /package/{esm2020 → esm2022}/dropdown/public-api.mjs +0 -0
  622. /package/{esm2020 → esm2022}/ellipsis-center/index.mjs +0 -0
  623. /package/{esm2020 → esm2022}/ellipsis-center/ptsecurity-mosaic-ellipsis-center.mjs +0 -0
  624. /package/{esm2020 → esm2022}/ellipsis-center/public-api.mjs +0 -0
  625. /package/{esm2020 → esm2022}/file-upload/file-upload.mjs +0 -0
  626. /package/{esm2020 → esm2022}/file-upload/index.mjs +0 -0
  627. /package/{esm2020 → esm2022}/file-upload/ptsecurity-mosaic-file-upload.mjs +0 -0
  628. /package/{esm2020 → esm2022}/file-upload/public-api.mjs +0 -0
  629. /package/{esm2020 → esm2022}/form-field/form-field-control.mjs +0 -0
  630. /package/{esm2020 → esm2022}/form-field/form-field-errors.mjs +0 -0
  631. /package/{esm2020 → esm2022}/form-field/index.mjs +0 -0
  632. /package/{esm2020 → esm2022}/form-field/ptsecurity-mosaic-form-field.mjs +0 -0
  633. /package/{esm2020 → esm2022}/form-field/public-api.mjs +0 -0
  634. /package/{esm2020 → esm2022}/icon/index.mjs +0 -0
  635. /package/{esm2020 → esm2022}/icon/ptsecurity-mosaic-icon.mjs +0 -0
  636. /package/{esm2020 → esm2022}/icon/public-api.mjs +0 -0
  637. /package/{esm2020 → esm2022}/index.mjs +0 -0
  638. /package/{esm2020 → esm2022}/input/index.mjs +0 -0
  639. /package/{esm2020 → esm2022}/input/input-errors.mjs +0 -0
  640. /package/{esm2020 → esm2022}/input/input-value-accessor.mjs +0 -0
  641. /package/{esm2020 → esm2022}/input/ptsecurity-mosaic-input.mjs +0 -0
  642. /package/{esm2020 → esm2022}/input/public-api.mjs +0 -0
  643. /package/{esm2020 → esm2022}/link/index.mjs +0 -0
  644. /package/{esm2020 → esm2022}/link/ptsecurity-mosaic-link.mjs +0 -0
  645. /package/{esm2020 → esm2022}/link/public-api.mjs +0 -0
  646. /package/{esm2020 → esm2022}/list/index.mjs +0 -0
  647. /package/{esm2020 → esm2022}/list/ptsecurity-mosaic-list.mjs +0 -0
  648. /package/{esm2020 → esm2022}/list/public-api.mjs +0 -0
  649. /package/{esm2020 → esm2022}/loader-overlay/index.mjs +0 -0
  650. /package/{esm2020 → esm2022}/loader-overlay/ptsecurity-mosaic-loader-overlay.mjs +0 -0
  651. /package/{esm2020 → esm2022}/loader-overlay/public-api.mjs +0 -0
  652. /package/{esm2020 → esm2022}/markdown/index.mjs +0 -0
  653. /package/{esm2020 → esm2022}/markdown/markdown.values.mjs +0 -0
  654. /package/{esm2020 → esm2022}/markdown/ptsecurity-mosaic-markdown.mjs +0 -0
  655. /package/{esm2020 → esm2022}/markdown/public-api.mjs +0 -0
  656. /package/{esm2020 → esm2022}/modal/index.mjs +0 -0
  657. /package/{esm2020 → esm2022}/modal/modal-ref.class.mjs +0 -0
  658. /package/{esm2020 → esm2022}/modal/modal-util.mjs +0 -0
  659. /package/{esm2020 → esm2022}/modal/modal.type.mjs +0 -0
  660. /package/{esm2020 → esm2022}/modal/ptsecurity-mosaic-modal.mjs +0 -0
  661. /package/{esm2020 → esm2022}/modal/public-api.mjs +0 -0
  662. /package/{esm2020 → esm2022}/navbar/index.mjs +0 -0
  663. /package/{esm2020 → esm2022}/navbar/ptsecurity-mosaic-navbar.mjs +0 -0
  664. /package/{esm2020 → esm2022}/navbar/public-api.mjs +0 -0
  665. /package/{esm2020 → esm2022}/navbar/vertical-navbar.animation.mjs +0 -0
  666. /package/{esm2020 → esm2022}/popover/index.mjs +0 -0
  667. /package/{esm2020 → esm2022}/popover/popover-animations.mjs +0 -0
  668. /package/{esm2020 → esm2022}/popover/ptsecurity-mosaic-popover.mjs +0 -0
  669. /package/{esm2020 → esm2022}/popover/public-api.mjs +0 -0
  670. /package/{esm2020 → esm2022}/progress-bar/index.mjs +0 -0
  671. /package/{esm2020 → esm2022}/progress-bar/ptsecurity-mosaic-progress-bar.mjs +0 -0
  672. /package/{esm2020 → esm2022}/progress-bar/public-api.mjs +0 -0
  673. /package/{esm2020 → esm2022}/progress-spinner/index.mjs +0 -0
  674. /package/{esm2020 → esm2022}/progress-spinner/ptsecurity-mosaic-progress-spinner.mjs +0 -0
  675. /package/{esm2020 → esm2022}/progress-spinner/public-api.mjs +0 -0
  676. /package/{esm2020 → esm2022}/ptsecurity-mosaic.mjs +0 -0
  677. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
  678. /package/{esm2020 → esm2022}/radio/index.mjs +0 -0
  679. /package/{esm2020 → esm2022}/radio/ptsecurity-mosaic-radio.mjs +0 -0
  680. /package/{esm2020 → esm2022}/radio/public-api.mjs +0 -0
  681. /package/{esm2020 → esm2022}/select/index.mjs +0 -0
  682. /package/{esm2020 → esm2022}/select/ptsecurity-mosaic-select.mjs +0 -0
  683. /package/{esm2020 → esm2022}/select/public-api.mjs +0 -0
  684. /package/{esm2020 → esm2022}/sidebar/index.mjs +0 -0
  685. /package/{esm2020 → esm2022}/sidebar/ptsecurity-mosaic-sidebar.mjs +0 -0
  686. /package/{esm2020 → esm2022}/sidebar/public-api.mjs +0 -0
  687. /package/{esm2020 → esm2022}/sidebar/sidebar-animations.mjs +0 -0
  688. /package/{esm2020 → esm2022}/sidepanel/index.mjs +0 -0
  689. /package/{esm2020 → esm2022}/sidepanel/ptsecurity-mosaic-sidepanel.mjs +0 -0
  690. /package/{esm2020 → esm2022}/sidepanel/public-api.mjs +0 -0
  691. /package/{esm2020 → esm2022}/sidepanel/sidepanel-animations.mjs +0 -0
  692. /package/{esm2020 → esm2022}/sidepanel/sidepanel-config.mjs +0 -0
  693. /package/{esm2020 → esm2022}/sidepanel/sidepanel-ref.mjs +0 -0
  694. /package/{esm2020 → esm2022}/splitter/index.mjs +0 -0
  695. /package/{esm2020 → esm2022}/splitter/ptsecurity-mosaic-splitter.mjs +0 -0
  696. /package/{esm2020 → esm2022}/splitter/public-api.mjs +0 -0
  697. /package/{esm2020 → esm2022}/table/index.mjs +0 -0
  698. /package/{esm2020 → esm2022}/table/ptsecurity-mosaic-table.mjs +0 -0
  699. /package/{esm2020 → esm2022}/table/public-api.mjs +0 -0
  700. /package/{esm2020 → esm2022}/tabs/index.mjs +0 -0
  701. /package/{esm2020 → esm2022}/tabs/ptsecurity-mosaic-tabs.mjs +0 -0
  702. /package/{esm2020 → esm2022}/tabs/public-api.mjs +0 -0
  703. /package/{esm2020 → esm2022}/tabs/tab-nav-bar/index.mjs +0 -0
  704. /package/{esm2020 → esm2022}/tabs/tabs-animations.mjs +0 -0
  705. /package/{esm2020 → esm2022}/tags/index.mjs +0 -0
  706. /package/{esm2020 → esm2022}/tags/ptsecurity-mosaic-tags.mjs +0 -0
  707. /package/{esm2020 → esm2022}/tags/public-api.mjs +0 -0
  708. /package/{esm2020 → esm2022}/tags/tag-default-options.mjs +0 -0
  709. /package/{esm2020 → esm2022}/tags/tag-text-control.mjs +0 -0
  710. /package/{esm2020 → esm2022}/textarea/index.mjs +0 -0
  711. /package/{esm2020 → esm2022}/textarea/ptsecurity-mosaic-textarea.mjs +0 -0
  712. /package/{esm2020 → esm2022}/textarea/public-api.mjs +0 -0
  713. /package/{esm2020 → esm2022}/timepicker/index.mjs +0 -0
  714. /package/{esm2020 → esm2022}/timepicker/ptsecurity-mosaic-timepicker.mjs +0 -0
  715. /package/{esm2020 → esm2022}/timepicker/public-api.mjs +0 -0
  716. /package/{esm2020 → esm2022}/timepicker/timepicker.constants.mjs +0 -0
  717. /package/{esm2020 → esm2022}/timezone/index.mjs +0 -0
  718. /package/{esm2020 → esm2022}/timezone/ptsecurity-mosaic-timezone.mjs +0 -0
  719. /package/{esm2020 → esm2022}/timezone/public-api.mjs +0 -0
  720. /package/{esm2020 → esm2022}/timezone/timezone.models.mjs +0 -0
  721. /package/{esm2020 → esm2022}/timezone/timezone.utils.mjs +0 -0
  722. /package/{esm2020 → esm2022}/title/index.mjs +0 -0
  723. /package/{esm2020 → esm2022}/title/ptsecurity-mosaic-title.mjs +0 -0
  724. /package/{esm2020 → esm2022}/title/public-api.mjs +0 -0
  725. /package/{esm2020 → esm2022}/toast/index.mjs +0 -0
  726. /package/{esm2020 → esm2022}/toast/ptsecurity-mosaic-toast.mjs +0 -0
  727. /package/{esm2020 → esm2022}/toast/public-api.mjs +0 -0
  728. /package/{esm2020 → esm2022}/toast/toast-animations.mjs +0 -0
  729. /package/{esm2020 → esm2022}/toast/toast.type.mjs +0 -0
  730. /package/{esm2020 → esm2022}/toggle/index.mjs +0 -0
  731. /package/{esm2020 → esm2022}/toggle/ptsecurity-mosaic-toggle.mjs +0 -0
  732. /package/{esm2020 → esm2022}/toggle/public-api.mjs +0 -0
  733. /package/{esm2020 → esm2022}/tooltip/index.mjs +0 -0
  734. /package/{esm2020 → esm2022}/tooltip/ptsecurity-mosaic-tooltip.mjs +0 -0
  735. /package/{esm2020 → esm2022}/tooltip/public-api.mjs +0 -0
  736. /package/{esm2020 → esm2022}/tooltip/tooltip.animations.mjs +0 -0
  737. /package/{esm2020 → esm2022}/tree/control/base-tree-control.mjs +0 -0
  738. /package/{esm2020 → esm2022}/tree/control/flat-tree-control.mjs +0 -0
  739. /package/{esm2020 → esm2022}/tree/control/nested-tree-control.mjs +0 -0
  740. /package/{esm2020 → esm2022}/tree/control/tree-control.mjs +0 -0
  741. /package/{esm2020 → esm2022}/tree/data-source/nested-data-source.mjs +0 -0
  742. /package/{esm2020 → esm2022}/tree/index.mjs +0 -0
  743. /package/{esm2020 → esm2022}/tree/ptsecurity-mosaic-tree.mjs +0 -0
  744. /package/{esm2020 → esm2022}/tree/public-api.mjs +0 -0
  745. /package/{esm2020 → esm2022}/tree/tree-errors.mjs +0 -0
  746. /package/{esm2020 → esm2022}/tree-select/index.mjs +0 -0
  747. /package/{esm2020 → esm2022}/tree-select/ptsecurity-mosaic-tree-select.mjs +0 -0
  748. /package/{esm2020 → esm2022}/tree-select/public-api.mjs +0 -0
  749. /package/{fesm2015 → fesm2022}/ptsecurity-mosaic.mjs +0 -0
  750. /package/{fesm2015 → fesm2022}/ptsecurity-mosaic.mjs.map +0 -0
@@ -0,0 +1,350 @@
1
+ /* tslint:disable:naming-convention */
2
+ import { Inject, Injectable, InjectionToken, Optional, Pipe } from '@angular/core';
3
+ import { MC_DEFAULT_LOCALE_ID, MC_LOCALE_ID, MC_LOCALE_SERVICE, McLocaleService } from '../../locales';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../locales";
6
+ export const MC_NUMBER_FORMATTER_OPTIONS = new InjectionToken('McNumberFormatterOptions');
7
+ export const MC_NUMBER_FORMATTER_DEFAULT_OPTIONS = {
8
+ useGrouping: true,
9
+ minimumIntegerDigits: 1,
10
+ minimumFractionDigits: 0,
11
+ maximumFractionDigits: 3
12
+ };
13
+ function isEmpty(value) {
14
+ return value == null || value === '' || value !== value;
15
+ }
16
+ function strToNumber(value) {
17
+ if (typeof value === 'string' && !isNaN(Number(value) - parseFloat(value))) {
18
+ return Number(value);
19
+ }
20
+ if (typeof value !== 'number') {
21
+ throw new Error(`${value} is not a number`);
22
+ }
23
+ return value;
24
+ }
25
+ export const NUMBER_FORMAT_REGEXP = /^(\d+)?\.((\d+)(-(\d+))?(-(true|false))?)?$/;
26
+ const minIntGroupPosition = 1;
27
+ const minFractionGroupPosition = 3;
28
+ const maxFractionGroupPosition = 5;
29
+ const useGroupingPosition = 7;
30
+ // tslint:disable:no-magic-numbers
31
+ const ROUNDING_UNITS = {
32
+ thousand: 1e3,
33
+ tenThousand: 10 * 1e3,
34
+ million: 1e6,
35
+ oneHundredMillions: 100 * 1e6,
36
+ billion: 1e9,
37
+ trillion: 1e12
38
+ };
39
+ const intervalsConfig = {
40
+ supportedLanguages: ['ru-RU', 'en-US', 'es-LA', 'pt-BR', 'fa-IR'],
41
+ intervals: [
42
+ { startRange: 1, endRange: ROUNDING_UNITS.thousand },
43
+ { startRange: ROUNDING_UNITS.thousand, endRange: ROUNDING_UNITS.tenThousand, precision: 1 },
44
+ { startRange: ROUNDING_UNITS.tenThousand, endRange: ROUNDING_UNITS.million },
45
+ { startRange: ROUNDING_UNITS.million, endRange: ROUNDING_UNITS.million * 10, precision: 1 },
46
+ { startRange: ROUNDING_UNITS.million * 10, endRange: ROUNDING_UNITS.billion }
47
+ ]
48
+ };
49
+ // tslint:enable:no-magic-numbers
50
+ class ParsedDigitsInfo {
51
+ }
52
+ const defaultValueForGroupingInRULocale = 10000;
53
+ function parseDigitsInfo(digitsInfo) {
54
+ const parts = digitsInfo.match(NUMBER_FORMAT_REGEXP);
55
+ if (parts === null) {
56
+ throw new Error(`${digitsInfo} is not a valid digit info`);
57
+ }
58
+ const minIntPart = parts[minIntGroupPosition];
59
+ const minFractionPart = parts[minFractionGroupPosition];
60
+ const maxFractionPart = parts[maxFractionGroupPosition];
61
+ const useGroupingPart = parts[useGroupingPosition];
62
+ const result = new ParsedDigitsInfo();
63
+ if (minIntPart != null) {
64
+ result.minimumIntegerDigits = parseInt(minIntPart);
65
+ }
66
+ if (minFractionPart != null) {
67
+ result.minimumFractionDigits = parseInt(minFractionPart);
68
+ }
69
+ if (maxFractionPart != null) {
70
+ result.maximumFractionDigits = parseInt(maxFractionPart);
71
+ }
72
+ else if (minFractionPart != null && result.minimumFractionDigits > result.maximumFractionDigits) {
73
+ result.maximumFractionDigits = result.minimumFractionDigits;
74
+ }
75
+ if (useGroupingPart != null) {
76
+ result.useGrouping = useGroupingPart === 'true';
77
+ }
78
+ return result;
79
+ }
80
+ export class McDecimalPipe {
81
+ constructor(id, localeService, options) {
82
+ this.id = id;
83
+ this.localeService = localeService;
84
+ this.options = options;
85
+ this.options = this.options || MC_NUMBER_FORMATTER_DEFAULT_OPTIONS;
86
+ this.localeService?.changes
87
+ .subscribe((newId) => this.id = newId);
88
+ }
89
+ /**
90
+ * @param value The number to be formatted.
91
+ * @param digitsInfo Decimal representation options, specified by a string
92
+ * in the following format:<br>
93
+ * <code>{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}</code>.
94
+ * - `minIntegerDigits`: The minimum number of integer digits before the decimal point.
95
+ * Default is `1`.
96
+ * - `minFractionDigits`: The minimum number of digits after the decimal point.
97
+ * Default is `0`.
98
+ * - `maxFractionDigits`: The maximum number of digits after the decimal point.
99
+ * Default is `3`.
100
+ * @param locale A locale code for the locale format rules to use.
101
+ * When not supplied, uses the value of `MC_LOCALE_ID`, which is `ru` by default.
102
+ */
103
+ transform(value, digitsInfo, locale) {
104
+ if (isEmpty(value)) {
105
+ return null;
106
+ }
107
+ const currentLocale = locale || this.id || MC_DEFAULT_LOCALE_ID;
108
+ let parsedDigitsInfo;
109
+ if (digitsInfo) {
110
+ parsedDigitsInfo = parseDigitsInfo(digitsInfo);
111
+ }
112
+ const options = {
113
+ ...this.options,
114
+ ...parsedDigitsInfo
115
+ };
116
+ if (this.isSpecialFormatForRULocale(currentLocale, value, parsedDigitsInfo?.useGrouping)) {
117
+ options.useGrouping = false;
118
+ }
119
+ try {
120
+ const num = strToNumber(value);
121
+ /* Guideline requires for group separator to be `space`, as in 'ru-RU' locale.
122
+ * But by default in es-LA locale is used `comma`.
123
+ * To reduce data manipulation, 'ru-RU' locale is used. */
124
+ if (currentLocale === 'es-LA') {
125
+ return Intl.NumberFormat.call(this, 'ru-RU', options).format(num);
126
+ }
127
+ return Intl.NumberFormat.call(this, currentLocale, options).format(num);
128
+ }
129
+ catch (error) {
130
+ throw Error(`InvalidPipeArgument: McDecimalPipe for pipe '${JSON.stringify(error.message)}'`);
131
+ }
132
+ }
133
+ isSpecialFormatForRULocale(locale, value, grouping) {
134
+ return ['ru', 'ru-RU'].includes(locale) && grouping === undefined && value < defaultValueForGroupingInRULocale;
135
+ }
136
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: McDecimalPipe, deps: [{ token: MC_LOCALE_ID, optional: true }, { token: MC_LOCALE_SERVICE, optional: true }, { token: MC_NUMBER_FORMATTER_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Pipe }); }
137
+ /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.5", ngImport: i0, type: McDecimalPipe, name: "mcNumber", pure: false }); }
138
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: McDecimalPipe, providedIn: 'root' }); }
139
+ }
140
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: McDecimalPipe, decorators: [{
141
+ type: Injectable,
142
+ args: [{ providedIn: 'root' }]
143
+ }, {
144
+ type: Pipe,
145
+ args: [{ name: 'mcNumber', pure: false }]
146
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
147
+ type: Optional
148
+ }, {
149
+ type: Inject,
150
+ args: [MC_LOCALE_ID]
151
+ }] }, { type: i1.McLocaleService, decorators: [{
152
+ type: Optional
153
+ }, {
154
+ type: Inject,
155
+ args: [MC_LOCALE_SERVICE]
156
+ }] }, { type: ParsedDigitsInfo, decorators: [{
157
+ type: Optional
158
+ }, {
159
+ type: Inject,
160
+ args: [MC_NUMBER_FORMATTER_OPTIONS]
161
+ }] }]; } });
162
+ export class McTableNumberPipe {
163
+ constructor(id, localeService, options) {
164
+ this.id = id;
165
+ this.localeService = localeService;
166
+ this.options = options;
167
+ this.options = this.options || MC_NUMBER_FORMATTER_DEFAULT_OPTIONS;
168
+ this.localeService?.changes
169
+ .subscribe((newId) => this.id = newId);
170
+ }
171
+ /**
172
+ * @param value The number to be formatted.
173
+ * @param digitsInfo Decimal representation options, specified by a string
174
+ * in the following format:<br>
175
+ * <code>{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}</code>.
176
+ * - `minIntegerDigits`: The minimum number of integer digits before the decimal point.
177
+ * Default is `1`.
178
+ * - `minFractionDigits`: The minimum number of digits after the decimal point.
179
+ * Default is `0`.
180
+ * - `maxFractionDigits`: The maximum number of digits after the decimal point.
181
+ * Default is `3`.
182
+ * @param locale A locale code for the locale format rules to use.
183
+ * When not supplied, uses the value of `MC_LOCALE_ID`, which is `ru` by default.
184
+ */
185
+ transform(value, digitsInfo, locale) {
186
+ if (isEmpty(value)) {
187
+ return null;
188
+ }
189
+ const currentLocale = locale || this.id || MC_DEFAULT_LOCALE_ID;
190
+ let parsedDigitsInfo;
191
+ if (digitsInfo) {
192
+ parsedDigitsInfo = parseDigitsInfo(digitsInfo);
193
+ }
194
+ const options = {
195
+ ...this.options,
196
+ ...parsedDigitsInfo
197
+ };
198
+ try {
199
+ const num = strToNumber(value);
200
+ /* Guideline requires for group separator to be `space`, as in 'ru-RU' locale.
201
+ * But by default in es-LA locale is used `comma`.
202
+ * To reduce data manipulation, 'ru-RU' locale is used. */
203
+ if (currentLocale === 'es-LA') {
204
+ return Intl.NumberFormat.call(this, 'ru-RU', options).format(num);
205
+ }
206
+ return Intl.NumberFormat.call(this, currentLocale, options).format(num);
207
+ }
208
+ catch (error) {
209
+ throw Error(`InvalidPipeArgument: McDecimalPipe for pipe '${JSON.stringify(error.message)}'`);
210
+ }
211
+ }
212
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: McTableNumberPipe, deps: [{ token: MC_LOCALE_ID, optional: true }, { token: MC_LOCALE_SERVICE, optional: true }, { token: MC_NUMBER_FORMATTER_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Pipe }); }
213
+ /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.5", ngImport: i0, type: McTableNumberPipe, name: "mcTableNumber", pure: false }); }
214
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: McTableNumberPipe, providedIn: 'root' }); }
215
+ }
216
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: McTableNumberPipe, decorators: [{
217
+ type: Injectable,
218
+ args: [{ providedIn: 'root' }]
219
+ }, {
220
+ type: Pipe,
221
+ args: [{ name: 'mcTableNumber', pure: false }]
222
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
223
+ type: Optional
224
+ }, {
225
+ type: Inject,
226
+ args: [MC_LOCALE_ID]
227
+ }] }, { type: i1.McLocaleService, decorators: [{
228
+ type: Optional
229
+ }, {
230
+ type: Inject,
231
+ args: [MC_LOCALE_SERVICE]
232
+ }] }, { type: ParsedDigitsInfo, decorators: [{
233
+ type: Optional
234
+ }, {
235
+ type: Inject,
236
+ args: [MC_NUMBER_FORMATTER_OPTIONS]
237
+ }] }]; } });
238
+ export function isWithin(startRange, endRange, valueToCheck) {
239
+ return startRange <= valueToCheck && valueToCheck < endRange;
240
+ }
241
+ export class McRoundDecimalPipe {
242
+ constructor(id, localeService) {
243
+ this.id = id;
244
+ this.localeService = localeService;
245
+ this.localeService?.changes
246
+ .subscribe((newId) => this.id = newId);
247
+ }
248
+ transform(value, locale) {
249
+ if (isEmpty(value)) {
250
+ return null;
251
+ }
252
+ const currentLocale = locale || this.id || MC_DEFAULT_LOCALE_ID;
253
+ this.roundingOptions = this.localeService.locales[currentLocale].formatters.number.rounding;
254
+ try {
255
+ const num = strToNumber(value);
256
+ const unit = this.calculateUnit(num);
257
+ if (!unit) {
258
+ return Intl.NumberFormat.call(this, currentLocale, { useGrouping: false }).format(num);
259
+ }
260
+ let parts = {};
261
+ if (intervalsConfig.supportedLanguages.includes(currentLocale)) {
262
+ intervalsConfig.intervals
263
+ .find(({ startRange, endRange, precision }) => {
264
+ const within = isWithin(startRange, endRange, num);
265
+ if (within) {
266
+ if (precision) {
267
+ parts = unit === 'thousand' ?
268
+ this.calculatePartsForThousands(num) :
269
+ {
270
+ num: Math.trunc(num / ROUNDING_UNITS[unit]),
271
+ fraction: this.calculateDecimal(num, ROUNDING_UNITS[unit])
272
+ };
273
+ }
274
+ else {
275
+ parts = { num: Math.round(num / ROUNDING_UNITS[unit]) };
276
+ }
277
+ }
278
+ return within;
279
+ });
280
+ }
281
+ parts = parts.num ? parts : {
282
+ num: Math.trunc(num / ROUNDING_UNITS[unit]),
283
+ fraction: this.calculateDecimal(num, ROUNDING_UNITS[unit])
284
+ };
285
+ Object.keys(parts).forEach((key) => {
286
+ parts[key] = Intl.NumberFormat.call(this, currentLocale, { useGrouping: false }).format(parts[key]);
287
+ });
288
+ const calculatedValue = parts.fraction
289
+ ? `${parts.num}${this.roundingOptions.groupSeparator}${parts.fraction}`
290
+ : `${parts.num}`;
291
+ return `${calculatedValue}${this.roundingOptions.separator}${this.roundingOptions[unit]}`;
292
+ }
293
+ catch (error) {
294
+ throw Error(`InvalidPipeArgument: McRoundDecimalPipe for pipe '${JSON.stringify(error.message)}'`);
295
+ }
296
+ }
297
+ calculateDecimal(num, divider) {
298
+ /* tslint:disable-next-line:no-magic-numbers */
299
+ return Math.round(num / divider % 1 * 10);
300
+ }
301
+ /**
302
+ * 2 * 1000 is a number in the interval of [1500...2500)
303
+ *
304
+ * 2,0 * 1000 is a number in the interval of [1950...2050)
305
+ */
306
+ calculatePartsForThousands(num) {
307
+ const dividedValue = num / ROUNDING_UNITS.thousand;
308
+ const div = Math.round(dividedValue) * ROUNDING_UNITS.thousand;
309
+ const fifty = 50;
310
+ return isWithin(div - fifty, div + fifty, num)
311
+ ? { num: Math.round(dividedValue), fraction: 0 }
312
+ : { num: Math.round(dividedValue) };
313
+ }
314
+ calculateUnit(num) {
315
+ let currentUnit;
316
+ const localizedOptions = Object.keys(this.roundingOptions);
317
+ Object.keys(ROUNDING_UNITS).every((key) => {
318
+ if (!localizedOptions.includes(key)) {
319
+ return true;
320
+ }
321
+ if (num / ROUNDING_UNITS[key] >= 1) {
322
+ currentUnit = key;
323
+ return true;
324
+ }
325
+ return false;
326
+ });
327
+ return currentUnit;
328
+ }
329
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: McRoundDecimalPipe, deps: [{ token: MC_LOCALE_ID, optional: true }, { token: MC_LOCALE_SERVICE, optional: true }], target: i0.ɵɵFactoryTarget.Pipe }); }
330
+ /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.5", ngImport: i0, type: McRoundDecimalPipe, name: "mcRoundNumber", pure: false }); }
331
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: McRoundDecimalPipe, providedIn: 'root' }); }
332
+ }
333
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: McRoundDecimalPipe, decorators: [{
334
+ type: Injectable,
335
+ args: [{ providedIn: 'root' }]
336
+ }, {
337
+ type: Pipe,
338
+ args: [{ name: 'mcRoundNumber', pure: false }]
339
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
340
+ type: Optional
341
+ }, {
342
+ type: Inject,
343
+ args: [MC_LOCALE_ID]
344
+ }] }, { type: i1.McLocaleService, decorators: [{
345
+ type: Optional
346
+ }, {
347
+ type: Inject,
348
+ args: [MC_LOCALE_SERVICE]
349
+ }] }]; } });
350
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbW9zYWljL2NvcmUvZm9ybWF0dGVycy9udW1iZXIvZm9ybWF0dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHNDQUFzQztBQUN0QyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFbEcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUd2RyxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyxJQUFJLGNBQWMsQ0FBUywwQkFBMEIsQ0FBQyxDQUFDO0FBRWxHLE1BQU0sQ0FBQyxNQUFNLG1DQUFtQyxHQUFxQjtJQUNqRSxXQUFXLEVBQUUsSUFBSTtJQUNqQixvQkFBb0IsRUFBRSxDQUFDO0lBQ3ZCLHFCQUFxQixFQUFFLENBQUM7SUFDeEIscUJBQXFCLEVBQUUsQ0FBQztDQUMzQixDQUFDO0FBR0YsU0FBUyxPQUFPLENBQUMsS0FBVTtJQUN2QixPQUFPLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyxLQUFLLEVBQUUsSUFBSSxLQUFLLEtBQUssS0FBSyxDQUFDO0FBQzVELENBQUM7QUFFRCxTQUFTLFdBQVcsQ0FBQyxLQUFzQjtJQUN2QyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7UUFDeEUsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDeEI7SUFFRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtRQUMzQixNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxrQkFBa0IsQ0FBQyxDQUFDO0tB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Z0JBQWdCLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFM0QsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUN0QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUFFLE9BQU8sSUFBSSxDQUFDO2FBQUU7WUFDckQsSUFBSSxHQUFHLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDaEMsV0FBVyxHQUFHLEdBQUcsQ0FBQztnQkFFbEIsT0FBTyxJQUFJLENBQUM7YUFDZjtZQUVELE9BQU8sS0FBSyxDQUFDO1FBQ2pCLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxXQUFXLENBQUM7SUFDdkIsQ0FBQztpSUFwR1Esa0JBQWtCLGtCQUtILFlBQVksNkJBQ1osaUJBQWlCOytIQU5oQyxrQkFBa0I7cUlBQWxCLGtCQUFrQixjQUZMLE1BQU07OzJGQUVuQixrQkFBa0I7a0JBRjlCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOztrQkFDakMsSUFBSTttQkFBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRTs7MEJBTW5DLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsWUFBWTs7MEJBQy9CLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiLyogdHNsaW50OmRpc2FibGU6bmFtaW5nLWNvbnZlbnRpb24gKi9cbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4sIE9wdGlvbmFsLCBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE1DX0RFRkFVTFRfTE9DQUxFX0lELCBNQ19MT0NBTEVfSUQsIE1DX0xPQ0FMRV9TRVJWSUNFLCBNY0xvY2FsZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9sb2NhbGVzJztcblxuXG5leHBvcnQgY29uc3QgTUNfTlVNQkVSX0ZPUk1BVFRFUl9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oJ01jTnVtYmVyRm9ybWF0dGVyT3B0aW9ucycpO1xuXG5leHBvcnQgY29uc3QgTUNfTlVNQkVSX0ZPUk1BVFRFUl9ERUZBVUxUX09QVElPTlM6IFBhcnNlZERpZ2l0c0luZm8gPSB7XG4gICAgdXNlR3JvdXBpbmc6IHRydWUsXG4gICAgbWluaW11bUludGVnZXJEaWdpdHM6IDEsXG4gICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwLFxuICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogM1xufTtcblxuXG5mdW5jdGlvbiBpc0VtcHR5KHZhbHVlOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdmFsdWUgPT0gbnVsbCB8fCB2YWx1ZSA9PT0gJycgfHwgdmFsdWUgIT09IHZhbHVlO1xufVxuXG5mdW5jdGlvbiBzdHJUb051bWJlcih2YWx1ZTogbnVtYmVyIHwgc3RyaW5nKTogbnVtYmVyIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiAhaXNOYU4oTnVtYmVyKHZhbHVlKSAtIHBhcnNlRmxvYXQodmFsdWUpKSkge1xuICAgICAgICByZXR1cm4gTnVtYmVyKHZhbHVlKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnbnVtYmVyJykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7dmFsdWV9IGlzIG5vdCBhIG51bWJlcmApO1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZTtcbn1cblxuZXhwb3J0IGNvbnN0IE5VTUJFUl9GT1JNQVRfUkVHRVhQID0gL14oXFxkKyk/XFwuKChcXGQrKSgtKFxcZCspKT8oLSh0cnVlfGZhbHNlKSk/KT8kLztcblxuY29uc3QgbWluSW50R3JvdXBQb3NpdGlvbiA9IDE7XG5jb25zdCBtaW5GcmFjdGlvbkdyb3VwUG9zaXRpb24gPSAzO1xuY29uc3QgbWF4RnJhY3Rpb25Hcm91cFBvc2l0aW9uID0gNTtcbmNvbnN0IHVzZUdyb3VwaW5nUG9zaXRpb24gPSA3O1xuXG5pbnRlcmZhY2UgTnVtYmVyRm9ybWF0T3B0aW9ucyB7XG4gICAgdXNlR3JvdXBpbmc6IGJvb2xlYW47XG5cbiAgICBtaW5pbXVtSW50ZWdlckRpZ2l0czogbnVtYmVyO1xuICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogbnVtYmVyO1xuICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogbnVtYmVyO1xuICAgIG1pbmltdW1TaWduaWZpY2FudERpZ2l0czogbnVtYmVyO1xuICAgIG1heGltdW1TaWduaWZpY2FudERpZ2l0czogbnVtYmVyO1xuXG4gICAgbG9jYWxlTWF0Y2hlcj86IHN0cmluZztcbiAgICBzdHlsZT86IHN0cmluZztcblxuICAgIGN1cnJlbmN5Pzogc3RyaW5nO1xuICAgIGN1cnJlbmN5RGlzcGxheT86IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIFJvdW5kRGVjaW1hbE9wdGlvbnMge1xuICAgIHNlcGFyYXRvcjogc3RyaW5nO1xuICAgIGdyb3VwU2VwYXJhdG9yOiBzdHJpbmc7XG4gICAgdGhvdXNhbmRzPzogc3RyaW5nO1xuICAgIHRlblRob3VzYW5kPzogc3RyaW5nO1xuICAgIG1pbGxpb24/OiBzdHJpbmc7XG4gICAgb25lSHVuZHJlZE1pbGxpb25zPzogc3RyaW5nO1xuICAgIGJpbGxpb24/OiBzdHJpbmc7XG4gICAgdHJpbGxpb246IHN0cmluZztcbiAgICBydGw/OiBib29sZWFuO1xufVxuXG5cbi8vIHRzbGludDpkaXNhYmxlOm5vLW1hZ2ljLW51bWJlcnNcbmNvbnN0IFJPVU5ESU5HX1VOSVRTID0ge1xuICAgIHRob3VzYW5kOiAxZTMsXG4gICAgdGVuVGhvdXNhbmQ6IDEwICogMWUzLFxuICAgIG1pbGxpb246IDFlNixcbiAgICBvbmVIdW5kcmVkTWlsbGlvbnM6IDEwMCAqIDFlNixcbiAgICBiaWxsaW9uOiAxZTksXG4gICAgdHJpbGxpb246IDFlMTJcbn07XG5cbmNvbnN0IGludGVydmFsc0NvbmZpZyA9IHtcbiAgICBzdXBwb3J0ZWRMYW5ndWFnZXM6IFsncnUtUlUnLCAnZW4tVVMnLCAnZXMtTEEnLCAncHQtQlInLCAnZmEtSVInXSxcbiAgICBpbnRlcnZhbHM6IFtcbiAgICAgICAgeyBzdGFydFJhbmdlOiAxLCBlbmRSYW5nZTogUk9VTkRJTkdfVU5JVFMudGhvdXNhbmQgfSxcbiAgICAgICAgeyBzdGFydFJhbmdlOiBST1VORElOR19VTklUUy50aG91c2FuZCwgZW5kUmFuZ2U6IFJPVU5ESU5HX1VOSVRTLnRlblRob3VzYW5kLCBwcmVjaXNpb246IDEgfSxcbiAgICAgICAgeyBzdGFydFJhbmdlOiBST1VORElOR19VTklUUy50ZW5UaG91c2FuZCwgZW5kUmFuZ2U6IFJPVU5ESU5HX1VOSVRTLm1pbGxpb24gfSxcbiAgICAgICAgeyBzdGFydFJhbmdlOiBST1VORElOR19VTklUUy5taWxsaW9uLCBlbmRSYW5nZTogUk9VTkRJTkdfVU5JVFMubWlsbGlvbiAqIDEwLCBwcmVjaXNpb246IDEgfSxcbiAgICAgICAgeyBzdGFydFJhbmdlOiBST1VORElOR19VTklUUy5taWxsaW9uICogMTAsIGVuZFJhbmdlOiBST1VORElOR19VTklUUy5iaWxsaW9uIH1cbiAgICBdXG59O1xuLy8gdHNsaW50OmVuYWJsZTpuby1tYWdpYy1udW1iZXJzXG5cbmNsYXNzIFBhcnNlZERpZ2l0c0luZm8ge1xuICAgIHVzZUdyb3VwaW5nOiBib29sZWFuO1xuICAgIG1pbmltdW1JbnRlZ2VyRGlnaXRzOiBudW1iZXI7XG4gICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiBudW1iZXI7XG4gICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiBudW1iZXI7XG59XG5cbmNvbnN0IGRlZmF1bHRWYWx1ZUZvckdyb3VwaW5nSW5SVUxvY2FsZTogbnVtYmVyID0gMTAwMDA7XG5cbmZ1bmN0aW9uIHBhcnNlRGlnaXRzSW5mbyhkaWdpdHNJbmZvOiBzdHJpbmcpOiBQYXJzZWREaWdpdHNJbmZvIHtcbiAgICBjb25zdCBwYXJ0cyA9IGRpZ2l0c0luZm8ubWF0Y2goTlVNQkVSX0ZPUk1BVF9SRUdFWFApO1xuXG4gICAgaWYgKHBhcnRzID09PSBudWxsKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgJHtkaWdpdHNJbmZvfSBpcyBub3QgYSB2YWxpZCBkaWdpdCBpbmZvYCk7XG4gICAgfVxuXG4gICAgY29uc3QgbWluSW50UGFydCA9IHBhcnRzW21pbkludEdyb3VwUG9zaXRpb25dO1xuICAgIGNvbnN0IG1pbkZyYWN0aW9uUGFydCA9IHBhcnRzW21pbkZyYWN0aW9uR3JvdXBQb3NpdGlvbl07XG4gICAgY29uc3QgbWF4RnJhY3Rpb25QYXJ0ID0gcGFydHNbbWF4RnJhY3Rpb25Hcm91cFBvc2l0aW9uXTtcbiAgICBjb25zdCB1c2VHcm91cGluZ1BhcnQgPSBwYXJ0c1t1c2VHcm91cGluZ1Bvc2l0aW9uXTtcblxuICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBQYXJzZWREaWdpdHNJbmZvKCk7XG5cbiAgICBpZiAobWluSW50UGFydCAhPSBudWxsKSB7XG4gICAgICAgIHJlc3VsdC5taW5pbXVtSW50ZWdlckRpZ2l0cyA9IHBhcnNlSW50KG1pbkludFBhcnQpO1xuICAgIH1cblxuICAgIGlmIChtaW5GcmFjdGlvblBhcnQgIT0gbnVsbCkge1xuICAgICAgICByZXN1bHQubWluaW11bUZyYWN0aW9uRGlnaXRzID0gcGFyc2VJbnQobWluRnJhY3Rpb25QYXJ0KTtcbiAgICB9XG5cbiAgICBpZiAobWF4RnJhY3Rpb25QYXJ0ICE9IG51bGwpIHtcbiAgICAgICAgcmVzdWx0Lm1heGltdW1GcmFjdGlvbkRpZ2l0cyA9IHBhcnNlSW50KG1heEZyYWN0aW9uUGFydCk7XG4gICAgfSBlbHNlIGlmIChtaW5GcmFjdGlvblBhcnQgIT0gbnVsbCAmJiByZXN1bHQubWluaW11bUZyYWN0aW9uRGlnaXRzID4gcmVzdWx0Lm1heGltdW1GcmFjdGlvbkRpZ2l0cykge1xuICAgICAgICByZXN1bHQubWF4aW11bUZyYWN0aW9uRGlnaXRzID0gcmVzdWx0Lm1pbmltdW1GcmFjdGlvbkRpZ2l0cztcbiAgICB9XG5cbiAgICBpZiAodXNlR3JvdXBpbmdQYXJ0ICE9IG51bGwpIHtcbiAgICAgICAgcmVzdWx0LnVzZUdyb3VwaW5nID0gdXNlR3JvdXBpbmdQYXJ0ID09PSAndHJ1ZSc7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cblxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuQFBpcGUoeyBuYW1lOiAnbWNOdW1iZXInLCBwdXJlOiBmYWxzZSB9KVxuZXhwb3J0IGNsYXNzIE1jRGVjaW1hbFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChNQ19MT0NBTEVfSUQpIHByaXZhdGUgaWQ6IHN0cmluZyxcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChNQ19MT0NBTEVfU0VSVklDRSkgcHJpdmF0ZSBsb2NhbGVTZXJ2aWNlOiBNY0xvY2FsZVNlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTUNfTlVNQkVSX0ZPUk1BVFRFUl9PUFRJT05TKSBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IFBhcnNlZERpZ2l0c0luZm9cbiAgICApIHtcbiAgICAgICAgdGhpcy5vcHRpb25zID0gdGhpcy5vcHRpb25zIHx8IE1DX05VTUJFUl9GT1JNQVRURVJfREVGQVVMVF9PUFRJT05TO1xuXG4gICAgICAgIHRoaXMubG9jYWxlU2VydmljZT8uY2hhbmdlc1xuICAgICAgICAgICAgLnN1YnNjcmliZSgobmV3SWQ6IHN0cmluZykgPT4gdGhpcy5pZCA9IG5ld0lkKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gdmFsdWUgVGhlIG51bWJlciB0byBiZSBmb3JtYXR0ZWQuXG4gICAgICogQHBhcmFtIGRpZ2l0c0luZm8gRGVjaW1hbCByZXByZXNlbnRhdGlvbiBvcHRpb25zLCBzcGVjaWZpZWQgYnkgYSBzdHJpbmdcbiAgICAgKiBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDo8YnI+XG4gICAgICogPGNvZGU+e21pbkludGVnZXJEaWdpdHN9LnttaW5GcmFjdGlvbkRpZ2l0c30te21heEZyYWN0aW9uRGlnaXRzfTwvY29kZT4uXG4gICAgICogICAtIGBtaW5JbnRlZ2VyRGlnaXRzYDogVGhlIG1pbmltdW0gbnVtYmVyIG9mIGludGVnZXIgZGlnaXRzIGJlZm9yZSB0aGUgZGVjaW1hbCBwb2ludC5cbiAgICAgKiBEZWZhdWx0IGlzIGAxYC5cbiAgICAgKiAgIC0gYG1pbkZyYWN0aW9uRGlnaXRzYDogVGhlIG1pbmltdW0gbnVtYmVyIG9mIGRpZ2l0cyBhZnRlciB0aGUgZGVjaW1hbCBwb2ludC5cbiAgICAgKiBEZWZhdWx0IGlzIGAwYC5cbiAgICAgKiAgIC0gYG1heEZyYWN0aW9uRGlnaXRzYDogVGhlIG1heGltdW0gbnVtYmVyIG9mIGRpZ2l0cyBhZnRlciB0aGUgZGVjaW1hbCBwb2ludC5cbiAgICAgKiBEZWZhdWx0IGlzIGAzYC5cbiAgICAgKiBAcGFyYW0gbG9jYWxlIEEgbG9jYWxlIGNvZGUgZm9yIHRoZSBsb2NhbGUgZm9ybWF0IHJ1bGVzIHRvIHVzZS5cbiAgICAgKiBXaGVuIG5vdCBzdXBwbGllZCwgdXNlcyB0aGUgdmFsdWUgb2YgYE1DX0xPQ0FMRV9JRGAsIHdoaWNoIGlzIGBydWAgYnkgZGVmYXVsdC5cbiAgICAgKi9cbiAgICAgICAgdHJhbnNmb3JtKHZhbHVlOiBhbnksIGRpZ2l0c0luZm8/OiBzdHJpbmcsIGxvY2FsZT86IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBpZiAoaXNFbXB0eSh2YWx1ZSkpIHsgcmV0dXJuIG51bGw7IH1cblxuICAgICAgICBjb25zdCBjdXJyZW50TG9jYWxlID0gbG9jYWxlIHx8IHRoaXMuaWQgfHwgTUNfREVGQVVMVF9MT0NBTEVfSUQ7XG5cbiAgICAgICAgbGV0IHBhcnNlZERpZ2l0c0luZm87XG5cbiAgICAgICAgaWYgKGRpZ2l0c0luZm8pIHtcbiAgICAgICAgICAgIHBhcnNlZERpZ2l0c0luZm8gPSBwYXJzZURpZ2l0c0luZm8oZGlnaXRzSW5mbyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBvcHRpb25zOiBOdW1iZXJGb3JtYXRPcHRpb25zID0ge1xuICAgICAgICAgICAgLi4udGhpcy5vcHRpb25zLFxuICAgICAgICAgICAgLi4ucGFyc2VkRGlnaXRzSW5mb1xuICAgICAgICB9O1xuXG4gICAgICAgIGlmICh0aGlzLmlzU3BlY2lhbEZvcm1hdEZvclJVTG9jYWxlKGN1cnJlbnRMb2NhbGUsIHZhbHVlLCBwYXJzZWREaWdpdHNJbmZvPy51c2VHcm91cGluZykpIHtcbiAgICAgICAgICAgIG9wdGlvbnMudXNlR3JvdXBpbmcgPSBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBudW0gPSBzdHJUb051bWJlcih2YWx1ZSk7XG5cbiAgICAgICAgICAgIC8qIEd1aWRlbGluZSByZXF1aXJlcyBmb3IgZ3JvdXAgc2VwYXJhdG9yIHRvIGJlIGBzcGFjZWAsIGFzIGluICdydS1SVScgbG9jYWxlLlxuICAgICAgICAgICAgICogQnV0IGJ5IGRlZmF1bHQgaW4gZXMtTEEgbG9jYWxlIGlzIHVzZWQgYGNvbW1hYC5cbiAgICAgICAgICAgICAqIFRvIHJlZHVjZSBkYXRhIG1hbmlwdWxhdGlvbiwgJ3J1LVJVJyBsb2NhbGUgaXMgdXNlZC4gKi9cbiAgICAgICAgICAgIGlmIChjdXJyZW50TG9jYWxlID09PSAnZXMtTEEnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIEludGwuTnVtYmVyRm9ybWF0LmNhbGwodGhpcywgJ3J1LVJVJywgb3B0aW9ucykuZm9ybWF0KG51bSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBJbnRsLk51bWJlckZvcm1hdC5jYWxsKHRoaXMsIGN1cnJlbnRMb2NhbGUsIG9wdGlvbnMpLmZvcm1hdChudW0pO1xuICAgICAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcihgSW52YWxpZFBpcGVBcmd1bWVudDogTWNEZWNpbWFsUGlwZSBmb3IgcGlwZSAnJHtKU09OLnN0cmluZ2lmeShlcnJvci5tZXNzYWdlKX0nYCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpc1NwZWNpYWxGb3JtYXRGb3JSVUxvY2FsZShsb2NhbGU6IHN0cmluZywgdmFsdWU6IG51bWJlciwgZ3JvdXBpbmc/OiBib29sZWFuKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBbJ3J1JywgJ3J1LVJVJ10uaW5jbHVkZXMobG9jYWxlKSAmJiBncm91cGluZyA9PT0gdW5kZWZpbmVkICYmIHZhbHVlIDwgZGVmYXVsdFZhbHVlRm9yR3JvdXBpbmdJblJVTG9jYWxlO1xuICAgIH1cbn1cblxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuQFBpcGUoeyBuYW1lOiAnbWNUYWJsZU51bWJlcicsIHB1cmU6IGZhbHNlIH0pXG5leHBvcnQgY2xhc3MgTWNUYWJsZU51bWJlclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChNQ19MT0NBTEVfSUQpIHByaXZhdGUgaWQ6IHN0cmluZyxcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChNQ19MT0NBTEVfU0VSVklDRSkgcHJpdmF0ZSBsb2NhbGVTZXJ2aWNlOiBNY0xvY2FsZVNlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTUNfTlVNQkVSX0ZPUk1BVFRFUl9PUFRJT05TKSBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IFBhcnNlZERpZ2l0c0luZm9cbiAgICApIHtcbiAgICAgICAgdGhpcy5vcHRpb25zID0gdGhpcy5vcHRpb25zIHx8IE1DX05VTUJFUl9GT1JNQVRURVJfREVGQVVMVF9PUFRJT05TO1xuXG4gICAgICAgIHRoaXMubG9jYWxlU2VydmljZT8uY2hhbmdlc1xuICAgICAgICAgICAgLnN1YnNjcmliZSgobmV3SWQ6IHN0cmluZykgPT4gdGhpcy5pZCA9IG5ld0lkKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gdmFsdWUgVGhlIG51bWJlciB0byBiZSBmb3JtYXR0ZWQuXG4gICAgICogQHBhcmFtIGRpZ2l0c0luZm8gRGVjaW1hbCByZXByZXNlbnRhdGlvbiBvcHRpb25zLCBzcGVjaWZpZWQgYnkgYSBzdHJpbmdcbiAgICAgKiBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDo8YnI+XG4gICAgICogPGNvZGU+e21pbkludGVnZXJEaWdpdHN9LnttaW5GcmFjdGlvbkRpZ2l0c30te21heEZyYWN0aW9uRGlnaXRzfTwvY29kZT4uXG4gICAgICogICAtIGBtaW5JbnRlZ2VyRGlnaXRzYDogVGhlIG1pbmltdW0gbnVtYmVyIG9mIGludGVnZXIgZGlnaXRzIGJlZm9yZSB0aGUgZGVjaW1hbCBwb2ludC5cbiAgICAgKiBEZWZhdWx0IGlzIGAxYC5cbiAgICAgKiAgIC0gYG1pbkZyYWN0aW9uRGlnaXRzYDogVGhlIG1pbmltdW0gbnVtYmVyIG9mIGRpZ2l0cyBhZnRlciB0aGUgZGVjaW1hbCBwb2ludC5cbiAgICAgKiBEZWZhdWx0IGlzIGAwYC5cbiAgICAgKiAgIC0gYG1heEZyYWN0aW9uRGlnaXRzYDogVGhlIG1heGltdW0gbnVtYmVyIG9mIGRpZ2l0cyBhZnRlciB0aGUgZGVjaW1hbCBwb2ludC5cbiAgICAgKiBEZWZhdWx0IGlzIGAzYC5cbiAgICAgKiBAcGFyYW0gbG9jYWxlIEEgbG9jYWxlIGNvZGUgZm9yIHRoZSBsb2NhbGUgZm9ybWF0IHJ1bGVzIHRvIHVzZS5cbiAgICAgKiBXaGVuIG5vdCBzdXBwbGllZCwgdXNlcyB0aGUgdmFsdWUgb2YgYE1DX0xPQ0FMRV9JRGAsIHdoaWNoIGlzIGBydWAgYnkgZGVmYXVsdC5cbiAgICAgKi9cbiAgICB0cmFuc2Zvcm0odmFsdWU6IGFueSwgZGlnaXRzSW5mbz86IHN0cmluZywgbG9jYWxlPzogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIGlmIChpc0VtcHR5KHZhbHVlKSkgeyByZXR1cm4gbnVsbDsgfVxuXG4gICAgICAgIGNvbnN0IGN1cnJlbnRMb2NhbGUgPSBsb2NhbGUgfHwgdGhpcy5pZCB8fCBNQ19ERUZBVUxUX0xPQ0FMRV9JRDtcblxuICAgICAgICBsZXQgcGFyc2VkRGlnaXRzSW5mbztcblxuICAgICAgICBpZiAoZGlnaXRzSW5mbykge1xuICAgICAgICAgICAgcGFyc2VkRGlnaXRzSW5mbyA9IHBhcnNlRGlnaXRzSW5mbyhkaWdpdHNJbmZvKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG9wdGlvbnM6IE51bWJlckZvcm1hdE9wdGlvbnMgPSB7XG4gICAgICAgICAgICAuLi50aGlzLm9wdGlvbnMsXG4gICAgICAgICAgICAuLi5wYXJzZWREaWdpdHNJbmZvXG4gICAgICAgIH07XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IG51bSA9IHN0clRvTnVtYmVyKHZhbHVlKTtcblxuICAgICAgICAgICAgLyogR3VpZGVsaW5lIHJlcXVpcmVzIGZvciBncm91cCBzZXBhcmF0b3IgdG8gYmUgYHNwYWNlYCwgYXMgaW4gJ3J1LVJVJyBsb2NhbGUuXG4gICAgICAgICAgICAgKiBCdXQgYnkgZGVmYXVsdCBpbiBlcy1MQSBsb2NhbGUgaXMgdXNlZCBgY29tbWFgLlxuICAgICAgICAgICAgICogVG8gcmVkdWNlIGRhdGEgbWFuaXB1bGF0aW9uLCAncnUtUlUnIGxvY2FsZSBpcyB1c2VkLiAqL1xuICAgICAgICAgICAgaWYgKGN1cnJlbnRMb2NhbGUgPT09ICdlcy1MQScpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gSW50bC5OdW1iZXJGb3JtYXQuY2FsbCh0aGlzLCAncnUtUlUnLCBvcHRpb25zKS5mb3JtYXQobnVtKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIEludGwuTnVtYmVyRm9ybWF0LmNhbGwodGhpcywgY3VycmVudExvY2FsZSwgb3B0aW9ucykuZm9ybWF0KG51bSk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKGBJbnZhbGlkUGlwZUFyZ3VtZW50OiBNY0RlY2ltYWxQaXBlIGZvciBwaXBlICcke0pTT04uc3RyaW5naWZ5KGVycm9yLm1lc3NhZ2UpfSdgKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzV2l0aGluKHN0YXJ0UmFuZ2U6IG51bWJlciwgZW5kUmFuZ2U6IG51bWJlciwgdmFsdWVUb0NoZWNrOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gc3RhcnRSYW5nZSA8PSB2YWx1ZVRvQ2hlY2sgJiYgdmFsdWVUb0NoZWNrIDwgZW5kUmFuZ2U7XG59XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5AUGlwZSh7IG5hbWU6ICdtY1JvdW5kTnVtYmVyJywgcHVyZTogZmFsc2UgfSlcbmV4cG9ydCBjbGFzcyBNY1JvdW5kRGVjaW1hbFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICAgIHJvdW5kaW5nT3B0aW9uczogUm91bmREZWNpbWFsT3B0aW9ucztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE1DX0xPQ0FMRV9JRCkgcHJpdmF0ZSBpZDogc3RyaW5nLFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE1DX0xPQ0FMRV9TRVJWSUNFKSBwcml2YXRlIGxvY2FsZVNlcnZpY2U6IE1jTG9jYWxlU2VydmljZVxuICAgICkge1xuICAgICAgICB0aGlzLmxvY2FsZVNlcnZpY2U/LmNoYW5nZXNcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKG5ld0lkOiBzdHJpbmcpID0+IHRoaXMuaWQgPSBuZXdJZCk7XG4gICAgfVxuXG4gICAgdHJhbnNmb3JtKHZhbHVlOiBhbnksIGxvY2FsZT86IHN0cmluZyk6IGFueSB7XG4gICAgICAgIGlmIChpc0VtcHR5KHZhbHVlKSkgeyByZXR1cm4gbnVsbDsgfVxuXG4gICAgICAgIGNvbnN0IGN1cnJlbnRMb2NhbGU6IHN0cmluZyA9IGxvY2FsZSB8fCB0aGlzLmlkIHx8IE1DX0RFRkFVTFRfTE9DQUxFX0lEO1xuICAgICAgICB0aGlzLnJvdW5kaW5nT3B0aW9ucyA9IHRoaXMubG9jYWxlU2VydmljZS5sb2NhbGVzW2N1cnJlbnRMb2NhbGVdLmZvcm1hdHRlcnMubnVtYmVyLnJvdW5kaW5nO1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBudW0gPSBzdHJUb051bWJlcih2YWx1ZSk7XG4gICAgICAgICAgICBjb25zdCB1bml0ID0gdGhpcy5jYWxjdWxhdGVVbml0KG51bSk7XG4gICAgICAgICAgICBpZiAoIXVuaXQpIHsgcmV0dXJuIEludGwuTnVtYmVyRm9ybWF0LmNhbGwodGhpcywgY3VycmVudExvY2FsZSwgeyB1c2VHcm91cGluZzogZmFsc2UgfSkuZm9ybWF0KG51bSk7IH1cblxuICAgICAgICAgICAgbGV0IHBhcnRzOiB7IG51bT86IG51bWJlcjsgZnJhY3Rpb24/OiBudW1iZXIgfSA9IHt9O1xuXG4gICAgICAgICAgICBpZiAoaW50ZXJ2YWxzQ29uZmlnLnN1cHBvcnRlZExhbmd1YWdlcy5pbmNsdWRlcyhjdXJyZW50TG9jYWxlKSkge1xuICAgICAgICAgICAgICAgIGludGVydmFsc0NvbmZpZy5pbnRlcnZhbHNcbiAgICAgICAgICAgICAgICAgICAgLmZpbmQoKHsgc3RhcnRSYW5nZSwgZW5kUmFuZ2UsIHByZWNpc2lvbiB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB3aXRoaW4gPSBpc1dpdGhpbihzdGFydFJhbmdlLCBlbmRSYW5nZSwgbnVtKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh3aXRoaW4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocHJlY2lzaW9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnRzID0gdW5pdCA9PT0gJ3Rob3VzYW5kJyA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNhbGN1bGF0ZVBhcnRzRm9yVGhvdXNhbmRzKG51bSkgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bTogTWF0aC50cnVuYyhudW0gLyBST1VORElOR19VTklUU1t1bml0XSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJhY3Rpb246IHRoaXMuY2FsY3VsYXRlRGVjaW1hbChudW0sIFJPVU5ESU5HX1VOSVRTW3VuaXRdKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJ0cyA9IHsgbnVtOiBNYXRoLnJvdW5kKG51bSAvIFJPVU5ESU5HX1VOSVRTW3VuaXRdKSB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHdpdGhpbjtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHBhcnRzID0gcGFydHMubnVtID8gcGFydHMgOiB7XG4gICAgICAgICAgICAgICAgbnVtOiBNYXRoLnRydW5jKG51bSAvIFJPVU5ESU5HX1VOSVRTW3VuaXRdKSxcbiAgICAgICAgICAgICAgICBmcmFjdGlvbjogdGhpcy5jYWxjdWxhdGVEZWNpbWFsKG51bSwgUk9VTkRJTkdfVU5JVFNbdW5pdF0pXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgT2JqZWN0LmtleXMocGFydHMpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgICAgICAgICAgIHBhcnRzW2tleV0gPSBJbnRsLk51bWJlckZvcm1hdC5jYWxsKHRoaXMsIGN1cnJlbnRMb2NhbGUsIHsgdXNlR3JvdXBpbmc6IGZhbHNlIH0pLmZvcm1hdChwYXJ0c1trZXldKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBjb25zdCBjYWxjdWxhdGVkVmFsdWUgPSBwYXJ0cy5mcmFjdGlvblxuICAgICAgICAgICAgICAgID8gYCR7cGFydHMubnVtfSR7dGhpcy5yb3VuZGluZ09wdGlvbnMuZ3JvdXBTZXBhcmF0b3J9JHtwYXJ0cy5mcmFjdGlvbn1gXG4gICAgICAgICAgICAgICAgOiBgJHtwYXJ0cy5udW19YDtcblxuICAgICAgICAgICAgcmV0dXJuIGAke2NhbGN1bGF0ZWRWYWx1ZX0ke3RoaXMucm91bmRpbmdPcHRpb25zLnNlcGFyYXRvcn0ke3RoaXMucm91bmRpbmdPcHRpb25zW3VuaXRdfWA7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKGBJbnZhbGlkUGlwZUFyZ3VtZW50OiBNY1JvdW5kRGVjaW1hbFBpcGUgZm9yIHBpcGUgJyR7SlNPTi5zdHJpbmdpZnkoZXJyb3IubWVzc2FnZSl9J2ApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVEZWNpbWFsKG51bTogbnVtYmVyLCBkaXZpZGVyOiBudW1iZXIpIHtcbiAgICAgICAgLyogdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLW1hZ2ljLW51bWJlcnMgKi9cbiAgICAgICAgcmV0dXJuIE1hdGgucm91bmQobnVtIC8gZGl2aWRlciAlIDEgKiAxMCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMiAqIDEwMDAgaXMgYSBudW1iZXIgaW4gdGhlIGludGVydmFsIG9mIFsxNTAwLi4uMjUwMClcbiAgICAgKlxuICAgICAqIDIsMCAqIDEwMDAgaXMgYSBudW1iZXIgaW4gdGhlIGludGVydmFsIG9mIFsxOTUwLi4uMjA1MClcbiAgICAgKi9cbiAgICBwcml2YXRlIGNhbGN1bGF0ZVBhcnRzRm9yVGhvdXNhbmRzKG51bTogbnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IGRpdmlkZWRWYWx1ZSA9IG51bSAvIFJPVU5ESU5HX1VOSVRTLnRob3VzYW5kO1xuICAgICAgICBjb25zdCBkaXYgPSBNYXRoLnJvdW5kKGRpdmlkZWRWYWx1ZSkgKiBST1VORElOR19VTklUUy50aG91c2FuZDtcbiAgICAgICAgY29uc3QgZmlmdHkgPSA1MDtcblxuICAgICAgICByZXR1cm4gaXNXaXRoaW4oZGl2IC0gZmlmdHksIGRpdiArIGZpZnR5LCBudW0pXG4gICAgICAgICAgICA/IHsgbnVtOiBNYXRoLnJvdW5kKGRpdmlkZWRWYWx1ZSksIGZyYWN0aW9uOiAwIH1cbiAgICAgICAgICAgIDogeyBudW06IE1hdGgucm91bmQoZGl2aWRlZFZhbHVlKSB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgY2FsY3VsYXRlVW5pdChudW06IG51bWJlcik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGxldCBjdXJyZW50VW5pdDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBsb2NhbGl6ZWRPcHRpb25zID0gT2JqZWN0LmtleXModGhpcy5yb3VuZGluZ09wdGlvbnMpO1xuXG4gICAgICAgIE9iamVjdC5rZXlzKFJPVU5ESU5HX1VOSVRTKS5ldmVyeSgoa2V5KSA9PiB7XG4gICAgICAgICAgICBpZiAoIWxvY2FsaXplZE9wdGlvbnMuaW5jbHVkZXMoa2V5KSkgeyByZXR1cm4gdHJ1ZTsgfVxuICAgICAgICAgICAgaWYgKG51bSAvIFJPVU5ESU5HX1VOSVRTW2tleV0gPj0gMSkge1xuICAgICAgICAgICAgICAgIGN1cnJlbnRVbml0ID0ga2V5O1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIGN1cnJlbnRVbml0O1xuICAgIH1cbn1cbiJdfQ==
@@ -2,13 +2,13 @@ import { NgModule } from '@angular/core';
2
2
  import { McForm, McFormElement } from './forms.directive';
3
3
  import * as i0 from "@angular/core";
4
4
  export class McFormsModule {
5
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: McFormsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.5", ngImport: i0, type: McFormsModule, declarations: [McForm,
7
+ McFormElement], exports: [McForm,
8
+ McFormElement] }); }
9
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: McFormsModule }); }
5
10
  }
6
- /** @nocollapse */ McFormsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McFormsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
7
- /** @nocollapse */ McFormsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: McFormsModule, declarations: [McForm,
8
- McFormElement], exports: [McForm,
9
- McFormElement] });
10
- /** @nocollapse */ McFormsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McFormsModule });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McFormsModule, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: McFormsModule, decorators: [{
12
12
  type: NgModule,
13
13
  args: [{
14
14
  exports: [
@@ -21,4 +21,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
21
21
  ]
22
22
  }]
23
23
  }] });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybXMtbW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbW9zYWljL2NvcmUvZm9ybXMvZm9ybXMtbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUNILE1BQU0sRUFDTixhQUFhLEVBQ2hCLE1BQU0sbUJBQW1CLENBQUM7O0FBYTNCLE1BQU0sT0FBTyxhQUFhOzs2SEFBYixhQUFhOzhIQUFiLGFBQWEsaUJBSmxCLE1BQU07UUFDTixhQUFhLGFBTGIsTUFBTTtRQUNOLGFBQWE7OEhBT1IsYUFBYTsyRkFBYixhQUFhO2tCQVZ6QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxNQUFNO3dCQUNOLGFBQWE7cUJBQ2hCO29CQUNELFlBQVksRUFBRTt3QkFDVixNQUFNO3dCQUNOLGFBQWE7cUJBQ2hCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgICBNY0Zvcm0sXG4gICAgTWNGb3JtRWxlbWVudFxufSBmcm9tICcuL2Zvcm1zLmRpcmVjdGl2ZSc7XG5cblxuQE5nTW9kdWxlKHtcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIE1jRm9ybSxcbiAgICAgICAgTWNGb3JtRWxlbWVudFxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIE1jRm9ybSxcbiAgICAgICAgTWNGb3JtRWxlbWVudFxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgTWNGb3Jtc01vZHVsZSB7fVxuIl19
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybXMtbW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbW9zYWljL2NvcmUvZm9ybXMvZm9ybXMtbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUNILE1BQU0sRUFDTixhQUFhLEVBQ2hCLE1BQU0sbUJBQW1CLENBQUM7O0FBYTNCLE1BQU0sT0FBTyxhQUFhO2lJQUFiLGFBQWE7a0lBQWIsYUFBYSxpQkFKbEIsTUFBTTtZQUNOLGFBQWEsYUFMYixNQUFNO1lBQ04sYUFBYTtrSUFPUixhQUFhOzsyRkFBYixhQUFhO2tCQVZ6QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxNQUFNO3dCQUNOLGFBQWE7cUJBQ2hCO29CQUNELFlBQVksRUFBRTt3QkFDVixNQUFNO3dCQUNOLGFBQWE7cUJBQ2hCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgICBNY0Zvcm0sXG4gICAgTWNGb3JtRWxlbWVudFxufSBmcm9tICcuL2Zvcm1zLmRpcmVjdGl2ZSc7XG5cblxuQE5nTW9kdWxlKHtcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIE1jRm9ybSxcbiAgICAgICAgTWNGb3JtRWxlbWVudFxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIE1jRm9ybSxcbiAgICAgICAgTWNGb3JtRWxlbWVudFxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgTWNGb3Jtc01vZHVsZSB7fVxuIl19
@@ -18,10 +18,10 @@ export class McFormElement {
18
18
  this.hasLegend = this.element.nativeElement.firstElementChild.classList.contains('mc-form__legend');
19
19
  }
20
20
  }
21
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: McFormElement, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
22
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.5", type: McFormElement, selector: ".mc-form__row, .mc-form__fieldset, .mc-form__legend", host: { properties: { "class.mc-form-row_margin": "margin" } }, queries: [{ propertyName: "elements", predicate: McFormElement }], exportAs: ["mcFormElement"], ngImport: i0 }); }
21
23
  }
22
- /** @nocollapse */ McFormElement.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McFormElement, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
23
- /** @nocollapse */ McFormElement.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: McFormElement, selector: ".mc-form__row, .mc-form__fieldset, .mc-form__legend", host: { properties: { "class.mc-form-row_margin": "margin" } }, queries: [{ propertyName: "elements", predicate: McFormElement }], exportAs: ["mcFormElement"], ngImport: i0 });
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McFormElement, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: McFormElement, decorators: [{
25
25
  type: Directive,
26
26
  args: [{
27
27
  selector: '.mc-form__row, .mc-form__fieldset, .mc-form__legend',
@@ -47,10 +47,10 @@ export class McForm {
47
47
  element.margin = !!(nextElement && !nextElement.hasLegend);
48
48
  });
49
49
  }
50
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: McForm, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
51
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.5", type: McForm, selector: ".mc-form-vertical, .mc-form-horizontal", host: { classAttribute: "mc-form" }, queries: [{ propertyName: "elements", predicate: McFormElement }], exportAs: ["mcForm"], ngImport: i0 }); }
50
52
  }
51
- /** @nocollapse */ McForm.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McForm, deps: [], target: i0.ɵɵFactoryTarget.Directive });
52
- /** @nocollapse */ McForm.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: McForm, selector: ".mc-form-vertical, .mc-form-horizontal", host: { classAttribute: "mc-form" }, queries: [{ propertyName: "elements", predicate: McFormElement }], exportAs: ["mcForm"], ngImport: i0 });
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McForm, decorators: [{
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: McForm, decorators: [{
54
54
  type: Directive,
55
55
  args: [{
56
56
  selector: '.mc-form-vertical, .mc-form-horizontal',
@@ -63,4 +63,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
63
63
  type: ContentChildren,
64
64
  args: [McFormElement]
65
65
  }] } });
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybXMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbW9zYWljL2NvcmUvZm9ybXMvZm9ybXMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxlQUFlLEVBQ2YsU0FBUyxFQUNULFVBQVUsRUFDVixTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7O0FBVXZCLE1BQU0sT0FBTyxhQUFhO0lBVXRCLFlBQTZCLE9BQWdDO1FBQWhDLFlBQU8sR0FBUCxPQUFPLENBQXlCO1FBVDdELFdBQU0sR0FBRyxLQUFLLENBQUM7UUFFZixVQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ2QsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO0lBSTJDLENBQUM7SUFFakUsa0JBQWtCO1FBQ2QsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO1FBRXZELElBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFeEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFFMUQsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLGlCQUFpQixFQUFFO1lBQ2pFLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1NBQ3ZHO0lBQ0wsQ0FBQzs7NkhBdkJRLGFBQWE7aUhBQWIsYUFBYSxvTEFRTCxhQUFhOzJGQVJyQixhQUFhO2tCQVB6QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxxREFBcUQ7b0JBQy9ELFFBQVEsRUFBRSxlQUFlO29CQUN6QixJQUFJLEVBQUU7d0JBQ0YsNEJBQTRCLEVBQUUsUUFBUTtxQkFDekM7aUJBQ0o7aUdBU21DLFFBQVE7c0JBQXZDLGVBQWU7dUJBQUMsYUFBYTs7QUEwQmxDLE1BQU0sT0FBTyxNQUFNO0lBR2Ysa0JBQWtCO1FBQ2QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELGNBQWMsQ0FBQyxRQUFrQztRQUM3QyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ2hDLE1BQU0sV0FBVyxHQUE4QixRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztZQUV2RSxJQUFJLE9BQU8sQ0FBQyxVQUFVLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFO2dCQUM3QyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUN6QztZQUVELE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsV0FBVyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQy9ELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7c0hBakJRLE1BQU07MEdBQU4sTUFBTSw0SUFDRSxhQUFhOzJGQURyQixNQUFNO2tCQVBsQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx3Q0FBd0M7b0JBQ2xELFFBQVEsRUFBRSxRQUFRO29CQUNsQixJQUFJLEVBQUU7d0JBQ0YsS0FBSyxFQUFFLFNBQVM7cUJBQ25CO2lCQUNKOzhCQUVtQyxRQUFRO3NCQUF2QyxlQUFlO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIFF1ZXJ5TGlzdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJy5tYy1mb3JtX19yb3csIC5tYy1mb3JtX19maWVsZHNldCwgLm1jLWZvcm1fX2xlZ2VuZCcsXG4gICAgZXhwb3J0QXM6ICdtY0Zvcm1FbGVtZW50JyxcbiAgICBob3N0OiB7XG4gICAgICAgICdbY2xhc3MubWMtZm9ybS1yb3dfbWFyZ2luXSc6ICdtYXJnaW4nXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBNY0Zvcm1FbGVtZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gICAgbWFyZ2luID0gZmFsc2U7XG5cbiAgICBpc1JvdyA9IGZhbHNlO1xuICAgIGlzRmllbGRTZXQgPSBmYWxzZTtcbiAgICBoYXNMZWdlbmQgPSBmYWxzZTtcbiAgICBpc0hvcml6b250YWwgPSBmYWxzZTtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oTWNGb3JtRWxlbWVudCkgZWxlbWVudHM6IFF1ZXJ5TGlzdDxNY0Zvcm1FbGVtZW50PjtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHt9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNsYXNzTGlzdCA9IHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdDtcblxuICAgICAgICB0aGlzLmlzUm93ID0gY2xhc3NMaXN0LmNvbnRhaW5zKCdtYy1mb3JtX19yb3cnKTtcbiAgICAgICAgdGhpcy5pc0hvcml6b250YWwgPSBjbGFzc0xpc3QuY29udGFpbnMoJ21jLWhvcml6b250YWwnKTtcblxuICAgICAgICB0aGlzLmlzRmllbGRTZXQgPSBjbGFzc0xpc3QuY29udGFpbnMoJ21jLWZvcm1fX2ZpZWxkc2V0Jyk7XG5cbiAgICAgICAgaWYgKHRoaXMuaXNGaWVsZFNldCAmJiB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZCkge1xuICAgICAgICAgICAgdGhpcy5oYXNMZWdlbmQgPSB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZC5jbGFzc0xpc3QuY29udGFpbnMoJ21jLWZvcm1fX2xlZ2VuZCcpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnLm1jLWZvcm0tdmVydGljYWwsIC5tYy1mb3JtLWhvcml6b250YWwnLFxuICAgIGV4cG9ydEFzOiAnbWNGb3JtJyxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnbWMtZm9ybSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIE1jRm9ybSBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICAgIEBDb250ZW50Q2hpbGRyZW4oTWNGb3JtRWxlbWVudCkgZWxlbWVudHM6IFF1ZXJ5TGlzdDxNY0Zvcm1FbGVtZW50PjtcblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5oYW5kbGVFbGVtZW50cyh0aGlzLmVsZW1lbnRzKTtcbiAgICB9XG5cbiAgICBoYW5kbGVFbGVtZW50cyhlbGVtZW50czogUXVlcnlMaXN0PE1jRm9ybUVsZW1lbnQ+KTogdm9pZCB7XG4gICAgICAgIGVsZW1lbnRzLmZvckVhY2goKGVsZW1lbnQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBuZXh0RWxlbWVudDogTWNGb3JtRWxlbWVudCB8IHVuZGVmaW5lZCA9IGVsZW1lbnRzLmdldChpbmRleCArIDEpO1xuXG4gICAgICAgICAgICBpZiAoZWxlbWVudC5pc0ZpZWxkU2V0ICYmICFlbGVtZW50LmlzSG9yaXpvbnRhbCkge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlRWxlbWVudHMoZWxlbWVudC5lbGVtZW50cyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGVsZW1lbnQubWFyZ2luID0gISEobmV4dEVsZW1lbnQgJiYgIW5leHRFbGVtZW50Lmhhc0xlZ2VuZCk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybXMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbW9zYWljL2NvcmUvZm9ybXMvZm9ybXMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxlQUFlLEVBQ2YsU0FBUyxFQUNULFVBQVUsRUFDVixTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7O0FBVXZCLE1BQU0sT0FBTyxhQUFhO0lBVXRCLFlBQTZCLE9BQWdDO1FBQWhDLFlBQU8sR0FBUCxPQUFPLENBQXlCO1FBVDdELFdBQU0sR0FBRyxLQUFLLENBQUM7UUFFZixVQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ2QsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO0lBSTJDLENBQUM7SUFFakUsa0JBQWtCO1FBQ2QsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO1FBRXZELElBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFeEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFFMUQsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLGlCQUFpQixFQUFFO1lBQ2pFLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1NBQ3ZHO0lBQ0wsQ0FBQztpSUF2QlEsYUFBYTtxSEFBYixhQUFhLG9MQVFMLGFBQWE7OzJGQVJyQixhQUFhO2tCQVB6QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxxREFBcUQ7b0JBQy9ELFFBQVEsRUFBRSxlQUFlO29CQUN6QixJQUFJLEVBQUU7d0JBQ0YsNEJBQTRCLEVBQUUsUUFBUTtxQkFDekM7aUJBQ0o7aUdBU21DLFFBQVE7c0JBQXZDLGVBQWU7dUJBQUMsYUFBYTs7QUEwQmxDLE1BQU0sT0FBTyxNQUFNO0lBR2Ysa0JBQWtCO1FBQ2QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELGNBQWMsQ0FBQyxRQUFrQztRQUM3QyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ2hDLE1BQU0sV0FBVyxHQUE4QixRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztZQUV2RSxJQUFJLE9BQU8sQ0FBQyxVQUFVLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFO2dCQUM3QyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUN6QztZQUVELE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsV0FBVyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQy9ELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztpSUFqQlEsTUFBTTtxSEFBTixNQUFNLDRJQUNFLGFBQWE7OzJGQURyQixNQUFNO2tCQVBsQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx3Q0FBd0M7b0JBQ2xELFFBQVEsRUFBRSxRQUFRO29CQUNsQixJQUFJLEVBQUU7d0JBQ0YsS0FBSyxFQUFFLFNBQVM7cUJBQ25CO2lCQUNKOzhCQUVtQyxRQUFRO3NCQUF2QyxlQUFlO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIFF1ZXJ5TGlzdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJy5tYy1mb3JtX19yb3csIC5tYy1mb3JtX19maWVsZHNldCwgLm1jLWZvcm1fX2xlZ2VuZCcsXG4gICAgZXhwb3J0QXM6ICdtY0Zvcm1FbGVtZW50JyxcbiAgICBob3N0OiB7XG4gICAgICAgICdbY2xhc3MubWMtZm9ybS1yb3dfbWFyZ2luXSc6ICdtYXJnaW4nXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBNY0Zvcm1FbGVtZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gICAgbWFyZ2luID0gZmFsc2U7XG5cbiAgICBpc1JvdyA9IGZhbHNlO1xuICAgIGlzRmllbGRTZXQgPSBmYWxzZTtcbiAgICBoYXNMZWdlbmQgPSBmYWxzZTtcbiAgICBpc0hvcml6b250YWwgPSBmYWxzZTtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oTWNGb3JtRWxlbWVudCkgZWxlbWVudHM6IFF1ZXJ5TGlzdDxNY0Zvcm1FbGVtZW50PjtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHt9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNsYXNzTGlzdCA9IHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdDtcblxuICAgICAgICB0aGlzLmlzUm93ID0gY2xhc3NMaXN0LmNvbnRhaW5zKCdtYy1mb3JtX19yb3cnKTtcbiAgICAgICAgdGhpcy5pc0hvcml6b250YWwgPSBjbGFzc0xpc3QuY29udGFpbnMoJ21jLWhvcml6b250YWwnKTtcblxuICAgICAgICB0aGlzLmlzRmllbGRTZXQgPSBjbGFzc0xpc3QuY29udGFpbnMoJ21jLWZvcm1fX2ZpZWxkc2V0Jyk7XG5cbiAgICAgICAgaWYgKHRoaXMuaXNGaWVsZFNldCAmJiB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZCkge1xuICAgICAgICAgICAgdGhpcy5oYXNMZWdlbmQgPSB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZC5jbGFzc0xpc3QuY29udGFpbnMoJ21jLWZvcm1fX2xlZ2VuZCcpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnLm1jLWZvcm0tdmVydGljYWwsIC5tYy1mb3JtLWhvcml6b250YWwnLFxuICAgIGV4cG9ydEFzOiAnbWNGb3JtJyxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnbWMtZm9ybSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIE1jRm9ybSBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICAgIEBDb250ZW50Q2hpbGRyZW4oTWNGb3JtRWxlbWVudCkgZWxlbWVudHM6IFF1ZXJ5TGlzdDxNY0Zvcm1FbGVtZW50PjtcblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5oYW5kbGVFbGVtZW50cyh0aGlzLmVsZW1lbnRzKTtcbiAgICB9XG5cbiAgICBoYW5kbGVFbGVtZW50cyhlbGVtZW50czogUXVlcnlMaXN0PE1jRm9ybUVsZW1lbnQ+KTogdm9pZCB7XG4gICAgICAgIGVsZW1lbnRzLmZvckVhY2goKGVsZW1lbnQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBuZXh0RWxlbWVudDogTWNGb3JtRWxlbWVudCB8IHVuZGVmaW5lZCA9IGVsZW1lbnRzLmdldChpbmRleCArIDEpO1xuXG4gICAgICAgICAgICBpZiAoZWxlbWVudC5pc0ZpZWxkU2V0ICYmICFlbGVtZW50LmlzSG9yaXpvbnRhbCkge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlRWxlbWVudHMoZWxlbWVudC5lbGVtZW50cyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGVsZW1lbnQubWFyZ2luID0gISEobmV4dEVsZW1lbnQgJiYgIW5leHRFbGVtZW50Lmhhc0xlZ2VuZCk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
@@ -13,11 +13,11 @@ export class McHighlightPipe {
13
13
  }
14
14
  return value.replace(new RegExp(`(${escapeRegExp(args)})`, 'gi'), '<mark class="mc-highlight">$1</mark>');
15
15
  }
16
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: McHighlightPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
17
+ /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.5", ngImport: i0, type: McHighlightPipe, name: "mcHighlight" }); }
16
18
  }
17
- /** @nocollapse */ McHighlightPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McHighlightPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
18
- /** @nocollapse */ McHighlightPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: McHighlightPipe, name: "mcHighlight" });
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McHighlightPipe, decorators: [{
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: McHighlightPipe, decorators: [{
20
20
  type: Pipe,
21
21
  args: [{ name: 'mcHighlight' }]
22
22
  }] });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9tb3NhaWMvY29yZS9oaWdobGlnaHQvaGlnaGxpZ2h0LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBR3BELE1BQU0sVUFBVSxZQUFZLENBQUMsS0FBYTtJQUN0QyxJQUFJLEtBQUssRUFBRTtRQUNQLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxNQUFNLENBQUMsQ0FBQztLQUN2RDtJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUM7QUFHRCxNQUFNLE9BQU8sZUFBZTtJQUN4QixTQUFTLENBQUMsS0FBVSxFQUFFLElBQVM7UUFDM0IsSUFBSSxDQUFDLElBQUksRUFBRTtZQUFFLE9BQU8sS0FBSyxDQUFDO1NBQUU7UUFFNUIsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksTUFBTSxDQUFDLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEVBQUUsc0NBQXNDLENBQUMsQ0FBQztJQUM5RyxDQUFDOzsrSEFMUSxlQUFlOzZIQUFmLGVBQWU7MkZBQWYsZUFBZTtrQkFEM0IsSUFBSTttQkFBQyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIGVzY2FwZVJlZ0V4cCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZS5yZXBsYWNlKC9bLiorP14ke30oKXxbXFxdXFxcXF0vZywgJ1xcXFwkJicpO1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZTtcbn1cblxuQFBpcGUoeyBuYW1lOiAnbWNIaWdobGlnaHQnIH0pXG5leHBvcnQgY2xhc3MgTWNIaWdobGlnaHRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKHZhbHVlOiBhbnksIGFyZ3M6IGFueSk6IGFueSB7XG4gICAgICAgIGlmICghYXJncykgeyByZXR1cm4gdmFsdWU7IH1cblxuICAgICAgICByZXR1cm4gdmFsdWUucmVwbGFjZShuZXcgUmVnRXhwKGAoJHtlc2NhcGVSZWdFeHAoYXJncyl9KWAsICdnaScpLCAnPG1hcmsgY2xhc3M9XCJtYy1oaWdobGlnaHRcIj4kMTwvbWFyaz4nKTtcbiAgICB9XG59XG4iXX0=
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9tb3NhaWMvY29yZS9oaWdobGlnaHQvaGlnaGxpZ2h0LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBR3BELE1BQU0sVUFBVSxZQUFZLENBQUMsS0FBYTtJQUN0QyxJQUFJLEtBQUssRUFBRTtRQUNQLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxNQUFNLENBQUMsQ0FBQztLQUN2RDtJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUM7QUFHRCxNQUFNLE9BQU8sZUFBZTtJQUN4QixTQUFTLENBQUMsS0FBVSxFQUFFLElBQVM7UUFDM0IsSUFBSSxDQUFDLElBQUksRUFBRTtZQUFFLE9BQU8sS0FBSyxDQUFDO1NBQUU7UUFFNUIsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksTUFBTSxDQUFDLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEVBQUUsc0NBQXNDLENBQUMsQ0FBQztJQUM5RyxDQUFDO2lJQUxRLGVBQWU7K0hBQWYsZUFBZTs7MkZBQWYsZUFBZTtrQkFEM0IsSUFBSTttQkFBQyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIGVzY2FwZVJlZ0V4cCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZS5yZXBsYWNlKC9bLiorP14ke30oKXxbXFxdXFxcXF0vZywgJ1xcXFwkJicpO1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZTtcbn1cblxuQFBpcGUoeyBuYW1lOiAnbWNIaWdobGlnaHQnIH0pXG5leHBvcnQgY2xhc3MgTWNIaWdobGlnaHRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKHZhbHVlOiBhbnksIGFyZ3M6IGFueSk6IGFueSB7XG4gICAgICAgIGlmICghYXJncykgeyByZXR1cm4gdmFsdWU7IH1cblxuICAgICAgICByZXR1cm4gdmFsdWUucmVwbGFjZShuZXcgUmVnRXhwKGAoJHtlc2NhcGVSZWdFeHAoYXJncyl9KWAsICdnaScpLCAnPG1hcmsgY2xhc3M9XCJtYy1oaWdobGlnaHRcIj4kMTwvbWFyaz4nKTtcbiAgICB9XG59XG4iXX0=
@@ -3,11 +3,11 @@ import { NgModule } from '@angular/core';
3
3
  import { McHighlightPipe } from './highlight.pipe';
4
4
  import * as i0 from "@angular/core";
5
5
  export class McHighlightModule {
6
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: McHighlightModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.5", ngImport: i0, type: McHighlightModule, declarations: [McHighlightPipe], imports: [CommonModule], exports: [McHighlightPipe] }); }
8
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: McHighlightModule, imports: [CommonModule] }); }
6
9
  }
7
- /** @nocollapse */ McHighlightModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McHighlightModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
- /** @nocollapse */ McHighlightModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: McHighlightModule, declarations: [McHighlightPipe], imports: [CommonModule], exports: [McHighlightPipe] });
9
- /** @nocollapse */ McHighlightModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McHighlightModule, imports: [CommonModule] });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McHighlightModule, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: McHighlightModule, decorators: [{
11
11
  type: NgModule,
12
12
  args: [{
13
13
  imports: [CommonModule],
@@ -16,4 +16,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
16
16
  }]
17
17
  }] });
18
18
  export * from './highlight.pipe';
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9tb3NhaWMvY29yZS9oaWdobGlnaHQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQVFuRCxNQUFNLE9BQU8saUJBQWlCOztpSUFBakIsaUJBQWlCO2tJQUFqQixpQkFBaUIsaUJBRlgsZUFBZSxhQUZwQixZQUFZLGFBQ1osZUFBZTtrSUFHaEIsaUJBQWlCLFlBSmhCLFlBQVk7MkZBSWIsaUJBQWlCO2tCQUw3QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsT0FBTyxFQUFFLENBQUMsZUFBZSxDQUFDO29CQUMxQixZQUFZLEVBQUUsQ0FBQyxlQUFlLENBQUM7aUJBQ2xDOztBQUlELGNBQWMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTWNIaWdobGlnaHRQaXBlIH0gZnJvbSAnLi9oaWdobGlnaHQucGlwZSc7XG5cblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgICBleHBvcnRzOiBbTWNIaWdobGlnaHRQaXBlXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtNY0hpZ2hsaWdodFBpcGVdXG59KVxuZXhwb3J0IGNsYXNzIE1jSGlnaGxpZ2h0TW9kdWxlIHt9XG5cblxuZXhwb3J0ICogZnJvbSAnLi9oaWdobGlnaHQucGlwZSc7XG4iXX0=
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9tb3NhaWMvY29yZS9oaWdobGlnaHQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQVFuRCxNQUFNLE9BQU8saUJBQWlCO2lJQUFqQixpQkFBaUI7a0lBQWpCLGlCQUFpQixpQkFGWCxlQUFlLGFBRnBCLFlBQVksYUFDWixlQUFlO2tJQUdoQixpQkFBaUIsWUFKaEIsWUFBWTs7MkZBSWIsaUJBQWlCO2tCQUw3QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsT0FBTyxFQUFFLENBQUMsZUFBZSxDQUFDO29CQUMxQixZQUFZLEVBQUUsQ0FBQyxlQUFlLENBQUM7aUJBQ2xDOztBQUlELGNBQWMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTWNIaWdobGlnaHRQaXBlIH0gZnJvbSAnLi9oaWdobGlnaHQucGlwZSc7XG5cblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgICBleHBvcnRzOiBbTWNIaWdobGlnaHRQaXBlXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtNY0hpZ2hsaWdodFBpcGVdXG59KVxuZXhwb3J0IGNsYXNzIE1jSGlnaGxpZ2h0TW9kdWxlIHt9XG5cblxuZXhwb3J0ICogZnJvbSAnLi9oaWdobGlnaHQucGlwZSc7XG4iXX0=
@@ -6,10 +6,10 @@ import * as i0 from "@angular/core";
6
6
  * counted by checking the query list's length.
7
7
  */
8
8
  export class McLine {
9
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: McLine, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
10
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.5", type: McLine, selector: "[mc-line], [mcLine]", host: { classAttribute: "mc-line" }, ngImport: i0 }); }
9
11
  }
10
- /** @nocollapse */ McLine.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McLine, deps: [], target: i0.ɵɵFactoryTarget.Directive });
11
- /** @nocollapse */ McLine.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: McLine, selector: "[mc-line], [mcLine]", host: { classAttribute: "mc-line" }, ngImport: i0 });
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McLine, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: McLine, decorators: [{
13
13
  type: Directive,
14
14
  args: [{
15
15
  selector: '[mc-line], [mcLine]',
@@ -55,11 +55,11 @@ export class McLineSetter {
55
55
  }
56
56
  }
57
57
  export class McLineModule {
58
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: McLineModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
59
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.5", ngImport: i0, type: McLineModule, declarations: [McLine], exports: [McLine] }); }
60
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: McLineModule }); }
58
61
  }
59
- /** @nocollapse */ McLineModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McLineModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
60
- /** @nocollapse */ McLineModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: McLineModule, declarations: [McLine], exports: [McLine] });
61
- /** @nocollapse */ McLineModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McLineModule });
62
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McLineModule, decorators: [{
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: McLineModule, decorators: [{
63
63
  type: NgModule,
64
64
  args: [{
65
65
  imports: [],
@@ -67,4 +67,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
67
67
  declarations: [McLine]
68
68
  }]
69
69
  }] });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL21vc2FpYy9jb3JlL2xpbmUvbGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBeUIsTUFBTSxlQUFlLENBQUM7O0FBRzNFOzs7O0dBSUc7QUFLSCxNQUFNLE9BQU8sTUFBTTs7c0hBQU4sTUFBTTswR0FBTixNQUFNOzJGQUFOLE1BQU07a0JBSmxCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRTtpQkFDN0I7O0FBR0Q7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLFlBQVk7SUFDckIsWUFBb0IsTUFBeUIsRUFBVSxRQUFvQjtRQUF2RCxXQUFNLEdBQU4sTUFBTSxDQUFtQjtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVk7UUFDdkUsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXRDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDL0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLFlBQVksQ0FBQyxLQUFhO1FBQzlCLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxDQUFDO1FBQzdCLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLEtBQUssS0FBSyxrQkFBa0IsSUFBSSxLQUFLLEtBQUssa0JBQWtCLEVBQUU7WUFDOUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEtBQUssT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQzNDO2FBQU0sSUFBSSxLQUFLLEdBQUcsa0JBQWtCLEVBQUU7WUFDbkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDeEM7SUFDTCxDQUFDO0lBRU8sWUFBWTtRQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRU8sUUFBUSxDQUFDLFNBQWlCLEVBQUUsS0FBYztRQUM5QyxJQUFJLEtBQUssRUFBRTtZQUNQLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDeEQ7YUFBTTtZQUNILElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDM0Q7SUFDTCxDQUFDO0NBQ0o7QUFPRCxNQUFNLE9BQU8sWUFBWTs7NEhBQVosWUFBWTs2SEFBWixZQUFZLGlCQTlDWixNQUFNLGFBQU4sTUFBTTs2SEE4Q04sWUFBWTsyRkFBWixZQUFZO2tCQUx4QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxFQUFFO29CQUNYLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQztvQkFDakIsWUFBWSxFQUFFLENBQUMsTUFBTSxDQUFDO2lCQUN6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIFF1ZXJ5TGlzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5cbi8qKlxuICogU2hhcmVkIGRpcmVjdGl2ZSB0byBjb3VudCBsaW5lcyBpbnNpZGUgYSB0ZXh0IGFyZWEsIHN1Y2ggYXMgYSBsaXN0IGl0ZW0uXG4gKiBMaW5lIGVsZW1lbnRzIGNhbiBiZSBleHRyYWN0ZWQgd2l0aCBhIEBDb250ZW50Q2hpbGRyZW4oTWNMaW5lKSBxdWVyeSwgdGhlblxuICogY291bnRlZCBieSBjaGVja2luZyB0aGUgcXVlcnkgbGlzdCdzIGxlbmd0aC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbbWMtbGluZV0sIFttY0xpbmVdJyxcbiAgICBob3N0OiB7IGNsYXNzOiAnbWMtbGluZScgfVxufSlcbmV4cG9ydCBjbGFzcyBNY0xpbmUge31cblxuLyoqXG4gKiBIZWxwZXIgdGhhdCB0YWtlcyBhIHF1ZXJ5IGxpc3Qgb2YgbGluZXMgYW5kIHNldHMgdGhlIGNvcnJlY3QgY2xhc3Mgb24gdGhlIGhvc3QuXG4gKiBAZG9jcy1wcml2YXRlXG4gKi9cbmV4cG9ydCBjbGFzcyBNY0xpbmVTZXR0ZXIge1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2xpbmVzOiBRdWVyeUxpc3Q8TWNMaW5lPiwgcHJpdmF0ZSBfZWxlbWVudDogRWxlbWVudFJlZikge1xuICAgICAgICB0aGlzLnNldExpbmVDbGFzcyh0aGlzLl9saW5lcy5sZW5ndGgpO1xuXG4gICAgICAgIHRoaXMuX2xpbmVzLmNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2V0TGluZUNsYXNzKHRoaXMuX2xpbmVzLmxlbmd0aCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0TGluZUNsYXNzKGNvdW50OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbWluTGluZUNsYXNzTnVtYmVyID0gMjtcbiAgICAgICAgY29uc3QgbWF4TGluZUNsYXNzTnVtYmVyID0gMztcbiAgICAgICAgdGhpcy5yZXNldENsYXNzZXMoKTtcbiAgICAgICAgaWYgKGNvdW50ID09PSBtaW5MaW5lQ2xhc3NOdW1iZXIgfHwgY291bnQgPT09IG1heExpbmVDbGFzc051bWJlcikge1xuICAgICAgICAgICAgdGhpcy5zZXRDbGFzcyhgbWMtJHtjb3VudH0tbGluZWAsIHRydWUpO1xuICAgICAgICB9IGVsc2UgaWYgKGNvdW50ID4gbWF4TGluZUNsYXNzTnVtYmVyKSB7XG4gICAgICAgICAgICB0aGlzLnNldENsYXNzKGBtYy1tdWx0aS1saW5lYCwgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc2V0Q2xhc3NlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRDbGFzcygnbWMtMi1saW5lJywgZmFsc2UpO1xuICAgICAgICB0aGlzLnNldENsYXNzKCdtYy0zLWxpbmUnLCBmYWxzZSk7XG4gICAgICAgIHRoaXMuc2V0Q2xhc3MoJ21jLW11bHRpLWxpbmUnLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRDbGFzcyhjbGFzc05hbWU6IHN0cmluZywgaXNBZGQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKGlzQWRkKSB7XG4gICAgICAgICAgICB0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChjbGFzc05hbWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoY2xhc3NOYW1lKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXSxcbiAgICBleHBvcnRzOiBbTWNMaW5lXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtNY0xpbmVdXG59KVxuZXhwb3J0IGNsYXNzIE1jTGluZU1vZHVsZSB7fVxuIl19
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL21vc2FpYy9jb3JlL2xpbmUvbGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBeUIsTUFBTSxlQUFlLENBQUM7O0FBRzNFOzs7O0dBSUc7QUFLSCxNQUFNLE9BQU8sTUFBTTtpSUFBTixNQUFNO3FIQUFOLE1BQU07OzJGQUFOLE1BQU07a0JBSmxCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRTtpQkFDN0I7O0FBR0Q7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLFlBQVk7SUFDckIsWUFBb0IsTUFBeUIsRUFBVSxRQUFvQjtRQUF2RCxXQUFNLEdBQU4sTUFBTSxDQUFtQjtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVk7UUFDdkUsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXRDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDL0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLFlBQVksQ0FBQyxLQUFhO1FBQzlCLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxDQUFDO1FBQzdCLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLEtBQUssS0FBSyxrQkFBa0IsSUFBSSxLQUFLLEtBQUssa0JBQWtCLEVBQUU7WUFDOUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEtBQUssT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQzNDO2FBQU0sSUFBSSxLQUFLLEdBQUcsa0JBQWtCLEVBQUU7WUFDbkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDeEM7SUFDTCxDQUFDO0lBRU8sWUFBWTtRQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRU8sUUFBUSxDQUFDLFNBQWlCLEVBQUUsS0FBYztRQUM5QyxJQUFJLEtBQUssRUFBRTtZQUNQLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDeEQ7YUFBTTtZQUNILElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDM0Q7SUFDTCxDQUFDO0NBQ0o7QUFPRCxNQUFNLE9BQU8sWUFBWTtpSUFBWixZQUFZO2tJQUFaLFlBQVksaUJBOUNaLE1BQU0sYUFBTixNQUFNO2tJQThDTixZQUFZOzsyRkFBWixZQUFZO2tCQUx4QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxFQUFFO29CQUNYLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQztvQkFDakIsWUFBWSxFQUFFLENBQUMsTUFBTSxDQUFDO2lCQUN6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIFF1ZXJ5TGlzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5cbi8qKlxuICogU2hhcmVkIGRpcmVjdGl2ZSB0byBjb3VudCBsaW5lcyBpbnNpZGUgYSB0ZXh0IGFyZWEsIHN1Y2ggYXMgYSBsaXN0IGl0ZW0uXG4gKiBMaW5lIGVsZW1lbnRzIGNhbiBiZSBleHRyYWN0ZWQgd2l0aCBhIEBDb250ZW50Q2hpbGRyZW4oTWNMaW5lKSBxdWVyeSwgdGhlblxuICogY291bnRlZCBieSBjaGVja2luZyB0aGUgcXVlcnkgbGlzdCdzIGxlbmd0aC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbbWMtbGluZV0sIFttY0xpbmVdJyxcbiAgICBob3N0OiB7IGNsYXNzOiAnbWMtbGluZScgfVxufSlcbmV4cG9ydCBjbGFzcyBNY0xpbmUge31cblxuLyoqXG4gKiBIZWxwZXIgdGhhdCB0YWtlcyBhIHF1ZXJ5IGxpc3Qgb2YgbGluZXMgYW5kIHNldHMgdGhlIGNvcnJlY3QgY2xhc3Mgb24gdGhlIGhvc3QuXG4gKiBAZG9jcy1wcml2YXRlXG4gKi9cbmV4cG9ydCBjbGFzcyBNY0xpbmVTZXR0ZXIge1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2xpbmVzOiBRdWVyeUxpc3Q8TWNMaW5lPiwgcHJpdmF0ZSBfZWxlbWVudDogRWxlbWVudFJlZikge1xuICAgICAgICB0aGlzLnNldExpbmVDbGFzcyh0aGlzLl9saW5lcy5sZW5ndGgpO1xuXG4gICAgICAgIHRoaXMuX2xpbmVzLmNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2V0TGluZUNsYXNzKHRoaXMuX2xpbmVzLmxlbmd0aCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0TGluZUNsYXNzKGNvdW50OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbWluTGluZUNsYXNzTnVtYmVyID0gMjtcbiAgICAgICAgY29uc3QgbWF4TGluZUNsYXNzTnVtYmVyID0gMztcbiAgICAgICAgdGhpcy5yZXNldENsYXNzZXMoKTtcbiAgICAgICAgaWYgKGNvdW50ID09PSBtaW5MaW5lQ2xhc3NOdW1iZXIgfHwgY291bnQgPT09IG1heExpbmVDbGFzc051bWJlcikge1xuICAgICAgICAgICAgdGhpcy5zZXRDbGFzcyhgbWMtJHtjb3VudH0tbGluZWAsIHRydWUpO1xuICAgICAgICB9IGVsc2UgaWYgKGNvdW50ID4gbWF4TGluZUNsYXNzTnVtYmVyKSB7XG4gICAgICAgICAgICB0aGlzLnNldENsYXNzKGBtYy1tdWx0aS1saW5lYCwgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc2V0Q2xhc3NlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRDbGFzcygnbWMtMi1saW5lJywgZmFsc2UpO1xuICAgICAgICB0aGlzLnNldENsYXNzKCdtYy0zLWxpbmUnLCBmYWxzZSk7XG4gICAgICAgIHRoaXMuc2V0Q2xhc3MoJ21jLW11bHRpLWxpbmUnLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRDbGFzcyhjbGFzc05hbWU6IHN0cmluZywgaXNBZGQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKGlzQWRkKSB7XG4gICAgICAgICAgICB0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChjbGFzc05hbWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoY2xhc3NOYW1lKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXSxcbiAgICBleHBvcnRzOiBbTWNMaW5lXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtNY0xpbmVdXG59KVxuZXhwb3J0IGNsYXNzIE1jTGluZU1vZHVsZSB7fVxuIl19