@ptsecurity/mosaic 15.5.0 → 16.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/_theming.scss +29 -6
- package/_visual.scss +6 -4
- package/autocomplete/autocomplete-trigger.directive.d.ts +6 -16
- package/autocomplete/autocomplete.component.d.ts +1 -1
- package/button/_button-theme.scss +2 -5
- package/button/button.component.d.ts +1 -1
- package/button-toggle/_button-toggle-theme.scss +2 -5
- package/button-toggle/button-toggle.component.d.ts +3 -3
- package/card/card.component.d.ts +1 -1
- package/checkbox/_checkbox-theme.scss +6 -5
- package/checkbox/checkbox-config.d.ts +1 -1
- package/checkbox/checkbox.d.ts +1 -1
- package/code-block/_code-block-theme.scss +2 -6
- 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/forms/_forms-theme.scss +2 -4
- 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/_optgroup-theme.scss +2 -4
- package/core/option/_option-theme.scss +2 -5
- 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/_badges.scss +2 -1
- package/core/styles/theming/_theming.scss +1 -0
- package/datepicker/_datepicker-theme.scss +2 -5
- 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-theme.scss +2 -5
- package/dl/dl.component.d.ts +1 -1
- package/dropdown/_dropdown-theme.scss +2 -5
- 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 +5 -5
- 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/esm2022/form-field/password-hint.mjs +146 -0
- 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 +8 -8
- 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-default-options.mjs +4 -0
- 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 +600 -224
- 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 +92 -87
- package/fesm2022/ptsecurity-mosaic-form-field.mjs.map +1 -0
- 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 +88 -88
- 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 +196 -187
- 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 +80 -79
- 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 +150 -144
- package/fesm2022/ptsecurity-mosaic-tags.mjs.map +1 -0
- 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/fesm2022/ptsecurity-mosaic-timezone.mjs +314 -0
- 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 +123 -123
- package/fesm2022/ptsecurity-mosaic-tree-select.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/ptsecurity-mosaic-tree.mjs +203 -198
- package/fesm2022/ptsecurity-mosaic-tree.mjs.map +1 -0
- package/file-upload/_file-upload-theme.scss +2 -4
- 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 +7 -5
- package/form-field/form-field.d.ts +1 -2
- package/form-field/form-field.scss +1 -3
- package/form-field/hint.d.ts +1 -1
- package/form-field/password-hint.d.ts +6 -3
- package/icon/icon.component.d.ts +1 -1
- package/input/_input-theme.scss +7 -6
- 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-theme.scss +7 -8
- package/link/link.component.d.ts +1 -1
- package/list/_list-theme.scss +2 -5
- package/list/list-selection.component.d.ts +2 -2
- package/loader-overlay/_loader-overlay-theme.scss +2 -5
- package/loader-overlay/loader-overlay.component.d.ts +1 -1
- package/loader-overlay/loader-overlay.scss +3 -0
- package/markdown/_markdown-theme.scss +3 -6
- package/markdown/markdown.component.d.ts +1 -1
- package/modal/_modal-theme.scss +3 -5
- 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-theme.scss +2 -6
- package/navbar/navbar-item.component.d.ts +5 -4
- package/navbar/navbar.component.d.ts +7 -4
- package/navbar/vertical-navbar.component.d.ts +5 -3
- package/package.json +156 -246
- package/popover/_popover-theme.scss +2 -6
- 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/progress-bar/progress-bar.component.d.ts +2 -2
- package/progress-spinner/progress-spinner.component.d.ts +3 -3
- package/radio/_radio-theme.scss +6 -6
- package/radio/radio.component.d.ts +2 -2
- package/select/_select-theme.scss +2 -5
- package/select/select.component.d.ts +12 -9
- package/select/select.scss +3 -1
- package/sidebar/sidebar.component.d.ts +3 -3
- package/sidepanel/_sidepanel-theme.scss +2 -5
- package/sidepanel/sidepanel-directives.d.ts +2 -2
- package/splitter/splitter.component.d.ts +3 -3
- package/table/_table-theme.scss +2 -5
- package/tabs/_tabs-theme.scss +2 -5
- 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-theme.scss +2 -5
- package/tags/tag-default-options.d.ts +4 -0
- package/tags/tag-input.d.ts +1 -1
- package/tags/tag-list.component.d.ts +2 -1
- package/tags/tag-list.scss +6 -2
- package/tags/tag.component.d.ts +2 -2
- package/textarea/_textarea-theme.scss +2 -5
- package/textarea/textarea.component.d.ts +1 -1
- package/timepicker/timepicker.directive.d.ts +1 -1
- package/timezone/_timezone-option-theme.scss +2 -5
- package/timezone/timezone-option.component.d.ts +1 -1
- package/toast/_toast-theme.scss +2 -5
- package/toast/toast.type.d.ts +1 -1
- package/toggle/_toggle-theme.scss +2 -5
- package/toggle/toggle.component.d.ts +2 -2
- package/tooltip/_tooltip-theme.scss +2 -5
- package/tooltip/tooltip.component.d.ts +3 -3
- package/tree/_tree-theme.scss +2 -4
- 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-theme.scss +2 -5
- 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 -270
- package/esm2020/form-field/password-hint.mjs +0 -138
- 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 -605
- 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 -456
- 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-default-options.mjs +0 -4
- package/esm2020/tags/tag-input.mjs +0 -248
- package/esm2020/tags/tag-list.component.mjs +0 -714
- 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 -299
- 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 -768
- 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 -1054
- 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 -480
- 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 -1391
- 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 -1815
- 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-form-field.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-tags.mjs.map +0 -1
- package/fesm2020/ptsecurity-mosaic-textarea.mjs.map +0 -1
- package/fesm2020/ptsecurity-mosaic-timezone.mjs +0 -314
- 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-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
@@ -1,270 +0,0 @@
|
|
1
|
-
import { FocusMonitor } from '@angular/cdk/a11y';
|
2
|
-
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
3
|
-
import { Attribute, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ContentChildren, Directive, ElementRef, InjectionToken, Optional, QueryList, Self, ViewChild, ViewEncapsulation } from '@angular/core';
|
4
|
-
import { NgControl } from '@angular/forms';
|
5
|
-
import { ESCAPE, F8 } from '@ptsecurity/cdk/keycodes';
|
6
|
-
import { mixinColor } from '@ptsecurity/mosaic/core';
|
7
|
-
import { EMPTY, merge, Subject } from 'rxjs';
|
8
|
-
import { startWith, takeUntil } from 'rxjs/operators';
|
9
|
-
import { McCleaner } from './cleaner';
|
10
|
-
import { McFormFieldControl } from './form-field-control';
|
11
|
-
import { getMcFormFieldMissingControlError, getMcFormFieldYouCanNotUseCleanerInNumberInputError } from './form-field-errors';
|
12
|
-
import { McHint } from './hint';
|
13
|
-
import { McPasswordHint } from './password-hint';
|
14
|
-
import { McPrefix } from './prefix';
|
15
|
-
import { McStepper } from './stepper';
|
16
|
-
import { McSuffix } from './suffix';
|
17
|
-
import * as i0 from "@angular/core";
|
18
|
-
import * as i1 from "@angular/cdk/a11y";
|
19
|
-
import * as i2 from "@angular/common";
|
20
|
-
import * as i3 from "@angular/forms";
|
21
|
-
let nextUniqueId = 0;
|
22
|
-
/**
|
23
|
-
* Injection token that can be used to inject an instances of `MatFormField`. It serves
|
24
|
-
* as alternative token to the actual `MatFormField` class which would cause unnecessary
|
25
|
-
* retention of the `MatFormField` class and its component metadata.
|
26
|
-
*/
|
27
|
-
export const MC_FORM_FIELD = new InjectionToken('McFormField');
|
28
|
-
/** @docs-private */
|
29
|
-
export class McFormFieldBase {
|
30
|
-
constructor(elementRef) {
|
31
|
-
this.elementRef = elementRef;
|
32
|
-
}
|
33
|
-
}
|
34
|
-
/** @docs-private */
|
35
|
-
export const McFormFieldMixinBase = mixinColor(McFormFieldBase);
|
36
|
-
export class McFormField extends McFormFieldMixinBase {
|
37
|
-
constructor(elementRef, changeDetectorRef, focusMonitor) {
|
38
|
-
super(elementRef);
|
39
|
-
this.elementRef = elementRef;
|
40
|
-
this.changeDetectorRef = changeDetectorRef;
|
41
|
-
this.focusMonitor = focusMonitor;
|
42
|
-
// Unique id for the internal form field label.
|
43
|
-
this.labelId = `mc-form-field-label-${nextUniqueId++}`;
|
44
|
-
this.hovered = false;
|
45
|
-
this.canCleanerClearByEsc = true;
|
46
|
-
this.$unsubscribe = new Subject();
|
47
|
-
this.runFocusMonitor();
|
48
|
-
}
|
49
|
-
get hasHint() {
|
50
|
-
return this.hint?.length > 0;
|
51
|
-
}
|
52
|
-
get hasPasswordStrengthError() {
|
53
|
-
return this.passwordHints?.some((hint) => hint.hasError);
|
54
|
-
}
|
55
|
-
get hasSuffix() {
|
56
|
-
return this.suffix?.length > 0;
|
57
|
-
}
|
58
|
-
get hasPrefix() {
|
59
|
-
return this.prefix?.length > 0;
|
60
|
-
}
|
61
|
-
get hasCleaner() {
|
62
|
-
return !!this.cleaner;
|
63
|
-
}
|
64
|
-
get hasStepper() {
|
65
|
-
return !!this.stepper;
|
66
|
-
}
|
67
|
-
get canShowCleaner() {
|
68
|
-
return this.hasCleaner &&
|
69
|
-
this.control?.ngControl
|
70
|
-
? this.control.ngControl.value && !this.control.disabled
|
71
|
-
: false;
|
72
|
-
}
|
73
|
-
get disabled() {
|
74
|
-
return this.control?.disabled;
|
75
|
-
}
|
76
|
-
get canShowStepper() {
|
77
|
-
return this.hasStepper &&
|
78
|
-
!this.disabled &&
|
79
|
-
(this.control?.focused || this.hovered);
|
80
|
-
}
|
81
|
-
ngAfterContentInit() {
|
82
|
-
if (this.control.numberInput && this.hasCleaner) {
|
83
|
-
this.cleaner = null;
|
84
|
-
throw getMcFormFieldYouCanNotUseCleanerInNumberInputError();
|
85
|
-
}
|
86
|
-
this.validateControlChild();
|
87
|
-
if (this.control.controlType) {
|
88
|
-
this.elementRef.nativeElement.classList.add(`mc-form-field-type-${this.control.controlType}`);
|
89
|
-
}
|
90
|
-
// Subscribe to changes in the child control state in order to update the form field UI.
|
91
|
-
this.control.stateChanges
|
92
|
-
.pipe(startWith())
|
93
|
-
.subscribe((state) => {
|
94
|
-
if (!state?.focused && this.hasPasswordStrengthError) {
|
95
|
-
this.control.ngControl?.control?.setErrors({ passwordStrength: true });
|
96
|
-
}
|
97
|
-
this.changeDetectorRef.markForCheck();
|
98
|
-
});
|
99
|
-
if (this.hasStepper) {
|
100
|
-
this.stepper.connectTo(this.control.numberInput);
|
101
|
-
}
|
102
|
-
// Run change detection if the value changes.
|
103
|
-
const valueChanges = this.control.ngControl?.valueChanges || EMPTY;
|
104
|
-
merge(valueChanges)
|
105
|
-
.pipe(takeUntil(this.$unsubscribe))
|
106
|
-
.subscribe(() => this.changeDetectorRef.markForCheck());
|
107
|
-
}
|
108
|
-
ngAfterContentChecked() {
|
109
|
-
this.validateControlChild();
|
110
|
-
}
|
111
|
-
ngAfterViewInit() {
|
112
|
-
// Avoid animations on load.
|
113
|
-
this.changeDetectorRef.detectChanges();
|
114
|
-
}
|
115
|
-
clearValue($event) {
|
116
|
-
$event.stopPropagation();
|
117
|
-
this.control?.ngControl?.reset();
|
118
|
-
this.control?.focus();
|
119
|
-
}
|
120
|
-
onContainerClick($event) {
|
121
|
-
if (this.control.onContainerClick) {
|
122
|
-
this.control.onContainerClick($event);
|
123
|
-
}
|
124
|
-
}
|
125
|
-
onKeyDown(event) {
|
126
|
-
// tslint:disable-next-line:deprecation
|
127
|
-
if (this.control.controlType === 'input-password' && event.altKey && event.keyCode === F8) {
|
128
|
-
this.control.toggleType();
|
129
|
-
}
|
130
|
-
// tslint:disable-next-line:deprecation
|
131
|
-
if (this.canCleanerClearByEsc && event.keyCode === ESCAPE && this.control.focused && this.hasCleaner) {
|
132
|
-
this.control?.ngControl?.reset();
|
133
|
-
event.preventDefault();
|
134
|
-
}
|
135
|
-
}
|
136
|
-
onHoverChanged(isHovered) {
|
137
|
-
if (isHovered !== this.hovered) {
|
138
|
-
this.hovered = isHovered;
|
139
|
-
this.changeDetectorRef.markForCheck();
|
140
|
-
}
|
141
|
-
}
|
142
|
-
/**
|
143
|
-
* Gets an ElementRef for the element that a overlay attached to the form-field should be
|
144
|
-
* positioned relative to.
|
145
|
-
*/
|
146
|
-
getConnectedOverlayOrigin() {
|
147
|
-
return this.connectionContainerRef || this.elementRef;
|
148
|
-
}
|
149
|
-
/** Determines whether a class from the NgControl should be forwarded to the host element. */
|
150
|
-
shouldForward(prop) {
|
151
|
-
const ngControl = this.control?.ngControl;
|
152
|
-
return ngControl && ngControl[prop];
|
153
|
-
}
|
154
|
-
ngOnDestroy() {
|
155
|
-
this.$unsubscribe.next();
|
156
|
-
this.$unsubscribe.complete();
|
157
|
-
this.stopFocusMonitor();
|
158
|
-
}
|
159
|
-
runFocusMonitor() {
|
160
|
-
this.focusMonitor.monitor(this.elementRef.nativeElement, true);
|
161
|
-
}
|
162
|
-
stopFocusMonitor() {
|
163
|
-
this.focusMonitor.stopMonitoring(this.elementRef.nativeElement);
|
164
|
-
}
|
165
|
-
/** Throws an error if the form field's control is missing. */
|
166
|
-
validateControlChild() {
|
167
|
-
if (!this.control) {
|
168
|
-
throw getMcFormFieldMissingControlError();
|
169
|
-
}
|
170
|
-
}
|
171
|
-
}
|
172
|
-
/** @nocollapse */ McFormField.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McFormField, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.FocusMonitor }], target: i0.ɵɵFactoryTarget.Component });
|
173
|
-
/** @nocollapse */ McFormField.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: McFormField, selector: "mc-form-field", inputs: { color: "color" }, host: { listeners: { "keydown": "onKeyDown($event)", "mouseenter": "onHoverChanged(true)", "mouseleave": "onHoverChanged(false)" }, properties: { "class.mc-form-field_invalid": "control.errorState", "class.mc-form-field_has-prefix": "hasPrefix", "class.mc-form-field_has-suffix": "hasSuffix", "class.mc-form-field_has-cleaner": "canShowCleaner", "class.mc-form-field_has-stepper": "canShowStepper", "class.mc-disabled": "control.disabled", "class.ng-untouched": "shouldForward(\"untouched\")", "class.ng-touched": "shouldForward(\"touched\")", "class.ng-pristine": "shouldForward(\"pristine\")", "class.ng-dirty": "shouldForward(\"dirty\")", "class.ng-valid": "shouldForward(\"valid\")", "class.ng-invalid": "shouldForward(\"invalid\")", "class.ng-pending": "shouldForward(\"pending\")" }, classAttribute: "mc-form-field" }, providers: [{ provide: MC_FORM_FIELD, useExisting: McFormField }], queries: [{ propertyName: "control", first: true, predicate: McFormFieldControl, descendants: true }, { propertyName: "stepper", first: true, predicate: McStepper, descendants: true }, { propertyName: "cleaner", first: true, predicate: McCleaner, descendants: true }, { propertyName: "hint", predicate: McHint }, { propertyName: "passwordHints", predicate: McPasswordHint }, { propertyName: "suffix", predicate: McSuffix }, { propertyName: "prefix", predicate: McPrefix }], viewQueries: [{ propertyName: "connectionContainerRef", first: true, predicate: ["connectionContainer"], descendants: true, static: true }], exportAs: ["mcFormField"], usesInheritance: true, ngImport: i0, template: "<div class=\"mc-form-field__container\" (click)=\"onContainerClick($event)\">\n\n <div class=\"mc-form-field__prefix\" *ngIf=\"hasPrefix\">\n <ng-content select=\"[mcPrefix]\"></ng-content>\n </div>\n\n <div class=\"mc-form-field__infix\">\n <ng-content></ng-content>\n </div>\n\n <div class=\"mc-form-field__suffix\" *ngIf=\"hasSuffix\">\n <ng-content select=\"[mcSuffix]\"></ng-content>\n </div>\n\n <div class=\"mc-form-field__cleaner\"\n *ngIf=\"canShowCleaner && !hasSuffix\"\n (click)=\"clearValue($event)\">\n <ng-content select=\"mc-cleaner\"></ng-content>\n </div>\n\n <ng-content select=\"mc-password-toggle\"></ng-content>\n\n <ng-content *ngIf=\"canShowStepper\" select=\"mc-stepper\"></ng-content>\n</div>\n\n<div class=\"mc-form-field__hint\">\n <ng-content select=\"mc-hint, mc-password-hint\"></ng-content>\n</div>\n", styles: [".mc-form{display:flex;flex-direction:column}.mc-form__row{display:flex;flex-direction:row}.mc-form-horizontal .mc-form-row_margin{margin-bottom:var(--mc-forms-size-horizontal-row-margin-bottom, 20px)}.mc-form-horizontal .mc-form__label{padding-top:var(--mc-forms-size-horizontal-label-padding-top, 6px);text-align:start}.mc-form-horizontal .mc-form__control{padding-left:var(--mc-forms-size-horizontal-control-padding-left, 16px)}.mc-form-horizontal .mc-form__legend{margin-top:var(--mc-forms-size-horizontal-legend-margin-top, 32px);margin-bottom:var(--mc-forms-size-horizontal-legend-margin-bottom, 16px)}.mc-form-vertical .mc-form__row{flex-direction:column}.mc-form-vertical .mc-form-row_margin{margin-bottom:var(--mc-forms-size-vertical-row-margin-bottom, 16px)}.mc-form-vertical .mc-form__label{padding-top:var(--mc-forms-size-vertical-label-padding-top, 0);padding-bottom:var(--mc-forms-size-vertical-label-padding-bottom, 4px);text-align:start}.mc-form-vertical .mc-form__control{padding-left:0}.mc-form-vertical .mc-form__legend{margin-top:var(--mc-forms-size-vertical-legend-margin-top, 32px);margin-bottom:var(--mc-forms-size-vertical-legend-margin-bottom, 12px)}.mc-form__fieldset{display:flex;flex-direction:column}.mc-form__fieldset.mc-horizontal{flex-direction:row}.mc-form__fieldset.mc-horizontal .mc-form__row:not(:first-child){padding-left:var(--mc-forms-size-vertical-control-padding-left, 24px)}.mc-form-field{position:relative;display:inline-block;width:100%}.mc-form-field,.mc-form-field .mc-input{border-radius:var(--mc-form-field-size-border-radius, 4px)}.mc-form-field:hover{z-index:1}.mc-form-field.mc-focused{z-index:2}.mc-form-field-type-input-password .mc-input{padding-right:var(--mc-form-field-size-button-width, 32px)}.mc-hint{display:block}.mc-password-hint{display:block;padding-left:calc(16px + var(--mc-form-field-password-hint-size-icon-margin, 4px))}.mc-password-hint .mc-icon{position:absolute;left:0}.mc-form-field__hint>.mc-password-hint{margin-top:var(--mc-form-field-password-hint-size-margin-top, 8px)}.mc-form-field__hint>.mc-password-hint:first-child{margin-top:12px}.mc-form-field__hint>.mc-hint{margin-top:var(--mc-form-field-hint-size-margin-top, 4px)}.mc-form-field__container{position:relative;border-width:var(--mc-form-field-size-border-width, 1px);border-style:solid;border-color:transparent;border-radius:var(--mc-form-field-size-border-radius, 4px)}.mc-form-field_without-borders .mc-form-field__container{border-color:transparent}.mc-form-field__prefix,.mc-form-field__suffix{position:absolute;top:0;bottom:0;width:32px;display:flex;flex-direction:row;justify-content:center;align-items:center}.mc-form-field__prefix{left:0}.mc-form-field__suffix{right:0}.mc-form-field_has-suffix .mc-input,.mc-form-field_has-cleaner .mc-input,.mc-form-field_has-stepper .mc-input{padding-right:var(--mc-form-field-size-button-width, 32px)}.mc-form-field_has-prefix .mc-input{padding-left:var(--mc-form-field-size-button-width, 32px)}.mc-cleaner{display:flex;width:var(--mc-form-field-size-button-width, 32px);height:100%;cursor:pointer}.mc-cleaner .mc-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.mc-form-field__cleaner .mc-cleaner{position:absolute;top:0;bottom:0;right:0}mc-stepper{position:absolute;display:flex;flex-direction:column;justify-content:center;align-items:center;top:0;bottom:0;right:0;width:var(--mc-form-field-size-button-width, 32px)}mc-stepper .mc-stepper-step-up,mc-stepper .mc-stepper-step-down{cursor:pointer;width:var(--mc-form-field-size-button-width, 32px);text-align:center}mc-stepper .mc-stepper-step-up{transform:scaleY(-1)}\n", ".mc-input{background:transparent;padding:0;margin:0;border:none;outline:none;width:var(--mc-input-size-width, 100%);min-height:calc(var(--mc-form-field-size-height, 32px) - var(--mc-form-field-size-border-width, 1px) * 2);padding:var(--mc-input-size-padding, 0 12px)}.mc-input::-ms-clear{display:none;width:0;height:0}.mc-input::-ms-reveal{display:none;width:0;height:0}.mc-input::-webkit-search-decoration,.mc-input::-webkit-search-cancel-button,.mc-input::-webkit-search-results-button,.mc-input::-webkit-search-results-decoration{display:none}.mc-input{display:inline-block;box-sizing:border-box}input.mc-input[type=number]{-moz-appearance:textfield}input.mc-input[type=number]::-webkit-inner-spin-button,input.mc-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}input.mc-input:invalid{box-shadow:unset}input.mc-input::placeholder{opacity:1}.mc-password-toggle{display:flex;position:absolute;top:-1px;right:-1px;border:1px solid transparent;width:32px;height:32px;align-items:center;justify-content:center;cursor:pointer;border-top-right-radius:var(--mc-form-field-size-border-radius, 4px);border-bottom-right-radius:var(--mc-form-field-size-border-radius, 4px)}.mc-password-toggle::-moz-focus-inner{border:0}.mc-password-toggle:focus{outline:none}\n", ".mc-timepicker{padding-right:calc(var(--mc-timepicker-size-padding-right, 16px) - var(--mc-form-field-size-border-width, 1px))}.mc-form-field-type-timepicker{width:auto}\n", ".mc-form-field-type-datepicker{width:auto}.mc-datepicker{width:var(--mc-datepicker-input-size-width, 130px)}\n", ".mc-textarea{background:transparent;margin:0;border:none;outline:none;resize:none;overflow:auto;width:100%;box-sizing:border-box;padding:var(--mc-textarea-size-padding, 5px 12px)}.mc-textarea{display:inline-block;-webkit-appearance:none;vertical-align:bottom}.mc-textarea:not(.mc-textarea-resizable){box-sizing:border-box;overflow-y:hidden}.mc-textarea.mc-textarea-resizable{resize:vertical;min-height:var(--mc-textarea-size-min-height, 50px)}.mc-textarea:invalid{box-shadow:unset}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
174
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McFormField, decorators: [{
|
175
|
-
type: Component,
|
176
|
-
args: [{ selector: 'mc-form-field', exportAs: 'mcFormField', host: {
|
177
|
-
class: 'mc-form-field',
|
178
|
-
'[class.mc-form-field_invalid]': 'control.errorState',
|
179
|
-
'[class.mc-form-field_has-prefix]': 'hasPrefix',
|
180
|
-
'[class.mc-form-field_has-suffix]': 'hasSuffix',
|
181
|
-
'[class.mc-form-field_has-cleaner]': 'canShowCleaner',
|
182
|
-
'[class.mc-form-field_has-stepper]': 'canShowStepper',
|
183
|
-
'[class.mc-disabled]': 'control.disabled',
|
184
|
-
'[class.ng-untouched]': 'shouldForward("untouched")',
|
185
|
-
'[class.ng-touched]': 'shouldForward("touched")',
|
186
|
-
'[class.ng-pristine]': 'shouldForward("pristine")',
|
187
|
-
'[class.ng-dirty]': 'shouldForward("dirty")',
|
188
|
-
'[class.ng-valid]': 'shouldForward("valid")',
|
189
|
-
'[class.ng-invalid]': 'shouldForward("invalid")',
|
190
|
-
'[class.ng-pending]': 'shouldForward("pending")',
|
191
|
-
'(keydown)': 'onKeyDown($event)',
|
192
|
-
'(mouseenter)': 'onHoverChanged(true)',
|
193
|
-
'(mouseleave)': 'onHoverChanged(false)'
|
194
|
-
}, inputs: ['color'], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: MC_FORM_FIELD, useExisting: McFormField }], template: "<div class=\"mc-form-field__container\" (click)=\"onContainerClick($event)\">\n\n <div class=\"mc-form-field__prefix\" *ngIf=\"hasPrefix\">\n <ng-content select=\"[mcPrefix]\"></ng-content>\n </div>\n\n <div class=\"mc-form-field__infix\">\n <ng-content></ng-content>\n </div>\n\n <div class=\"mc-form-field__suffix\" *ngIf=\"hasSuffix\">\n <ng-content select=\"[mcSuffix]\"></ng-content>\n </div>\n\n <div class=\"mc-form-field__cleaner\"\n *ngIf=\"canShowCleaner && !hasSuffix\"\n (click)=\"clearValue($event)\">\n <ng-content select=\"mc-cleaner\"></ng-content>\n </div>\n\n <ng-content select=\"mc-password-toggle\"></ng-content>\n\n <ng-content *ngIf=\"canShowStepper\" select=\"mc-stepper\"></ng-content>\n</div>\n\n<div class=\"mc-form-field__hint\">\n <ng-content select=\"mc-hint, mc-password-hint\"></ng-content>\n</div>\n", styles: [".mc-form{display:flex;flex-direction:column}.mc-form__row{display:flex;flex-direction:row}.mc-form-horizontal .mc-form-row_margin{margin-bottom:var(--mc-forms-size-horizontal-row-margin-bottom, 20px)}.mc-form-horizontal .mc-form__label{padding-top:var(--mc-forms-size-horizontal-label-padding-top, 6px);text-align:start}.mc-form-horizontal .mc-form__control{padding-left:var(--mc-forms-size-horizontal-control-padding-left, 16px)}.mc-form-horizontal .mc-form__legend{margin-top:var(--mc-forms-size-horizontal-legend-margin-top, 32px);margin-bottom:var(--mc-forms-size-horizontal-legend-margin-bottom, 16px)}.mc-form-vertical .mc-form__row{flex-direction:column}.mc-form-vertical .mc-form-row_margin{margin-bottom:var(--mc-forms-size-vertical-row-margin-bottom, 16px)}.mc-form-vertical .mc-form__label{padding-top:var(--mc-forms-size-vertical-label-padding-top, 0);padding-bottom:var(--mc-forms-size-vertical-label-padding-bottom, 4px);text-align:start}.mc-form-vertical .mc-form__control{padding-left:0}.mc-form-vertical .mc-form__legend{margin-top:var(--mc-forms-size-vertical-legend-margin-top, 32px);margin-bottom:var(--mc-forms-size-vertical-legend-margin-bottom, 12px)}.mc-form__fieldset{display:flex;flex-direction:column}.mc-form__fieldset.mc-horizontal{flex-direction:row}.mc-form__fieldset.mc-horizontal .mc-form__row:not(:first-child){padding-left:var(--mc-forms-size-vertical-control-padding-left, 24px)}.mc-form-field{position:relative;display:inline-block;width:100%}.mc-form-field,.mc-form-field .mc-input{border-radius:var(--mc-form-field-size-border-radius, 4px)}.mc-form-field:hover{z-index:1}.mc-form-field.mc-focused{z-index:2}.mc-form-field-type-input-password .mc-input{padding-right:var(--mc-form-field-size-button-width, 32px)}.mc-hint{display:block}.mc-password-hint{display:block;padding-left:calc(16px + var(--mc-form-field-password-hint-size-icon-margin, 4px))}.mc-password-hint .mc-icon{position:absolute;left:0}.mc-form-field__hint>.mc-password-hint{margin-top:var(--mc-form-field-password-hint-size-margin-top, 8px)}.mc-form-field__hint>.mc-password-hint:first-child{margin-top:12px}.mc-form-field__hint>.mc-hint{margin-top:var(--mc-form-field-hint-size-margin-top, 4px)}.mc-form-field__container{position:relative;border-width:var(--mc-form-field-size-border-width, 1px);border-style:solid;border-color:transparent;border-radius:var(--mc-form-field-size-border-radius, 4px)}.mc-form-field_without-borders .mc-form-field__container{border-color:transparent}.mc-form-field__prefix,.mc-form-field__suffix{position:absolute;top:0;bottom:0;width:32px;display:flex;flex-direction:row;justify-content:center;align-items:center}.mc-form-field__prefix{left:0}.mc-form-field__suffix{right:0}.mc-form-field_has-suffix .mc-input,.mc-form-field_has-cleaner .mc-input,.mc-form-field_has-stepper .mc-input{padding-right:var(--mc-form-field-size-button-width, 32px)}.mc-form-field_has-prefix .mc-input{padding-left:var(--mc-form-field-size-button-width, 32px)}.mc-cleaner{display:flex;width:var(--mc-form-field-size-button-width, 32px);height:100%;cursor:pointer}.mc-cleaner .mc-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.mc-form-field__cleaner .mc-cleaner{position:absolute;top:0;bottom:0;right:0}mc-stepper{position:absolute;display:flex;flex-direction:column;justify-content:center;align-items:center;top:0;bottom:0;right:0;width:var(--mc-form-field-size-button-width, 32px)}mc-stepper .mc-stepper-step-up,mc-stepper .mc-stepper-step-down{cursor:pointer;width:var(--mc-form-field-size-button-width, 32px);text-align:center}mc-stepper .mc-stepper-step-up{transform:scaleY(-1)}\n", ".mc-input{background:transparent;padding:0;margin:0;border:none;outline:none;width:var(--mc-input-size-width, 100%);min-height:calc(var(--mc-form-field-size-height, 32px) - var(--mc-form-field-size-border-width, 1px) * 2);padding:var(--mc-input-size-padding, 0 12px)}.mc-input::-ms-clear{display:none;width:0;height:0}.mc-input::-ms-reveal{display:none;width:0;height:0}.mc-input::-webkit-search-decoration,.mc-input::-webkit-search-cancel-button,.mc-input::-webkit-search-results-button,.mc-input::-webkit-search-results-decoration{display:none}.mc-input{display:inline-block;box-sizing:border-box}input.mc-input[type=number]{-moz-appearance:textfield}input.mc-input[type=number]::-webkit-inner-spin-button,input.mc-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}input.mc-input:invalid{box-shadow:unset}input.mc-input::placeholder{opacity:1}.mc-password-toggle{display:flex;position:absolute;top:-1px;right:-1px;border:1px solid transparent;width:32px;height:32px;align-items:center;justify-content:center;cursor:pointer;border-top-right-radius:var(--mc-form-field-size-border-radius, 4px);border-bottom-right-radius:var(--mc-form-field-size-border-radius, 4px)}.mc-password-toggle::-moz-focus-inner{border:0}.mc-password-toggle:focus{outline:none}\n", ".mc-timepicker{padding-right:calc(var(--mc-timepicker-size-padding-right, 16px) - var(--mc-form-field-size-border-width, 1px))}.mc-form-field-type-timepicker{width:auto}\n", ".mc-form-field-type-datepicker{width:auto}.mc-datepicker{width:var(--mc-datepicker-input-size-width, 130px)}\n", ".mc-textarea{background:transparent;margin:0;border:none;outline:none;resize:none;overflow:auto;width:100%;box-sizing:border-box;padding:var(--mc-textarea-size-padding, 5px 12px)}.mc-textarea{display:inline-block;-webkit-appearance:none;vertical-align:bottom}.mc-textarea:not(.mc-textarea-resizable){box-sizing:border-box;overflow-y:hidden}.mc-textarea.mc-textarea-resizable{resize:vertical;min-height:var(--mc-textarea-size-min-height, 50px)}.mc-textarea:invalid{box-shadow:unset}\n"] }]
|
195
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.FocusMonitor }]; }, propDecorators: { control: [{
|
196
|
-
type: ContentChild,
|
197
|
-
args: [McFormFieldControl, { static: false }]
|
198
|
-
}], stepper: [{
|
199
|
-
type: ContentChild,
|
200
|
-
args: [McStepper, { static: false }]
|
201
|
-
}], cleaner: [{
|
202
|
-
type: ContentChild,
|
203
|
-
args: [McCleaner, { static: false }]
|
204
|
-
}], hint: [{
|
205
|
-
type: ContentChildren,
|
206
|
-
args: [McHint]
|
207
|
-
}], passwordHints: [{
|
208
|
-
type: ContentChildren,
|
209
|
-
args: [McPasswordHint]
|
210
|
-
}], suffix: [{
|
211
|
-
type: ContentChildren,
|
212
|
-
args: [McSuffix]
|
213
|
-
}], prefix: [{
|
214
|
-
type: ContentChildren,
|
215
|
-
args: [McPrefix]
|
216
|
-
}], connectionContainerRef: [{
|
217
|
-
type: ViewChild,
|
218
|
-
args: ['connectionContainer', { static: true }]
|
219
|
-
}] } });
|
220
|
-
export class McFormFieldWithoutBorders {
|
221
|
-
}
|
222
|
-
/** @nocollapse */ McFormFieldWithoutBorders.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McFormFieldWithoutBorders, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
223
|
-
/** @nocollapse */ McFormFieldWithoutBorders.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: McFormFieldWithoutBorders, selector: "mc-form-field[mcFormFieldWithoutBorders]", host: { classAttribute: "mc-form-field_without-borders" }, exportAs: ["mcFormFieldWithoutBorders"], ngImport: i0 });
|
224
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McFormFieldWithoutBorders, decorators: [{
|
225
|
-
type: Directive,
|
226
|
-
args: [{
|
227
|
-
selector: 'mc-form-field[mcFormFieldWithoutBorders]',
|
228
|
-
exportAs: 'mcFormFieldWithoutBorders',
|
229
|
-
host: { class: 'mc-form-field_without-borders' }
|
230
|
-
}]
|
231
|
-
}] });
|
232
|
-
export class McTrim {
|
233
|
-
constructor(noTrim, ngControl) {
|
234
|
-
this.noTrim = noTrim;
|
235
|
-
this.ngControl = ngControl;
|
236
|
-
this.registerOnChange = (fn) => {
|
237
|
-
return this.original.call(this.ngControl.valueAccessor, (value) => fn(this.trim(value)));
|
238
|
-
};
|
239
|
-
this.noTrim = coerceBooleanProperty(noTrim);
|
240
|
-
if (this.noTrim || !this.ngControl?.valueAccessor) {
|
241
|
-
return;
|
242
|
-
}
|
243
|
-
this.original = this.ngControl.valueAccessor.registerOnChange;
|
244
|
-
this.ngControl.valueAccessor.registerOnChange = this.registerOnChange;
|
245
|
-
}
|
246
|
-
trim(value) {
|
247
|
-
if (this.noTrim) {
|
248
|
-
return value;
|
249
|
-
}
|
250
|
-
return typeof value === 'string' ? value.trim() : value;
|
251
|
-
}
|
252
|
-
}
|
253
|
-
/** @nocollapse */ McTrim.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McTrim, deps: [{ token: 'no-trim', attribute: true }, { token: i3.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive });
|
254
|
-
/** @nocollapse */ McTrim.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: McTrim, selector: "[mcInput], [mcTextarea]", host: { classAttribute: "mc-trim" }, exportAs: ["McTrim"], ngImport: i0 });
|
255
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McTrim, decorators: [{
|
256
|
-
type: Directive,
|
257
|
-
args: [{
|
258
|
-
selector: '[mcInput], [mcTextarea]',
|
259
|
-
exportAs: 'McTrim',
|
260
|
-
host: { class: 'mc-trim' }
|
261
|
-
}]
|
262
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
263
|
-
type: Attribute,
|
264
|
-
args: ['no-trim']
|
265
|
-
}] }, { type: i3.NgControl, decorators: [{
|
266
|
-
type: Optional
|
267
|
-
}, {
|
268
|
-
type: Self
|
269
|
-
}] }]; } });
|
270
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21vc2FpYy9mb3JtLWZpZWxkL2Zvcm0tZmllbGQudHMiLCIuLi8uLi8uLi8uLi9wYWNrYWdlcy9tb3NhaWMvZm9ybS1maWVsZC9mb3JtLWZpZWxkLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFJSCxTQUFTLEVBQ1QsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFDZixTQUFTLEVBQ1QsVUFBVSxFQUNWLGNBQWMsRUFFZCxRQUFRLEVBQ1IsU0FBUyxFQUNULElBQUksRUFDSixTQUFTLEVBQ1QsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3RELE9BQU8sRUFBMEIsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0UsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN0QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLEVBQ0gsaUNBQWlDLEVBQ2pDLG1EQUFtRCxFQUN0RCxNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUFR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Q0FBQyxnQkFBZ0IsQ0FBQztJQUMxRSxDQUFDO0lBRUQsSUFBSSxDQUFDLEtBQUs7UUFDTixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFBRSxPQUFPLEtBQUssQ0FBQztTQUFFO1FBRWxDLE9BQU8sT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUM1RCxDQUFDOztzSEFwQlEsTUFBTSxrQkFJQSxTQUFTOzBHQUpmLE1BQU07MkZBQU4sTUFBTTtrQkFMbEIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUseUJBQXlCO29CQUNuQyxRQUFRLEVBQUUsUUFBUTtvQkFDbEIsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRTtpQkFDN0I7OzBCQUtRLFNBQVM7MkJBQUMsU0FBUzs7MEJBQ25CLFFBQVE7OzBCQUFJLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb2N1c01vbml0b3IgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRDaGVja2VkLFxuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBBdHRyaWJ1dGUsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5qZWN0aW9uVG9rZW4sXG4gICAgT25EZXN0cm95LFxuICAgIE9wdGlvbmFsLFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBTZWxmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEVTQ0FQRSwgRjggfSBmcm9tICdAcHRzZWN1cml0eS9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHsgQ2FuQ29sb3IsIENhbkNvbG9yQ3RvciwgbWl4aW5Db2xvciB9IGZyb20gJ0BwdHNlY3VyaXR5L21vc2FpYy9jb3JlJztcbmltcG9ydCB7IEVNUFRZLCBtZXJnZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc3RhcnRXaXRoLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IE1jQ2xlYW5lciB9IGZyb20gJy4vY2xlYW5lcic7XG5pbXBvcnQgeyBNY0Zvcm1GaWVsZENvbnRyb2wgfSBmcm9tICcuL2Zvcm0tZmllbGQtY29udHJvbCc7XG5pbXBvcnQge1xuICAgIGdldE1jRm9ybUZpZWxkTWlzc2luZ0NvbnRyb2xFcnJvcixcbiAgICBnZXRNY0Zvcm1GaWVsZFlvdUNhbk5vdFVzZUNsZWFuZXJJbk51bWJlcklucHV0RXJyb3Jcbn0gZnJvbSAnLi9mb3JtLWZpZWxkLWVycm9ycyc7XG5pbXBvcnQgeyBNY0hpbnQgfSBmcm9tICcuL2hpbnQnO1xuaW1wb3J0IHsgTWNQYXNzd29yZEhpbnQgfSBmcm9tICcuL3Bhc3N3b3JkLWhpbnQnO1xuaW1wb3J0IHsgTWNQcmVmaXggfSBmcm9tICcuL3ByZWZpeCc7XG5pbXBvcnQgeyBNY1N0ZXBwZXIgfSBmcm9tICcuL3N0ZXBwZXInO1xuaW1wb3J0IHsgTWNTdWZmaXggfSBmcm9tICcuL3N1ZmZpeCc7XG5cblxubGV0IG5leHRVbmlxdWVJZCA9IDA7XG5cbi8qKlxuICogSW5qZWN0aW9uIHRva2VuIHRoYXQgY2FuIGJlIHVzZWQgdG8gaW5qZWN0IGFuIGluc3RhbmNlcyBvZiBgTWF0Rm9ybUZpZWxkYC4gSXQgc2VydmVzXG4gKiBhcyBhbHRlcm5hdGl2ZSB0b2tlbiB0byB0aGUgYWN0dWFsIGBNYXRGb3JtRmllbGRgIGNsYXNzIHdoaWNoIHdvdWxkIGNhdXNlIHVubmVjZXNzYXJ5XG4gKiByZXRlbnRpb24gb2YgdGhlIGBNYXRGb3JtRmllbGRgIGNsYXNzIGFuZCBpdHMgY29tcG9uZW50IG1ldGFkYXRhLlxuICovXG5leHBvcnQgY29uc3QgTUNfRk9STV9GSUVMRCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxNY0Zvcm1GaWVsZD4oJ01jRm9ybUZpZWxkJyk7XG5cbi8qKiBAZG9jcy1wcml2YXRlICovXG5leHBvcnQgY2xhc3MgTWNGb3JtRmllbGRCYXNlIHtcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZikge31cbn1cblxuLyoqIEBkb2NzLXByaXZhdGUgKi9cbmV4cG9ydCBjb25zdCBNY0Zvcm1GaWVsZE1peGluQmFzZTogQ2FuQ29sb3JDdG9yICYgdHlwZW9mIE1jRm9ybUZpZWxkQmFzZSA9IG1peGluQ29sb3IoTWNGb3JtRmllbGRCYXNlKTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdtYy1mb3JtLWZpZWxkJyxcbiAgICBleHBvcnRBczogJ21jRm9ybUZpZWxkJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2Zvcm0tZmllbGQuaHRtbCcsXG4gICAgLy8gTWNJbnB1dCBpcyBhIGRpcmVjdGl2ZSBhbmQgY2FuJ3QgaGF2ZSBzdHlsZXMsIHNvIHdlIG5lZWQgdG8gaW5jbHVkZSBpdHMgc3R5bGVzIGhlcmUuXG4gICAgLy8gVGhlIE1jSW5wdXQgc3R5bGVzIGFyZSBmYWlybHkgbWluaW1hbCBzbyBpdCBzaG91bGRuJ3QgYmUgYSBiaWcgZGVhbCBmb3IgcGVvcGxlIHdob1xuICAgIC8vIGFyZW4ndCB1c2luZyBNY0lucHV0LlxuICAgIHN0eWxlVXJsczogW1xuICAgICAgICAnZm9ybS1maWVsZC5zY3NzJyxcbiAgICAgICAgJy4uL2lucHV0L2lucHV0LnNjc3MnLFxuICAgICAgICAnLi4vdGltZXBpY2tlci90aW1lcGlja2VyLnNjc3MnLFxuICAgICAgICAnLi4vZGF0ZXBpY2tlci9kYXRlcGlja2VyLWlucHV0LnNjc3MnLFxuICAgICAgICAnLi4vdGV4dGFyZWEvdGV4dGFyZWEuc2NzcydcbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdtYy1mb3JtLWZpZWxkJyxcbiAgICAgICAgJ1tjbGFzcy5tYy1mb3JtLWZpZWxkX2ludmFsaWRdJzogJ2NvbnRyb2wuZXJyb3JTdGF0ZScsXG4gICAgICAgICdbY2xhc3MubWMtZm9ybS1maWVsZF9oYXMtcHJlZml4XSc6ICdoYXNQcmVmaXgnLFxuICAgICAgICAnW2NsYXNzLm1jLWZvcm0tZmllbGRfaGFzLXN1ZmZpeF0nOiAnaGFzU3VmZml4JyxcbiAgICAgICAgJ1tjbGFzcy5tYy1mb3JtLWZpZWxkX2hhcy1jbGVhbmVyXSc6ICdjYW5TaG93Q2xlYW5lcicsXG4gICAgICAgICdbY2xhc3MubWMtZm9ybS1maWVsZF9oYXMtc3RlcHBlcl0nOiAnY2FuU2hvd1N0ZXBwZXInLFxuXG4gICAgICAgICdbY2xhc3MubWMtZGlzYWJsZWRdJzogJ2NvbnRyb2wuZGlzYWJsZWQnLFxuXG4gICAgICAgICdbY2xhc3MubmctdW50b3VjaGVkXSc6ICdzaG91bGRGb3J3YXJkKFwidW50b3VjaGVkXCIpJyxcbiAgICAgICAgJ1tjbGFzcy5uZy10b3VjaGVkXSc6ICdzaG91bGRGb3J3YXJkKFwidG91Y2hlZFwiKScsXG4gICAgICAgICdbY2xhc3MubmctcHJpc3RpbmVdJzogJ3Nob3VsZEZvcndhcmQoXCJwcmlzdGluZVwiKScsXG4gICAgICAgICdbY2xhc3MubmctZGlydHldJzogJ3Nob3VsZEZvcndhcmQoXCJkaXJ0eVwiKScsXG4gICAgICAgICdbY2xhc3MubmctdmFsaWRdJzogJ3Nob3VsZEZvcndhcmQoXCJ2YWxpZFwiKScsXG4gICAgICAgICdbY2xhc3MubmctaW52YWxpZF0nOiAnc2hvdWxkRm9yd2FyZChcImludmFsaWRcIiknLFxuICAgICAgICAnW2NsYXNzLm5nLXBlbmRpbmddJzogJ3Nob3VsZEZvcndhcmQoXCJwZW5kaW5nXCIpJyxcblxuICAgICAgICAnKGtleWRvd24pJzogJ29uS2V5RG93bigkZXZlbnQpJyxcbiAgICAgICAgJyhtb3VzZWVudGVyKSc6ICdvbkhvdmVyQ2hhbmdlZCh0cnVlKScsXG4gICAgICAgICcobW91c2VsZWF2ZSknOiAnb25Ib3ZlckNoYW5nZWQoZmFsc2UpJ1xuICAgIH0sXG4gICAgaW5wdXRzOiBbJ2NvbG9yJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE1DX0ZPUk1fRklFTEQsIHVzZUV4aXN0aW5nOiBNY0Zvcm1GaWVsZCB9XVxufSlcbmV4cG9ydCBjbGFzcyBNY0Zvcm1GaWVsZCBleHRlbmRzIE1jRm9ybUZpZWxkTWl4aW5CYXNlIGltcGxlbWVudHNcbiAgICBBZnRlckNvbnRlbnRJbml0LCBBZnRlckNvbnRlbnRDaGVja2VkLCBBZnRlclZpZXdJbml0LCBDYW5Db2xvciwgT25EZXN0cm95IHtcblxuICAgIEBDb250ZW50Q2hpbGQoTWNGb3JtRmllbGRDb250cm9sLCB7IHN0YXRpYzogZmFsc2UgfSkgY29udHJvbDogTWNGb3JtRmllbGRDb250cm9sPGFueT47XG4gICAgQENvbnRlbnRDaGlsZChNY1N0ZXBwZXIsIHsgc3RhdGljOiBmYWxzZSB9KSBzdGVwcGVyOiBNY1N0ZXBwZXI7XG4gICAgQENvbnRlbnRDaGlsZChNY0NsZWFuZXIsIHsgc3RhdGljOiBmYWxzZSB9KSBjbGVhbmVyOiBNY0NsZWFuZXIgfCBudWxsO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihNY0hpbnQpIGhpbnQ6IFF1ZXJ5TGlzdDxNY0hpbnQ+O1xuICAgIEBDb250ZW50Q2hpbGRyZW4oTWNQYXNzd29yZEhpbnQpIHBhc3N3b3JkSGludHM6IFF1ZXJ5TGlzdDxNY1Bhc3N3b3JkSGludD47XG4gICAgQENvbnRlbnRDaGlsZHJlbihNY1N1ZmZpeCkgc3VmZml4OiBRdWVyeUxpc3Q8TWNTdWZmaXg+O1xuICAgIEBDb250ZW50Q2hpbGRyZW4oTWNQcmVmaXgpIHByZWZpeDogUXVlcnlMaXN0PE1jUHJlZml4PjtcblxuICAgIEBWaWV3Q2hpbGQoJ2Nvbm5lY3Rpb25Db250YWluZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSBjb25uZWN0aW9uQ29udGFpbmVyUmVmOiBFbGVtZW50UmVmO1xuXG4gICAgLy8gVW5pcXVlIGlkIGZvciB0aGUgaW50ZXJuYWwgZm9ybSBmaWVsZCBsYWJlbC5cbiAgICBsYWJlbElkID0gYG1jLWZvcm0tZmllbGQtbGFiZWwtJHtuZXh0VW5pcXVlSWQrK31gO1xuXG4gICAgaG92ZXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgY2FuQ2xlYW5lckNsZWFyQnlFc2M6IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgcHJpdmF0ZSAkdW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgZ2V0IGhhc0hpbnQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhpbnQ/Lmxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgZ2V0IGhhc1Bhc3N3b3JkU3RyZW5ndGhFcnJvcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGFzc3dvcmRIaW50cz8uc29tZSgoaGludCkgPT4gaGludC5oYXNFcnJvcik7XG4gICAgfVxuXG4gICAgZ2V0IGhhc1N1ZmZpeCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3VmZml4Py5sZW5ndGggPiAwO1xuICAgIH1cblxuICAgIGdldCBoYXNQcmVmaXgoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnByZWZpeD8ubGVuZ3RoID4gMDtcbiAgICB9XG5cbiAgICBnZXQgaGFzQ2xlYW5lcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5jbGVhbmVyO1xuICAgIH1cblxuICAgIGdldCBoYXNTdGVwcGVyKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnN0ZXBwZXI7XG4gICAgfVxuXG4gICAgZ2V0IGNhblNob3dDbGVhbmVyKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5oYXNDbGVhbmVyICYmXG4gICAgICAgIHRoaXMuY29udHJvbD8ubmdDb250cm9sXG4gICAgICAgICAgICA/IHRoaXMuY29udHJvbC5uZ0NvbnRyb2wudmFsdWUgJiYgIXRoaXMuY29udHJvbC5kaXNhYmxlZFxuICAgICAgICAgICAgOiBmYWxzZTtcbiAgICB9XG5cbiAgICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRyb2w/LmRpc2FibGVkO1xuICAgIH1cblxuICAgIGdldCBjYW5TaG93U3RlcHBlcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzU3RlcHBlciAmJlxuICAgICAgICAgICAgIXRoaXMuZGlzYWJsZWQgJiZcbiAgICAgICAgICAgICh0aGlzLmNvbnRyb2w/LmZvY3VzZWQgfHwgdGhpcy5ob3ZlcmVkKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIGZvY3VzTW9uaXRvcjogRm9jdXNNb25pdG9yXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGVsZW1lbnRSZWYpO1xuXG4gICAgICAgIHRoaXMucnVuRm9jdXNNb25pdG9yKCk7XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgICAgICBpZiAoKHRoaXMuY29udHJvbCBhcyBhbnkpLm51bWJlcklucHV0ICYmIHRoaXMuaGFzQ2xlYW5lcikge1xuICAgICAgICAgICAgdGhpcy5jbGVhbmVyID0gbnVsbDtcbiAgICAgICAgICAgIHRocm93IGdldE1jRm9ybUZpZWxkWW91Q2FuTm90VXNlQ2xlYW5lckluTnVtYmVySW5wdXRFcnJvcigpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy52YWxpZGF0ZUNvbnRyb2xDaGlsZCgpO1xuXG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wuY29udHJvbFR5cGUpIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoYG1jLWZvcm0tZmllbGQtdHlwZS0ke3RoaXMuY29udHJvbC5jb250cm9sVHlwZX1gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFN1YnNjcmliZSB0byBjaGFuZ2VzIGluIHRoZSBjaGlsZCBjb250cm9sIHN0YXRlIGluIG9yZGVyIHRvIHVwZGF0ZSB0aGUgZm9ybSBmaWVsZCBVSS5cbiAgICAgICAgdGhpcy5jb250cm9sLnN0YXRlQ2hhbmdlc1xuICAgICAgICAgICAgLnBpcGUoc3RhcnRXaXRoKCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChzdGF0ZTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFzdGF0ZT8uZm9jdXNlZCAmJiB0aGlzLmhhc1Bhc3N3b3JkU3RyZW5ndGhFcnJvcikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2wubmdDb250cm9sPy5jb250cm9sPy5zZXRFcnJvcnMoeyBwYXNzd29yZFN0cmVuZ3RoOiB0cnVlIH0pO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICBpZiAodGhpcy5oYXNTdGVwcGVyKSB7XG4gICAgICAgICAgICB0aGlzLnN0ZXBwZXIuY29ubmVjdFRvKCh0aGlzLmNvbnRyb2wgYXMgYW55KS5udW1iZXJJbnB1dCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBSdW4gY2hhbmdlIGRldGVjdGlvbiBpZiB0aGUgdmFsdWUgY2hhbmdlcy5cbiAgICAgICAgY29uc3QgdmFsdWVDaGFuZ2VzID0gdGhpcy5jb250cm9sLm5nQ29udHJvbD8udmFsdWVDaGFuZ2VzIHx8IEVNUFRZO1xuXG4gICAgICAgIG1lcmdlKHZhbHVlQ2hhbmdlcylcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiR1bnN1YnNjcmliZSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCkpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpIHtcbiAgICAgICAgdGhpcy52YWxpZGF0ZUNvbnRyb2xDaGlsZCgpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgLy8gQXZvaWQgYW5pbWF0aW9ucyBvbiBsb2FkLlxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBjbGVhclZhbHVlKCRldmVudCkge1xuICAgICAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAgICAgdGhpcy5jb250cm9sPy5uZ0NvbnRyb2w/LnJlc2V0KCk7XG4gICAgICAgIHRoaXMuY29udHJvbD8uZm9jdXMoKTtcbiAgICB9XG5cbiAgICBvbkNvbnRhaW5lckNsaWNrKCRldmVudCkge1xuICAgICAgICBpZiAodGhpcy5jb250cm9sLm9uQ29udGFpbmVyQ2xpY2spIHtcbiAgICAgICAgICAgIHRoaXMuY29udHJvbC5vbkNvbnRhaW5lckNsaWNrKCRldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmRlcHJlY2F0aW9uXG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wuY29udHJvbFR5cGUgPT09ICdpbnB1dC1wYXNzd29yZCcgJiYgZXZlbnQuYWx0S2V5ICYmIGV2ZW50LmtleUNvZGUgPT09IEY4KSB7XG4gICAgICAgICAgICAodGhpcy5jb250cm9sIGFzIHVua25vd24gYXMgeyB0b2dnbGVUeXBlKCk6IHZvaWQgfSkudG9nZ2xlVHlwZSgpO1xuICAgICAgICB9XG4gICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpkZXByZWNhdGlvblxuICAgICAgICBpZiAodGhpcy5jYW5DbGVhbmVyQ2xlYXJCeUVzYyAmJiBldmVudC5rZXlDb2RlID09PSBFU0NBUEUgJiYgdGhpcy5jb250cm9sLmZvY3VzZWQgJiYgdGhpcy5oYXNDbGVhbmVyKSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRyb2w/Lm5nQ29udHJvbD8ucmVzZXQoKTtcblxuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uSG92ZXJDaGFuZ2VkKGlzSG92ZXJlZDogYm9vbGVhbikge1xuICAgICAgICBpZiAoaXNIb3ZlcmVkICE9PSB0aGlzLmhvdmVyZWQpIHtcbiAgICAgICAgICAgIHRoaXMuaG92ZXJlZCA9IGlzSG92ZXJlZDtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIGFuIEVsZW1lbnRSZWYgZm9yIHRoZSBlbGVtZW50IHRoYXQgYSBvdmVybGF5IGF0dGFjaGVkIHRvIHRoZSBmb3JtLWZpZWxkIHNob3VsZCBiZVxuICAgICAqIHBvc2l0aW9uZWQgcmVsYXRpdmUgdG8uXG4gICAgICovXG4gICAgZ2V0Q29ubmVjdGVkT3ZlcmxheU9yaWdpbigpOiBFbGVtZW50UmVmIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29ubmVjdGlvbkNvbnRhaW5lclJlZiB8fCB0aGlzLmVsZW1lbnRSZWY7XG4gICAgfVxuXG4gICAgLyoqIERldGVybWluZXMgd2hldGhlciBhIGNsYXNzIGZyb20gdGhlIE5nQ29udHJvbCBzaG91bGQgYmUgZm9yd2FyZGVkIHRvIHRoZSBob3N0IGVsZW1lbnQuICovXG4gICAgc2hvdWxkRm9yd2FyZChwcm9wOiBrZXlvZiBOZ0NvbnRyb2wpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgbmdDb250cm9sID0gdGhpcy5jb250cm9sPy5uZ0NvbnRyb2w7XG5cbiAgICAgICAgcmV0dXJuIG5nQ29udHJvbCAmJiBuZ0NvbnRyb2xbcHJvcF07XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuJHVuc3Vic2NyaWJlLm5leHQoKTtcbiAgICAgICAgdGhpcy4kdW5zdWJzY3JpYmUuY29tcGxldGUoKTtcblxuICAgICAgICB0aGlzLnN0b3BGb2N1c01vbml0b3IoKTtcbiAgICB9XG5cbiAgICBydW5Gb2N1c01vbml0b3IoKSB7XG4gICAgICAgIHRoaXMuZm9jdXNNb25pdG9yLm1vbml0b3IodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIHRydWUpO1xuICAgIH1cblxuICAgIHN0b3BGb2N1c01vbml0b3IoKSB7XG4gICAgICAgIHRoaXMuZm9jdXNNb25pdG9yLnN0b3BNb25pdG9yaW5nKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG5cbiAgICAvKiogVGhyb3dzIGFuIGVycm9yIGlmIHRoZSBmb3JtIGZpZWxkJ3MgY29udHJvbCBpcyBtaXNzaW5nLiAqL1xuICAgIHByb3RlY3RlZCB2YWxpZGF0ZUNvbnRyb2xDaGlsZCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLmNvbnRyb2wpIHtcbiAgICAgICAgICAgIHRocm93IGdldE1jRm9ybUZpZWxkTWlzc2luZ0NvbnRyb2xFcnJvcigpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ21jLWZvcm0tZmllbGRbbWNGb3JtRmllbGRXaXRob3V0Qm9yZGVyc10nLFxuICAgIGV4cG9ydEFzOiAnbWNGb3JtRmllbGRXaXRob3V0Qm9yZGVycycsXG4gICAgaG9zdDogeyBjbGFzczogJ21jLWZvcm0tZmllbGRfd2l0aG91dC1ib3JkZXJzJyB9XG59KVxuZXhwb3J0IGNsYXNzIE1jRm9ybUZpZWxkV2l0aG91dEJvcmRlcnMge31cblxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1ttY0lucHV0XSwgW21jVGV4dGFyZWFdJyxcbiAgICBleHBvcnRBczogJ01jVHJpbScsXG4gICAgaG9zdDogeyBjbGFzczogJ21jLXRyaW0nIH1cbn0pXG5leHBvcnQgY2xhc3MgTWNUcmltIHtcbiAgICBwcml2YXRlIG9yaWdpbmFsOiAoZm46IGFueSkgPT4gdm9pZDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAQXR0cmlidXRlKCduby10cmltJykgcHJpdmF0ZSByZWFkb25seSBub1RyaW06IGJvb2xlYW4sXG4gICAgICAgIEBPcHRpb25hbCgpIEBTZWxmKCkgcHJpdmF0ZSBuZ0NvbnRyb2w6IE5nQ29udHJvbFxuICAgICkge1xuICAgICAgICB0aGlzLm5vVHJpbSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eShub1RyaW0pO1xuXG4gICAgICAgIGlmICh0aGlzLm5vVHJpbSB8fCAhdGhpcy5uZ0NvbnRyb2w/LnZhbHVlQWNjZXNzb3IpIHsgcmV0dXJuOyB9XG5cbiAgICAgICAgdGhpcy5vcmlnaW5hbCA9IHRoaXMubmdDb250cm9sLnZhbHVlQWNjZXNzb3IucmVnaXN0ZXJPbkNoYW5nZTtcblxuICAgICAgICB0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yLnJlZ2lzdGVyT25DaGFuZ2UgPSB0aGlzLnJlZ2lzdGVyT25DaGFuZ2U7XG4gICAgfVxuXG4gICAgdHJpbSh2YWx1ZSkge1xuICAgICAgICBpZiAodGhpcy5ub1RyaW0pIHsgcmV0dXJuIHZhbHVlOyB9XG5cbiAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgPyB2YWx1ZS50cmltKCkgOiB2YWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlZ2lzdGVyT25DaGFuZ2UgPSAoZm4pID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3JpZ2luYWwuY2FsbCh0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yLCAodmFsdWUpID0+IGZuKHRoaXMudHJpbSh2YWx1ZSkpKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibWMtZm9ybS1maWVsZF9fY29udGFpbmVyXCIgKGNsaWNrKT1cIm9uQ29udGFpbmVyQ2xpY2soJGV2ZW50KVwiPlxuXG4gICAgPGRpdiBjbGFzcz1cIm1jLWZvcm0tZmllbGRfX3ByZWZpeFwiICpuZ0lmPVwiaGFzUHJlZml4XCI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlttY1ByZWZpeF1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwibWMtZm9ybS1maWVsZF9faW5maXhcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cIm1jLWZvcm0tZmllbGRfX3N1ZmZpeFwiICpuZ0lmPVwiaGFzU3VmZml4XCI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlttY1N1ZmZpeF1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwibWMtZm9ybS1maWVsZF9fY2xlYW5lclwiXG4gICAgICAgICAqbmdJZj1cImNhblNob3dDbGVhbmVyICYmICFoYXNTdWZmaXhcIlxuICAgICAgICAgKGNsaWNrKT1cImNsZWFyVmFsdWUoJGV2ZW50KVwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJtYy1jbGVhbmVyXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuXG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwibWMtcGFzc3dvcmQtdG9nZ2xlXCI+PC9uZy1jb250ZW50PlxuXG4gICAgPG5nLWNvbnRlbnQgKm5nSWY9XCJjYW5TaG93U3RlcHBlclwiIHNlbGVjdD1cIm1jLXN0ZXBwZXJcIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cIm1jLWZvcm0tZmllbGRfX2hpbnRcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJtYy1oaW50LCBtYy1wYXNzd29yZC1oaW50XCI+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
|
@@ -1,138 +0,0 @@
|
|
1
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, forwardRef, Inject, Input } from '@angular/core';
|
2
|
-
import { MC_FORM_FIELD } from './form-field';
|
3
|
-
import * as i0 from "@angular/core";
|
4
|
-
import * as i1 from "@angular/common";
|
5
|
-
import * as i2 from "@ptsecurity/mosaic/icon";
|
6
|
-
let nextPasswordHintUniqueId = 0;
|
7
|
-
export var PasswordRules;
|
8
|
-
(function (PasswordRules) {
|
9
|
-
PasswordRules[PasswordRules["Length"] = 0] = "Length";
|
10
|
-
PasswordRules[PasswordRules["UpperLatin"] = 1] = "UpperLatin";
|
11
|
-
PasswordRules[PasswordRules["LowerLatin"] = 2] = "LowerLatin";
|
12
|
-
PasswordRules[PasswordRules["Digit"] = 3] = "Digit";
|
13
|
-
PasswordRules[PasswordRules["LatinAndSpecialSymbols"] = 4] = "LatinAndSpecialSymbols";
|
14
|
-
PasswordRules[PasswordRules["Custom"] = 5] = "Custom";
|
15
|
-
})(PasswordRules || (PasswordRules = {}));
|
16
|
-
export const regExpPasswordValidator = {
|
17
|
-
[PasswordRules.LowerLatin]: RegExp(/^(?=.*?[a-z])/),
|
18
|
-
[PasswordRules.UpperLatin]: RegExp(/^(?=.*?[A-Z])/),
|
19
|
-
[PasswordRules.Digit]: RegExp(/^(?=.*?[0-9])/),
|
20
|
-
[PasswordRules.LatinAndSpecialSymbols]: RegExp(/[^ !`"'#№$%&()*+,-./\\:;<=>?@[\]^_{|}~A-Za-z0-9]/)
|
21
|
-
};
|
22
|
-
export class McPasswordHint {
|
23
|
-
constructor(changeDetectorRef, formField) {
|
24
|
-
this.changeDetectorRef = changeDetectorRef;
|
25
|
-
this.formField = formField;
|
26
|
-
this.id = `mc-hint-${nextPasswordHintUniqueId++}`;
|
27
|
-
this.hasError = false;
|
28
|
-
this.checked = false;
|
29
|
-
this.checkValue = () => {
|
30
|
-
if (this.control.focused && this.isValueChanged()) {
|
31
|
-
this.hasError = false;
|
32
|
-
this.checked = this.checkRule(this.control.value);
|
33
|
-
}
|
34
|
-
else if (!this.control.focused && !this.isValueChanged()) {
|
35
|
-
this.hasError = !this.checkRule(this.control.value);
|
36
|
-
}
|
37
|
-
if (!this.control.required && !this.control.value) {
|
38
|
-
this.checked = this.hasError = false;
|
39
|
-
}
|
40
|
-
this.lastControlValue = this.control.value;
|
41
|
-
this.changeDetectorRef.markForCheck();
|
42
|
-
};
|
43
|
-
}
|
44
|
-
get control() {
|
45
|
-
return this.formField.control;
|
46
|
-
}
|
47
|
-
ngAfterContentInit() {
|
48
|
-
if (this.rule === null) {
|
49
|
-
throw Error('You should set [rule] name');
|
50
|
-
}
|
51
|
-
if (this.rule === PasswordRules.Custom && this.regex === undefined) {
|
52
|
-
throw Error('You should set [regex] for PasswordRules.Custom');
|
53
|
-
}
|
54
|
-
if (this.rule === PasswordRules.Length && (this.min || this.max) === null) {
|
55
|
-
throw Error('For [rule] "Length" need set [min] and [max]');
|
56
|
-
}
|
57
|
-
if (this.rule === PasswordRules.Length) {
|
58
|
-
this.checkRule = this.checkLengthRule;
|
59
|
-
}
|
60
|
-
else if ([PasswordRules.UpperLatin, PasswordRules.LowerLatin, PasswordRules.Digit].includes(this.rule)) {
|
61
|
-
this.regex = regExpPasswordValidator[this.rule];
|
62
|
-
this.checkRule = this.checkRegexRule;
|
63
|
-
}
|
64
|
-
else if (this.rule === PasswordRules.LatinAndSpecialSymbols) {
|
65
|
-
this.regex = regExpPasswordValidator[this.rule];
|
66
|
-
this.checkRule = this.checkSpecialSymbolsRegexRule;
|
67
|
-
}
|
68
|
-
else if (this.rule === PasswordRules.Custom) {
|
69
|
-
this.checkRule = this.checkRegexRule;
|
70
|
-
}
|
71
|
-
else {
|
72
|
-
throw Error(`Unknown [rule]=${this.rule}`);
|
73
|
-
}
|
74
|
-
this.formField.control.stateChanges
|
75
|
-
.subscribe(this.checkValue);
|
76
|
-
this.formField.control.checkRule
|
77
|
-
.subscribe(() => {
|
78
|
-
this.checked = this.checkRule(this.control.value);
|
79
|
-
this.hasError = !this.checkRule(this.control.value);
|
80
|
-
});
|
81
|
-
}
|
82
|
-
checkLengthRule(value) {
|
83
|
-
return value.length >= this.min && value.length <= this.max;
|
84
|
-
}
|
85
|
-
checkRegexRule(value) {
|
86
|
-
return !!this.regex?.test(value);
|
87
|
-
}
|
88
|
-
checkSpecialSymbolsRegexRule(value) {
|
89
|
-
return !!value && !this.regex?.test(value);
|
90
|
-
}
|
91
|
-
isValueChanged() {
|
92
|
-
return this.lastControlValue !== this.formField.control.value;
|
93
|
-
}
|
94
|
-
}
|
95
|
-
/** @nocollapse */ McPasswordHint.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McPasswordHint, deps: [{ token: i0.ChangeDetectorRef }, { token: forwardRef(() => MC_FORM_FIELD) }], target: i0.ɵɵFactoryTarget.Component });
|
96
|
-
/** @nocollapse */ McPasswordHint.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: McPasswordHint, selector: "mc-password-hint", inputs: { id: "id", rule: "rule", min: "min", max: "max", regex: "regex" }, host: { properties: { "class.mc-password-hint_valid": "checked", "class.mc-password-hint_invalid": "hasError", "attr.id": "id" }, classAttribute: "mc-password-hint" }, ngImport: i0, template: `
|
97
|
-
<i *ngIf="!checked" class="mc-password-hint__icon" mc-icon="mc-close-M_16"></i>
|
98
|
-
<i *ngIf="checked" class="mc-password-hint__icon" mc-icon="mc-check_16"></i>
|
99
|
-
|
100
|
-
<span class="mc-password-hint__text">
|
101
|
-
<ng-content></ng-content>
|
102
|
-
</span>
|
103
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.McIcon, selector: "[mc-icon]", inputs: ["color"] }, { kind: "directive", type: i2.McIconCSSStyler, selector: "[mc-icon]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
104
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McPasswordHint, decorators: [{
|
105
|
-
type: Component,
|
106
|
-
args: [{
|
107
|
-
selector: 'mc-password-hint',
|
108
|
-
template: `
|
109
|
-
<i *ngIf="!checked" class="mc-password-hint__icon" mc-icon="mc-close-M_16"></i>
|
110
|
-
<i *ngIf="checked" class="mc-password-hint__icon" mc-icon="mc-check_16"></i>
|
111
|
-
|
112
|
-
<span class="mc-password-hint__text">
|
113
|
-
<ng-content></ng-content>
|
114
|
-
</span>
|
115
|
-
`,
|
116
|
-
host: {
|
117
|
-
class: 'mc-password-hint',
|
118
|
-
'[class.mc-password-hint_valid]': 'checked',
|
119
|
-
'[class.mc-password-hint_invalid]': 'hasError',
|
120
|
-
'[attr.id]': 'id'
|
121
|
-
},
|
122
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
123
|
-
}]
|
124
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
|
125
|
-
type: Inject,
|
126
|
-
args: [forwardRef(() => MC_FORM_FIELD)]
|
127
|
-
}] }]; }, propDecorators: { id: [{
|
128
|
-
type: Input
|
129
|
-
}], rule: [{
|
130
|
-
type: Input
|
131
|
-
}], min: [{
|
132
|
-
type: Input
|
133
|
-
}], max: [{
|
134
|
-
type: Input
|
135
|
-
}], regex: [{
|
136
|
-
type: Input
|
137
|
-
}] } });
|
138
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQtaGludC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21vc2FpYy9mb3JtLWZpZWxkL3Bhc3N3b3JkLWhpbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNSLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7QUFHN0MsSUFBSSx3QkFBd0IsR0FBRyxDQUFDLENBQUM7QUFFakMsTUFBTSxDQUFOLElBQVksYUFPWDtBQVBELFdBQVksYUFBYTtJQUNyQixxREFBTSxDQUFBO0lBQ04sNkRBQVUsQ0FBQTtJQUNWLDZEQUFVLENBQUE7SUFDVixtREFBSyxDQUFBO0lBQ0wscUZBQXNCLENBQUE7SUFDdEIscURBQU0sQ0FBQTtBQUNWLENBQUMsRUFQVyxhQUFhLEtBQWIsYUFBYSxRQU94QjtBQUVELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHO0lBQ25DLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxlQUFlLENBQUM7SUFDbkQsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLEVBQUUsTUFBTSxDQUFDLGVBQWUsQ0FBQztJQUNuRCxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFNLENBQUMsZUFBZSxDQUFDO0lBQzlDLENBQUMsYUFBYSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsTUFBTSxDQUFDLGtEQUFrRCxDQUFDO0NBQ3JHLENBQUM7QUFxQkYsTUFBTSxPQUFPLGNBQWM7SUFvQnZCLFlBQ1ksaUJBQW9DLEVBQ0ssU0FBYztRQUR2RCxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ0ssY0FBUyxHQUFULFNBQVMsQ0FBSztRQXJCMUQsT0FBRSxHQUFXLFdBQVcsd0JB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RkFTUSxjQUFjO2tCQWxCMUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixRQUFRLEVBQUU7Ozs7Ozs7S0FPVDtvQkFDRCxJQUFJLEVBQUU7d0JBQ0YsS0FBSyxFQUFFLGtCQUFrQjt3QkFDekIsZ0NBQWdDLEVBQUUsU0FBUzt3QkFDM0Msa0NBQWtDLEVBQUUsVUFBVTt3QkFDOUMsV0FBVyxFQUFFLElBQUk7cUJBQ3BCO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRDs7MEJBdUJRLE1BQU07MkJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQzs0Q0FyQmxDLEVBQUU7c0JBQVYsS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsR0FBRztzQkFBWCxLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIGZvcndhcmRSZWYsXG4gICAgSW5qZWN0LFxuICAgIElucHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBNQ19GT1JNX0ZJRUxEIH0gZnJvbSAnLi9mb3JtLWZpZWxkJztcblxuXG5sZXQgbmV4dFBhc3N3b3JkSGludFVuaXF1ZUlkID0gMDtcblxuZXhwb3J0IGVudW0gUGFzc3dvcmRSdWxlcyB7XG4gICAgTGVuZ3RoLFxuICAgIFVwcGVyTGF0aW4sXG4gICAgTG93ZXJMYXRpbixcbiAgICBEaWdpdCxcbiAgICBMYXRpbkFuZFNwZWNpYWxTeW1ib2xzLFxuICAgIEN1c3RvbVxufVxuXG5leHBvcnQgY29uc3QgcmVnRXhwUGFzc3dvcmRWYWxpZGF0b3IgPSB7XG4gICAgW1Bhc3N3b3JkUnVsZXMuTG93ZXJMYXRpbl06IFJlZ0V4cCgvXig/PS4qP1thLXpdKS8pLFxuICAgIFtQYXNzd29yZFJ1bGVzLlVwcGVyTGF0aW5dOiBSZWdFeHAoL14oPz0uKj9bQS1aXSkvKSxcbiAgICBbUGFzc3dvcmRSdWxlcy5EaWdpdF06IFJlZ0V4cCgvXig/PS4qP1swLTldKS8pLFxuICAgIFtQYXNzd29yZFJ1bGVzLkxhdGluQW5kU3BlY2lhbFN5bWJvbHNdOiBSZWdFeHAoL1teICFgXCInI+KEliQlJigpKissLS4vXFxcXDo7PD0+P0BbXFxdXl97fH1+QS1aYS16MC05XS8pXG59O1xuXG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbWMtcGFzc3dvcmQtaGludCcsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPGkgKm5nSWY9XCIhY2hlY2tlZFwiIGNsYXNzPVwibWMtcGFzc3dvcmQtaGludF9faWNvblwiIG1jLWljb249XCJtYy1jbG9zZS1NXzE2XCI+PC9pPlxuICAgICAgICA8aSAqbmdJZj1cImNoZWNrZWRcIiBjbGFzcz1cIm1jLXBhc3N3b3JkLWhpbnRfX2ljb25cIiBtYy1pY29uPVwibWMtY2hlY2tfMTZcIj48L2k+XG5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtYy1wYXNzd29yZC1oaW50X190ZXh0XCI+XG4gICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvc3Bhbj5cbiAgICBgLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdtYy1wYXNzd29yZC1oaW50JyxcbiAgICAgICAgJ1tjbGFzcy5tYy1wYXNzd29yZC1oaW50X3ZhbGlkXSc6ICdjaGVja2VkJyxcbiAgICAgICAgJ1tjbGFzcy5tYy1wYXNzd29yZC1oaW50X2ludmFsaWRdJzogJ2hhc0Vycm9yJyxcbiAgICAgICAgJ1thdHRyLmlkXSc6ICdpZCdcbiAgICB9LFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE1jUGFzc3dvcmRIaW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gICAgQElucHV0KCkgaWQ6IHN0cmluZyA9IGBtYy1oaW50LSR7bmV4dFBhc3N3b3JkSGludFVuaXF1ZUlkKyt9YDtcblxuICAgIEBJbnB1dCgpIHJ1bGU6IFBhc3N3b3JkUnVsZXMgfCBhbnk7XG5cbiAgICBASW5wdXQoKSBtaW46IG51bWJlcjtcbiAgICBASW5wdXQoKSBtYXg6IG51bWJlcjtcbiAgICBASW5wdXQoKSByZWdleDogUmVnRXhwIHwgbnVsbDtcblxuICAgIGhhc0Vycm9yOiBib29sZWFuID0gZmFsc2U7XG4gICAgY2hlY2tlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBjaGVja1J1bGU6ICh2YWx1ZTogc3RyaW5nKSA9PiBib29sZWFuO1xuXG4gICAgcHJpdmF0ZSBnZXQgY29udHJvbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybUZpZWxkLmNvbnRyb2w7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBsYXN0Q29udHJvbFZhbHVlOiBzdHJpbmc7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoZm9yd2FyZFJlZigoKSA9PiBNQ19GT1JNX0ZJRUxEKSkgcHJpdmF0ZSBmb3JtRmllbGQ6IGFueVxuICAgICkge31cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMucnVsZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgdGhyb3cgRXJyb3IoJ1lvdSBzaG91bGQgc2V0IFtydWxlXSBuYW1lJyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5ydWxlID09PSBQYXNzd29yZFJ1bGVzLkN1c3RvbSAmJiB0aGlzLnJlZ2V4ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKCdZb3Ugc2hvdWxkIHNldCBbcmVnZXhdIGZvciBQYXNzd29yZFJ1bGVzLkN1c3RvbScpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMucnVsZSA9PT0gUGFzc3dvcmRSdWxlcy5MZW5ndGggJiYgKHRoaXMubWluIHx8IHRoaXMubWF4KSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgdGhyb3cgRXJyb3IoJ0ZvciBbcnVsZV0gXCJMZW5ndGhcIiBuZWVkIHNldCBbbWluXSBhbmQgW21heF0nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnJ1bGUgPT09IFBhc3N3b3JkUnVsZXMuTGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmNoZWNrUnVsZSA9IHRoaXMuY2hlY2tMZW5ndGhSdWxlO1xuICAgICAgICB9IGVsc2UgaWYgKFtQYXNzd29yZFJ1bGVzLlVwcGVyTGF0aW4sIFBhc3N3b3JkUnVsZXMuTG93ZXJMYXRpbiwgUGFzc3dvcmRSdWxlcy5EaWdpdF0uaW5jbHVkZXModGhpcy5ydWxlKSkge1xuICAgICAgICAgICAgdGhpcy5yZWdleCA9IHJlZ0V4cFBhc3N3b3JkVmFsaWRhdG9yW3RoaXMucnVsZV07XG4gICAgICAgICAgICB0aGlzLmNoZWNrUnVsZSA9IHRoaXMuY2hlY2tSZWdleFJ1bGU7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5ydWxlID09PSBQYXNzd29yZFJ1bGVzLkxhdGluQW5kU3BlY2lhbFN5bWJvbHMpIHtcbiAgICAgICAgICAgIHRoaXMucmVnZXggPSByZWdFeHBQYXNzd29yZFZhbGlkYXRvclt0aGlzLnJ1bGVdO1xuICAgICAgICAgICAgdGhpcy5jaGVja1J1bGUgPSB0aGlzLmNoZWNrU3BlY2lhbFN5bWJvbHNSZWdleFJ1bGU7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5ydWxlID09PSBQYXNzd29yZFJ1bGVzLkN1c3RvbSkge1xuICAgICAgICAgICAgdGhpcy5jaGVja1J1bGUgPSB0aGlzLmNoZWNrUmVnZXhSdWxlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgRXJyb3IoYFVua25vd24gW3J1bGVdPSR7dGhpcy5ydWxlfWApO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5mb3JtRmllbGQuY29udHJvbC5zdGF0ZUNoYW5nZXNcbiAgICAgICAgICAgIC5zdWJzY3JpYmUodGhpcy5jaGVja1ZhbHVlKTtcblxuICAgICAgICAodGhpcy5mb3JtRmllbGQuY29udHJvbCBhcyB1bmtub3duIGFzIHsgY2hlY2tSdWxlOiBTdWJqZWN0PGFueT4gfSkuY2hlY2tSdWxlXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNoZWNrZWQgPSB0aGlzLmNoZWNrUnVsZSh0aGlzLmNvbnRyb2wudmFsdWUpO1xuICAgICAgICAgICAgICAgIHRoaXMuaGFzRXJyb3IgPSAhdGhpcy5jaGVja1J1bGUodGhpcy5jb250cm9sLnZhbHVlKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2hlY2tWYWx1ZSA9ICgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbC5mb2N1c2VkICYmIHRoaXMuaXNWYWx1ZUNoYW5nZWQoKSkge1xuICAgICAgICAgICAgdGhpcy5oYXNFcnJvciA9IGZhbHNlO1xuXG4gICAgICAgICAgICB0aGlzLmNoZWNrZWQgPSB0aGlzLmNoZWNrUnVsZSh0aGlzLmNvbnRyb2wudmFsdWUpO1xuICAgICAgICB9IGVsc2UgaWYgKCF0aGlzLmNvbnRyb2wuZm9jdXNlZCAmJiAhdGhpcy5pc1ZhbHVlQ2hhbmdlZCgpKSB7XG4gICAgICAgICAgICB0aGlzLmhhc0Vycm9yID0gIXRoaXMuY2hlY2tSdWxlKHRoaXMuY29udHJvbC52YWx1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMuY29udHJvbC5yZXF1aXJlZCAmJiAhdGhpcy5jb250cm9sLnZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmNoZWNrZWQgPSB0aGlzLmhhc0Vycm9yID0gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmxhc3RDb250cm9sVmFsdWUgPSB0aGlzLmNvbnRyb2wudmFsdWU7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGVja0xlbmd0aFJ1bGUodmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdmFsdWUubGVuZ3RoID49IHRoaXMubWluICYmIHZhbHVlLmxlbmd0aCA8PSB0aGlzLm1heDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNoZWNrUmVnZXhSdWxlKHZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5yZWdleD8udGVzdCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGVja1NwZWNpYWxTeW1ib2xzUmVnZXhSdWxlKHZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdmFsdWUgJiYgIXRoaXMucmVnZXg/LnRlc3QodmFsdWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNWYWx1ZUNoYW5nZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmxhc3RDb250cm9sVmFsdWUgIT09IHRoaXMuZm9ybUZpZWxkLmNvbnRyb2wudmFsdWU7XG4gICAgfVxufVxuIl19
|