@ptsecurity/mosaic 13.6.1 → 13.6.2
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/LICENSE +21 -21
- package/README.md +6 -6
- package/_theming.scss +7141 -7141
- package/_visual.scss +2695 -2695
- package/autocomplete/autocomplete-origin.directive.d.ts +12 -12
- package/autocomplete/autocomplete-trigger.directive.d.ts +167 -167
- package/autocomplete/autocomplete.component.d.ts +73 -73
- package/autocomplete/autocomplete.module.d.ts +12 -12
- package/autocomplete/index.d.ts +1 -1
- package/autocomplete/ptsecurity-mosaic-autocomplete.d.ts +5 -5
- package/autocomplete/public-api.d.ts +4 -4
- package/button/button.component.d.ts +40 -40
- package/button/button.module.d.ts +10 -10
- package/button/index.d.ts +1 -1
- package/button/ptsecurity-mosaic-button.d.ts +5 -5
- package/button/public-api.d.ts +2 -2
- package/button-toggle/button-toggle.component.d.ts +141 -141
- package/button-toggle/button-toggle.module.d.ts +9 -9
- package/button-toggle/index.d.ts +1 -1
- package/button-toggle/ptsecurity-mosaic-button-toggle.d.ts +5 -5
- package/button-toggle/public-api.d.ts +2 -2
- package/card/card.component.d.ts +26 -26
- package/card/card.module.d.ts +10 -10
- package/card/index.d.ts +1 -1
- package/card/ptsecurity-mosaic-card.d.ts +5 -5
- package/card/public-api.d.ts +2 -2
- package/checkbox/README.md +1 -1
- package/checkbox/checkbox-config.d.ts +13 -13
- package/checkbox/checkbox-module.d.ts +9 -9
- package/checkbox/checkbox-required-validator.d.ts +13 -13
- package/checkbox/checkbox.d.ts +140 -140
- package/checkbox/index.d.ts +1 -1
- package/checkbox/ptsecurity-mosaic-checkbox.d.ts +5 -5
- package/checkbox/public-api.d.ts +4 -4
- package/core/animation/animation.d.ts +6 -6
- package/core/animation/fade-animations.d.ts +2 -2
- package/core/animation/index.d.ts +3 -3
- package/core/animation/select-animations.d.ts +12 -12
- package/core/common-behaviors/color.d.ts +19 -19
- package/core/common-behaviors/common-module.d.ts +25 -25
- package/core/common-behaviors/constructor.d.ts +9 -9
- package/core/common-behaviors/disabled.d.ts +8 -8
- package/core/common-behaviors/error-state.d.ts +25 -25
- package/core/common-behaviors/index.d.ts +5 -5
- package/core/common-behaviors/tabindex.d.ts +8 -8
- package/core/error/error-options.d.ts +14 -14
- package/core/formatters/date/formatter.d.ts +203 -203
- package/core/formatters/date/templates/en-US.d.ts +74 -74
- package/core/formatters/date/templates/ru-RU.d.ts +74 -74
- package/core/formatters/index.d.ts +9 -9
- package/core/formatters/number/formatter.d.ts +27 -27
- package/core/forms/forms-module.d.ts +7 -7
- package/core/forms/forms.directive.d.ts +22 -22
- package/core/forms/index.d.ts +2 -2
- package/core/highlight/highlight.pipe.d.ts +7 -7
- package/core/highlight/index.d.ts +9 -9
- package/core/index.d.ts +1 -1
- package/core/label/label-options.d.ts +13 -13
- package/core/line/line.d.ts +28 -28
- package/core/option/action.d.ts +42 -42
- package/core/option/index.d.ts +4 -4
- package/core/option/optgroup.d.ts +16 -16
- package/core/option/option-module.d.ts +11 -11
- package/core/option/option.d.ts +115 -115
- package/core/overlay/overlay-position-map.d.ts +34 -34
- package/core/pop-up/constants.d.ts +29 -29
- package/core/pop-up/index.d.ts +3 -3
- package/core/pop-up/pop-up-trigger.d.ts +70 -70
- package/core/pop-up/pop-up.d.ts +36 -36
- package/core/ptsecurity-mosaic-core.d.ts +5 -5
- package/core/public-api.d.ts +17 -17
- package/core/select/constants.d.ts +23 -23
- package/core/select/errors.d.ts +19 -19
- package/core/select/events.d.ts +1 -1
- package/core/select/index.d.ts +3 -3
- package/core/selection/constants.d.ts +4 -4
- package/core/selection/index.d.ts +3 -3
- package/core/selection/pseudo-checkbox/pseudo-checkbox.d.ts +30 -30
- package/core/selection/pseudo-checkbox/pseudo-checkbox.module.d.ts +8 -8
- package/core/services/measure-scrollbar.service.d.ts +11 -11
- package/core/utils/index.d.ts +1 -1
- package/core/utils/public-api.d.ts +1 -1
- package/core/utils/utils.d.ts +2 -2
- package/core/validation/index.d.ts +1 -1
- package/core/validation/validation.d.ts +18 -18
- package/core/version.d.ts +2 -2
- package/datepicker/calendar-body.component.d.ts +63 -63
- package/datepicker/calendar.component.d.ts +151 -151
- package/datepicker/datepicker-animations.d.ts +9 -9
- package/datepicker/datepicker-errors.d.ts +2 -2
- package/datepicker/datepicker-input.directive.d.ts +178 -178
- package/datepicker/datepicker-intl.d.ts +32 -32
- package/datepicker/datepicker-module.d.ts +20 -20
- package/datepicker/datepicker-toggle.component.d.ts +35 -35
- package/datepicker/datepicker.component.d.ts +158 -158
- package/datepicker/index.d.ts +1 -1
- package/datepicker/month-view.component.d.ts +93 -93
- package/datepicker/multi-year-view.component.d.ts +72 -72
- package/datepicker/ptsecurity-mosaic-datepicker.d.ts +5 -5
- package/datepicker/public-api.d.ts +11 -11
- package/datepicker/year-view.component.d.ts +90 -90
- package/design-tokens/index.d.ts +1 -1
- package/design-tokens/legacy-2017/tokens/components/alert.json5 +83 -83
- package/design-tokens/legacy-2017/tokens/components/autocomplete.json5 +11 -11
- package/design-tokens/legacy-2017/tokens/components/badge.json5 +174 -174
- package/design-tokens/legacy-2017/tokens/components/button-toggle.json5 +10 -10
- package/design-tokens/legacy-2017/tokens/components/button.json5 +142 -142
- package/design-tokens/legacy-2017/tokens/components/card.json5 +51 -51
- package/design-tokens/legacy-2017/tokens/components/checkbox.json5 +97 -97
- package/design-tokens/legacy-2017/tokens/components/datepicker.json5 +64 -64
- package/design-tokens/legacy-2017/tokens/components/divider.json5 +14 -14
- package/design-tokens/legacy-2017/tokens/components/dl.json5 +38 -38
- package/design-tokens/legacy-2017/tokens/components/dropdown.json5 +48 -48
- package/design-tokens/legacy-2017/tokens/components/form-field.json5 +92 -92
- package/design-tokens/legacy-2017/tokens/components/forms.json5 +52 -52
- package/design-tokens/legacy-2017/tokens/components/icon.json5 +104 -104
- package/design-tokens/legacy-2017/tokens/components/input.json5 +12 -12
- package/design-tokens/legacy-2017/tokens/components/link.json5 +50 -50
- package/design-tokens/legacy-2017/tokens/components/list.json5 +13 -13
- package/design-tokens/legacy-2017/tokens/components/modal.json5 +81 -81
- package/design-tokens/legacy-2017/tokens/components/navbar.json5 +70 -70
- package/design-tokens/legacy-2017/tokens/components/optgroup.json5 +10 -10
- package/design-tokens/legacy-2017/tokens/components/option.json5 +12 -12
- package/design-tokens/legacy-2017/tokens/components/popover.json5 +68 -68
- package/design-tokens/legacy-2017/tokens/components/popup.json5 +16 -16
- package/design-tokens/legacy-2017/tokens/components/progress-bar.json5 +13 -13
- package/design-tokens/legacy-2017/tokens/components/progress-spinner.json5 +7 -7
- package/design-tokens/legacy-2017/tokens/components/radio.json5 +45 -45
- package/design-tokens/legacy-2017/tokens/components/select.json5 +24 -24
- package/design-tokens/legacy-2017/tokens/components/sidepanel.json5 +44 -44
- package/design-tokens/legacy-2017/tokens/components/table.json5 +15 -15
- package/design-tokens/legacy-2017/tokens/components/tabs.json5 +101 -101
- package/design-tokens/legacy-2017/tokens/components/tags.json5 +134 -134
- package/design-tokens/legacy-2017/tokens/components/textarea.json5 +12 -12
- package/design-tokens/legacy-2017/tokens/components/timepicker.json5 +7 -7
- package/design-tokens/legacy-2017/tokens/components/toggle.json5 +79 -79
- package/design-tokens/legacy-2017/tokens/components/tooltip.json5 +83 -83
- package/design-tokens/legacy-2017/tokens/components/tree.json5 +15 -15
- package/design-tokens/legacy-2017/tokens/properties/aliases.json5 +3 -3
- package/design-tokens/legacy-2017/tokens/properties/colors.json5 +119 -119
- package/design-tokens/legacy-2017/tokens/properties/font.json5 +12 -12
- package/design-tokens/legacy-2017/tokens/properties/globals.json5 +49 -49
- package/design-tokens/legacy-2017/tokens/properties/padding.json5 +3 -3
- package/design-tokens/legacy-2017/tokens/properties/palette.json5 +163 -163
- package/design-tokens/legacy-2017/tokens/properties/typography.json5 +175 -175
- package/design-tokens/legacy-2017/tokens.d.ts +7844 -7844
- package/design-tokens/pt-2022/tokens/components/alert.json5 +83 -83
- package/design-tokens/pt-2022/tokens/components/autocomplete.json5 +11 -11
- package/design-tokens/pt-2022/tokens/components/badge.json5 +174 -174
- package/design-tokens/pt-2022/tokens/components/button-toggle.json5 +10 -10
- package/design-tokens/pt-2022/tokens/components/button.json5 +142 -142
- package/design-tokens/pt-2022/tokens/components/card.json5 +51 -51
- package/design-tokens/pt-2022/tokens/components/checkbox.json5 +97 -97
- package/design-tokens/pt-2022/tokens/components/datepicker.json5 +64 -64
- package/design-tokens/pt-2022/tokens/components/divider.json5 +14 -14
- package/design-tokens/pt-2022/tokens/components/dl.json5 +38 -38
- package/design-tokens/pt-2022/tokens/components/dropdown.json5 +48 -48
- package/design-tokens/pt-2022/tokens/components/form-field.json5 +92 -92
- package/design-tokens/pt-2022/tokens/components/forms.json5 +52 -52
- package/design-tokens/pt-2022/tokens/components/icon.json5 +104 -104
- package/design-tokens/pt-2022/tokens/components/input.json5 +12 -12
- package/design-tokens/pt-2022/tokens/components/link.json5 +50 -50
- package/design-tokens/pt-2022/tokens/components/list.json5 +13 -13
- package/design-tokens/pt-2022/tokens/components/modal.json5 +81 -81
- package/design-tokens/pt-2022/tokens/components/navbar.json5 +70 -70
- package/design-tokens/pt-2022/tokens/components/optgroup.json5 +10 -10
- package/design-tokens/pt-2022/tokens/components/option.json5 +12 -12
- package/design-tokens/pt-2022/tokens/components/popover.json5 +68 -68
- package/design-tokens/pt-2022/tokens/components/popup.json5 +16 -16
- package/design-tokens/pt-2022/tokens/components/progress-bar.json5 +13 -13
- package/design-tokens/pt-2022/tokens/components/progress-spinner.json5 +7 -7
- package/design-tokens/pt-2022/tokens/components/radio.json5 +45 -45
- package/design-tokens/pt-2022/tokens/components/select.json5 +24 -24
- package/design-tokens/pt-2022/tokens/components/sidepanel.json5 +44 -44
- package/design-tokens/pt-2022/tokens/components/table.json5 +15 -15
- package/design-tokens/pt-2022/tokens/components/tabs.json5 +101 -101
- package/design-tokens/pt-2022/tokens/components/tags.json5 +137 -137
- package/design-tokens/pt-2022/tokens/components/textarea.json5 +12 -12
- package/design-tokens/pt-2022/tokens/components/timepicker.json5 +7 -7
- package/design-tokens/pt-2022/tokens/components/toggle.json5 +79 -79
- package/design-tokens/pt-2022/tokens/components/tooltip.json5 +83 -83
- package/design-tokens/pt-2022/tokens/components/tree.json5 +15 -15
- package/design-tokens/pt-2022/tokens/properties/aliases.json5 +3 -3
- package/design-tokens/pt-2022/tokens/properties/colors.json5 +122 -122
- package/design-tokens/pt-2022/tokens/properties/font.json5 +15 -15
- package/design-tokens/pt-2022/tokens/properties/globals.json5 +49 -49
- package/design-tokens/pt-2022/tokens/properties/padding.json5 +3 -3
- package/design-tokens/pt-2022/tokens/properties/palette.json5 +232 -232
- package/design-tokens/pt-2022/tokens/properties/typography.json5 +175 -175
- package/design-tokens/pt-2022/tokens.d.ts +9176 -9176
- package/design-tokens/ptsecurity-mosaic-design-tokens.d.ts +5 -5
- package/design-tokens/public-api.d.ts +3 -3
- package/design-tokens/style-dictionary/build.js +63 -63
- package/design-tokens/style-dictionary/configs/css.js +13 -13
- package/design-tokens/style-dictionary/configs/index.js +48 -48
- package/design-tokens/style-dictionary/configs/js.js +9 -9
- package/design-tokens/style-dictionary/configs/scss.js +23 -23
- package/design-tokens/style-dictionary/filters/color.js +7 -7
- package/design-tokens/style-dictionary/filters/palette.js +7 -7
- package/design-tokens/style-dictionary/filters/size.js +7 -7
- package/design-tokens/style-dictionary/filters/typography.js +7 -7
- package/design-tokens/style-dictionary/formats/palette.js +25 -25
- package/design-tokens/style-dictionary/formats/typography.js +52 -52
- package/design-tokens/style-dictionary/transformGroups/css.js +13 -13
- package/design-tokens/style-dictionary/transformGroups/scss.js +12 -12
- package/design-tokens/style-dictionary/transformGroups/ts.js +11 -11
- package/design-tokens/style-dictionary/transforms/attribute/palette.js +9 -9
- package/design-tokens/style-dictionary/transforms/attribute/prefix.js +11 -11
- package/design-tokens/style-dictionary/transforms/attribute/size.js +8 -8
- package/design-tokens/style-dictionary/transforms/attribute/typography.js +9 -9
- package/divider/divider.component.d.ts +11 -11
- package/divider/divider.module.d.ts +8 -8
- package/divider/index.d.ts +1 -1
- package/divider/ptsecurity-mosaic-divider.d.ts +5 -5
- package/divider/public-api.d.ts +2 -2
- package/dl/dl.component.d.ts +26 -26
- package/dl/dl.module.d.ts +10 -10
- package/dl/index.d.ts +1 -1
- package/dl/ptsecurity-mosaic-dl.d.ts +5 -5
- package/dl/public-api.d.ts +2 -2
- package/dropdown/dropdown-animations.d.ts +11 -11
- package/dropdown/dropdown-content.directive.d.ts +32 -32
- package/dropdown/dropdown-errors.d.ts +17 -17
- package/dropdown/dropdown-item.component.d.ts +50 -50
- package/dropdown/dropdown-trigger.directive.d.ts +136 -136
- package/dropdown/dropdown.component.d.ts +121 -121
- package/dropdown/dropdown.module.d.ts +13 -13
- package/dropdown/dropdown.types.d.ts +53 -53
- package/dropdown/index.d.ts +1 -1
- package/dropdown/ptsecurity-mosaic-dropdown.d.ts +5 -5
- package/dropdown/public-api.d.ts +8 -8
- package/esm2020/autocomplete/autocomplete-origin.directive.mjs +21 -21
- package/esm2020/autocomplete/autocomplete-trigger.directive.mjs +555 -555
- package/esm2020/autocomplete/autocomplete.component.mjs +154 -154
- package/esm2020/autocomplete/autocomplete.module.mjs +34 -34
- package/esm2020/autocomplete/index.mjs +2 -2
- package/esm2020/autocomplete/ptsecurity-mosaic-autocomplete.mjs +4 -4
- package/esm2020/autocomplete/public-api.mjs +5 -5
- package/esm2020/button/button.component.mjs +137 -137
- package/esm2020/button/button.module.mjs +38 -38
- package/esm2020/button/index.mjs +2 -2
- package/esm2020/button/ptsecurity-mosaic-button.mjs +4 -4
- package/esm2020/button/public-api.mjs +3 -3
- package/esm2020/button-toggle/button-toggle.component.mjs +362 -362
- package/esm2020/button-toggle/button-toggle.module.mjs +19 -19
- package/esm2020/button-toggle/index.mjs +2 -2
- package/esm2020/button-toggle/ptsecurity-mosaic-button-toggle.mjs +4 -4
- package/esm2020/button-toggle/public-api.mjs +3 -3
- package/esm2020/card/card.component.mjs +80 -80
- package/esm2020/card/card.module.mjs +30 -30
- package/esm2020/card/index.mjs +2 -2
- package/esm2020/card/ptsecurity-mosaic-card.mjs +4 -4
- package/esm2020/card/public-api.mjs +3 -3
- package/esm2020/checkbox/checkbox-config.mjs +6 -6
- package/esm2020/checkbox/checkbox-module.mjs +19 -19
- package/esm2020/checkbox/checkbox-required-validator.mjs +27 -27
- package/esm2020/checkbox/checkbox.mjs +316 -316
- package/esm2020/checkbox/index.mjs +2 -2
- package/esm2020/checkbox/ptsecurity-mosaic-checkbox.mjs +4 -4
- package/esm2020/checkbox/public-api.mjs +5 -5
- package/esm2020/core/animation/animation.mjs +8 -8
- package/esm2020/core/animation/fade-animations.mjs +9 -9
- package/esm2020/core/animation/index.mjs +4 -4
- package/esm2020/core/animation/select-animations.mjs +45 -45
- package/esm2020/core/common-behaviors/color.mjs +30 -30
- package/esm2020/core/common-behaviors/common-module.mjs +83 -83
- package/esm2020/core/common-behaviors/constructor.mjs +2 -2
- package/esm2020/core/common-behaviors/disabled.mjs +17 -17
- package/esm2020/core/common-behaviors/error-state.mjs +31 -31
- package/esm2020/core/common-behaviors/index.mjs +6 -6
- package/esm2020/core/common-behaviors/tabindex.mjs +18 -18
- package/esm2020/core/error/error-options.mjs +26 -26
- package/esm2020/core/formatters/date/formatter.mjs +359 -359
- package/esm2020/core/formatters/date/templates/en-US.mjs +281 -281
- package/esm2020/core/formatters/date/templates/ru-RU.mjs +281 -281
- package/esm2020/core/formatters/index.mjs +20 -20
- package/esm2020/core/formatters/number/formatter.mjs +105 -105
- package/esm2020/core/forms/forms-module.mjs +24 -24
- package/esm2020/core/forms/forms.directive.mjs +66 -66
- package/esm2020/core/forms/index.mjs +3 -3
- package/esm2020/core/highlight/highlight.pipe.mjs +17 -17
- package/esm2020/core/highlight/index.mjs +19 -19
- package/esm2020/core/index.mjs +2 -2
- package/esm2020/core/label/label-options.mjs +4 -4
- package/esm2020/core/line/line.mjs +70 -70
- package/esm2020/core/option/action.mjs +121 -121
- package/esm2020/core/option/index.mjs +5 -5
- package/esm2020/core/option/optgroup.mjs +31 -31
- package/esm2020/core/option/option-module.mjs +21 -21
- package/esm2020/core/option/option.mjs +257 -257
- package/esm2020/core/overlay/overlay-position-map.mjs +244 -244
- package/esm2020/core/pop-up/constants.mjs +34 -34
- package/esm2020/core/pop-up/index.mjs +4 -4
- package/esm2020/core/pop-up/pop-up-trigger.mjs +239 -239
- package/esm2020/core/pop-up/pop-up.mjs +94 -94
- package/esm2020/core/ptsecurity-mosaic-core.mjs +4 -4
- package/esm2020/core/public-api.mjs +18 -18
- package/esm2020/core/select/constants.mjs +27 -27
- package/esm2020/core/select/errors.mjs +26 -26
- package/esm2020/core/select/events.mjs +2 -2
- package/esm2020/core/select/index.mjs +4 -4
- package/esm2020/core/selection/constants.mjs +6 -6
- package/esm2020/core/selection/index.mjs +4 -4
- package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +49 -49
- package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox.module.mjs +18 -18
- package/esm2020/core/services/measure-scrollbar.service.mjs +48 -48
- package/esm2020/core/utils/index.mjs +2 -2
- package/esm2020/core/utils/public-api.mjs +2 -2
- package/esm2020/core/utils/utils.mjs +5 -5
- package/esm2020/core/validation/index.mjs +2 -2
- package/esm2020/core/validation/validation.mjs +118 -118
- package/esm2020/core/version.mjs +3 -3
- package/esm2020/datepicker/calendar-body.component.mjs +106 -106
- package/esm2020/datepicker/calendar.component.mjs +362 -362
- package/esm2020/datepicker/datepicker-animations.mjs +32 -32
- package/esm2020/datepicker/datepicker-errors.mjs +6 -6
- package/esm2020/datepicker/datepicker-input.directive.mjs +938 -938
- package/esm2020/datepicker/datepicker-intl.mjs +40 -40
- package/esm2020/datepicker/datepicker-module.mjs +107 -107
- package/esm2020/datepicker/datepicker-toggle.component.mjs +86 -86
- package/esm2020/datepicker/datepicker.component.mjs +404 -404
- package/esm2020/datepicker/index.mjs +2 -2
- package/esm2020/datepicker/month-view.component.mjs +257 -257
- package/esm2020/datepicker/multi-year-view.component.mjs +218 -218
- package/esm2020/datepicker/ptsecurity-mosaic-datepicker.mjs +4 -4
- package/esm2020/datepicker/public-api.mjs +12 -12
- package/esm2020/datepicker/year-view.component.mjs +253 -253
- package/esm2020/design-tokens/index.mjs +2 -2
- package/esm2020/design-tokens/legacy-2017/tokens.mjs +1138 -1138
- package/esm2020/design-tokens/pt-2022/tokens.mjs +1208 -1208
- package/esm2020/design-tokens/ptsecurity-mosaic-design-tokens.mjs +4 -4
- package/esm2020/design-tokens/public-api.mjs +4 -4
- package/esm2020/divider/divider.component.mjs +39 -39
- package/esm2020/divider/divider.module.mjs +18 -18
- package/esm2020/divider/index.mjs +2 -2
- package/esm2020/divider/ptsecurity-mosaic-divider.mjs +4 -4
- package/esm2020/divider/public-api.mjs +3 -3
- package/esm2020/dl/dl.component.mjs +78 -78
- package/esm2020/dl/dl.module.mjs +42 -42
- package/esm2020/dl/index.mjs +2 -2
- package/esm2020/dl/ptsecurity-mosaic-dl.mjs +4 -4
- package/esm2020/dl/public-api.mjs +3 -3
- package/esm2020/dropdown/dropdown-animations.mjs +41 -41
- package/esm2020/dropdown/dropdown-content.directive.mjs +64 -64
- package/esm2020/dropdown/dropdown-errors.mjs +29 -29
- package/esm2020/dropdown/dropdown-item.component.mjs +139 -139
- package/esm2020/dropdown/dropdown-trigger.directive.mjs +489 -489
- package/esm2020/dropdown/dropdown.component.mjs +292 -292
- package/esm2020/dropdown/dropdown.module.mjs +50 -50
- package/esm2020/dropdown/dropdown.types.mjs +24 -24
- package/esm2020/dropdown/index.mjs +2 -2
- package/esm2020/dropdown/ptsecurity-mosaic-dropdown.mjs +4 -4
- package/esm2020/dropdown/public-api.mjs +9 -9
- package/esm2020/form-field/cleaner.mjs +23 -23
- package/esm2020/form-field/form-field-control.mjs +5 -5
- package/esm2020/form-field/form-field-errors.mjs +7 -7
- package/esm2020/form-field/form-field.mjs +225 -225
- package/esm2020/form-field/form-field.module.mjs +57 -57
- package/esm2020/form-field/hint.mjs +23 -23
- package/esm2020/form-field/index.mjs +2 -2
- package/esm2020/form-field/password-hint.mjs +139 -139
- package/esm2020/form-field/prefix.mjs +13 -13
- package/esm2020/form-field/ptsecurity-mosaic-form-field.mjs +4 -4
- package/esm2020/form-field/public-api.mjs +11 -11
- package/esm2020/form-field/stepper.mjs +55 -55
- package/esm2020/form-field/suffix.mjs +13 -13
- package/esm2020/icon/icon.component.mjs +44 -44
- package/esm2020/icon/icon.module.mjs +38 -38
- package/esm2020/icon/index.mjs +2 -2
- package/esm2020/icon/ptsecurity-mosaic-icon.mjs +4 -4
- package/esm2020/icon/public-api.mjs +3 -3
- package/esm2020/index.mjs +2 -2
- package/esm2020/input/index.mjs +2 -2
- package/esm2020/input/input-errors.mjs +4 -4
- package/esm2020/input/input-number-validators.mjs +92 -92
- package/esm2020/input/input-number.mjs +163 -163
- package/esm2020/input/input-password.mjs +372 -372
- package/esm2020/input/input-value-accessor.mjs +3 -3
- package/esm2020/input/input.mjs +334 -334
- package/esm2020/input/input.module.mjs +65 -65
- package/esm2020/input/ptsecurity-mosaic-input.mjs +4 -4
- package/esm2020/input/public-api.mjs +7 -7
- package/esm2020/link/index.mjs +2 -2
- package/esm2020/link/link.component.mjs +107 -107
- package/esm2020/link/link.module.mjs +26 -26
- package/esm2020/link/ptsecurity-mosaic-link.mjs +4 -4
- package/esm2020/link/public-api.mjs +3 -3
- package/esm2020/list/index.mjs +2 -2
- package/esm2020/list/list-selection.component.mjs +686 -686
- package/esm2020/list/list.component.mjs +44 -44
- package/esm2020/list/list.module.mjs +55 -55
- package/esm2020/list/ptsecurity-mosaic-list.mjs +4 -4
- package/esm2020/list/public-api.mjs +4 -4
- package/esm2020/modal/css-unit.pipe.mjs +17 -17
- package/esm2020/modal/index.mjs +2 -2
- package/esm2020/modal/modal-control.service.mjs +85 -85
- package/esm2020/modal/modal-ref.class.mjs +8 -8
- package/esm2020/modal/modal-util.mjs +17 -17
- package/esm2020/modal/modal.component.mjs +501 -501
- package/esm2020/modal/modal.directive.mjs +52 -52
- package/esm2020/modal/modal.module.mjs +72 -72
- package/esm2020/modal/modal.service.mjs +124 -124
- package/esm2020/modal/modal.type.mjs +7 -7
- package/esm2020/modal/ptsecurity-mosaic-modal.mjs +4 -4
- package/esm2020/modal/public-api.mjs +7 -7
- package/esm2020/navbar/index.mjs +2 -2
- package/esm2020/navbar/navbar-item.component.mjs +582 -582
- package/esm2020/navbar/navbar.component.mjs +237 -237
- package/esm2020/navbar/navbar.module.mjs +92 -92
- package/esm2020/navbar/ptsecurity-mosaic-navbar.mjs +4 -4
- package/esm2020/navbar/public-api.mjs +5 -5
- package/esm2020/navbar/vertical-navbar.animation.mjs +10 -10
- package/esm2020/navbar/vertical-navbar.component.mjs +114 -114
- package/esm2020/popover/index.mjs +2 -2
- package/esm2020/popover/popover-animations.mjs +16 -16
- package/esm2020/popover/popover-confirm.component.mjs +108 -108
- package/esm2020/popover/popover.component.mjs +253 -253
- package/esm2020/popover/popover.module.mjs +24 -24
- package/esm2020/popover/ptsecurity-mosaic-popover.mjs +4 -4
- package/esm2020/popover/public-api.mjs +5 -5
- package/esm2020/progress-bar/index.mjs +2 -2
- package/esm2020/progress-bar/progress-bar.component.mjs +42 -42
- package/esm2020/progress-bar/progress-bar.module.mjs +30 -30
- package/esm2020/progress-bar/ptsecurity-mosaic-progress-bar.mjs +4 -4
- package/esm2020/progress-bar/public-api.mjs +3 -3
- package/esm2020/progress-spinner/index.mjs +2 -2
- package/esm2020/progress-spinner/progress-spinner.component.mjs +46 -46
- package/esm2020/progress-spinner/progress-spinner.module.mjs +30 -30
- package/esm2020/progress-spinner/ptsecurity-mosaic-progress-spinner.mjs +4 -4
- package/esm2020/progress-spinner/public-api.mjs +3 -3
- package/esm2020/ptsecurity-mosaic.mjs +4 -4
- package/esm2020/public-api.mjs +2 -2
- package/esm2020/radio/index.mjs +2 -2
- package/esm2020/radio/ptsecurity-mosaic-radio.mjs +4 -4
- package/esm2020/radio/public-api.mjs +3 -3
- package/esm2020/radio/radio.component.mjs +458 -458
- package/esm2020/radio/radio.module.mjs +20 -20
- package/esm2020/select/index.mjs +2 -2
- package/esm2020/select/ptsecurity-mosaic-select.mjs +4 -4
- package/esm2020/select/public-api.mjs +4 -4
- package/esm2020/select/select-option.directive.mjs +65 -65
- package/esm2020/select/select.component.mjs +1117 -1117
- package/esm2020/select/select.module.mjs +73 -73
- package/esm2020/sidebar/index.mjs +2 -2
- package/esm2020/sidebar/ptsecurity-mosaic-sidebar.mjs +4 -4
- package/esm2020/sidebar/public-api.mjs +3 -3
- package/esm2020/sidebar/sidebar-animations.mjs +23 -23
- package/esm2020/sidebar/sidebar.component.mjs +146 -146
- package/esm2020/sidebar/sidebar.module.mjs +30 -30
- package/esm2020/sidepanel/index.mjs +2 -2
- package/esm2020/sidepanel/ptsecurity-mosaic-sidepanel.mjs +4 -4
- package/esm2020/sidepanel/public-api.mjs +7 -7
- package/esm2020/sidepanel/sidepanel-animations.mjs +26 -26
- package/esm2020/sidepanel/sidepanel-config.mjs +26 -26
- package/esm2020/sidepanel/sidepanel-container.component.mjs +106 -106
- package/esm2020/sidepanel/sidepanel-directives.mjs +159 -159
- package/esm2020/sidepanel/sidepanel-ref.mjs +53 -53
- package/esm2020/sidepanel/sidepanel.module.mjs +74 -74
- package/esm2020/sidepanel/sidepanel.service.mjs +167 -167
- package/esm2020/splitter/index.mjs +2 -2
- package/esm2020/splitter/ptsecurity-mosaic-splitter.mjs +4 -4
- package/esm2020/splitter/public-api.mjs +3 -3
- package/esm2020/splitter/splitter.component.mjs +482 -482
- package/esm2020/splitter/splitter.module.mjs +40 -40
- package/esm2020/table/index.mjs +2 -2
- package/esm2020/table/ptsecurity-mosaic-table.mjs +4 -4
- package/esm2020/table/public-api.mjs +3 -3
- package/esm2020/table/table.component.mjs +16 -16
- package/esm2020/table/table.module.mjs +30 -30
- package/esm2020/tabs/index.mjs +2 -2
- package/esm2020/tabs/paginated-tab-header.mjs +479 -479
- package/esm2020/tabs/ptsecurity-mosaic-tabs.mjs +4 -4
- package/esm2020/tabs/public-api.mjs +11 -11
- package/esm2020/tabs/tab-body.component.mjs +178 -178
- package/esm2020/tabs/tab-content.directive.mjs +15 -15
- package/esm2020/tabs/tab-group.component.mjs +350 -350
- package/esm2020/tabs/tab-header.component.mjs +67 -67
- package/esm2020/tabs/tab-label-wrapper.directive.mjs +78 -78
- package/esm2020/tabs/tab-label.directive.mjs +17 -17
- package/esm2020/tabs/tab-nav-bar/index.mjs +2 -2
- package/esm2020/tabs/tab-nav-bar/tab-nav-bar.mjs +110 -110
- package/esm2020/tabs/tab.component.mjs +133 -133
- package/esm2020/tabs/tabs-animations.mjs +24 -24
- package/esm2020/tabs/tabs.module.mjs +104 -104
- package/esm2020/tags/index.mjs +2 -2
- package/esm2020/tags/ptsecurity-mosaic-tags.mjs +4 -4
- package/esm2020/tags/public-api.mjs +6 -6
- package/esm2020/tags/tag-default-options.mjs +4 -4
- package/esm2020/tags/tag-input.mjs +229 -229
- package/esm2020/tags/tag-list.component.mjs +722 -722
- package/esm2020/tags/tag-text-control.mjs +2 -2
- package/esm2020/tags/tag.component.mjs +375 -375
- package/esm2020/tags/tag.module.mjs +56 -56
- package/esm2020/textarea/index.mjs +2 -2
- package/esm2020/textarea/ptsecurity-mosaic-textarea.mjs +4 -4
- package/esm2020/textarea/public-api.mjs +3 -3
- package/esm2020/textarea/textarea.component.mjs +269 -269
- package/esm2020/textarea/textarea.module.mjs +21 -21
- package/esm2020/timepicker/index.mjs +2 -2
- package/esm2020/timepicker/ptsecurity-mosaic-timepicker.mjs +4 -4
- package/esm2020/timepicker/public-api.mjs +4 -4
- package/esm2020/timepicker/timepicker.constants.mjs +25 -25
- package/esm2020/timepicker/timepicker.directive.mjs +665 -665
- package/esm2020/timepicker/timepicker.module.mjs +34 -34
- package/esm2020/toggle/index.mjs +2 -2
- package/esm2020/toggle/ptsecurity-mosaic-toggle.mjs +4 -4
- package/esm2020/toggle/public-api.mjs +3 -3
- package/esm2020/toggle/toggle.component.mjs +158 -158
- package/esm2020/toggle/toggle.module.mjs +20 -20
- package/esm2020/tooltip/index.mjs +2 -2
- package/esm2020/tooltip/ptsecurity-mosaic-tooltip.mjs +4 -4
- package/esm2020/tooltip/public-api.mjs +3 -3
- package/esm2020/tooltip/tooltip.animations.mjs +19 -19
- package/esm2020/tooltip/tooltip.component.mjs +295 -295
- package/esm2020/tooltip/tooltip.module.mjs +43 -43
- package/esm2020/tree/control/base-tree-control.mjs +60 -60
- package/esm2020/tree/control/flat-tree-control.mjs +126 -126
- package/esm2020/tree/control/nested-tree-control.mjs +41 -41
- package/esm2020/tree/control/tree-control.mjs +2 -2
- package/esm2020/tree/data-source/flat-data-source.mjs +162 -162
- package/esm2020/tree/data-source/nested-data-source.mjs +30 -30
- package/esm2020/tree/index.mjs +2 -2
- package/esm2020/tree/node.mjs +31 -31
- package/esm2020/tree/outlet.mjs +15 -15
- package/esm2020/tree/padding.directive.mjs +113 -113
- package/esm2020/tree/ptsecurity-mosaic-tree.mjs +4 -4
- package/esm2020/tree/public-api.mjs +16 -16
- package/esm2020/tree/toggle.mjs +80 -80
- package/esm2020/tree/tree-base.mjs +243 -243
- package/esm2020/tree/tree-errors.mjs +36 -36
- package/esm2020/tree/tree-option.component.mjs +248 -248
- package/esm2020/tree/tree-selection.component.mjs +540 -540
- package/esm2020/tree/tree.mjs +15 -15
- package/esm2020/tree/tree.module.mjs +57 -57
- package/esm2020/tree-select/index.mjs +2 -2
- package/esm2020/tree-select/ptsecurity-mosaic-tree-select.mjs +4 -4
- package/esm2020/tree-select/public-api.mjs +3 -3
- package/esm2020/tree-select/tree-select.component.mjs +939 -939
- package/esm2020/tree-select/tree-select.module.mjs +47 -47
- package/fesm2015/ptsecurity-mosaic-autocomplete.mjs +726 -726
- package/fesm2015/ptsecurity-mosaic-autocomplete.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-button-toggle.mjs +367 -367
- package/fesm2015/ptsecurity-mosaic-button-toggle.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-button.mjs +160 -160
- package/fesm2015/ptsecurity-mosaic-button.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-card.mjs +96 -96
- package/fesm2015/ptsecurity-mosaic-card.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-checkbox.mjs +348 -348
- package/fesm2015/ptsecurity-mosaic-checkbox.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-core.mjs +2652 -2652
- package/fesm2015/ptsecurity-mosaic-core.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-datepicker.mjs +2682 -2682
- package/fesm2015/ptsecurity-mosaic-datepicker.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-design-tokens.mjs +2344 -2344
- package/fesm2015/ptsecurity-mosaic-design-tokens.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-divider.mjs +48 -48
- package/fesm2015/ptsecurity-mosaic-divider.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-dl.mjs +108 -108
- package/fesm2015/ptsecurity-mosaic-dl.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-dropdown.mjs +1069 -1069
- package/fesm2015/ptsecurity-mosaic-dropdown.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-form-field.mjs +511 -511
- package/fesm2015/ptsecurity-mosaic-form-field.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-icon.mjs +73 -73
- package/fesm2015/ptsecurity-mosaic-icon.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-input.mjs +979 -979
- package/fesm2015/ptsecurity-mosaic-input.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-link.mjs +121 -121
- package/fesm2015/ptsecurity-mosaic-link.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-list.mjs +762 -762
- package/fesm2015/ptsecurity-mosaic-list.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-modal.mjs +824 -824
- package/fesm2015/ptsecurity-mosaic-modal.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-navbar.mjs +993 -993
- package/fesm2015/ptsecurity-mosaic-navbar.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-popover.mjs +364 -364
- package/fesm2015/ptsecurity-mosaic-popover.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-progress-bar.mjs +61 -61
- package/fesm2015/ptsecurity-mosaic-progress-bar.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-progress-spinner.mjs +65 -65
- package/fesm2015/ptsecurity-mosaic-progress-spinner.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-radio.mjs +464 -464
- package/fesm2015/ptsecurity-mosaic-radio.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-select.mjs +1213 -1213
- package/fesm2015/ptsecurity-mosaic-select.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-sidebar.mjs +185 -185
- package/fesm2015/ptsecurity-mosaic-sidebar.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-sidepanel.mjs +555 -555
- package/fesm2015/ptsecurity-mosaic-sidepanel.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-splitter.mjs +511 -511
- package/fesm2015/ptsecurity-mosaic-splitter.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-table.mjs +36 -36
- package/fesm2015/ptsecurity-mosaic-table.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-tabs.mjs +1460 -1460
- package/fesm2015/ptsecurity-mosaic-tabs.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-tags.mjs +1342 -1342
- package/fesm2015/ptsecurity-mosaic-tags.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-textarea.mjs +274 -274
- package/fesm2015/ptsecurity-mosaic-textarea.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-timepicker.mjs +703 -703
- package/fesm2015/ptsecurity-mosaic-timepicker.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-toggle.mjs +163 -163
- package/fesm2015/ptsecurity-mosaic-toggle.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-tooltip.mjs +344 -344
- package/fesm2015/ptsecurity-mosaic-tooltip.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-tree-select.mjs +954 -954
- package/fesm2015/ptsecurity-mosaic-tree-select.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-tree.mjs +1688 -1688
- package/fesm2015/ptsecurity-mosaic-tree.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic.mjs +2 -2
- package/fesm2020/ptsecurity-mosaic-autocomplete.mjs +722 -722
- package/fesm2020/ptsecurity-mosaic-autocomplete.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-button-toggle.mjs +365 -365
- package/fesm2020/ptsecurity-mosaic-button-toggle.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-button.mjs +160 -160
- package/fesm2020/ptsecurity-mosaic-button.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-card.mjs +96 -96
- package/fesm2020/ptsecurity-mosaic-card.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-checkbox.mjs +346 -346
- package/fesm2020/ptsecurity-mosaic-checkbox.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-core.mjs +2681 -2681
- package/fesm2020/ptsecurity-mosaic-core.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-datepicker.mjs +2667 -2667
- package/fesm2020/ptsecurity-mosaic-datepicker.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-design-tokens.mjs +2344 -2344
- package/fesm2020/ptsecurity-mosaic-design-tokens.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-divider.mjs +48 -48
- package/fesm2020/ptsecurity-mosaic-divider.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-dl.mjs +108 -108
- package/fesm2020/ptsecurity-mosaic-dl.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-dropdown.mjs +1056 -1056
- package/fesm2020/ptsecurity-mosaic-dropdown.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-form-field.mjs +496 -496
- package/fesm2020/ptsecurity-mosaic-form-field.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-icon.mjs +71 -71
- package/fesm2020/ptsecurity-mosaic-icon.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-input.mjs +968 -968
- package/fesm2020/ptsecurity-mosaic-input.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-link.mjs +120 -120
- package/fesm2020/ptsecurity-mosaic-link.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-list.mjs +755 -755
- package/fesm2020/ptsecurity-mosaic-list.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-modal.mjs +820 -820
- package/fesm2020/ptsecurity-mosaic-modal.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-navbar.mjs +977 -977
- package/fesm2020/ptsecurity-mosaic-navbar.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-popover.mjs +360 -360
- package/fesm2020/ptsecurity-mosaic-popover.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-progress-bar.mjs +61 -61
- package/fesm2020/ptsecurity-mosaic-progress-bar.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-progress-spinner.mjs +65 -65
- package/fesm2020/ptsecurity-mosaic-progress-spinner.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-radio.mjs +462 -462
- package/fesm2020/ptsecurity-mosaic-radio.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-select.mjs +1208 -1208
- package/fesm2020/ptsecurity-mosaic-select.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-sidebar.mjs +185 -185
- package/fesm2020/ptsecurity-mosaic-sidebar.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-sidepanel.mjs +552 -552
- package/fesm2020/ptsecurity-mosaic-sidepanel.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-splitter.mjs +511 -511
- package/fesm2020/ptsecurity-mosaic-splitter.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-table.mjs +36 -36
- package/fesm2020/ptsecurity-mosaic-table.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-tabs.mjs +1445 -1445
- package/fesm2020/ptsecurity-mosaic-tabs.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-tags.mjs +1335 -1335
- package/fesm2020/ptsecurity-mosaic-tags.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-textarea.mjs +272 -272
- package/fesm2020/ptsecurity-mosaic-textarea.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-timepicker.mjs +700 -700
- package/fesm2020/ptsecurity-mosaic-timepicker.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-toggle.mjs +163 -163
- package/fesm2020/ptsecurity-mosaic-toggle.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-tooltip.mjs +336 -336
- package/fesm2020/ptsecurity-mosaic-tooltip.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-tree-select.mjs +951 -951
- package/fesm2020/ptsecurity-mosaic-tree-select.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-tree.mjs +1675 -1675
- package/fesm2020/ptsecurity-mosaic-tree.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic.mjs +2 -2
- package/form-field/cleaner.d.ts +7 -7
- package/form-field/form-field-control.d.ts +37 -37
- package/form-field/form-field-errors.d.ts +2 -2
- package/form-field/form-field.d.ts +69 -69
- package/form-field/form-field.module.d.ts +15 -15
- package/form-field/hint.d.ts +6 -6
- package/form-field/index.d.ts +1 -1
- package/form-field/password-hint.d.ts +40 -40
- package/form-field/prefix.d.ts +5 -5
- package/form-field/ptsecurity-mosaic-form-field.d.ts +5 -5
- package/form-field/public-api.d.ts +10 -10
- package/form-field/stepper.d.ts +11 -11
- package/form-field/suffix.d.ts +5 -5
- package/icon/icon.component.d.ts +18 -18
- package/icon/icon.module.d.ts +10 -10
- package/icon/index.d.ts +1 -1
- package/icon/ptsecurity-mosaic-icon.d.ts +5 -5
- package/icon/public-api.d.ts +2 -2
- package/index.d.ts +1 -1
- package/input/index.d.ts +1 -1
- package/input/input-errors.d.ts +1 -1
- package/input/input-number-validators.d.ts +39 -39
- package/input/input-number.d.ts +33 -33
- package/input/input-password.d.ts +123 -123
- package/input/input-value-accessor.d.ts +4 -4
- package/input/input.d.ts +116 -116
- package/input/input.module.d.ts +14 -14
- package/input/ptsecurity-mosaic-input.d.ts +5 -5
- package/input/public-api.d.ts +6 -6
- package/link/index.d.ts +1 -1
- package/link/link.component.d.ts +38 -38
- package/link/link.module.d.ts +9 -9
- package/link/ptsecurity-mosaic-link.d.ts +5 -5
- package/link/public-api.d.ts +2 -2
- package/list/index.d.ts +1 -1
- package/list/list-selection.component.d.ts +168 -168
- package/list/list.component.d.ts +18 -18
- package/list/list.module.d.ts +11 -11
- package/list/ptsecurity-mosaic-list.d.ts +5 -5
- package/list/public-api.d.ts +3 -3
- package/modal/README.md +33 -33
- package/modal/css-unit.pipe.d.ts +7 -7
- package/modal/index.d.ts +1 -1
- package/modal/modal-control.service.d.ts +20 -20
- package/modal/modal-ref.class.d.ts +36 -36
- package/modal/modal-util.d.ts +12 -12
- package/modal/modal.component.d.ts +126 -126
- package/modal/modal.directive.d.ts +17 -17
- package/modal/modal.module.d.ts +14 -14
- package/modal/modal.service.d.ts +33 -33
- package/modal/modal.type.d.ts +59 -59
- package/modal/ptsecurity-mosaic-modal.d.ts +5 -5
- package/modal/public-api.d.ts +6 -6
- package/navbar/README.md +41 -41
- package/navbar/index.d.ts +1 -1
- package/navbar/navbar-item.component.d.ts +161 -161
- package/navbar/navbar.component.d.ts +58 -58
- package/navbar/navbar.module.d.ts +14 -14
- package/navbar/ptsecurity-mosaic-navbar.d.ts +5 -5
- package/navbar/public-api.d.ts +4 -4
- package/navbar/vertical-navbar.animation.d.ts +2 -2
- package/navbar/vertical-navbar.component.d.ts +23 -23
- package/package.json +4 -4
- package/popover/README.md +32 -32
- package/popover/index.d.ts +1 -1
- package/popover/popover-animations.d.ts +4 -4
- package/popover/popover-confirm.component.d.ts +33 -33
- package/popover/popover.component.d.ts +74 -74
- package/popover/popover.module.d.ts +12 -12
- package/popover/ptsecurity-mosaic-popover.d.ts +5 -5
- package/popover/public-api.d.ts +4 -4
- package/progress-bar/index.d.ts +1 -1
- package/progress-bar/progress-bar.component.d.ts +18 -18
- package/progress-bar/progress-bar.module.d.ts +9 -9
- package/progress-bar/ptsecurity-mosaic-progress-bar.d.ts +5 -5
- package/progress-bar/public-api.d.ts +2 -2
- package/progress-spinner/index.d.ts +1 -1
- package/progress-spinner/progress-spinner.component.d.ts +19 -19
- package/progress-spinner/progress-spinner.module.d.ts +9 -9
- package/progress-spinner/ptsecurity-mosaic-progress-spinner.d.ts +5 -5
- package/progress-spinner/public-api.d.ts +2 -2
- package/ptsecurity-mosaic.d.ts +5 -5
- package/public-api.d.ts +1 -1
- package/radio/index.d.ts +1 -1
- package/radio/ptsecurity-mosaic-radio.d.ts +5 -5
- package/radio/public-api.d.ts +2 -2
- package/radio/radio.component.d.ts +207 -207
- package/radio/radio.module.d.ts +10 -10
- package/schematics/README.md +35 -35
- package/schematics/collection.json +4 -0
- package/schematics/migration.json +10 -0
- package/schematics/ng-update/data/attribute-selectors.d.ts +2 -0
- package/schematics/ng-update/data/attribute-selectors.js +5 -0
- package/schematics/ng-update/data/attribute-selectors.js.map +1 -0
- package/schematics/ng-update/data/class-names.d.ts +2 -0
- package/schematics/ng-update/data/class-names.js +5 -0
- package/schematics/ng-update/data/class-names.js.map +1 -0
- package/schematics/ng-update/data/constructor-checks.d.ts +2 -0
- package/schematics/ng-update/data/constructor-checks.js +5 -0
- package/schematics/ng-update/data/constructor-checks.js.map +1 -0
- package/schematics/ng-update/data/css-selectors.d.ts +2 -0
- package/schematics/ng-update/data/css-selectors.js +5 -0
- package/schematics/ng-update/data/css-selectors.js.map +1 -0
- package/schematics/ng-update/data/element-selectors.d.ts +2 -0
- package/schematics/ng-update/data/element-selectors.js +5 -0
- package/schematics/ng-update/data/element-selectors.js.map +1 -0
- package/schematics/ng-update/data/index.d.ts +10 -0
- package/schematics/ng-update/data/index.js +14 -0
- package/schematics/ng-update/data/index.js.map +1 -0
- package/schematics/ng-update/data/input-names.d.ts +2 -0
- package/schematics/ng-update/data/input-names.js +35 -0
- package/schematics/ng-update/data/input-names.js.map +1 -0
- package/schematics/ng-update/data/method-call-checks.d.ts +2 -0
- package/schematics/ng-update/data/method-call-checks.js +5 -0
- package/schematics/ng-update/data/method-call-checks.js.map +1 -0
- package/schematics/ng-update/data/output-names.d.ts +2 -0
- package/schematics/ng-update/data/output-names.js +5 -0
- package/schematics/ng-update/data/output-names.js.map +1 -0
- package/schematics/ng-update/data/property-names.d.ts +2 -0
- package/schematics/ng-update/data/property-names.js +5 -0
- package/schematics/ng-update/data/property-names.js.map +1 -0
- package/schematics/ng-update/data/symbol-removal.d.ts +2 -0
- package/schematics/ng-update/data/symbol-removal.js +5 -0
- package/schematics/ng-update/data/symbol-removal.js.map +1 -0
- package/schematics/ng-update/index.d.ts +2 -0
- package/schematics/ng-update/index.js +23 -0
- package/schematics/ng-update/index.js.map +1 -0
- package/schematics/ng-update/update-9.0.0/mosaic-symbols.json +255 -0
- package/schematics/ng-update/update-9.0.0/secondary-entry-points-migration.d.ts +7 -0
- package/schematics/ng-update/update-9.0.0/secondary-entry-points-migration.js +154 -0
- package/schematics/ng-update/update-9.0.0/secondary-entry-points-migration.js.map +1 -0
- package/schematics/ng-update/upgrade-data.d.ts +2 -0
- package/schematics/ng-update/upgrade-data.js +17 -0
- package/schematics/ng-update/upgrade-data.js.map +1 -0
- package/schematics/tsconfig.json +29 -0
- package/schematics/tsconfig.lib-test.json +8 -0
- package/schematics/tsconfig.lib.json +17 -0
- package/select/index.d.ts +1 -1
- package/select/ptsecurity-mosaic-select.d.ts +5 -5
- package/select/public-api.d.ts +3 -3
- package/select/select-option.directive.d.ts +20 -20
- package/select/select.component.d.ts +310 -310
- package/select/select.module.d.ts +15 -15
- package/sidebar/index.d.ts +1 -1
- package/sidebar/ptsecurity-mosaic-sidebar.d.ts +5 -5
- package/sidebar/public-api.d.ts +2 -2
- package/sidebar/sidebar-animations.d.ts +8 -8
- package/sidebar/sidebar.component.d.ts +53 -53
- package/sidebar/sidebar.module.d.ts +8 -8
- package/sidepanel/index.d.ts +1 -1
- package/sidepanel/ptsecurity-mosaic-sidepanel.d.ts +5 -5
- package/sidepanel/public-api.d.ts +6 -6
- package/sidepanel/sidepanel-animations.d.ts +14 -14
- package/sidepanel/sidepanel-config.d.ts +25 -25
- package/sidepanel/sidepanel-container.component.d.ts +45 -45
- package/sidepanel/sidepanel-directives.d.ts +50 -50
- package/sidepanel/sidepanel-ref.d.ts +24 -24
- package/sidepanel/sidepanel.module.d.ts +15 -15
- package/sidepanel/sidepanel.service.d.ts +57 -57
- package/splitter/index.d.ts +1 -1
- package/splitter/ptsecurity-mosaic-splitter.d.ts +5 -5
- package/splitter/public-api.d.ts +2 -2
- package/splitter/splitter.component.d.ts +130 -130
- package/splitter/splitter.module.d.ts +9 -9
- package/table/index.d.ts +1 -1
- package/table/ptsecurity-mosaic-table.d.ts +5 -5
- package/table/public-api.d.ts +2 -2
- package/table/table.component.d.ts +5 -5
- package/table/table.module.d.ts +10 -10
- package/tabs/index.d.ts +1 -1
- package/tabs/paginated-tab-header.d.ts +179 -179
- package/tabs/ptsecurity-mosaic-tabs.d.ts +5 -5
- package/tabs/public-api.d.ts +10 -10
- package/tabs/tab-body.component.d.ts +95 -95
- package/tabs/tab-content.directive.d.ts +9 -9
- package/tabs/tab-group.component.d.ts +133 -133
- package/tabs/tab-header.component.d.ts +35 -35
- package/tabs/tab-label-wrapper.directive.d.ts +30 -30
- package/tabs/tab-label.directive.d.ts +9 -9
- package/tabs/tab-nav-bar/index.d.ts +1 -1
- package/tabs/tab-nav-bar/tab-nav-bar.d.ts +38 -38
- package/tabs/tab.component.d.ts +66 -66
- package/tabs/tabs-animations.d.ts +4 -4
- package/tabs/tabs.module.d.ts +20 -20
- package/tags/index.d.ts +1 -1
- package/tags/ptsecurity-mosaic-tags.d.ts +5 -5
- package/tags/public-api.d.ts +5 -5
- package/tags/tag-default-options.d.ts +8 -8
- package/tags/tag-input.d.ts +77 -77
- package/tags/tag-list.component.d.ts +240 -240
- package/tags/tag-text-control.d.ts +10 -10
- package/tags/tag.component.d.ts +135 -135
- package/tags/tag.module.d.ts +11 -11
- package/textarea/index.d.ts +1 -1
- package/textarea/ptsecurity-mosaic-textarea.d.ts +5 -5
- package/textarea/public-api.d.ts +2 -2
- package/textarea/textarea.component.d.ts +111 -111
- package/textarea/textarea.module.d.ts +11 -11
- package/timepicker/index.d.ts +1 -1
- package/timepicker/ptsecurity-mosaic-timepicker.d.ts +5 -5
- package/timepicker/public-api.d.ts +3 -3
- package/timepicker/timepicker.constants.d.ts +20 -20
- package/timepicker/timepicker.directive.d.ts +146 -146
- package/timepicker/timepicker.module.d.ts +11 -11
- package/toggle/index.d.ts +1 -1
- package/toggle/ptsecurity-mosaic-toggle.d.ts +5 -5
- package/toggle/public-api.d.ts +2 -2
- package/toggle/toggle.component.d.ts +54 -54
- package/toggle/toggle.module.d.ts +10 -10
- package/tooltip/index.d.ts +1 -1
- package/tooltip/ptsecurity-mosaic-tooltip.d.ts +5 -5
- package/tooltip/public-api.d.ts +2 -2
- package/tooltip/tooltip.animations.d.ts +8 -8
- package/tooltip/tooltip.component.d.ts +91 -91
- package/tooltip/tooltip.module.d.ts +9 -9
- package/tree/control/base-tree-control.d.ts +40 -40
- package/tree/control/flat-tree-control.d.ts +52 -52
- package/tree/control/nested-tree-control.d.ts +19 -19
- package/tree/control/tree-control.d.ts +44 -44
- package/tree/data-source/flat-data-source.d.ts +80 -80
- package/tree/data-source/nested-data-source.d.ts +15 -15
- package/tree/index.d.ts +1 -1
- package/tree/node.d.ts +34 -34
- package/tree/outlet.d.ts +9 -9
- package/tree/padding.directive.d.ts +47 -47
- package/tree/ptsecurity-mosaic-tree.d.ts +5 -5
- package/tree/public-api.d.ts +15 -15
- package/tree/toggle.d.ts +28 -28
- package/tree/tree-base.d.ts +97 -97
- package/tree/tree-errors.d.ts +25 -25
- package/tree/tree-option.component.d.ts +72 -72
- package/tree/tree-selection.component.d.ts +132 -132
- package/tree/tree.d.ts +6 -6
- package/tree/tree.module.d.ts +16 -16
- package/tree-select/index.d.ts +1 -1
- package/tree-select/ptsecurity-mosaic-tree-select.d.ts +5 -5
- package/tree-select/public-api.d.ts +2 -2
- package/tree-select/tree-select.component.d.ts +277 -277
- package/tree-select/tree-select.module.d.ts +14 -14
- package/toggle/README.md +0 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ptsecurity-mosaic-tree-select.mjs","sources":["../../../packages/mosaic/tree-select/tree-select.component.ts","../../../packages/mosaic/tree-select/tree-select.html","../../../packages/mosaic/tree-select/tree-select.module.ts","../../../packages/mosaic/tree-select/ptsecurity-mosaic-tree-select.ts"],"sourcesContent":["/* tslint:disable:no-empty */\r\n\r\nimport { Directionality } from '@angular/cdk/bidi';\r\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\r\nimport { SelectionModel } from '@angular/cdk/collections';\r\nimport {\r\n CdkConnectedOverlay,\r\n ConnectedPosition,\r\n ViewportRuler\r\n} from '@angular/cdk/overlay';\r\nimport {\r\n AfterContentInit,\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ContentChild,\r\n Directive,\r\n DoCheck,\r\n ElementRef,\r\n EventEmitter,\r\n Inject,\r\n Input,\r\n NgZone,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n Optional,\r\n Output,\r\n QueryList,\r\n Renderer2,\r\n Self,\r\n SimpleChanges,\r\n ViewChild,\r\n ViewChildren,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport {\r\n ControlValueAccessor,\r\n FormControlName,\r\n FormGroupDirective,\r\n NG_VALIDATORS,\r\n NgControl,\r\n NgForm,\r\n NgModel,\r\n Validator\r\n} from '@angular/forms';\r\nimport {\r\n DOWN_ARROW,\r\n END,\r\n ENTER,\r\n HOME,\r\n LEFT_ARROW,\r\n RIGHT_ARROW,\r\n SPACE,\r\n UP_ARROW,\r\n A,\r\n PAGE_UP,\r\n PAGE_DOWN,\r\n hasModifierKey\r\n} from '@ptsecurity/cdk/keycodes';\r\nimport {\r\n CanDisable,\r\n CanUpdateErrorState,\r\n ErrorStateMatcher,\r\n HasTabIndex,\r\n CanDisableCtor,\r\n HasTabIndexCtor,\r\n CanUpdateErrorStateCtor,\r\n mixinTabIndex,\r\n mixinDisabled,\r\n mixinErrorState,\r\n mcSelectAnimations,\r\n\r\n SELECT_PANEL_PADDING_X,\r\n SELECT_PANEL_VIEWPORT_PADDING,\r\n MC_SELECT_SCROLL_STRATEGY,\r\n\r\n getMcSelectDynamicMultipleError,\r\n getMcSelectNonFunctionValueError,\r\n getMcSelectNonArrayValueError,\r\n MultipleMode,\r\n\r\n MC_VALIDATION,\r\n setMosaicValidation,\r\n McValidationOptions\r\n} from '@ptsecurity/mosaic/core';\r\nimport { McCleaner, McFormField, McFormFieldControl } from '@ptsecurity/mosaic/form-field';\r\nimport { McSelectSearch } from '@ptsecurity/mosaic/select';\r\nimport { McTag } from '@ptsecurity/mosaic/tags';\r\nimport { McTree, McTreeSelection, McTreeOption } from '@ptsecurity/mosaic/tree';\r\nimport { defer, merge, Observable, Subject, Subscription } from 'rxjs';\r\nimport {\r\n filter,\r\n map,\r\n switchMap,\r\n take,\r\n takeUntil,\r\n distinctUntilChanged,\r\n startWith\r\n} from 'rxjs/operators';\r\n\r\n\r\nlet nextUniqueId = 0;\r\n\r\nexport interface ITriggerValue {\r\n disabled: boolean;\r\n value: string;\r\n viewValue: string;\r\n}\r\n\r\n/** Change event object that is emitted when the select value has changed. */\r\nexport class McTreeSelectChange {\r\n constructor(public source: McTreeSelect, public value: any, public isUserInput = false) {}\r\n}\r\n\r\n\r\n@Directive({ selector: 'mc-tree-select-trigger' })\r\nexport class McTreeSelectTrigger {}\r\n\r\n@Directive({ selector: 'mc-tree-select-footer' })\r\nexport class McTreeSelectFooter {}\r\n\r\nclass McTreeSelectBase {\r\n constructor(\r\n public elementRef: ElementRef,\r\n public defaultErrorStateMatcher: ErrorStateMatcher,\r\n public parentForm: NgForm,\r\n public parentFormGroup: FormGroupDirective,\r\n public ngControl: NgControl\r\n ) {}\r\n}\r\n\r\n// tslint:disable-next-line:naming-convention\r\nconst McTreeSelectMixinBase: CanDisableCtor & HasTabIndexCtor & CanUpdateErrorStateCtor &\r\n typeof McTreeSelectBase = mixinTabIndex(mixinDisabled(mixinErrorState(McTreeSelectBase)));\r\n\r\n\r\n@Component({\r\n selector: 'mc-tree-select',\r\n exportAs: 'mcTreeSelect',\r\n templateUrl: 'tree-select.html',\r\n styleUrls: ['./tree-select.scss'],\r\n inputs: ['disabled', 'tabIndex'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n class: 'mc-tree-select',\r\n '[class.mc-disabled]': 'disabled',\r\n '[class.mc-invalid]': 'errorState',\r\n\r\n '[attr.id]': 'id',\r\n '[attr.tabindex]': 'tabIndex',\r\n '[attr.disabled]': 'disabled || null',\r\n\r\n '(click)': 'toggle()',\r\n '(keydown)': 'handleKeydown($event)',\r\n '(focus)': 'onFocus()',\r\n '(blur)': 'onBlur()',\r\n '(window:resize)': 'calculateHiddenItems()'\r\n },\r\n animations: [\r\n mcSelectAnimations.transformPanel,\r\n mcSelectAnimations.fadeInContent\r\n ],\r\n providers: [\r\n { provide: McFormFieldControl, useExisting: McTreeSelect },\r\n { provide: McTree, useExisting: McTreeSelect }\r\n ]\r\n})\r\nexport class McTreeSelect extends McTreeSelectMixinBase implements\r\n AfterContentInit, AfterViewInit, OnChanges, OnDestroy, OnInit, DoCheck, ControlValueAccessor,\r\n CanDisable, HasTabIndex, McFormFieldControl<McTreeOption>, CanUpdateErrorState {\r\n\r\n /** A name for this control that can be used by `mc-form-field`. */\r\n controlType = 'select';\r\n\r\n hiddenItems: number = 0;\r\n\r\n /** The last measured value for the trigger's client bounding rect. */\r\n triggerRect: ClientRect;\r\n\r\n /** The cached font-size of the trigger element. */\r\n triggerFontSize = 0;\r\n\r\n /** Deals with the selection logic. */\r\n selectionModel: SelectionModel<any>;\r\n\r\n /** The value of the select panel's transform-origin property. */\r\n transformOrigin: string = 'top';\r\n\r\n /** Emits when the panel element is finished transforming in. */\r\n panelDoneAnimatingStream = new Subject<string>();\r\n\r\n /** Strategy that will be used to handle scrolling while the select panel is open. */\r\n scrollStrategy = this.scrollStrategyFactory();\r\n\r\n /**\r\n * The y-offset of the overlay panel in relation to the trigger's top start corner.\r\n * This must be adjusted to align the selected option text over the trigger text.\r\n * when the panel opens. Will change based on the y-position of the selected option.\r\n */\r\n offsetY = 0;\r\n\r\n /**\r\n * This position config ensures that the top \"start\" corner of the overlay\r\n * is aligned with with the top \"start\" of the origin by default (overlapping\r\n * the trigger completely). If the panel cannot fit below the trigger, it\r\n * will fall back to a position above the trigger.\r\n */\r\n positions: ConnectedPosition[] = [\r\n {\r\n originX: 'start',\r\n originY: 'bottom',\r\n overlayX: 'start',\r\n overlayY: 'top'\r\n },\r\n {\r\n originX: 'start',\r\n originY: 'top',\r\n overlayX: 'start',\r\n overlayY: 'bottom'\r\n }\r\n ];\r\n\r\n options: QueryList<McTreeOption>;\r\n\r\n @ViewChild('trigger', { static: false }) trigger: ElementRef;\r\n\r\n @ViewChild('panel', { static: false }) panel: ElementRef;\r\n\r\n @ViewChild(CdkConnectedOverlay, { static: false }) overlayDir: CdkConnectedOverlay;\r\n\r\n @ViewChildren(McTag) tags: QueryList<McTag>;\r\n\r\n @ContentChild('mcSelectCleaner', { static: true }) cleaner: McCleaner;\r\n\r\n /** User-supplied override of the trigger element. */\r\n @ContentChild(McTreeSelectTrigger, { static: false }) customTrigger: McTreeSelectTrigger;\r\n\r\n @ContentChild(McTreeSelection, { static: false }) tree: McTreeSelection;\r\n\r\n @ContentChild(McSelectSearch, { static: false }) search: McSelectSearch;\r\n\r\n @Input() hiddenItemsText: string = '...ещё';\r\n\r\n /** Event emitted when the select panel has been toggled. */\r\n @Output() readonly openedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n /** Event emitted when the select has been opened. */\r\n @Output('opened') readonly openedStream: Observable<void> =\r\n this.openedChange.pipe(filter((o) => o), map(() => {}));\r\n\r\n /** Event emitted when the select has been closed. */\r\n @Output('closed') readonly closedStream: Observable<void> =\r\n this.openedChange.pipe(filter((o) => !o), map(() => {}));\r\n\r\n /** Event emitted when the selected value has been changed by the user. */\r\n @Output() readonly selectionChange = new EventEmitter<McTreeSelectChange>();\r\n\r\n /**\r\n * Event that emits whenever the raw value of the select changes. This is here primarily\r\n * to facilitate the two-way binding for the `value` input.\r\n * @docs-private\r\n */\r\n @Output() readonly valueChange: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n /** Classes to be passed to the select panel. Supports the same syntax as `ngClass`. */\r\n @Input() panelClass: string | string[] | Set<string> | { [key: string]: any };\r\n\r\n @Input() backdropClass: string = 'cdk-overlay-transparent-backdrop';\r\n\r\n /** Object used to control when error messages are shown. */\r\n @Input() errorStateMatcher: ErrorStateMatcher;\r\n\r\n /**\r\n * Function used to sort the values in a select in multiple mode.\r\n * Follows the same logic as `Array.prototype.sort`.\r\n */\r\n @Input() sortComparator: (a: McTreeOption, b: McTreeOption, options: McTreeOption[]) => number;\r\n\r\n /** Combined stream of all of the child options' change events. */\r\n readonly optionSelectionChanges: Observable<McTreeSelectChange> = defer(() => {\r\n if (this.options) {\r\n return this.options.changes.pipe(\r\n startWith(this.options),\r\n switchMap(() => merge(...this.options.map((option) => option.onSelectionChange)))\r\n );\r\n }\r\n\r\n return this.ngZone.onStable\r\n .asObservable()\r\n .pipe(take(1), switchMap(() => this.optionSelectionChanges));\r\n }) as Observable<McTreeSelectChange>;\r\n\r\n @Input()\r\n get placeholder(): string {\r\n return this._placeholder;\r\n }\r\n\r\n set placeholder(value: string) {\r\n this._placeholder = value;\r\n\r\n this.stateChanges.next();\r\n }\r\n\r\n private _placeholder: string;\r\n\r\n @Input()\r\n get required(): boolean {\r\n return this._required;\r\n }\r\n\r\n set required(value: boolean) {\r\n this._required = coerceBooleanProperty(value);\r\n\r\n this.stateChanges.next();\r\n }\r\n\r\n private _required: boolean = false;\r\n\r\n @Input()\r\n get multiple(): boolean {\r\n return this._multiple;\r\n }\r\n\r\n set multiple(value: boolean) {\r\n if (this.selectionModel) {\r\n throw getMcSelectDynamicMultipleError();\r\n }\r\n\r\n this._multiple = coerceBooleanProperty(value);\r\n }\r\n\r\n private _multiple: boolean = false;\r\n\r\n @Input()\r\n get autoSelect(): boolean {\r\n if (this.multiple) { return false; }\r\n\r\n return this._autoSelect;\r\n }\r\n\r\n set autoSelect(value: boolean) {\r\n this._autoSelect = coerceBooleanProperty(value);\r\n }\r\n\r\n private _autoSelect: boolean = true;\r\n\r\n /**\r\n * Function to compare the option values with the selected values. The first argument\r\n * is a value from an option. The second is a value from the selection. A boolean\r\n * should be returned.\r\n */\r\n @Input()\r\n get compareWith() {\r\n return this._compareWith;\r\n }\r\n\r\n set compareWith(fn: (o1: any, o2: any) => boolean) {\r\n /* tslint:disable-next-line:strict-type-predicates */\r\n if (typeof fn !== 'function') {\r\n throw getMcSelectNonFunctionValueError();\r\n }\r\n\r\n this._compareWith = fn;\r\n\r\n if (this.selectionModel) {\r\n // A different comparator means the selection could change.\r\n this.initializeSelection();\r\n }\r\n }\r\n\r\n get value(): any {\r\n return this.tree.getSelectedValues();\r\n }\r\n\r\n private _value: any = null;\r\n\r\n @Input()\r\n get id(): string {\r\n return this._id;\r\n }\r\n\r\n set id(value: string) {\r\n this._id = value || this.uid;\r\n this.stateChanges.next();\r\n }\r\n\r\n private _id: string;\r\n\r\n @Input()\r\n get hasBackdrop(): boolean {\r\n return this._hasBackdrop;\r\n }\r\n\r\n set hasBackdrop(value: boolean) {\r\n this._hasBackdrop = coerceBooleanProperty(value);\r\n }\r\n\r\n private _hasBackdrop: boolean = false;\r\n\r\n get disabled() {\r\n return this._disabled;\r\n }\r\n\r\n set disabled(value: any) {\r\n this._disabled = coerceBooleanProperty(value);\r\n\r\n if (this.parentFormField) {\r\n this._disabled ? this.parentFormField.stopFocusMonitor() : this.parentFormField.runFocusMonitor();\r\n }\r\n }\r\n\r\n private _disabled: boolean = false;\r\n\r\n /** Whether the select is focused. */\r\n get focused(): boolean {\r\n return this._focused || this._panelOpen;\r\n }\r\n\r\n set focused(value: boolean) {\r\n this._focused = value;\r\n }\r\n\r\n private _focused = false;\r\n\r\n get panelOpen(): boolean {\r\n return this._panelOpen;\r\n }\r\n\r\n get canShowCleaner(): boolean {\r\n return !this.disabled && this.cleaner && this.selectionModel.hasValue();\r\n }\r\n\r\n isEmptySearchResult: boolean;\r\n\r\n triggerValues: ITriggerValue[] = [];\r\n\r\n private closeSubscription = Subscription.EMPTY;\r\n\r\n private _panelOpen = false;\r\n\r\n private originalOnKeyDown: (event: KeyboardEvent) => void;\r\n\r\n /** The scroll position of the overlay panel, calculated to center the selected option. */\r\n private scrollTop = 0;\r\n\r\n /** Unique id for this input. */\r\n private readonly uid = `mc-select-${nextUniqueId++}`;\r\n\r\n /** Emits whenever the component is destroyed. */\r\n private readonly destroy = new Subject<void>();\r\n\r\n // Used for storing the values that were assigned before the options were initialized.\r\n private tempValues: string | string[] | null;\r\n\r\n constructor(\r\n elementRef: ElementRef,\r\n readonly changeDetectorRef: ChangeDetectorRef,\r\n private readonly viewportRuler: ViewportRuler,\r\n private readonly ngZone: NgZone,\r\n private readonly renderer: Renderer2,\r\n defaultErrorStateMatcher: ErrorStateMatcher,\r\n @Inject(MC_SELECT_SCROLL_STRATEGY) private readonly scrollStrategyFactory,\r\n @Optional() @Inject(NG_VALIDATORS) public rawValidators: Validator[],\r\n @Optional() @Inject(MC_VALIDATION) private mcValidation: McValidationOptions,\r\n @Optional() private readonly dir: Directionality,\r\n @Optional() parentForm: NgForm,\r\n @Optional() parentFormGroup: FormGroupDirective,\r\n @Optional() private readonly parentFormField: McFormField,\r\n @Optional() @Self() ngControl: NgControl,\r\n @Optional() @Self() public ngModel: NgModel,\r\n @Optional() @Self() public formControlName: FormControlName\r\n ) {\r\n super(elementRef, defaultErrorStateMatcher, parentForm, parentFormGroup, ngControl);\r\n\r\n if (this.ngControl) {\r\n // Note: we provide the value accessor through here, instead of\r\n // the `providers` to avoid running into a circular import.\r\n this.ngControl.valueAccessor = this;\r\n }\r\n\r\n // Force setter to be called in case id was not specified.\r\n this.id = this.id;\r\n }\r\n\r\n ngOnInit() {\r\n this.stateChanges.next();\r\n\r\n // We need `distinctUntilChanged` here, because some browsers will\r\n // fire the animation end event twice for the same animation. See:\r\n // https://github.com/angular/angular/issues/24084\r\n this.panelDoneAnimatingStream\r\n .pipe(distinctUntilChanged(), takeUntil(this.destroy))\r\n .subscribe(() => {\r\n if (this.panelOpen) {\r\n this.scrollTop = 0;\r\n\r\n if (this.search) { this.search.focus(); }\r\n\r\n this.openedChange.emit(true);\r\n } else {\r\n this.openedChange.emit(false);\r\n this.overlayDir.offsetX = 0;\r\n this.changeDetectorRef.markForCheck();\r\n }\r\n });\r\n }\r\n\r\n ngAfterContentInit() {\r\n if (!this.tree) { return; }\r\n\r\n if (this.mcValidation.useValidation) {\r\n setMosaicValidation(this, this.changeDetectorRef);\r\n }\r\n\r\n this.tree.resetFocusedItemOnBlur = false;\r\n\r\n this.selectionModel = this.tree.selectionModel = new SelectionModel<any>(this.multiple);\r\n\r\n this.selectionModel.changed\r\n .subscribe(() => {\r\n this.onChange(this.selectedValues);\r\n if (this.multiple) {\r\n this.refreshTriggerValues();\r\n }\r\n });\r\n\r\n this.tree.ngAfterContentInit();\r\n\r\n this.initKeyManager();\r\n\r\n this.options = this.tree.renderedOptions;\r\n this.tree.autoSelect = this.autoSelect;\r\n\r\n if (this.tree.multipleMode === null) {\r\n this.tree.multipleMode = this.multiple ? MultipleMode.CHECKBOX : null;\r\n }\r\n\r\n if (this.multiple) {\r\n this.tree.noUnselectLast = false;\r\n }\r\n\r\n if (this.tempValues) {\r\n this.setSelectionByValue(this.tempValues);\r\n this.tempValues = null;\r\n }\r\n\r\n this.optionSelectionChanges\r\n .pipe(takeUntil(this.destroy))\r\n .subscribe((event) => {\r\n if (!this.multiple && this.panelOpen && event.isUserInput) {\r\n this.close();\r\n }\r\n });\r\n\r\n this.tree.selectionChange\r\n .pipe(takeUntil(this.destroy))\r\n .subscribe((event) => {\r\n this.onChange(this.selectedValues);\r\n\r\n this.selectionChange.emit(new McTreeSelectChange(this, event.option));\r\n\r\n if (this.search) {\r\n this.search.focus();\r\n }\r\n });\r\n\r\n this.selectionModel.changed\r\n .pipe(takeUntil(this.destroy))\r\n .subscribe((event) => {\r\n if (event.added.length) {\r\n this.tree.keyManager.setFocusOrigin('program');\r\n this.tree.keyManager.setActiveItem(\r\n this.options.find((option) => option.data === event.added[0]) as any\r\n );\r\n }\r\n });\r\n\r\n this.updateIsEmptySearchResult();\r\n }\r\n\r\n ngAfterViewInit() {\r\n if (!this.tree) { return; }\r\n\r\n this.tags.changes\r\n .subscribe(() => {\r\n setTimeout(() => this.calculateHiddenItems(), 0);\r\n });\r\n\r\n setTimeout(() => this.calculateHiddenItems(), 0);\r\n }\r\n\r\n ngDoCheck() {\r\n if (this.ngControl) { this.updateErrorState(); }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n // Updating the disabled state is handled by `mixinDisabled`, but we need to additionally let\r\n // the parent form field know to run change detection when the disabled state changes.\r\n if (changes.disabled) {\r\n this.stateChanges.next();\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroy.next();\r\n this.destroy.complete();\r\n this.stateChanges.complete();\r\n this.closeSubscription.unsubscribe();\r\n }\r\n\r\n @Input()\r\n hiddenItemsTextFormatter(hiddenItemsText: string, hiddenItems: number): string {\r\n return `${hiddenItemsText} ${hiddenItems}`;\r\n }\r\n\r\n clearValue($event): void {\r\n $event.stopPropagation();\r\n\r\n this.selectionModel.clear();\r\n this.tree.keyManager.setActiveItem(-1);\r\n\r\n this.setSelectionByValue([]);\r\n\r\n this.onChange(this.selectedValues);\r\n }\r\n\r\n /** `View -> model callback called when value changes` */\r\n onChange: (value: any) => void = () => {};\r\n\r\n /** `View -> model callback called when select has been touched` */\r\n onTouched = () => {};\r\n\r\n toggle(): void {\r\n if (this.panelOpen) {\r\n this.close();\r\n } else {\r\n this.open();\r\n }\r\n }\r\n\r\n open(): void {\r\n if (this.disabled || !this.options || !this.options.length || this._panelOpen) { return; }\r\n\r\n this.triggerRect = this.trigger.nativeElement.getBoundingClientRect();\r\n // Note: The computed font-size will be a string pixel value (e.g. \"16px\").\r\n // `parseInt` ignores the trailing 'px' and converts this to a number.\r\n this.triggerFontSize = parseInt(getComputedStyle(this.trigger.nativeElement)['font-size']);\r\n\r\n this._panelOpen = true;\r\n\r\n setTimeout(() => this.highlightCorrectOption());\r\n\r\n this.changeDetectorRef.markForCheck();\r\n\r\n // Set the font size on the panel element once it exists.\r\n this.ngZone.onStable.asObservable()\r\n .pipe(take(1))\r\n .subscribe(() => {\r\n if (this.triggerFontSize && this.overlayDir.overlayRef && this.overlayDir.overlayRef.overlayElement) {\r\n this.overlayDir.overlayRef.overlayElement.style.fontSize = `${this.triggerFontSize}px`;\r\n }\r\n });\r\n }\r\n\r\n /** Closes the overlay panel and focuses the host element. */\r\n close(): void {\r\n if (!this._panelOpen) { return; }\r\n\r\n this._panelOpen = false;\r\n\r\n this.changeDetectorRef.markForCheck();\r\n this.onTouched();\r\n\r\n if (this.search) {\r\n this.search.reset();\r\n }\r\n\r\n setTimeout(() => this.focus(), 0);\r\n }\r\n\r\n /**\r\n * Sets the select's value. Part of the ControlValueAccessor interface\r\n * required to integrate with Angular's core forms API.\r\n *\r\n * @param value New value to be written to the model.\r\n */\r\n writeValue(value: any): void {\r\n if (this.tree) {\r\n this.setSelectionByValue(value);\r\n } else {\r\n this.tempValues = value;\r\n }\r\n }\r\n\r\n /**\r\n * Saves a callback function to be invoked when the select's value\r\n * changes from user input. Part of the ControlValueAccessor interface\r\n * required to integrate with Angular's core forms API.\r\n *\r\n * @param fn Callback to be triggered when the value changes.\r\n */\r\n registerOnChange(fn: (value: any) => void) {\r\n this.onChange = fn;\r\n }\r\n\r\n /**\r\n * Saves a callback function to be invoked when the select is blurred\r\n * by the user. Part of the ControlValueAccessor interface required\r\n * to integrate with Angular's core forms API.\r\n *\r\n * @param fn Callback to be triggered when the component has been touched.\r\n */\r\n registerOnTouched(fn: () => {}) {\r\n this.onTouched = fn;\r\n }\r\n\r\n /**\r\n * Disables the select. Part of the ControlValueAccessor interface required\r\n * to integrate with Angular's core forms API.\r\n *\r\n * @param isDisabled Sets whether the component is disabled.\r\n */\r\n setDisabledState(isDisabled: boolean) {\r\n this.disabled = isDisabled;\r\n this.changeDetectorRef.markForCheck();\r\n this.stateChanges.next();\r\n }\r\n\r\n get selected(): any {\r\n return this.multiple ? this.selectionModel.selected : this.selectionModel.selected[0];\r\n }\r\n\r\n get selectedValues(): any {\r\n const selectedValues = this.selectionModel.selected.map((value) => this.tree.treeControl.getValue(value));\r\n\r\n return this.multiple ? selectedValues : selectedValues[0];\r\n }\r\n\r\n get triggerValue(): string {\r\n if (this.empty) { return ''; }\r\n\r\n return this.tree.treeControl.getViewValue(this.selected);\r\n }\r\n\r\n get empty(): boolean {\r\n return !this.selectionModel || this.selectionModel.isEmpty();\r\n }\r\n\r\n isRtl(): boolean {\r\n return this.dir ? this.dir.value === 'rtl' : false;\r\n }\r\n\r\n handleKeydown(event: KeyboardEvent) {\r\n if (!this.disabled) {\r\n if (this.panelOpen) {\r\n this.handleOpenKeydown(event);\r\n } else {\r\n this.handleClosedKeydown(event);\r\n }\r\n }\r\n }\r\n\r\n onFocus() {\r\n if (!this.disabled) {\r\n this._focused = true;\r\n\r\n this.stateChanges.next();\r\n }\r\n }\r\n\r\n /**\r\n * Calls the touched callback only if the panel is closed. Otherwise, the trigger will\r\n * \"blur\" to the panel when it opens, causing a false positive.\r\n */\r\n onBlur() {\r\n this._focused = false;\r\n\r\n if (!this.disabled && !this.panelOpen) {\r\n this.onTouched();\r\n this.changeDetectorRef.markForCheck();\r\n this.stateChanges.next();\r\n }\r\n }\r\n\r\n /** Callback that is invoked when the overlay panel has been attached. */\r\n onAttached() {\r\n this.overlayDir.positionChange\r\n .pipe(take(1))\r\n .subscribe(() => {\r\n this.changeDetectorRef.detectChanges();\r\n this.calculateOverlayOffsetX();\r\n this.panel.nativeElement.scrollTop = this.scrollTop;\r\n\r\n this.tree.updateScrollSize();\r\n });\r\n\r\n this.closeSubscription = this.closingActions()\r\n .subscribe(() => this.close());\r\n }\r\n\r\n /** Returns the theme to be used on the panel. */\r\n getPanelTheme(): string {\r\n return this.parentFormField ? `mc-${this.parentFormField.color}` : '';\r\n }\r\n\r\n focus() {\r\n this.elementRef.nativeElement.focus();\r\n }\r\n\r\n /**\r\n * Implemented as part of McFormFieldControl.\r\n * @docs-private\r\n */\r\n onContainerClick() {\r\n this.focus();\r\n }\r\n\r\n /** Invoked when an option is clicked. */\r\n onRemoveSelectedOption(selectedOption: any, $event) {\r\n $event.stopPropagation();\r\n\r\n this.selectionModel\r\n .deselect(this.selected.find((value) => this.tree.treeControl.getValue(value) === selectedOption.value));\r\n\r\n this.onChange(this.selectedValues);\r\n }\r\n\r\n calculateHiddenItems() {\r\n if (this.customTrigger || this.empty || !this.multiple) { return; }\r\n\r\n let visibleItems: number = 0;\r\n const totalItemsWidth = this.getTotalItemsWidthInMatcher();\r\n let totalVisibleItemsWidth: number = 0;\r\n\r\n this.tags.forEach((tag) => {\r\n if (tag.nativeElement.offsetTop < tag.nativeElement.offsetHeight) {\r\n totalVisibleItemsWidth += this.getItemWidth(tag.nativeElement);\r\n visibleItems++;\r\n }\r\n });\r\n\r\n this.hiddenItems = this.selectionModel.selected.length - visibleItems;\r\n\r\n if (this.hiddenItems) {\r\n const itemsCounter = this.trigger.nativeElement.querySelector('.mc-tree-select__match-hidden-text');\r\n const matcherList = this.trigger.nativeElement.querySelector('.mc-tree-select__match-list');\r\n\r\n const itemsCounterShowed = itemsCounter.offsetTop < itemsCounter.offsetHeight;\r\n // const itemsCounterWidth: number = itemsCounter.getBoundingClientRect().width;\r\n const itemsCounterWidth: number = 86;\r\n\r\n const matcherListWidth: number = Math.floor(matcherList.getBoundingClientRect().width);\r\n const matcherWidth: number = matcherListWidth + (itemsCounterShowed ? itemsCounterWidth : 0);\r\n\r\n if (itemsCounterShowed && (totalItemsWidth < matcherWidth)) { this.hiddenItems = 0; }\r\n\r\n if (\r\n totalVisibleItemsWidth === matcherListWidth ||\r\n (totalVisibleItemsWidth + itemsCounterWidth) < matcherListWidth\r\n ) {\r\n this.changeDetectorRef.markForCheck();\r\n\r\n return ;\r\n } else if (!itemsCounterShowed && (totalItemsWidth + itemsCounterWidth) > matcherWidth) {\r\n this.hiddenItems++;\r\n }\r\n }\r\n\r\n this.changeDetectorRef.markForCheck();\r\n }\r\n\r\n private closingActions() {\r\n const backdrop = this.overlayDir.overlayRef!.backdropClick();\r\n const outsidePointerEvents = this.overlayDir.overlayRef!.outsidePointerEvents()\r\n .pipe(filter((event) => !this.elementRef.nativeElement.contains(event.target)));\r\n const detachments = this.overlayDir.overlayRef!.detachments();\r\n\r\n return merge(backdrop, outsidePointerEvents, detachments);\r\n }\r\n\r\n private getTotalItemsWidthInMatcher(): number {\r\n const triggerClone = this.trigger.nativeElement.cloneNode(true);\r\n triggerClone.querySelector('.mc-tree-select__match-hidden-text').remove();\r\n\r\n this.renderer.setStyle(triggerClone, 'position', 'absolute');\r\n this.renderer.setStyle(triggerClone, 'visibility', 'hidden');\r\n this.renderer.setStyle(triggerClone, 'top', '-100%');\r\n this.renderer.setStyle(triggerClone, 'left', '0');\r\n\r\n this.renderer.appendChild(this.trigger.nativeElement, triggerClone);\r\n\r\n let totalItemsWidth: number = 0;\r\n triggerClone.querySelectorAll('mc-tag').forEach((item) => {\r\n totalItemsWidth += this.getItemWidth(item);\r\n });\r\n\r\n triggerClone.remove();\r\n\r\n return totalItemsWidth;\r\n }\r\n\r\n private getItemWidth(element: HTMLElement): number {\r\n const computedStyle = window.getComputedStyle(element);\r\n\r\n const width: number = parseInt(computedStyle.width as string);\r\n const marginLeft: number = parseInt(computedStyle.marginLeft as string);\r\n const marginRight: number = parseInt(computedStyle.marginRight as string);\r\n\r\n return width + marginLeft + marginRight;\r\n }\r\n\r\n private handleClosedKeydown(event: KeyboardEvent) {\r\n // tslint:disable-next-line: deprecation\r\n const keyCode = event.keyCode;\r\n const isArrowKey = keyCode === DOWN_ARROW || keyCode === UP_ARROW ||\r\n keyCode === LEFT_ARROW || keyCode === RIGHT_ARROW;\r\n const isOpenKey = keyCode === ENTER || keyCode === SPACE;\r\n\r\n // Open the select on ALT + arrow key to match the native <select>\r\n if (isOpenKey || ((this.multiple || event.altKey) && isArrowKey)) {\r\n // prevents the page from scrolling down when pressing space\r\n event.preventDefault();\r\n\r\n this.open();\r\n } else if (!this.multiple && this.tree.keyManager && this.tree.keyManager.onKeydown) {\r\n this.tree.keyManager.onKeydown(event);\r\n }\r\n }\r\n\r\n private handleOpenKeydown(event: KeyboardEvent) {\r\n /* tslint:disable-next-line */\r\n const keyCode = event.keyCode;\r\n const isArrowKey = keyCode === DOWN_ARROW || keyCode === UP_ARROW;\r\n\r\n if (isArrowKey && event.altKey) {\r\n // Close the select on ALT + arrow key to match the native <select>\r\n event.preventDefault();\r\n\r\n this.close();\r\n } else if (keyCode === LEFT_ARROW || keyCode === RIGHT_ARROW) {\r\n return this.originalOnKeyDown.call(this.tree, event);\r\n } else if (keyCode === HOME) {\r\n event.preventDefault();\r\n\r\n this.tree.keyManager.setFirstItemActive();\r\n } else if (keyCode === END) {\r\n event.preventDefault();\r\n\r\n this.tree.keyManager.setLastItemActive();\r\n } else if (keyCode === PAGE_UP) {\r\n event.preventDefault();\r\n\r\n this.tree.keyManager.setPreviousPageItemActive();\r\n } else if (keyCode === PAGE_DOWN) {\r\n event.preventDefault();\r\n\r\n this.tree.keyManager.setNextPageItemActive();\r\n } else if ((keyCode === ENTER || keyCode === SPACE) && this.tree.keyManager.activeItem) {\r\n event.preventDefault();\r\n\r\n if (!this.autoSelect) {\r\n this.selectionModel.toggle(this.tree.keyManager.activeItem.data);\r\n } else {\r\n this.close();\r\n }\r\n } else if (this.multiple && keyCode === A && event.ctrlKey) {\r\n event.preventDefault();\r\n\r\n const hasDeselectedOptions = this.options.some((option) => !option.selected);\r\n\r\n this.options.forEach((option) => {\r\n if (hasDeselectedOptions && !option.disabled) {\r\n option.select();\r\n } else {\r\n option.deselect();\r\n }\r\n });\r\n } else {\r\n const previouslyFocusedIndex = this.tree.keyManager.activeItemIndex;\r\n\r\n this.tree.keyManager.setFocusOrigin('keyboard');\r\n this.tree.keyManager.onKeydown(event);\r\n\r\n if (\r\n this.multiple && isArrowKey && event.shiftKey && this.tree.keyManager.activeItem &&\r\n this.tree.keyManager.activeItemIndex !== previouslyFocusedIndex\r\n ) {\r\n this.tree.keyManager.activeItem.selectViaInteraction(event);\r\n }\r\n\r\n if (this.autoSelect && this.tree.keyManager.activeItem) {\r\n this.tree.setSelectedOptionsByKey(\r\n this.tree.keyManager.activeItem, hasModifierKey(event, 'shiftKey'), hasModifierKey(event, 'ctrlKey')\r\n );\r\n }\r\n\r\n if (this.search) {\r\n this.search.focus();\r\n }\r\n }\r\n }\r\n\r\n private refreshTriggerValues(): void {\r\n this.triggerValues = this.selectionModel.selected\r\n .map((node) => ({\r\n value: this.tree.treeControl.getValue(node),\r\n viewValue: this.tree.treeControl.getViewValue(node),\r\n disabled: this.tree.treeControl.isDisabled(node)\r\n })\r\n );\r\n this.changeDetectorRef.detectChanges();\r\n }\r\n\r\n private initializeSelection() {\r\n // Defer setting the value in order to avoid the \"Expression\r\n // has changed after it was checked\" errors from Angular.\r\n Promise.resolve().then(() => {\r\n this.setSelectionByValue(this.ngControl ? this.ngControl.value : this._value);\r\n });\r\n }\r\n\r\n /**\r\n * Sets the selected option based on a value. If no option can be\r\n * found with the designated value, the select trigger is cleared.\r\n */\r\n private setSelectionByValue(value: any | any[]) {\r\n if (this.multiple && value) {\r\n if (!Array.isArray(value)) { throw getMcSelectNonArrayValueError(); }\r\n\r\n this.tree.setOptionsFromValues(value);\r\n\r\n this.sortValues();\r\n } else {\r\n this.tree.setOptionsFromValues([value]);\r\n }\r\n\r\n this.changeDetectorRef.detectChanges();\r\n }\r\n\r\n private initKeyManager() {\r\n this.originalOnKeyDown = this.tree.onKeyDown;\r\n\r\n this.tree.onKeyDown = () => {};\r\n\r\n this.tree.keyManager.tabOut\r\n .pipe(takeUntil(this.destroy))\r\n .subscribe(() => {\r\n // Restore focus to the trigger before closing. Ensures that the focus\r\n // position won't be lost if the user got focus into the overlay.\r\n this.focus();\r\n this.close();\r\n });\r\n\r\n this.tree.keyManager.change\r\n .pipe(takeUntil(this.destroy))\r\n .subscribe(() => {\r\n if (this._panelOpen && this.panel) {\r\n this.scrollActiveOptionIntoView();\r\n } else if (!this._panelOpen && !this.multiple && this.tree.keyManager.activeItem) {\r\n this.tree.keyManager.activeItem.selectViaInteraction();\r\n }\r\n });\r\n }\r\n\r\n /** Sorts the selected values in the selected based on their order in the panel. */\r\n private sortValues() {\r\n if (this.multiple) {\r\n const options = this.options.toArray();\r\n\r\n this.selectionModel.sort((a, b) => {\r\n return this.sortComparator ? this.sortComparator(a, b, options) :\r\n options.indexOf(a) - options.indexOf(b);\r\n });\r\n\r\n this.stateChanges.next();\r\n }\r\n }\r\n\r\n /**\r\n * Highlights the selected item. If no option is selected, it will highlight\r\n * the first item instead.\r\n */\r\n private highlightCorrectOption() {\r\n if (this.empty || !this.tree.keyManager) { return; }\r\n\r\n const firstSelectedValue = this.multiple ? this.selectedValues[0] : this.selectedValues;\r\n\r\n const selectedOption = this.options.find((option) => option.value === firstSelectedValue);\r\n\r\n if (selectedOption) {\r\n this.tree.keyManager.setFocusOrigin('keyboard');\r\n this.tree.keyManager.setActiveItem(selectedOption);\r\n }\r\n }\r\n\r\n /** Scrolls the active option into view. */\r\n private scrollActiveOptionIntoView() {\r\n this.tree.keyManager.activeItem?.focus();\r\n }\r\n\r\n /**\r\n * Sets the x-offset of the overlay panel in relation to the trigger's top start corner.\r\n * This must be adjusted to align the selected option text over the trigger text when\r\n * the panel opens. Will change based on LTR or RTL text direction. Note that the offset\r\n * can't be calculated until the panel has been attached, because we need to know the\r\n * content width in order to constrain the panel within the viewport.\r\n */\r\n private calculateOverlayOffsetX() {\r\n const overlayRect = this.overlayDir.overlayRef.overlayElement.getBoundingClientRect();\r\n const viewportSize = this.viewportRuler.getViewportSize();\r\n const isRtl = this.isRtl();\r\n /* tslint:disable-next-line:no-magic-numbers */\r\n const paddingWidth = SELECT_PANEL_PADDING_X * 2;\r\n let offsetX: number = SELECT_PANEL_PADDING_X;\r\n\r\n // Invert the offset in LTR.\r\n if (!isRtl) { offsetX *= -1; }\r\n\r\n // Determine how much the select overflows on each side.\r\n const leftOverflow = 0 - (overlayRect.left + offsetX - (isRtl ? paddingWidth : 0));\r\n const rightOverflow = overlayRect.right + offsetX - viewportSize.width\r\n + (isRtl ? 0 : paddingWidth);\r\n\r\n // If the element overflows on either side, reduce the offset to allow it to fit.\r\n if (leftOverflow > 0) {\r\n offsetX += leftOverflow + SELECT_PANEL_VIEWPORT_PADDING;\r\n } else if (rightOverflow > 0) {\r\n offsetX -= rightOverflow + SELECT_PANEL_VIEWPORT_PADDING;\r\n }\r\n\r\n // Set the offset directly in order to avoid having to go through change detection and\r\n // potentially triggering \"changed after it was checked\" errors. Round the value to avoid\r\n // blurry content in some browsers.\r\n this.overlayDir.offsetX = Math.round(offsetX);\r\n this.overlayDir.overlayRef.updatePosition();\r\n }\r\n\r\n /** Comparison function to specify which option is displayed. Defaults to object equality. */\r\n private _compareWith = (o1: any, o2: any) => o1 === o2;\r\n\r\n private updateIsEmptySearchResult() {\r\n if (this.search) {\r\n this.search.input.ngControl.valueChanges?.subscribe((value) => {\r\n this.isEmptySearchResult = !!value && this.tree.isEmpty;\r\n this.changeDetectorRef.markForCheck();\r\n });\r\n }\r\n }\r\n}\r\n","<div cdk-overlay-origin\r\n class=\"mc-tree-select__trigger\"\r\n [class.mc-tree-select__trigger_multiple]=\"multiple\"\r\n #origin=\"cdkOverlayOrigin\"\r\n #trigger>\r\n <div class=\"mc-tree-select__matcher\" [ngSwitch]=\"empty\">\r\n <span class=\"mc-tree-select__placeholder\" *ngSwitchCase=\"true\">{{ placeholder || '\\u00A0' }}</span>\r\n <span *ngSwitchCase=\"false\" [ngSwitch]=\"!!customTrigger\">\r\n <div *ngSwitchDefault [ngSwitch]=\"multiple\" class=\"mc-tree-select__match-container\">\r\n <span *ngSwitchCase=\"false\" class=\"mc-tree-select__matcher-text\">{{ triggerValue }}</span>\r\n <div *ngSwitchCase=\"true\" class=\"mc-tree-select__multiple-matcher\">\r\n <div class=\"mc-tree-select__match-list\">\r\n <mc-tag *ngFor=\"let triggerValue of triggerValues\"\r\n [selectable]=\"false\"\r\n [disabled]=\"triggerValue.disabled || disabled\"\r\n [class.mc-error]=\"errorState\">\r\n\r\n {{ triggerValue.viewValue }}\r\n <i mc-icon=\"mc-close-S_16\"\r\n *ngIf=\"!triggerValue.disabled && !disabled\"\r\n (click)=\"onRemoveSelectedOption(triggerValue, $event)\">\r\n </i>\r\n </mc-tag>\r\n </div>\r\n <div class=\"mc-tree-select__match-hidden-text\" [style.display]=\"hiddenItems > 0 ? 'block' : 'none'\">\r\n {{ hiddenItemsTextFormatter(hiddenItemsText, hiddenItems) }}\r\n </div>\r\n </div>\r\n </div>\r\n <ng-content select=\"mc-tree-select-trigger\" *ngSwitchCase=\"true\"></ng-content>\r\n </span>\r\n </div>\r\n\r\n <div class=\"mc-select__cleaner\" *ngIf=\"canShowCleaner\" (click)=\"clearValue($event)\">\r\n <ng-content select=\"mc-cleaner\"></ng-content>\r\n </div>\r\n\r\n <div class=\"mc-tree-select__arrow-wrapper\">\r\n <i class=\"mc-tree-select__arrow\" mc-icon=\"mc-angle-down-S_16\"></i>\r\n </div>\r\n</div>\r\n\r\n<ng-template\r\n cdk-connected-overlay\r\n cdkConnectedOverlayLockPosition\r\n [cdkConnectedOverlayHasBackdrop]=\"hasBackdrop\"\r\n [cdkConnectedOverlayBackdropClass]=\"backdropClass\"\r\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy\"\r\n [cdkConnectedOverlayOrigin]=\"origin\"\r\n [cdkConnectedOverlayOpen]=\"panelOpen\"\r\n [cdkConnectedOverlayPositions]=\"positions\"\r\n [cdkConnectedOverlayMinWidth]=\"triggerRect?.width!\"\r\n [cdkConnectedOverlayOffsetY]=\"offsetY\"\r\n (backdropClick)=\"close()\"\r\n (attach)=\"onAttached()\"\r\n (detach)=\"close()\">\r\n\r\n <div #panel\r\n class=\"mc-tree-select__panel {{ getPanelTheme() }}\"\r\n [ngClass]=\"panelClass\"\r\n [style.transformOrigin]=\"transformOrigin\"\r\n [style.font-size.px]=\"triggerFontSize\"\r\n (keydown)=\"handleKeydown($event)\">\r\n\r\n <div *ngIf=\"search\" class=\"mc-select__search-container\">\r\n <ng-content select=\"[mcSelectSearch]\"></ng-content>\r\n </div>\r\n\r\n <div *ngIf=\"isEmptySearchResult\" class=\"mc-select__no-options-message\">\r\n <ng-content select=\"[mc-select-search-empty-result]\"></ng-content>\r\n </div>\r\n\r\n <div #optionsContainer\r\n class=\"mc-tree-select__content\"\r\n [@fadeInContent]=\"'showing'\"\r\n (@fadeInContent.done)=\"panelDoneAnimatingStream.next($event.toState)\">\r\n <ng-content select=\"mc-tree-selection\"></ng-content>\r\n </div>\r\n\r\n <ng-content select=\"[mc-tree-selection-footer]\"></ng-content>\r\n </div>\r\n</ng-template>\r\n","import { OverlayModule } from '@angular/cdk/overlay';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { MC_SELECT_SCROLL_STRATEGY_PROVIDER, McPseudoCheckboxModule } from '@ptsecurity/mosaic/core';\r\nimport { McIconModule } from '@ptsecurity/mosaic/icon';\r\nimport { McSelectModule } from '@ptsecurity/mosaic/select';\r\nimport { McTagsModule } from '@ptsecurity/mosaic/tags';\r\nimport { McTreeModule } from '@ptsecurity/mosaic/tree';\r\n\r\nimport { McTreeSelect, McTreeSelectFooter, McTreeSelectTrigger } from './tree-select.component';\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n OverlayModule,\r\n McTreeModule,\r\n McIconModule,\r\n McTagsModule,\r\n McPseudoCheckboxModule,\r\n McSelectModule\r\n ],\r\n exports: [McTreeSelect, McTreeSelectTrigger, McTreeSelectFooter, CommonModule],\r\n declarations: [McTreeSelect, McTreeSelectTrigger, McTreeSelectFooter],\r\n providers: [MC_SELECT_SCROLL_STRATEGY_PROVIDER]\r\n})\r\nexport class McTreeSelectModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAuGA,IAAI,YAAY,GAAG,CAAC,CAAC;AAQrB;MACa,kBAAkB,CAAA;AAC3B,IAAA,WAAA,CAAmB,MAAoB,EAAS,KAAU,EAAS,cAAc,KAAK,EAAA;QAAnE,IAAM,CAAA,MAAA,GAAN,MAAM,CAAc;QAAS,IAAK,CAAA,KAAA,GAAL,KAAK,CAAK;QAAS,IAAW,CAAA,WAAA,GAAX,WAAW,CAAQ;KAAI;AAC7F,CAAA;MAIY,mBAAmB,CAAA;;uJAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;2IAAnB,mBAAmB,EAAA,QAAA,EAAA,wBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAD/B,SAAS;mBAAC,EAAE,QAAQ,EAAE,wBAAwB,EAAE,CAAA;;MAIpC,kBAAkB,CAAA;;sJAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;0IAAlB,kBAAkB,EAAA,QAAA,EAAA,uBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAD9B,SAAS;mBAAC,EAAE,QAAQ,EAAE,uBAAuB,EAAE,CAAA;;AAGhD,MAAM,gBAAgB,CAAA;IAClB,WACW,CAAA,UAAsB,EACtB,wBAA2C,EAC3C,UAAkB,EAClB,eAAmC,EACnC,SAAoB,EAAA;QAJpB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QACtB,IAAwB,CAAA,wBAAA,GAAxB,wBAAwB,CAAmB;QAC3C,IAAU,CAAA,UAAA,GAAV,UAAU,CAAQ;QAClB,IAAe,CAAA,eAAA,GAAf,eAAe,CAAoB;QACnC,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;KAC3B;AACP,CAAA;AAED;AACA,MAAM,qBAAqB,GACG,aAAa,CAAC,aAAa,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAmCxF,MAAO,YAAa,SAAQ,qBAAqB,CAAA;AA+RnD,IAAA,WAAA,CACI,UAAsB,EACb,iBAAoC,EAC5B,aAA4B,EAC5B,MAAc,EACd,QAAmB,EACpC,wBAA2C,EACS,qBAAqB,EAC/B,aAA0B,EACzB,YAAiC,EAC/C,GAAmB,EACpC,UAAkB,EAClB,eAAmC,EAClB,eAA4B,EACrC,SAAoB,EACb,OAAgB,EAChB,eAAgC,EAAA;QAE3D,KAAK,CAAC,UAAU,EAAE,wBAAwB,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;QAhB3E,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAmB;QAC5B,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;QAC5B,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QACd,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;QAEgB,IAAqB,CAAA,qBAAA,GAArB,qBAAqB,CAAA;QAC/B,IAAa,CAAA,aAAA,GAAb,aAAa,CAAa;QACzB,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAqB;QAC/C,IAAG,CAAA,GAAA,GAAH,GAAG,CAAgB;QAGnB,IAAe,CAAA,eAAA,GAAf,eAAe,CAAa;QAE9B,IAAO,CAAA,OAAA,GAAP,OAAO,CAAS;QAChB,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;;QA1S/D,IAAW,CAAA,WAAA,GAAG,QAAQ,CAAC;QAEvB,IAAW,CAAA,WAAA,GAAW,CAAC,CAAC;;QAMxB,IAAe,CAAA,eAAA,GAAG,CAAC,CAAC;;QAMpB,IAAe,CAAA,eAAA,GAAW,KAAK,CAAC;;AAGhC,QAAA,IAAA,CAAA,wBAAwB,GAAG,IAAI,OAAO,EAAU,CAAC;;AAGjD,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;AAE9C;;;;AAIG;QACH,IAAO,CAAA,OAAA,GAAG,CAAC,CAAC;AAEZ;;;;;AAKG;AACH,QAAA,IAAA,CAAA,SAAS,GAAwB;AAC7B,YAAA;AACI,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,OAAO,EAAE,QAAQ;AACjB,gBAAA,QAAQ,EAAE,OAAO;AACjB,gBAAA,QAAQ,EAAE,KAAK;AAClB,aAAA;AACD,YAAA;AACI,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,QAAQ,EAAE,OAAO;AACjB,gBAAA,QAAQ,EAAE,QAAQ;AACrB,aAAA;SACJ,CAAC;QAqBO,IAAe,CAAA,eAAA,GAAW,QAAQ,CAAC;;AAGzB,QAAA,IAAA,CAAA,YAAY,GAA0B,IAAI,YAAY,EAAW,CAAC;;QAG1D,IAAY,CAAA,YAAA,GACnC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,MAAO,GAAC,CAAC,CAAC,CAAC;;QAGjC,IAAY,CAAA,YAAA,GACnC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,MAAO,GAAC,CAAC,CAAC,CAAC;;AAG1C,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,YAAY,EAAsB,CAAC;AAE5E;;;;AAIG;AACgB,QAAA,IAAA,CAAA,WAAW,GAAsB,IAAI,YAAY,EAAO,CAAC;QAKnE,IAAa,CAAA,aAAA,GAAW,kCAAkC,CAAC;;AAY3D,QAAA,IAAA,CAAA,sBAAsB,GAAmC,KAAK,CAAC,MAAK;YACzE,IAAI,IAAI,CAAC,OAAO,EAAE;AACd,gBAAA,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAC5B,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EACvB,SAAS,CAAC,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CACpF,CAAC;AACL,aAAA;AAED,YAAA,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ;AACtB,iBAAA,YAAY,EAAE;AACd,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;AACrE,SAAC,CAAmC,CAAC;QA0B7B,IAAS,CAAA,SAAA,GAAY,KAAK,CAAC;QAe3B,IAAS,CAAA,SAAA,GAAY,KAAK,CAAC;QAa3B,IAAW,CAAA,WAAA,GAAY,IAAI,CAAC;QA8B5B,IAAM,CAAA,MAAA,GAAQ,IAAI,CAAC;QAuBnB,IAAY,CAAA,YAAA,GAAY,KAAK,CAAC;QAc9B,IAAS,CAAA,SAAA,GAAY,KAAK,CAAC;QAW3B,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;QAYzB,IAAa,CAAA,aAAA,GAAoB,EAAE,CAAC;AAE5B,QAAA,IAAA,CAAA,iBAAiB,GAAG,YAAY,CAAC,KAAK,CAAC;QAEvC,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;;QAKnB,IAAS,CAAA,SAAA,GAAG,CAAC,CAAC;;AAGL,QAAA,IAAA,CAAA,GAAG,GAAG,CAAA,UAAA,EAAa,YAAY,EAAE,EAAE,CAAC;;AAGpC,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,OAAO,EAAQ,CAAC;;AAkL/C,QAAA,IAAA,CAAA,QAAQ,GAAyB,MAAK,GAAG,CAAC;;AAG1C,QAAA,IAAA,CAAA,SAAS,GAAG,MAAK,GAAG,CAAC;;QA4fb,IAAY,CAAA,YAAA,GAAG,CAAC,EAAO,EAAE,EAAO,KAAK,EAAE,KAAK,EAAE,CAAC;QAxpBnD,IAAI,IAAI,CAAC,SAAS,EAAE;;;AAGhB,YAAA,IAAI,CAAC,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC;AACvC,SAAA;;AAGD,QAAA,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;KACrB;AA9LD,IAAA,IACI,WAAW,GAAA;QACX,OAAO,IAAI,CAAC,YAAY,CAAC;KAC5B;IAED,IAAI,WAAW,CAAC,KAAa,EAAA;AACzB,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;AAE1B,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;KAC5B;AAID,IAAA,IACI,QAAQ,GAAA;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;KACzB;IAED,IAAI,QAAQ,CAAC,KAAc,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;AAE9C,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;KAC5B;AAID,IAAA,IACI,QAAQ,GAAA;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;KACzB;IAED,IAAI,QAAQ,CAAC,KAAc,EAAA;QACvB,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,MAAM,+BAA+B,EAAE,CAAC;AAC3C,SAAA;AAED,QAAA,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;KACjD;AAID,IAAA,IACI,UAAU,GAAA;QACV,IAAI,IAAI,CAAC,QAAQ,EAAE;AAAE,YAAA,OAAO,KAAK,CAAC;AAAE,SAAA;QAEpC,OAAO,IAAI,CAAC,WAAW,CAAC;KAC3B;IAED,IAAI,UAAU,CAAC,KAAc,EAAA;AACzB,QAAA,IAAI,CAAC,WAAW,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;KACnD;AAID;;;;AAIG;AACH,IAAA,IACI,WAAW,GAAA;QACX,OAAO,IAAI,CAAC,YAAY,CAAC;KAC5B;IAED,IAAI,WAAW,CAAC,EAAiC,EAAA;;AAE7C,QAAA,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE;YAC1B,MAAM,gCAAgC,EAAE,CAAC;AAC5C,SAAA;AAED,QAAA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QAEvB,IAAI,IAAI,CAAC,cAAc,EAAE;;YAErB,IAAI,CAAC,mBAAmB,EAAE,CAAC;AAC9B,SAAA;KACJ;AAED,IAAA,IAAI,KAAK,GAAA;AACL,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;KACxC;AAID,IAAA,IACI,EAAE,GAAA;QACF,OAAO,IAAI,CAAC,GAAG,CAAC;KACnB;IAED,IAAI,EAAE,CAAC,KAAa,EAAA;QAChB,IAAI,CAAC,GAAG,GAAG,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC;AAC7B,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;KAC5B;AAID,IAAA,IACI,WAAW,GAAA;QACX,OAAO,IAAI,CAAC,YAAY,CAAC;KAC5B;IAED,IAAI,WAAW,CAAC,KAAc,EAAA;AAC1B,QAAA,IAAI,CAAC,YAAY,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;KACpD;AAID,IAAA,IAAI,QAAQ,GAAA;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;KACzB;IAED,IAAI,QAAQ,CAAC,KAAU,EAAA;AACnB,QAAA,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAE9C,IAAI,IAAI,CAAC,eAAe,EAAE;YACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,CAAC;AACrG,SAAA;KACJ;;AAKD,IAAA,IAAI,OAAO,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC;KAC3C;IAED,IAAI,OAAO,CAAC,KAAc,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;KACzB;AAID,IAAA,IAAI,SAAS,GAAA;QACT,OAAO,IAAI,CAAC,UAAU,CAAC;KAC1B;AAED,IAAA,IAAI,cAAc,GAAA;AACd,QAAA,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;KAC3E;IAsDD,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;;;;AAKzB,QAAA,IAAI,CAAC,wBAAwB;aACxB,IAAI,CAAC,oBAAoB,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACrD,SAAS,CAAC,MAAK;YACZ,IAAI,IAAI,CAAC,SAAS,EAAE;AAChB,gBAAA,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;gBAEnB,IAAI,IAAI,CAAC,MAAM,EAAE;AAAE,oBAAA,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;AAAE,iBAAA;AAEzC,gBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChC,aAAA;AAAM,iBAAA;AACH,gBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC9B,gBAAA,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,CAAC,CAAC;AAC5B,gBAAA,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;AACzC,aAAA;AACL,SAAC,CAAC,CAAC;KACV;IAED,kBAAkB,GAAA;AACd,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO;AAAE,SAAA;AAE3B,QAAA,IAAI,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE;AACjC,YAAA,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;AACrD,SAAA;AAED,QAAA,IAAI,CAAC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;AAEzC,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAM,IAAI,CAAC,QAAQ,CAAC,CAAC;QAExF,IAAI,CAAC,cAAc,CAAC,OAAO;aACtB,SAAS,CAAC,MAAK;AACZ,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACnC,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACf,IAAI,CAAC,oBAAoB,EAAE,CAAC;AAC/B,aAAA;AACL,SAAC,CAAC,CAAC;AAEP,QAAA,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE/B,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;AAEvC,QAAA,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;AACjC,YAAA,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,QAAQ,GAAG,IAAI,CAAC;AACzE,SAAA;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE;AACf,YAAA,IAAI,CAAC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;AACpC,SAAA;QAED,IAAI,IAAI,CAAC,UAAU,EAAE;AACjB,YAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC1C,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;AAC1B,SAAA;AAED,QAAA,IAAI,CAAC,sBAAsB;AACtB,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC7B,aAAA,SAAS,CAAC,CAAC,KAAK,KAAI;AACjB,YAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,WAAW,EAAE;gBACvD,IAAI,CAAC,KAAK,EAAE,CAAC;AAChB,aAAA;AACL,SAAC,CAAC,CAAC;QAEP,IAAI,CAAC,IAAI,CAAC,eAAe;AACpB,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC7B,aAAA,SAAS,CAAC,CAAC,KAAK,KAAI;AACjB,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AAEnC,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YAEtE,IAAI,IAAI,CAAC,MAAM,EAAE;AACb,gBAAA,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;AACvB,aAAA;AACL,SAAC,CAAC,CAAC;QAEP,IAAI,CAAC,cAAc,CAAC,OAAO;AACtB,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC7B,aAAA,SAAS,CAAC,CAAC,KAAK,KAAI;AACjB,YAAA,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE;gBACpB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;AAC/C,gBAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAQ,CACvE,CAAC;AACL,aAAA;AACL,SAAC,CAAC,CAAC;QAEP,IAAI,CAAC,yBAAyB,EAAE,CAAC;KACpC;IAED,eAAe,GAAA;AACX,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO;AAAE,SAAA;QAE3B,IAAI,CAAC,IAAI,CAAC,OAAO;aACZ,SAAS,CAAC,MAAK;YACZ,UAAU,CAAC,MAAM,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC,CAAC;AACrD,SAAC,CAAC,CAAC;QAEP,UAAU,CAAC,MAAM,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC,CAAC;KACpD;IAED,SAAS,GAAA;QACL,IAAI,IAAI,CAAC,SAAS,EAAE;YAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC;AAAE,SAAA;KACnD;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;;;QAG9B,IAAI,OAAO,CAAC,QAAQ,EAAE;AAClB,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;AAC5B,SAAA;KACJ;IAED,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;AACpB,QAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;AACxB,QAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;AAC7B,QAAA,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC;KACxC;IAGD,wBAAwB,CAAC,eAAuB,EAAE,WAAmB,EAAA;AACjE,QAAA,OAAO,CAAG,EAAA,eAAe,CAAI,CAAA,EAAA,WAAW,EAAE,CAAC;KAC9C;AAED,IAAA,UAAU,CAAC,MAAM,EAAA;QACb,MAAM,CAAC,eAAe,EAAE,CAAC;AAEzB,QAAA,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AAEvC,QAAA,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;AAE7B,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;KACtC;IAQD,MAAM,GAAA;QACF,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,IAAI,CAAC,KAAK,EAAE,CAAC;AAChB,SAAA;AAAM,aAAA;YACH,IAAI,CAAC,IAAI,EAAE,CAAC;AACf,SAAA;KACJ;IAED,IAAI,GAAA;AACA,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE;YAAE,OAAO;AAAE,SAAA;QAE1F,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;;;AAGtE,QAAA,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;AAE3F,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAEvB,UAAU,CAAC,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;AAEhD,QAAA,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;;AAGtC,QAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE;AAC9B,aAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACb,SAAS,CAAC,MAAK;AACZ,YAAA,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,cAAc,EAAE;AACjG,gBAAA,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAG,EAAA,IAAI,CAAC,eAAe,IAAI,CAAC;AAC1F,aAAA;AACL,SAAC,CAAC,CAAC;KACV;;IAGD,KAAK,GAAA;AACD,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YAAE,OAAO;AAAE,SAAA;AAEjC,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AAExB,QAAA,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;QACtC,IAAI,CAAC,SAAS,EAAE,CAAC;QAEjB,IAAI,IAAI,CAAC,MAAM,EAAE;AACb,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;AACvB,SAAA;QAED,UAAU,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;KACrC;AAED;;;;;AAKG;AACH,IAAA,UAAU,CAAC,KAAU,EAAA;QACjB,IAAI,IAAI,CAAC,IAAI,EAAE;AACX,YAAA,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;AACnC,SAAA;AAAM,aAAA;AACH,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AAC3B,SAAA;KACJ;AAED;;;;;;AAMG;AACH,IAAA,gBAAgB,CAAC,EAAwB,EAAA;AACrC,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACtB;AAED;;;;;;AAMG;AACH,IAAA,iBAAiB,CAAC,EAAY,EAAA;AAC1B,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACvB;AAED;;;;;AAKG;AACH,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAChC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;AAC3B,QAAA,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;AACtC,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;KAC5B;AAED,IAAA,IAAI,QAAQ,GAAA;QACR,OAAO,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;KACzF;AAED,IAAA,IAAI,cAAc,GAAA;QACd,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AAE1G,QAAA,OAAO,IAAI,CAAC,QAAQ,GAAG,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;KAC7D;AAED,IAAA,IAAI,YAAY,GAAA;QACZ,IAAI,IAAI,CAAC,KAAK,EAAE;AAAE,YAAA,OAAO,EAAE,CAAC;AAAE,SAAA;AAE9B,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KAC5D;AAED,IAAA,IAAI,KAAK,GAAA;QACL,OAAO,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;KAChE;IAED,KAAK,GAAA;AACD,QAAA,OAAO,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,KAAK,GAAG,KAAK,CAAC;KACtD;AAED,IAAA,aAAa,CAAC,KAAoB,EAAA;AAC9B,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAChB,IAAI,IAAI,CAAC,SAAS,EAAE;AAChB,gBAAA,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;AACjC,aAAA;AAAM,iBAAA;AACH,gBAAA,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;AACnC,aAAA;AACJ,SAAA;KACJ;IAED,OAAO,GAAA;AACH,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAChB,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AAErB,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;AAC5B,SAAA;KACJ;AAED;;;AAGG;IACH,MAAM,GAAA;AACF,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QAEtB,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACnC,IAAI,CAAC,SAAS,EAAE,CAAC;AACjB,YAAA,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;AACtC,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;AAC5B,SAAA;KACJ;;IAGD,UAAU,GAAA;QACN,IAAI,CAAC,UAAU,CAAC,cAAc;AACzB,aAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACb,SAAS,CAAC,MAAK;AACZ,YAAA,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;YACvC,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC/B,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;AAEpD,YAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;AACjC,SAAC,CAAC,CAAC;AAEP,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,cAAc,EAAE;aACzC,SAAS,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;KACtC;;IAGD,aAAa,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,eAAe,GAAG,CAAM,GAAA,EAAA,IAAI,CAAC,eAAe,CAAC,KAAK,CAAA,CAAE,GAAG,EAAE,CAAC;KACzE;IAED,KAAK,GAAA;AACD,QAAA,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;KACzC;AAED;;;AAGG;IACH,gBAAgB,GAAA;QACZ,IAAI,CAAC,KAAK,EAAE,CAAC;KAChB;;IAGD,sBAAsB,CAAC,cAAmB,EAAE,MAAM,EAAA;QAC9C,MAAM,CAAC,eAAe,EAAE,CAAC;AAEzB,QAAA,IAAI,CAAC,cAAc;AACd,aAAA,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;AAE7G,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;KACtC;IAED,oBAAoB,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAAE,OAAO;AAAE,SAAA;QAEnE,IAAI,YAAY,GAAW,CAAC,CAAC;AAC7B,QAAA,MAAM,eAAe,GAAG,IAAI,CAAC,2BAA2B,EAAE,CAAC;QAC3D,IAAI,sBAAsB,GAAW,CAAC,CAAC;QAEvC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;YACtB,IAAI,GAAG,CAAC,aAAa,CAAC,SAAS,GAAG,GAAG,CAAC,aAAa,CAAC,YAAY,EAAE;gBAC9D,sBAAsB,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AAC/D,gBAAA,YAAY,EAAE,CAAC;AAClB,aAAA;AACL,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,GAAG,YAAY,CAAC;QAEtE,IAAI,IAAI,CAAC,WAAW,EAAE;AAClB,YAAA,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,oCAAoC,CAAC,CAAC;AACpG,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC;YAE5F,MAAM,kBAAkB,GAAG,YAAY,CAAC,SAAS,GAAG,YAAY,CAAC,YAAY,CAAC;;YAE9E,MAAM,iBAAiB,GAAW,EAAE,CAAC;AAErC,YAAA,MAAM,gBAAgB,GAAW,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC,CAAC;AACvF,YAAA,MAAM,YAAY,GAAW,gBAAgB,IAAI,kBAAkB,GAAG,iBAAiB,GAAG,CAAC,CAAC,CAAC;AAE7F,YAAA,IAAI,kBAAkB,KAAK,eAAe,GAAG,YAAY,CAAC,EAAE;AAAE,gBAAA,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;AAAE,aAAA;YAErF,IACI,sBAAsB,KAAK,gBAAgB;AAC3C,gBAAA,CAAC,sBAAsB,GAAG,iBAAiB,IAAI,gBAAgB,EACjE;AACE,gBAAA,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;gBAEtC,OAAQ;AACX,aAAA;iBAAM,IAAI,CAAC,kBAAkB,IAAI,CAAC,eAAe,GAAG,iBAAiB,IAAI,YAAY,EAAE;gBACpF,IAAI,CAAC,WAAW,EAAE,CAAC;AACtB,aAAA;AACJ,SAAA;AAED,QAAA,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;KACzC;IAEO,cAAc,GAAA;QAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,UAAW,CAAC,aAAa,EAAE,CAAC;QAC7D,MAAM,oBAAoB,GAAG,IAAI,CAAC,UAAU,CAAC,UAAW,CAAC,oBAAoB,EAAE;aAC1E,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACpF,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,UAAW,CAAC,WAAW,EAAE,CAAC;QAE9D,OAAO,KAAK,CAAC,QAAQ,EAAE,oBAAoB,EAAE,WAAW,CAAC,CAAC;KAC7D;IAEO,2BAA2B,GAAA;AAC/B,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAChE,YAAY,CAAC,aAAa,CAAC,oCAAoC,CAAC,CAAC,MAAM,EAAE,CAAC;QAE1E,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QAC7D,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;QAC7D,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QACrD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;AAElD,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;QAEpE,IAAI,eAAe,GAAW,CAAC,CAAC;QAChC,YAAY,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AACrD,YAAA,eAAe,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;AAC/C,SAAC,CAAC,CAAC;QAEH,YAAY,CAAC,MAAM,EAAE,CAAC;AAEtB,QAAA,OAAO,eAAe,CAAC;KAC1B;AAEO,IAAA,YAAY,CAAC,OAAoB,EAAA;QACrC,MAAM,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAEvD,MAAM,KAAK,GAAW,QAAQ,CAAC,aAAa,CAAC,KAAe,CAAC,CAAC;QAC9D,MAAM,UAAU,GAAW,QAAQ,CAAC,aAAa,CAAC,UAAoB,CAAC,CAAC;QACxE,MAAM,WAAW,GAAW,QAAQ,CAAC,aAAa,CAAC,WAAqB,CAAC,CAAC;AAE1E,QAAA,OAAO,KAAK,GAAG,UAAU,GAAG,WAAW,CAAC;KAC3C;AAEO,IAAA,mBAAmB,CAAC,KAAoB,EAAA;;AAE5C,QAAA,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,MAAM,UAAU,GAAG,OAAO,KAAK,UAAU,IAAI,OAAO,KAAK,QAAQ;AAC7D,YAAA,OAAO,KAAK,UAAU,IAAI,OAAO,KAAK,WAAW,CAAC;QACtD,MAAM,SAAS,GAAG,OAAO,KAAK,KAAK,IAAI,OAAO,KAAK,KAAK,CAAC;;AAGzD,QAAA,IAAI,SAAS,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU,CAAC,EAAE;;YAE9D,KAAK,CAAC,cAAc,EAAE,CAAC;YAEvB,IAAI,CAAC,IAAI,EAAE,CAAC;AACf,SAAA;AAAM,aAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE;YACjF,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACzC,SAAA;KACJ;AAEO,IAAA,iBAAiB,CAAC,KAAoB,EAAA;;AAE1C,QAAA,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,MAAM,UAAU,GAAG,OAAO,KAAK,UAAU,IAAI,OAAO,KAAK,QAAQ,CAAC;AAElE,QAAA,IAAI,UAAU,IAAI,KAAK,CAAC,MAAM,EAAE;;YAE5B,KAAK,CAAC,cAAc,EAAE,CAAC;YAEvB,IAAI,CAAC,KAAK,EAAE,CAAC;AAChB,SAAA;AAAM,aAAA,IAAI,OAAO,KAAK,UAAU,IAAI,OAAO,KAAK,WAAW,EAAE;AAC1D,YAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACxD,SAAA;aAAM,IAAI,OAAO,KAAK,IAAI,EAAE;YACzB,KAAK,CAAC,cAAc,EAAE,CAAC;AAEvB,YAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC;AAC7C,SAAA;aAAM,IAAI,OAAO,KAAK,GAAG,EAAE;YACxB,KAAK,CAAC,cAAc,EAAE,CAAC;AAEvB,YAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC;AAC5C,SAAA;aAAM,IAAI,OAAO,KAAK,OAAO,EAAE;YAC5B,KAAK,CAAC,cAAc,EAAE,CAAC;AAEvB,YAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,yBAAyB,EAAE,CAAC;AACpD,SAAA;aAAM,IAAI,OAAO,KAAK,SAAS,EAAE;YAC9B,KAAK,CAAC,cAAc,EAAE,CAAC;AAEvB,YAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC;AAChD,SAAA;AAAM,aAAA,IAAI,CAAC,OAAO,KAAK,KAAK,IAAI,OAAO,KAAK,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE;YACpF,KAAK,CAAC,cAAc,EAAE,CAAC;AAEvB,YAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;AAClB,gBAAA,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AACpE,aAAA;AAAM,iBAAA;gBACH,IAAI,CAAC,KAAK,EAAE,CAAC;AAChB,aAAA;AACJ,SAAA;aAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE;YACxD,KAAK,CAAC,cAAc,EAAE,CAAC;AAEvB,YAAA,MAAM,oBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAE7E,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,KAAI;AAC5B,gBAAA,IAAI,oBAAoB,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;oBAC1C,MAAM,CAAC,MAAM,EAAE,CAAC;AACnB,iBAAA;AAAM,qBAAA;oBACH,MAAM,CAAC,QAAQ,EAAE,CAAC;AACrB,iBAAA;AACL,aAAC,CAAC,CAAC;AACN,SAAA;AAAM,aAAA;YACH,MAAM,sBAAsB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC;YAEpE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;YAChD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAEtC,YAAA,IACI,IAAI,CAAC,QAAQ,IAAI,UAAU,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU;gBAChF,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,KAAK,sBAAsB,EACjE;gBACE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;AAC/D,aAAA;YAED,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE;gBACpD,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAC7B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,cAAc,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,cAAc,CAAC,KAAK,EAAE,SAAS,CAAC,CACvG,CAAC;AACL,aAAA;YAED,IAAI,IAAI,CAAC,MAAM,EAAE;AACb,gBAAA,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;AACvB,aAAA;AACJ,SAAA;KACJ;IAEO,oBAAoB,GAAA;AACxB,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ;AACxC,aAAA,GAAG,CAAC,CAAC,IAAI,MAAM;YACR,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3C,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC;YACnD,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC;AACnD,SAAA,CAAC,CACL,CAAC;AACV,QAAA,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;KAC1C;IAEO,mBAAmB,GAAA;;;AAGvB,QAAA,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAK;YACxB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;AAClF,SAAC,CAAC,CAAC;KACN;AAED;;;AAGG;AACK,IAAA,mBAAmB,CAAC,KAAkB,EAAA;AAC1C,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,KAAK,EAAE;AACxB,YAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBAAE,MAAM,6BAA6B,EAAE,CAAC;AAAE,aAAA;AAErE,YAAA,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;YAEtC,IAAI,CAAC,UAAU,EAAE,CAAC;AACrB,SAAA;AAAM,aAAA;YACH,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAC3C,SAAA;AAED,QAAA,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;KAC1C;IAEO,cAAc,GAAA;QAClB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;QAE7C,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,MAAO,GAAC,CAAC;AAE/B,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM;AACtB,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC7B,SAAS,CAAC,MAAK;;;YAGZ,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,KAAK,EAAE,CAAC;AACjB,SAAC,CAAC,CAAC;AAEP,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM;AACtB,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC7B,SAAS,CAAC,MAAK;AACZ,YAAA,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,EAAE;gBAC/B,IAAI,CAAC,0BAA0B,EAAE,CAAC;AACrC,aAAA;AAAM,iBAAA,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE;gBAC9E,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC;AAC1D,aAAA;AACL,SAAC,CAAC,CAAC;KACV;;IAGO,UAAU,GAAA;QACd,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAEvC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;AAC9B,gBAAA,OAAO,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC;AAC3D,oBAAA,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAChD,aAAC,CAAC,CAAC;AAEH,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;AAC5B,SAAA;KACJ;AAED;;;AAGG;IACK,sBAAsB,GAAA;QAC1B,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YAAE,OAAO;AAAE,SAAA;QAEpD,MAAM,kBAAkB,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;AAExF,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,KAAK,KAAK,kBAAkB,CAAC,CAAC;AAE1F,QAAA,IAAI,cAAc,EAAE;YAChB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;YAChD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;AACtD,SAAA;KACJ;;IAGO,0BAA0B,GAAA;QAC9B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC;KAC5C;AAED;;;;;;AAMG;IACK,uBAAuB,GAAA;AAC3B,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,cAAc,CAAC,qBAAqB,EAAE,CAAC;QACtF,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC;AAC1D,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;;AAE3B,QAAA,MAAM,YAAY,GAAG,sBAAsB,GAAG,CAAC,CAAC;QAChD,IAAI,OAAO,GAAW,sBAAsB,CAAC;;QAG7C,IAAI,CAAC,KAAK,EAAE;YAAE,OAAO,IAAI,CAAC,CAAC,CAAC;AAAE,SAAA;;QAG9B,MAAM,YAAY,GAAG,CAAC,IAAI,WAAW,CAAC,IAAI,GAAG,OAAO,IAAI,KAAK,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC;QACnF,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,GAAG,OAAO,GAAG,YAAY,CAAC,KAAK;eAC/D,KAAK,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC;;QAGjC,IAAI,YAAY,GAAG,CAAC,EAAE;AAClB,YAAA,OAAO,IAAI,YAAY,GAAG,6BAA6B,CAAC;AAC3D,SAAA;aAAM,IAAI,aAAa,GAAG,CAAC,EAAE;AAC1B,YAAA,OAAO,IAAI,aAAa,GAAG,6BAA6B,CAAC;AAC5D,SAAA;;;;QAKD,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC9C,QAAA,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC;KAC/C;IAKO,yBAAyB,GAAA;QAC7B,IAAI,IAAI,CAAC,MAAM,EAAE;AACb,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,KAAK,KAAI;AAC1D,gBAAA,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;AACxD,gBAAA,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;AAC1C,aAAC,CAAC,CAAC;AACN,SAAA;KACJ;;AAp9BQ,sCAAA,YAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,EAsST,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,aAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,yBAAyB,EACb,EAAA,EAAA,KAAA,EAAA,aAAa,6BACb,aAAa,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,IAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,IAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,IAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAxS5B,sCAAA,YAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,YAAY,EALV,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,YAAA,EAAA,aAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,UAAA,EAAA,YAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,aAAA,EAAA,wBAAA,EAAA,0BAAA,EAAA,EAAA,OAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,YAAA,EAAA,QAAA,EAAA,YAAA,EAAA,QAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,UAAA,EAAA,SAAA,EAAA,uBAAA,EAAA,OAAA,EAAA,WAAA,EAAA,MAAA,EAAA,UAAA,EAAA,eAAA,EAAA,wBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,SAAA,EAAA;AACP,QAAA,EAAE,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,YAAY,EAAE;AAC1D,QAAA,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE;KACjD,EAsEa,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,eAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,mBAAmB,EAEnB,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,MAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,eAAe,EAEf,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,cAAc,EAXjB,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,OAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,mBAAmB,EAEhB,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,MAAA,EAAA,SAAA,EAAA,KAAK,ECzOvB,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,i2HAkFA,ED+EgB,MAAA,EAAA,CAAA,++HAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,QAAA,EAAA,gDAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,YAAA,EAAA,WAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,EAAA,WAAA,EAAA,SAAA,CAAA,EAAA,QAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,4DAAA,EAAA,QAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,qEAAA,EAAA,MAAA,EAAA,CAAA,2BAAA,EAAA,8BAAA,EAAA,qCAAA,EAAA,4BAAA,EAAA,4BAAA,EAAA,0BAAA,EAAA,2BAAA,EAAA,6BAAA,EAAA,8BAAA,EAAA,kCAAA,EAAA,+BAAA,EAAA,mCAAA,EAAA,mCAAA,EAAA,yBAAA,EAAA,iCAAA,EAAA,sCAAA,EAAA,gCAAA,EAAA,iCAAA,EAAA,uCAAA,EAAA,kCAAA,EAAA,yBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,qBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA;AACR,QAAA,kBAAkB,CAAC,cAAc;AACjC,QAAA,kBAAkB,CAAC,aAAa;AACnC,KAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4FAMQ,YAAY,EAAA,UAAA,EAAA,CAAA;kBAhCxB,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,YAChB,cAAc,EAAA,MAAA,EAGhB,CAAC,UAAU,EAAE,UAAU,CAAC,EACjB,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,gBAAgB;AACvB,wBAAA,qBAAqB,EAAE,UAAU;AACjC,wBAAA,oBAAoB,EAAE,YAAY;AAElC,wBAAA,WAAW,EAAE,IAAI;AACjB,wBAAA,iBAAiB,EAAE,UAAU;AAC7B,wBAAA,iBAAiB,EAAE,kBAAkB;AAErC,wBAAA,SAAS,EAAE,UAAU;AACrB,wBAAA,WAAW,EAAE,uBAAuB;AACpC,wBAAA,SAAS,EAAE,WAAW;AACtB,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,iBAAiB,EAAE,wBAAwB;qBAC9C,EACW,UAAA,EAAA;AACR,wBAAA,kBAAkB,CAAC,cAAc;AACjC,wBAAA,kBAAkB,CAAC,aAAa;qBACnC,EACU,SAAA,EAAA;AACP,wBAAA,EAAE,OAAO,EAAE,kBAAkB,EAAE,WAAW,cAAc,EAAE;AAC1D,wBAAA,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,cAAc,EAAE;AACjD,qBAAA,EAAA,QAAA,EAAA,i2HAAA,EAAA,MAAA,EAAA,CAAA,++HAAA,CAAA,EAAA,CAAA;;0BAwSI,MAAM;2BAAC,yBAAyB,CAAA;;0BAChC,QAAQ;;0BAAI,MAAM;2BAAC,aAAa,CAAA;;0BAChC,QAAQ;;0BAAI,MAAM;2BAAC,aAAa,CAAA;;0BAChC,QAAQ;;0BACR,QAAQ;;0BACR,QAAQ;;0BACR,QAAQ;;0BACR,QAAQ;;0BAAI,IAAI;;0BAChB,QAAQ;;0BAAI,IAAI;;0BAChB,QAAQ;;0BAAI,IAAI;4CAtPoB,OAAO,EAAA,CAAA;sBAA/C,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,SAAS,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;gBAEA,KAAK,EAAA,CAAA;sBAA3C,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;gBAEc,UAAU,EAAA,CAAA;sBAA5D,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,mBAAmB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;gBAE5B,IAAI,EAAA,CAAA;sBAAxB,YAAY;uBAAC,KAAK,CAAA;gBAEgC,OAAO,EAAA,CAAA;sBAAzD,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,iBAAiB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBAGK,aAAa,EAAA,CAAA;sBAAlE,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,mBAAmB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;gBAEF,IAAI,EAAA,CAAA;sBAArD,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,eAAe,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;gBAEC,MAAM,EAAA,CAAA;sBAAtD,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,cAAc,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;gBAEtC,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBAGa,YAAY,EAAA,CAAA;sBAA9B,MAAM;gBAGoB,YAAY,EAAA,CAAA;sBAAtC,MAAM;uBAAC,QAAQ,CAAA;gBAIW,YAAY,EAAA,CAAA;sBAAtC,MAAM;uBAAC,QAAQ,CAAA;gBAIG,eAAe,EAAA,CAAA;sBAAjC,MAAM;gBAOY,WAAW,EAAA,CAAA;sBAA7B,MAAM;gBAGE,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAEG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBAGG,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBAMG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBAiBF,WAAW,EAAA,CAAA;sBADd,KAAK;gBAcF,QAAQ,EAAA,CAAA;sBADX,KAAK;gBAcF,QAAQ,EAAA,CAAA;sBADX,KAAK;gBAgBF,UAAU,EAAA,CAAA;sBADb,KAAK;gBAmBF,WAAW,EAAA,CAAA;sBADd,KAAK;gBA0BF,EAAE,EAAA,CAAA;sBADL,KAAK;gBAaF,WAAW,EAAA,CAAA;sBADd,KAAK;gBA+NN,wBAAwB,EAAA,CAAA;sBADvB,KAAK;;;ME3kBG,kBAAkB,CAAA;;sJAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAlB,sCAAA,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,iBAHZ,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,aAThE,YAAY;QACZ,aAAa;QACb,YAAY;QACZ,YAAY;QACZ,YAAY;QACZ,sBAAsB;AACtB,QAAA,cAAc,aAER,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,YAAY,CAAA,EAAA,CAAA,CAAA;AAIpE,sCAAA,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,EAFhB,SAAA,EAAA,CAAC,kCAAkC,CAAC,EAXtC,OAAA,EAAA,CAAA;YACL,YAAY;YACZ,aAAa;YACb,YAAY;YACZ,YAAY;YACZ,YAAY;YACZ,sBAAsB;YACtB,cAAc;AACjB,SAAA,EACgE,YAAY,CAAA,EAAA,CAAA,CAAA;4FAIpE,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAd9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,aAAa;wBACb,YAAY;wBACZ,YAAY;wBACZ,YAAY;wBACZ,sBAAsB;wBACtB,cAAc;AACjB,qBAAA;oBACD,OAAO,EAAE,CAAC,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,YAAY,CAAC;AAC9E,oBAAA,YAAY,EAAE,CAAC,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,CAAC;oBACrE,SAAS,EAAE,CAAC,kCAAkC,CAAC;AAClD,iBAAA,CAAA;;;ACzBD;;AAEG;;;;"}
|
1
|
+
{"version":3,"file":"ptsecurity-mosaic-tree-select.mjs","sources":["../../../packages/mosaic/tree-select/tree-select.component.ts","../../../packages/mosaic/tree-select/tree-select.html","../../../packages/mosaic/tree-select/tree-select.module.ts","../../../packages/mosaic/tree-select/ptsecurity-mosaic-tree-select.ts"],"sourcesContent":["/* tslint:disable:no-empty */\n\nimport { Directionality } from '@angular/cdk/bidi';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport {\n CdkConnectedOverlay,\n ConnectedPosition,\n ViewportRuler\n} from '@angular/cdk/overlay';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n Directive,\n DoCheck,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n NgZone,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n QueryList,\n Renderer2,\n Self,\n SimpleChanges,\n ViewChild,\n ViewChildren,\n ViewEncapsulation\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n FormControlName,\n FormGroupDirective,\n NG_VALIDATORS,\n NgControl,\n NgForm,\n NgModel,\n Validator\n} from '@angular/forms';\nimport {\n DOWN_ARROW,\n END,\n ENTER,\n HOME,\n LEFT_ARROW,\n RIGHT_ARROW,\n SPACE,\n UP_ARROW,\n A,\n PAGE_UP,\n PAGE_DOWN,\n hasModifierKey\n} from '@ptsecurity/cdk/keycodes';\nimport {\n CanDisable,\n CanUpdateErrorState,\n ErrorStateMatcher,\n HasTabIndex,\n CanDisableCtor,\n HasTabIndexCtor,\n CanUpdateErrorStateCtor,\n mixinTabIndex,\n mixinDisabled,\n mixinErrorState,\n mcSelectAnimations,\n\n SELECT_PANEL_PADDING_X,\n SELECT_PANEL_VIEWPORT_PADDING,\n MC_SELECT_SCROLL_STRATEGY,\n\n getMcSelectDynamicMultipleError,\n getMcSelectNonFunctionValueError,\n getMcSelectNonArrayValueError,\n MultipleMode,\n\n MC_VALIDATION,\n setMosaicValidation,\n McValidationOptions\n} from '@ptsecurity/mosaic/core';\nimport { McCleaner, McFormField, McFormFieldControl } from '@ptsecurity/mosaic/form-field';\nimport { McSelectSearch } from '@ptsecurity/mosaic/select';\nimport { McTag } from '@ptsecurity/mosaic/tags';\nimport { McTree, McTreeSelection, McTreeOption } from '@ptsecurity/mosaic/tree';\nimport { defer, merge, Observable, Subject, Subscription } from 'rxjs';\nimport {\n filter,\n map,\n switchMap,\n take,\n takeUntil,\n distinctUntilChanged,\n startWith\n} from 'rxjs/operators';\n\n\nlet nextUniqueId = 0;\n\nexport interface ITriggerValue {\n disabled: boolean;\n value: string;\n viewValue: string;\n}\n\n/** Change event object that is emitted when the select value has changed. */\nexport class McTreeSelectChange {\n constructor(public source: McTreeSelect, public value: any, public isUserInput = false) {}\n}\n\n\n@Directive({ selector: 'mc-tree-select-trigger' })\nexport class McTreeSelectTrigger {}\n\n@Directive({ selector: 'mc-tree-select-footer' })\nexport class McTreeSelectFooter {}\n\nclass McTreeSelectBase {\n constructor(\n public elementRef: ElementRef,\n public defaultErrorStateMatcher: ErrorStateMatcher,\n public parentForm: NgForm,\n public parentFormGroup: FormGroupDirective,\n public ngControl: NgControl\n ) {}\n}\n\n// tslint:disable-next-line:naming-convention\nconst McTreeSelectMixinBase: CanDisableCtor & HasTabIndexCtor & CanUpdateErrorStateCtor &\n typeof McTreeSelectBase = mixinTabIndex(mixinDisabled(mixinErrorState(McTreeSelectBase)));\n\n\n@Component({\n selector: 'mc-tree-select',\n exportAs: 'mcTreeSelect',\n templateUrl: 'tree-select.html',\n styleUrls: ['./tree-select.scss'],\n inputs: ['disabled', 'tabIndex'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'mc-tree-select',\n '[class.mc-disabled]': 'disabled',\n '[class.mc-invalid]': 'errorState',\n\n '[attr.id]': 'id',\n '[attr.tabindex]': 'tabIndex',\n '[attr.disabled]': 'disabled || null',\n\n '(click)': 'toggle()',\n '(keydown)': 'handleKeydown($event)',\n '(focus)': 'onFocus()',\n '(blur)': 'onBlur()',\n '(window:resize)': 'calculateHiddenItems()'\n },\n animations: [\n mcSelectAnimations.transformPanel,\n mcSelectAnimations.fadeInContent\n ],\n providers: [\n { provide: McFormFieldControl, useExisting: McTreeSelect },\n { provide: McTree, useExisting: McTreeSelect }\n ]\n})\nexport class McTreeSelect extends McTreeSelectMixinBase implements\n AfterContentInit, AfterViewInit, OnChanges, OnDestroy, OnInit, DoCheck, ControlValueAccessor,\n CanDisable, HasTabIndex, McFormFieldControl<McTreeOption>, CanUpdateErrorState {\n\n /** A name for this control that can be used by `mc-form-field`. */\n controlType = 'select';\n\n hiddenItems: number = 0;\n\n /** The last measured value for the trigger's client bounding rect. */\n triggerRect: ClientRect;\n\n /** The cached font-size of the trigger element. */\n triggerFontSize = 0;\n\n /** Deals with the selection logic. */\n selectionModel: SelectionModel<any>;\n\n /** The value of the select panel's transform-origin property. */\n transformOrigin: string = 'top';\n\n /** Emits when the panel element is finished transforming in. */\n panelDoneAnimatingStream = new Subject<string>();\n\n /** Strategy that will be used to handle scrolling while the select panel is open. */\n scrollStrategy = this.scrollStrategyFactory();\n\n /**\n * The y-offset of the overlay panel in relation to the trigger's top start corner.\n * This must be adjusted to align the selected option text over the trigger text.\n * when the panel opens. Will change based on the y-position of the selected option.\n */\n offsetY = 0;\n\n /**\n * This position config ensures that the top \"start\" corner of the overlay\n * is aligned with with the top \"start\" of the origin by default (overlapping\n * the trigger completely). If the panel cannot fit below the trigger, it\n * will fall back to a position above the trigger.\n */\n positions: ConnectedPosition[] = [\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top'\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom'\n }\n ];\n\n options: QueryList<McTreeOption>;\n\n @ViewChild('trigger', { static: false }) trigger: ElementRef;\n\n @ViewChild('panel', { static: false }) panel: ElementRef;\n\n @ViewChild(CdkConnectedOverlay, { static: false }) overlayDir: CdkConnectedOverlay;\n\n @ViewChildren(McTag) tags: QueryList<McTag>;\n\n @ContentChild('mcSelectCleaner', { static: true }) cleaner: McCleaner;\n\n /** User-supplied override of the trigger element. */\n @ContentChild(McTreeSelectTrigger, { static: false }) customTrigger: McTreeSelectTrigger;\n\n @ContentChild(McTreeSelection, { static: false }) tree: McTreeSelection;\n\n @ContentChild(McSelectSearch, { static: false }) search: McSelectSearch;\n\n @Input() hiddenItemsText: string = '...ещё';\n\n /** Event emitted when the select panel has been toggled. */\n @Output() readonly openedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** Event emitted when the select has been opened. */\n @Output('opened') readonly openedStream: Observable<void> =\n this.openedChange.pipe(filter((o) => o), map(() => {}));\n\n /** Event emitted when the select has been closed. */\n @Output('closed') readonly closedStream: Observable<void> =\n this.openedChange.pipe(filter((o) => !o), map(() => {}));\n\n /** Event emitted when the selected value has been changed by the user. */\n @Output() readonly selectionChange = new EventEmitter<McTreeSelectChange>();\n\n /**\n * Event that emits whenever the raw value of the select changes. This is here primarily\n * to facilitate the two-way binding for the `value` input.\n * @docs-private\n */\n @Output() readonly valueChange: EventEmitter<any> = new EventEmitter<any>();\n\n /** Classes to be passed to the select panel. Supports the same syntax as `ngClass`. */\n @Input() panelClass: string | string[] | Set<string> | { [key: string]: any };\n\n @Input() backdropClass: string = 'cdk-overlay-transparent-backdrop';\n\n /** Object used to control when error messages are shown. */\n @Input() errorStateMatcher: ErrorStateMatcher;\n\n /**\n * Function used to sort the values in a select in multiple mode.\n * Follows the same logic as `Array.prototype.sort`.\n */\n @Input() sortComparator: (a: McTreeOption, b: McTreeOption, options: McTreeOption[]) => number;\n\n /** Combined stream of all of the child options' change events. */\n readonly optionSelectionChanges: Observable<McTreeSelectChange> = defer(() => {\n if (this.options) {\n return this.options.changes.pipe(\n startWith(this.options),\n switchMap(() => merge(...this.options.map((option) => option.onSelectionChange)))\n );\n }\n\n return this.ngZone.onStable\n .asObservable()\n .pipe(take(1), switchMap(() => this.optionSelectionChanges));\n }) as Observable<McTreeSelectChange>;\n\n @Input()\n get placeholder(): string {\n return this._placeholder;\n }\n\n set placeholder(value: string) {\n this._placeholder = value;\n\n this.stateChanges.next();\n }\n\n private _placeholder: string;\n\n @Input()\n get required(): boolean {\n return this._required;\n }\n\n set required(value: boolean) {\n this._required = coerceBooleanProperty(value);\n\n this.stateChanges.next();\n }\n\n private _required: boolean = false;\n\n @Input()\n get multiple(): boolean {\n return this._multiple;\n }\n\n set multiple(value: boolean) {\n if (this.selectionModel) {\n throw getMcSelectDynamicMultipleError();\n }\n\n this._multiple = coerceBooleanProperty(value);\n }\n\n private _multiple: boolean = false;\n\n @Input()\n get autoSelect(): boolean {\n if (this.multiple) { return false; }\n\n return this._autoSelect;\n }\n\n set autoSelect(value: boolean) {\n this._autoSelect = coerceBooleanProperty(value);\n }\n\n private _autoSelect: boolean = true;\n\n /**\n * Function to compare the option values with the selected values. The first argument\n * is a value from an option. The second is a value from the selection. A boolean\n * should be returned.\n */\n @Input()\n get compareWith() {\n return this._compareWith;\n }\n\n set compareWith(fn: (o1: any, o2: any) => boolean) {\n /* tslint:disable-next-line:strict-type-predicates */\n if (typeof fn !== 'function') {\n throw getMcSelectNonFunctionValueError();\n }\n\n this._compareWith = fn;\n\n if (this.selectionModel) {\n // A different comparator means the selection could change.\n this.initializeSelection();\n }\n }\n\n get value(): any {\n return this.tree.getSelectedValues();\n }\n\n private _value: any = null;\n\n @Input()\n get id(): string {\n return this._id;\n }\n\n set id(value: string) {\n this._id = value || this.uid;\n this.stateChanges.next();\n }\n\n private _id: string;\n\n @Input()\n get hasBackdrop(): boolean {\n return this._hasBackdrop;\n }\n\n set hasBackdrop(value: boolean) {\n this._hasBackdrop = coerceBooleanProperty(value);\n }\n\n private _hasBackdrop: boolean = false;\n\n get disabled() {\n return this._disabled;\n }\n\n set disabled(value: any) {\n this._disabled = coerceBooleanProperty(value);\n\n if (this.parentFormField) {\n this._disabled ? this.parentFormField.stopFocusMonitor() : this.parentFormField.runFocusMonitor();\n }\n }\n\n private _disabled: boolean = false;\n\n /** Whether the select is focused. */\n get focused(): boolean {\n return this._focused || this._panelOpen;\n }\n\n set focused(value: boolean) {\n this._focused = value;\n }\n\n private _focused = false;\n\n get panelOpen(): boolean {\n return this._panelOpen;\n }\n\n get canShowCleaner(): boolean {\n return !this.disabled && this.cleaner && this.selectionModel.hasValue();\n }\n\n isEmptySearchResult: boolean;\n\n triggerValues: ITriggerValue[] = [];\n\n private closeSubscription = Subscription.EMPTY;\n\n private _panelOpen = false;\n\n private originalOnKeyDown: (event: KeyboardEvent) => void;\n\n /** The scroll position of the overlay panel, calculated to center the selected option. */\n private scrollTop = 0;\n\n /** Unique id for this input. */\n private readonly uid = `mc-select-${nextUniqueId++}`;\n\n /** Emits whenever the component is destroyed. */\n private readonly destroy = new Subject<void>();\n\n // Used for storing the values that were assigned before the options were initialized.\n private tempValues: string | string[] | null;\n\n constructor(\n elementRef: ElementRef,\n readonly changeDetectorRef: ChangeDetectorRef,\n private readonly viewportRuler: ViewportRuler,\n private readonly ngZone: NgZone,\n private readonly renderer: Renderer2,\n defaultErrorStateMatcher: ErrorStateMatcher,\n @Inject(MC_SELECT_SCROLL_STRATEGY) private readonly scrollStrategyFactory,\n @Optional() @Inject(NG_VALIDATORS) public rawValidators: Validator[],\n @Optional() @Inject(MC_VALIDATION) private mcValidation: McValidationOptions,\n @Optional() private readonly dir: Directionality,\n @Optional() parentForm: NgForm,\n @Optional() parentFormGroup: FormGroupDirective,\n @Optional() private readonly parentFormField: McFormField,\n @Optional() @Self() ngControl: NgControl,\n @Optional() @Self() public ngModel: NgModel,\n @Optional() @Self() public formControlName: FormControlName\n ) {\n super(elementRef, defaultErrorStateMatcher, parentForm, parentFormGroup, ngControl);\n\n if (this.ngControl) {\n // Note: we provide the value accessor through here, instead of\n // the `providers` to avoid running into a circular import.\n this.ngControl.valueAccessor = this;\n }\n\n // Force setter to be called in case id was not specified.\n this.id = this.id;\n }\n\n ngOnInit() {\n this.stateChanges.next();\n\n // We need `distinctUntilChanged` here, because some browsers will\n // fire the animation end event twice for the same animation. See:\n // https://github.com/angular/angular/issues/24084\n this.panelDoneAnimatingStream\n .pipe(distinctUntilChanged(), takeUntil(this.destroy))\n .subscribe(() => {\n if (this.panelOpen) {\n this.scrollTop = 0;\n\n if (this.search) { this.search.focus(); }\n\n this.openedChange.emit(true);\n } else {\n this.openedChange.emit(false);\n this.overlayDir.offsetX = 0;\n this.changeDetectorRef.markForCheck();\n }\n });\n }\n\n ngAfterContentInit() {\n if (!this.tree) { return; }\n\n if (this.mcValidation.useValidation) {\n setMosaicValidation(this, this.changeDetectorRef);\n }\n\n this.tree.resetFocusedItemOnBlur = false;\n\n this.selectionModel = this.tree.selectionModel = new SelectionModel<any>(this.multiple);\n\n this.selectionModel.changed\n .subscribe(() => {\n this.onChange(this.selectedValues);\n if (this.multiple) {\n this.refreshTriggerValues();\n }\n });\n\n this.tree.ngAfterContentInit();\n\n this.initKeyManager();\n\n this.options = this.tree.renderedOptions;\n this.tree.autoSelect = this.autoSelect;\n\n if (this.tree.multipleMode === null) {\n this.tree.multipleMode = this.multiple ? MultipleMode.CHECKBOX : null;\n }\n\n if (this.multiple) {\n this.tree.noUnselectLast = false;\n }\n\n if (this.tempValues) {\n this.setSelectionByValue(this.tempValues);\n this.tempValues = null;\n }\n\n this.optionSelectionChanges\n .pipe(takeUntil(this.destroy))\n .subscribe((event) => {\n if (!this.multiple && this.panelOpen && event.isUserInput) {\n this.close();\n }\n });\n\n this.tree.selectionChange\n .pipe(takeUntil(this.destroy))\n .subscribe((event) => {\n this.onChange(this.selectedValues);\n\n this.selectionChange.emit(new McTreeSelectChange(this, event.option));\n\n if (this.search) {\n this.search.focus();\n }\n });\n\n this.selectionModel.changed\n .pipe(takeUntil(this.destroy))\n .subscribe((event) => {\n if (event.added.length) {\n this.tree.keyManager.setFocusOrigin('program');\n this.tree.keyManager.setActiveItem(\n this.options.find((option) => option.data === event.added[0]) as any\n );\n }\n });\n\n this.updateIsEmptySearchResult();\n }\n\n ngAfterViewInit() {\n if (!this.tree) { return; }\n\n this.tags.changes\n .subscribe(() => {\n setTimeout(() => this.calculateHiddenItems(), 0);\n });\n\n setTimeout(() => this.calculateHiddenItems(), 0);\n }\n\n ngDoCheck() {\n if (this.ngControl) { this.updateErrorState(); }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n // Updating the disabled state is handled by `mixinDisabled`, but we need to additionally let\n // the parent form field know to run change detection when the disabled state changes.\n if (changes.disabled) {\n this.stateChanges.next();\n }\n }\n\n ngOnDestroy() {\n this.destroy.next();\n this.destroy.complete();\n this.stateChanges.complete();\n this.closeSubscription.unsubscribe();\n }\n\n @Input()\n hiddenItemsTextFormatter(hiddenItemsText: string, hiddenItems: number): string {\n return `${hiddenItemsText} ${hiddenItems}`;\n }\n\n clearValue($event): void {\n $event.stopPropagation();\n\n this.selectionModel.clear();\n this.tree.keyManager.setActiveItem(-1);\n\n this.setSelectionByValue([]);\n\n this.onChange(this.selectedValues);\n }\n\n /** `View -> model callback called when value changes` */\n onChange: (value: any) => void = () => {};\n\n /** `View -> model callback called when select has been touched` */\n onTouched = () => {};\n\n toggle(): void {\n if (this.panelOpen) {\n this.close();\n } else {\n this.open();\n }\n }\n\n open(): void {\n if (this.disabled || !this.options || !this.options.length || this._panelOpen) { return; }\n\n this.triggerRect = this.trigger.nativeElement.getBoundingClientRect();\n // Note: The computed font-size will be a string pixel value (e.g. \"16px\").\n // `parseInt` ignores the trailing 'px' and converts this to a number.\n this.triggerFontSize = parseInt(getComputedStyle(this.trigger.nativeElement)['font-size']);\n\n this._panelOpen = true;\n\n setTimeout(() => this.highlightCorrectOption());\n\n this.changeDetectorRef.markForCheck();\n\n // Set the font size on the panel element once it exists.\n this.ngZone.onStable.asObservable()\n .pipe(take(1))\n .subscribe(() => {\n if (this.triggerFontSize && this.overlayDir.overlayRef && this.overlayDir.overlayRef.overlayElement) {\n this.overlayDir.overlayRef.overlayElement.style.fontSize = `${this.triggerFontSize}px`;\n }\n });\n }\n\n /** Closes the overlay panel and focuses the host element. */\n close(): void {\n if (!this._panelOpen) { return; }\n\n this._panelOpen = false;\n\n this.changeDetectorRef.markForCheck();\n this.onTouched();\n\n if (this.search) {\n this.search.reset();\n }\n\n setTimeout(() => this.focus(), 0);\n }\n\n /**\n * Sets the select's value. Part of the ControlValueAccessor interface\n * required to integrate with Angular's core forms API.\n *\n * @param value New value to be written to the model.\n */\n writeValue(value: any): void {\n if (this.tree) {\n this.setSelectionByValue(value);\n } else {\n this.tempValues = value;\n }\n }\n\n /**\n * Saves a callback function to be invoked when the select's value\n * changes from user input. Part of the ControlValueAccessor interface\n * required to integrate with Angular's core forms API.\n *\n * @param fn Callback to be triggered when the value changes.\n */\n registerOnChange(fn: (value: any) => void) {\n this.onChange = fn;\n }\n\n /**\n * Saves a callback function to be invoked when the select is blurred\n * by the user. Part of the ControlValueAccessor interface required\n * to integrate with Angular's core forms API.\n *\n * @param fn Callback to be triggered when the component has been touched.\n */\n registerOnTouched(fn: () => {}) {\n this.onTouched = fn;\n }\n\n /**\n * Disables the select. Part of the ControlValueAccessor interface required\n * to integrate with Angular's core forms API.\n *\n * @param isDisabled Sets whether the component is disabled.\n */\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled;\n this.changeDetectorRef.markForCheck();\n this.stateChanges.next();\n }\n\n get selected(): any {\n return this.multiple ? this.selectionModel.selected : this.selectionModel.selected[0];\n }\n\n get selectedValues(): any {\n const selectedValues = this.selectionModel.selected.map((value) => this.tree.treeControl.getValue(value));\n\n return this.multiple ? selectedValues : selectedValues[0];\n }\n\n get triggerValue(): string {\n if (this.empty) { return ''; }\n\n return this.tree.treeControl.getViewValue(this.selected);\n }\n\n get empty(): boolean {\n return !this.selectionModel || this.selectionModel.isEmpty();\n }\n\n isRtl(): boolean {\n return this.dir ? this.dir.value === 'rtl' : false;\n }\n\n handleKeydown(event: KeyboardEvent) {\n if (!this.disabled) {\n if (this.panelOpen) {\n this.handleOpenKeydown(event);\n } else {\n this.handleClosedKeydown(event);\n }\n }\n }\n\n onFocus() {\n if (!this.disabled) {\n this._focused = true;\n\n this.stateChanges.next();\n }\n }\n\n /**\n * Calls the touched callback only if the panel is closed. Otherwise, the trigger will\n * \"blur\" to the panel when it opens, causing a false positive.\n */\n onBlur() {\n this._focused = false;\n\n if (!this.disabled && !this.panelOpen) {\n this.onTouched();\n this.changeDetectorRef.markForCheck();\n this.stateChanges.next();\n }\n }\n\n /** Callback that is invoked when the overlay panel has been attached. */\n onAttached() {\n this.overlayDir.positionChange\n .pipe(take(1))\n .subscribe(() => {\n this.changeDetectorRef.detectChanges();\n this.calculateOverlayOffsetX();\n this.panel.nativeElement.scrollTop = this.scrollTop;\n\n this.tree.updateScrollSize();\n });\n\n this.closeSubscription = this.closingActions()\n .subscribe(() => this.close());\n }\n\n /** Returns the theme to be used on the panel. */\n getPanelTheme(): string {\n return this.parentFormField ? `mc-${this.parentFormField.color}` : '';\n }\n\n focus() {\n this.elementRef.nativeElement.focus();\n }\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n onContainerClick() {\n this.focus();\n }\n\n /** Invoked when an option is clicked. */\n onRemoveSelectedOption(selectedOption: any, $event) {\n $event.stopPropagation();\n\n this.selectionModel\n .deselect(this.selected.find((value) => this.tree.treeControl.getValue(value) === selectedOption.value));\n\n this.onChange(this.selectedValues);\n }\n\n calculateHiddenItems() {\n if (this.customTrigger || this.empty || !this.multiple) { return; }\n\n let visibleItems: number = 0;\n const totalItemsWidth = this.getTotalItemsWidthInMatcher();\n let totalVisibleItemsWidth: number = 0;\n\n this.tags.forEach((tag) => {\n if (tag.nativeElement.offsetTop < tag.nativeElement.offsetHeight) {\n totalVisibleItemsWidth += this.getItemWidth(tag.nativeElement);\n visibleItems++;\n }\n });\n\n this.hiddenItems = this.selectionModel.selected.length - visibleItems;\n\n if (this.hiddenItems) {\n const itemsCounter = this.trigger.nativeElement.querySelector('.mc-tree-select__match-hidden-text');\n const matcherList = this.trigger.nativeElement.querySelector('.mc-tree-select__match-list');\n\n const itemsCounterShowed = itemsCounter.offsetTop < itemsCounter.offsetHeight;\n // const itemsCounterWidth: number = itemsCounter.getBoundingClientRect().width;\n const itemsCounterWidth: number = 86;\n\n const matcherListWidth: number = Math.floor(matcherList.getBoundingClientRect().width);\n const matcherWidth: number = matcherListWidth + (itemsCounterShowed ? itemsCounterWidth : 0);\n\n if (itemsCounterShowed && (totalItemsWidth < matcherWidth)) { this.hiddenItems = 0; }\n\n if (\n totalVisibleItemsWidth === matcherListWidth ||\n (totalVisibleItemsWidth + itemsCounterWidth) < matcherListWidth\n ) {\n this.changeDetectorRef.markForCheck();\n\n return ;\n } else if (!itemsCounterShowed && (totalItemsWidth + itemsCounterWidth) > matcherWidth) {\n this.hiddenItems++;\n }\n }\n\n this.changeDetectorRef.markForCheck();\n }\n\n private closingActions() {\n const backdrop = this.overlayDir.overlayRef!.backdropClick();\n const outsidePointerEvents = this.overlayDir.overlayRef!.outsidePointerEvents()\n .pipe(filter((event) => !this.elementRef.nativeElement.contains(event.target)));\n const detachments = this.overlayDir.overlayRef!.detachments();\n\n return merge(backdrop, outsidePointerEvents, detachments);\n }\n\n private getTotalItemsWidthInMatcher(): number {\n const triggerClone = this.trigger.nativeElement.cloneNode(true);\n triggerClone.querySelector('.mc-tree-select__match-hidden-text').remove();\n\n this.renderer.setStyle(triggerClone, 'position', 'absolute');\n this.renderer.setStyle(triggerClone, 'visibility', 'hidden');\n this.renderer.setStyle(triggerClone, 'top', '-100%');\n this.renderer.setStyle(triggerClone, 'left', '0');\n\n this.renderer.appendChild(this.trigger.nativeElement, triggerClone);\n\n let totalItemsWidth: number = 0;\n triggerClone.querySelectorAll('mc-tag').forEach((item) => {\n totalItemsWidth += this.getItemWidth(item);\n });\n\n triggerClone.remove();\n\n return totalItemsWidth;\n }\n\n private getItemWidth(element: HTMLElement): number {\n const computedStyle = window.getComputedStyle(element);\n\n const width: number = parseInt(computedStyle.width as string);\n const marginLeft: number = parseInt(computedStyle.marginLeft as string);\n const marginRight: number = parseInt(computedStyle.marginRight as string);\n\n return width + marginLeft + marginRight;\n }\n\n private handleClosedKeydown(event: KeyboardEvent) {\n // tslint:disable-next-line: deprecation\n const keyCode = event.keyCode;\n const isArrowKey = keyCode === DOWN_ARROW || keyCode === UP_ARROW ||\n keyCode === LEFT_ARROW || keyCode === RIGHT_ARROW;\n const isOpenKey = keyCode === ENTER || keyCode === SPACE;\n\n // Open the select on ALT + arrow key to match the native <select>\n if (isOpenKey || ((this.multiple || event.altKey) && isArrowKey)) {\n // prevents the page from scrolling down when pressing space\n event.preventDefault();\n\n this.open();\n } else if (!this.multiple && this.tree.keyManager && this.tree.keyManager.onKeydown) {\n this.tree.keyManager.onKeydown(event);\n }\n }\n\n private handleOpenKeydown(event: KeyboardEvent) {\n /* tslint:disable-next-line */\n const keyCode = event.keyCode;\n const isArrowKey = keyCode === DOWN_ARROW || keyCode === UP_ARROW;\n\n if (isArrowKey && event.altKey) {\n // Close the select on ALT + arrow key to match the native <select>\n event.preventDefault();\n\n this.close();\n } else if (keyCode === LEFT_ARROW || keyCode === RIGHT_ARROW) {\n return this.originalOnKeyDown.call(this.tree, event);\n } else if (keyCode === HOME) {\n event.preventDefault();\n\n this.tree.keyManager.setFirstItemActive();\n } else if (keyCode === END) {\n event.preventDefault();\n\n this.tree.keyManager.setLastItemActive();\n } else if (keyCode === PAGE_UP) {\n event.preventDefault();\n\n this.tree.keyManager.setPreviousPageItemActive();\n } else if (keyCode === PAGE_DOWN) {\n event.preventDefault();\n\n this.tree.keyManager.setNextPageItemActive();\n } else if ((keyCode === ENTER || keyCode === SPACE) && this.tree.keyManager.activeItem) {\n event.preventDefault();\n\n if (!this.autoSelect) {\n this.selectionModel.toggle(this.tree.keyManager.activeItem.data);\n } else {\n this.close();\n }\n } else if (this.multiple && keyCode === A && event.ctrlKey) {\n event.preventDefault();\n\n const hasDeselectedOptions = this.options.some((option) => !option.selected);\n\n this.options.forEach((option) => {\n if (hasDeselectedOptions && !option.disabled) {\n option.select();\n } else {\n option.deselect();\n }\n });\n } else {\n const previouslyFocusedIndex = this.tree.keyManager.activeItemIndex;\n\n this.tree.keyManager.setFocusOrigin('keyboard');\n this.tree.keyManager.onKeydown(event);\n\n if (\n this.multiple && isArrowKey && event.shiftKey && this.tree.keyManager.activeItem &&\n this.tree.keyManager.activeItemIndex !== previouslyFocusedIndex\n ) {\n this.tree.keyManager.activeItem.selectViaInteraction(event);\n }\n\n if (this.autoSelect && this.tree.keyManager.activeItem) {\n this.tree.setSelectedOptionsByKey(\n this.tree.keyManager.activeItem, hasModifierKey(event, 'shiftKey'), hasModifierKey(event, 'ctrlKey')\n );\n }\n\n if (this.search) {\n this.search.focus();\n }\n }\n }\n\n private refreshTriggerValues(): void {\n this.triggerValues = this.selectionModel.selected\n .map((node) => ({\n value: this.tree.treeControl.getValue(node),\n viewValue: this.tree.treeControl.getViewValue(node),\n disabled: this.tree.treeControl.isDisabled(node)\n })\n );\n this.changeDetectorRef.detectChanges();\n }\n\n private initializeSelection() {\n // Defer setting the value in order to avoid the \"Expression\n // has changed after it was checked\" errors from Angular.\n Promise.resolve().then(() => {\n this.setSelectionByValue(this.ngControl ? this.ngControl.value : this._value);\n });\n }\n\n /**\n * Sets the selected option based on a value. If no option can be\n * found with the designated value, the select trigger is cleared.\n */\n private setSelectionByValue(value: any | any[]) {\n if (this.multiple && value) {\n if (!Array.isArray(value)) { throw getMcSelectNonArrayValueError(); }\n\n this.tree.setOptionsFromValues(value);\n\n this.sortValues();\n } else {\n this.tree.setOptionsFromValues([value]);\n }\n\n this.changeDetectorRef.detectChanges();\n }\n\n private initKeyManager() {\n this.originalOnKeyDown = this.tree.onKeyDown;\n\n this.tree.onKeyDown = () => {};\n\n this.tree.keyManager.tabOut\n .pipe(takeUntil(this.destroy))\n .subscribe(() => {\n // Restore focus to the trigger before closing. Ensures that the focus\n // position won't be lost if the user got focus into the overlay.\n this.focus();\n this.close();\n });\n\n this.tree.keyManager.change\n .pipe(takeUntil(this.destroy))\n .subscribe(() => {\n if (this._panelOpen && this.panel) {\n this.scrollActiveOptionIntoView();\n } else if (!this._panelOpen && !this.multiple && this.tree.keyManager.activeItem) {\n this.tree.keyManager.activeItem.selectViaInteraction();\n }\n });\n }\n\n /** Sorts the selected values in the selected based on their order in the panel. */\n private sortValues() {\n if (this.multiple) {\n const options = this.options.toArray();\n\n this.selectionModel.sort((a, b) => {\n return this.sortComparator ? this.sortComparator(a, b, options) :\n options.indexOf(a) - options.indexOf(b);\n });\n\n this.stateChanges.next();\n }\n }\n\n /**\n * Highlights the selected item. If no option is selected, it will highlight\n * the first item instead.\n */\n private highlightCorrectOption() {\n if (this.empty || !this.tree.keyManager) { return; }\n\n const firstSelectedValue = this.multiple ? this.selectedValues[0] : this.selectedValues;\n\n const selectedOption = this.options.find((option) => option.value === firstSelectedValue);\n\n if (selectedOption) {\n this.tree.keyManager.setFocusOrigin('keyboard');\n this.tree.keyManager.setActiveItem(selectedOption);\n }\n }\n\n /** Scrolls the active option into view. */\n private scrollActiveOptionIntoView() {\n this.tree.keyManager.activeItem?.focus();\n }\n\n /**\n * Sets the x-offset of the overlay panel in relation to the trigger's top start corner.\n * This must be adjusted to align the selected option text over the trigger text when\n * the panel opens. Will change based on LTR or RTL text direction. Note that the offset\n * can't be calculated until the panel has been attached, because we need to know the\n * content width in order to constrain the panel within the viewport.\n */\n private calculateOverlayOffsetX() {\n const overlayRect = this.overlayDir.overlayRef.overlayElement.getBoundingClientRect();\n const viewportSize = this.viewportRuler.getViewportSize();\n const isRtl = this.isRtl();\n /* tslint:disable-next-line:no-magic-numbers */\n const paddingWidth = SELECT_PANEL_PADDING_X * 2;\n let offsetX: number = SELECT_PANEL_PADDING_X;\n\n // Invert the offset in LTR.\n if (!isRtl) { offsetX *= -1; }\n\n // Determine how much the select overflows on each side.\n const leftOverflow = 0 - (overlayRect.left + offsetX - (isRtl ? paddingWidth : 0));\n const rightOverflow = overlayRect.right + offsetX - viewportSize.width\n + (isRtl ? 0 : paddingWidth);\n\n // If the element overflows on either side, reduce the offset to allow it to fit.\n if (leftOverflow > 0) {\n offsetX += leftOverflow + SELECT_PANEL_VIEWPORT_PADDING;\n } else if (rightOverflow > 0) {\n offsetX -= rightOverflow + SELECT_PANEL_VIEWPORT_PADDING;\n }\n\n // Set the offset directly in order to avoid having to go through change detection and\n // potentially triggering \"changed after it was checked\" errors. Round the value to avoid\n // blurry content in some browsers.\n this.overlayDir.offsetX = Math.round(offsetX);\n this.overlayDir.overlayRef.updatePosition();\n }\n\n /** Comparison function to specify which option is displayed. Defaults to object equality. */\n private _compareWith = (o1: any, o2: any) => o1 === o2;\n\n private updateIsEmptySearchResult() {\n if (this.search) {\n this.search.input.ngControl.valueChanges?.subscribe((value) => {\n this.isEmptySearchResult = !!value && this.tree.isEmpty;\n this.changeDetectorRef.markForCheck();\n });\n }\n }\n}\n","<div cdk-overlay-origin\n class=\"mc-tree-select__trigger\"\n [class.mc-tree-select__trigger_multiple]=\"multiple\"\n #origin=\"cdkOverlayOrigin\"\n #trigger>\n <div class=\"mc-tree-select__matcher\" [ngSwitch]=\"empty\">\n <span class=\"mc-tree-select__placeholder\" *ngSwitchCase=\"true\">{{ placeholder || '\\u00A0' }}</span>\n <span *ngSwitchCase=\"false\" [ngSwitch]=\"!!customTrigger\">\n <div *ngSwitchDefault [ngSwitch]=\"multiple\" class=\"mc-tree-select__match-container\">\n <span *ngSwitchCase=\"false\" class=\"mc-tree-select__matcher-text\">{{ triggerValue }}</span>\n <div *ngSwitchCase=\"true\" class=\"mc-tree-select__multiple-matcher\">\n <div class=\"mc-tree-select__match-list\">\n <mc-tag *ngFor=\"let triggerValue of triggerValues\"\n [selectable]=\"false\"\n [disabled]=\"triggerValue.disabled || disabled\"\n [class.mc-error]=\"errorState\">\n\n {{ triggerValue.viewValue }}\n <i mc-icon=\"mc-close-S_16\"\n *ngIf=\"!triggerValue.disabled && !disabled\"\n (click)=\"onRemoveSelectedOption(triggerValue, $event)\">\n </i>\n </mc-tag>\n </div>\n <div class=\"mc-tree-select__match-hidden-text\" [style.display]=\"hiddenItems > 0 ? 'block' : 'none'\">\n {{ hiddenItemsTextFormatter(hiddenItemsText, hiddenItems) }}\n </div>\n </div>\n </div>\n <ng-content select=\"mc-tree-select-trigger\" *ngSwitchCase=\"true\"></ng-content>\n </span>\n </div>\n\n <div class=\"mc-select__cleaner\" *ngIf=\"canShowCleaner\" (click)=\"clearValue($event)\">\n <ng-content select=\"mc-cleaner\"></ng-content>\n </div>\n\n <div class=\"mc-tree-select__arrow-wrapper\">\n <i class=\"mc-tree-select__arrow\" mc-icon=\"mc-angle-down-S_16\"></i>\n </div>\n</div>\n\n<ng-template\n cdk-connected-overlay\n cdkConnectedOverlayLockPosition\n [cdkConnectedOverlayHasBackdrop]=\"hasBackdrop\"\n [cdkConnectedOverlayBackdropClass]=\"backdropClass\"\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy\"\n [cdkConnectedOverlayOrigin]=\"origin\"\n [cdkConnectedOverlayOpen]=\"panelOpen\"\n [cdkConnectedOverlayPositions]=\"positions\"\n [cdkConnectedOverlayMinWidth]=\"triggerRect?.width!\"\n [cdkConnectedOverlayOffsetY]=\"offsetY\"\n (backdropClick)=\"close()\"\n (attach)=\"onAttached()\"\n (detach)=\"close()\">\n\n <div #panel\n class=\"mc-tree-select__panel {{ getPanelTheme() }}\"\n [ngClass]=\"panelClass\"\n [style.transformOrigin]=\"transformOrigin\"\n [style.font-size.px]=\"triggerFontSize\"\n (keydown)=\"handleKeydown($event)\">\n\n <div *ngIf=\"search\" class=\"mc-select__search-container\">\n <ng-content select=\"[mcSelectSearch]\"></ng-content>\n </div>\n\n <div *ngIf=\"isEmptySearchResult\" class=\"mc-select__no-options-message\">\n <ng-content select=\"[mc-select-search-empty-result]\"></ng-content>\n </div>\n\n <div #optionsContainer\n class=\"mc-tree-select__content\"\n [@fadeInContent]=\"'showing'\"\n (@fadeInContent.done)=\"panelDoneAnimatingStream.next($event.toState)\">\n <ng-content select=\"mc-tree-selection\"></ng-content>\n </div>\n\n <ng-content select=\"[mc-tree-selection-footer]\"></ng-content>\n </div>\n</ng-template>\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MC_SELECT_SCROLL_STRATEGY_PROVIDER, McPseudoCheckboxModule } from '@ptsecurity/mosaic/core';\nimport { McIconModule } from '@ptsecurity/mosaic/icon';\nimport { McSelectModule } from '@ptsecurity/mosaic/select';\nimport { McTagsModule } from '@ptsecurity/mosaic/tags';\nimport { McTreeModule } from '@ptsecurity/mosaic/tree';\n\nimport { McTreeSelect, McTreeSelectFooter, McTreeSelectTrigger } from './tree-select.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n OverlayModule,\n McTreeModule,\n McIconModule,\n McTagsModule,\n McPseudoCheckboxModule,\n McSelectModule\n ],\n exports: [McTreeSelect, McTreeSelectTrigger, McTreeSelectFooter, CommonModule],\n declarations: [McTreeSelect, McTreeSelectTrigger, McTreeSelectFooter],\n providers: [MC_SELECT_SCROLL_STRATEGY_PROVIDER]\n})\nexport class McTreeSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|