@ptsecurity/mosaic 12.1.0 → 12.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/_theming.scss +38 -157
- package/_visual.scss +0 -1
- package/bundles/ptsecurity-mosaic-autocomplete.umd.js +18 -20
- package/bundles/ptsecurity-mosaic-autocomplete.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-button-toggle.umd.js +15 -17
- package/bundles/ptsecurity-mosaic-button-toggle.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-button.umd.js +17 -19
- package/bundles/ptsecurity-mosaic-button.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-card.umd.js +11 -13
- package/bundles/ptsecurity-mosaic-card.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-checkbox.umd.js +14 -16
- package/bundles/ptsecurity-mosaic-checkbox.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-core.umd.js +122 -168
- package/bundles/ptsecurity-mosaic-core.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-datepicker.umd.js +53 -48
- package/bundles/ptsecurity-mosaic-datepicker.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-design-tokens.umd.js +3 -4
- package/bundles/ptsecurity-mosaic-design-tokens.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-divider.umd.js +11 -13
- package/bundles/ptsecurity-mosaic-divider.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-dropdown.umd.js +36 -23
- package/bundles/ptsecurity-mosaic-dropdown.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-form-field.umd.js +737 -738
- package/bundles/ptsecurity-mosaic-form-field.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-icon.umd.js +14 -16
- package/bundles/ptsecurity-mosaic-icon.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-input.umd.js +45 -33
- package/bundles/ptsecurity-mosaic-input.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-link.umd.js +11 -13
- package/bundles/ptsecurity-mosaic-link.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-list.umd.js +37 -36
- package/bundles/ptsecurity-mosaic-list.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-modal.umd.js +52 -44
- package/bundles/ptsecurity-mosaic-modal.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-navbar.umd.js +40 -42
- package/bundles/ptsecurity-mosaic-navbar.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-popover.umd.js +215 -34
- package/bundles/ptsecurity-mosaic-popover.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-progress-bar.umd.js +12 -14
- package/bundles/ptsecurity-mosaic-progress-bar.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-progress-spinner.umd.js +12 -14
- package/bundles/ptsecurity-mosaic-progress-spinner.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-radio.umd.js +14 -16
- package/bundles/ptsecurity-mosaic-radio.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-select.umd.js +22 -24
- package/bundles/ptsecurity-mosaic-select.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-sidebar.umd.js +17 -19
- package/bundles/ptsecurity-mosaic-sidebar.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-sidepanel.umd.js +62 -58
- package/bundles/ptsecurity-mosaic-sidepanel.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-splitter.umd.js +245 -48
- package/bundles/ptsecurity-mosaic-splitter.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-table.umd.js +11 -13
- package/bundles/ptsecurity-mosaic-table.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-tabs.umd.js +56 -58
- package/bundles/ptsecurity-mosaic-tabs.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-tags.umd.js +77 -73
- package/bundles/ptsecurity-mosaic-tags.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-textarea.umd.js +12 -14
- package/bundles/ptsecurity-mosaic-textarea.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-timepicker.umd.js +15 -16
- package/bundles/ptsecurity-mosaic-timepicker.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-toggle.umd.js +11 -13
- package/bundles/ptsecurity-mosaic-toggle.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-tooltip.umd.js +72 -23
- package/bundles/ptsecurity-mosaic-tooltip.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-tree-select.umd.js +17 -18
- package/bundles/ptsecurity-mosaic-tree-select.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-tree.umd.js +45 -53
- package/bundles/ptsecurity-mosaic-tree.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic.umd.js +2 -2
- package/core/pop-up/pop-up-trigger.d.ts +9 -12
- package/design-tokens/style-dictionary/build.js +6 -0
- package/design-tokens/style-dictionary/configs/index.js +2 -1
- package/design-tokens/tokens.d.ts +0 -1
- package/dropdown/dropdown-item.component.d.ts +1 -0
- package/esm2015/autocomplete/autocomplete-origin.directive.js +4 -4
- package/esm2015/autocomplete/autocomplete-trigger.directive.js +4 -4
- package/esm2015/autocomplete/autocomplete.component.js +4 -4
- package/esm2015/autocomplete/autocomplete.module.js +5 -5
- package/esm2015/button/button.component.js +10 -10
- package/esm2015/button/button.module.js +5 -5
- package/esm2015/button-toggle/button-toggle.component.js +7 -7
- package/esm2015/button-toggle/button-toggle.module.js +5 -5
- package/esm2015/card/card.component.js +4 -4
- package/esm2015/card/card.module.js +5 -5
- package/esm2015/checkbox/checkbox-module.js +5 -5
- package/esm2015/checkbox/checkbox-required-validator.js +4 -4
- package/esm2015/checkbox/checkbox.js +4 -4
- package/esm2015/core/common-behaviors/common-module.js +5 -5
- package/esm2015/core/error/error-options.js +7 -7
- package/esm2015/core/formatters/date/formatter.js +6 -5
- package/esm2015/core/formatters/index.js +5 -5
- package/esm2015/core/formatters/number/formatter.js +5 -5
- package/esm2015/core/forms/forms-module.js +5 -5
- package/esm2015/core/forms/forms.directive.js +7 -7
- package/esm2015/core/highlight/highlight.pipe.js +4 -4
- package/esm2015/core/highlight/index.js +5 -5
- package/esm2015/core/line/line.js +8 -8
- package/esm2015/core/option/action.js +4 -4
- package/esm2015/core/option/optgroup.js +4 -4
- package/esm2015/core/option/option-module.js +5 -5
- package/esm2015/core/option/option.js +4 -4
- package/esm2015/core/pop-up/pop-up-trigger.js +32 -66
- package/esm2015/core/pop-up/pop-up.js +4 -4
- package/esm2015/core/selection/pseudo-checkbox/pseudo-checkbox.js +4 -4
- package/esm2015/core/selection/pseudo-checkbox/pseudo-checkbox.module.js +5 -5
- package/esm2015/core/services/measure-scrollbar.service.js +4 -4
- package/esm2015/datepicker/calendar-body.component.js +4 -4
- package/esm2015/datepicker/calendar.component.js +7 -7
- package/esm2015/datepicker/datepicker-input.directive.js +12 -5
- package/esm2015/datepicker/datepicker-intl.js +4 -4
- package/esm2015/datepicker/datepicker-module.js +5 -5
- package/esm2015/datepicker/datepicker-toggle.component.js +7 -7
- package/esm2015/datepicker/datepicker.component.js +7 -7
- package/esm2015/datepicker/month-view.component.js +4 -4
- package/esm2015/datepicker/multi-year-view.component.js +4 -4
- package/esm2015/datepicker/year-view.component.js +4 -4
- package/esm2015/design-tokens/tokens.js +1 -2
- package/esm2015/divider/divider.component.js +4 -4
- package/esm2015/divider/divider.module.js +5 -5
- package/esm2015/dropdown/dropdown-content.directive.js +4 -4
- package/esm2015/dropdown/dropdown-item.component.js +11 -4
- package/esm2015/dropdown/dropdown-trigger.directive.js +13 -5
- package/esm2015/dropdown/dropdown.component.js +4 -4
- package/esm2015/dropdown/dropdown.module.js +5 -5
- package/esm2015/form-field/cleaner.js +9 -5
- package/esm2015/form-field/form-field.js +7 -7
- package/esm2015/form-field/form-field.module.js +5 -5
- package/esm2015/form-field/hint.js +4 -4
- package/esm2015/form-field/prefix.js +4 -4
- package/esm2015/form-field/stepper.js +4 -4
- package/esm2015/form-field/suffix.js +4 -4
- package/esm2015/icon/icon.component.js +7 -7
- package/esm2015/icon/icon.module.js +5 -5
- package/esm2015/input/input-number-validators.js +28 -14
- package/esm2015/input/input-number.js +4 -4
- package/esm2015/input/input.js +7 -7
- package/esm2015/input/input.module.js +5 -5
- package/esm2015/link/link.component.js +4 -4
- package/esm2015/link/link.module.js +5 -5
- package/esm2015/list/list-selection.component.js +24 -21
- package/esm2015/list/list.component.js +7 -7
- package/esm2015/list/list.module.js +5 -5
- package/esm2015/modal/css-unit.pipe.js +4 -4
- package/esm2015/modal/modal-control.service.js +4 -4
- package/esm2015/modal/modal.component.js +6 -4
- package/esm2015/modal/modal.directive.js +13 -13
- package/esm2015/modal/modal.module.js +9 -7
- package/esm2015/modal/modal.service.js +16 -9
- package/esm2015/navbar/navbar-item.component.js +21 -21
- package/esm2015/navbar/navbar.component.js +7 -7
- package/esm2015/navbar/navbar.module.js +5 -5
- package/esm2015/navbar/vertical-navbar.component.js +7 -7
- package/esm2015/popover/popover-confirm.component.js +116 -0
- package/esm2015/popover/popover.component.js +63 -20
- package/esm2015/popover/popover.module.js +13 -10
- package/esm2015/popover/public-api.js +2 -1
- package/esm2015/progress-bar/progress-bar.component.js +4 -4
- package/esm2015/progress-bar/progress-bar.module.js +5 -5
- package/esm2015/progress-spinner/progress-spinner.component.js +4 -4
- package/esm2015/progress-spinner/progress-spinner.module.js +5 -5
- package/esm2015/radio/radio.component.js +7 -7
- package/esm2015/radio/radio.module.js +5 -5
- package/esm2015/select/select.component.js +14 -14
- package/esm2015/select/select.module.js +5 -5
- package/esm2015/sidebar/sidebar.component.js +10 -10
- package/esm2015/sidebar/sidebar.module.js +5 -5
- package/esm2015/sidepanel/sidepanel-container.component.js +14 -13
- package/esm2015/sidepanel/sidepanel-directives.js +22 -18
- package/esm2015/sidepanel/sidepanel.module.js +12 -8
- package/esm2015/sidepanel/sidepanel.service.js +6 -5
- package/esm2015/splitter/splitter.component.js +198 -40
- package/esm2015/splitter/splitter.module.js +8 -6
- package/esm2015/table/table.component.js +4 -4
- package/esm2015/table/table.module.js +5 -5
- package/esm2015/tabs/paginated-tab-header.js +4 -4
- package/esm2015/tabs/tab-body.component.js +7 -7
- package/esm2015/tabs/tab-content.directive.js +4 -4
- package/esm2015/tabs/tab-group.component.js +19 -19
- package/esm2015/tabs/tab-header.component.js +4 -4
- package/esm2015/tabs/tab-label-wrapper.directive.js +4 -4
- package/esm2015/tabs/tab-label.directive.js +4 -4
- package/esm2015/tabs/tab-nav-bar/tab-nav-bar.js +7 -7
- package/esm2015/tabs/tab.component.js +4 -4
- package/esm2015/tabs/tabs.module.js +5 -5
- package/esm2015/tags/tag-input.js +4 -4
- package/esm2015/tags/tag-list.component.js +4 -4
- package/esm2015/tags/tag.component.js +61 -57
- package/esm2015/tags/tag.module.js +5 -5
- package/esm2015/textarea/textarea.component.js +4 -4
- package/esm2015/textarea/textarea.module.js +5 -5
- package/esm2015/timepicker/timepicker.directive.js +8 -7
- package/esm2015/timepicker/timepicker.module.js +5 -5
- package/esm2015/toggle/toggle.component.js +4 -4
- package/esm2015/toggle/toggle.module.js +5 -5
- package/esm2015/tooltip/tooltip.component.js +55 -16
- package/esm2015/tooltip/tooltip.module.js +5 -5
- package/esm2015/tree/node.js +4 -4
- package/esm2015/tree/outlet.js +4 -4
- package/esm2015/tree/padding.directive.js +5 -8
- package/esm2015/tree/toggle.js +11 -11
- package/esm2015/tree/tree-base.js +7 -7
- package/esm2015/tree/tree-option.component.js +5 -5
- package/esm2015/tree/tree-selection.component.js +4 -4
- package/esm2015/tree/tree.js +4 -4
- package/esm2015/tree/tree.module.js +5 -8
- package/esm2015/tree-select/tree-select.component.js +9 -8
- package/esm2015/tree-select/tree-select.module.js +5 -5
- package/fesm2015/ptsecurity-mosaic-autocomplete.js +13 -13
- package/fesm2015/ptsecurity-mosaic-autocomplete.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-button-toggle.js +10 -10
- package/fesm2015/ptsecurity-mosaic-button-toggle.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-button.js +13 -13
- package/fesm2015/ptsecurity-mosaic-button.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-card.js +7 -7
- package/fesm2015/ptsecurity-mosaic-card.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-checkbox.js +10 -10
- package/fesm2015/ptsecurity-mosaic-checkbox.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-core.js +102 -136
- package/fesm2015/ptsecurity-mosaic-core.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-datepicker.js +48 -41
- package/fesm2015/ptsecurity-mosaic-datepicker.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-design-tokens.js +0 -1
- package/fesm2015/ptsecurity-mosaic-design-tokens.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-divider.js +7 -7
- package/fesm2015/ptsecurity-mosaic-divider.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-dropdown.js +32 -17
- package/fesm2015/ptsecurity-mosaic-dropdown.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-form-field.js +30 -27
- package/fesm2015/ptsecurity-mosaic-form-field.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-icon.js +10 -10
- package/fesm2015/ptsecurity-mosaic-icon.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-input.js +40 -26
- package/fesm2015/ptsecurity-mosaic-input.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-link.js +7 -7
- package/fesm2015/ptsecurity-mosaic-link.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-list.js +33 -30
- package/fesm2015/ptsecurity-mosaic-list.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-modal.js +46 -35
- package/fesm2015/ptsecurity-mosaic-modal.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-navbar.js +36 -36
- package/fesm2015/ptsecurity-mosaic-navbar.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-popover.js +179 -30
- package/fesm2015/ptsecurity-mosaic-popover.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-progress-bar.js +7 -7
- package/fesm2015/ptsecurity-mosaic-progress-bar.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-progress-spinner.js +7 -7
- package/fesm2015/ptsecurity-mosaic-progress-spinner.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-radio.js +10 -10
- package/fesm2015/ptsecurity-mosaic-radio.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-select.js +17 -17
- package/fesm2015/ptsecurity-mosaic-select.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-sidebar.js +13 -13
- package/fesm2015/ptsecurity-mosaic-sidebar.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-sidepanel.js +50 -41
- package/fesm2015/ptsecurity-mosaic-sidepanel.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-splitter.js +204 -44
- package/fesm2015/ptsecurity-mosaic-splitter.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-table.js +7 -7
- package/fesm2015/ptsecurity-mosaic-table.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-tabs.js +52 -52
- package/fesm2015/ptsecurity-mosaic-tabs.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-tags.js +70 -66
- package/fesm2015/ptsecurity-mosaic-tags.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-textarea.js +7 -7
- package/fesm2015/ptsecurity-mosaic-textarea.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-timepicker.js +11 -10
- package/fesm2015/ptsecurity-mosaic-timepicker.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-toggle.js +7 -7
- package/fesm2015/ptsecurity-mosaic-toggle.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-tooltip.js +57 -18
- package/fesm2015/ptsecurity-mosaic-tooltip.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-tree-select.js +12 -11
- package/fesm2015/ptsecurity-mosaic-tree-select.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-tree.js +40 -46
- package/fesm2015/ptsecurity-mosaic-tree.js.map +1 -1
- package/form-field/cleaner.d.ts +2 -0
- package/input/input-number-validators.d.ts +2 -2
- package/modal/modal.component.d.ts +2 -0
- package/modal/modal.module.d.ts +1 -1
- package/package.json +5 -5
- package/popover/popover-confirm.component.d.ts +33 -0
- package/popover/popover.component.d.ts +14 -4
- package/popover/popover.module.d.ts +6 -3
- package/popover/public-api.d.ts +1 -0
- package/prebuilt-themes/dark-theme.css +1 -1
- package/prebuilt-themes/default-theme.css +1 -1
- package/prebuilt-visual/default-visual.css +1 -1
- package/select/select.component.d.ts +2 -7
- package/sidepanel/sidepanel-directives.d.ts +2 -0
- package/sidepanel/sidepanel.module.d.ts +2 -1
- package/splitter/splitter.component.d.ts +46 -5
- package/splitter/splitter.module.d.ts +1 -1
- package/tags/tag.component.d.ts +20 -20
- package/tooltip/tooltip.component.d.ts +12 -3
- package/tree/padding.directive.d.ts +1 -1
- package/tree/toggle.d.ts +1 -1
- package/tree/tree-option.component.d.ts +1 -1
- package/tree/tree-selection.component.d.ts +2 -2
- package/tree/tree.module.d.ts +1 -1
- package/tree-select/tree-select.component.d.ts +2 -7
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ptsecurity-mosaic-navbar.js","sources":["../../../packages/mosaic/navbar/navbar-item.component.ts","../../../packages/mosaic/navbar/navbar.component.ts","../../../packages/mosaic/navbar/vertical-navbar.animation.ts","../../../packages/mosaic/navbar/vertical-navbar.component.ts","../../../packages/mosaic/navbar/navbar.module.ts","../../../packages/mosaic/navbar/ptsecurity-mosaic-navbar.ts"],"sourcesContent":["import { FocusMonitor } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n Directive,\n ElementRef,\n Input,\n OnDestroy,\n ViewEncapsulation\n} from '@angular/core';\nimport { McButtonCssStyler } from '@ptsecurity/mosaic/button';\nimport { CanDisable, CanDisableCtor, mixinDisabled } from '@ptsecurity/mosaic/core';\nimport { McIcon } from '@ptsecurity/mosaic/icon';\nimport { merge, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\n\n@Directive({\n selector: 'mc-navbar-logo, [mc-navbar-logo]',\n host: {\n class: 'mc-navbar-logo',\n '(mouseenter)': 'hovered.next(true)',\n '(mouseleave)': 'hovered.next(false)'\n }\n})\nexport class McNavbarLogo {\n readonly hovered = new Subject<boolean>();\n}\n\n\n@Directive({\n selector: 'mc-navbar-title, [mc-navbar-title]',\n host: {\n class: 'mc-navbar-title',\n '(mouseenter)': 'hovered.next(true)',\n '(mouseleave)': 'hovered.next(false)'\n }\n})\nexport class McNavbarTitle implements AfterContentInit {\n readonly hovered = new Subject<boolean>();\n\n outerElementWidth: number;\n\n get text(): string {\n return this.elementRef.nativeElement.innerText;\n }\n\n constructor(private elementRef: ElementRef) {}\n\n getOuterElementWidth(): number {\n const { width, marginLeft, marginRight } = window.getComputedStyle(this.elementRef.nativeElement);\n\n return [width, marginLeft, marginRight].reduce((acc, item) => acc + parseInt(item) || 0, 0);\n }\n\n ngAfterContentInit(): void {\n this.outerElementWidth = this.getOuterElementWidth();\n }\n}\n\n\n@Directive({\n selector: 'mc-navbar-brand, [mc-navbar-brand]',\n host: {\n class: 'mc-navbar-brand',\n '[class.mc-hovered]': 'hovered'\n }\n})\nexport class McNavbarBrand implements AfterContentInit, OnDestroy {\n @ContentChild(McNavbarLogo) logo: McNavbarLogo;\n @ContentChild(McNavbarTitle) title: McNavbarTitle;\n\n hovered = false;\n\n private destroyed = new Subject<void>();\n\n ngAfterContentInit(): void {\n merge(\n this.logo.hovered,\n this.title.hovered\n )\n .pipe(takeUntil(this.destroyed))\n .subscribe((value: boolean) => this.hovered = value);\n }\n\n ngOnDestroy(): void {\n this.destroyed.next();\n this.destroyed.complete();\n }\n}\n\n\n@Directive({\n selector: 'mc-navbar-divider',\n host: {\n class: 'mc-navbar-divider'\n }\n})\nexport class McNavbarDivider {}\n\n\n@Directive({\n selector: 'mc-navbar-item, [mc-navbar-item], mc-navbar-divider, mc-navbar-brand, [mc-navbar-brand]',\n host: {\n '[class.mc-vertical]': 'vertical',\n '[class.mc-horizontal]': 'horizontal',\n '[class.mc-opened]': 'vertical && !closed',\n '[class.mc-closed]': 'vertical && closed'\n }\n})\nexport class McNavbarItemBase {\n @ContentChild(McButtonCssStyler) button: McButtonCssStyler;\n\n vertical: boolean;\n horizontal: boolean;\n\n closed: boolean;\n\n constructor(public elementRef: ElementRef) {}\n\n getOuterElementWidth(): number {\n const { width, marginLeft, marginRight } = window.getComputedStyle(this.elementRef.nativeElement);\n\n return [width, marginLeft, marginRight].reduce((acc, item) => acc + parseInt(item), 0);\n }\n}\n\n// tslint:disable-next-line:naming-convention\nexport const McNavbarMixinBase: CanDisableCtor & typeof McNavbarItemBase = mixinDisabled(McNavbarItemBase);\n\n\n@Component({\n selector: 'mc-navbar-item, [mc-navbar-item]',\n exportAs: 'mcNavbarItem',\n template: `<ng-content></ng-content>`,\n host: {\n class: 'mc-navbar-item',\n '[class.mc-navbar-item_collapsed]': 'collapsed',\n '[class.mc-navbar-item_button]': 'button',\n\n '[attr.title]': 'collapsedTitle',\n '[attr.tabindex]': 'tabIndex',\n '[attr.disabled]': 'disabled || null'\n },\n inputs: ['disabled'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class McNavbarItem extends McNavbarMixinBase implements OnDestroy, CanDisable, AfterContentInit {\n @ContentChild(McButtonCssStyler) button: McButtonCssStyler;\n @ContentChild(McNavbarTitle) title: McNavbarTitle;\n @ContentChild(McIcon) icon: McIcon;\n\n\n @Input()\n get collapsable(): boolean {\n return this._collapsable;\n }\n\n set collapsable(value: boolean) {\n this._collapsable = coerceBooleanProperty(value);\n }\n\n private _collapsable: boolean = true;\n\n @Input() collapsed = false;\n\n get collapsedTitle(): string | null {\n return this.collapsed ? (this._collapsedTitle || this.title.text) : null;\n }\n\n @Input()\n set collapsedTitle(value: string | null) {\n this._collapsedTitle = value;\n }\n\n private _collapsedTitle: string | null = null;\n\n get tabIndex(): number {\n return this.disabled || this.button ? -1 : this._tabIndex;\n }\n\n set tabIndex(value: number) {\n this._tabIndex = value != null ? coerceNumberProperty(value) : 0;\n }\n\n private _tabIndex: number = 0;\n\n constructor(private focusMonitor: FocusMonitor, public elementRef: ElementRef) {\n super(elementRef);\n }\n\n ngOnDestroy() {\n this.focusMonitor.stopMonitoring(this.elementRef);\n }\n\n ngAfterContentInit(): void {\n if (this.button) { return; }\n\n this.focusMonitor.monitor(this.elementRef, true);\n }\n\n getTitleWidth(): number {\n return this.title.outerElementWidth;\n }\n}\n","import {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Directive,\n ElementRef,\n OnDestroy,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport { Subject, Subscription } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\n\nimport { McNavbarItem, McNavbarItemBase } from './navbar-item.component';\n\n\nexport type McNavbarContainerPositionType = 'left' | 'right';\n\n\n@Directive({\n selector: 'mc-navbar-container',\n host: {\n class: 'mc-navbar-container'\n }\n})\nexport class McNavbarContainer {}\n\n@Component({\n selector: 'mc-navbar',\n template: `<ng-content select=\"[mc-navbar-container], mc-navbar-container\"></ng-content>`,\n styleUrls: [\n './navbar.scss',\n './navbar-item.scss',\n './navbar-brand.scss',\n './navbar-divider.scss'\n ],\n host: {\n class: 'mc-navbar',\n '(window:resize)': 'resizeStream.next($event)'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class McNavbar implements AfterViewInit, AfterContentInit, OnDestroy {\n @ContentChildren(McNavbarItemBase, { descendants: true }) navbarBaseItems: QueryList<McNavbarItemBase>;\n\n @ContentChildren(McNavbarItem, { descendants: true }) navbarItems: QueryList<McNavbarItem>;\n\n readonly resizeStream = new Subject<Event>();\n\n private readonly resizeDebounceInterval: number = 100;\n\n private get width(): number {\n return this.elementRef.nativeElement.getBoundingClientRect().width;\n }\n\n private get totalItemsWidth(): number {\n return this.navbarBaseItems\n .reduce((acc, item) => acc + item.getOuterElementWidth(), 0);\n }\n\n private get collapsableItems(): McNavbarItem[] {\n return this.navbarItems\n .toArray()\n .filter((item) => item.icon && item.title && item.collapsable)\n .reverse();\n }\n\n private resizeSubscription: Subscription;\n\n constructor(private elementRef: ElementRef) {\n this.resizeSubscription = this.resizeStream\n .pipe(debounceTime(this.resizeDebounceInterval))\n .subscribe(this.updateCollapsed);\n }\n\n ngAfterContentInit(): void {\n this.setItemsState();\n\n this.navbarBaseItems.changes\n .subscribe(this.setItemsState);\n }\n\n ngAfterViewInit(): void {\n // Note: this wait is required for loading and rendering fonts for icons;\n // unfortunately we cannot control font rendering\n setTimeout(this.updateCollapsed);\n }\n\n ngOnDestroy() {\n this.resizeSubscription.unsubscribe();\n }\n\n updateCollapsed = () => {\n const collapseDelta = this.totalItemsWidth - this.width;\n\n const needCollapse = collapseDelta > 0;\n\n if (needCollapse) {\n this.collapseItems(collapseDelta);\n } else {\n this.unCollapseItems(collapseDelta);\n }\n }\n\n private collapseItems(collapseDelta: number) {\n let delta = collapseDelta;\n\n const unCollapsedItems = this.collapsableItems\n .filter((item) => !item.collapsed);\n\n for (const item of unCollapsedItems) {\n item.collapsed = true;\n delta -= item.getTitleWidth();\n\n if (delta < 0) { break; }\n }\n }\n\n private unCollapseItems(collapseDelta: number) {\n let delta = collapseDelta;\n\n this.collapsableItems\n .filter((item) => item.collapsed)\n .forEach((item) => {\n if (delta + item.getTitleWidth() < 0) {\n item.collapsed = false;\n delta += item.getTitleWidth();\n }\n });\n }\n\n private setItemsState = () => {\n Promise.resolve().then(() => this.navbarBaseItems?.forEach((item) => item.horizontal = true));\n }\n}\n","import { animate, AnimationTriggerMetadata, style, transition, trigger, state } from '@angular/animations';\nimport {\n VerticalNavbarSizeStatesClosedWidth as closedWidth,\n VerticalNavbarSizeStatesOpenedWidth as openedWidth\n} from '@ptsecurity/mosaic/design-tokens';\n\n\nexport function toggleVerticalNavbarAnimation(): AnimationTriggerMetadata {\n return trigger('toggle', [\n state('0', style({ width: `var(--mc-vertical-navbar-size-states-closed-width, ${closedWidth})` })),\n state('1', style({ width: `var(--mc-vertical-navbar-size-states-opened-width, ${openedWidth})` })),\n transition('0 <=> 1', animate('200ms cubic-bezier(0, 1, 0.5, 1)'))\n ]);\n}\n","import { FocusMonitor } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n Input,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport { CanDisableCtor, HasTabIndexCtor, mixinDisabled, mixinTabIndex } from '@ptsecurity/mosaic/core';\nimport { McIcon } from '@ptsecurity/mosaic/icon';\n\nimport { McNavbarItemBase } from './navbar-item.component';\nimport { toggleVerticalNavbarAnimation } from './vertical-navbar.animation';\n\n\n@Component({\n selector: 'mc-vertical-navbar',\n exportAs: 'McVerticalNavbar',\n template: `\n <ng-content select=\"[mc-navbar-container], mc-navbar-container\"></ng-content>\n <ng-content select=\"[mc-navbar-toggle], mc-navbar-toggle\"></ng-content>\n `,\n styleUrls: [\n './vertical-navbar.scss',\n './navbar-item.scss',\n './navbar-brand.scss',\n './navbar-divider.scss'\n ],\n host: {\n class: 'mc-vertical-navbar',\n '[class.mc-closed]': '!expanded',\n '[class.mc-opened]': 'expanded',\n '[@toggle]': 'expanded'\n },\n animations: [toggleVerticalNavbarAnimation()],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class McVerticalNavbar implements AfterContentInit {\n get expanded() {\n return this._expanded;\n }\n\n @Input()\n set expanded(value: boolean) {\n this._expanded = coerceBooleanProperty(value);\n\n this.setClosedStateForItems(value);\n }\n\n private _expanded: boolean = false;\n\n @ContentChildren(McNavbarItemBase, { descendants: true }) navbarBaseItems: QueryList<McNavbarItemBase>;\n\n toggle(): void {\n this.expanded = !this.expanded;\n }\n\n ngAfterContentInit(): void {\n this.setItemsState();\n this.setClosedStateForItems(this.expanded);\n\n this.navbarBaseItems.changes\n .subscribe(this.setItemsState);\n }\n\n private setClosedStateForItems(value: boolean) {\n this.navbarBaseItems?.forEach((item) => {\n item.closed = !value;\n setTimeout(() => item.button?.updateClassModifierForIcons());\n });\n }\n\n private setItemsState = () => {\n Promise.resolve().then(() => this.navbarBaseItems?.forEach((item) => item.vertical = true));\n }\n}\n\nexport class McNavbarToggleBase {\n // tslint:disable-next-line:naming-convention\n constructor(public _elementRef: ElementRef) {}\n}\n\n// tslint:disable-next-line:naming-convention\nexport const McNavbarToggleMixinBase: HasTabIndexCtor & CanDisableCtor &\n typeof McNavbarToggleBase = mixinTabIndex(mixinDisabled(McNavbarToggleBase));\n\n@Component({\n selector: 'mc-navbar-toggle',\n template: `\n <i mc-icon\n [class.mc-angle-left-M_16]=\"mcNavbar.expanded\"\n [class.mc-angle-right-M_16]=\"!mcNavbar.expanded\"\n *ngIf=\"!customIcon\">\n </i>\n\n <ng-content select=\"[mc-icon]\"></ng-content>\n <ng-content select=\"mc-navbar-title\" *ngIf=\"mcNavbar.expanded\"></ng-content>\n `,\n styleUrls: ['./navbar.scss'],\n host: {\n class: 'mc-navbar-item mc-navbar-toggle mc-vertical',\n\n '[attr.tabindex]': 'tabIndex',\n '[attr.disabled]': 'disabled || null'\n },\n inputs: ['tabIndex'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class McNavbarToggle extends McNavbarToggleMixinBase {\n @ContentChild(McIcon) customIcon: McIcon;\n\n constructor(\n public mcNavbar: McVerticalNavbar,\n private focusMonitor: FocusMonitor,\n private elementRef: ElementRef\n ) {\n super(elementRef);\n }\n\n ngOnDestroy() {\n this.focusMonitor.stopMonitoring(this.elementRef.nativeElement);\n }\n\n ngAfterContentInit(): void {\n this.focusMonitor.monitor(this.elementRef.nativeElement, true);\n }\n}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { PlatformModule } from '@angular/cdk/platform';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { McIconModule } from '@ptsecurity/mosaic/icon';\n\nimport {\n McNavbarItemBase,\n McNavbarBrand,\n McNavbarDivider,\n McNavbarItem,\n McNavbarLogo,\n McNavbarTitle\n} from './navbar-item.component';\nimport { McNavbar, McNavbarContainer } from './navbar.component';\nimport { McNavbarToggle, McVerticalNavbar } from './vertical-navbar.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n A11yModule,\n PlatformModule,\n McIconModule\n ],\n exports: [\n McNavbar,\n McNavbarContainer,\n McNavbarTitle,\n McNavbarItem,\n McNavbarBrand,\n McNavbarLogo,\n McNavbarToggle,\n McVerticalNavbar,\n McNavbarDivider,\n McNavbarItemBase\n ],\n declarations: [\n McNavbar,\n McNavbarContainer,\n McNavbarTitle,\n McNavbarItem,\n McNavbarBrand,\n McNavbarLogo,\n McNavbarToggle,\n McVerticalNavbar,\n McNavbarDivider,\n McNavbarItemBase\n ]\n})\nexport class McNavbarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["closedWidth","openedWidth"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"ptsecurity-mosaic-navbar.js","sources":["../../../packages/mosaic/navbar/navbar-item.component.ts","../../../packages/mosaic/navbar/navbar.component.ts","../../../packages/mosaic/navbar/vertical-navbar.animation.ts","../../../packages/mosaic/navbar/vertical-navbar.component.ts","../../../packages/mosaic/navbar/navbar.module.ts","../../../packages/mosaic/navbar/ptsecurity-mosaic-navbar.ts"],"sourcesContent":["import { FocusMonitor } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n Directive,\n ElementRef,\n Input,\n OnDestroy,\n ViewEncapsulation\n} from '@angular/core';\nimport { McButtonCssStyler } from '@ptsecurity/mosaic/button';\nimport { CanDisable, CanDisableCtor, mixinDisabled } from '@ptsecurity/mosaic/core';\nimport { McIcon } from '@ptsecurity/mosaic/icon';\nimport { EMPTY, merge, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\n\n@Directive({\n selector: 'mc-navbar-logo, [mc-navbar-logo]',\n host: {\n class: 'mc-navbar-logo',\n '(mouseenter)': 'hovered.next(true)',\n '(mouseleave)': 'hovered.next(false)'\n }\n})\nexport class McNavbarLogo {\n readonly hovered = new Subject<boolean>();\n}\n\n\n@Directive({\n selector: 'mc-navbar-title, [mc-navbar-title]',\n host: {\n class: 'mc-navbar-title',\n '(mouseenter)': 'hovered.next(true)',\n '(mouseleave)': 'hovered.next(false)'\n }\n})\nexport class McNavbarTitle implements AfterContentInit {\n readonly hovered = new Subject<boolean>();\n\n outerElementWidth: number;\n\n get text(): string {\n return this.elementRef.nativeElement.innerText;\n }\n\n constructor(private elementRef: ElementRef) {}\n\n getOuterElementWidth(): number {\n const { width, marginLeft, marginRight } = window.getComputedStyle(this.elementRef.nativeElement);\n\n return [width, marginLeft, marginRight].reduce((acc, item) => acc + parseInt(item) || 0, 0);\n }\n\n ngAfterContentInit(): void {\n this.outerElementWidth = this.getOuterElementWidth();\n }\n}\n\n\n@Directive({\n selector: 'mc-navbar-brand, [mc-navbar-brand]',\n host: {\n class: 'mc-navbar-brand',\n '[class.mc-hovered]': 'hovered'\n }\n})\nexport class McNavbarBrand implements AfterContentInit, OnDestroy {\n @ContentChild(McNavbarLogo) logo: McNavbarLogo;\n @ContentChild(McNavbarTitle) title: McNavbarTitle;\n\n hovered = false;\n\n private destroyed = new Subject<void>();\n\n ngAfterContentInit(): void {\n merge(\n this.logo ? this.logo.hovered : EMPTY,\n this.title ? this.title.hovered : EMPTY\n )\n .pipe(takeUntil(this.destroyed))\n .subscribe((value: boolean) => this.hovered = value);\n }\n\n ngOnDestroy(): void {\n this.destroyed.next();\n this.destroyed.complete();\n }\n}\n\n\n@Directive({\n selector: 'mc-navbar-divider',\n host: {\n class: 'mc-navbar-divider'\n }\n})\nexport class McNavbarDivider {}\n\n\n@Directive({\n selector: 'mc-navbar-item, [mc-navbar-item], mc-navbar-divider, mc-navbar-brand, [mc-navbar-brand]',\n host: {\n '[class.mc-vertical]': 'vertical',\n '[class.mc-horizontal]': 'horizontal',\n '[class.mc-opened]': 'vertical && !closed',\n '[class.mc-closed]': 'vertical && closed'\n }\n})\nexport class McNavbarItemBase {\n @ContentChild(McButtonCssStyler) button: McButtonCssStyler;\n\n vertical: boolean;\n horizontal: boolean;\n\n closed: boolean;\n\n constructor(public elementRef: ElementRef) {}\n\n getOuterElementWidth(): number {\n const { width, marginLeft, marginRight } = window.getComputedStyle(this.elementRef.nativeElement);\n\n return [width, marginLeft, marginRight].reduce((acc, item) => acc + parseInt(item), 0);\n }\n}\n\n// tslint:disable-next-line:naming-convention\nexport const McNavbarMixinBase: CanDisableCtor & typeof McNavbarItemBase = mixinDisabled(McNavbarItemBase);\n\n\n@Component({\n selector: 'mc-navbar-item, [mc-navbar-item]',\n exportAs: 'mcNavbarItem',\n template: `<ng-content></ng-content>`,\n host: {\n class: 'mc-navbar-item',\n '[class.mc-navbar-item_collapsed]': 'collapsed',\n '[class.mc-navbar-item_button]': 'button',\n\n '[attr.title]': 'collapsedTitle',\n '[attr.tabindex]': 'tabIndex',\n '[attr.disabled]': 'disabled || null'\n },\n inputs: ['disabled'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class McNavbarItem extends McNavbarMixinBase implements OnDestroy, CanDisable, AfterContentInit {\n @ContentChild(McButtonCssStyler) button: McButtonCssStyler;\n @ContentChild(McNavbarTitle) title: McNavbarTitle;\n @ContentChild(McIcon) icon: McIcon;\n\n\n @Input()\n get collapsable(): boolean {\n return this._collapsable;\n }\n\n set collapsable(value: boolean) {\n this._collapsable = coerceBooleanProperty(value);\n }\n\n private _collapsable: boolean = true;\n\n @Input() collapsed = false;\n\n get collapsedTitle(): string | null {\n return this.collapsed ? (this._collapsedTitle || this.title.text) : null;\n }\n\n @Input()\n set collapsedTitle(value: string | null) {\n this._collapsedTitle = value;\n }\n\n private _collapsedTitle: string | null = null;\n\n get tabIndex(): number {\n return this.disabled || this.button ? -1 : this._tabIndex;\n }\n\n set tabIndex(value: number) {\n this._tabIndex = value != null ? coerceNumberProperty(value) : 0;\n }\n\n private _tabIndex: number = 0;\n\n constructor(private focusMonitor: FocusMonitor, public elementRef: ElementRef) {\n super(elementRef);\n }\n\n ngOnDestroy() {\n this.focusMonitor.stopMonitoring(this.elementRef);\n }\n\n ngAfterContentInit(): void {\n if (this.button) { return; }\n\n this.focusMonitor.monitor(this.elementRef, true);\n }\n\n getTitleWidth(): number {\n return this.title.outerElementWidth;\n }\n}\n","import {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Directive,\n ElementRef,\n OnDestroy,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport { Subject, Subscription } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\n\nimport { McNavbarItem, McNavbarItemBase } from './navbar-item.component';\n\n\nexport type McNavbarContainerPositionType = 'left' | 'right';\n\n\n@Directive({\n selector: 'mc-navbar-container',\n host: {\n class: 'mc-navbar-container'\n }\n})\nexport class McNavbarContainer {}\n\n@Component({\n selector: 'mc-navbar',\n template: `<ng-content select=\"[mc-navbar-container], mc-navbar-container\"></ng-content>`,\n styleUrls: [\n './navbar.scss',\n './navbar-item.scss',\n './navbar-brand.scss',\n './navbar-divider.scss'\n ],\n host: {\n class: 'mc-navbar',\n '(window:resize)': 'resizeStream.next($event)'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class McNavbar implements AfterViewInit, AfterContentInit, OnDestroy {\n @ContentChildren(McNavbarItemBase, { descendants: true }) navbarBaseItems: QueryList<McNavbarItemBase>;\n\n @ContentChildren(McNavbarItem, { descendants: true }) navbarItems: QueryList<McNavbarItem>;\n\n readonly resizeStream = new Subject<Event>();\n\n private readonly resizeDebounceInterval: number = 100;\n\n private get width(): number {\n return this.elementRef.nativeElement.getBoundingClientRect().width;\n }\n\n private get totalItemsWidth(): number {\n return this.navbarBaseItems\n .reduce((acc, item) => acc + item.getOuterElementWidth(), 0);\n }\n\n private get collapsableItems(): McNavbarItem[] {\n return this.navbarItems\n .toArray()\n .filter((item) => item.icon && item.title && item.collapsable)\n .reverse();\n }\n\n private resizeSubscription: Subscription;\n\n constructor(private elementRef: ElementRef) {\n this.resizeSubscription = this.resizeStream\n .pipe(debounceTime(this.resizeDebounceInterval))\n .subscribe(this.updateCollapsed);\n }\n\n ngAfterContentInit(): void {\n this.setItemsState();\n\n this.navbarBaseItems.changes\n .subscribe(this.setItemsState);\n }\n\n ngAfterViewInit(): void {\n // Note: this wait is required for loading and rendering fonts for icons;\n // unfortunately we cannot control font rendering\n setTimeout(this.updateCollapsed);\n }\n\n ngOnDestroy() {\n this.resizeSubscription.unsubscribe();\n }\n\n updateCollapsed = () => {\n const collapseDelta = this.totalItemsWidth - this.width;\n\n const needCollapse = collapseDelta > 0;\n\n if (needCollapse) {\n this.collapseItems(collapseDelta);\n } else {\n this.unCollapseItems(collapseDelta);\n }\n }\n\n private collapseItems(collapseDelta: number) {\n let delta = collapseDelta;\n\n const unCollapsedItems = this.collapsableItems\n .filter((item) => !item.collapsed);\n\n for (const item of unCollapsedItems) {\n item.collapsed = true;\n delta -= item.getTitleWidth();\n\n if (delta < 0) { break; }\n }\n }\n\n private unCollapseItems(collapseDelta: number) {\n let delta = collapseDelta;\n\n this.collapsableItems\n .filter((item) => item.collapsed)\n .forEach((item) => {\n if (delta + item.getTitleWidth() < 0) {\n item.collapsed = false;\n delta += item.getTitleWidth();\n }\n });\n }\n\n private setItemsState = () => {\n Promise.resolve().then(() => this.navbarBaseItems?.forEach((item) => item.horizontal = true));\n }\n}\n","import { animate, AnimationTriggerMetadata, style, transition, trigger, state } from '@angular/animations';\nimport {\n VerticalNavbarSizeStatesClosedWidth as closedWidth,\n VerticalNavbarSizeStatesOpenedWidth as openedWidth\n} from '@ptsecurity/mosaic/design-tokens';\n\n\nexport function toggleVerticalNavbarAnimation(): AnimationTriggerMetadata {\n return trigger('toggle', [\n state('0', style({ width: `var(--mc-vertical-navbar-size-states-closed-width, ${closedWidth})` })),\n state('1', style({ width: `var(--mc-vertical-navbar-size-states-opened-width, ${openedWidth})` })),\n transition('0 <=> 1', animate('200ms cubic-bezier(0, 1, 0.5, 1)'))\n ]);\n}\n","import { FocusMonitor } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n Input,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport { CanDisableCtor, HasTabIndexCtor, mixinDisabled, mixinTabIndex } from '@ptsecurity/mosaic/core';\nimport { McIcon } from '@ptsecurity/mosaic/icon';\n\nimport { McNavbarItemBase } from './navbar-item.component';\nimport { toggleVerticalNavbarAnimation } from './vertical-navbar.animation';\n\n\n@Component({\n selector: 'mc-vertical-navbar',\n exportAs: 'McVerticalNavbar',\n template: `\n <ng-content select=\"[mc-navbar-container], mc-navbar-container\"></ng-content>\n <ng-content select=\"[mc-navbar-toggle], mc-navbar-toggle\"></ng-content>\n `,\n styleUrls: [\n './vertical-navbar.scss',\n './navbar-item.scss',\n './navbar-brand.scss',\n './navbar-divider.scss'\n ],\n host: {\n class: 'mc-vertical-navbar',\n '[class.mc-closed]': '!expanded',\n '[class.mc-opened]': 'expanded',\n '[@toggle]': 'expanded'\n },\n animations: [toggleVerticalNavbarAnimation()],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class McVerticalNavbar implements AfterContentInit {\n get expanded() {\n return this._expanded;\n }\n\n @Input()\n set expanded(value: boolean) {\n this._expanded = coerceBooleanProperty(value);\n\n this.setClosedStateForItems(value);\n }\n\n private _expanded: boolean = false;\n\n @ContentChildren(McNavbarItemBase, { descendants: true }) navbarBaseItems: QueryList<McNavbarItemBase>;\n\n toggle(): void {\n this.expanded = !this.expanded;\n }\n\n ngAfterContentInit(): void {\n this.setItemsState();\n this.setClosedStateForItems(this.expanded);\n\n this.navbarBaseItems.changes\n .subscribe(this.setItemsState);\n }\n\n private setClosedStateForItems(value: boolean) {\n this.navbarBaseItems?.forEach((item) => {\n item.closed = !value;\n setTimeout(() => item.button?.updateClassModifierForIcons());\n });\n }\n\n private setItemsState = () => {\n Promise.resolve().then(() => this.navbarBaseItems?.forEach((item) => item.vertical = true));\n }\n}\n\nexport class McNavbarToggleBase {\n // tslint:disable-next-line:naming-convention\n constructor(public _elementRef: ElementRef) {}\n}\n\n// tslint:disable-next-line:naming-convention\nexport const McNavbarToggleMixinBase: HasTabIndexCtor & CanDisableCtor &\n typeof McNavbarToggleBase = mixinTabIndex(mixinDisabled(McNavbarToggleBase));\n\n@Component({\n selector: 'mc-navbar-toggle',\n template: `\n <i mc-icon\n [class.mc-angle-left-M_16]=\"mcNavbar.expanded\"\n [class.mc-angle-right-M_16]=\"!mcNavbar.expanded\"\n *ngIf=\"!customIcon\">\n </i>\n\n <ng-content select=\"[mc-icon]\"></ng-content>\n <ng-content select=\"mc-navbar-title\" *ngIf=\"mcNavbar.expanded\"></ng-content>\n `,\n styleUrls: ['./navbar.scss'],\n host: {\n class: 'mc-navbar-item mc-navbar-toggle mc-vertical',\n\n '[attr.tabindex]': 'tabIndex',\n '[attr.disabled]': 'disabled || null'\n },\n inputs: ['tabIndex'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class McNavbarToggle extends McNavbarToggleMixinBase {\n @ContentChild(McIcon) customIcon: McIcon;\n\n constructor(\n public mcNavbar: McVerticalNavbar,\n private focusMonitor: FocusMonitor,\n private elementRef: ElementRef\n ) {\n super(elementRef);\n }\n\n ngOnDestroy() {\n this.focusMonitor.stopMonitoring(this.elementRef.nativeElement);\n }\n\n ngAfterContentInit(): void {\n this.focusMonitor.monitor(this.elementRef.nativeElement, true);\n }\n}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { PlatformModule } from '@angular/cdk/platform';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { McIconModule } from '@ptsecurity/mosaic/icon';\n\nimport {\n McNavbarItemBase,\n McNavbarBrand,\n McNavbarDivider,\n McNavbarItem,\n McNavbarLogo,\n McNavbarTitle\n} from './navbar-item.component';\nimport { McNavbar, McNavbarContainer } from './navbar.component';\nimport { McNavbarToggle, McVerticalNavbar } from './vertical-navbar.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n A11yModule,\n PlatformModule,\n McIconModule\n ],\n exports: [\n McNavbar,\n McNavbarContainer,\n McNavbarTitle,\n McNavbarItem,\n McNavbarBrand,\n McNavbarLogo,\n McNavbarToggle,\n McVerticalNavbar,\n McNavbarDivider,\n McNavbarItemBase\n ],\n declarations: [\n McNavbar,\n McNavbarContainer,\n McNavbarTitle,\n McNavbarItem,\n McNavbarBrand,\n McNavbarLogo,\n McNavbarToggle,\n McVerticalNavbar,\n McNavbarDivider,\n McNavbarItemBase\n ]\n})\nexport class McNavbarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["closedWidth","openedWidth"],"mappings":"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"}
|
@@ -1,14 +1,19 @@
|
|
1
|
-
import * as
|
1
|
+
import * as i1 from '@angular/cdk/a11y';
|
2
|
+
import { A11yModule } from '@angular/cdk/a11y';
|
3
|
+
import * as i3 from '@angular/cdk/overlay';
|
2
4
|
import { Overlay, OverlayModule } from '@angular/cdk/overlay';
|
3
|
-
import * as
|
5
|
+
import * as i2 from '@angular/common';
|
4
6
|
import { CommonModule } from '@angular/common';
|
5
7
|
import * as i0 from '@angular/core';
|
6
|
-
import { Component, ViewEncapsulation, ChangeDetectionStrategy, InjectionToken, Directive, Inject, Optional, Input, NgModule } from '@angular/core';
|
7
|
-
import * as
|
8
|
-
import {
|
9
|
-
import
|
10
|
-
import {
|
8
|
+
import { Component, ViewEncapsulation, ChangeDetectionStrategy, InjectionToken, EventEmitter, Directive, Inject, Optional, Input, Output, NgModule } from '@angular/core';
|
9
|
+
import * as i1$1 from '@ptsecurity/mosaic/button';
|
10
|
+
import { McButtonModule } from '@ptsecurity/mosaic/button';
|
11
|
+
import * as i4 from '@angular/cdk/bidi';
|
12
|
+
import { McPopUp, McPopUpTrigger, PopUpTriggers, PopUpSizes, POSITION_TO_CSS_MAP, ThemePalette } from '@ptsecurity/mosaic/core';
|
13
|
+
import { merge, NEVER, Subject } from 'rxjs';
|
14
|
+
import { takeUntil } from 'rxjs/operators';
|
11
15
|
import { trigger, state, style, transition, animate } from '@angular/animations';
|
16
|
+
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
12
17
|
|
13
18
|
const mcPopoverAnimations = {
|
14
19
|
/** Animation that transitions a tooltip in and out. */
|
@@ -29,14 +34,18 @@ class McPopoverComponent extends McPopUp {
|
|
29
34
|
constructor(changeDetectorRef) {
|
30
35
|
super(changeDetectorRef);
|
31
36
|
this.prefix = 'mc-popover';
|
37
|
+
this.isTrapFocus = false;
|
32
38
|
}
|
33
39
|
updateClassMap(placement, customClass, size) {
|
34
40
|
super.updateClassMap(placement, customClass, { [`${this.prefix}_${size}`]: !!size });
|
35
41
|
}
|
42
|
+
updateTrapFocus(isTrapFocus) {
|
43
|
+
this.isTrapFocus = isTrapFocus;
|
44
|
+
}
|
36
45
|
}
|
37
|
-
/** @nocollapse */ McPopoverComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
38
|
-
/** @nocollapse */ McPopoverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
46
|
+
/** @nocollapse */ McPopoverComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McPopoverComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
47
|
+
/** @nocollapse */ McPopoverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: McPopoverComponent, selector: "mc-popover-component", host: { listeners: { "keydown.esc": "hide(0)" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"mc-popover\"\n [cdkTrapFocus]=\"isTrapFocus\"\n [cdkTrapFocusAutoCapture]=\"isTrapFocus\"\n [ngClass]=\"classMap\"\n [@state]=\"visibility\"\n (@state.start)=\"animationStart()\"\n (@state.done)=\"animationDone($event)\">\n\n <div class=\"mc-popover__container\">\n <div class=\"mc-popover__header\" *ngIf=\"header\">\n <ng-container *ngIf=\"isTemplateRef(header)\" [ngTemplateOutlet]=\"$any(header)\"></ng-container>\n <ng-container *ngIf=\"!isTemplateRef(header)\">\n <div>{{ header }}</div>\n </ng-container>\n </div>\n\n <div class=\"mc-popover__content\"\n [ngClass]=\"{ 'mc-popover__content_padding_bottom': footer }\"\n *ngIf=\"content\">\n <ng-container *ngIf=\"isTemplateRef(content)\" [ngTemplateOutlet]=\"$any(content)\"></ng-container>\n <ng-container *ngIf=\"!isTemplateRef(content)\">\n <div>{{ content }}</div>\n </ng-container>\n </div>\n\n <div class=\"mc-popover__footer\" *ngIf=\"footer\">\n <ng-container *ngIf=\"isTemplateRef(footer)\" [ngTemplateOutlet]=\"$any(footer)\"></ng-container>\n <ng-container *ngIf=\"!isTemplateRef(footer)\">\n <div>{{ footer }}</div>\n </ng-container>\n </div>\n </div>\n\n <div class=\"mc-popover__arrow\" [class.mc-popover__arrow_with-footer]=\"footer\"></div>\n</div>\n", styles: ["@keyframes mc-progress{0%{background-position:0 0}to{background-position:29px 0}}.mc-progress{position:relative}.mc-progress:after{content:\"\";position:absolute;border-radius:inherit;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(0,0,0,.05) 10px,transparent 10px,transparent 20px,rgba(0,0,0,.05) 20px,rgba(0,0,0,.05) 30px,transparent 30px) repeat;background-size:29px 29px;animation:mc-progress 1s linear infinite}.cdk-overlay-container{pointer-events:none;top:0;left:0;height:100%;width:100%;position:fixed;z-index:1000;box-sizing:border-box;margin:0;padding:0}.cdk-overlay-backdrop{top:0;bottom:0;left:0;right:0;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0;position:absolute;pointer-events:auto;z-index:1000;box-sizing:border-box;margin:0;padding:0}.cdk-overlay-pane{box-sizing:border-box;position:absolute;pointer-events:auto;margin:0;padding:0;z-index:1000;max-width:100%;max-height:100%}.cdk-overlay-connected-position-bounding-box{box-sizing:border-box;position:absolute;z-index:1000;display:flex;flex-direction:column;margin:0;padding:0;min-width:1px;min-height:1px}.mc-popover{position:relative;border-radius:3px;border-radius:var(--mc-popover-size-border-radius, 3px);border-width:1px;border-style:solid;box-sizing:border-box;z-index:1030;list-style:none;white-space:pre-line}.mc-popover.mc-popover_small{max-width:200px;max-width:var(--mc-popover-size-small-width, 200px)}.mc-popover.mc-popover_normal{max-width:400px;max-width:var(--mc-popover-size-normal-width, 400px)}.mc-popover.mc-popover_large{max-width:640px;max-width:var(--mc-popover-size-large-width, 640px)}.mc-popover.mc-popover_placement-top,.mc-popover.mc-popover_placement-top-left,.mc-popover.mc-popover_placement-top-right{margin-bottom:calc(9px);margin-bottom:calc(var(--mc-popover-size-trigger-margin, 9px))}.mc-popover.mc-popover_placement-right,.mc-popover.mc-popover_placement-right-top,.mc-popover.mc-popover_placement-right-bottom{margin-left:calc(9px);margin-left:calc(var(--mc-popover-size-trigger-margin, 9px))}.mc-popover.mc-popover_placement-bottom,.mc-popover.mc-popover_placement-bottom-left,.mc-popover.mc-popover_placement-bottom-right{margin-top:calc(9px);margin-top:calc(var(--mc-popover-size-trigger-margin, 9px))}.mc-popover.mc-popover_placement-left,.mc-popover.mc-popover_placement-left-top,.mc-popover.mc-popover_placement-left-bottom{margin-right:calc(9px);margin-right:calc(var(--mc-popover-size-trigger-margin, 9px))}.mc-popover__container{display:flex;flex-direction:column;max-height:480px;max-height:var(--mc-popover-size-max-height, 480px);border-radius:3px;border-radius:var(--mc-popover-size-border-radius, 3px);overflow:hidden}.mc-popover__header{height:10px 16px;height:var(--mc-popover-header-size-height, 10px 16px);padding:10px 16px;padding:var(--mc-popover-header-size-padding, 10px 16px);border-bottom-width:1px;border-bottom-style:solid}.mc-popover__content{overflow:hidden;padding:16px;padding:var(--mc-popover-size-padding, 16px)}.mc-popover__content.mc-popover__content_padding_bottom{padding-bottom:calc(16px + 8px);padding-bottom:calc(var(--mc-popover-size-padding, 16px) + var(--mc-popover-footer-size-margin-top, 8px))}.mc-popover__footer{box-sizing:border-box;height:56px;height:var(--mc-popover-footer-size-height, 56px);padding:12px 16px;padding:var(--mc-popover-footer-size-padding, 12px 16px);border-top-width:1px;border-top-style:solid}.mc-popover__arrow{position:absolute;z-index:-1;width:12px;width:var(--mc-popover-size-arrow-size, 12px);height:12px;height:var(--mc-popover-size-arrow-size, 12px);border:solid 1px;transform:rotate(45deg)}.mc-popover_placement-top .mc-popover__arrow{bottom:calc(11px / -2);bottom:calc(var(--mc-popover-size-arrow-size, 11px) / -2);left:50%;margin-left:calc(11px / -2);margin-left:calc(var(--mc-popover-size-arrow-size, 11px) / -2)}.mc-popover_placement-top-left .mc-popover__arrow{bottom:calc(11px / -2);bottom:calc(var(--mc-popover-size-arrow-size, 11px) / -2);left:calc(18px - 9px);left:calc(18px - var(--mc-popover-size-trigger-margin, 9px))}.mc-popover_placement-top-right .mc-popover__arrow{bottom:calc(11px / -2);bottom:calc(var(--mc-popover-size-arrow-size, 11px) / -2);right:calc(18px - 9px);right:calc(18px - var(--mc-popover-size-trigger-margin, 9px))}.mc-popover_placement-right .mc-popover__arrow{left:calc(11px / -2);left:calc(var(--mc-popover-size-arrow-size, 11px) / -2);top:50%;margin-top:calc(11px / -2);margin-top:calc(var(--mc-popover-size-arrow-size, 11px) / -2)}.mc-popover_placement-right-top .mc-popover__arrow{left:calc(11px / -2);left:calc(var(--mc-popover-size-arrow-size, 11px) / -2);top:calc(18px - 9px);top:calc(18px - var(--mc-popover-size-trigger-margin, 9px))}.mc-popover_placement-right-bottom .mc-popover__arrow{left:calc(11px / -2);left:calc(var(--mc-popover-size-arrow-size, 11px) / -2);bottom:calc(18px - 9px);bottom:calc(18px - var(--mc-popover-size-trigger-margin, 9px))}.mc-popover_placement-left .mc-popover__arrow{right:calc(11px / -2);right:calc(var(--mc-popover-size-arrow-size, 11px) / -2);top:50%;margin-top:calc(11px / -2);margin-top:calc(var(--mc-popover-size-arrow-size, 11px) / -2)}.mc-popover_placement-left-top .mc-popover__arrow{right:calc(11px / -2);right:calc(var(--mc-popover-size-arrow-size, 11px) / -2);top:calc(18px - 9px);top:calc(18px - var(--mc-popover-size-trigger-margin, 9px))}.mc-popover_placement-left-bottom .mc-popover__arrow{right:calc(11px / -2);right:calc(var(--mc-popover-size-arrow-size, 11px) / -2);bottom:calc(18px - 9px);bottom:calc(18px - var(--mc-popover-size-trigger-margin, 9px))}.mc-popover_placement-bottom .mc-popover__arrow{top:calc(11px / -2);top:calc(var(--mc-popover-size-arrow-size, 11px) / -2);left:50%;margin-left:calc(11px / -2);margin-left:calc(var(--mc-popover-size-arrow-size, 11px) / -2)}.mc-popover_placement-bottom-left .mc-popover__arrow{top:calc(11px / -2);top:calc(var(--mc-popover-size-arrow-size, 11px) / -2);left:calc(18px - 9px);left:calc(18px - var(--mc-popover-size-trigger-margin, 9px))}.mc-popover_placement-bottom-right .mc-popover__arrow{top:calc(11px / -2);top:calc(var(--mc-popover-size-arrow-size, 11px) / -2);right:calc(18px - 9px);right:calc(18px - var(--mc-popover-size-trigger-margin, 9px))}.mc-popover-confirm .mc-popover__content{padding:24px 16px 16px}.mc-popover-confirm .mc-popover__content button{margin-top:16px;display:block;margin-left:auto}\n"], directives: [{ type: i1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], animations: [mcPopoverAnimations.popoverState], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McPopoverComponent, decorators: [{
|
40
49
|
type: Component,
|
41
50
|
args: [{
|
42
51
|
selector: 'mc-popover-component',
|
@@ -74,12 +83,27 @@ class McPopoverTrigger extends McPopUpTrigger {
|
|
74
83
|
this._size = PopUpSizes.Normal;
|
75
84
|
this._closeOnScroll = false;
|
76
85
|
this.backdropClass = 'cdk-overlay-transparent-backdrop';
|
86
|
+
this.placementChange = new EventEmitter();
|
87
|
+
this.visibleChange = new EventEmitter();
|
77
88
|
this.originSelector = '.mc-popover';
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
89
|
+
}
|
90
|
+
get popoverVisible() {
|
91
|
+
return this.visible;
|
92
|
+
}
|
93
|
+
set popoverVisible(value) {
|
94
|
+
super.updateVisible(value);
|
95
|
+
}
|
96
|
+
get popoverPlacement() {
|
97
|
+
return this.placement;
|
98
|
+
}
|
99
|
+
set popoverPlacement(value) {
|
100
|
+
super.updatePlacement(value);
|
101
|
+
}
|
102
|
+
get popoverPlacementPriority() {
|
103
|
+
return this.placementPriority;
|
104
|
+
}
|
105
|
+
set popoverPlacementPriority(value) {
|
106
|
+
super.updatePlacementPriority(value);
|
83
107
|
}
|
84
108
|
get hasBackdrop() {
|
85
109
|
return this._hasBackdrop;
|
@@ -151,6 +175,13 @@ class McPopoverTrigger extends McPopUpTrigger {
|
|
151
175
|
set closeOnScroll(value) {
|
152
176
|
this._closeOnScroll = coerceBooleanProperty(value);
|
153
177
|
}
|
178
|
+
get overlayConfig() {
|
179
|
+
return {
|
180
|
+
panelClass: 'mc-popover__panel',
|
181
|
+
hasBackdrop: this.hasBackdrop,
|
182
|
+
backdropClass: this.backdropClass
|
183
|
+
};
|
184
|
+
}
|
154
185
|
updateData() {
|
155
186
|
if (!this.instance) {
|
156
187
|
return;
|
@@ -158,6 +189,7 @@ class McPopoverTrigger extends McPopUpTrigger {
|
|
158
189
|
this.instance.header = this.header;
|
159
190
|
this.instance.content = this.content;
|
160
191
|
this.instance.footer = this.footer;
|
192
|
+
this.instance.updateTrapFocus(this.trigger !== PopUpTriggers.Focus);
|
161
193
|
if (this.isOpen) {
|
162
194
|
this.updatePosition(true);
|
163
195
|
}
|
@@ -186,9 +218,9 @@ class McPopoverTrigger extends McPopUpTrigger {
|
|
186
218
|
return merge(this.overlayRef.backdropClick(), this.hasBackdrop ? NEVER : this.overlayRef.outsidePointerEvents(), this.closeOnScroll ? this.scrollDispatcher.scrolled() : NEVER, this.overlayRef.detachments());
|
187
219
|
}
|
188
220
|
}
|
189
|
-
/** @nocollapse */ McPopoverTrigger.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
190
|
-
/** @nocollapse */ McPopoverTrigger.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.
|
191
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
221
|
+
/** @nocollapse */ McPopoverTrigger.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McPopoverTrigger, deps: [{ token: i3.Overlay }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i3.ScrollDispatcher }, { token: i0.ViewContainerRef }, { token: MC_POPOVER_SCROLL_STRATEGY }, { token: i4.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
222
|
+
/** @nocollapse */ McPopoverTrigger.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: McPopoverTrigger, selector: "[mcPopover]", inputs: { popoverVisible: ["mcPopoverVisible", "popoverVisible"], popoverPlacement: ["mcPopoverPlacement", "popoverPlacement"], popoverPlacementPriority: ["mcPopoverPlacementPriority", "popoverPlacementPriority"], hasBackdrop: "hasBackdrop", header: ["mcPopoverHeader", "header"], content: ["mcPopoverContent", "content"], footer: ["mcPopoverFooter", "footer"], disabled: ["mcPopoverDisabled", "disabled"], trigger: ["mcTrigger", "trigger"], size: ["mcPopoverSize", "size"], customClass: ["mcPopoverClass", "customClass"], closeOnScroll: "closeOnScroll", backdropClass: "backdropClass" }, outputs: { placementChange: "mcPopoverPlacementChange", visibleChange: "mcPopoverVisibleChange" }, host: { listeners: { "keydown": "handleKeydown($event)", "touchend": "handleTouchend()" }, properties: { "class.mc-popover_open": "isOpen" } }, exportAs: ["mcPopover"], usesInheritance: true, ngImport: i0 });
|
223
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McPopoverTrigger, decorators: [{
|
192
224
|
type: Directive,
|
193
225
|
args: [{
|
194
226
|
selector: '[mcPopover]',
|
@@ -199,12 +231,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImpor
|
|
199
231
|
'(touchend)': 'handleTouchend()'
|
200
232
|
}
|
201
233
|
}]
|
202
|
-
}], ctorParameters: function () { return [{ type:
|
234
|
+
}], ctorParameters: function () { return [{ type: i3.Overlay }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i3.ScrollDispatcher }, { type: i0.ViewContainerRef }, { type: undefined, decorators: [{
|
203
235
|
type: Inject,
|
204
236
|
args: [MC_POPOVER_SCROLL_STRATEGY]
|
205
|
-
}] }, { type:
|
237
|
+
}] }, { type: i4.Directionality, decorators: [{
|
206
238
|
type: Optional
|
207
|
-
}] }]; }, propDecorators: {
|
239
|
+
}] }]; }, propDecorators: { popoverVisible: [{
|
240
|
+
type: Input,
|
241
|
+
args: ['mcPopoverVisible']
|
242
|
+
}], popoverPlacement: [{
|
243
|
+
type: Input,
|
244
|
+
args: ['mcPopoverPlacement']
|
245
|
+
}], popoverPlacementPriority: [{
|
246
|
+
type: Input,
|
247
|
+
args: ['mcPopoverPlacementPriority']
|
248
|
+
}], hasBackdrop: [{
|
208
249
|
type: Input
|
209
250
|
}], header: [{
|
210
251
|
type: Input,
|
@@ -231,21 +272,129 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImpor
|
|
231
272
|
type: Input
|
232
273
|
}], backdropClass: [{
|
233
274
|
type: Input
|
275
|
+
}], placementChange: [{
|
276
|
+
type: Output,
|
277
|
+
args: ['mcPopoverPlacementChange']
|
278
|
+
}], visibleChange: [{
|
279
|
+
type: Output,
|
280
|
+
args: ['mcPopoverVisibleChange']
|
281
|
+
}] } });
|
282
|
+
|
283
|
+
const MC_POPOVER_CONFIRM_TEXT = new InjectionToken('');
|
284
|
+
const MC_POPOVER_CONFIRM_BUTTON_TEXT = new InjectionToken('');
|
285
|
+
class McPopoverConfirmComponent extends McPopoverComponent {
|
286
|
+
constructor(changeDetectorRef) {
|
287
|
+
super(changeDetectorRef);
|
288
|
+
this.themePalette = ThemePalette;
|
289
|
+
this.onConfirm = new Subject();
|
290
|
+
}
|
291
|
+
}
|
292
|
+
/** @nocollapse */ McPopoverConfirmComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McPopoverConfirmComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
293
|
+
/** @nocollapse */ McPopoverConfirmComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: McPopoverConfirmComponent, selector: "mc-popover-confirm-component", usesInheritance: true, ngImport: i0, template: "<div class=\"mc-popover-confirm mc-popover\"\n cdkTrapFocus=\"true\"\n cdkTrapFocusAutoCapture=\"true\"\n [ngClass]=\"classMap\"\n [@state]=\"visibility\"\n (@state.start)=\"animationStart()\"\n (@state.done)=\"animationDone($event)\">\n <div class=\"mc-popover__content\">\n <div>{{ confirmText }}</div>\n <button mc-button [color]=\"themePalette.Primary\" (click)=\"onConfirm.next()\">{{confirmButtonText}}</button>\n </div>\n\n <div class=\"mc-popover__arrow\"></div>\n</div>\n", styles: ["@keyframes mc-progress{0%{background-position:0 0}to{background-position:29px 0}}.mc-progress{position:relative}.mc-progress:after{content:\"\";position:absolute;border-radius:inherit;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(0,0,0,.05) 10px,transparent 10px,transparent 20px,rgba(0,0,0,.05) 20px,rgba(0,0,0,.05) 30px,transparent 30px) repeat;background-size:29px 29px;animation:mc-progress 1s linear infinite}.cdk-overlay-container{pointer-events:none;top:0;left:0;height:100%;width:100%;position:fixed;z-index:1000;box-sizing:border-box;margin:0;padding:0}.cdk-overlay-backdrop{top:0;bottom:0;left:0;right:0;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0;position:absolute;pointer-events:auto;z-index:1000;box-sizing:border-box;margin:0;padding:0}.cdk-overlay-pane{box-sizing:border-box;position:absolute;pointer-events:auto;margin:0;padding:0;z-index:1000;max-width:100%;max-height:100%}.cdk-overlay-connected-position-bounding-box{box-sizing:border-box;position:absolute;z-index:1000;display:flex;flex-direction:column;margin:0;padding:0;min-width:1px;min-height:1px}.mc-popover{position:relative;border-radius:3px;border-radius:var(--mc-popover-size-border-radius, 3px);border-width:1px;border-style:solid;box-sizing:border-box;z-index:1030;list-style:none;white-space:pre-line}.mc-popover.mc-popover_small{max-width:200px;max-width:var(--mc-popover-size-small-width, 200px)}.mc-popover.mc-popover_normal{max-width:400px;max-width:var(--mc-popover-size-normal-width, 400px)}.mc-popover.mc-popover_large{max-width:640px;max-width:var(--mc-popover-size-large-width, 640px)}.mc-popover.mc-popover_placement-top,.mc-popover.mc-popover_placement-top-left,.mc-popover.mc-popover_placement-top-right{margin-bottom:calc(9px);margin-bottom:calc(var(--mc-popover-size-trigger-margin, 9px))}.mc-popover.mc-popover_placement-right,.mc-popover.mc-popover_placement-right-top,.mc-popover.mc-popover_placement-right-bottom{margin-left:calc(9px);margin-left:calc(var(--mc-popover-size-trigger-margin, 9px))}.mc-popover.mc-popover_placement-bottom,.mc-popover.mc-popover_placement-bottom-left,.mc-popover.mc-popover_placement-bottom-right{margin-top:calc(9px);margin-top:calc(var(--mc-popover-size-trigger-margin, 9px))}.mc-popover.mc-popover_placement-left,.mc-popover.mc-popover_placement-left-top,.mc-popover.mc-popover_placement-left-bottom{margin-right:calc(9px);margin-right:calc(var(--mc-popover-size-trigger-margin, 9px))}.mc-popover__container{display:flex;flex-direction:column;max-height:480px;max-height:var(--mc-popover-size-max-height, 480px);border-radius:3px;border-radius:var(--mc-popover-size-border-radius, 3px);overflow:hidden}.mc-popover__header{height:10px 16px;height:var(--mc-popover-header-size-height, 10px 16px);padding:10px 16px;padding:var(--mc-popover-header-size-padding, 10px 16px);border-bottom-width:1px;border-bottom-style:solid}.mc-popover__content{overflow:hidden;padding:16px;padding:var(--mc-popover-size-padding, 16px)}.mc-popover__content.mc-popover__content_padding_bottom{padding-bottom:calc(16px + 8px);padding-bottom:calc(var(--mc-popover-size-padding, 16px) + var(--mc-popover-footer-size-margin-top, 8px))}.mc-popover__footer{box-sizing:border-box;height:56px;height:var(--mc-popover-footer-size-height, 56px);padding:12px 16px;padding:var(--mc-popover-footer-size-padding, 12px 16px);border-top-width:1px;border-top-style:solid}.mc-popover__arrow{position:absolute;z-index:-1;width:12px;width:var(--mc-popover-size-arrow-size, 12px);height:12px;height:var(--mc-popover-size-arrow-size, 12px);border:solid 1px;transform:rotate(45deg)}.mc-popover_placement-top .mc-popover__arrow{bottom:calc(11px / -2);bottom:calc(var(--mc-popover-size-arrow-size, 11px) / -2);left:50%;margin-left:calc(11px / -2);margin-left:calc(var(--mc-popover-size-arrow-size, 11px) / -2)}.mc-popover_placement-top-left .mc-popover__arrow{bottom:calc(11px / -2);bottom:calc(var(--mc-popover-size-arrow-size, 11px) / -2);left:calc(18px - 9px);left:calc(18px - var(--mc-popover-size-trigger-margin, 9px))}.mc-popover_placement-top-right .mc-popover__arrow{bottom:calc(11px / -2);bottom:calc(var(--mc-popover-size-arrow-size, 11px) / -2);right:calc(18px - 9px);right:calc(18px - var(--mc-popover-size-trigger-margin, 9px))}.mc-popover_placement-right .mc-popover__arrow{left:calc(11px / -2);left:calc(var(--mc-popover-size-arrow-size, 11px) / -2);top:50%;margin-top:calc(11px / -2);margin-top:calc(var(--mc-popover-size-arrow-size, 11px) / -2)}.mc-popover_placement-right-top .mc-popover__arrow{left:calc(11px / -2);left:calc(var(--mc-popover-size-arrow-size, 11px) / -2);top:calc(18px - 9px);top:calc(18px - var(--mc-popover-size-trigger-margin, 9px))}.mc-popover_placement-right-bottom .mc-popover__arrow{left:calc(11px / -2);left:calc(var(--mc-popover-size-arrow-size, 11px) / -2);bottom:calc(18px - 9px);bottom:calc(18px - var(--mc-popover-size-trigger-margin, 9px))}.mc-popover_placement-left .mc-popover__arrow{right:calc(11px / -2);right:calc(var(--mc-popover-size-arrow-size, 11px) / -2);top:50%;margin-top:calc(11px / -2);margin-top:calc(var(--mc-popover-size-arrow-size, 11px) / -2)}.mc-popover_placement-left-top .mc-popover__arrow{right:calc(11px / -2);right:calc(var(--mc-popover-size-arrow-size, 11px) / -2);top:calc(18px - 9px);top:calc(18px - var(--mc-popover-size-trigger-margin, 9px))}.mc-popover_placement-left-bottom .mc-popover__arrow{right:calc(11px / -2);right:calc(var(--mc-popover-size-arrow-size, 11px) / -2);bottom:calc(18px - 9px);bottom:calc(18px - var(--mc-popover-size-trigger-margin, 9px))}.mc-popover_placement-bottom .mc-popover__arrow{top:calc(11px / -2);top:calc(var(--mc-popover-size-arrow-size, 11px) / -2);left:50%;margin-left:calc(11px / -2);margin-left:calc(var(--mc-popover-size-arrow-size, 11px) / -2)}.mc-popover_placement-bottom-left .mc-popover__arrow{top:calc(11px / -2);top:calc(var(--mc-popover-size-arrow-size, 11px) / -2);left:calc(18px - 9px);left:calc(18px - var(--mc-popover-size-trigger-margin, 9px))}.mc-popover_placement-bottom-right .mc-popover__arrow{top:calc(11px / -2);top:calc(var(--mc-popover-size-arrow-size, 11px) / -2);right:calc(18px - 9px);right:calc(18px - var(--mc-popover-size-trigger-margin, 9px))}.mc-popover-confirm .mc-popover__content{padding:24px 16px 16px}.mc-popover-confirm .mc-popover__content button{margin-top:16px;display:block;margin-left:auto}\n"], components: [{ type: i1$1.McButton, selector: "button[mc-button]", inputs: ["disabled", "color"] }], directives: [{ type: i1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1$1.McButtonCssStyler, selector: "button[mc-button], a[mc-button]" }], animations: [mcPopoverAnimations.popoverState], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
294
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McPopoverConfirmComponent, decorators: [{
|
295
|
+
type: Component,
|
296
|
+
args: [{
|
297
|
+
selector: 'mc-popover-confirm-component',
|
298
|
+
templateUrl: './popover-confirm.component.html',
|
299
|
+
preserveWhitespaces: false,
|
300
|
+
styleUrls: ['./popover.scss'],
|
301
|
+
encapsulation: ViewEncapsulation.None,
|
302
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
303
|
+
animations: [mcPopoverAnimations.popoverState]
|
304
|
+
}]
|
305
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; } });
|
306
|
+
class McPopoverConfirmTrigger extends McPopoverTrigger {
|
307
|
+
constructor(overlay, elementRef, ngZone, scrollDispatcher, hostView, scrollStrategy, direction, confirmText, confirmButtonText) {
|
308
|
+
super(overlay, elementRef, ngZone, scrollDispatcher, hostView, scrollStrategy, direction);
|
309
|
+
this.confirm = new EventEmitter();
|
310
|
+
this._confirmButtonText = 'Да';
|
311
|
+
this.confirmText = confirmText || 'Вы уверены, что хотите продолжить?';
|
312
|
+
this.confirmButtonText = confirmButtonText || 'Да';
|
313
|
+
}
|
314
|
+
get confirmText() {
|
315
|
+
return this._confirmText;
|
316
|
+
}
|
317
|
+
set confirmText(value) {
|
318
|
+
this._confirmText = value;
|
319
|
+
this.updateData();
|
320
|
+
}
|
321
|
+
get confirmButtonText() {
|
322
|
+
return this._confirmButtonText;
|
323
|
+
}
|
324
|
+
set confirmButtonText(value) {
|
325
|
+
this._confirmButtonText = value;
|
326
|
+
this.updateData();
|
327
|
+
}
|
328
|
+
updateData() {
|
329
|
+
if (!this.instance) {
|
330
|
+
return;
|
331
|
+
}
|
332
|
+
super.updateData();
|
333
|
+
this.setupButtonEvents();
|
334
|
+
this.instance.confirmButtonText = this.confirmButtonText;
|
335
|
+
this.instance.confirmText = this.confirmText;
|
336
|
+
}
|
337
|
+
setupButtonEvents() {
|
338
|
+
this.instance.onConfirm.pipe(takeUntil(this.destroyed)).subscribe(() => {
|
339
|
+
this.confirm.emit();
|
340
|
+
this.hide();
|
341
|
+
});
|
342
|
+
}
|
343
|
+
getOverlayHandleComponentType() {
|
344
|
+
return McPopoverConfirmComponent;
|
345
|
+
}
|
346
|
+
}
|
347
|
+
/** @nocollapse */ McPopoverConfirmTrigger.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McPopoverConfirmTrigger, deps: [{ token: i3.Overlay }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i3.ScrollDispatcher }, { token: i0.ViewContainerRef }, { token: MC_POPOVER_SCROLL_STRATEGY }, { token: i4.Directionality, optional: true }, { token: MC_POPOVER_CONFIRM_TEXT, optional: true }, { token: MC_POPOVER_CONFIRM_BUTTON_TEXT, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
348
|
+
/** @nocollapse */ McPopoverConfirmTrigger.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: McPopoverConfirmTrigger, selector: "[mcPopoverConfirm]", inputs: { confirmText: ["mcPopoverConfirmText", "confirmText"], confirmButtonText: ["mcPopoverConfirmButtonText", "confirmButtonText"] }, outputs: { confirm: "confirm" }, host: { listeners: { "keydown": "handleKeydown($event)", "touchend": "handleTouchend()" }, properties: { "class.mc-popover_open": "isOpen" } }, exportAs: ["mcPopoverConfirm"], usesInheritance: true, ngImport: i0 });
|
349
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McPopoverConfirmTrigger, decorators: [{
|
350
|
+
type: Directive,
|
351
|
+
args: [{
|
352
|
+
selector: '[mcPopoverConfirm]',
|
353
|
+
exportAs: 'mcPopoverConfirm',
|
354
|
+
host: {
|
355
|
+
'[class.mc-popover_open]': 'isOpen',
|
356
|
+
'(keydown)': 'handleKeydown($event)',
|
357
|
+
'(touchend)': 'handleTouchend()'
|
358
|
+
}
|
359
|
+
}]
|
360
|
+
}], ctorParameters: function () { return [{ type: i3.Overlay }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i3.ScrollDispatcher }, { type: i0.ViewContainerRef }, { type: undefined, decorators: [{
|
361
|
+
type: Inject,
|
362
|
+
args: [MC_POPOVER_SCROLL_STRATEGY]
|
363
|
+
}] }, { type: i4.Directionality, decorators: [{
|
364
|
+
type: Optional
|
365
|
+
}] }, { type: undefined, decorators: [{
|
366
|
+
type: Optional
|
367
|
+
}, {
|
368
|
+
type: Inject,
|
369
|
+
args: [MC_POPOVER_CONFIRM_TEXT]
|
370
|
+
}] }, { type: undefined, decorators: [{
|
371
|
+
type: Optional
|
372
|
+
}, {
|
373
|
+
type: Inject,
|
374
|
+
args: [MC_POPOVER_CONFIRM_BUTTON_TEXT]
|
375
|
+
}] }]; }, propDecorators: { confirm: [{
|
376
|
+
type: Output
|
377
|
+
}], confirmText: [{
|
378
|
+
type: Input,
|
379
|
+
args: ['mcPopoverConfirmText']
|
380
|
+
}], confirmButtonText: [{
|
381
|
+
type: Input,
|
382
|
+
args: ['mcPopoverConfirmButtonText']
|
234
383
|
}] } });
|
235
384
|
|
236
385
|
class McPopoverModule {
|
237
386
|
}
|
238
|
-
/** @nocollapse */ McPopoverModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
239
|
-
/** @nocollapse */ McPopoverModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.
|
240
|
-
/** @nocollapse */ McPopoverModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.
|
241
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
387
|
+
/** @nocollapse */ McPopoverModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McPopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
388
|
+
/** @nocollapse */ McPopoverModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McPopoverModule, declarations: [McPopoverComponent, McPopoverTrigger, McPopoverConfirmComponent, McPopoverConfirmTrigger], imports: [CommonModule, OverlayModule, McButtonModule, A11yModule], exports: [McPopoverComponent, McPopoverTrigger, McPopoverConfirmComponent, McPopoverConfirmTrigger] });
|
389
|
+
/** @nocollapse */ McPopoverModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McPopoverModule, providers: [MC_POPOVER_SCROLL_STRATEGY_FACTORY_PROVIDER], imports: [[CommonModule, OverlayModule, McButtonModule, A11yModule]] });
|
390
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: McPopoverModule, decorators: [{
|
242
391
|
type: NgModule,
|
243
392
|
args: [{
|
244
|
-
declarations: [McPopoverComponent, McPopoverTrigger],
|
245
|
-
exports: [McPopoverComponent, McPopoverTrigger],
|
246
|
-
imports: [CommonModule, OverlayModule],
|
393
|
+
declarations: [McPopoverComponent, McPopoverTrigger, McPopoverConfirmComponent, McPopoverConfirmTrigger],
|
394
|
+
exports: [McPopoverComponent, McPopoverTrigger, McPopoverConfirmComponent, McPopoverConfirmTrigger],
|
395
|
+
imports: [CommonModule, OverlayModule, McButtonModule, A11yModule],
|
247
396
|
providers: [MC_POPOVER_SCROLL_STRATEGY_FACTORY_PROVIDER],
|
248
|
-
entryComponents: [McPopoverComponent]
|
397
|
+
entryComponents: [McPopoverComponent, McPopoverConfirmComponent]
|
249
398
|
}]
|
250
399
|
}] });
|
251
400
|
|
@@ -253,5 +402,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImpor
|
|
253
402
|
* Generated bundle index. Do not edit.
|
254
403
|
*/
|
255
404
|
|
256
|
-
export { MC_POPOVER_SCROLL_STRATEGY, MC_POPOVER_SCROLL_STRATEGY_FACTORY_PROVIDER, McPopoverComponent, McPopoverModule, McPopoverTrigger, getMcPopoverInvalidPositionError, mcPopoverAnimations, mcPopoverScrollStrategyFactory };
|
405
|
+
export { MC_POPOVER_CONFIRM_BUTTON_TEXT, MC_POPOVER_CONFIRM_TEXT, MC_POPOVER_SCROLL_STRATEGY, MC_POPOVER_SCROLL_STRATEGY_FACTORY_PROVIDER, McPopoverComponent, McPopoverConfirmComponent, McPopoverConfirmTrigger, McPopoverModule, McPopoverTrigger, getMcPopoverInvalidPositionError, mcPopoverAnimations, mcPopoverScrollStrategyFactory };
|
257
406
|
//# sourceMappingURL=ptsecurity-mosaic-popover.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ptsecurity-mosaic-popover.js","sources":["../../../packages/mosaic/popover/popover-animations.ts","../../../packages/mosaic/popover/popover.component.ts","../../../packages/mosaic/popover/popover.component.html","../../../packages/mosaic/popover/popover.module.ts","../../../packages/mosaic/popover/ptsecurity-mosaic-popover.ts"],"sourcesContent":["import {\n animate,\n AnimationTriggerMetadata,\n state,\n style,\n transition,\n trigger\n} from '@angular/animations';\n\n\nexport const mcPopoverAnimations: {\n readonly popoverState: AnimationTriggerMetadata;\n} = {\n /** Animation that transitions a tooltip in and out. */\n popoverState: trigger('state', [\n state('initial', style({\n opacity: 0,\n transform: 'scale(1, 0.8)'\n })),\n transition('* => visible', animate('120ms cubic-bezier(0, 0, 0.2, 1)', style({\n opacity: 1,\n transform: 'scale(1, 1)'\n }))),\n transition('* => hidden', animate('100ms linear', style({ opacity: 0 })))\n ])\n};\n","import { Directionality } from '@angular/cdk/bidi';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n FlexibleConnectedPositionStrategy,\n Overlay,\n ScrollDispatcher,\n ScrollStrategy\n} from '@angular/cdk/overlay';\nimport { OverlayConfig } from '@angular/cdk/overlay/overlay-config';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Directive,\n ElementRef,\n Inject,\n InjectionToken,\n Input,\n NgZone,\n Optional,\n TemplateRef,\n Type,\n ViewContainerRef,\n ViewEncapsulation\n} from '@angular/core';\nimport {\n McPopUp,\n McPopUpTrigger,\n PopUpSizes,\n PopUpTriggers,\n POSITION_TO_CSS_MAP\n} from '@ptsecurity/mosaic/core';\nimport { merge, NEVER } from 'rxjs';\n\nimport { mcPopoverAnimations } from './popover-animations';\n\n\n@Component({\n selector: 'mc-popover-component',\n templateUrl: './popover.component.html',\n preserveWhitespaces: false,\n styleUrls: ['./popover.scss'],\n host: {\n '(keydown.esc)': 'hide(0)'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [mcPopoverAnimations.popoverState]\n})\nexport class McPopoverComponent extends McPopUp {\n prefix = 'mc-popover';\n\n header: string | TemplateRef<any>;\n footer: string | TemplateRef<any>;\n\n constructor(changeDetectorRef: ChangeDetectorRef) {\n super(changeDetectorRef);\n }\n\n updateClassMap(placement: string, customClass: string, size: PopUpSizes) {\n super.updateClassMap(\n placement,\n customClass,\n { [`${this.prefix}_${size}`]: !!size }\n );\n }\n}\n\nexport const MC_POPOVER_SCROLL_STRATEGY =\n new InjectionToken<() => ScrollStrategy>('mc-popover-scroll-strategy');\n\n/** @docs-private */\nexport function mcPopoverScrollStrategyFactory(overlay: Overlay): () => ScrollStrategy {\n return () => overlay.scrollStrategies.reposition({ scrollThrottle: 20 });\n}\n\n/** @docs-private */\nexport const MC_POPOVER_SCROLL_STRATEGY_FACTORY_PROVIDER = {\n provide: MC_POPOVER_SCROLL_STRATEGY,\n deps: [Overlay],\n useFactory: mcPopoverScrollStrategyFactory\n};\n\n/** Creates an error to be thrown if the user supplied an invalid popover position. */\nexport function getMcPopoverInvalidPositionError(position: string) {\n return Error(`McPopover position \"${position}\" is invalid.`);\n}\n\n\n@Directive({\n selector: '[mcPopover]',\n exportAs: 'mcPopover',\n host: {\n '[class.mc-popover_open]': 'isOpen',\n '(keydown)': 'handleKeydown($event)',\n '(touchend)': 'handleTouchend()'\n }\n})\nexport class McPopoverTrigger extends McPopUpTrigger<McPopoverComponent> {\n @Input()\n get hasBackdrop(): boolean {\n return this._hasBackdrop;\n }\n\n set hasBackdrop(value: boolean) {\n this._hasBackdrop = coerceBooleanProperty(value);\n }\n\n private _hasBackdrop: boolean = false;\n\n @Input('mcPopoverHeader')\n get header(): string | TemplateRef<any> {\n return this._header;\n }\n\n set header(value: string | TemplateRef<any>) {\n this._header = value;\n\n this.updateData();\n }\n\n private _header: string | TemplateRef<any>;\n\n @Input('mcPopoverContent')\n get content(): string | TemplateRef<any> {\n return this._content;\n }\n\n set content(value: string | TemplateRef<any>) {\n this._content = value;\n\n this.updateData();\n }\n\n @Input('mcPopoverFooter')\n get footer(): string | TemplateRef<any> {\n return this._footer;\n }\n\n set footer(value: string | TemplateRef<any>) {\n this._footer = value;\n\n this.updateData();\n }\n\n private _footer: string | TemplateRef<any>;\n\n @Input('mcPopoverDisabled')\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value) {\n this._disabled = coerceBooleanProperty(value);\n }\n\n @Input('mcTrigger')\n get trigger(): string {\n return this._trigger;\n }\n\n set trigger(value: string) {\n if (value) {\n this._trigger = value;\n } else {\n this._trigger = PopUpTriggers.Click;\n }\n\n this.initListeners();\n }\n\n private _trigger: string = PopUpTriggers.Click;\n\n @Input('mcPopoverSize')\n get size(): PopUpSizes {\n return this._size;\n }\n\n set size(value: PopUpSizes) {\n if ([PopUpSizes.Small, PopUpSizes.Normal, PopUpSizes.Large].includes(value)) {\n this._size = value;\n\n this.updateClassMap();\n } else {\n this._size = PopUpSizes.Normal;\n }\n }\n\n private _size: PopUpSizes = PopUpSizes.Normal;\n\n @Input('mcPopoverClass')\n get customClass() {\n return this._customClass;\n }\n\n set customClass(value: string) {\n this._customClass = value;\n\n this.updateClassMap();\n }\n\n @Input()\n get closeOnScroll(): boolean {\n return this._closeOnScroll;\n }\n\n set closeOnScroll(value: boolean) {\n this._closeOnScroll = coerceBooleanProperty(value);\n }\n\n private _closeOnScroll: boolean = false;\n\n @Input() backdropClass: string = 'cdk-overlay-transparent-backdrop';\n\n protected originSelector = '.mc-popover';\n\n protected overlayConfig: OverlayConfig = {\n panelClass: 'mc-popover__panel',\n hasBackdrop: this.hasBackdrop,\n backdropClass: this.backdropClass\n };\n\n constructor(\n overlay: Overlay,\n elementRef: ElementRef,\n ngZone: NgZone,\n scrollDispatcher: ScrollDispatcher,\n hostView: ViewContainerRef,\n @Inject(MC_POPOVER_SCROLL_STRATEGY) scrollStrategy,\n @Optional() direction: Directionality\n ) {\n super(overlay, elementRef, ngZone, scrollDispatcher, hostView, scrollStrategy, direction);\n }\n\n updateData() {\n if (!this.instance) { return; }\n\n this.instance.header = this.header;\n this.instance.content = this.content;\n this.instance.footer = this.footer;\n\n if (this.isOpen) {\n this.updatePosition(true);\n }\n }\n\n /** Updates the position of the current popover. */\n updatePosition(reapplyPosition: boolean = false) {\n this.overlayRef = this.createOverlay();\n\n const position = (this.overlayRef.getConfig().positionStrategy as FlexibleConnectedPositionStrategy)\n .withPositions(this.getPrioritizedPositions())\n .withPush(true);\n\n if (reapplyPosition) {\n setTimeout(() => position.reapplyLastPosition());\n }\n }\n\n getOverlayHandleComponentType(): Type<McPopoverComponent> {\n return McPopoverComponent;\n }\n\n updateClassMap(newPlacement: string = this.placement) {\n if (!this.instance) { return; }\n\n this.instance.updateClassMap(POSITION_TO_CSS_MAP[newPlacement], this.customClass, this.size);\n this.instance.markForCheck();\n }\n\n closingActions() {\n return merge(\n this.overlayRef!.backdropClick(),\n this.hasBackdrop ? NEVER : this.overlayRef!.outsidePointerEvents(),\n this.closeOnScroll ? this.scrollDispatcher.scrolled() : NEVER,\n this.overlayRef!.detachments()\n );\n }\n}\n","<div class=\"mc-popover\"\n [ngClass]=\"classMap\"\n [@state]=\"visibility\"\n (@state.start)=\"animationStart()\"\n (@state.done)=\"animationDone($event)\">\n\n <div class=\"mc-popover__container\">\n <div class=\"mc-popover__header\" *ngIf=\"header\">\n <ng-container *ngIf=\"isTemplateRef(header)\" [ngTemplateOutlet]=\"header\"></ng-container>\n <ng-container *ngIf=\"!isTemplateRef(header)\">\n <div>{{ header }}</div>\n </ng-container>\n </div>\n\n <div class=\"mc-popover__content\" *ngIf=\"content\">\n <ng-container *ngIf=\"isTemplateRef(content)\" [ngTemplateOutlet]=\"content\"></ng-container>\n <ng-container *ngIf=\"!isTemplateRef(content)\">\n <div>{{ content }}</div>\n </ng-container>\n </div>\n\n <div class=\"mc-popover__footer\" *ngIf=\"footer\">\n <ng-container *ngIf=\"isTemplateRef(footer)\" [ngTemplateOutlet]=\"footer\"></ng-container>\n <ng-container *ngIf=\"!isTemplateRef(footer)\">\n <div>{{ footer }}</div>\n </ng-container>\n </div>\n </div>\n\n <div class=\"mc-popover__arrow\" [class.mc-popover__arrow_with-footer]=\"footer\"></div>\n</div>\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport {\n McPopoverComponent,\n McPopoverTrigger,\n MC_POPOVER_SCROLL_STRATEGY_FACTORY_PROVIDER\n} from './popover.component';\n\n\n@NgModule({\n declarations: [McPopoverComponent, McPopoverTrigger],\n exports: [McPopoverComponent, McPopoverTrigger],\n imports: [CommonModule, OverlayModule],\n providers: [MC_POPOVER_SCROLL_STRATEGY_FACTORY_PROVIDER],\n entryComponents: [McPopoverComponent]\n})\nexport class McPopoverModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"ptsecurity-mosaic-popover.js","sources":["../../../packages/mosaic/popover/popover-animations.ts","../../../packages/mosaic/popover/popover.component.ts","../../../packages/mosaic/popover/popover.component.html","../../../packages/mosaic/popover/popover-confirm.component.ts","../../../packages/mosaic/popover/popover-confirm.component.html","../../../packages/mosaic/popover/popover.module.ts","../../../packages/mosaic/popover/ptsecurity-mosaic-popover.ts"],"sourcesContent":["import {\n animate,\n AnimationTriggerMetadata,\n state,\n style,\n transition,\n trigger\n} from '@angular/animations';\n\n\nexport const mcPopoverAnimations: {\n readonly popoverState: AnimationTriggerMetadata;\n} = {\n /** Animation that transitions a tooltip in and out. */\n popoverState: trigger('state', [\n state('initial', style({\n opacity: 0,\n transform: 'scale(1, 0.8)'\n })),\n transition('* => visible', animate('120ms cubic-bezier(0, 0, 0.2, 1)', style({\n opacity: 1,\n transform: 'scale(1, 1)'\n }))),\n transition('* => hidden', animate('100ms linear', style({ opacity: 0 })))\n ])\n};\n","import { Directionality } from '@angular/cdk/bidi';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n FlexibleConnectedPositionStrategy,\n Overlay,\n ScrollDispatcher,\n ScrollStrategy\n} from '@angular/cdk/overlay';\nimport { OverlayConfig } from '@angular/cdk/overlay/overlay-config';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Directive,\n ElementRef,\n EventEmitter,\n Inject,\n InjectionToken,\n Input,\n NgZone,\n Optional,\n Output,\n TemplateRef,\n Type,\n ViewContainerRef,\n ViewEncapsulation\n} from '@angular/core';\nimport {\n McPopUp,\n McPopUpTrigger,\n PopUpPlacements,\n PopUpSizes,\n PopUpTriggers,\n POSITION_TO_CSS_MAP\n} from '@ptsecurity/mosaic/core';\nimport { merge, NEVER } from 'rxjs';\n\nimport { mcPopoverAnimations } from './popover-animations';\n\n\n@Component({\n selector: 'mc-popover-component',\n templateUrl: './popover.component.html',\n preserveWhitespaces: false,\n styleUrls: ['./popover.scss'],\n host: {\n '(keydown.esc)': 'hide(0)'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [mcPopoverAnimations.popoverState]\n})\nexport class McPopoverComponent extends McPopUp {\n prefix = 'mc-popover';\n\n header: string | TemplateRef<any>;\n footer: string | TemplateRef<any>;\n\n isTrapFocus: boolean = false;\n\n constructor(changeDetectorRef: ChangeDetectorRef) {\n super(changeDetectorRef);\n }\n\n updateClassMap(placement: string, customClass: string, size: PopUpSizes) {\n super.updateClassMap(\n placement,\n customClass,\n { [`${this.prefix}_${size}`]: !!size }\n );\n }\n\n updateTrapFocus(isTrapFocus: boolean): void {\n this.isTrapFocus = isTrapFocus;\n }\n}\n\nexport const MC_POPOVER_SCROLL_STRATEGY =\n new InjectionToken<() => ScrollStrategy>('mc-popover-scroll-strategy');\n\n/** @docs-private */\nexport function mcPopoverScrollStrategyFactory(overlay: Overlay): () => ScrollStrategy {\n return () => overlay.scrollStrategies.reposition({ scrollThrottle: 20 });\n}\n\n/** @docs-private */\nexport const MC_POPOVER_SCROLL_STRATEGY_FACTORY_PROVIDER = {\n provide: MC_POPOVER_SCROLL_STRATEGY,\n deps: [Overlay],\n useFactory: mcPopoverScrollStrategyFactory\n};\n\n/** Creates an error to be thrown if the user supplied an invalid popover position. */\nexport function getMcPopoverInvalidPositionError(position: string) {\n return Error(`McPopover position \"${position}\" is invalid.`);\n}\n\n\n@Directive({\n selector: '[mcPopover]',\n exportAs: 'mcPopover',\n host: {\n '[class.mc-popover_open]': 'isOpen',\n '(keydown)': 'handleKeydown($event)',\n '(touchend)': 'handleTouchend()'\n }\n})\nexport class McPopoverTrigger extends McPopUpTrigger<McPopoverComponent> {\n @Input('mcPopoverVisible')\n get popoverVisible(): boolean {\n return this.visible;\n }\n\n set popoverVisible(value: boolean) {\n super.updateVisible(value);\n }\n\n @Input('mcPopoverPlacement')\n get popoverPlacement(): PopUpPlacements {\n return this.placement;\n }\n\n set popoverPlacement(value: PopUpPlacements) {\n super.updatePlacement(value);\n }\n\n @Input('mcPopoverPlacementPriority')\n get popoverPlacementPriority() {\n return this.placementPriority;\n }\n\n set popoverPlacementPriority(value) {\n super.updatePlacementPriority(value);\n }\n\n @Input()\n get hasBackdrop(): boolean {\n return this._hasBackdrop;\n }\n\n set hasBackdrop(value: boolean) {\n this._hasBackdrop = coerceBooleanProperty(value);\n }\n\n private _hasBackdrop: boolean = false;\n\n @Input('mcPopoverHeader')\n get header(): string | TemplateRef<any> {\n return this._header;\n }\n\n set header(value: string | TemplateRef<any>) {\n this._header = value;\n\n this.updateData();\n }\n\n private _header: string | TemplateRef<any>;\n\n @Input('mcPopoverContent')\n get content(): string | TemplateRef<any> {\n return this._content;\n }\n\n set content(value: string | TemplateRef<any>) {\n this._content = value;\n\n this.updateData();\n }\n\n @Input('mcPopoverFooter')\n get footer(): string | TemplateRef<any> {\n return this._footer;\n }\n\n set footer(value: string | TemplateRef<any>) {\n this._footer = value;\n\n this.updateData();\n }\n\n private _footer: string | TemplateRef<any>;\n\n @Input('mcPopoverDisabled')\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value) {\n this._disabled = coerceBooleanProperty(value);\n }\n\n @Input('mcTrigger')\n get trigger(): string {\n return this._trigger;\n }\n\n set trigger(value: string) {\n if (value) {\n this._trigger = value;\n } else {\n this._trigger = PopUpTriggers.Click;\n }\n\n this.initListeners();\n }\n\n private _trigger: string = PopUpTriggers.Click;\n\n @Input('mcPopoverSize')\n get size(): PopUpSizes {\n return this._size;\n }\n\n set size(value: PopUpSizes) {\n if ([PopUpSizes.Small, PopUpSizes.Normal, PopUpSizes.Large].includes(value)) {\n this._size = value;\n\n this.updateClassMap();\n } else {\n this._size = PopUpSizes.Normal;\n }\n }\n\n private _size: PopUpSizes = PopUpSizes.Normal;\n\n @Input('mcPopoverClass')\n get customClass() {\n return this._customClass;\n }\n\n set customClass(value: string) {\n this._customClass = value;\n\n this.updateClassMap();\n }\n\n @Input()\n get closeOnScroll(): boolean {\n return this._closeOnScroll;\n }\n\n set closeOnScroll(value: boolean) {\n this._closeOnScroll = coerceBooleanProperty(value);\n }\n\n private _closeOnScroll: boolean = false;\n\n @Input() backdropClass: string = 'cdk-overlay-transparent-backdrop';\n\n @Output('mcPopoverPlacementChange') placementChange = new EventEmitter();\n\n @Output('mcPopoverVisibleChange') visibleChange = new EventEmitter<boolean>();\n\n protected originSelector = '.mc-popover';\n\n protected get overlayConfig(): OverlayConfig {\n return {\n panelClass: 'mc-popover__panel',\n hasBackdrop: this.hasBackdrop,\n backdropClass: this.backdropClass\n };\n }\n\n constructor(\n overlay: Overlay,\n elementRef: ElementRef,\n ngZone: NgZone,\n scrollDispatcher: ScrollDispatcher,\n hostView: ViewContainerRef,\n @Inject(MC_POPOVER_SCROLL_STRATEGY) scrollStrategy,\n @Optional() direction: Directionality\n ) {\n super(overlay, elementRef, ngZone, scrollDispatcher, hostView, scrollStrategy, direction);\n }\n\n updateData() {\n if (!this.instance) { return; }\n\n this.instance.header = this.header;\n this.instance.content = this.content;\n this.instance.footer = this.footer;\n\n this.instance.updateTrapFocus(this.trigger !== PopUpTriggers.Focus);\n\n if (this.isOpen) {\n this.updatePosition(true);\n }\n }\n\n /** Updates the position of the current popover. */\n updatePosition(reapplyPosition: boolean = false) {\n this.overlayRef = this.createOverlay();\n\n const position = (this.overlayRef.getConfig().positionStrategy as FlexibleConnectedPositionStrategy)\n .withPositions(this.getPrioritizedPositions())\n .withPush(true);\n\n if (reapplyPosition) {\n setTimeout(() => position.reapplyLastPosition());\n }\n }\n\n getOverlayHandleComponentType(): Type<McPopoverComponent> {\n return McPopoverComponent;\n }\n\n updateClassMap(newPlacement: string = this.placement) {\n if (!this.instance) { return; }\n\n this.instance.updateClassMap(POSITION_TO_CSS_MAP[newPlacement], this.customClass, this.size);\n this.instance.markForCheck();\n }\n\n closingActions() {\n return merge(\n this.overlayRef!.backdropClick(),\n this.hasBackdrop ? NEVER : this.overlayRef!.outsidePointerEvents(),\n this.closeOnScroll ? this.scrollDispatcher.scrolled() : NEVER,\n this.overlayRef!.detachments()\n );\n }\n}\n","<div class=\"mc-popover\"\n [cdkTrapFocus]=\"isTrapFocus\"\n [cdkTrapFocusAutoCapture]=\"isTrapFocus\"\n [ngClass]=\"classMap\"\n [@state]=\"visibility\"\n (@state.start)=\"animationStart()\"\n (@state.done)=\"animationDone($event)\">\n\n <div class=\"mc-popover__container\">\n <div class=\"mc-popover__header\" *ngIf=\"header\">\n <ng-container *ngIf=\"isTemplateRef(header)\" [ngTemplateOutlet]=\"$any(header)\"></ng-container>\n <ng-container *ngIf=\"!isTemplateRef(header)\">\n <div>{{ header }}</div>\n </ng-container>\n </div>\n\n <div class=\"mc-popover__content\"\n [ngClass]=\"{ 'mc-popover__content_padding_bottom': footer }\"\n *ngIf=\"content\">\n <ng-container *ngIf=\"isTemplateRef(content)\" [ngTemplateOutlet]=\"$any(content)\"></ng-container>\n <ng-container *ngIf=\"!isTemplateRef(content)\">\n <div>{{ content }}</div>\n </ng-container>\n </div>\n\n <div class=\"mc-popover__footer\" *ngIf=\"footer\">\n <ng-container *ngIf=\"isTemplateRef(footer)\" [ngTemplateOutlet]=\"$any(footer)\"></ng-container>\n <ng-container *ngIf=\"!isTemplateRef(footer)\">\n <div>{{ footer }}</div>\n </ng-container>\n </div>\n </div>\n\n <div class=\"mc-popover__arrow\" [class.mc-popover__arrow_with-footer]=\"footer\"></div>\n</div>\n","import { Directionality } from '@angular/cdk/bidi';\nimport { Overlay, ScrollDispatcher } from '@angular/cdk/overlay';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Directive,\n ElementRef,\n EventEmitter,\n Inject,\n InjectionToken,\n Input,\n NgZone,\n Optional,\n Output,\n ViewContainerRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { ThemePalette } from '@ptsecurity/mosaic/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { mcPopoverAnimations } from './popover-animations';\nimport { MC_POPOVER_SCROLL_STRATEGY, McPopoverComponent, McPopoverTrigger } from './popover.component';\n\n\nexport const MC_POPOVER_CONFIRM_TEXT = new InjectionToken<string>('');\nexport const MC_POPOVER_CONFIRM_BUTTON_TEXT = new InjectionToken<string>('');\n\n@Component({\n selector: 'mc-popover-confirm-component',\n templateUrl: './popover-confirm.component.html',\n preserveWhitespaces: false,\n styleUrls: ['./popover.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [mcPopoverAnimations.popoverState]\n})\nexport class McPopoverConfirmComponent extends McPopoverComponent {\n themePalette = ThemePalette;\n\n onConfirm = new Subject<void>();\n confirmButtonText: string;\n\n confirmText: string;\n\n constructor(changeDetectorRef: ChangeDetectorRef) {\n super(changeDetectorRef);\n }\n}\n\n\n@Directive({\n selector: '[mcPopoverConfirm]',\n exportAs: 'mcPopoverConfirm',\n host: {\n '[class.mc-popover_open]': 'isOpen',\n '(keydown)': 'handleKeydown($event)',\n '(touchend)': 'handleTouchend()'\n }\n})\nexport class McPopoverConfirmTrigger extends McPopoverTrigger {\n @Output() confirm: EventEmitter<void> = new EventEmitter<void>();\n\n @Input('mcPopoverConfirmText')\n get confirmText(): string {\n return this._confirmText;\n }\n\n set confirmText(value: string) {\n this._confirmText = value;\n\n this.updateData();\n }\n\n private _confirmText: string;\n\n @Input('mcPopoverConfirmButtonText')\n get confirmButtonText(): string {\n return this._confirmButtonText;\n }\n\n set confirmButtonText(value: string) {\n this._confirmButtonText = value;\n\n this.updateData();\n }\n\n private _confirmButtonText: string = 'Да';\n\n constructor(\n overlay: Overlay,\n elementRef: ElementRef,\n ngZone: NgZone,\n scrollDispatcher: ScrollDispatcher,\n hostView: ViewContainerRef,\n @Inject(MC_POPOVER_SCROLL_STRATEGY) scrollStrategy,\n @Optional() direction: Directionality,\n @Optional() @Inject(MC_POPOVER_CONFIRM_TEXT) confirmText: string,\n @Optional() @Inject(MC_POPOVER_CONFIRM_BUTTON_TEXT) confirmButtonText: string\n ) {\n super(overlay, elementRef, ngZone, scrollDispatcher, hostView, scrollStrategy, direction);\n\n this.confirmText = confirmText || 'Вы уверены, что хотите продолжить?';\n this.confirmButtonText = confirmButtonText || 'Да';\n }\n\n updateData() {\n if (!this.instance) { return; }\n super.updateData();\n this.setupButtonEvents();\n this.instance.confirmButtonText = this.confirmButtonText;\n this.instance.confirmText = this.confirmText;\n }\n\n setupButtonEvents() {\n this.instance.onConfirm.pipe(takeUntil(this.destroyed)).subscribe(() => {\n this.confirm.emit();\n this.hide();\n });\n }\n\n getOverlayHandleComponentType() {\n return McPopoverConfirmComponent;\n }\n}\n","<div class=\"mc-popover-confirm mc-popover\"\n cdkTrapFocus=\"true\"\n cdkTrapFocusAutoCapture=\"true\"\n [ngClass]=\"classMap\"\n [@state]=\"visibility\"\n (@state.start)=\"animationStart()\"\n (@state.done)=\"animationDone($event)\">\n <div class=\"mc-popover__content\">\n <div>{{ confirmText }}</div>\n <button mc-button [color]=\"themePalette.Primary\" (click)=\"onConfirm.next()\">{{confirmButtonText}}</button>\n </div>\n\n <div class=\"mc-popover__arrow\"></div>\n</div>\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { McButtonModule } from '@ptsecurity/mosaic/button';\n\nimport { McPopoverConfirmComponent, McPopoverConfirmTrigger } from './popover-confirm.component';\nimport { MC_POPOVER_SCROLL_STRATEGY_FACTORY_PROVIDER, McPopoverComponent, McPopoverTrigger } from './popover.component';\n\n\n@NgModule({\n declarations: [McPopoverComponent, McPopoverTrigger, McPopoverConfirmComponent, McPopoverConfirmTrigger],\n exports: [McPopoverComponent, McPopoverTrigger, McPopoverConfirmComponent, McPopoverConfirmTrigger],\n imports: [CommonModule, OverlayModule, McButtonModule, A11yModule],\n providers: [MC_POPOVER_SCROLL_STRATEGY_FACTORY_PROVIDER],\n entryComponents: [McPopoverComponent, McPopoverConfirmComponent]\n})\nexport class McPopoverModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|