@ptsecurity/mosaic 13.6.1 → 13.7.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 +7238 -7141
- package/_visual.scss +2724 -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/loader-overlay.json5 +23 -0
- 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 +7873 -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/loader-overlay.json5 +23 -0
- 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 +9205 -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 +76 -63
- package/design-tokens/style-dictionary/configs/css.js +13 -13
- package/design-tokens/style-dictionary/configs/figma.js +11 -0
- 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/figma-types.js +41 -0
- 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/figma.js +104 -0
- 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/figma.js +21 -0
- 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/figma-border.js +18 -0
- package/design-tokens/style-dictionary/transforms/attribute/figma-color.js +25 -0
- package/design-tokens/style-dictionary/transforms/attribute/figma-default.js +10 -0
- package/design-tokens/style-dictionary/transforms/attribute/figma-font.js +31 -0
- package/design-tokens/style-dictionary/transforms/attribute/figma-group.js +17 -0
- package/design-tokens/style-dictionary/transforms/attribute/figma-opacity.js +10 -0
- package/design-tokens/style-dictionary/transforms/attribute/figma-shadow.js +66 -0
- package/design-tokens/style-dictionary/transforms/attribute/figma-sizing.js +16 -0
- package/design-tokens/style-dictionary/transforms/attribute/figma-spacing.js +15 -0
- package/design-tokens/style-dictionary/transforms/attribute/figma-typography.js +24 -0
- 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/design-tokens/style-dictionary/transforms/value/figma-values.js +7 -0
- 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 +1167 -1138
- package/esm2020/design-tokens/pt-2022/tokens.mjs +1237 -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 +34 -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 +689 -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/loader-overlay/index.mjs +2 -0
- package/esm2020/loader-overlay/loader-overlay.component.mjs +99 -0
- package/esm2020/loader-overlay/loader-overlay.module.mjs +50 -0
- package/esm2020/loader-overlay/ptsecurity-mosaic-loader-overlay.mjs +5 -0
- package/esm2020/loader-overlay/public-api.mjs +3 -0
- 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 +509 -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 +239 -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 +541 -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 +2432 -2345
- 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 +522 -512
- 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 +765 -762
- package/fesm2015/ptsecurity-mosaic-list.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-loader-overlay.mjs +155 -0
- package/fesm2015/ptsecurity-mosaic-loader-overlay.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-modal.mjs +833 -824
- package/fesm2015/ptsecurity-mosaic-modal.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-navbar.mjs +996 -994
- 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 +1689 -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 +2432 -2345
- 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 +507 -497
- 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 +758 -755
- package/fesm2020/ptsecurity-mosaic-list.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-loader-overlay.mjs +153 -0
- package/fesm2020/ptsecurity-mosaic-loader-overlay.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-modal.mjs +828 -820
- package/fesm2020/ptsecurity-mosaic-modal.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-navbar.mjs +980 -978
- 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 +1676 -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 +14 -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/{toggle → loader-overlay}/README.md +0 -0
- package/loader-overlay/index.d.ts +1 -0
- package/loader-overlay/loader-overlay.component.d.ts +33 -0
- package/loader-overlay/loader-overlay.module.d.ts +11 -0
- package/loader-overlay/package.json +10 -0
- package/loader-overlay/ptsecurity-mosaic-loader-overlay.d.ts +5 -0
- package/loader-overlay/public-api.d.ts +2 -0
- 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 +128 -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 +60 -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 +12 -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/prebuilt-themes/dark-theme.css +1 -1
- package/prebuilt-themes/default-theme.css +1 -1
- 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/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
@@ -1,74 +1,74 @@
|
|
1
|
-
import { A11yModule } from '@angular/cdk/a11y';
|
2
|
-
import { OverlayModule } from '@angular/cdk/overlay';
|
3
|
-
import { PortalModule } from '@angular/cdk/portal';
|
4
|
-
import { CommonModule } from '@angular/common';
|
5
|
-
import { NgModule } from '@angular/core';
|
6
|
-
import { McButtonModule } from '@ptsecurity/mosaic/button';
|
7
|
-
import { McCommonModule } from '@ptsecurity/mosaic/core';
|
8
|
-
import { McIconModule } from '@ptsecurity/mosaic/icon';
|
9
|
-
import { McSidepanelContainerComponent } from './sidepanel-container.component';
|
10
|
-
import { McSidepanelActions, McSidepanelBody, McSidepanelClose, McSidepanelFooter, McSidepanelHeader } from './sidepanel-directives';
|
11
|
-
import { McSidepanelService } from './sidepanel.service';
|
12
|
-
import * as i0 from "@angular/core";
|
13
|
-
export class McSidepanelModule {
|
14
|
-
}
|
15
|
-
/** @nocollapse */ /** @nocollapse */ McSidepanelModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: McSidepanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
16
|
-
/** @nocollapse */ /** @nocollapse */ McSidepanelModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: McSidepanelModule, declarations: [McSidepanelContainerComponent,
|
17
|
-
McSidepanelClose,
|
18
|
-
McSidepanelHeader,
|
19
|
-
McSidepanelBody,
|
20
|
-
McSidepanelFooter,
|
21
|
-
McSidepanelActions], imports: [CommonModule,
|
22
|
-
OverlayModule,
|
23
|
-
PortalModule,
|
24
|
-
McCommonModule,
|
25
|
-
McButtonModule,
|
26
|
-
McIconModule,
|
27
|
-
A11yModule], exports: [McSidepanelContainerComponent,
|
28
|
-
McSidepanelClose,
|
29
|
-
McSidepanelHeader,
|
30
|
-
McSidepanelBody,
|
31
|
-
McSidepanelFooter,
|
32
|
-
McSidepanelActions] });
|
33
|
-
/** @nocollapse */ /** @nocollapse */ McSidepanelModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: McSidepanelModule, providers: [McSidepanelService], imports: [[
|
34
|
-
CommonModule,
|
35
|
-
OverlayModule,
|
36
|
-
PortalModule,
|
37
|
-
McCommonModule,
|
38
|
-
McButtonModule,
|
39
|
-
McIconModule,
|
40
|
-
A11yModule
|
41
|
-
]] });
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: McSidepanelModule, decorators: [{
|
43
|
-
type: NgModule,
|
44
|
-
args: [{
|
45
|
-
imports: [
|
46
|
-
CommonModule,
|
47
|
-
OverlayModule,
|
48
|
-
PortalModule,
|
49
|
-
McCommonModule,
|
50
|
-
McButtonModule,
|
51
|
-
McIconModule,
|
52
|
-
A11yModule
|
53
|
-
],
|
54
|
-
providers: [McSidepanelService],
|
55
|
-
declarations: [
|
56
|
-
McSidepanelContainerComponent,
|
57
|
-
McSidepanelClose,
|
58
|
-
McSidepanelHeader,
|
59
|
-
McSidepanelBody,
|
60
|
-
McSidepanelFooter,
|
61
|
-
McSidepanelActions
|
62
|
-
],
|
63
|
-
entryComponents: [McSidepanelContainerComponent],
|
64
|
-
exports: [
|
65
|
-
McSidepanelContainerComponent,
|
66
|
-
McSidepanelClose,
|
67
|
-
McSidepanelHeader,
|
68
|
-
McSidepanelBody,
|
69
|
-
McSidepanelFooter,
|
70
|
-
McSidepanelActions
|
71
|
-
]
|
72
|
-
}]
|
73
|
-
}] });
|
74
|
-
//# sourceMappingURL=data:application/json;base64,
|
1
|
+
import { A11yModule } from '@angular/cdk/a11y';
|
2
|
+
import { OverlayModule } from '@angular/cdk/overlay';
|
3
|
+
import { PortalModule } from '@angular/cdk/portal';
|
4
|
+
import { CommonModule } from '@angular/common';
|
5
|
+
import { NgModule } from '@angular/core';
|
6
|
+
import { McButtonModule } from '@ptsecurity/mosaic/button';
|
7
|
+
import { McCommonModule } from '@ptsecurity/mosaic/core';
|
8
|
+
import { McIconModule } from '@ptsecurity/mosaic/icon';
|
9
|
+
import { McSidepanelContainerComponent } from './sidepanel-container.component';
|
10
|
+
import { McSidepanelActions, McSidepanelBody, McSidepanelClose, McSidepanelFooter, McSidepanelHeader } from './sidepanel-directives';
|
11
|
+
import { McSidepanelService } from './sidepanel.service';
|
12
|
+
import * as i0 from "@angular/core";
|
13
|
+
export class McSidepanelModule {
|
14
|
+
}
|
15
|
+
/** @nocollapse */ /** @nocollapse */ McSidepanelModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: McSidepanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
16
|
+
/** @nocollapse */ /** @nocollapse */ McSidepanelModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: McSidepanelModule, declarations: [McSidepanelContainerComponent,
|
17
|
+
McSidepanelClose,
|
18
|
+
McSidepanelHeader,
|
19
|
+
McSidepanelBody,
|
20
|
+
McSidepanelFooter,
|
21
|
+
McSidepanelActions], imports: [CommonModule,
|
22
|
+
OverlayModule,
|
23
|
+
PortalModule,
|
24
|
+
McCommonModule,
|
25
|
+
McButtonModule,
|
26
|
+
McIconModule,
|
27
|
+
A11yModule], exports: [McSidepanelContainerComponent,
|
28
|
+
McSidepanelClose,
|
29
|
+
McSidepanelHeader,
|
30
|
+
McSidepanelBody,
|
31
|
+
McSidepanelFooter,
|
32
|
+
McSidepanelActions] });
|
33
|
+
/** @nocollapse */ /** @nocollapse */ McSidepanelModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: McSidepanelModule, providers: [McSidepanelService], imports: [[
|
34
|
+
CommonModule,
|
35
|
+
OverlayModule,
|
36
|
+
PortalModule,
|
37
|
+
McCommonModule,
|
38
|
+
McButtonModule,
|
39
|
+
McIconModule,
|
40
|
+
A11yModule
|
41
|
+
]] });
|
42
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: McSidepanelModule, decorators: [{
|
43
|
+
type: NgModule,
|
44
|
+
args: [{
|
45
|
+
imports: [
|
46
|
+
CommonModule,
|
47
|
+
OverlayModule,
|
48
|
+
PortalModule,
|
49
|
+
McCommonModule,
|
50
|
+
McButtonModule,
|
51
|
+
McIconModule,
|
52
|
+
A11yModule
|
53
|
+
],
|
54
|
+
providers: [McSidepanelService],
|
55
|
+
declarations: [
|
56
|
+
McSidepanelContainerComponent,
|
57
|
+
McSidepanelClose,
|
58
|
+
McSidepanelHeader,
|
59
|
+
McSidepanelBody,
|
60
|
+
McSidepanelFooter,
|
61
|
+
McSidepanelActions
|
62
|
+
],
|
63
|
+
entryComponents: [McSidepanelContainerComponent],
|
64
|
+
exports: [
|
65
|
+
McSidepanelContainerComponent,
|
66
|
+
McSidepanelClose,
|
67
|
+
McSidepanelHeader,
|
68
|
+
McSidepanelBody,
|
69
|
+
McSidepanelFooter,
|
70
|
+
McSidepanelActions
|
71
|
+
]
|
72
|
+
}]
|
73
|
+
}] });
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZXBhbmVsLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21vc2FpYy9zaWRlcGFuZWwvc2lkZXBhbmVsLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRixPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLGlCQUFpQixFQUNwQixNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQWdDekQsTUFBTSxPQUFPLGlCQUFpQjs7cUpBQWpCLGlCQUFpQjtzSkFBakIsaUJBQWlCLGlCQWpCdEIsNkJBQTZCO1FBQzdCLGdCQUFnQjtRQUNoQixpQkFBaUI7UUFDakIsZUFBZTtRQUNmLGlCQUFpQjtRQUNqQixrQkFBa0IsYUFmbEIsWUFBWTtRQUNaLGFBQWE7UUFDYixZQUFZO1FBQ1osY0FBYztRQUNkLGNBQWM7UUFDZCxZQUFZO1FBQ1osVUFBVSxhQWFWLDZCQUE2QjtRQUM3QixnQkFBZ0I7UUFDaEIsaUJBQWlCO1FBQ2pCLGVBQWU7UUFDZixpQkFBaUI7UUFDakIsa0JBQWtCO3NKQUdiLGlCQUFpQixhQW5CZixDQUFDLGtCQUFrQixDQUFDLFlBVHRCO1lBQ0wsWUFBWTtZQUNaLGFBQWE7WUFDYixZQUFZO1lBQ1osY0FBYztZQUNkLGNBQWM7WUFDZCxZQUFZO1lBQ1osVUFBVTtTQUNiOzRGQW9CUSxpQkFBaUI7a0JBN0I3QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixjQUFjO3dCQUNkLGNBQWM7d0JBQ2QsWUFBWTt3QkFDWixVQUFVO3FCQUNiO29CQUNELFNBQVMsRUFBRSxDQUFDLGtCQUFrQixDQUFDO29CQUMvQixZQUFZLEVBQUU7d0JBQ1YsNkJBQTZCO3dCQUM3QixnQkFBZ0I7d0JBQ2hCLGlCQUFpQjt3QkFDakIsZUFBZTt3QkFDZixpQkFBaUI7d0JBQ2pCLGtCQUFrQjtxQkFDckI7b0JBQ0QsZUFBZSxFQUFFLENBQUMsNkJBQTZCLENBQUM7b0JBQ2hELE9BQU8sRUFBRTt3QkFDTCw2QkFBNkI7d0JBQzdCLGdCQUFnQjt3QkFDaEIsaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLGlCQUFpQjt3QkFDakIsa0JBQWtCO3FCQUNyQjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEExMXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBPdmVybGF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgUG9ydGFsTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1jQnV0dG9uTW9kdWxlIH0gZnJvbSAnQHB0c2VjdXJpdHkvbW9zYWljL2J1dHRvbic7XG5pbXBvcnQgeyBNY0NvbW1vbk1vZHVsZSB9IGZyb20gJ0BwdHNlY3VyaXR5L21vc2FpYy9jb3JlJztcbmltcG9ydCB7IE1jSWNvbk1vZHVsZSB9IGZyb20gJ0BwdHNlY3VyaXR5L21vc2FpYy9pY29uJztcblxuaW1wb3J0IHsgTWNTaWRlcGFuZWxDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL3NpZGVwYW5lbC1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7XG4gICAgTWNTaWRlcGFuZWxBY3Rpb25zLFxuICAgIE1jU2lkZXBhbmVsQm9keSxcbiAgICBNY1NpZGVwYW5lbENsb3NlLFxuICAgIE1jU2lkZXBhbmVsRm9vdGVyLFxuICAgIE1jU2lkZXBhbmVsSGVhZGVyXG59IGZyb20gJy4vc2lkZXBhbmVsLWRpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgTWNTaWRlcGFuZWxTZXJ2aWNlIH0gZnJvbSAnLi9zaWRlcGFuZWwuc2VydmljZSc7XG5cblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgT3ZlcmxheU1vZHVsZSxcbiAgICAgICAgUG9ydGFsTW9kdWxlLFxuICAgICAgICBNY0NvbW1vbk1vZHVsZSxcbiAgICAgICAgTWNCdXR0b25Nb2R1bGUsXG4gICAgICAgIE1jSWNvbk1vZHVsZSxcbiAgICAgICAgQTExeU1vZHVsZVxuICAgIF0sXG4gICAgcHJvdmlkZXJzOiBbTWNTaWRlcGFuZWxTZXJ2aWNlXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgTWNTaWRlcGFuZWxDb250YWluZXJDb21wb25lbnQsXG4gICAgICAgIE1jU2lkZXBhbmVsQ2xvc2UsXG4gICAgICAgIE1jU2lkZXBhbmVsSGVhZGVyLFxuICAgICAgICBNY1NpZGVwYW5lbEJvZHksXG4gICAgICAgIE1jU2lkZXBhbmVsRm9vdGVyLFxuICAgICAgICBNY1NpZGVwYW5lbEFjdGlvbnNcbiAgICBdLFxuICAgIGVudHJ5Q29tcG9uZW50czogW01jU2lkZXBhbmVsQ29udGFpbmVyQ29tcG9uZW50XSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIE1jU2lkZXBhbmVsQ29udGFpbmVyQ29tcG9uZW50LFxuICAgICAgICBNY1NpZGVwYW5lbENsb3NlLFxuICAgICAgICBNY1NpZGVwYW5lbEhlYWRlcixcbiAgICAgICAgTWNTaWRlcGFuZWxCb2R5LFxuICAgICAgICBNY1NpZGVwYW5lbEZvb3RlcixcbiAgICAgICAgTWNTaWRlcGFuZWxBY3Rpb25zXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBNY1NpZGVwYW5lbE1vZHVsZSB7fVxuIl19
|
@@ -1,167 +1,167 @@
|
|
1
|
-
import { Overlay, OverlayConfig } from '@angular/cdk/overlay';
|
2
|
-
import { ComponentPortal, PortalInjector, TemplatePortal } from '@angular/cdk/portal';
|
3
|
-
import { Inject, Injectable, InjectionToken, Injector, Optional, SkipSelf, TemplateRef } from '@angular/core';
|
4
|
-
import { MC_SIDEPANEL_DATA, McSidepanelConfig } from './sidepanel-config';
|
5
|
-
import { McSidepanelContainerComponent, MC_SIDEPANEL_WITH_INDENT, MC_SIDEPANEL_WITH_SHADOW } from './sidepanel-container.component';
|
6
|
-
import { McSidepanelRef } from './sidepanel-ref';
|
7
|
-
import * as i0 from "@angular/core";
|
8
|
-
import * as i1 from "@angular/cdk/overlay";
|
9
|
-
import * as i2 from "./sidepanel-config";
|
10
|
-
/** Injection token that can be used to specify default sidepanel options. */
|
11
|
-
export const MC_SIDEPANEL_DEFAULT_OPTIONS = new InjectionToken('mc-sidepanel-default-options');
|
12
|
-
export class McSidepanelService {
|
13
|
-
constructor(overlay, injector, defaultOptions, parentSidepanelService) {
|
14
|
-
this.overlay = overlay;
|
15
|
-
this.injector = injector;
|
16
|
-
this.defaultOptions = defaultOptions;
|
17
|
-
this.parentSidepanelService = parentSidepanelService;
|
18
|
-
this.openedSidepanelsAtThisLevel = [];
|
19
|
-
}
|
20
|
-
/** Keeps track of the currently-open sidepanels. */
|
21
|
-
get openedSidepanels() {
|
22
|
-
return this.parentSidepanelService ? this.parentSidepanelService.openedSidepanels :
|
23
|
-
this.openedSidepanelsAtThisLevel;
|
24
|
-
}
|
25
|
-
ngOnDestroy() {
|
26
|
-
// Only close the sidepanels at this level on destroy
|
27
|
-
// since the parent service may still be active.
|
28
|
-
this.closeSidepanels(this.openedSidepanelsAtThisLevel);
|
29
|
-
}
|
30
|
-
open(componentOrTemplateRef, config) {
|
31
|
-
const fullConfig = {
|
32
|
-
...(this.defaultOptions || new McSidepanelConfig()),
|
33
|
-
...config
|
34
|
-
};
|
35
|
-
if (fullConfig.id && this.getSidepanelById(fullConfig.id)) {
|
36
|
-
throw Error(`Sidepanel with id "${fullConfig.id}" exists already. The sidepanel id must be unique.`);
|
37
|
-
}
|
38
|
-
const overlayRef = this.createOverlay(fullConfig);
|
39
|
-
const container = this.attachContainer(overlayRef, fullConfig);
|
40
|
-
const ref = new McSidepanelRef(container, overlayRef, fullConfig);
|
41
|
-
if (componentOrTemplateRef instanceof TemplateRef) {
|
42
|
-
container.attachTemplatePortal(new TemplatePortal(componentOrTemplateRef, null, {
|
43
|
-
$implicit: fullConfig.data,
|
44
|
-
sidepanelRef: ref
|
45
|
-
}));
|
46
|
-
}
|
47
|
-
else {
|
48
|
-
const injector = this.createInjector(fullConfig, ref, container);
|
49
|
-
const portal = new ComponentPortal(componentOrTemplateRef, undefined, injector);
|
50
|
-
const contentRef = container.attachComponentPortal(portal);
|
51
|
-
ref.instance = contentRef.instance;
|
52
|
-
}
|
53
|
-
this.openedSidepanels.push(ref);
|
54
|
-
ref.afterClosed()
|
55
|
-
.subscribe(() => this.removeOpenSidepanel(ref));
|
56
|
-
container.enter();
|
57
|
-
return ref;
|
58
|
-
}
|
59
|
-
/**
|
60
|
-
* Closes all of the currently-open sidepanels.
|
61
|
-
*/
|
62
|
-
closeAll() {
|
63
|
-
this.closeSidepanels(this.openedSidepanels);
|
64
|
-
}
|
65
|
-
/**
|
66
|
-
* Finds an open sidepanel by its id.
|
67
|
-
* @param id ID to use when looking up the sidepanel.
|
68
|
-
*/
|
69
|
-
getSidepanelById(id) {
|
70
|
-
return this.openedSidepanels.find((sidepanel) => sidepanel.id === id);
|
71
|
-
}
|
72
|
-
/**
|
73
|
-
* Attaches the sidepanel container component to the overlay.
|
74
|
-
*/
|
75
|
-
attachContainer(overlayRef, config) {
|
76
|
-
const openedSidepanelsWithSamePosition = this.getOpenedSidepanelsWithSamePosition(config);
|
77
|
-
// tslint:disable-next-line:deprecation
|
78
|
-
const injector = new PortalInjector(this.injector, new WeakMap([
|
79
|
-
[McSidepanelConfig, config],
|
80
|
-
[MC_SIDEPANEL_WITH_INDENT, openedSidepanelsWithSamePosition.length >= 1],
|
81
|
-
[MC_SIDEPANEL_WITH_SHADOW, openedSidepanelsWithSamePosition.length < 2] // tslint:disable-line
|
82
|
-
]));
|
83
|
-
const containerPortal = new ComponentPortal(McSidepanelContainerComponent, undefined, injector);
|
84
|
-
const containerRef = overlayRef.attach(containerPortal);
|
85
|
-
return containerRef.instance;
|
86
|
-
}
|
87
|
-
/**
|
88
|
-
* Creates a custom injector to be used inside the sidepanel. This allows a component loaded inside
|
89
|
-
* of a sidepanel to close itself and, optionally, to return a value.
|
90
|
-
* @param config Config object that is used to construct the sidepanel.
|
91
|
-
* @param sidepanelRef Reference to the sidepanel.
|
92
|
-
* @param sidepanelContainer Sidepanel container element that wraps all of the contents.
|
93
|
-
* @returns The custom injector that can be used inside the sidepanel.
|
94
|
-
*/
|
95
|
-
createInjector(config, sidepanelRef,
|
96
|
-
// tslint:disable-next-line:deprecation
|
97
|
-
sidepanelContainer) {
|
98
|
-
// The McSidepanelContainerComponent is injected in the portal as the McSidepanelContainerComponent and
|
99
|
-
// the sidepanel's content are created out of the same ViewContainerRef and as such, are siblings for injector
|
100
|
-
// purposes. To allow the hierarchy that is expected, the McSidepanelContainerComponent is explicitly
|
101
|
-
// added to the injection tokens.
|
102
|
-
const injectionTokens = new WeakMap([
|
103
|
-
[McSidepanelContainerComponent, sidepanelContainer],
|
104
|
-
[MC_SIDEPANEL_DATA, config.data],
|
105
|
-
[McSidepanelRef, sidepanelRef]
|
106
|
-
]);
|
107
|
-
// tslint:disable-next-line:deprecation
|
108
|
-
return new PortalInjector(this.injector, injectionTokens);
|
109
|
-
}
|
110
|
-
/**
|
111
|
-
* Creates a new overlay and places it in the correct location.
|
112
|
-
* @param config The user-specified sidepanel config.
|
113
|
-
*/
|
114
|
-
createOverlay(config) {
|
115
|
-
const overlayConfig = new OverlayConfig({
|
116
|
-
hasBackdrop: config.hasBackdrop,
|
117
|
-
backdropClass: this.getBackdropClass(config),
|
118
|
-
maxWidth: '100%',
|
119
|
-
panelClass: config.overlayPanelClass,
|
120
|
-
scrollStrategy: this.overlay.scrollStrategies.block(),
|
121
|
-
positionStrategy: this.overlay.position().global()
|
122
|
-
});
|
123
|
-
return this.overlay.create(overlayConfig);
|
124
|
-
}
|
125
|
-
closeSidepanels(sidepanels) {
|
126
|
-
const reversedOpenedSidepanels = [...sidepanels.reverse()];
|
127
|
-
reversedOpenedSidepanels.forEach((sidepanelRef) => {
|
128
|
-
sidepanelRef.close();
|
129
|
-
});
|
130
|
-
}
|
131
|
-
getBackdropClass(config) {
|
132
|
-
if (config.hasBackdrop && config.backdropClass) {
|
133
|
-
return config.backdropClass;
|
134
|
-
}
|
135
|
-
const hasOpenedSidepanelWithBackdrop = this.openedSidepanels.some((sidepanelRef) => sidepanelRef.config.hasBackdrop);
|
136
|
-
return config.requiredBackdrop || !hasOpenedSidepanelWithBackdrop ? 'cdk-overlay-dark-backdrop' :
|
137
|
-
'cdk-overlay-transparent-backdrop';
|
138
|
-
}
|
139
|
-
getOpenedSidepanelsWithSamePosition(config) {
|
140
|
-
return this.openedSidepanels.filter((sidepanelRef) => sidepanelRef.config.position === config.position);
|
141
|
-
}
|
142
|
-
/**
|
143
|
-
* Removes a sidepanel from the array of open sidepanels.
|
144
|
-
* @param sidepanelRef Sidepanel to be removed.
|
145
|
-
*/
|
146
|
-
removeOpenSidepanel(sidepanelRef) {
|
147
|
-
const index = this.openedSidepanels.indexOf(sidepanelRef);
|
148
|
-
if (index > -1) {
|
149
|
-
this.openedSidepanels.splice(index, 1);
|
150
|
-
}
|
151
|
-
}
|
152
|
-
}
|
153
|
-
/** @nocollapse */ /** @nocollapse */ McSidepanelService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: McSidepanelService, deps: [{ token: i1.Overlay }, { token: i0.Injector }, { token: MC_SIDEPANEL_DEFAULT_OPTIONS, optional: true }, { token: McSidepanelService, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
154
|
-
/** @nocollapse */ /** @nocollapse */ McSidepanelService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: McSidepanelService });
|
155
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: McSidepanelService, decorators: [{
|
156
|
-
type: Injectable
|
157
|
-
}], ctorParameters: function () { return [{ type: i1.Overlay }, { type: i0.Injector }, { type: i2.McSidepanelConfig, decorators: [{
|
158
|
-
type: Optional
|
159
|
-
}, {
|
160
|
-
type: Inject,
|
161
|
-
args: [MC_SIDEPANEL_DEFAULT_OPTIONS]
|
162
|
-
}] }, { type: McSidepanelService, decorators: [{
|
163
|
-
type: Optional
|
164
|
-
}, {
|
165
|
-
type: SkipSelf
|
166
|
-
}] }]; } });
|
167
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZXBhbmVsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9tb3NhaWMvc2lkZXBhbmVsL3NpZGVwYW5lbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDMUUsT0FBTyxFQUFFLGVBQWUsRUFBaUIsY0FBYyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JHLE9BQU8sRUFFSCxNQUFNLEVBQ04sVUFBVSxFQUNWLGNBQWMsRUFDZCxRQUFRLEVBQ1IsUUFBUSxFQUNSLFFBQVEsRUFDUixXQUFXLEVBQ2QsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDMUUsT0FBTyxFQUNILDZCQUE2QixFQUM3Qix3QkFBd0IsRUFDeEIsd0JBQXdCLEVBQzNCLE1BQU0saUNBQWlDLENBQUM7QUFDekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBR2pELDZFQUE2RTtBQUM3RSxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FDckMsSUFBSSxjQUFjLENBQW9CLDhCQUE4QixDQUFDLENBQUM7QUFHMUUsTUFBTSxPQUFPLGtCQUFrQjtJQVMzQixZQUNZLE9BQWdCLEVBQ2hCLFFBQWtCLEVBQ2dDLGNBQWlDLEVBQzNELHNCQUEwQztRQUhsRSxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2hCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDZ0MsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQzNELDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBb0I7UUFadEUsZ0NBQTJCLEdBQXFCLEVBQUUsQ0FBQztJQWEzRCxDQUFDO0lBWEQsb0RBQW9EO0lBQ3BELElBQUksZ0JBQWdCO1FBQ2hCLE9BQU8sSUFB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QUFNLEtBQUssR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRTFELElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxFQUFFO1lBQ1osSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDMUM7SUFDTCxDQUFDOztzSkE3S1Esa0JBQWtCLGlFQVlILDRCQUE0Qiw2QkFDUSxrQkFBa0I7MEpBYnJFLGtCQUFrQjs0RkFBbEIsa0JBQWtCO2tCQUQ5QixVQUFVOzswQkFhRixRQUFROzswQkFBSSxNQUFNOzJCQUFDLDRCQUE0Qjs4QkFDUSxrQkFBa0I7MEJBQXpFLFFBQVE7OzBCQUFJLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5Q29uZmlnLCBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwsIENvbXBvbmVudFR5cGUsIFBvcnRhbEluamVjdG9yLCBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xyXG5pbXBvcnQge1xyXG4gICAgQ29tcG9uZW50UmVmLFxyXG4gICAgSW5qZWN0LFxyXG4gICAgSW5qZWN0YWJsZSxcclxuICAgIEluamVjdGlvblRva2VuLFxyXG4gICAgSW5qZWN0b3IsIE9uRGVzdHJveSxcclxuICAgIE9wdGlvbmFsLFxyXG4gICAgU2tpcFNlbGYsXHJcbiAgICBUZW1wbGF0ZVJlZlxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgTUNfU0lERVBBTkVMX0RBVEEsIE1jU2lkZXBhbmVsQ29uZmlnIH0gZnJvbSAnLi9zaWRlcGFuZWwtY29uZmlnJztcclxuaW1wb3J0IHtcclxuICAgIE1jU2lkZXBhbmVsQ29udGFpbmVyQ29tcG9uZW50LFxyXG4gICAgTUNfU0lERVBBTkVMX1dJVEhfSU5ERU5ULFxyXG4gICAgTUNfU0lERVBBTkVMX1dJVEhfU0hBRE9XXHJcbn0gZnJvbSAnLi9zaWRlcGFuZWwtY29udGFpbmVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1jU2lkZXBhbmVsUmVmIH0gZnJvbSAnLi9zaWRlcGFuZWwtcmVmJztcclxuXHJcblxyXG4vKiogSW5qZWN0aW9uIHRva2VuIHRoYXQgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSBkZWZhdWx0IHNpZGVwYW5lbCBvcHRpb25zLiAqL1xyXG5leHBvcnQgY29uc3QgTUNfU0lERVBBTkVMX0RFRkFVTFRfT1BUSU9OUyA9XHJcbiAgICBuZXcgSW5qZWN0aW9uVG9rZW48TWNTaWRlcGFuZWxDb25maWc+KCdtYy1zaWRlcGFuZWwtZGVmYXVsdC1vcHRpb25zJyk7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBNY1NpZGVwYW5lbFNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gICAgcHJpdmF0ZSBvcGVuZWRTaWRlcGFuZWxzQXRUaGlzTGV2ZWw6IE1jU2lkZXBhbmVsUmVmW10gPSBbXTtcclxuXHJcbiAgICAvKiogS2VlcHMgdHJhY2sgb2YgdGhlIGN1cnJlbnRseS1vcGVuIHNpZGVwYW5lbHMuICovXHJcbiAgICBnZXQgb3BlbmVkU2lkZXBhbmVscygpOiBNY1NpZGVwYW5lbFJlZltdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5wYXJlbnRTaWRlcGFuZWxTZXJ2aWNlID8gdGhpcy5wYXJlbnRTaWRlcGFuZWxTZXJ2aWNlLm9wZW5lZFNpZGVwYW5lbHMgOlxyXG4gICAgICAgICAgICB0aGlzLm9wZW5lZFNpZGVwYW5lbHNBdFRoaXNMZXZlbDtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXksXHJcbiAgICAgICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChNQ19TSURFUEFORUxfREVGQVVMVF9PUFRJT05TKSBwcml2YXRlIGRlZmF1bHRPcHRpb25zOiBNY1NpZGVwYW5lbENvbmZpZyxcclxuICAgICAgICBAT3B0aW9uYWwoKSBAU2tpcFNlbGYoKSBwcml2YXRlIHBhcmVudFNpZGVwYW5lbFNlcnZpY2U6IE1jU2lkZXBhbmVsU2VydmljZSkge1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCkge1xyXG4gICAgICAgIC8vIE9ubHkgY2xvc2UgdGhlIHNpZGVwYW5lbHMgYXQgdGhpcyBsZXZlbCBvbiBkZXN0cm95XHJcbiAgICAgICAgLy8gc2luY2UgdGhlIHBhcmVudCBzZXJ2aWNlIG1heSBzdGlsbCBiZSBhY3RpdmUuXHJcbiAgICAgICAgdGhpcy5jbG9zZVNpZGVwYW5lbHModGhpcy5vcGVuZWRTaWRlcGFuZWxzQXRUaGlzTGV2ZWwpO1xyXG4gICAgfVxyXG5cclxuICAgIG9wZW48VCwgRCA9IGFueT4oXHJcbiAgICAgICAgY29tcG9uZW50T3JUZW1wbGF0ZVJlZjogQ29tcG9uZW50VHlwZTxUPiB8IFRlbXBsYXRlUmVmPFQ+LCBjb25maWc/OiBNY1NpZGVwYW5lbENvbmZpZzxEPlxyXG4gICAgKTogTWNTaWRlcGFuZWxSZWY8VD4ge1xyXG4gICAgICAgIGNvbnN0IGZ1bGxDb25maWcgPSB7XHJcbiAgICAgICAgICAgIC4uLih0aGlzLmRlZmF1bHRPcHRpb25zIHx8IG5ldyBNY1NpZGVwYW5lbENvbmZpZygpKSxcclxuICAgICAgICAgICAgLi4uY29uZmlnXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgaWYgKGZ1bGxDb25maWcuaWQgJiYgdGhpcy5nZXRTaWRlcGFuZWxCeUlkKGZ1bGxDb25maWcuaWQpKSB7XHJcbiAgICAgICAgICAgIHRocm93IEVycm9yKGBTaWRlcGFuZWwgd2l0aCBpZCBcIiR7ZnVsbENvbmZpZy5pZH1cIiBleGlzdHMgYWxyZWFkeS4gVGhlIHNpZGVwYW5lbCBpZCBtdXN0IGJlIHVuaXF1ZS5gKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IG92ZXJsYXlSZWYgPSB0aGlzLmNyZWF0ZU92ZXJsYXkoZnVsbENvbmZpZyk7XHJcbiAgICAgICAgY29uc3QgY29udGFpbmVyID0gdGhpcy5hdHRhY2hDb250YWluZXIob3ZlcmxheVJlZiwgZnVsbENvbmZpZyk7XHJcbiAgICAgICAgY29uc3QgcmVmID0gbmV3IE1jU2lkZXBhbmVsUmVmKGNvbnRhaW5lciwgb3ZlcmxheVJlZiwgZnVsbENvbmZpZyk7XHJcblxyXG4gICAgICAgIGlmIChjb21wb25lbnRPclRlbXBsYXRlUmVmIGluc3RhbmNlb2YgVGVtcGxhdGVSZWYpIHtcclxuICAgICAgICAgICAgY29udGFpbmVyLmF0dGFjaFRlbXBsYXRlUG9ydGFsKG5ldyBUZW1wbGF0ZVBvcnRhbDxUPihjb21wb25lbnRPclRlbXBsYXRlUmVmLCBudWxsISwge1xyXG4gICAgICAgICAgICAgICAgJGltcGxpY2l0OiBmdWxsQ29uZmlnLmRhdGEsXHJcbiAgICAgICAgICAgICAgICBzaWRlcGFuZWxSZWY6IHJlZlxyXG4gICAgICAgICAgICB9IGFzIGFueSkpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGluamVjdG9yID0gdGhpcy5jcmVhdGVJbmplY3RvcihmdWxsQ29uZmlnLCByZWYsIGNvbnRhaW5lcik7XHJcbiAgICAgICAgICAgIGNvbnN0IHBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwoY29tcG9uZW50T3JUZW1wbGF0ZVJlZiwgdW5kZWZpbmVkLCBpbmplY3Rvcik7XHJcbiAgICAgICAgICAgIGNvbnN0IGNvbnRlbnRSZWYgPSBjb250YWluZXIuYXR0YWNoQ29tcG9uZW50UG9ydGFsKHBvcnRhbCk7XHJcblxyXG4gICAgICAgICAgICByZWYuaW5zdGFuY2UgPSBjb250ZW50UmVmLmluc3RhbmNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5vcGVuZWRTaWRlcGFuZWxzLnB1c2gocmVmKTtcclxuICAgICAgICByZWYuYWZ0ZXJDbG9zZWQoKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMucmVtb3ZlT3BlblNpZGVwYW5lbChyZWYpKTtcclxuXHJcbiAgICAgICAgY29udGFpbmVyLmVudGVyKCk7XHJcblxyXG4gICAgICAgIHJldHVybiByZWY7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDbG9zZXMgYWxsIG9mIHRoZSBjdXJyZW50bHktb3BlbiBzaWRlcGFuZWxzLlxyXG4gICAgICovXHJcbiAgICBjbG9zZUFsbCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNsb3NlU2lkZXBhbmVscyh0aGlzLm9wZW5lZFNpZGVwYW5lbHMpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRmluZHMgYW4gb3BlbiBzaWRlcGFuZWwgYnkgaXRzIGlkLlxyXG4gICAgICogQHBhcmFtIGlkIElEIHRvIHVzZSB3aGVuIGxvb2tpbmcgdXAgdGhlIHNpZGVwYW5lbC5cclxuICAgICAqL1xyXG4gICAgZ2V0U2lkZXBhbmVsQnlJZChpZDogc3RyaW5nKTogTWNTaWRlcGFuZWxSZWYgfCB1bmRlZmluZWQge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm9wZW5lZFNpZGVwYW5lbHMuZmluZCgoc2lkZXBhbmVsKSA9PiBzaWRlcGFuZWwuaWQgPT09IGlkKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEF0dGFjaGVzIHRoZSBzaWRlcGFuZWwgY29udGFpbmVyIGNvbXBvbmVudCB0byB0aGUgb3ZlcmxheS5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBhdHRhY2hDb250YWluZXIob3ZlcmxheVJlZjogT3ZlcmxheVJlZiwgY29uZmlnOiBNY1NpZGVwYW5lbENvbmZpZyk6IE1jU2lkZXBhbmVsQ29udGFpbmVyQ29tcG9uZW50IHtcclxuICAgICAgICBjb25zdCBvcGVuZWRTaWRlcGFuZWxzV2l0aFNhbWVQb3NpdGlvbiA9IHRoaXMuZ2V0T3BlbmVkU2lkZXBhbmVsc1dpdGhTYW1lUG9zaXRpb24oY29uZmlnKTtcclxuXHJcbiAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmRlcHJlY2F0aW9uXHJcbiAgICAgICAgY29uc3QgaW5qZWN0b3IgPSBuZXcgUG9ydGFsSW5qZWN0b3IodGhpcy5pbmplY3RvciwgbmV3IFdlYWtNYXA8YW55PihbXHJcbiAgICAgICAgICAgIFtNY1NpZGVwYW5lbENvbmZpZywgY29uZmlnXSxcclxuICAgICAgICAgICAgW01DX1NJREVQQU5FTF9XSVRIX0lOREVOVCwgb3BlbmVkU2lkZXBhbmVsc1dpdGhTYW1lUG9zaXRpb24ubGVuZ3RoID49IDFdLFxyXG4gICAgICAgICAgICBbTUNfU0lERVBBTkVMX1dJVEhfU0hBRE9XLCBvcGVuZWRTaWRlcGFuZWxzV2l0aFNhbWVQb3NpdGlvbi5sZW5ndGggPCAyXSAvLyB0c2xpbnQ6ZGlzYWJsZS1saW5lXHJcbiAgICAgICAgXSkpO1xyXG5cclxuICAgICAgICBjb25zdCBjb250YWluZXJQb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKE1jU2lkZXBhbmVsQ29udGFpbmVyQ29tcG9uZW50LCB1bmRlZmluZWQsIGluamVjdG9yKTtcclxuICAgICAgICBjb25zdCBjb250YWluZXJSZWY6IENvbXBvbmVudFJlZjxNY1NpZGVwYW5lbENvbnRhaW5lckNvbXBvbmVudD4gPSBvdmVybGF5UmVmLmF0dGFjaChjb250YWluZXJQb3J0YWwpO1xyXG5cclxuICAgICAgICByZXR1cm4gY29udGFpbmVyUmVmLmluc3RhbmNlO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ3JlYXRlcyBhIGN1c3RvbSBpbmplY3RvciB0byBiZSB1c2VkIGluc2lkZSB0aGUgc2lkZXBhbmVsLiBUaGlzIGFsbG93cyBhIGNvbXBvbmVudCBsb2FkZWQgaW5zaWRlXHJcbiAgICAgKiBvZiBhIHNpZGVwYW5lbCB0byBjbG9zZSBpdHNlbGYgYW5kLCBvcHRpb25hbGx5LCB0byByZXR1cm4gYSB2YWx1ZS5cclxuICAgICAqIEBwYXJhbSBjb25maWcgQ29uZmlnIG9iamVjdCB0aGF0IGlzIHVzZWQgdG8gY29uc3RydWN0IHRoZSBzaWRlcGFuZWwuXHJcbiAgICAgKiBAcGFyYW0gc2lkZXBhbmVsUmVmIFJlZmVyZW5jZSB0byB0aGUgc2lkZXBhbmVsLlxyXG4gICAgICogQHBhcmFtIHNpZGVwYW5lbENvbnRhaW5lciBTaWRlcGFuZWwgY29udGFpbmVyIGVsZW1lbnQgdGhhdCB3cmFwcyBhbGwgb2YgdGhlIGNvbnRlbnRzLlxyXG4gICAgICogQHJldHVybnMgVGhlIGN1c3RvbSBpbmplY3RvciB0aGF0IGNhbiBiZSB1c2VkIGluc2lkZSB0aGUgc2lkZXBhbmVsLlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGNyZWF0ZUluamVjdG9yPFQ+KFxyXG4gICAgICAgIGNvbmZpZzogTWNTaWRlcGFuZWxDb25maWcsXHJcbiAgICAgICAgc2lkZXBhbmVsUmVmOiBNY1NpZGVwYW5lbFJlZjxUPixcclxuICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6ZGVwcmVjYXRpb25cclxuICAgICAgICBzaWRlcGFuZWxDb250YWluZXI6IE1jU2lkZXBhbmVsQ29udGFpbmVyQ29tcG9uZW50KTogUG9ydGFsSW5qZWN0b3Ige1xyXG5cclxuICAgICAgICAvLyBUaGUgTWNTaWRlcGFuZWxDb250YWluZXJDb21wb25lbnQgaXMgaW5qZWN0ZWQgaW4gdGhlIHBvcnRhbCBhcyB0aGUgTWNTaWRlcGFuZWxDb250YWluZXJDb21wb25lbnQgYW5kXHJcbiAgICAgICAgLy8gdGhlIHNpZGVwYW5lbCdzIGNvbnRlbnQgYXJlIGNyZWF0ZWQgb3V0IG9mIHRoZSBzYW1lIFZpZXdDb250YWluZXJSZWYgYW5kIGFzIHN1Y2gsIGFyZSBzaWJsaW5ncyBmb3IgaW5qZWN0b3JcclxuICAgICAgICAvLyBwdXJwb3Nlcy4gVG8gYWxsb3cgdGhlIGhpZXJhcmNoeSB0aGF0IGlzIGV4cGVjdGVkLCB0aGUgTWNTaWRlcGFuZWxDb250YWluZXJDb21wb25lbnQgaXMgZXhwbGljaXRseVxyXG4gICAgICAgIC8vIGFkZGVkIHRvIHRoZSBpbmplY3Rpb24gdG9rZW5zLlxyXG4gICAgICAgIGNvbnN0IGluamVjdGlvblRva2VucyA9IG5ldyBXZWFrTWFwPGFueT4oW1xyXG4gICAgICAgICAgICBbTWNTaWRlcGFuZWxDb250YWluZXJDb21wb25lbnQsIHNpZGVwYW5lbENvbnRhaW5lcl0sXHJcbiAgICAgICAgICAgIFtNQ19TSURFUEFORUxfREFUQSwgY29uZmlnLmRhdGFdLFxyXG4gICAgICAgICAgICBbTWNTaWRlcGFuZWxSZWYsIHNpZGVwYW5lbFJlZl1cclxuICAgICAgICBdKTtcclxuXHJcbiAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmRlcHJlY2F0aW9uXHJcbiAgICAgICAgcmV0dXJuIG5ldyBQb3J0YWxJbmplY3Rvcih0aGlzLmluamVjdG9yLCBpbmplY3Rpb25Ub2tlbnMpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ3JlYXRlcyBhIG5ldyBvdmVybGF5IGFuZCBwbGFjZXMgaXQgaW4gdGhlIGNvcnJlY3QgbG9jYXRpb24uXHJcbiAgICAgKiBAcGFyYW0gY29uZmlnIFRoZSB1c2VyLXNwZWNpZmllZCBzaWRlcGFuZWwgY29uZmlnLlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGNyZWF0ZU92ZXJsYXkoY29uZmlnOiBNY1NpZGVwYW5lbENvbmZpZyk6IE92ZXJsYXlSZWYge1xyXG4gICAgICAgIGNvbnN0IG92ZXJsYXlDb25maWcgPSBuZXcgT3ZlcmxheUNvbmZpZyh7XHJcbiAgICAgICAgICAgIGhhc0JhY2tkcm9wOiBjb25maWcuaGFzQmFja2Ryb3AsXHJcbiAgICAgICAgICAgIGJhY2tkcm9wQ2xhc3M6IHRoaXMuZ2V0QmFja2Ryb3BDbGFzcyhjb25maWcpLFxyXG4gICAgICAgICAgICBtYXhXaWR0aDogJzEwMCUnLFxyXG4gICAgICAgICAgICBwYW5lbENsYXNzOiBjb25maWcub3ZlcmxheVBhbmVsQ2xhc3MsXHJcbiAgICAgICAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5ibG9jaygpLFxyXG4gICAgICAgICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkucG9zaXRpb24oKS5nbG9iYWwoKVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5vdmVybGF5LmNyZWF0ZShvdmVybGF5Q29uZmlnKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNsb3NlU2lkZXBhbmVscyhzaWRlcGFuZWxzOiBNY1NpZGVwYW5lbFJlZltdKSB7XHJcbiAgICAgICAgY29uc3QgcmV2ZXJzZWRPcGVuZWRTaWRlcGFuZWxzID0gWy4uLnNpZGVwYW5lbHMucmV2ZXJzZSgpXTtcclxuXHJcbiAgICAgICAgcmV2ZXJzZWRPcGVuZWRTaWRlcGFuZWxzLmZvckVhY2goKHNpZGVwYW5lbFJlZjogTWNTaWRlcGFuZWxSZWYpID0+IHtcclxuICAgICAgICAgICAgc2lkZXBhbmVsUmVmLmNsb3NlKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRCYWNrZHJvcENsYXNzKGNvbmZpZzogTWNTaWRlcGFuZWxDb25maWcpOiBzdHJpbmcge1xyXG4gICAgICAgIGlmIChjb25maWcuaGFzQmFja2Ryb3AgJiYgY29uZmlnLmJhY2tkcm9wQ2xhc3MpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGNvbmZpZy5iYWNrZHJvcENsYXNzO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgaGFzT3BlbmVkU2lkZXBhbmVsV2l0aEJhY2tkcm9wID1cclxuICAgICAgICAgICAgdGhpcy5vcGVuZWRTaWRlcGFuZWxzLnNvbWUoKHNpZGVwYW5lbFJlZikgPT4gc2lkZXBhbmVsUmVmLmNvbmZpZy5oYXNCYWNrZHJvcCEpO1xyXG5cclxuICAgICAgICByZXR1cm4gY29uZmlnLnJlcXVpcmVkQmFja2Ryb3AgfHwgIWhhc09wZW5lZFNpZGVwYW5lbFdpdGhCYWNrZHJvcCA/ICdjZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wJyA6XHJcbiAgICAgICAgICAgICdjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCc7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRPcGVuZWRTaWRlcGFuZWxzV2l0aFNhbWVQb3NpdGlvbihjb25maWc6IE1jU2lkZXBhbmVsQ29uZmlnKTogTWNTaWRlcGFuZWxSZWZbXSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMub3BlbmVkU2lkZXBhbmVscy5maWx0ZXIoKHNpZGVwYW5lbFJlZikgPT4gc2lkZXBhbmVsUmVmLmNvbmZpZy5wb3NpdGlvbiA9PT0gY29uZmlnLnBvc2l0aW9uKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJlbW92ZXMgYSBzaWRlcGFuZWwgZnJvbSB0aGUgYXJyYXkgb2Ygb3BlbiBzaWRlcGFuZWxzLlxyXG4gICAgICogQHBhcmFtIHNpZGVwYW5lbFJlZiBTaWRlcGFuZWwgdG8gYmUgcmVtb3ZlZC5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSByZW1vdmVPcGVuU2lkZXBhbmVsKHNpZGVwYW5lbFJlZjogTWNTaWRlcGFuZWxSZWYpIHtcclxuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMub3BlbmVkU2lkZXBhbmVscy5pbmRleE9mKHNpZGVwYW5lbFJlZik7XHJcblxyXG4gICAgICAgIGlmIChpbmRleCA+IC0xKSB7XHJcbiAgICAgICAgICAgIHRoaXMub3BlbmVkU2lkZXBhbmVscy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
|
1
|
+
import { Overlay, OverlayConfig } from '@angular/cdk/overlay';
|
2
|
+
import { ComponentPortal, PortalInjector, TemplatePortal } from '@angular/cdk/portal';
|
3
|
+
import { Inject, Injectable, InjectionToken, Injector, Optional, SkipSelf, TemplateRef } from '@angular/core';
|
4
|
+
import { MC_SIDEPANEL_DATA, McSidepanelConfig } from './sidepanel-config';
|
5
|
+
import { McSidepanelContainerComponent, MC_SIDEPANEL_WITH_INDENT, MC_SIDEPANEL_WITH_SHADOW } from './sidepanel-container.component';
|
6
|
+
import { McSidepanelRef } from './sidepanel-ref';
|
7
|
+
import * as i0 from "@angular/core";
|
8
|
+
import * as i1 from "@angular/cdk/overlay";
|
9
|
+
import * as i2 from "./sidepanel-config";
|
10
|
+
/** Injection token that can be used to specify default sidepanel options. */
|
11
|
+
export const MC_SIDEPANEL_DEFAULT_OPTIONS = new InjectionToken('mc-sidepanel-default-options');
|
12
|
+
export class McSidepanelService {
|
13
|
+
constructor(overlay, injector, defaultOptions, parentSidepanelService) {
|
14
|
+
this.overlay = overlay;
|
15
|
+
this.injector = injector;
|
16
|
+
this.defaultOptions = defaultOptions;
|
17
|
+
this.parentSidepanelService = parentSidepanelService;
|
18
|
+
this.openedSidepanelsAtThisLevel = [];
|
19
|
+
}
|
20
|
+
/** Keeps track of the currently-open sidepanels. */
|
21
|
+
get openedSidepanels() {
|
22
|
+
return this.parentSidepanelService ? this.parentSidepanelService.openedSidepanels :
|
23
|
+
this.openedSidepanelsAtThisLevel;
|
24
|
+
}
|
25
|
+
ngOnDestroy() {
|
26
|
+
// Only close the sidepanels at this level on destroy
|
27
|
+
// since the parent service may still be active.
|
28
|
+
this.closeSidepanels(this.openedSidepanelsAtThisLevel);
|
29
|
+
}
|
30
|
+
open(componentOrTemplateRef, config) {
|
31
|
+
const fullConfig = {
|
32
|
+
...(this.defaultOptions || new McSidepanelConfig()),
|
33
|
+
...config
|
34
|
+
};
|
35
|
+
if (fullConfig.id && this.getSidepanelById(fullConfig.id)) {
|
36
|
+
throw Error(`Sidepanel with id "${fullConfig.id}" exists already. The sidepanel id must be unique.`);
|
37
|
+
}
|
38
|
+
const overlayRef = this.createOverlay(fullConfig);
|
39
|
+
const container = this.attachContainer(overlayRef, fullConfig);
|
40
|
+
const ref = new McSidepanelRef(container, overlayRef, fullConfig);
|
41
|
+
if (componentOrTemplateRef instanceof TemplateRef) {
|
42
|
+
container.attachTemplatePortal(new TemplatePortal(componentOrTemplateRef, null, {
|
43
|
+
$implicit: fullConfig.data,
|
44
|
+
sidepanelRef: ref
|
45
|
+
}));
|
46
|
+
}
|
47
|
+
else {
|
48
|
+
const injector = this.createInjector(fullConfig, ref, container);
|
49
|
+
const portal = new ComponentPortal(componentOrTemplateRef, undefined, injector);
|
50
|
+
const contentRef = container.attachComponentPortal(portal);
|
51
|
+
ref.instance = contentRef.instance;
|
52
|
+
}
|
53
|
+
this.openedSidepanels.push(ref);
|
54
|
+
ref.afterClosed()
|
55
|
+
.subscribe(() => this.removeOpenSidepanel(ref));
|
56
|
+
container.enter();
|
57
|
+
return ref;
|
58
|
+
}
|
59
|
+
/**
|
60
|
+
* Closes all of the currently-open sidepanels.
|
61
|
+
*/
|
62
|
+
closeAll() {
|
63
|
+
this.closeSidepanels(this.openedSidepanels);
|
64
|
+
}
|
65
|
+
/**
|
66
|
+
* Finds an open sidepanel by its id.
|
67
|
+
* @param id ID to use when looking up the sidepanel.
|
68
|
+
*/
|
69
|
+
getSidepanelById(id) {
|
70
|
+
return this.openedSidepanels.find((sidepanel) => sidepanel.id === id);
|
71
|
+
}
|
72
|
+
/**
|
73
|
+
* Attaches the sidepanel container component to the overlay.
|
74
|
+
*/
|
75
|
+
attachContainer(overlayRef, config) {
|
76
|
+
const openedSidepanelsWithSamePosition = this.getOpenedSidepanelsWithSamePosition(config);
|
77
|
+
// tslint:disable-next-line:deprecation
|
78
|
+
const injector = new PortalInjector(this.injector, new WeakMap([
|
79
|
+
[McSidepanelConfig, config],
|
80
|
+
[MC_SIDEPANEL_WITH_INDENT, openedSidepanelsWithSamePosition.length >= 1],
|
81
|
+
[MC_SIDEPANEL_WITH_SHADOW, openedSidepanelsWithSamePosition.length < 2] // tslint:disable-line
|
82
|
+
]));
|
83
|
+
const containerPortal = new ComponentPortal(McSidepanelContainerComponent, undefined, injector);
|
84
|
+
const containerRef = overlayRef.attach(containerPortal);
|
85
|
+
return containerRef.instance;
|
86
|
+
}
|
87
|
+
/**
|
88
|
+
* Creates a custom injector to be used inside the sidepanel. This allows a component loaded inside
|
89
|
+
* of a sidepanel to close itself and, optionally, to return a value.
|
90
|
+
* @param config Config object that is used to construct the sidepanel.
|
91
|
+
* @param sidepanelRef Reference to the sidepanel.
|
92
|
+
* @param sidepanelContainer Sidepanel container element that wraps all of the contents.
|
93
|
+
* @returns The custom injector that can be used inside the sidepanel.
|
94
|
+
*/
|
95
|
+
createInjector(config, sidepanelRef,
|
96
|
+
// tslint:disable-next-line:deprecation
|
97
|
+
sidepanelContainer) {
|
98
|
+
// The McSidepanelContainerComponent is injected in the portal as the McSidepanelContainerComponent and
|
99
|
+
// the sidepanel's content are created out of the same ViewContainerRef and as such, are siblings for injector
|
100
|
+
// purposes. To allow the hierarchy that is expected, the McSidepanelContainerComponent is explicitly
|
101
|
+
// added to the injection tokens.
|
102
|
+
const injectionTokens = new WeakMap([
|
103
|
+
[McSidepanelContainerComponent, sidepanelContainer],
|
104
|
+
[MC_SIDEPANEL_DATA, config.data],
|
105
|
+
[McSidepanelRef, sidepanelRef]
|
106
|
+
]);
|
107
|
+
// tslint:disable-next-line:deprecation
|
108
|
+
return new PortalInjector(this.injector, injectionTokens);
|
109
|
+
}
|
110
|
+
/**
|
111
|
+
* Creates a new overlay and places it in the correct location.
|
112
|
+
* @param config The user-specified sidepanel config.
|
113
|
+
*/
|
114
|
+
createOverlay(config) {
|
115
|
+
const overlayConfig = new OverlayConfig({
|
116
|
+
hasBackdrop: config.hasBackdrop,
|
117
|
+
backdropClass: this.getBackdropClass(config),
|
118
|
+
maxWidth: '100%',
|
119
|
+
panelClass: config.overlayPanelClass,
|
120
|
+
scrollStrategy: this.overlay.scrollStrategies.block(),
|
121
|
+
positionStrategy: this.overlay.position().global()
|
122
|
+
});
|
123
|
+
return this.overlay.create(overlayConfig);
|
124
|
+
}
|
125
|
+
closeSidepanels(sidepanels) {
|
126
|
+
const reversedOpenedSidepanels = [...sidepanels.reverse()];
|
127
|
+
reversedOpenedSidepanels.forEach((sidepanelRef) => {
|
128
|
+
sidepanelRef.close();
|
129
|
+
});
|
130
|
+
}
|
131
|
+
getBackdropClass(config) {
|
132
|
+
if (config.hasBackdrop && config.backdropClass) {
|
133
|
+
return config.backdropClass;
|
134
|
+
}
|
135
|
+
const hasOpenedSidepanelWithBackdrop = this.openedSidepanels.some((sidepanelRef) => sidepanelRef.config.hasBackdrop);
|
136
|
+
return config.requiredBackdrop || !hasOpenedSidepanelWithBackdrop ? 'cdk-overlay-dark-backdrop' :
|
137
|
+
'cdk-overlay-transparent-backdrop';
|
138
|
+
}
|
139
|
+
getOpenedSidepanelsWithSamePosition(config) {
|
140
|
+
return this.openedSidepanels.filter((sidepanelRef) => sidepanelRef.config.position === config.position);
|
141
|
+
}
|
142
|
+
/**
|
143
|
+
* Removes a sidepanel from the array of open sidepanels.
|
144
|
+
* @param sidepanelRef Sidepanel to be removed.
|
145
|
+
*/
|
146
|
+
removeOpenSidepanel(sidepanelRef) {
|
147
|
+
const index = this.openedSidepanels.indexOf(sidepanelRef);
|
148
|
+
if (index > -1) {
|
149
|
+
this.openedSidepanels.splice(index, 1);
|
150
|
+
}
|
151
|
+
}
|
152
|
+
}
|
153
|
+
/** @nocollapse */ /** @nocollapse */ McSidepanelService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: McSidepanelService, deps: [{ token: i1.Overlay }, { token: i0.Injector }, { token: MC_SIDEPANEL_DEFAULT_OPTIONS, optional: true }, { token: McSidepanelService, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
154
|
+
/** @nocollapse */ /** @nocollapse */ McSidepanelService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: McSidepanelService });
|
155
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: McSidepanelService, decorators: [{
|
156
|
+
type: Injectable
|
157
|
+
}], ctorParameters: function () { return [{ type: i1.Overlay }, { type: i0.Injector }, { type: i2.McSidepanelConfig, decorators: [{
|
158
|
+
type: Optional
|
159
|
+
}, {
|
160
|
+
type: Inject,
|
161
|
+
args: [MC_SIDEPANEL_DEFAULT_OPTIONS]
|
162
|
+
}] }, { type: McSidepanelService, decorators: [{
|
163
|
+
type: Optional
|
164
|
+
}, {
|
165
|
+
type: SkipSelf
|
166
|
+
}] }]; } });
|
167
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZXBhbmVsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9tb3NhaWMvc2lkZXBhbmVsL3NpZGVwYW5lbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDMUUsT0FBTyxFQUFFLGVBQWUsRUFBaUIsY0FBYyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JHLE9BQU8sRUFFSCxNQUFNLEVBQ04sVUFBVSxFQUNWLGNBQWMsRUFDZCxRQUFRLEVBQ1IsUUFBUSxFQUNSLFFBQVEsRUFDUixXQUFXLEVBQ2QsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDMUUsT0FBTyxFQUNILDZCQUE2QixFQUM3Qix3QkFBd0IsRUFDeEIsd0JBQXdCLEVBQzNCLE1BQU0saUNBQWlDLENBQUM7QUFDekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBR2pELDZFQUE2RTtBQUM3RSxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FDckMsSUFBSSxjQUFjLENBQW9CLDhCQUE4QixDQUFDLENBQUM7QUFHMUUsTUFBTSxPQUFPLGtCQUFrQjtJQVMzQixZQUNZLE9BQWdCLEVBQ2hCLFFBQWtCLEVBQ2dDLGNBQWlDLEVBQzNELHNCQUEwQztRQUhsRSxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2hCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDZ0MsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQzNELDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBb0I7UUFadEUsZ0NBQTJCLEdBQXFCLEVBQUUsQ0FBQztJQWEzRCxDQUFDO0lBWEQsb0RBQW9EO0lBQ3BELElBQUksZ0JBQWdCO1FBQ2hCLE9BQU8sSUFB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QUFNLEtBQUssR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRTFELElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxFQUFFO1lBQ1osSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDMUM7SUFDTCxDQUFDOztzSkE3S1Esa0JBQWtCLGlFQVlILDRCQUE0Qiw2QkFDUSxrQkFBa0I7MEpBYnJFLGtCQUFrQjs0RkFBbEIsa0JBQWtCO2tCQUQ5QixVQUFVOzswQkFhRixRQUFROzswQkFBSSxNQUFNOzJCQUFDLDRCQUE0Qjs4QkFDUSxrQkFBa0I7MEJBQXpFLFFBQVE7OzBCQUFJLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5Q29uZmlnLCBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsLCBDb21wb25lbnRUeXBlLCBQb3J0YWxJbmplY3RvciwgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7XG4gICAgQ29tcG9uZW50UmVmLFxuICAgIEluamVjdCxcbiAgICBJbmplY3RhYmxlLFxuICAgIEluamVjdGlvblRva2VuLFxuICAgIEluamVjdG9yLCBPbkRlc3Ryb3ksXG4gICAgT3B0aW9uYWwsXG4gICAgU2tpcFNlbGYsXG4gICAgVGVtcGxhdGVSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE1DX1NJREVQQU5FTF9EQVRBLCBNY1NpZGVwYW5lbENvbmZpZyB9IGZyb20gJy4vc2lkZXBhbmVsLWNvbmZpZyc7XG5pbXBvcnQge1xuICAgIE1jU2lkZXBhbmVsQ29udGFpbmVyQ29tcG9uZW50LFxuICAgIE1DX1NJREVQQU5FTF9XSVRIX0lOREVOVCxcbiAgICBNQ19TSURFUEFORUxfV0lUSF9TSEFET1dcbn0gZnJvbSAnLi9zaWRlcGFuZWwtY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNY1NpZGVwYW5lbFJlZiB9IGZyb20gJy4vc2lkZXBhbmVsLXJlZic7XG5cblxuLyoqIEluamVjdGlvbiB0b2tlbiB0aGF0IGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgZGVmYXVsdCBzaWRlcGFuZWwgb3B0aW9ucy4gKi9cbmV4cG9ydCBjb25zdCBNQ19TSURFUEFORUxfREVGQVVMVF9PUFRJT05TID1cbiAgICBuZXcgSW5qZWN0aW9uVG9rZW48TWNTaWRlcGFuZWxDb25maWc+KCdtYy1zaWRlcGFuZWwtZGVmYXVsdC1vcHRpb25zJyk7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNY1NpZGVwYW5lbFNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgb3BlbmVkU2lkZXBhbmVsc0F0VGhpc0xldmVsOiBNY1NpZGVwYW5lbFJlZltdID0gW107XG5cbiAgICAvKiogS2VlcHMgdHJhY2sgb2YgdGhlIGN1cnJlbnRseS1vcGVuIHNpZGVwYW5lbHMuICovXG4gICAgZ2V0IG9wZW5lZFNpZGVwYW5lbHMoKTogTWNTaWRlcGFuZWxSZWZbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLnBhcmVudFNpZGVwYW5lbFNlcnZpY2UgPyB0aGlzLnBhcmVudFNpZGVwYW5lbFNlcnZpY2Uub3BlbmVkU2lkZXBhbmVscyA6XG4gICAgICAgICAgICB0aGlzLm9wZW5lZFNpZGVwYW5lbHNBdFRoaXNMZXZlbDtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LFxuICAgICAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChNQ19TSURFUEFORUxfREVGQVVMVF9PUFRJT05TKSBwcml2YXRlIGRlZmF1bHRPcHRpb25zOiBNY1NpZGVwYW5lbENvbmZpZyxcbiAgICAgICAgQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgcHJpdmF0ZSBwYXJlbnRTaWRlcGFuZWxTZXJ2aWNlOiBNY1NpZGVwYW5lbFNlcnZpY2UpIHtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgLy8gT25seSBjbG9zZSB0aGUgc2lkZXBhbmVscyBhdCB0aGlzIGxldmVsIG9uIGRlc3Ryb3lcbiAgICAgICAgLy8gc2luY2UgdGhlIHBhcmVudCBzZXJ2aWNlIG1heSBzdGlsbCBiZSBhY3RpdmUuXG4gICAgICAgIHRoaXMuY2xvc2VTaWRlcGFuZWxzKHRoaXMub3BlbmVkU2lkZXBhbmVsc0F0VGhpc0xldmVsKTtcbiAgICB9XG5cbiAgICBvcGVuPFQsIEQgPSBhbnk+KFxuICAgICAgICBjb21wb25lbnRPclRlbXBsYXRlUmVmOiBDb21wb25lbnRUeXBlPFQ+IHwgVGVtcGxhdGVSZWY8VD4sIGNvbmZpZz86IE1jU2lkZXBhbmVsQ29uZmlnPEQ+XG4gICAgKTogTWNTaWRlcGFuZWxSZWY8VD4ge1xuICAgICAgICBjb25zdCBmdWxsQ29uZmlnID0ge1xuICAgICAgICAgICAgLi4uKHRoaXMuZGVmYXVsdE9wdGlvbnMgfHwgbmV3IE1jU2lkZXBhbmVsQ29uZmlnKCkpLFxuICAgICAgICAgICAgLi4uY29uZmlnXG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKGZ1bGxDb25maWcuaWQgJiYgdGhpcy5nZXRTaWRlcGFuZWxCeUlkKGZ1bGxDb25maWcuaWQpKSB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcihgU2lkZXBhbmVsIHdpdGggaWQgXCIke2Z1bGxDb25maWcuaWR9XCIgZXhpc3RzIGFscmVhZHkuIFRoZSBzaWRlcGFuZWwgaWQgbXVzdCBiZSB1bmlxdWUuYCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBvdmVybGF5UmVmID0gdGhpcy5jcmVhdGVPdmVybGF5KGZ1bGxDb25maWcpO1xuICAgICAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLmF0dGFjaENvbnRhaW5lcihvdmVybGF5UmVmLCBmdWxsQ29uZmlnKTtcbiAgICAgICAgY29uc3QgcmVmID0gbmV3IE1jU2lkZXBhbmVsUmVmKGNvbnRhaW5lciwgb3ZlcmxheVJlZiwgZnVsbENvbmZpZyk7XG5cbiAgICAgICAgaWYgKGNvbXBvbmVudE9yVGVtcGxhdGVSZWYgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZikge1xuICAgICAgICAgICAgY29udGFpbmVyLmF0dGFjaFRlbXBsYXRlUG9ydGFsKG5ldyBUZW1wbGF0ZVBvcnRhbDxUPihjb21wb25lbnRPclRlbXBsYXRlUmVmLCBudWxsISwge1xuICAgICAgICAgICAgICAgICRpbXBsaWNpdDogZnVsbENvbmZpZy5kYXRhLFxuICAgICAgICAgICAgICAgIHNpZGVwYW5lbFJlZjogcmVmXG4gICAgICAgICAgICB9IGFzIGFueSkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgaW5qZWN0b3IgPSB0aGlzLmNyZWF0ZUluamVjdG9yKGZ1bGxDb25maWcsIHJlZiwgY29udGFpbmVyKTtcbiAgICAgICAgICAgIGNvbnN0IHBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwoY29tcG9uZW50T3JUZW1wbGF0ZVJlZiwgdW5kZWZpbmVkLCBpbmplY3Rvcik7XG4gICAgICAgICAgICBjb25zdCBjb250ZW50UmVmID0gY29udGFpbmVyLmF0dGFjaENvbXBvbmVudFBvcnRhbChwb3J0YWwpO1xuXG4gICAgICAgICAgICByZWYuaW5zdGFuY2UgPSBjb250ZW50UmVmLmluc3RhbmNlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vcGVuZWRTaWRlcGFuZWxzLnB1c2gocmVmKTtcbiAgICAgICAgcmVmLmFmdGVyQ2xvc2VkKClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5yZW1vdmVPcGVuU2lkZXBhbmVsKHJlZikpO1xuXG4gICAgICAgIGNvbnRhaW5lci5lbnRlcigpO1xuXG4gICAgICAgIHJldHVybiByZWY7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2xvc2VzIGFsbCBvZiB0aGUgY3VycmVudGx5LW9wZW4gc2lkZXBhbmVscy5cbiAgICAgKi9cbiAgICBjbG9zZUFsbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jbG9zZVNpZGVwYW5lbHModGhpcy5vcGVuZWRTaWRlcGFuZWxzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGaW5kcyBhbiBvcGVuIHNpZGVwYW5lbCBieSBpdHMgaWQuXG4gICAgICogQHBhcmFtIGlkIElEIHRvIHVzZSB3aGVuIGxvb2tpbmcgdXAgdGhlIHNpZGVwYW5lbC5cbiAgICAgKi9cbiAgICBnZXRTaWRlcGFuZWxCeUlkKGlkOiBzdHJpbmcpOiBNY1NpZGVwYW5lbFJlZiB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wZW5lZFNpZGVwYW5lbHMuZmluZCgoc2lkZXBhbmVsKSA9PiBzaWRlcGFuZWwuaWQgPT09IGlkKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBdHRhY2hlcyB0aGUgc2lkZXBhbmVsIGNvbnRhaW5lciBjb21wb25lbnQgdG8gdGhlIG92ZXJsYXkuXG4gICAgICovXG4gICAgcHJpdmF0ZSBhdHRhY2hDb250YWluZXIob3ZlcmxheVJlZjogT3ZlcmxheVJlZiwgY29uZmlnOiBNY1NpZGVwYW5lbENvbmZpZyk6IE1jU2lkZXBhbmVsQ29udGFpbmVyQ29tcG9uZW50IHtcbiAgICAgICAgY29uc3Qgb3BlbmVkU2lkZXBhbmVsc1dpdGhTYW1lUG9zaXRpb24gPSB0aGlzLmdldE9wZW5lZFNpZGVwYW5lbHNXaXRoU2FtZVBvc2l0aW9uKGNvbmZpZyk7XG5cbiAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmRlcHJlY2F0aW9uXG4gICAgICAgIGNvbnN0IGluamVjdG9yID0gbmV3IFBvcnRhbEluamVjdG9yKHRoaXMuaW5qZWN0b3IsIG5ldyBXZWFrTWFwPGFueT4oW1xuICAgICAgICAgICAgW01jU2lkZXBhbmVsQ29uZmlnLCBjb25maWddLFxuICAgICAgICAgICAgW01DX1NJREVQQU5FTF9XSVRIX0lOREVOVCwgb3BlbmVkU2lkZXBhbmVsc1dpdGhTYW1lUG9zaXRpb24ubGVuZ3RoID49IDFdLFxuICAgICAgICAgICAgW01DX1NJREVQQU5FTF9XSVRIX1NIQURPVywgb3BlbmVkU2lkZXBhbmVsc1dpdGhTYW1lUG9zaXRpb24ubGVuZ3RoIDwgMl0gLy8gdHNsaW50OmRpc2FibGUtbGluZVxuICAgICAgICBdKSk7XG5cbiAgICAgICAgY29uc3QgY29udGFpbmVyUG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChNY1NpZGVwYW5lbENvbnRhaW5lckNvbXBvbmVudCwgdW5kZWZpbmVkLCBpbmplY3Rvcik7XG4gICAgICAgIGNvbnN0IGNvbnRhaW5lclJlZjogQ29tcG9uZW50UmVmPE1jU2lkZXBhbmVsQ29udGFpbmVyQ29tcG9uZW50PiA9IG92ZXJsYXlSZWYuYXR0YWNoKGNvbnRhaW5lclBvcnRhbCk7XG5cbiAgICAgICAgcmV0dXJuIGNvbnRhaW5lclJlZi5pbnN0YW5jZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgY3VzdG9tIGluamVjdG9yIHRvIGJlIHVzZWQgaW5zaWRlIHRoZSBzaWRlcGFuZWwuIFRoaXMgYWxsb3dzIGEgY29tcG9uZW50IGxvYWRlZCBpbnNpZGVcbiAgICAgKiBvZiBhIHNpZGVwYW5lbCB0byBjbG9zZSBpdHNlbGYgYW5kLCBvcHRpb25hbGx5LCB0byByZXR1cm4gYSB2YWx1ZS5cbiAgICAgKiBAcGFyYW0gY29uZmlnIENvbmZpZyBvYmplY3QgdGhhdCBpcyB1c2VkIHRvIGNvbnN0cnVjdCB0aGUgc2lkZXBhbmVsLlxuICAgICAqIEBwYXJhbSBzaWRlcGFuZWxSZWYgUmVmZXJlbmNlIHRvIHRoZSBzaWRlcGFuZWwuXG4gICAgICogQHBhcmFtIHNpZGVwYW5lbENvbnRhaW5lciBTaWRlcGFuZWwgY29udGFpbmVyIGVsZW1lbnQgdGhhdCB3cmFwcyBhbGwgb2YgdGhlIGNvbnRlbnRzLlxuICAgICAqIEByZXR1cm5zIFRoZSBjdXN0b20gaW5qZWN0b3IgdGhhdCBjYW4gYmUgdXNlZCBpbnNpZGUgdGhlIHNpZGVwYW5lbC5cbiAgICAgKi9cbiAgICBwcml2YXRlIGNyZWF0ZUluamVjdG9yPFQ+KFxuICAgICAgICBjb25maWc6IE1jU2lkZXBhbmVsQ29uZmlnLFxuICAgICAgICBzaWRlcGFuZWxSZWY6IE1jU2lkZXBhbmVsUmVmPFQ+LFxuICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6ZGVwcmVjYXRpb25cbiAgICAgICAgc2lkZXBhbmVsQ29udGFpbmVyOiBNY1NpZGVwYW5lbENvbnRhaW5lckNvbXBvbmVudCk6IFBvcnRhbEluamVjdG9yIHtcblxuICAgICAgICAvLyBUaGUgTWNTaWRlcGFuZWxDb250YWluZXJDb21wb25lbnQgaXMgaW5qZWN0ZWQgaW4gdGhlIHBvcnRhbCBhcyB0aGUgTWNTaWRlcGFuZWxDb250YWluZXJDb21wb25lbnQgYW5kXG4gICAgICAgIC8vIHRoZSBzaWRlcGFuZWwncyBjb250ZW50IGFyZSBjcmVhdGVkIG91dCBvZiB0aGUgc2FtZSBWaWV3Q29udGFpbmVyUmVmIGFuZCBhcyBzdWNoLCBhcmUgc2libGluZ3MgZm9yIGluamVjdG9yXG4gICAgICAgIC8vIHB1cnBvc2VzLiBUbyBhbGxvdyB0aGUgaGllcmFyY2h5IHRoYXQgaXMgZXhwZWN0ZWQsIHRoZSBNY1NpZGVwYW5lbENvbnRhaW5lckNvbXBvbmVudCBpcyBleHBsaWNpdGx5XG4gICAgICAgIC8vIGFkZGVkIHRvIHRoZSBpbmplY3Rpb24gdG9rZW5zLlxuICAgICAgICBjb25zdCBpbmplY3Rpb25Ub2tlbnMgPSBuZXcgV2Vha01hcDxhbnk+KFtcbiAgICAgICAgICAgIFtNY1NpZGVwYW5lbENvbnRhaW5lckNvbXBvbmVudCwgc2lkZXBhbmVsQ29udGFpbmVyXSxcbiAgICAgICAgICAgIFtNQ19TSURFUEFORUxfREFUQSwgY29uZmlnLmRhdGFdLFxuICAgICAgICAgICAgW01jU2lkZXBhbmVsUmVmLCBzaWRlcGFuZWxSZWZdXG4gICAgICAgIF0pO1xuXG4gICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpkZXByZWNhdGlvblxuICAgICAgICByZXR1cm4gbmV3IFBvcnRhbEluamVjdG9yKHRoaXMuaW5qZWN0b3IsIGluamVjdGlvblRva2Vucyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIG5ldyBvdmVybGF5IGFuZCBwbGFjZXMgaXQgaW4gdGhlIGNvcnJlY3QgbG9jYXRpb24uXG4gICAgICogQHBhcmFtIGNvbmZpZyBUaGUgdXNlci1zcGVjaWZpZWQgc2lkZXBhbmVsIGNvbmZpZy5cbiAgICAgKi9cbiAgICBwcml2YXRlIGNyZWF0ZU92ZXJsYXkoY29uZmlnOiBNY1NpZGVwYW5lbENvbmZpZyk6IE92ZXJsYXlSZWYge1xuICAgICAgICBjb25zdCBvdmVybGF5Q29uZmlnID0gbmV3IE92ZXJsYXlDb25maWcoe1xuICAgICAgICAgICAgaGFzQmFja2Ryb3A6IGNvbmZpZy5oYXNCYWNrZHJvcCxcbiAgICAgICAgICAgIGJhY2tkcm9wQ2xhc3M6IHRoaXMuZ2V0QmFja2Ryb3BDbGFzcyhjb25maWcpLFxuICAgICAgICAgICAgbWF4V2lkdGg6ICcxMDAlJyxcbiAgICAgICAgICAgIHBhbmVsQ2xhc3M6IGNvbmZpZy5vdmVybGF5UGFuZWxDbGFzcyxcbiAgICAgICAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5ibG9jaygpLFxuICAgICAgICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5vdmVybGF5LnBvc2l0aW9uKCkuZ2xvYmFsKClcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMub3ZlcmxheS5jcmVhdGUob3ZlcmxheUNvbmZpZyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbG9zZVNpZGVwYW5lbHMoc2lkZXBhbmVsczogTWNTaWRlcGFuZWxSZWZbXSkge1xuICAgICAgICBjb25zdCByZXZlcnNlZE9wZW5lZFNpZGVwYW5lbHMgPSBbLi4uc2lkZXBhbmVscy5yZXZlcnNlKCldO1xuXG4gICAgICAgIHJldmVyc2VkT3BlbmVkU2lkZXBhbmVscy5mb3JFYWNoKChzaWRlcGFuZWxSZWY6IE1jU2lkZXBhbmVsUmVmKSA9PiB7XG4gICAgICAgICAgICBzaWRlcGFuZWxSZWYuY2xvc2UoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRCYWNrZHJvcENsYXNzKGNvbmZpZzogTWNTaWRlcGFuZWxDb25maWcpOiBzdHJpbmcge1xuICAgICAgICBpZiAoY29uZmlnLmhhc0JhY2tkcm9wICYmIGNvbmZpZy5iYWNrZHJvcENsYXNzKSB7XG4gICAgICAgICAgICByZXR1cm4gY29uZmlnLmJhY2tkcm9wQ2xhc3M7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBoYXNPcGVuZWRTaWRlcGFuZWxXaXRoQmFja2Ryb3AgPVxuICAgICAgICAgICAgdGhpcy5vcGVuZWRTaWRlcGFuZWxzLnNvbWUoKHNpZGVwYW5lbFJlZikgPT4gc2lkZXBhbmVsUmVmLmNvbmZpZy5oYXNCYWNrZHJvcCEpO1xuXG4gICAgICAgIHJldHVybiBjb25maWcucmVxdWlyZWRCYWNrZHJvcCB8fCAhaGFzT3BlbmVkU2lkZXBhbmVsV2l0aEJhY2tkcm9wID8gJ2Nkay1vdmVybGF5LWRhcmstYmFja2Ryb3AnIDpcbiAgICAgICAgICAgICdjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRPcGVuZWRTaWRlcGFuZWxzV2l0aFNhbWVQb3NpdGlvbihjb25maWc6IE1jU2lkZXBhbmVsQ29uZmlnKTogTWNTaWRlcGFuZWxSZWZbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wZW5lZFNpZGVwYW5lbHMuZmlsdGVyKChzaWRlcGFuZWxSZWYpID0+IHNpZGVwYW5lbFJlZi5jb25maWcucG9zaXRpb24gPT09IGNvbmZpZy5wb3NpdGlvbik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyBhIHNpZGVwYW5lbCBmcm9tIHRoZSBhcnJheSBvZiBvcGVuIHNpZGVwYW5lbHMuXG4gICAgICogQHBhcmFtIHNpZGVwYW5lbFJlZiBTaWRlcGFuZWwgdG8gYmUgcmVtb3ZlZC5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlbW92ZU9wZW5TaWRlcGFuZWwoc2lkZXBhbmVsUmVmOiBNY1NpZGVwYW5lbFJlZikge1xuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMub3BlbmVkU2lkZXBhbmVscy5pbmRleE9mKHNpZGVwYW5lbFJlZik7XG5cbiAgICAgICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgICAgICAgIHRoaXMub3BlbmVkU2lkZXBhbmVscy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
@@ -1,2 +1,2 @@
|
|
1
|
-
export * from './public-api';
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
1
|
+
export * from './public-api';
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9tb3NhaWMvc3BsaXR0ZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
|
@@ -1,5 +1,5 @@
|
|
1
|
-
/**
|
2
|
-
* Generated bundle index. Do not edit.
|
3
|
-
*/
|
4
|
-
export * from './index';
|
1
|
+
/**
|
2
|
+
* Generated bundle index. Do not edit.
|
3
|
+
*/
|
4
|
+
export * from './index';
|
5
5
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHRzZWN1cml0eS1tb3NhaWMtc3BsaXR0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9tb3NhaWMvc3BsaXR0ZXIvcHRzZWN1cml0eS1tb3NhaWMtc3BsaXR0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
|
@@ -1,3 +1,3 @@
|
|
1
|
-
export * from './splitter.module';
|
2
|
-
export * from './splitter.component';
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
1
|
+
export * from './splitter.module';
|
2
|
+
export * from './splitter.component';
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21vc2FpYy9zcGxpdHRlci9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3BsaXR0ZXIubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vc3BsaXR0ZXIuY29tcG9uZW50JztcbiJdfQ==
|