@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.
- package/_theming.scss +19 -0
- package/_visual.scss +2 -0
- package/autocomplete/autocomplete-trigger.directive.d.ts +6 -16
- package/autocomplete/autocomplete.component.d.ts +1 -1
- package/button/button.component.d.ts +1 -1
- package/button-toggle/button-toggle.component.d.ts +3 -3
- package/card/card.component.d.ts +1 -1
- package/checkbox/_checkbox-theme.scss +4 -0
- package/checkbox/checkbox-config.d.ts +1 -1
- package/checkbox/checkbox.d.ts +1 -1
- package/code-block/actionbar.component.d.ts +1 -1
- package/code-block/code-block.component.d.ts +1 -1
- package/core/common-behaviors/color.d.ts +1 -1
- package/core/common-behaviors/constructor.d.ts +2 -2
- package/core/common-behaviors/disabled.d.ts +1 -1
- package/core/common-behaviors/error-state.d.ts +1 -1
- package/core/common-behaviors/tabindex.d.ts +1 -1
- package/core/datetime/date-formats.d.ts +1 -1
- package/core/formatters/index.d.ts +1 -1
- package/core/formatters/number/formatter.d.ts +55 -0
- package/core/label/label-options.d.ts +1 -1
- package/core/locales/en-US.d.ts +13 -2
- package/core/locales/es-LA.d.ts +21 -0
- package/core/locales/fa-IR.d.ts +22 -0
- package/core/locales/locale-service.d.ts +111 -5
- package/core/locales/pt-BR.d.ts +21 -0
- package/core/locales/ru-RU.d.ts +13 -2
- package/core/locales/zh-CN.d.ts +20 -0
- package/core/option/action.d.ts +1 -1
- package/core/option/optgroup.d.ts +1 -1
- package/core/option/option.d.ts +37 -8
- package/core/overlay/overlay-position-map.d.ts +7 -1
- package/core/selection/pseudo-checkbox/pseudo-checkbox.d.ts +2 -2
- package/core/styles/_variables.scss +1 -0
- package/core/styles/theming/_theming.scss +1 -0
- package/datepicker/calendar-body.component.d.ts +2 -2
- package/datepicker/calendar-header.component.d.ts +9 -3
- package/datepicker/calendar.component.d.ts +4 -5
- package/datepicker/datepicker-input.directive.d.ts +1 -1
- package/datepicker/datepicker-toggle.component.d.ts +1 -1
- package/datepicker/datepicker.component.d.ts +1 -1
- package/datepicker/month-view.component.d.ts +4 -5
- package/divider/divider.component.d.ts +1 -1
- package/dl/dl.component.d.ts +1 -1
- package/dropdown/dropdown-item.component.d.ts +1 -1
- package/dropdown/dropdown-trigger.directive.d.ts +1 -1
- package/dropdown/dropdown.component.d.ts +1 -1
- package/dropdown/dropdown.types.d.ts +3 -3
- package/ellipsis-center/ellipsis-center.directive.d.ts +1 -1
- package/{esm2020 → esm2022}/autocomplete/autocomplete-origin.directive.mjs +4 -4
- package/esm2022/autocomplete/autocomplete-trigger.directive.mjs +555 -0
- package/{esm2020 → esm2022}/autocomplete/autocomplete.component.mjs +26 -26
- package/{esm2020 → esm2022}/autocomplete/autocomplete.module.mjs +10 -10
- package/esm2022/button/button.component.mjs +148 -0
- package/{esm2020 → esm2022}/button/button.module.mjs +13 -13
- package/esm2022/button-toggle/button-toggle.component.mjs +381 -0
- package/{esm2020 → esm2022}/button-toggle/button-toggle.module.mjs +5 -5
- package/esm2022/card/card.component.mjs +80 -0
- package/{esm2020 → esm2022}/card/card.module.mjs +9 -9
- package/{esm2020 → esm2022}/checkbox/checkbox-module.mjs +5 -5
- package/{esm2020 → esm2022}/checkbox/checkbox-required-validator.mjs +4 -4
- package/esm2022/checkbox/checkbox.mjs +300 -0
- package/{esm2020 → esm2022}/code-block/actionbar.component.mjs +4 -4
- package/esm2022/code-block/code-block.component.mjs +157 -0
- package/esm2022/code-block/code-block.module.mjs +60 -0
- package/esm2022/core/common-behaviors/color.mjs +33 -0
- package/{esm2020 → esm2022}/core/common-behaviors/common-module.mjs +5 -5
- package/{esm2020 → esm2022}/core/common-behaviors/disabled.mjs +6 -6
- package/{esm2020 → esm2022}/core/common-behaviors/tabindex.mjs +6 -6
- package/{esm2020 → esm2022}/core/error/error-options.mjs +7 -7
- package/{esm2020 → esm2022}/core/formatters/date/formatter.mjs +4 -4
- package/{esm2020 → esm2022}/core/formatters/date/formatter.pipe.mjs +40 -40
- package/esm2022/core/formatters/index.mjs +86 -0
- package/esm2022/core/formatters/number/formatter.mjs +350 -0
- package/{esm2020 → esm2022}/core/forms/forms-module.mjs +7 -7
- package/{esm2020 → esm2022}/core/forms/forms.directive.mjs +7 -7
- package/{esm2020 → esm2022}/core/highlight/highlight.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/core/highlight/index.mjs +5 -5
- package/{esm2020 → esm2022}/core/line/line.mjs +8 -8
- package/esm2022/core/locales/en-US.mjs +21 -0
- package/esm2022/core/locales/es-LA.mjs +27 -0
- package/esm2022/core/locales/fa-IR.mjs +28 -0
- package/{esm2020 → esm2022}/core/locales/locale-service.mjs +7 -7
- package/{esm2020 → esm2022}/core/locales/locale-service.module.mjs +7 -7
- package/esm2022/core/locales/pt-BR.mjs +27 -0
- package/esm2022/core/locales/ru-RU.mjs +21 -0
- package/esm2022/core/locales/zh-CN.mjs +26 -0
- package/{esm2020 → esm2022}/core/option/action.mjs +9 -9
- package/{esm2020 → esm2022}/core/option/optgroup.mjs +4 -4
- package/{esm2020 → esm2022}/core/option/option-module.mjs +5 -5
- package/esm2022/core/option/option.mjs +298 -0
- package/esm2022/core/overlay/overlay-position-map.mjs +251 -0
- package/{esm2020 → esm2022}/core/pop-up/pop-up-trigger.mjs +4 -4
- package/{esm2020 → esm2022}/core/pop-up/pop-up.mjs +4 -4
- package/{esm2020 → esm2022}/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +4 -4
- package/{esm2020 → esm2022}/core/selection/pseudo-checkbox/pseudo-checkbox.module.mjs +5 -5
- package/esm2022/core/services/measure-scrollbar.service.mjs +48 -0
- package/{esm2020 → esm2022}/core/utils/data-size/data-size.pipe.mjs +8 -8
- package/{esm2020 → esm2022}/core/version.mjs +2 -2
- package/{esm2020 → esm2022}/datepicker/calendar-body.component.mjs +4 -4
- package/esm2022/datepicker/calendar-header.component.mjs +135 -0
- package/esm2022/datepicker/calendar.component.mjs +166 -0
- package/esm2022/datepicker/datepicker-input.directive.mjs +955 -0
- package/{esm2020 → esm2022}/datepicker/datepicker-intl.mjs +4 -4
- package/{esm2020 → esm2022}/datepicker/datepicker-module.mjs +38 -38
- package/esm2022/datepicker/datepicker-toggle.component.mjs +86 -0
- package/esm2022/datepicker/datepicker.component.mjs +393 -0
- package/esm2022/datepicker/month-view.component.mjs +149 -0
- package/{esm2020 → esm2022}/divider/divider.component.mjs +4 -4
- package/{esm2020 → esm2022}/divider/divider.module.mjs +5 -5
- package/{esm2020 → esm2022}/dl/dl.component.mjs +10 -10
- package/{esm2020 → esm2022}/dl/dl.module.mjs +13 -13
- package/{esm2020 → esm2022}/dropdown/dropdown-content.directive.mjs +4 -4
- package/{esm2020 → esm2022}/dropdown/dropdown-item.component.mjs +6 -6
- package/esm2022/dropdown/dropdown-trigger.directive.mjs +489 -0
- package/esm2022/dropdown/dropdown.component.mjs +292 -0
- package/{esm2020 → esm2022}/dropdown/dropdown.module.mjs +15 -15
- package/esm2022/ellipsis-center/ellipsis-center.directive.mjs +106 -0
- package/{esm2020 → esm2022}/file-upload/file-drop.mjs +4 -4
- package/{esm2020 → esm2022}/file-upload/file-upload.module.mjs +25 -25
- package/esm2022/file-upload/multiple-file-upload.component.mjs +165 -0
- package/esm2022/file-upload/single-file-upload.component.mjs +134 -0
- package/{esm2020 → esm2022}/form-field/cleaner.mjs +4 -4
- package/esm2022/form-field/form-field.mjs +267 -0
- package/{esm2020 → esm2022}/form-field/form-field.module.mjs +23 -23
- package/{esm2020 → esm2022}/form-field/hint.mjs +4 -4
- package/{esm2020 → esm2022}/form-field/password-hint.mjs +9 -9
- package/{esm2020 → esm2022}/form-field/prefix.mjs +4 -4
- package/{esm2020 → esm2022}/form-field/stepper.mjs +6 -6
- package/{esm2020 → esm2022}/form-field/suffix.mjs +4 -4
- package/esm2022/form-field/validate.directive.mjs +158 -0
- package/{esm2020 → esm2022}/icon/icon.component.mjs +7 -7
- package/{esm2020 → esm2022}/icon/icon.module.mjs +11 -11
- package/{esm2020 → esm2022}/input/input-number-validators.mjs +7 -7
- package/esm2022/input/input-number.mjs +168 -0
- package/esm2022/input/input-password.mjs +343 -0
- package/esm2022/input/input.mjs +297 -0
- package/{esm2020 → esm2022}/input/input.module.mjs +23 -23
- package/esm2022/link/link.component.mjs +122 -0
- package/{esm2020 → esm2022}/link/link.module.mjs +7 -7
- package/esm2022/list/list-selection.component.mjs +705 -0
- package/{esm2020 → esm2022}/list/list.component.mjs +7 -7
- package/{esm2020 → esm2022}/list/list.module.mjs +20 -20
- package/esm2022/loader-overlay/loader-overlay.component.mjs +103 -0
- package/{esm2020 → esm2022}/loader-overlay/loader-overlay.module.mjs +17 -17
- package/{esm2020 → esm2022}/markdown/markdown.component.mjs +13 -13
- package/{esm2020 → esm2022}/markdown/markdown.module.mjs +5 -5
- package/{esm2020 → esm2022}/markdown/markdown.service.mjs +4 -4
- package/{esm2020 → esm2022}/modal/css-unit.pipe.mjs +4 -4
- package/esm2022/modal/modal-control.service.mjs +85 -0
- package/esm2022/modal/modal.component.mjs +520 -0
- package/{esm2020 → esm2022}/modal/modal.directive.mjs +13 -13
- package/esm2022/modal/modal.module.mjs +75 -0
- package/{esm2020 → esm2022}/modal/modal.service.mjs +8 -8
- package/esm2022/navbar/navbar-item.component.mjs +606 -0
- package/esm2022/navbar/navbar.component.mjs +248 -0
- package/{esm2020 → esm2022}/navbar/navbar.module.mjs +37 -37
- package/{esm2020 → esm2022}/navbar/vertical-navbar.component.mjs +20 -17
- package/esm2022/popover/popover-confirm.component.mjs +108 -0
- package/esm2022/popover/popover.component.mjs +266 -0
- package/{esm2020 → esm2022}/popover/popover.module.mjs +8 -8
- package/{esm2020 → esm2022}/progress-bar/progress-bar.component.mjs +4 -4
- package/{esm2020 → esm2022}/progress-bar/progress-bar.module.mjs +7 -7
- package/{esm2020 → esm2022}/progress-spinner/progress-spinner.component.mjs +12 -12
- package/{esm2020 → esm2022}/progress-spinner/progress-spinner.module.mjs +7 -7
- package/esm2022/radio/radio.component.mjs +457 -0
- package/{esm2020 → esm2022}/radio/radio.module.mjs +5 -5
- package/esm2022/select/select-option.directive.mjs +65 -0
- package/esm2022/select/select.component.mjs +1160 -0
- package/{esm2020 → esm2022}/select/select.module.mjs +32 -32
- package/esm2022/sidebar/sidebar.component.mjs +146 -0
- package/{esm2020 → esm2022}/sidebar/sidebar.module.mjs +9 -9
- package/esm2022/sidepanel/sidepanel-container.component.mjs +110 -0
- package/{esm2020 → esm2022}/sidepanel/sidepanel-directives.mjs +18 -18
- package/{esm2020 → esm2022}/sidepanel/sidepanel.module.mjs +32 -32
- package/{esm2020 → esm2022}/sidepanel/sidepanel.service.mjs +10 -10
- package/esm2022/splitter/splitter.component.mjs +482 -0
- package/{esm2020 → esm2022}/splitter/splitter.module.mjs +12 -12
- package/{esm2020 → esm2022}/table/table.component.mjs +4 -4
- package/{esm2020 → esm2022}/table/table.module.mjs +9 -9
- package/esm2022/tabs/paginated-tab-header.mjs +488 -0
- package/esm2022/tabs/tab-body.component.mjs +179 -0
- package/{esm2020 → esm2022}/tabs/tab-content.directive.mjs +4 -4
- package/esm2022/tabs/tab-group.component.mjs +349 -0
- package/{esm2020 → esm2022}/tabs/tab-header.component.mjs +4 -4
- package/{esm2020 → esm2022}/tabs/tab-label-wrapper.directive.mjs +4 -4
- package/{esm2020 → esm2022}/tabs/tab-label.directive.mjs +4 -4
- package/esm2022/tabs/tab-nav-bar/tab-nav-bar.mjs +111 -0
- package/{esm2020 → esm2022}/tabs/tab.component.mjs +43 -34
- package/{esm2020 → esm2022}/tabs/tabs.module.mjs +42 -42
- package/esm2022/tags/tag-input.mjs +250 -0
- package/esm2022/tags/tag-list.component.mjs +718 -0
- package/esm2022/tags/tag.component.mjs +381 -0
- package/esm2022/tags/tag.module.mjs +56 -0
- package/esm2022/textarea/textarea.component.mjs +254 -0
- package/{esm2020 → esm2022}/textarea/textarea.module.mjs +5 -5
- package/esm2022/timepicker/timepicker.directive.mjs +647 -0
- package/{esm2020 → esm2022}/timepicker/timepicker.module.mjs +11 -11
- package/{esm2020 → esm2022}/timezone/cities-by-filter.pipe.mjs +4 -4
- package/esm2022/timezone/timezone-option.component.mjs +48 -0
- package/{esm2020 → esm2022}/timezone/timezone-option.directive.mjs +4 -4
- package/{esm2020 → esm2022}/timezone/timezone-select.component.mjs +11 -11
- package/{esm2020 → esm2022}/timezone/timezone.module.mjs +29 -29
- package/{esm2020 → esm2022}/timezone/utc-offset.pipe.mjs +4 -4
- package/esm2022/title/title.directive.mjs +107 -0
- package/{esm2020 → esm2022}/title/title.module.mjs +5 -5
- package/{esm2020 → esm2022}/toast/toast-container.component.mjs +4 -4
- package/esm2022/toast/toast.component.mjs +92 -0
- package/esm2022/toast/toast.module.mjs +48 -0
- package/esm2022/toast/toast.service.mjs +188 -0
- package/esm2022/toggle/toggle.component.mjs +156 -0
- package/{esm2020 → esm2022}/toggle/toggle.module.mjs +5 -5
- package/esm2022/tooltip/tooltip.component.mjs +299 -0
- package/{esm2020 → esm2022}/tooltip/tooltip.module.mjs +14 -14
- package/esm2022/tree/data-source/flat-data-source.mjs +162 -0
- package/{esm2020 → esm2022}/tree/node.mjs +4 -4
- package/{esm2020 → esm2022}/tree/outlet.mjs +4 -4
- package/esm2022/tree/padding.directive.mjs +113 -0
- package/esm2022/tree/toggle.mjs +81 -0
- package/esm2022/tree/tree-base.mjs +243 -0
- package/esm2022/tree/tree-option.component.mjs +303 -0
- package/esm2022/tree/tree-selection.component.mjs +558 -0
- package/{esm2020 → esm2022}/tree/tree.mjs +4 -4
- package/{esm2020 → esm2022}/tree/tree.module.mjs +21 -21
- package/esm2022/tree-select/tree-select.component.mjs +936 -0
- package/{esm2020 → esm2022}/tree-select/tree-select.module.mjs +17 -17
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-autocomplete.mjs +80 -77
- package/fesm2022/ptsecurity-mosaic-autocomplete.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-button-toggle.mjs +47 -47
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-button-toggle.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-button.mjs +25 -25
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-button.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-card.mjs +17 -17
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-card.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-checkbox.mjs +39 -39
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-checkbox.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-code-block.mjs +34 -34
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-code-block.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-core.mjs +598 -222
- package/fesm2022/ptsecurity-mosaic-core.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-datepicker.mjs +335 -351
- package/fesm2022/ptsecurity-mosaic-datepicker.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-divider.mjs +7 -7
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-divider.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-dl.mjs +21 -21
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-dl.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-dropdown.mjs +89 -89
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-dropdown.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-ellipsis-center.mjs +11 -11
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-ellipsis-center.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-file-upload.mjs +55 -47
- package/fesm2022/ptsecurity-mosaic-file-upload.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-form-field.mjs +80 -80
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-form-field.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-icon.mjs +16 -16
- package/fesm2022/ptsecurity-mosaic-icon.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-input.mjs +128 -128
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-input.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-link.mjs +22 -22
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-link.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-list.mjs +86 -86
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-list.mjs.map +1 -1
- package/fesm2022/ptsecurity-mosaic-loader-overlay.mjs +155 -0
- package/{fesm2015 → fesm2022}/ptsecurity-mosaic-loader-overlay.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-markdown.mjs +19 -19
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-markdown.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-modal.mjs +157 -144
- package/fesm2022/ptsecurity-mosaic-modal.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-navbar.mjs +184 -176
- package/fesm2022/ptsecurity-mosaic-navbar.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-popover.mjs +37 -37
- package/{fesm2015 → fesm2022}/ptsecurity-mosaic-popover.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-progress-bar.mjs +9 -9
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-progress-bar.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-progress-spinner.mjs +18 -18
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-progress-spinner.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-radio.mjs +78 -78
- package/{fesm2015 → fesm2022}/ptsecurity-mosaic-radio.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-select.mjs +188 -174
- package/fesm2022/ptsecurity-mosaic-select.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-sidebar.mjs +29 -29
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-sidebar.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-sidepanel.mjs +63 -63
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-sidepanel.mjs.map +1 -1
- package/{fesm2015 → fesm2022}/ptsecurity-mosaic-splitter.mjs +55 -55
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-splitter.mjs.map +1 -1
- package/fesm2022/ptsecurity-mosaic-table.mjs +45 -0
- package/fesm2022/ptsecurity-mosaic-table.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tabs.mjs +188 -179
- package/fesm2022/ptsecurity-mosaic-tabs.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tags.mjs +131 -131
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tags.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-textarea.mjs +41 -41
- package/{fesm2015 → fesm2022}/ptsecurity-mosaic-textarea.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-timepicker.mjs +95 -95
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-timepicker.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-timezone.mjs +53 -53
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-timezone.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-title.mjs +18 -18
- package/fesm2022/ptsecurity-mosaic-title.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-toast.mjs +47 -41
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-toast.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-toggle.mjs +35 -35
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-toggle.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tooltip.mjs +47 -47
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tooltip.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tree-select.mjs +122 -122
- package/fesm2022/ptsecurity-mosaic-tree-select.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tree.mjs +202 -198
- package/fesm2022/ptsecurity-mosaic-tree.mjs.map +1 -0
- package/file-upload/file-upload.d.ts +1 -1
- package/file-upload/multiple-file-upload.component.d.ts +5 -4
- package/file-upload/single-file-upload.component.d.ts +5 -4
- package/form-field/_form-field-theme.scss +4 -0
- package/form-field/form-field.d.ts +1 -1
- package/form-field/hint.d.ts +1 -1
- package/form-field/password-hint.d.ts +1 -1
- package/icon/icon.component.d.ts +1 -1
- package/input/input-number-validators.d.ts +2 -2
- package/input/input-number.d.ts +1 -1
- package/input/input-password.d.ts +2 -2
- package/input/input.d.ts +1 -1
- package/link/link.component.d.ts +1 -1
- package/list/list-selection.component.d.ts +2 -2
- package/loader-overlay/loader-overlay.component.d.ts +1 -1
- package/loader-overlay/loader-overlay.scss +3 -0
- package/markdown/markdown.component.d.ts +1 -1
- package/modal/modal.component.d.ts +5 -2
- package/modal/modal.module.d.ts +2 -1
- package/modal/modal.scss +14 -2
- package/modal/modal.type.d.ts +3 -3
- package/navbar/navbar-item.component.d.ts +3 -3
- package/navbar/navbar.component.d.ts +7 -4
- package/navbar/vertical-navbar.component.d.ts +5 -3
- package/package.json +149 -239
- package/popover/popover-confirm.component.d.ts +1 -1
- package/popover/popover.component.d.ts +1 -1
- package/prebuilt-themes/dark-theme.css +1 -1
- package/prebuilt-themes/default-theme.css +1 -1
- package/prebuilt-visual/default-visual.css +1 -1
- package/progress-bar/progress-bar.component.d.ts +2 -2
- package/progress-spinner/progress-spinner.component.d.ts +3 -3
- package/radio/_radio-theme.scss +4 -0
- package/radio/radio.component.d.ts +2 -2
- package/select/select.component.d.ts +12 -9
- package/select/select.scss +1 -1
- package/sidebar/sidebar.component.d.ts +3 -3
- package/sidepanel/sidepanel-directives.d.ts +2 -2
- package/splitter/splitter.component.d.ts +3 -3
- package/tabs/paginated-tab-header.d.ts +3 -3
- package/tabs/tab-body.component.d.ts +3 -3
- package/tabs/tab-group.component.d.ts +2 -2
- package/tabs/tab-header.component.d.ts +2 -2
- package/tabs/tab-label-wrapper.directive.d.ts +1 -1
- package/tabs/tab-nav-bar/tab-nav-bar.d.ts +1 -1
- package/tabs/tab.component.d.ts +1 -1
- package/tags/tag-input.d.ts +1 -1
- package/tags/tag-list.component.d.ts +1 -1
- package/tags/tag.component.d.ts +1 -1
- package/textarea/textarea.component.d.ts +1 -1
- package/timepicker/timepicker.directive.d.ts +1 -1
- package/timezone/timezone-option.component.d.ts +1 -1
- package/toast/toast.type.d.ts +1 -1
- package/toggle/toggle.component.d.ts +2 -2
- package/tooltip/tooltip.component.d.ts +3 -3
- package/tree/node.d.ts +1 -1
- package/tree/padding.directive.d.ts +1 -1
- package/tree/toggle.d.ts +2 -2
- package/tree/tree-base.d.ts +1 -1
- package/tree/tree-option.component.d.ts +1 -1
- package/tree/tree-option.scss +4 -2
- package/tree/tree-selection.component.d.ts +1 -1
- package/tree-select/tree-select.component.d.ts +1 -1
- package/esm2020/autocomplete/autocomplete-trigger.directive.mjs +0 -552
- package/esm2020/button/button.component.mjs +0 -148
- package/esm2020/button-toggle/button-toggle.component.mjs +0 -381
- package/esm2020/card/card.component.mjs +0 -80
- package/esm2020/checkbox/checkbox.mjs +0 -300
- package/esm2020/code-block/code-block.component.mjs +0 -157
- package/esm2020/code-block/code-block.module.mjs +0 -60
- package/esm2020/core/common-behaviors/color.mjs +0 -33
- package/esm2020/core/formatters/index.mjs +0 -78
- package/esm2020/core/formatters/number/formatter.mjs +0 -129
- package/esm2020/core/locales/en-US.mjs +0 -10
- package/esm2020/core/locales/es-LA.mjs +0 -6
- package/esm2020/core/locales/fa-IR.mjs +0 -6
- package/esm2020/core/locales/pt-BR.mjs +0 -6
- package/esm2020/core/locales/ru-RU.mjs +0 -10
- package/esm2020/core/locales/zh-CN.mjs +0 -6
- package/esm2020/core/option/option.mjs +0 -262
- package/esm2020/core/overlay/overlay-position-map.mjs +0 -245
- package/esm2020/core/services/measure-scrollbar.service.mjs +0 -48
- package/esm2020/datepicker/calendar-header.component.mjs +0 -134
- package/esm2020/datepicker/calendar.component.mjs +0 -175
- package/esm2020/datepicker/datepicker-input.directive.mjs +0 -954
- package/esm2020/datepicker/datepicker-toggle.component.mjs +0 -86
- package/esm2020/datepicker/datepicker.component.mjs +0 -393
- package/esm2020/datepicker/month-view.component.mjs +0 -158
- package/esm2020/dropdown/dropdown-trigger.directive.mjs +0 -489
- package/esm2020/dropdown/dropdown.component.mjs +0 -292
- package/esm2020/ellipsis-center/ellipsis-center.directive.mjs +0 -106
- package/esm2020/file-upload/multiple-file-upload.component.mjs +0 -161
- package/esm2020/file-upload/single-file-upload.component.mjs +0 -130
- package/esm2020/form-field/form-field.mjs +0 -267
- package/esm2020/form-field/validate.directive.mjs +0 -158
- package/esm2020/input/input-number.mjs +0 -168
- package/esm2020/input/input-password.mjs +0 -343
- package/esm2020/input/input.mjs +0 -297
- package/esm2020/link/link.component.mjs +0 -122
- package/esm2020/list/list-selection.component.mjs +0 -705
- package/esm2020/loader-overlay/loader-overlay.component.mjs +0 -103
- package/esm2020/modal/modal-control.service.mjs +0 -85
- package/esm2020/modal/modal.component.mjs +0 -510
- package/esm2020/modal/modal.module.mjs +0 -71
- package/esm2020/navbar/navbar-item.component.mjs +0 -606
- package/esm2020/navbar/navbar.component.mjs +0 -239
- package/esm2020/popover/popover-confirm.component.mjs +0 -108
- package/esm2020/popover/popover.component.mjs +0 -266
- package/esm2020/radio/radio.component.mjs +0 -457
- package/esm2020/select/select-option.directive.mjs +0 -65
- package/esm2020/select/select.component.mjs +0 -1146
- package/esm2020/sidebar/sidebar.component.mjs +0 -146
- package/esm2020/sidepanel/sidepanel-container.component.mjs +0 -110
- package/esm2020/splitter/splitter.component.mjs +0 -482
- package/esm2020/tabs/paginated-tab-header.mjs +0 -488
- package/esm2020/tabs/tab-body.component.mjs +0 -179
- package/esm2020/tabs/tab-group.component.mjs +0 -349
- package/esm2020/tabs/tab-nav-bar/tab-nav-bar.mjs +0 -111
- package/esm2020/tags/tag-input.mjs +0 -250
- package/esm2020/tags/tag-list.component.mjs +0 -718
- package/esm2020/tags/tag.component.mjs +0 -381
- package/esm2020/tags/tag.module.mjs +0 -56
- package/esm2020/textarea/textarea.component.mjs +0 -254
- package/esm2020/timepicker/timepicker.directive.mjs +0 -647
- package/esm2020/timezone/timezone-option.component.mjs +0 -48
- package/esm2020/title/title.directive.mjs +0 -107
- package/esm2020/toast/toast.component.mjs +0 -92
- package/esm2020/toast/toast.module.mjs +0 -42
- package/esm2020/toast/toast.service.mjs +0 -188
- package/esm2020/toggle/toggle.component.mjs +0 -156
- package/esm2020/tooltip/tooltip.component.mjs +0 -299
- package/esm2020/tree/data-source/flat-data-source.mjs +0 -162
- package/esm2020/tree/padding.directive.mjs +0 -113
- package/esm2020/tree/toggle.mjs +0 -81
- package/esm2020/tree/tree-base.mjs +0 -243
- package/esm2020/tree/tree-option.component.mjs +0 -300
- package/esm2020/tree/tree-selection.component.mjs +0 -557
- package/esm2020/tree-select/tree-select.component.mjs +0 -936
- package/fesm2015/ptsecurity-mosaic-autocomplete.mjs +0 -753
- package/fesm2015/ptsecurity-mosaic-autocomplete.mjs.map +0 -1
- package/fesm2015/ptsecurity-mosaic-button-toggle.mjs +0 -405
- package/fesm2015/ptsecurity-mosaic-button-toggle.mjs.map +0 -1
- package/fesm2015/ptsecurity-mosaic-button.mjs +0 -193
- package/fesm2015/ptsecurity-mosaic-button.mjs.map +0 -1
- package/fesm2015/ptsecurity-mosaic-card.mjs +0 -111
- package/fesm2015/ptsecurity-mosaic-card.mjs.map +0 -1
- package/fesm2015/ptsecurity-mosaic-checkbox.mjs +0 -351
- package/fesm2015/ptsecurity-mosaic-checkbox.mjs.map +0 -1
- package/fesm2015/ptsecurity-mosaic-code-block.mjs +0 -280
- package/fesm2015/ptsecurity-mosaic-code-block.mjs.map +0 -1
- package/fesm2015/ptsecurity-mosaic-core.mjs +0 -2314
- package/fesm2015/ptsecurity-mosaic-core.mjs.map +0 -1
- package/fesm2015/ptsecurity-mosaic-datepicker.mjs +0 -2112
- package/fesm2015/ptsecurity-mosaic-datepicker.mjs.map +0 -1
- package/fesm2015/ptsecurity-mosaic-divider.mjs +0 -61
- package/fesm2015/ptsecurity-mosaic-divider.mjs.map +0 -1
- package/fesm2015/ptsecurity-mosaic-dl.mjs +0 -126
- package/fesm2015/ptsecurity-mosaic-dl.mjs.map +0 -1
- package/fesm2015/ptsecurity-mosaic-dropdown.mjs +0 -1115
- package/fesm2015/ptsecurity-mosaic-dropdown.mjs.map +0 -1
- package/fesm2015/ptsecurity-mosaic-ellipsis-center.mjs +0 -113
- package/fesm2015/ptsecurity-mosaic-ellipsis-center.mjs.map +0 -1
- package/fesm2015/ptsecurity-mosaic-file-upload.mjs +0 -392
- package/fesm2015/ptsecurity-mosaic-file-upload.mjs.map +0 -1
- package/fesm2015/ptsecurity-mosaic-form-field.mjs +0 -772
- package/fesm2015/ptsecurity-mosaic-form-field.mjs.map +0 -1
- package/fesm2015/ptsecurity-mosaic-icon.mjs +0 -86
- package/fesm2015/ptsecurity-mosaic-icon.mjs.map +0 -1
- package/fesm2015/ptsecurity-mosaic-input.mjs +0 -951
- package/fesm2015/ptsecurity-mosaic-input.mjs.map +0 -1
- package/fesm2015/ptsecurity-mosaic-link.mjs +0 -150
- package/fesm2015/ptsecurity-mosaic-link.mjs.map +0 -1
- package/fesm2015/ptsecurity-mosaic-list.mjs +0 -807
- package/fesm2015/ptsecurity-mosaic-list.mjs.map +0 -1
- package/fesm2015/ptsecurity-mosaic-loader-overlay.mjs +0 -157
- package/fesm2015/ptsecurity-mosaic-markdown.mjs +0 -128
- package/fesm2015/ptsecurity-mosaic-markdown.mjs.map +0 -1
- package/fesm2015/ptsecurity-mosaic-modal.mjs +0 -875
- package/fesm2015/ptsecurity-mosaic-modal.mjs.map +0 -1
- package/fesm2015/ptsecurity-mosaic-navbar.mjs +0 -1055
- package/fesm2015/ptsecurity-mosaic-navbar.mjs.map +0 -1
- package/fesm2015/ptsecurity-mosaic-popover.mjs +0 -411
- package/fesm2015/ptsecurity-mosaic-progress-bar.mjs +0 -74
- package/fesm2015/ptsecurity-mosaic-progress-bar.mjs.map +0 -1
- package/fesm2015/ptsecurity-mosaic-progress-spinner.mjs +0 -93
- package/fesm2015/ptsecurity-mosaic-progress-spinner.mjs.map +0 -1
- package/fesm2015/ptsecurity-mosaic-radio.mjs +0 -481
- package/fesm2015/ptsecurity-mosaic-select.mjs +0 -1286
- package/fesm2015/ptsecurity-mosaic-select.mjs.map +0 -1
- package/fesm2015/ptsecurity-mosaic-sidebar.mjs +0 -202
- package/fesm2015/ptsecurity-mosaic-sidebar.mjs.map +0 -1
- package/fesm2015/ptsecurity-mosaic-sidepanel.mjs +0 -622
- package/fesm2015/ptsecurity-mosaic-sidepanel.mjs.map +0 -1
- package/fesm2015/ptsecurity-mosaic-splitter.mjs.map +0 -1
- package/fesm2015/ptsecurity-mosaic-table.mjs +0 -45
- package/fesm2015/ptsecurity-mosaic-table.mjs.map +0 -1
- package/fesm2015/ptsecurity-mosaic-tabs.mjs +0 -1523
- package/fesm2015/ptsecurity-mosaic-tabs.mjs.map +0 -1
- package/fesm2015/ptsecurity-mosaic-tags.mjs +0 -1397
- package/fesm2015/ptsecurity-mosaic-tags.mjs.map +0 -1
- package/fesm2015/ptsecurity-mosaic-textarea.mjs +0 -280
- package/fesm2015/ptsecurity-mosaic-timepicker.mjs +0 -708
- package/fesm2015/ptsecurity-mosaic-timepicker.mjs.map +0 -1
- package/fesm2015/ptsecurity-mosaic-timezone.mjs +0 -316
- package/fesm2015/ptsecurity-mosaic-timezone.mjs.map +0 -1
- package/fesm2015/ptsecurity-mosaic-title.mjs +0 -128
- package/fesm2015/ptsecurity-mosaic-title.mjs.map +0 -1
- package/fesm2015/ptsecurity-mosaic-toast.mjs +0 -379
- package/fesm2015/ptsecurity-mosaic-toast.mjs.map +0 -1
- package/fesm2015/ptsecurity-mosaic-toggle.mjs +0 -178
- package/fesm2015/ptsecurity-mosaic-toggle.mjs.map +0 -1
- package/fesm2015/ptsecurity-mosaic-tooltip.mjs +0 -369
- package/fesm2015/ptsecurity-mosaic-tooltip.mjs.map +0 -1
- package/fesm2015/ptsecurity-mosaic-tree-select.mjs +0 -983
- package/fesm2015/ptsecurity-mosaic-tree-select.mjs.map +0 -1
- package/fesm2015/ptsecurity-mosaic-tree.mjs +0 -1816
- package/fesm2015/ptsecurity-mosaic-tree.mjs.map +0 -1
- package/fesm2020/ptsecurity-mosaic-autocomplete.mjs.map +0 -1
- package/fesm2020/ptsecurity-mosaic-core.mjs.map +0 -1
- package/fesm2020/ptsecurity-mosaic-datepicker.mjs.map +0 -1
- package/fesm2020/ptsecurity-mosaic-file-upload.mjs.map +0 -1
- package/fesm2020/ptsecurity-mosaic-icon.mjs.map +0 -1
- package/fesm2020/ptsecurity-mosaic-loader-overlay.mjs +0 -155
- package/fesm2020/ptsecurity-mosaic-loader-overlay.mjs.map +0 -1
- package/fesm2020/ptsecurity-mosaic-modal.mjs.map +0 -1
- package/fesm2020/ptsecurity-mosaic-navbar.mjs.map +0 -1
- package/fesm2020/ptsecurity-mosaic-popover.mjs.map +0 -1
- package/fesm2020/ptsecurity-mosaic-radio.mjs.map +0 -1
- package/fesm2020/ptsecurity-mosaic-select.mjs.map +0 -1
- package/fesm2020/ptsecurity-mosaic-splitter.mjs +0 -524
- package/fesm2020/ptsecurity-mosaic-table.mjs +0 -45
- package/fesm2020/ptsecurity-mosaic-table.mjs.map +0 -1
- package/fesm2020/ptsecurity-mosaic-tabs.mjs.map +0 -1
- package/fesm2020/ptsecurity-mosaic-textarea.mjs.map +0 -1
- package/fesm2020/ptsecurity-mosaic-title.mjs.map +0 -1
- package/fesm2020/ptsecurity-mosaic-tree-select.mjs.map +0 -1
- package/fesm2020/ptsecurity-mosaic-tree.mjs.map +0 -1
- package/fesm2020/ptsecurity-mosaic.mjs +0 -4
- package/fesm2020/ptsecurity-mosaic.mjs.map +0 -1
- /package/{esm2020 → esm2022}/autocomplete/index.mjs +0 -0
- /package/{esm2020 → esm2022}/autocomplete/ptsecurity-mosaic-autocomplete.mjs +0 -0
- /package/{esm2020 → esm2022}/autocomplete/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/button/index.mjs +0 -0
- /package/{esm2020 → esm2022}/button/ptsecurity-mosaic-button.mjs +0 -0
- /package/{esm2020 → esm2022}/button/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/button-toggle/index.mjs +0 -0
- /package/{esm2020 → esm2022}/button-toggle/ptsecurity-mosaic-button-toggle.mjs +0 -0
- /package/{esm2020 → esm2022}/button-toggle/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/card/index.mjs +0 -0
- /package/{esm2020 → esm2022}/card/ptsecurity-mosaic-card.mjs +0 -0
- /package/{esm2020 → esm2022}/card/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/checkbox/checkbox-config.mjs +0 -0
- /package/{esm2020 → esm2022}/checkbox/index.mjs +0 -0
- /package/{esm2020 → esm2022}/checkbox/ptsecurity-mosaic-checkbox.mjs +0 -0
- /package/{esm2020 → esm2022}/checkbox/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/code-block/code-block.types.mjs +0 -0
- /package/{esm2020 → esm2022}/code-block/index.mjs +0 -0
- /package/{esm2020 → esm2022}/code-block/ptsecurity-mosaic-code-block.mjs +0 -0
- /package/{esm2020 → esm2022}/code-block/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/core/animation/animation.mjs +0 -0
- /package/{esm2020 → esm2022}/core/animation/fade-animations.mjs +0 -0
- /package/{esm2020 → esm2022}/core/animation/index.mjs +0 -0
- /package/{esm2020 → esm2022}/core/animation/select-animations.mjs +0 -0
- /package/{esm2020 → esm2022}/core/common-behaviors/constructor.mjs +0 -0
- /package/{esm2020 → esm2022}/core/common-behaviors/error-state.mjs +0 -0
- /package/{esm2020 → esm2022}/core/common-behaviors/index.mjs +0 -0
- /package/{esm2020 → esm2022}/core/datetime/date-adapter.mjs +0 -0
- /package/{esm2020 → esm2022}/core/datetime/date-formats.mjs +0 -0
- /package/{esm2020 → esm2022}/core/datetime/index.mjs +0 -0
- /package/{esm2020 → esm2022}/core/forms/index.mjs +0 -0
- /package/{esm2020 → esm2022}/core/index.mjs +0 -0
- /package/{esm2020 → esm2022}/core/label/label-options.mjs +0 -0
- /package/{esm2020 → esm2022}/core/locales/index.mjs +0 -0
- /package/{esm2020 → esm2022}/core/option/index.mjs +0 -0
- /package/{esm2020 → esm2022}/core/pop-up/constants.mjs +0 -0
- /package/{esm2020 → esm2022}/core/pop-up/index.mjs +0 -0
- /package/{esm2020 → esm2022}/core/ptsecurity-mosaic-core.mjs +0 -0
- /package/{esm2020 → esm2022}/core/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/core/select/constants.mjs +0 -0
- /package/{esm2020 → esm2022}/core/select/errors.mjs +0 -0
- /package/{esm2020 → esm2022}/core/select/events.mjs +0 -0
- /package/{esm2020 → esm2022}/core/select/index.mjs +0 -0
- /package/{esm2020 → esm2022}/core/selection/constants.mjs +0 -0
- /package/{esm2020 → esm2022}/core/selection/index.mjs +0 -0
- /package/{esm2020 → esm2022}/core/title/index.mjs +0 -0
- /package/{esm2020 → esm2022}/core/title/title-text-ref.mjs +0 -0
- /package/{esm2020 → esm2022}/core/utils/data-size/config.mjs +0 -0
- /package/{esm2020 → esm2022}/core/utils/data-size/index.mjs +0 -0
- /package/{esm2020 → esm2022}/core/utils/data-size/size.mjs +0 -0
- /package/{esm2020 → esm2022}/core/utils/index.mjs +0 -0
- /package/{esm2020 → esm2022}/core/utils/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/core/utils/utils.mjs +0 -0
- /package/{esm2020 → esm2022}/core/validation/index.mjs +0 -0
- /package/{esm2020 → esm2022}/core/validation/validation.mjs +0 -0
- /package/{esm2020 → esm2022}/datepicker/datepicker-animations.mjs +0 -0
- /package/{esm2020 → esm2022}/datepicker/datepicker-errors.mjs +0 -0
- /package/{esm2020 → esm2022}/datepicker/index.mjs +0 -0
- /package/{esm2020 → esm2022}/datepicker/ptsecurity-mosaic-datepicker.mjs +0 -0
- /package/{esm2020 → esm2022}/datepicker/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/divider/index.mjs +0 -0
- /package/{esm2020 → esm2022}/divider/ptsecurity-mosaic-divider.mjs +0 -0
- /package/{esm2020 → esm2022}/divider/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/dl/index.mjs +0 -0
- /package/{esm2020 → esm2022}/dl/ptsecurity-mosaic-dl.mjs +0 -0
- /package/{esm2020 → esm2022}/dl/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/dropdown/dropdown-animations.mjs +0 -0
- /package/{esm2020 → esm2022}/dropdown/dropdown-errors.mjs +0 -0
- /package/{esm2020 → esm2022}/dropdown/dropdown.types.mjs +0 -0
- /package/{esm2020 → esm2022}/dropdown/index.mjs +0 -0
- /package/{esm2020 → esm2022}/dropdown/ptsecurity-mosaic-dropdown.mjs +0 -0
- /package/{esm2020 → esm2022}/dropdown/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/ellipsis-center/index.mjs +0 -0
- /package/{esm2020 → esm2022}/ellipsis-center/ptsecurity-mosaic-ellipsis-center.mjs +0 -0
- /package/{esm2020 → esm2022}/ellipsis-center/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/file-upload/file-upload.mjs +0 -0
- /package/{esm2020 → esm2022}/file-upload/index.mjs +0 -0
- /package/{esm2020 → esm2022}/file-upload/ptsecurity-mosaic-file-upload.mjs +0 -0
- /package/{esm2020 → esm2022}/file-upload/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/form-field/form-field-control.mjs +0 -0
- /package/{esm2020 → esm2022}/form-field/form-field-errors.mjs +0 -0
- /package/{esm2020 → esm2022}/form-field/index.mjs +0 -0
- /package/{esm2020 → esm2022}/form-field/ptsecurity-mosaic-form-field.mjs +0 -0
- /package/{esm2020 → esm2022}/form-field/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/icon/index.mjs +0 -0
- /package/{esm2020 → esm2022}/icon/ptsecurity-mosaic-icon.mjs +0 -0
- /package/{esm2020 → esm2022}/icon/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/index.mjs +0 -0
- /package/{esm2020 → esm2022}/input/index.mjs +0 -0
- /package/{esm2020 → esm2022}/input/input-errors.mjs +0 -0
- /package/{esm2020 → esm2022}/input/input-value-accessor.mjs +0 -0
- /package/{esm2020 → esm2022}/input/ptsecurity-mosaic-input.mjs +0 -0
- /package/{esm2020 → esm2022}/input/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/link/index.mjs +0 -0
- /package/{esm2020 → esm2022}/link/ptsecurity-mosaic-link.mjs +0 -0
- /package/{esm2020 → esm2022}/link/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/list/index.mjs +0 -0
- /package/{esm2020 → esm2022}/list/ptsecurity-mosaic-list.mjs +0 -0
- /package/{esm2020 → esm2022}/list/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/loader-overlay/index.mjs +0 -0
- /package/{esm2020 → esm2022}/loader-overlay/ptsecurity-mosaic-loader-overlay.mjs +0 -0
- /package/{esm2020 → esm2022}/loader-overlay/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/markdown/index.mjs +0 -0
- /package/{esm2020 → esm2022}/markdown/markdown.values.mjs +0 -0
- /package/{esm2020 → esm2022}/markdown/ptsecurity-mosaic-markdown.mjs +0 -0
- /package/{esm2020 → esm2022}/markdown/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/modal/index.mjs +0 -0
- /package/{esm2020 → esm2022}/modal/modal-ref.class.mjs +0 -0
- /package/{esm2020 → esm2022}/modal/modal-util.mjs +0 -0
- /package/{esm2020 → esm2022}/modal/modal.type.mjs +0 -0
- /package/{esm2020 → esm2022}/modal/ptsecurity-mosaic-modal.mjs +0 -0
- /package/{esm2020 → esm2022}/modal/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/navbar/index.mjs +0 -0
- /package/{esm2020 → esm2022}/navbar/ptsecurity-mosaic-navbar.mjs +0 -0
- /package/{esm2020 → esm2022}/navbar/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/navbar/vertical-navbar.animation.mjs +0 -0
- /package/{esm2020 → esm2022}/popover/index.mjs +0 -0
- /package/{esm2020 → esm2022}/popover/popover-animations.mjs +0 -0
- /package/{esm2020 → esm2022}/popover/ptsecurity-mosaic-popover.mjs +0 -0
- /package/{esm2020 → esm2022}/popover/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/progress-bar/index.mjs +0 -0
- /package/{esm2020 → esm2022}/progress-bar/ptsecurity-mosaic-progress-bar.mjs +0 -0
- /package/{esm2020 → esm2022}/progress-bar/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/progress-spinner/index.mjs +0 -0
- /package/{esm2020 → esm2022}/progress-spinner/ptsecurity-mosaic-progress-spinner.mjs +0 -0
- /package/{esm2020 → esm2022}/progress-spinner/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/ptsecurity-mosaic.mjs +0 -0
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/radio/index.mjs +0 -0
- /package/{esm2020 → esm2022}/radio/ptsecurity-mosaic-radio.mjs +0 -0
- /package/{esm2020 → esm2022}/radio/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/select/index.mjs +0 -0
- /package/{esm2020 → esm2022}/select/ptsecurity-mosaic-select.mjs +0 -0
- /package/{esm2020 → esm2022}/select/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/sidebar/index.mjs +0 -0
- /package/{esm2020 → esm2022}/sidebar/ptsecurity-mosaic-sidebar.mjs +0 -0
- /package/{esm2020 → esm2022}/sidebar/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/sidebar/sidebar-animations.mjs +0 -0
- /package/{esm2020 → esm2022}/sidepanel/index.mjs +0 -0
- /package/{esm2020 → esm2022}/sidepanel/ptsecurity-mosaic-sidepanel.mjs +0 -0
- /package/{esm2020 → esm2022}/sidepanel/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/sidepanel/sidepanel-animations.mjs +0 -0
- /package/{esm2020 → esm2022}/sidepanel/sidepanel-config.mjs +0 -0
- /package/{esm2020 → esm2022}/sidepanel/sidepanel-ref.mjs +0 -0
- /package/{esm2020 → esm2022}/splitter/index.mjs +0 -0
- /package/{esm2020 → esm2022}/splitter/ptsecurity-mosaic-splitter.mjs +0 -0
- /package/{esm2020 → esm2022}/splitter/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/table/index.mjs +0 -0
- /package/{esm2020 → esm2022}/table/ptsecurity-mosaic-table.mjs +0 -0
- /package/{esm2020 → esm2022}/table/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/tabs/index.mjs +0 -0
- /package/{esm2020 → esm2022}/tabs/ptsecurity-mosaic-tabs.mjs +0 -0
- /package/{esm2020 → esm2022}/tabs/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/tabs/tab-nav-bar/index.mjs +0 -0
- /package/{esm2020 → esm2022}/tabs/tabs-animations.mjs +0 -0
- /package/{esm2020 → esm2022}/tags/index.mjs +0 -0
- /package/{esm2020 → esm2022}/tags/ptsecurity-mosaic-tags.mjs +0 -0
- /package/{esm2020 → esm2022}/tags/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/tags/tag-default-options.mjs +0 -0
- /package/{esm2020 → esm2022}/tags/tag-text-control.mjs +0 -0
- /package/{esm2020 → esm2022}/textarea/index.mjs +0 -0
- /package/{esm2020 → esm2022}/textarea/ptsecurity-mosaic-textarea.mjs +0 -0
- /package/{esm2020 → esm2022}/textarea/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/timepicker/index.mjs +0 -0
- /package/{esm2020 → esm2022}/timepicker/ptsecurity-mosaic-timepicker.mjs +0 -0
- /package/{esm2020 → esm2022}/timepicker/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/timepicker/timepicker.constants.mjs +0 -0
- /package/{esm2020 → esm2022}/timezone/index.mjs +0 -0
- /package/{esm2020 → esm2022}/timezone/ptsecurity-mosaic-timezone.mjs +0 -0
- /package/{esm2020 → esm2022}/timezone/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/timezone/timezone.models.mjs +0 -0
- /package/{esm2020 → esm2022}/timezone/timezone.utils.mjs +0 -0
- /package/{esm2020 → esm2022}/title/index.mjs +0 -0
- /package/{esm2020 → esm2022}/title/ptsecurity-mosaic-title.mjs +0 -0
- /package/{esm2020 → esm2022}/title/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/toast/index.mjs +0 -0
- /package/{esm2020 → esm2022}/toast/ptsecurity-mosaic-toast.mjs +0 -0
- /package/{esm2020 → esm2022}/toast/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/toast/toast-animations.mjs +0 -0
- /package/{esm2020 → esm2022}/toast/toast.type.mjs +0 -0
- /package/{esm2020 → esm2022}/toggle/index.mjs +0 -0
- /package/{esm2020 → esm2022}/toggle/ptsecurity-mosaic-toggle.mjs +0 -0
- /package/{esm2020 → esm2022}/toggle/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/tooltip/index.mjs +0 -0
- /package/{esm2020 → esm2022}/tooltip/ptsecurity-mosaic-tooltip.mjs +0 -0
- /package/{esm2020 → esm2022}/tooltip/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/tooltip/tooltip.animations.mjs +0 -0
- /package/{esm2020 → esm2022}/tree/control/base-tree-control.mjs +0 -0
- /package/{esm2020 → esm2022}/tree/control/flat-tree-control.mjs +0 -0
- /package/{esm2020 → esm2022}/tree/control/nested-tree-control.mjs +0 -0
- /package/{esm2020 → esm2022}/tree/control/tree-control.mjs +0 -0
- /package/{esm2020 → esm2022}/tree/data-source/nested-data-source.mjs +0 -0
- /package/{esm2020 → esm2022}/tree/index.mjs +0 -0
- /package/{esm2020 → esm2022}/tree/ptsecurity-mosaic-tree.mjs +0 -0
- /package/{esm2020 → esm2022}/tree/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/tree/tree-errors.mjs +0 -0
- /package/{esm2020 → esm2022}/tree-select/index.mjs +0 -0
- /package/{esm2020 → esm2022}/tree-select/ptsecurity-mosaic-tree-select.mjs +0 -0
- /package/{esm2020 → esm2022}/tree-select/public-api.mjs +0 -0
- /package/{fesm2015 → fesm2022}/ptsecurity-mosaic.mjs +0 -0
- /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
|
-
|
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,
|
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
|
-
|
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
|
-
|
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,
|
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
|
-
|
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,
|
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
|
-
|
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,
|
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
|
-
|
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
|
-
|
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,
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL21vc2FpYy9jb3JlL2xpbmUvbGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBeUIsTUFBTSxlQUFlLENBQUM7O0FBRzNFOzs7O0dBSUc7QUFLSCxNQUFNLE9BQU8sTUFBTTtpSUFBTixNQUFNO3FIQUFOLE1BQU07OzJGQUFOLE1BQU07a0JBSmxCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRTtpQkFDN0I7O0FBR0Q7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLFlBQVk7SUFDckIsWUFBb0IsTUFBeUIsRUFBVSxRQUFvQjtRQUF2RCxXQUFNLEdBQU4sTUFBTSxDQUFtQjtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVk7UUFDdkUsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXRDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDL0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLFlBQVksQ0FBQyxLQUFhO1FBQzlCLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxDQUFDO1FBQzdCLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLEtBQUssS0FBSyxrQkFBa0IsSUFBSSxLQUFLLEtBQUssa0JBQWtCLEVBQUU7WUFDOUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEtBQUssT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQzNDO2FBQU0sSUFBSSxLQUFLLEdBQUcsa0JBQWtCLEVBQUU7WUFDbkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDeEM7SUFDTCxDQUFDO0lBRU8sWUFBWTtRQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRU8sUUFBUSxDQUFDLFNBQWlCLEVBQUUsS0FBYztRQUM5QyxJQUFJLEtBQUssRUFBRTtZQUNQLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDeEQ7YUFBTTtZQUNILElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDM0Q7SUFDTCxDQUFDO0NBQ0o7QUFPRCxNQUFNLE9BQU8sWUFBWTtpSUFBWixZQUFZO2tJQUFaLFlBQVksaUJBOUNaLE1BQU0sYUFBTixNQUFNO2tJQThDTixZQUFZOzsyRkFBWixZQUFZO2tCQUx4QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxFQUFFO29CQUNYLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQztvQkFDakIsWUFBWSxFQUFFLENBQUMsTUFBTSxDQUFDO2lCQUN6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIFF1ZXJ5TGlzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5cbi8qKlxuICogU2hhcmVkIGRpcmVjdGl2ZSB0byBjb3VudCBsaW5lcyBpbnNpZGUgYSB0ZXh0IGFyZWEsIHN1Y2ggYXMgYSBsaXN0IGl0ZW0uXG4gKiBMaW5lIGVsZW1lbnRzIGNhbiBiZSBleHRyYWN0ZWQgd2l0aCBhIEBDb250ZW50Q2hpbGRyZW4oTWNMaW5lKSBxdWVyeSwgdGhlblxuICogY291bnRlZCBieSBjaGVja2luZyB0aGUgcXVlcnkgbGlzdCdzIGxlbmd0aC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbbWMtbGluZV0sIFttY0xpbmVdJyxcbiAgICBob3N0OiB7IGNsYXNzOiAnbWMtbGluZScgfVxufSlcbmV4cG9ydCBjbGFzcyBNY0xpbmUge31cblxuLyoqXG4gKiBIZWxwZXIgdGhhdCB0YWtlcyBhIHF1ZXJ5IGxpc3Qgb2YgbGluZXMgYW5kIHNldHMgdGhlIGNvcnJlY3QgY2xhc3Mgb24gdGhlIGhvc3QuXG4gKiBAZG9jcy1wcml2YXRlXG4gKi9cbmV4cG9ydCBjbGFzcyBNY0xpbmVTZXR0ZXIge1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2xpbmVzOiBRdWVyeUxpc3Q8TWNMaW5lPiwgcHJpdmF0ZSBfZWxlbWVudDogRWxlbWVudFJlZikge1xuICAgICAgICB0aGlzLnNldExpbmVDbGFzcyh0aGlzLl9saW5lcy5sZW5ndGgpO1xuXG4gICAgICAgIHRoaXMuX2xpbmVzLmNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2V0TGluZUNsYXNzKHRoaXMuX2xpbmVzLmxlbmd0aCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0TGluZUNsYXNzKGNvdW50OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbWluTGluZUNsYXNzTnVtYmVyID0gMjtcbiAgICAgICAgY29uc3QgbWF4TGluZUNsYXNzTnVtYmVyID0gMztcbiAgICAgICAgdGhpcy5yZXNldENsYXNzZXMoKTtcbiAgICAgICAgaWYgKGNvdW50ID09PSBtaW5MaW5lQ2xhc3NOdW1iZXIgfHwgY291bnQgPT09IG1heExpbmVDbGFzc051bWJlcikge1xuICAgICAgICAgICAgdGhpcy5zZXRDbGFzcyhgbWMtJHtjb3VudH0tbGluZWAsIHRydWUpO1xuICAgICAgICB9IGVsc2UgaWYgKGNvdW50ID4gbWF4TGluZUNsYXNzTnVtYmVyKSB7XG4gICAgICAgICAgICB0aGlzLnNldENsYXNzKGBtYy1tdWx0aS1saW5lYCwgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc2V0Q2xhc3NlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRDbGFzcygnbWMtMi1saW5lJywgZmFsc2UpO1xuICAgICAgICB0aGlzLnNldENsYXNzKCdtYy0zLWxpbmUnLCBmYWxzZSk7XG4gICAgICAgIHRoaXMuc2V0Q2xhc3MoJ21jLW11bHRpLWxpbmUnLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRDbGFzcyhjbGFzc05hbWU6IHN0cmluZywgaXNBZGQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKGlzQWRkKSB7XG4gICAgICAgICAgICB0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChjbGFzc05hbWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoY2xhc3NOYW1lKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXSxcbiAgICBleHBvcnRzOiBbTWNMaW5lXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtNY0xpbmVdXG59KVxuZXhwb3J0IGNsYXNzIE1jTGluZU1vZHVsZSB7fVxuIl19
|