ngx-tethys 19.0.4 → 19.0.6
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/CHANGELOG.md +21 -0
- package/anchor/anchor-link.component.d.ts +2 -1
- package/anchor/anchor.component.d.ts +2 -1
- package/anchor/anchor.token.d.ts +9 -0
- package/calendar/calendar-header.component.d.ts +3 -2
- package/carousel/carousel.component.d.ts +2 -1
- package/carousel/carousel.token.d.ts +7 -0
- package/carousel/engine/carousel-base.d.ts +3 -3
- package/carousel/engine/carousel-fade.d.ts +2 -2
- package/carousel/engine/carousel-noop.d.ts +2 -2
- package/carousel/engine/carousel-slide.d.ts +2 -2
- package/collapse/collapse-item.component.d.ts +2 -1
- package/collapse/collapse.component.d.ts +5 -5
- package/collapse/collapse.token.d.ts +15 -0
- package/color-picker/color-picker.component.d.ts +15 -3
- package/core/theme/enum.d.ts +5 -0
- package/core/theme/index.d.ts +1 -0
- package/core/theme/store.d.ts +1 -1
- package/core/theme/theme.d.ts +0 -5
- package/date-picker/abstract-picker.component.d.ts +6 -1
- package/date-picker/base-picker.component.d.ts +1 -1
- package/date-picker/lib/calendar/calendar-footer.component.d.ts +2 -1
- package/date-picker/lib/calendar/calendar-table.component.d.ts +4 -3
- package/date-picker/lib/popups/date-popup.component.d.ts +2 -1
- package/date-picker/lib/popups/inner-popup.component.d.ts +2 -1
- package/date-picker/picker.component.d.ts +2 -1
- package/date-picker/picker.util.d.ts +5 -5
- package/date-picker/standard-types.d.ts +7 -2
- package/drag-drop/drag-drop.service.d.ts +2 -2
- package/drag-drop/{drop-container.class.d.ts → drag-drop.token.d.ts} +12 -7
- package/drag-drop/drag-handle.directive.d.ts +2 -1
- package/drag-drop/drag-ref.d.ts +3 -5
- package/drag-drop/drag.directive.d.ts +3 -3
- package/drag-drop/drop-container.directive.d.ts +1 -1
- package/drag-drop/index.d.ts +1 -1
- package/fesm2022/ngx-tethys-action.mjs +11 -12
- package/fesm2022/ngx-tethys-action.mjs.map +1 -1
- package/fesm2022/ngx-tethys-affix.mjs +8 -9
- package/fesm2022/ngx-tethys-affix.mjs.map +1 -1
- package/fesm2022/ngx-tethys-alert.mjs +11 -12
- package/fesm2022/ngx-tethys-alert.mjs.map +1 -1
- package/fesm2022/ngx-tethys-anchor.mjs +26 -13
- package/fesm2022/ngx-tethys-anchor.mjs.map +1 -1
- package/fesm2022/ngx-tethys-arrow-switcher.mjs +7 -7
- package/fesm2022/ngx-tethys-autocomplete.mjs +17 -18
- package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
- package/fesm2022/ngx-tethys-avatar.mjs +25 -28
- package/fesm2022/ngx-tethys-avatar.mjs.map +1 -1
- package/fesm2022/ngx-tethys-back-top.mjs +7 -7
- package/fesm2022/ngx-tethys-badge.mjs +7 -7
- package/fesm2022/ngx-tethys-breadcrumb.mjs +10 -10
- package/fesm2022/ngx-tethys-button.mjs +14 -15
- package/fesm2022/ngx-tethys-button.mjs.map +1 -1
- package/fesm2022/ngx-tethys-calendar.mjs +18 -20
- package/fesm2022/ngx-tethys-calendar.mjs.map +1 -1
- package/fesm2022/ngx-tethys-card.mjs +15 -17
- package/fesm2022/ngx-tethys-card.mjs.map +1 -1
- package/fesm2022/ngx-tethys-carousel.mjs +28 -17
- package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
- package/fesm2022/ngx-tethys-cascader.mjs +16 -16
- package/fesm2022/ngx-tethys-checkbox.mjs +7 -7
- package/fesm2022/ngx-tethys-collapse.mjs +97 -85
- package/fesm2022/ngx-tethys-collapse.mjs.map +1 -1
- package/fesm2022/ngx-tethys-color-picker.mjs +34 -36
- package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-comment.mjs +15 -17
- package/fesm2022/ngx-tethys-comment.mjs.map +1 -1
- package/fesm2022/ngx-tethys-copy.mjs +8 -9
- package/fesm2022/ngx-tethys-copy.mjs.map +1 -1
- package/fesm2022/ngx-tethys-core.mjs +21 -22
- package/fesm2022/ngx-tethys-core.mjs.map +1 -1
- package/fesm2022/ngx-tethys-date-picker.mjs +232 -248
- package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-date-range.mjs +10 -10
- package/fesm2022/ngx-tethys-dialog.mjs +22 -23
- package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
- package/fesm2022/ngx-tethys-divider.mjs +7 -7
- package/fesm2022/ngx-tethys-dot.mjs +8 -9
- package/fesm2022/ngx-tethys-dot.mjs.map +1 -1
- package/fesm2022/ngx-tethys-drag-drop.mjs +23 -30
- package/fesm2022/ngx-tethys-drag-drop.mjs.map +1 -1
- package/fesm2022/ngx-tethys-dropdown.mjs +58 -70
- package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
- package/fesm2022/ngx-tethys-empty.mjs +10 -10
- package/fesm2022/ngx-tethys-flexible-text.mjs +8 -8
- package/fesm2022/ngx-tethys-flexible-text.mjs.map +1 -1
- package/fesm2022/ngx-tethys-form.mjs +47 -54
- package/fesm2022/ngx-tethys-form.mjs.map +1 -1
- package/fesm2022/ngx-tethys-fullscreen.mjs +15 -16
- package/fesm2022/ngx-tethys-fullscreen.mjs.map +1 -1
- package/fesm2022/ngx-tethys-grid.mjs +46 -51
- package/fesm2022/ngx-tethys-grid.mjs.map +1 -1
- package/fesm2022/ngx-tethys-guider.mjs +55 -61
- package/fesm2022/ngx-tethys-guider.mjs.map +1 -1
- package/fesm2022/ngx-tethys-i18n.mjs +51 -54
- package/fesm2022/ngx-tethys-i18n.mjs.map +1 -1
- package/fesm2022/ngx-tethys-icon.mjs +11 -12
- package/fesm2022/ngx-tethys-icon.mjs.map +1 -1
- package/fesm2022/ngx-tethys-image.mjs +32 -21
- package/fesm2022/ngx-tethys-image.mjs.map +1 -1
- package/fesm2022/ngx-tethys-input-number.mjs +7 -7
- package/fesm2022/ngx-tethys-input.mjs +21 -23
- package/fesm2022/ngx-tethys-input.mjs.map +1 -1
- package/fesm2022/ngx-tethys-layout.mjs +73 -88
- package/fesm2022/ngx-tethys-layout.mjs.map +1 -1
- package/fesm2022/ngx-tethys-list.mjs +19 -22
- package/fesm2022/ngx-tethys-list.mjs.map +1 -1
- package/fesm2022/ngx-tethys-loading.mjs +7 -7
- package/fesm2022/ngx-tethys-mention.mjs +11 -12
- package/fesm2022/ngx-tethys-mention.mjs.map +1 -1
- package/fesm2022/ngx-tethys-menu.mjs +30 -30
- package/fesm2022/ngx-tethys-menu.mjs.map +1 -1
- package/fesm2022/ngx-tethys-message.mjs +24 -24
- package/fesm2022/ngx-tethys-message.mjs.map +1 -1
- package/fesm2022/ngx-tethys-nav.mjs +26 -29
- package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
- package/fesm2022/ngx-tethys-notify.mjs +17 -17
- package/fesm2022/ngx-tethys-notify.mjs.map +1 -1
- package/fesm2022/ngx-tethys-pagination.mjs +15 -17
- package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
- package/fesm2022/ngx-tethys-popover.mjs +21 -23
- package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
- package/fesm2022/ngx-tethys-progress.mjs +13 -13
- package/fesm2022/ngx-tethys-property-operation.mjs +11 -11
- package/fesm2022/ngx-tethys-property-operation.mjs.map +1 -1
- package/fesm2022/ngx-tethys-property.mjs +11 -11
- package/fesm2022/ngx-tethys-property.mjs.map +1 -1
- package/fesm2022/ngx-tethys-radio.mjs +125 -115
- package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
- package/fesm2022/ngx-tethys-rate.mjs +10 -10
- package/fesm2022/ngx-tethys-resizable.mjs +18 -18
- package/fesm2022/ngx-tethys-resizable.mjs.map +1 -1
- package/fesm2022/ngx-tethys-result.mjs +7 -7
- package/fesm2022/ngx-tethys-segment.mjs +10 -10
- package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
- package/fesm2022/ngx-tethys-select.mjs +10 -10
- package/fesm2022/ngx-tethys-shared.mjs +81 -109
- package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
- package/fesm2022/ngx-tethys-skeleton.mjs +23 -24
- package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
- package/fesm2022/ngx-tethys-slide.mjs +36 -41
- package/fesm2022/ngx-tethys-slide.mjs.map +1 -1
- package/fesm2022/ngx-tethys-slider.mjs +7 -7
- package/fesm2022/ngx-tethys-space.mjs +11 -12
- package/fesm2022/ngx-tethys-space.mjs.map +1 -1
- package/fesm2022/ngx-tethys-statistic.mjs +7 -7
- package/fesm2022/ngx-tethys-stepper.mjs +22 -24
- package/fesm2022/ngx-tethys-stepper.mjs.map +1 -1
- package/fesm2022/ngx-tethys-strength.mjs +8 -8
- package/fesm2022/ngx-tethys-strength.mjs.map +1 -1
- package/fesm2022/ngx-tethys-switch.mjs +7 -7
- package/fesm2022/ngx-tethys-table.mjs +22 -25
- package/fesm2022/ngx-tethys-table.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tabs.mjs +14 -15
- package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tag.mjs +12 -13
- package/fesm2022/ngx-tethys-tag.mjs.map +1 -1
- package/fesm2022/ngx-tethys-time-picker.mjs +58 -56
- package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-timeline.mjs +13 -13
- package/fesm2022/ngx-tethys-timeline.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tooltip.mjs +14 -15
- package/fesm2022/ngx-tethys-tooltip.mjs.map +1 -1
- package/fesm2022/ngx-tethys-transfer.mjs +10 -10
- package/fesm2022/ngx-tethys-tree-select.mjs +10 -10
- package/fesm2022/ngx-tethys-tree.mjs +17 -21
- package/fesm2022/ngx-tethys-tree.mjs.map +1 -1
- package/fesm2022/ngx-tethys-typography.mjs +15 -17
- package/fesm2022/ngx-tethys-typography.mjs.map +1 -1
- package/fesm2022/ngx-tethys-upload.mjs +18 -19
- package/fesm2022/ngx-tethys-upload.mjs.map +1 -1
- package/fesm2022/ngx-tethys-util.mjs +418 -396
- package/fesm2022/ngx-tethys-util.mjs.map +1 -1
- package/fesm2022/ngx-tethys-vote.mjs +7 -7
- package/fesm2022/ngx-tethys-watermark.mjs +8 -9
- package/fesm2022/ngx-tethys-watermark.mjs.map +1 -1
- package/fesm2022/ngx-tethys.mjs +1 -1
- package/fesm2022/ngx-tethys.mjs.map +1 -1
- package/grid/grid.type.d.ts +5 -0
- package/grid/index.d.ts +1 -0
- package/grid/thy-grid-item.component.d.ts +1 -1
- package/grid/thy-grid.component.d.ts +1 -11
- package/guider/guider-manager.d.ts +2 -1
- package/guider/guider-ref.d.ts +6 -6
- package/guider/guider-step-ref.d.ts +3 -4
- package/guider/guider.interface.d.ts +26 -0
- package/i18n/i18n.service.d.ts +1 -1
- package/i18n/index.d.ts +2 -5
- package/i18n/locale.d.ts +1 -7
- package/i18n/locales/index.d.ts +5 -0
- package/i18n/util.d.ts +3 -0
- package/icon/index.d.ts +1 -1
- package/image/image-group.component.d.ts +4 -4
- package/image/image.directive.d.ts +2 -1
- package/image/image.token.d.ts +17 -0
- package/layout/header.component.d.ts +6 -18
- package/list/selection/selection-list.d.ts +2 -1
- package/list/selection/selection.interface.d.ts +2 -3
- package/message/abstract/abstract-message-queue.service.d.ts +2 -2
- package/message/abstract/abstract-message-ref.d.ts +6 -2
- package/package.json +2 -1
- package/popover/popover.directive.d.ts +6 -2
- package/radio/group/radio-group.component.d.ts +2 -1
- package/radio/radio.component.d.ts +3 -3
- package/radio/radio.token.d.ts +12 -0
- package/resizable/interface.d.ts +5 -0
- package/resizable/resizable.directive.d.ts +9 -3
- package/resizable/resizable.service.d.ts +1 -1
- package/resizable/resize-handle.component.d.ts +1 -6
- package/schematics/version.d.ts +1 -1
- package/schematics/version.js +1 -1
- package/segment/segment-item.component.d.ts +2 -1
- package/segment/segment.token.d.ts +10 -4
- package/shared/index.d.ts +1 -0
- package/shared/option/list-option/list-option.component.d.ts +10 -5
- package/shared/option/option.component.d.ts +1 -3
- package/shared/option/option.token.d.ts +11 -11
- package/shared/shared.type.d.ts +1 -0
- package/table/index.d.ts +1 -0
- package/table/styles/table.scss +9 -1
- package/table/table-column.component.d.ts +5 -30
- package/table/table-skeleton.component.d.ts +11 -3
- package/table/table.component.d.ts +1 -3
- package/table/table.type.d.ts +3 -0
- package/tag/tag.component.d.ts +2 -4
- package/time-picker/inner/inner-time-picker.component.d.ts +3 -1
- package/time-picker/inner/inner-time-picker.store.d.ts +5 -5
- package/time-picker/time-picker.utils.d.ts +5 -5
- package/timeline/index.d.ts +1 -0
- package/timeline/timeline-item.component.d.ts +1 -1
- package/timeline/timeline.component.d.ts +1 -1
- package/timeline/timeline.type.d.ts +1 -0
- package/tooltip/tooltip.directive.d.ts +2 -10
- package/tree/index.d.ts +0 -1
- package/tree/tree-abstract.d.ts +1 -1
- package/tree/tree-node.component.d.ts +17 -8
- package/tree/tree.class.d.ts +40 -1
- package/tree/tree.component.d.ts +1 -1
- package/tree/tree.pipe.d.ts +1 -1
- package/tree/tree.service.d.ts +3 -9
- package/util/helpers/helpers.d.ts +1 -0
- package/tree/tree-node.class.d.ts +0 -29
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-tethys-menu.mjs","sources":["../../../src/menu/divider/menu-divider.component.ts","../../../src/menu/divider/menu-divider.component.html","../../../src/menu/group/menu-group.component.ts","../../../src/menu/group/menu-group.component.html","../../../src/menu/item/action/menu-item-action.component.ts","../../../src/menu/item/action/menu-item-action.component.html","../../../src/menu/item/icon/menu-item-icon.component.ts","../../../src/menu/item/icon/menu-item-icon.component.html","../../../src/menu/item/menu-item.component.ts","../../../src/menu/item/menu-item.component.html","../../../src/menu/item/name/menu-item-name.component.ts","../../../src/menu/item/name/menu-item-name.component.html","../../../src/menu/menu.component.ts","../../../src/menu/menu.component.html","../../../src/menu/menu.module.ts","../../../src/menu/ngx-tethys-menu.ts"],"sourcesContent":["import { Component, OnInit, HostBinding } from '@angular/core';\n\n/**\n * @name thy-menu-divider,[thy-menu-divider],[thyMenuDivider]\n */\n@Component({\n selector: 'thy-menu-divider,[thy-menu-divider],[thyMenuDivider]',\n templateUrl: './menu-divider.component.html',\n standalone: true\n})\nexport class ThyMenuDivider implements OnInit {\n @HostBinding('class.thy-menu-divider') isThyMenuDivider = true;\n\n constructor() {}\n\n ngOnInit(): void {}\n}\n","<ng-content></ng-content>\n","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { ComponentType } from '@angular/cdk/portal';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnInit,\n Output,\n TemplateRef,\n ViewChild,\n inject\n} from '@angular/core';\nimport { ThyPopover } from 'ngx-tethys/popover';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\n/**\n * 菜单分组组件\n * @name thy-menu-group,[thy-menu-group],[thyMenuGroup]\n * @order 30\n */\n@Component({\n selector: 'thy-menu-group,[thy-menu-group],[thyMenuGroup]',\n templateUrl: './menu-group.component.html',\n animations: [\n trigger('detailsContentAnimation', [\n state(\n 'void',\n style({\n height: '*'\n })\n ),\n state(\n '1',\n style({\n height: 0,\n overflow: 'hidden'\n })\n ),\n state(\n '0',\n style({\n height: '*'\n })\n ),\n transition('* => *', animate('0ms ease-out'))\n ])\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [NgClass, NgTemplateOutlet, ThyIcon]\n})\nexport class ThyMenuGroup implements OnInit {\n private popover = inject(ThyPopover);\n\n public _actionMenu: ComponentType<any> | TemplateRef<any>;\n\n public rightIconClass = 'more';\n\n public iconClass = 'folder-bold';\n\n public groupHeaderPaddingLeft = 0;\n\n @ViewChild('thyMenuGroup', { static: true }) _thyMenuGroup: ElementRef;\n\n @ContentChild('headerContent')\n headerContentTemplateRef: TemplateRef<any>;\n\n @HostBinding('class.thy-menu-group') isThyMenuGroup = true;\n\n @HostBinding('class.has-icon') showIcon = false;\n\n @HostBinding('class.collapsed') isCollapsed = false;\n\n /**\n * 分组标题\n */\n @Input() thyTitle = '';\n\n /**\n * 已废弃,请使用 thyCollapsed\n * @deprecated\n */\n @Input({ transform: coerceBooleanProperty })\n set thyExpand(value: boolean) {\n this.isCollapsed = !!!value;\n }\n\n /**\n * 是否处于收起状态\n * @default false\n */\n @Input({ transform: coerceBooleanProperty })\n set thyCollapsed(value: boolean) {\n this.isCollapsed = value;\n }\n\n /**\n * 是否支持展开收起\n */\n @Input({ transform: coerceBooleanProperty }) thyCollapsible: boolean = false;\n\n /**\n * 是否显示 Icon\n */\n @Input({ transform: coerceBooleanProperty })\n set thyShowIcon(value: boolean) {\n this.showIcon = value;\n }\n\n /**\n * 图标\n */\n @Input('thyIcon')\n set thyIcon(value: string) {\n this.iconClass = value;\n }\n\n /**\n * 操作图标\n */\n @Input('thyActionIcon')\n set thyActionIcon(value: string) {\n this.rightIconClass = value;\n }\n\n /**\n *是否显示操作\n */\n @Input({ transform: coerceBooleanProperty }) thyShowAction = false;\n\n /**\n * 操作阻止冒泡事件\n */\n @Input({ transform: coerceBooleanProperty }) thyActionStopPropagation = true;\n\n /**\n * Action 点击事件\n */\n @Output() thyOnActionClick: EventEmitter<Event> = new EventEmitter<Event>();\n\n @Output() thyCollapsedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /**\n * 设置 Action 菜单\n */\n @Input()\n set thyActionMenu(value: ComponentType<any> | TemplateRef<any>) {\n this._actionMenu = value;\n }\n\n ngOnInit(): void {}\n\n collapseGroup(): void {\n if (!this.thyCollapsible) {\n return;\n }\n this.isCollapsed = !this.isCollapsed;\n this.thyCollapsedChange.emit(this.isCollapsed);\n }\n\n onActionClick(event: Event): void {\n if (this.thyActionStopPropagation) {\n event.stopPropagation();\n }\n if (this._actionMenu) {\n this.popover.open(this._actionMenu, {\n origin: event.currentTarget as HTMLElement,\n insideClosable: true,\n placement: 'bottom'\n });\n } else {\n this.thyOnActionClick.emit(event);\n }\n }\n}\n","<div class=\"thy-menu-group-header\" [ngClass]=\"{ 'thy-menu-group-collapsible': thyCollapsible }\" (click)=\"collapseGroup()\">\n <div class=\"thy-menu-group-header-content\">\n @if (headerContentTemplateRef) {\n <ng-template [ngTemplateOutlet]=\"headerContentTemplateRef\"></ng-template>\n } @else {\n <span class=\"thy-menu-group-title\">\n @if (showIcon) {\n <thy-icon class=\"thy-menu-group-title-icon mr-2\" [thyIconName]=\"iconClass\"></thy-icon>\n }\n <span class=\"thy-menu-group-title-text\">{{ thyTitle }}</span>\n </span>\n }\n </div>\n @if (thyShowAction) {\n <thy-icon\n class=\"thy-menu-group-operation\"\n [thyIconName]=\"rightIconClass\"\n (click)=\"onActionClick($event)\"\n ></thy-icon>\n }\n @if (thyCollapsible) {\n <thy-icon thyIconName=\"angle-up\" class=\"thy-menu-group-arrow\"></thy-icon>\n }\n</div>\n<div class=\"thy-menu-group-body\" #thyMenuGroup [@detailsContentAnimation]=\"isCollapsed\">\n <ng-content></ng-content>\n</div>\n","import { ThyPopover, ThyPopoverConfig } from 'ngx-tethys/popover';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\nimport { ComponentType } from '@angular/cdk/portal';\nimport { Component, ElementRef, Input, OnDestroy, Renderer2, TemplateRef, inject } from '@angular/core';\n\n/**\n * 菜单项操作组件\n * @name thy-menu-item-action,[thy-menu-item-action],[thyMenuItemAction]\n * @order 25\n */\n@Component({\n selector: 'thy-menu-item-action,[thy-menu-item-action],[thyMenuItemAction]',\n templateUrl: './menu-item-action.component.html',\n host: {\n class: 'thy-menu-item-action'\n },\n standalone: true\n})\nexport class ThyMenuItemAction implements OnDestroy {\n private popover = inject(ThyPopover);\n private renderer = inject(Renderer2);\n private elementRef = inject(ElementRef);\n\n _boundEvent = false;\n\n _actionMenu: ComponentType<any> | TemplateRef<any>;\n\n /**\n * 设置 Action 菜单\n */\n @Input()\n set thyActionMenu(value: ComponentType<any> | TemplateRef<any>) {\n this._actionMenu = value;\n if (this._actionMenu) {\n this.bindClickEvent();\n }\n }\n\n /**\n * 是否阻止事件冒泡\n */\n @Input({ transform: coerceBooleanProperty }) thyStopPropagation = true;\n\n /**\n * 弹出框的参数\n * @default { placement: \"bottomLeft\", insideClosable: true }\n */\n @Input() thyPopoverOptions: ThyPopoverConfig;\n\n private bindClickEvent() {\n if (this._boundEvent) {\n return;\n }\n this._boundEvent = true;\n this.removeClickListenerFn = this.renderer.listen(this.elementRef.nativeElement, 'click', event => {\n if (this.thyStopPropagation) {\n event.stopPropagation();\n }\n if (this._actionMenu) {\n const activeClass = 'action-active';\n const wrapDOM = (event.target as HTMLElement).closest('.thy-menu-item');\n wrapDOM?.classList.add(activeClass);\n const popoverRef = this.popover.open(\n this._actionMenu,\n Object.assign(\n {\n origin: event.currentTarget as HTMLElement,\n insideClosable: true,\n placement: 'bottomLeft',\n originActiveClass: 'active'\n },\n this.thyPopoverOptions\n )\n );\n popoverRef?.afterClosed().subscribe(() => {\n wrapDOM?.classList.remove(activeClass);\n });\n }\n });\n }\n\n private removeClickListenerFn: VoidFunction | null = null;\n\n ngOnDestroy(): void {\n this.removeClickListenerFn?.();\n }\n}\n","<ng-content></ng-content>\n","import { Component, OnInit, Input, ChangeDetectionStrategy } from '@angular/core';\nimport { useHostRenderer } from '@tethys/cdk/dom';\n\n/**\n * 菜单项图标组件\n * @name thy-menu-item-icon,[thy-menu-item-icon],[thyMenuItemIcon]\n * @order 15\n */\n@Component({\n selector: 'thy-menu-item-icon,[thy-menu-item-icon],[thyMenuItemIcon]',\n templateUrl: './menu-item-icon.component.html',\n host: {\n class: 'thy-menu-item-icon'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class ThyMenuItemIcon implements OnInit {\n /**\n * 设置图标颜色\n */\n @Input()\n set thyColor(value: string) {\n if (value) {\n this.hostRenderer.setStyle('color', value);\n }\n }\n\n private hostRenderer = useHostRenderer();\n\n constructor() {}\n\n ngOnInit(): void {}\n}\n","<ng-content></ng-content>\n","import { Component, OnInit, AfterViewInit, ChangeDetectionStrategy, Input, Renderer2, ElementRef, ViewChild, inject } from '@angular/core';\nimport { ThyIcon } from 'ngx-tethys/icon';\n\n/**\n * 菜单项组件\n * @name thy-menu-item,[thy-menu-item],[thyMenuItem]\n * @order 10\n */\n@Component({\n selector: 'thy-menu-item,[thy-menu-item],[thyMenuItem]',\n templateUrl: './menu-item.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'thy-menu-item'\n },\n imports: [ThyIcon]\n})\nexport class ThyMenuItem implements OnInit, AfterViewInit {\n private renderer = inject(Renderer2);\n\n @ViewChild('content', { read: ElementRef }) content: ElementRef<HTMLElement>;\n /**\n * 菜单项的图标\n */\n @Input() thyIcon: string;\n\n ngOnInit(): void {}\n\n ngAfterViewInit() {\n this.wrapSpanForText(this.content.nativeElement.childNodes);\n }\n\n private wrapSpanForText(nodes: NodeList): void {\n nodes.forEach(node => {\n if (node.nodeName === '#text') {\n const span = this.renderer.createElement('span');\n const parent = this.renderer.parentNode(node);\n this.renderer.addClass(span, 'thy-menu-item-name');\n this.renderer.insertBefore(parent, span, node);\n this.renderer.appendChild(span, node);\n }\n });\n }\n}\n","<div class=\"thy-menu-item-content\" #content>\n @if (thyIcon) {\n <thy-icon class=\"thy-menu-item-icon\" [thyIconName]=\"thyIcon\"></thy-icon>\n }\n <ng-content></ng-content>\n</div>\n","import { Component, OnInit, HostBinding, Input } from '@angular/core';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\n/**\n * 菜单项名称\n * @name thy-menu-item-name,[thy-menu-item-name],[thyMenuItemName]\n * @order 20\n */\n@Component({\n selector: 'thy-menu-item-name,[thy-menu-item-name],[thyMenuItemName]',\n templateUrl: './menu-item-name.component.html',\n host: {\n class: 'thy-menu-item-name'\n },\n standalone: true\n})\nexport class ThyMenuItemName implements OnInit {\n /**\n * 是否 ellipsis\n */\n @HostBinding('class.thy-menu-item-name-ellipsis')\n @Input({ transform: coerceBooleanProperty })\n thyOverflowEllipsis = true;\n\n constructor() {}\n\n ngOnInit(): void {}\n}\n","<ng-content></ng-content>\n","import { Component, OnInit, Input } from '@angular/core';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\nexport type ThyMenuTheme = 'compact' | 'loose' | 'dark';\n\n/**\n * 菜单组件\n * @name thy-menu,[thy-menu],[thyMenu]\n * @order 5\n */\n@Component({\n selector: 'thy-menu,[thy-menu],[thyMenu]',\n templateUrl: './menu.component.html',\n host: {\n class: 'thy-menu',\n '[class.thy-menu-collapsed]': 'thyCollapsed',\n '[class.thy-menu-theme-loose]': 'theme === \"loose\"',\n '[class.thy-menu-theme-dark]': 'theme === \"dark\"'\n },\n standalone: true\n})\nexport class ThyMenu implements OnInit {\n theme: ThyMenuTheme = 'compact';\n\n /**\n * 主题\n * @type compact | loose\n * @default compact\n */\n @Input() set thyTheme(value: ThyMenuTheme) {\n this.theme = value;\n }\n\n /**\n * 是否收起\n * @default false\n */\n @Input({ transform: coerceBooleanProperty }) thyCollapsed: boolean;\n\n constructor() {}\n\n ngOnInit(): void {}\n}\n","<ng-content></ng-content>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThyPopoverModule } from 'ngx-tethys/popover';\nimport { ThyMenuDivider } from './divider/menu-divider.component';\nimport { ThyMenuGroup } from './group/menu-group.component';\nimport { ThyMenuItemAction } from './item/action/menu-item-action.component';\nimport { ThyMenuItemIcon } from './item/icon/menu-item-icon.component';\nimport { ThyMenuItem } from './item/menu-item.component';\nimport { ThyMenuItemName } from './item/name/menu-item-name.component';\nimport { ThyMenu } from './menu.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ThyIconModule,\n ThyPopoverModule,\n ThyMenu,\n ThyMenuGroup,\n ThyMenuItem,\n ThyMenuItemName,\n ThyMenuItemIcon,\n ThyMenuItemAction,\n ThyMenuDivider\n ],\n exports: [ThyMenu, ThyMenuGroup, ThyMenuItem, ThyMenuItemName, ThyMenuItemIcon, ThyMenuItemAction, ThyMenuDivider]\n})\nexport class ThyMenuModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngx-tethys-menu.mjs","sources":["../../../src/menu/divider/menu-divider.component.ts","../../../src/menu/divider/menu-divider.component.html","../../../src/menu/group/menu-group.component.ts","../../../src/menu/group/menu-group.component.html","../../../src/menu/item/action/menu-item-action.component.ts","../../../src/menu/item/action/menu-item-action.component.html","../../../src/menu/item/icon/menu-item-icon.component.ts","../../../src/menu/item/icon/menu-item-icon.component.html","../../../src/menu/item/menu-item.component.ts","../../../src/menu/item/menu-item.component.html","../../../src/menu/item/name/menu-item-name.component.ts","../../../src/menu/item/name/menu-item-name.component.html","../../../src/menu/menu.component.ts","../../../src/menu/menu.component.html","../../../src/menu/menu.module.ts","../../../src/menu/ngx-tethys-menu.ts"],"sourcesContent":["import { Component, OnInit, HostBinding } from '@angular/core';\n\n/**\n * @name thy-menu-divider,[thy-menu-divider],[thyMenuDivider]\n */\n@Component({\n selector: 'thy-menu-divider,[thy-menu-divider],[thyMenuDivider]',\n templateUrl: './menu-divider.component.html'\n})\nexport class ThyMenuDivider implements OnInit {\n @HostBinding('class.thy-menu-divider') isThyMenuDivider = true;\n\n constructor() {}\n\n ngOnInit(): void {}\n}\n","<ng-content></ng-content>\n","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { ComponentType } from '@angular/cdk/portal';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnInit,\n Output,\n TemplateRef,\n ViewChild,\n inject\n} from '@angular/core';\nimport { ThyPopover } from 'ngx-tethys/popover';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\n/**\n * 菜单分组组件\n * @name thy-menu-group,[thy-menu-group],[thyMenuGroup]\n * @order 30\n */\n@Component({\n selector: 'thy-menu-group,[thy-menu-group],[thyMenuGroup]',\n templateUrl: './menu-group.component.html',\n animations: [\n trigger('detailsContentAnimation', [\n state(\n 'void',\n style({\n height: '*'\n })\n ),\n state(\n '1',\n style({\n height: 0,\n overflow: 'hidden'\n })\n ),\n state(\n '0',\n style({\n height: '*'\n })\n ),\n transition('* => *', animate('0ms ease-out'))\n ])\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [NgClass, NgTemplateOutlet, ThyIcon]\n})\nexport class ThyMenuGroup implements OnInit {\n private popover = inject(ThyPopover);\n\n public _actionMenu: ComponentType<any> | TemplateRef<any>;\n\n public rightIconClass = 'more';\n\n public iconClass = 'folder-bold';\n\n public groupHeaderPaddingLeft = 0;\n\n @ViewChild('thyMenuGroup', { static: true }) _thyMenuGroup: ElementRef;\n\n @ContentChild('headerContent')\n headerContentTemplateRef: TemplateRef<any>;\n\n @HostBinding('class.thy-menu-group') isThyMenuGroup = true;\n\n @HostBinding('class.has-icon') showIcon = false;\n\n @HostBinding('class.collapsed') isCollapsed = false;\n\n /**\n * 分组标题\n */\n @Input() thyTitle = '';\n\n /**\n * 已废弃,请使用 thyCollapsed\n * @deprecated\n */\n @Input({ transform: coerceBooleanProperty })\n set thyExpand(value: boolean) {\n this.isCollapsed = !!!value;\n }\n\n /**\n * 是否处于收起状态\n * @default false\n */\n @Input({ transform: coerceBooleanProperty })\n set thyCollapsed(value: boolean) {\n this.isCollapsed = value;\n }\n\n /**\n * 是否支持展开收起\n */\n @Input({ transform: coerceBooleanProperty }) thyCollapsible: boolean = false;\n\n /**\n * 是否显示 Icon\n */\n @Input({ transform: coerceBooleanProperty })\n set thyShowIcon(value: boolean) {\n this.showIcon = value;\n }\n\n /**\n * 图标\n */\n @Input('thyIcon')\n set thyIcon(value: string) {\n this.iconClass = value;\n }\n\n /**\n * 操作图标\n */\n @Input('thyActionIcon')\n set thyActionIcon(value: string) {\n this.rightIconClass = value;\n }\n\n /**\n *是否显示操作\n */\n @Input({ transform: coerceBooleanProperty }) thyShowAction = false;\n\n /**\n * 操作阻止冒泡事件\n */\n @Input({ transform: coerceBooleanProperty }) thyActionStopPropagation = true;\n\n /**\n * Action 点击事件\n */\n @Output() thyOnActionClick: EventEmitter<Event> = new EventEmitter<Event>();\n\n @Output() thyCollapsedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /**\n * 设置 Action 菜单\n */\n @Input()\n set thyActionMenu(value: ComponentType<any> | TemplateRef<any>) {\n this._actionMenu = value;\n }\n\n ngOnInit(): void {}\n\n collapseGroup(): void {\n if (!this.thyCollapsible) {\n return;\n }\n this.isCollapsed = !this.isCollapsed;\n this.thyCollapsedChange.emit(this.isCollapsed);\n }\n\n onActionClick(event: Event): void {\n if (this.thyActionStopPropagation) {\n event.stopPropagation();\n }\n if (this._actionMenu) {\n this.popover.open(this._actionMenu, {\n origin: event.currentTarget as HTMLElement,\n insideClosable: true,\n placement: 'bottom'\n });\n } else {\n this.thyOnActionClick.emit(event);\n }\n }\n}\n","<div class=\"thy-menu-group-header\" [ngClass]=\"{ 'thy-menu-group-collapsible': thyCollapsible }\" (click)=\"collapseGroup()\">\n <div class=\"thy-menu-group-header-content\">\n @if (headerContentTemplateRef) {\n <ng-template [ngTemplateOutlet]=\"headerContentTemplateRef\"></ng-template>\n } @else {\n <span class=\"thy-menu-group-title\">\n @if (showIcon) {\n <thy-icon class=\"thy-menu-group-title-icon mr-2\" [thyIconName]=\"iconClass\"></thy-icon>\n }\n <span class=\"thy-menu-group-title-text\">{{ thyTitle }}</span>\n </span>\n }\n </div>\n @if (thyShowAction) {\n <thy-icon\n class=\"thy-menu-group-operation\"\n [thyIconName]=\"rightIconClass\"\n (click)=\"onActionClick($event)\"\n ></thy-icon>\n }\n @if (thyCollapsible) {\n <thy-icon thyIconName=\"angle-up\" class=\"thy-menu-group-arrow\"></thy-icon>\n }\n</div>\n<div class=\"thy-menu-group-body\" #thyMenuGroup [@detailsContentAnimation]=\"isCollapsed\">\n <ng-content></ng-content>\n</div>\n","import { ThyPopover, ThyPopoverConfig } from 'ngx-tethys/popover';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\nimport { ComponentType } from '@angular/cdk/portal';\nimport { Component, ElementRef, Input, OnDestroy, Renderer2, TemplateRef, inject } from '@angular/core';\n\n/**\n * 菜单项操作组件\n * @name thy-menu-item-action,[thy-menu-item-action],[thyMenuItemAction]\n * @order 25\n */\n@Component({\n selector: 'thy-menu-item-action,[thy-menu-item-action],[thyMenuItemAction]',\n templateUrl: './menu-item-action.component.html',\n host: {\n class: 'thy-menu-item-action'\n }\n})\nexport class ThyMenuItemAction implements OnDestroy {\n private popover = inject(ThyPopover);\n private renderer = inject(Renderer2);\n private elementRef = inject(ElementRef);\n\n _boundEvent = false;\n\n _actionMenu: ComponentType<any> | TemplateRef<any>;\n\n /**\n * 设置 Action 菜单\n */\n @Input()\n set thyActionMenu(value: ComponentType<any> | TemplateRef<any>) {\n this._actionMenu = value;\n if (this._actionMenu) {\n this.bindClickEvent();\n }\n }\n\n /**\n * 是否阻止事件冒泡\n */\n @Input({ transform: coerceBooleanProperty }) thyStopPropagation = true;\n\n /**\n * 弹出框的参数\n * @default { placement: \"bottomLeft\", insideClosable: true }\n */\n @Input() thyPopoverOptions: ThyPopoverConfig;\n\n private bindClickEvent() {\n if (this._boundEvent) {\n return;\n }\n this._boundEvent = true;\n this.removeClickListenerFn = this.renderer.listen(this.elementRef.nativeElement, 'click', event => {\n if (this.thyStopPropagation) {\n event.stopPropagation();\n }\n if (this._actionMenu) {\n const activeClass = 'action-active';\n const wrapDOM = (event.target as HTMLElement).closest('.thy-menu-item');\n wrapDOM?.classList.add(activeClass);\n const popoverRef = this.popover.open(\n this._actionMenu,\n Object.assign(\n {\n origin: event.currentTarget as HTMLElement,\n insideClosable: true,\n placement: 'bottomLeft',\n originActiveClass: 'active'\n },\n this.thyPopoverOptions\n )\n );\n popoverRef?.afterClosed().subscribe(() => {\n wrapDOM?.classList.remove(activeClass);\n });\n }\n });\n }\n\n private removeClickListenerFn: VoidFunction | null = null;\n\n ngOnDestroy(): void {\n this.removeClickListenerFn?.();\n }\n}\n","<ng-content></ng-content>\n","import { Component, OnInit, Input, ChangeDetectionStrategy } from '@angular/core';\nimport { useHostRenderer } from '@tethys/cdk/dom';\n\n/**\n * 菜单项图标组件\n * @name thy-menu-item-icon,[thy-menu-item-icon],[thyMenuItemIcon]\n * @order 15\n */\n@Component({\n selector: 'thy-menu-item-icon,[thy-menu-item-icon],[thyMenuItemIcon]',\n templateUrl: './menu-item-icon.component.html',\n host: {\n class: 'thy-menu-item-icon'\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ThyMenuItemIcon implements OnInit {\n /**\n * 设置图标颜色\n */\n @Input()\n set thyColor(value: string) {\n if (value) {\n this.hostRenderer.setStyle('color', value);\n }\n }\n\n private hostRenderer = useHostRenderer();\n\n constructor() {}\n\n ngOnInit(): void {}\n}\n","<ng-content></ng-content>\n","import { Component, OnInit, AfterViewInit, ChangeDetectionStrategy, Input, Renderer2, ElementRef, ViewChild, inject } from '@angular/core';\nimport { ThyIcon } from 'ngx-tethys/icon';\n\n/**\n * 菜单项组件\n * @name thy-menu-item,[thy-menu-item],[thyMenuItem]\n * @order 10\n */\n@Component({\n selector: 'thy-menu-item,[thy-menu-item],[thyMenuItem]',\n templateUrl: './menu-item.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'thy-menu-item'\n },\n imports: [ThyIcon]\n})\nexport class ThyMenuItem implements OnInit, AfterViewInit {\n private renderer = inject(Renderer2);\n\n @ViewChild('content', { read: ElementRef }) content: ElementRef<HTMLElement>;\n /**\n * 菜单项的图标\n */\n @Input() thyIcon: string;\n\n ngOnInit(): void {}\n\n ngAfterViewInit() {\n this.wrapSpanForText(this.content.nativeElement.childNodes);\n }\n\n private wrapSpanForText(nodes: NodeList): void {\n nodes.forEach(node => {\n if (node.nodeName === '#text') {\n const span = this.renderer.createElement('span');\n const parent = this.renderer.parentNode(node);\n this.renderer.addClass(span, 'thy-menu-item-name');\n this.renderer.insertBefore(parent, span, node);\n this.renderer.appendChild(span, node);\n }\n });\n }\n}\n","<div class=\"thy-menu-item-content\" #content>\n @if (thyIcon) {\n <thy-icon class=\"thy-menu-item-icon\" [thyIconName]=\"thyIcon\"></thy-icon>\n }\n <ng-content></ng-content>\n</div>\n","import { Component, OnInit, HostBinding, Input } from '@angular/core';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\n/**\n * 菜单项名称\n * @name thy-menu-item-name,[thy-menu-item-name],[thyMenuItemName]\n * @order 20\n */\n@Component({\n selector: 'thy-menu-item-name,[thy-menu-item-name],[thyMenuItemName]',\n templateUrl: './menu-item-name.component.html',\n host: {\n class: 'thy-menu-item-name'\n }\n})\nexport class ThyMenuItemName implements OnInit {\n /**\n * 是否 ellipsis\n */\n @HostBinding('class.thy-menu-item-name-ellipsis')\n @Input({ transform: coerceBooleanProperty })\n thyOverflowEllipsis = true;\n\n constructor() {}\n\n ngOnInit(): void {}\n}\n","<ng-content></ng-content>\n","import { Component, OnInit, Input } from '@angular/core';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\nexport type ThyMenuTheme = 'compact' | 'loose' | 'dark';\n\n/**\n * 菜单组件\n * @name thy-menu,[thy-menu],[thyMenu]\n * @order 5\n */\n@Component({\n selector: 'thy-menu,[thy-menu],[thyMenu]',\n templateUrl: './menu.component.html',\n host: {\n class: 'thy-menu',\n '[class.thy-menu-collapsed]': 'thyCollapsed',\n '[class.thy-menu-theme-loose]': 'theme === \"loose\"',\n '[class.thy-menu-theme-dark]': 'theme === \"dark\"'\n }\n})\nexport class ThyMenu implements OnInit {\n theme: ThyMenuTheme = 'compact';\n\n /**\n * 主题\n * @type compact | loose\n * @default compact\n */\n @Input() set thyTheme(value: ThyMenuTheme) {\n this.theme = value;\n }\n\n /**\n * 是否收起\n * @default false\n */\n @Input({ transform: coerceBooleanProperty }) thyCollapsed: boolean;\n\n constructor() {}\n\n ngOnInit(): void {}\n}\n","<ng-content></ng-content>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThyPopoverModule } from 'ngx-tethys/popover';\nimport { ThyMenuDivider } from './divider/menu-divider.component';\nimport { ThyMenuGroup } from './group/menu-group.component';\nimport { ThyMenuItemAction } from './item/action/menu-item-action.component';\nimport { ThyMenuItemIcon } from './item/icon/menu-item-icon.component';\nimport { ThyMenuItem } from './item/menu-item.component';\nimport { ThyMenuItemName } from './item/name/menu-item-name.component';\nimport { ThyMenu } from './menu.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ThyIconModule,\n ThyPopoverModule,\n ThyMenu,\n ThyMenuGroup,\n ThyMenuItem,\n ThyMenuItemName,\n ThyMenuItemIcon,\n ThyMenuItemAction,\n ThyMenuDivider\n ],\n exports: [ThyMenu, ThyMenuGroup, ThyMenuItem, ThyMenuItemName, ThyMenuItemIcon, ThyMenuItemAction, ThyMenuDivider]\n})\nexport class ThyMenuModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -24,10 +24,10 @@ class ThyAbstractMessageContainerComponent {
|
|
|
24
24
|
const overlayContainer = globalOverlayWrapper.parentElement;
|
|
25
25
|
overlayContainer.appendChild(globalOverlayWrapper);
|
|
26
26
|
}
|
|
27
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
28
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.
|
|
27
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyAbstractMessageContainerComponent, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive }); }
|
|
28
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.6", type: ThyAbstractMessageContainerComponent, isStandalone: true, host: { properties: { "style.top": "this.offset" } }, ngImport: i0 }); }
|
|
29
29
|
}
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyAbstractMessageContainerComponent, decorators: [{
|
|
31
31
|
type: Directive
|
|
32
32
|
}], ctorParameters: () => [{ type: undefined }], propDecorators: { offset: [{
|
|
33
33
|
type: HostBinding,
|
|
@@ -124,10 +124,10 @@ class ThyAbstractMessageComponent {
|
|
|
124
124
|
ngOnDestroy() {
|
|
125
125
|
this.clearCloseTimer();
|
|
126
126
|
}
|
|
127
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
128
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.
|
|
127
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyAbstractMessageComponent, deps: [{ token: ThyAbstractMessageQueue }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
128
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.6", type: ThyAbstractMessageComponent, isStandalone: true, inputs: { thyConfig: "thyConfig" }, host: { listeners: { "mouseenter": "mouseenter()", "mouseleave": "mouseleave()" } }, ngImport: i0 }); }
|
|
129
129
|
}
|
|
130
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
130
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyAbstractMessageComponent, decorators: [{
|
|
131
131
|
type: Directive
|
|
132
132
|
}], ctorParameters: () => [{ type: ThyAbstractMessageQueue }], propDecorators: { thyConfig: [{
|
|
133
133
|
type: Input
|
|
@@ -212,10 +212,10 @@ class ThyMessageQueue extends ThyAbstractMessageQueue {
|
|
|
212
212
|
...defaultConfig
|
|
213
213
|
});
|
|
214
214
|
}
|
|
215
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
216
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
215
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyMessageQueue, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
216
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyMessageQueue, providedIn: 'root' }); }
|
|
217
217
|
}
|
|
218
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
218
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyMessageQueue, decorators: [{
|
|
219
219
|
type: Injectable,
|
|
220
220
|
args: [{
|
|
221
221
|
providedIn: 'root'
|
|
@@ -239,8 +239,8 @@ class ThyMessage extends ThyAbstractMessageComponent {
|
|
|
239
239
|
this.animationState = 'flyIn';
|
|
240
240
|
this.hostRenderer = useHostRenderer();
|
|
241
241
|
}
|
|
242
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
243
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
|
242
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyMessage, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
243
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.6", type: ThyMessage, isStandalone: true, selector: "thy-message", inputs: { thyConfig: "thyConfig" }, host: { properties: { "class": "'thy-message thy-message-' + config.type", "@flyInOut": "this.animationState" } }, usesInheritance: true, ngImport: i0, template: "@if (iconName) {\n <thy-icon class=\"thy-message-icon\" [thyIconName]=\"iconName\"></thy-icon>\n} @else {\n <span class=\"thy-message-icon loading-icon\"></span>\n}\n<div class=\"thy-message-main\">\n <ng-container *thyStringOrTemplateOutlet=\"config.content\"></ng-container>\n</div>\n@if (config.showClose) {\n <thy-icon class=\"thy-message-close\" thyIconName=\"close\" (click)=\"close()\"></thy-icon>\n}\n\n", dependencies: [{ kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: ThyStringOrTemplateOutletDirective, selector: "[thyStringOrTemplateOutlet]", inputs: ["thyStringOrTemplateOutletContext", "thyStringOrTemplateOutlet"], exportAs: ["thyStringOrTemplateOutlet"] }], animations: [
|
|
244
244
|
trigger('flyInOut', [
|
|
245
245
|
state('flyIn', style({ transform: 'translateY(0)', opacity: 1, height: '*' })),
|
|
246
246
|
transition('void => flyIn', [
|
|
@@ -252,7 +252,7 @@ class ThyMessage extends ThyAbstractMessageComponent {
|
|
|
252
252
|
])
|
|
253
253
|
] }); }
|
|
254
254
|
}
|
|
255
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
255
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyMessage, decorators: [{
|
|
256
256
|
type: Component,
|
|
257
257
|
args: [{ selector: 'thy-message', host: {
|
|
258
258
|
'[class]': "'thy-message thy-message-' + config.type"
|
|
@@ -288,19 +288,19 @@ class ThyMessageContainer extends ThyAbstractMessageContainerComponent {
|
|
|
288
288
|
this.messageQueue = inject(ThyMessageQueue);
|
|
289
289
|
this.className = 'thy-message-container';
|
|
290
290
|
}
|
|
291
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
292
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
|
293
|
-
@for (message of messageQueue.queues$ | async; track
|
|
291
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyMessageContainer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
292
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.6", type: ThyMessageContainer, isStandalone: true, selector: "thy-message-container", host: { properties: { "class": "this.className" } }, usesInheritance: true, ngImport: i0, template: `
|
|
293
|
+
@for (message of messageQueue.queues$ | async; track message.id) {
|
|
294
294
|
<thy-message [thyConfig]="message.config"></thy-message>
|
|
295
295
|
}
|
|
296
296
|
`, isInline: true, dependencies: [{ kind: "component", type: ThyMessage, selector: "thy-message", inputs: ["thyConfig"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
|
|
297
297
|
}
|
|
298
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
298
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyMessageContainer, decorators: [{
|
|
299
299
|
type: Component,
|
|
300
300
|
args: [{
|
|
301
301
|
selector: 'thy-message-container',
|
|
302
302
|
template: `
|
|
303
|
-
@for (message of messageQueue.queues$ | async; track
|
|
303
|
+
@for (message of messageQueue.queues$ | async; track message.id) {
|
|
304
304
|
<thy-message [thyConfig]="message.config"></thy-message>
|
|
305
305
|
}
|
|
306
306
|
`,
|
|
@@ -312,11 +312,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImpor
|
|
|
312
312
|
}] } });
|
|
313
313
|
|
|
314
314
|
class ThyMessageModule {
|
|
315
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
316
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.
|
|
317
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.
|
|
315
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyMessageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
316
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: ThyMessageModule, imports: [CommonModule, ThySharedModule, OverlayModule, PortalModule, ThyIconModule, ThyMessageContainer, ThyMessage], exports: [ThyMessageContainer, ThyMessage] }); }
|
|
317
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyMessageModule, providers: [THY_MESSAGE_DEFAULT_CONFIG_PROVIDER], imports: [CommonModule, ThySharedModule, OverlayModule, PortalModule, ThyIconModule, ThyMessageContainer, ThyMessage] }); }
|
|
318
318
|
}
|
|
319
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
319
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyMessageModule, decorators: [{
|
|
320
320
|
type: NgModule,
|
|
321
321
|
args: [{
|
|
322
322
|
imports: [CommonModule, ThySharedModule, OverlayModule, PortalModule, ThyIconModule, ThyMessageContainer, ThyMessage],
|
|
@@ -402,10 +402,10 @@ class ThyMessageService extends ThyAbstractMessageService {
|
|
|
402
402
|
formatOptions(config) {
|
|
403
403
|
return Object.assign({ id: String(this._lastMessageId++) }, this.defaultConfig, config);
|
|
404
404
|
}
|
|
405
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
406
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
405
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyMessageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
406
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyMessageService, providedIn: 'root' }); }
|
|
407
407
|
}
|
|
408
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
408
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyMessageService, decorators: [{
|
|
409
409
|
type: Injectable,
|
|
410
410
|
args: [{
|
|
411
411
|
providedIn: 'root'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-tethys-message.mjs","sources":["../../../src/message/abstract/abstract-message-container.component.ts","../../../src/message/abstract/abstract-message-queue.service.ts","../../../src/message/abstract/abstract-message.component.ts","../../../src/message/abstract/abstract-message.service.ts","../../../src/message/abstract/abstract-message-ref.ts","../../../src/message/message.config.ts","../../../src/message/message-queue.service.ts","../../../src/message/message.component.ts","../../../src/message/message.component.html","../../../src/message/message-container.component.ts","../../../src/message/module.ts","../../../src/message/message-ref.ts","../../../src/message/message.service.ts","../../../src/message/ngx-tethys-message.ts"],"sourcesContent":["import { coerceCssPixelValue } from '@angular/cdk/coercion';\nimport { Directive, ElementRef, HostBinding, inject } from '@angular/core';\nimport { ThyGlobalMessageConfig } from '../message.config';\n\n/**\n * @internal\n */\n@Directive()\nexport class ThyAbstractMessageContainerComponent {\n private elementRef = inject(ElementRef);\n\n @HostBinding('style.top') offset: string;\n\n constructor(defaultConfig: ThyGlobalMessageConfig) {\n this.offset = coerceCssPixelValue(defaultConfig.offset);\n }\n\n toOverlayTop() {\n const globalOverlayWrapper = this.elementRef.nativeElement.closest('.cdk-global-overlay-wrapper');\n const overlayContainer = globalOverlayWrapper.parentElement;\n overlayContainer.appendChild(globalOverlayWrapper);\n }\n}\n","import { BehaviorSubject } from 'rxjs';\nimport { ThyGlobalMessageConfig } from '../message.config';\nimport { ThyAbstractMessageRef } from './abstract-message-ref';\n\n/**\n * @internal\n */\nexport class ThyAbstractMessageQueue<TReferences extends ThyAbstractMessageRef = ThyAbstractMessageRef> {\n queues$ = new BehaviorSubject<TReferences[]>([]);\n\n protected defaultConfig: ThyGlobalMessageConfig;\n\n get queues() {\n return this.queues$.getValue();\n }\n\n constructor(defaultConfig: ThyGlobalMessageConfig) {\n this.defaultConfig = defaultConfig;\n }\n\n add(messageRef: TReferences) {\n const queues = this.queues$.getValue();\n if (this.queues.length >= this.defaultConfig.maxStack) {\n const closedRef = queues.shift();\n closedRef.close();\n }\n this.queues$.next([...queues, messageRef]);\n }\n\n remove(id: string) {\n if (!id) {\n this.queues.forEach(item => item.close());\n this.queues$.next([]);\n } else {\n const removeItem = this.queues.find(item => item.id === id);\n removeItem?.close();\n const afterRemovedQueues = this.queues.filter(item => item.id !== id);\n this.queues$.next(afterRemovedQueues);\n }\n }\n}\n","import { Directive, HostListener, Input, NgZone, OnDestroy, OnInit, inject } from '@angular/core';\nimport { ThyMessageBaseConfig } from '../message.config';\nimport { ThyAbstractMessageQueue } from './abstract-message-queue.service';\n\nexport const ANIMATION_IN_DURATION = 100;\nexport const ANIMATION_OUT_DURATION = 150;\nexport const HIDE_STYLE = { transform: 'translateX(0)', opacity: 0, height: 0, paddingTop: 0, paddingBottom: 0, margin: 0 };\n\n/**\n * @internal\n */\n@Directive()\nexport class ThyAbstractMessageComponent<TConfig extends ThyMessageBaseConfig> implements OnInit, OnDestroy {\n private _ngZone = inject(NgZone);\n\n animationState: string;\n\n config: TConfig;\n\n iconName = '';\n\n private closeTimer: any;\n\n private queue: ThyAbstractMessageQueue;\n\n @Input()\n set thyConfig(value: TConfig) {\n this.config = value;\n }\n\n constructor(queue: ThyAbstractMessageQueue) {\n this.queue = queue;\n }\n\n ngOnInit() {\n const iconName = {\n success: 'check-circle-fill',\n info: 'info-circle-fill',\n warning: 'waring-fill',\n error: 'close-circle-fill'\n };\n\n this.iconName = iconName[this.config.type];\n this.createCloseTimer();\n }\n\n @HostListener('mouseenter')\n mouseenter() {\n if (this.config.pauseOnHover) {\n this.clearCloseTimer();\n }\n }\n\n @HostListener('mouseleave')\n mouseleave() {\n if (this.config.pauseOnHover) {\n this.createCloseTimer();\n }\n }\n\n close() {\n this._ngZone.runOutsideAngular(() => {\n this.animationState = 'componentHide';\n setTimeout(() => {\n this.queue.remove(this.config.id);\n }, ANIMATION_OUT_DURATION);\n });\n }\n\n private createCloseTimer() {\n if (this.config.duration) {\n this.closeTimer = setInterval(() => {\n this.clearCloseTimer();\n this.close();\n }, this.config.duration);\n }\n }\n\n private clearCloseTimer() {\n clearInterval(this.closeTimer);\n }\n\n ngOnDestroy() {\n this.clearCloseTimer();\n }\n}\n","import { ComponentType, Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { Injector } from '@angular/core';\nimport { ThyAbstractMessageContainerComponent } from './abstract-message-container.component';\nimport { ThyAbstractMessageQueue } from './abstract-message-queue.service';\n\n/**\n * @internal\n */\nexport class ThyAbstractMessageService<TContainer extends ThyAbstractMessageContainerComponent> {\n protected container: TContainer;\n\n protected overlayRef: OverlayRef;\n\n private queue: ThyAbstractMessageQueue;\n\n constructor(\n private overlay: Overlay,\n private injector: Injector,\n queue: ThyAbstractMessageQueue\n ) {\n this.queue = queue;\n }\n\n protected createContainer(container: ComponentType<TContainer>): TContainer {\n if (this.container) {\n this.container.toOverlayTop();\n return this.container;\n }\n\n this.overlayRef = this.overlay.create({\n hasBackdrop: false,\n scrollStrategy: this.overlay.scrollStrategies.noop(),\n positionStrategy: this.overlay.position().global()\n });\n const componentPortal = new ComponentPortal(container, null, this.injector);\n const componentRef = this.overlayRef.attach(componentPortal);\n return componentRef.instance;\n }\n\n remove(id?: string) {\n this.queue.remove(id);\n }\n}\n","import { OverlayRef } from '@angular/cdk/overlay';\nimport { Subject } from 'rxjs';\nimport { ThyMessageBaseConfig } from '../message.config';\nimport { ThyAbstractMessageQueue } from './abstract-message-queue.service';\n\nexport class ThyAbstractMessageRef<TConfig extends ThyMessageBaseConfig = ThyMessageBaseConfig> {\n id: string;\n\n config: TConfig;\n\n private overlayRef: OverlayRef;\n\n private queueService: ThyAbstractMessageQueue;\n\n private _afterClosed = new Subject<void>();\n\n constructor(config: TConfig, overlayRef: OverlayRef, queueService: ThyAbstractMessageQueue) {\n this.id = config.id;\n this.config = config;\n this.overlayRef = overlayRef;\n this.queueService = queueService;\n }\n\n close() {\n this.queueService.queues$.next(this.queueService.queues.filter(item => item.id !== this.id));\n this._afterClosed.next();\n this._afterClosed.complete();\n }\n\n afterClosed() {\n return this._afterClosed.asObservable();\n }\n\n getOverlayRef() {\n return this.overlayRef;\n }\n}\n","import { InjectionToken, TemplateRef } from '@angular/core';\nimport { ComponentTypeOrTemplateRef } from 'ngx-tethys/core';\n\nexport type ThyMessageType = 'success' | 'error' | 'warning' | 'info' | 'loading';\n\nexport interface ThyGlobalMessageConfig {\n pauseOnHover?: boolean;\n\n duration?: number;\n\n maxStack?: number;\n\n offset?: string;\n\n showClose?: boolean;\n}\n\nexport const THY_MESSAGE_DEFAULT_CONFIG = new InjectionToken<ThyGlobalMessageConfig>('thy-message-default-config');\n\nexport const THY_MESSAGE_DEFAULT_CONFIG_VALUE: ThyGlobalMessageConfig = {\n offset: '20',\n duration: 4500,\n pauseOnHover: true,\n maxStack: 8,\n showClose: true\n};\n\nexport const THY_MESSAGE_DEFAULT_CONFIG_PROVIDER = {\n provide: THY_MESSAGE_DEFAULT_CONFIG,\n useValue: THY_MESSAGE_DEFAULT_CONFIG_VALUE\n};\n\nexport interface ThyMessageBaseConfig {\n id?: string;\n\n type?: string;\n\n pauseOnHover?: boolean;\n\n duration?: number;\n\n content?: string | ComponentTypeOrTemplateRef<any>;\n\n hostClass?: string | string[];\n}\n\nexport interface ThyMessageConfig extends ThyMessageBaseConfig {\n type?: ThyMessageType;\n\n content?: string | TemplateRef<any>;\n\n showClose?: boolean;\n}\n","import { Injectable, inject } from '@angular/core';\nimport { ThyAbstractMessageQueue } from './abstract';\nimport { ThyMessageRef } from './message-ref';\nimport { ThyGlobalMessageConfig, THY_MESSAGE_DEFAULT_CONFIG, THY_MESSAGE_DEFAULT_CONFIG_VALUE } from './message.config';\n\n/**\n * @internal\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class ThyMessageQueue extends ThyAbstractMessageQueue<ThyMessageRef> {\n constructor() {\n const defaultConfig = inject(THY_MESSAGE_DEFAULT_CONFIG);\n\n super({\n ...THY_MESSAGE_DEFAULT_CONFIG_VALUE,\n ...defaultConfig\n });\n }\n}\n","import { Component, Input, HostBinding, NgZone, inject } from '@angular/core';\nimport { trigger, state, style, animate, transition } from '@angular/animations';\nimport { ThyMessageConfig } from './message.config';\nimport { ThyMessageQueue } from './message-queue.service';\nimport { ANIMATION_IN_DURATION, ANIMATION_OUT_DURATION, HIDE_STYLE, ThyAbstractMessageComponent } from './abstract';\nimport { ThyStringOrTemplateOutletDirective } from 'ngx-tethys/shared';\nimport { ThyIcon } from 'ngx-tethys/icon';\n\nimport { coerceArray } from 'ngx-tethys/util';\nimport { useHostRenderer } from '@tethys/cdk/dom';\n\n/**\n * @internal\n */\n@Component({\n selector: 'thy-message',\n templateUrl: './message.component.html',\n host: {\n '[class]': \"'thy-message thy-message-' + config.type\"\n },\n animations: [\n trigger('flyInOut', [\n state('flyIn', style({ transform: 'translateY(0)', opacity: 1, height: '*' })),\n transition('void => flyIn', [\n style({ transform: 'translateY(-100%)', opacity: 0, height: '*' }),\n animate(ANIMATION_IN_DURATION)\n ]),\n transition('flyIn => componentHide', [animate(ANIMATION_OUT_DURATION, style(HIDE_STYLE))]),\n state('componentHide', style(HIDE_STYLE))\n ])\n ],\n imports: [ThyIcon, ThyStringOrTemplateOutletDirective]\n})\nexport class ThyMessage extends ThyAbstractMessageComponent<ThyMessageConfig> {\n @HostBinding('@flyInOut') animationState = 'flyIn';\n\n config: ThyMessageConfig;\n\n private hostRenderer = useHostRenderer();\n\n @Input()\n set thyConfig(value: ThyMessageConfig) {\n this.config = value;\n\n if (this.config?.hostClass) {\n const hostClass = coerceArray(this.config.hostClass);\n this.hostRenderer.updateClass(hostClass);\n }\n }\n\n constructor() {\n const messageQueue = inject(ThyMessageQueue);\n super(messageQueue);\n }\n}\n","@if (iconName) {\n <thy-icon class=\"thy-message-icon\" [thyIconName]=\"iconName\"></thy-icon>\n} @else {\n <span class=\"thy-message-icon loading-icon\"></span>\n}\n<div class=\"thy-message-main\">\n <ng-container *thyStringOrTemplateOutlet=\"config.content\"></ng-container>\n</div>\n@if (config.showClose) {\n <thy-icon class=\"thy-message-close\" thyIconName=\"close\" (click)=\"close()\"></thy-icon>\n}\n\n","import { Component, ElementRef, HostBinding, inject } from '@angular/core';\nimport { ThyAbstractMessageContainerComponent } from './abstract';\nimport { ThyMessageQueue } from './message-queue.service';\nimport { ThyGlobalMessageConfig, THY_MESSAGE_DEFAULT_CONFIG, THY_MESSAGE_DEFAULT_CONFIG_VALUE } from './message.config';\nimport { ThyMessage } from './message.component';\nimport { AsyncPipe } from '@angular/common';\n\n/**\n * @internal\n */\n@Component({\n selector: 'thy-message-container',\n template: `\n @for (message of messageQueue.queues$ | async; track $index) {\n <thy-message [thyConfig]=\"message.config\"></thy-message>\n }\n `,\n imports: [ThyMessage, AsyncPipe]\n})\nexport class ThyMessageContainer extends ThyAbstractMessageContainerComponent {\n messageQueue = inject(ThyMessageQueue);\n\n @HostBinding('class') className = 'thy-message-container';\n\n constructor() {\n const elementRef = inject(ElementRef);\n const defaultConfig = inject(THY_MESSAGE_DEFAULT_CONFIG);\n\n super({\n ...THY_MESSAGE_DEFAULT_CONFIG_VALUE,\n ...defaultConfig\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { ThySharedModule } from 'ngx-tethys/shared';\nimport { ThyMessage } from './message.component';\nimport { ThyMessageContainer } from './message-container.component';\nimport { THY_MESSAGE_DEFAULT_CONFIG_PROVIDER } from './message.config';\n\n@NgModule({\n imports: [CommonModule, ThySharedModule, OverlayModule, PortalModule, ThyIconModule, ThyMessageContainer, ThyMessage],\n exports: [ThyMessageContainer, ThyMessage],\n providers: [THY_MESSAGE_DEFAULT_CONFIG_PROVIDER]\n})\nexport class ThyMessageModule {}\n","import { ThyAbstractMessageRef } from './abstract';\nimport { ThyMessageConfig } from './message.config';\n\nexport class ThyMessageRef extends ThyAbstractMessageRef<ThyMessageConfig> {}\n","import { Overlay } from '@angular/cdk/overlay';\nimport { Injectable, Injector, TemplateRef, inject } from '@angular/core';\nimport { ThyMessageContainer } from './message-container.component';\nimport { ThyMessageRef } from './message-ref';\nimport { ThyMessageQueue } from './message-queue.service';\nimport { ThyGlobalMessageConfig, ThyMessageConfig, THY_MESSAGE_DEFAULT_CONFIG, THY_MESSAGE_DEFAULT_CONFIG_VALUE } from './message.config';\nimport { ThyAbstractMessageService } from './abstract';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ThyMessageService extends ThyAbstractMessageService<ThyMessageContainer> {\n private messageQueue: ThyMessageQueue;\n\n private _lastMessageId = 0;\n\n private defaultConfig: ThyGlobalMessageConfig;\n\n constructor() {\n const overlay = inject(Overlay);\n const injector = inject(Injector);\n const messageQueue = inject(ThyMessageQueue);\n const config = inject(THY_MESSAGE_DEFAULT_CONFIG);\n\n super(overlay, injector, messageQueue);\n this.messageQueue = messageQueue;\n\n this.defaultConfig = {\n ...THY_MESSAGE_DEFAULT_CONFIG_VALUE,\n ...config\n };\n }\n\n /**\n * 打开 success 类型的 Message\n */\n success(content: string | TemplateRef<any>, config?: ThyMessageConfig): ThyMessageRef {\n return this.show({\n ...(config || {}),\n type: 'success',\n content\n });\n }\n\n /**\n * 打开 error 类型的 Message\n */\n error(content: string | TemplateRef<any>, config?: ThyMessageConfig): ThyMessageRef {\n return this.show({\n ...(config || {}),\n type: 'error',\n content\n });\n }\n\n /**\n * 打开 info 类型的 Message\n */\n info(content: string | TemplateRef<any>, config?: ThyMessageConfig): ThyMessageRef {\n return this.show({\n ...(config || {}),\n type: 'info',\n content\n });\n }\n\n /**\n * 打开 warning 类型的 Message\n */\n warning(content: string | TemplateRef<any>, config?: ThyMessageConfig): ThyMessageRef {\n return this.show({\n ...(config || {}),\n type: 'warning',\n content\n });\n }\n\n /**\n * 打开 loading 类型的 Message\n */\n loading(content: string | TemplateRef<any>, config?: ThyMessageConfig): ThyMessageRef {\n return this.show({\n ...(config || {}),\n type: 'loading',\n content\n });\n }\n\n protected show(config: ThyMessageConfig): ThyMessageRef {\n this.container = this.createContainer(ThyMessageContainer);\n\n const messageConfig = this.formatOptions(config);\n const messageRef = new ThyMessageRef(messageConfig, this.overlayRef, this.messageQueue);\n this.messageQueue.add(messageRef);\n return messageRef;\n }\n\n private formatOptions(config: ThyMessageConfig) {\n return Object.assign({ id: String(this._lastMessageId++) }, this.defaultConfig, config);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.ThyAbstractMessageQueue"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngx-tethys-message.mjs","sources":["../../../src/message/abstract/abstract-message-container.component.ts","../../../src/message/abstract/abstract-message-queue.service.ts","../../../src/message/abstract/abstract-message.component.ts","../../../src/message/abstract/abstract-message.service.ts","../../../src/message/abstract/abstract-message-ref.ts","../../../src/message/message.config.ts","../../../src/message/message-queue.service.ts","../../../src/message/message.component.ts","../../../src/message/message.component.html","../../../src/message/message-container.component.ts","../../../src/message/module.ts","../../../src/message/message-ref.ts","../../../src/message/message.service.ts","../../../src/message/ngx-tethys-message.ts"],"sourcesContent":["import { coerceCssPixelValue } from '@angular/cdk/coercion';\nimport { Directive, ElementRef, HostBinding, inject } from '@angular/core';\nimport { ThyGlobalMessageConfig } from '../message.config';\n\n/**\n * @internal\n */\n@Directive()\nexport class ThyAbstractMessageContainerComponent {\n private elementRef = inject(ElementRef);\n\n @HostBinding('style.top') offset: string;\n\n constructor(defaultConfig: ThyGlobalMessageConfig) {\n this.offset = coerceCssPixelValue(defaultConfig.offset);\n }\n\n toOverlayTop() {\n const globalOverlayWrapper = this.elementRef.nativeElement.closest('.cdk-global-overlay-wrapper');\n const overlayContainer = globalOverlayWrapper.parentElement;\n overlayContainer.appendChild(globalOverlayWrapper);\n }\n}\n","import { BehaviorSubject } from 'rxjs';\nimport { ThyGlobalMessageConfig } from '../message.config';\nimport { IThyAbstractMessageQueue, ThyAbstractMessageRef } from './abstract-message-ref';\n\n/**\n * @internal\n */\nexport class ThyAbstractMessageQueue<TReferences extends ThyAbstractMessageRef = ThyAbstractMessageRef>\n implements IThyAbstractMessageQueue\n{\n queues$ = new BehaviorSubject<TReferences[]>([]);\n\n protected defaultConfig: ThyGlobalMessageConfig;\n\n get queues(): TReferences[] {\n return this.queues$.getValue();\n }\n\n constructor(defaultConfig: ThyGlobalMessageConfig) {\n this.defaultConfig = defaultConfig;\n }\n\n add(messageRef: TReferences) {\n const queues = this.queues$.getValue();\n if (this.queues.length >= this.defaultConfig.maxStack) {\n const closedRef = queues.shift();\n closedRef.close();\n }\n this.queues$.next([...queues, messageRef]);\n }\n\n remove(id: string) {\n if (!id) {\n this.queues.forEach(item => item.close());\n this.queues$.next([]);\n } else {\n const removeItem = this.queues.find(item => item.id === id);\n removeItem?.close();\n const afterRemovedQueues = this.queues.filter(item => item.id !== id);\n this.queues$.next(afterRemovedQueues);\n }\n }\n}\n","import { Directive, HostListener, Input, NgZone, OnDestroy, OnInit, inject } from '@angular/core';\nimport { ThyMessageBaseConfig } from '../message.config';\nimport { ThyAbstractMessageQueue } from './abstract-message-queue.service';\n\nexport const ANIMATION_IN_DURATION = 100;\nexport const ANIMATION_OUT_DURATION = 150;\nexport const HIDE_STYLE = { transform: 'translateX(0)', opacity: 0, height: 0, paddingTop: 0, paddingBottom: 0, margin: 0 };\n\n/**\n * @internal\n */\n@Directive()\nexport class ThyAbstractMessageComponent<TConfig extends ThyMessageBaseConfig> implements OnInit, OnDestroy {\n private _ngZone = inject(NgZone);\n\n animationState: string;\n\n config: TConfig;\n\n iconName = '';\n\n private closeTimer: any;\n\n private queue: ThyAbstractMessageQueue;\n\n @Input()\n set thyConfig(value: TConfig) {\n this.config = value;\n }\n\n constructor(queue: ThyAbstractMessageQueue) {\n this.queue = queue;\n }\n\n ngOnInit() {\n const iconName = {\n success: 'check-circle-fill',\n info: 'info-circle-fill',\n warning: 'waring-fill',\n error: 'close-circle-fill'\n };\n\n this.iconName = iconName[this.config.type];\n this.createCloseTimer();\n }\n\n @HostListener('mouseenter')\n mouseenter() {\n if (this.config.pauseOnHover) {\n this.clearCloseTimer();\n }\n }\n\n @HostListener('mouseleave')\n mouseleave() {\n if (this.config.pauseOnHover) {\n this.createCloseTimer();\n }\n }\n\n close() {\n this._ngZone.runOutsideAngular(() => {\n this.animationState = 'componentHide';\n setTimeout(() => {\n this.queue.remove(this.config.id);\n }, ANIMATION_OUT_DURATION);\n });\n }\n\n private createCloseTimer() {\n if (this.config.duration) {\n this.closeTimer = setInterval(() => {\n this.clearCloseTimer();\n this.close();\n }, this.config.duration);\n }\n }\n\n private clearCloseTimer() {\n clearInterval(this.closeTimer);\n }\n\n ngOnDestroy() {\n this.clearCloseTimer();\n }\n}\n","import { ComponentType, Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { Injector } from '@angular/core';\nimport { ThyAbstractMessageContainerComponent } from './abstract-message-container.component';\nimport { ThyAbstractMessageQueue } from './abstract-message-queue.service';\n\n/**\n * @internal\n */\nexport class ThyAbstractMessageService<TContainer extends ThyAbstractMessageContainerComponent> {\n protected container: TContainer;\n\n protected overlayRef: OverlayRef;\n\n private queue: ThyAbstractMessageQueue;\n\n constructor(\n private overlay: Overlay,\n private injector: Injector,\n queue: ThyAbstractMessageQueue\n ) {\n this.queue = queue;\n }\n\n protected createContainer(container: ComponentType<TContainer>): TContainer {\n if (this.container) {\n this.container.toOverlayTop();\n return this.container;\n }\n\n this.overlayRef = this.overlay.create({\n hasBackdrop: false,\n scrollStrategy: this.overlay.scrollStrategies.noop(),\n positionStrategy: this.overlay.position().global()\n });\n const componentPortal = new ComponentPortal(container, null, this.injector);\n const componentRef = this.overlayRef.attach(componentPortal);\n return componentRef.instance;\n }\n\n remove(id?: string) {\n this.queue.remove(id);\n }\n}\n","import { OverlayRef } from '@angular/cdk/overlay';\nimport { Subject } from 'rxjs';\nimport { ThyMessageBaseConfig } from '../message.config';\nimport { BehaviorSubject } from 'rxjs';\n\nexport interface IThyAbstractMessageQueue<TReferences extends ThyAbstractMessageRef = ThyAbstractMessageRef> {\n queues$: BehaviorSubject<TReferences[]>;\n queues: TReferences[];\n}\n\nexport class ThyAbstractMessageRef<TConfig extends ThyMessageBaseConfig = ThyMessageBaseConfig> {\n id: string;\n\n config: TConfig;\n\n private overlayRef: OverlayRef;\n\n private queueService: IThyAbstractMessageQueue;\n\n private _afterClosed = new Subject<void>();\n\n constructor(config: TConfig, overlayRef: OverlayRef, queueService: IThyAbstractMessageQueue) {\n this.id = config.id;\n this.config = config;\n this.overlayRef = overlayRef;\n this.queueService = queueService;\n }\n\n close() {\n this.queueService.queues$.next(this.queueService.queues.filter(item => item.id !== this.id));\n this._afterClosed.next();\n this._afterClosed.complete();\n }\n\n afterClosed() {\n return this._afterClosed.asObservable();\n }\n\n getOverlayRef() {\n return this.overlayRef;\n }\n}\n","import { InjectionToken, TemplateRef } from '@angular/core';\nimport { ComponentTypeOrTemplateRef } from 'ngx-tethys/core';\n\nexport type ThyMessageType = 'success' | 'error' | 'warning' | 'info' | 'loading';\n\nexport interface ThyGlobalMessageConfig {\n pauseOnHover?: boolean;\n\n duration?: number;\n\n maxStack?: number;\n\n offset?: string;\n\n showClose?: boolean;\n}\n\nexport const THY_MESSAGE_DEFAULT_CONFIG = new InjectionToken<ThyGlobalMessageConfig>('thy-message-default-config');\n\nexport const THY_MESSAGE_DEFAULT_CONFIG_VALUE: ThyGlobalMessageConfig = {\n offset: '20',\n duration: 4500,\n pauseOnHover: true,\n maxStack: 8,\n showClose: true\n};\n\nexport const THY_MESSAGE_DEFAULT_CONFIG_PROVIDER = {\n provide: THY_MESSAGE_DEFAULT_CONFIG,\n useValue: THY_MESSAGE_DEFAULT_CONFIG_VALUE\n};\n\nexport interface ThyMessageBaseConfig {\n id?: string;\n\n type?: string;\n\n pauseOnHover?: boolean;\n\n duration?: number;\n\n content?: string | ComponentTypeOrTemplateRef<any>;\n\n hostClass?: string | string[];\n}\n\nexport interface ThyMessageConfig extends ThyMessageBaseConfig {\n type?: ThyMessageType;\n\n content?: string | TemplateRef<any>;\n\n showClose?: boolean;\n}\n","import { Injectable, inject } from '@angular/core';\nimport { ThyAbstractMessageQueue } from './abstract';\nimport { ThyMessageRef } from './message-ref';\nimport { ThyGlobalMessageConfig, THY_MESSAGE_DEFAULT_CONFIG, THY_MESSAGE_DEFAULT_CONFIG_VALUE } from './message.config';\n\n/**\n * @internal\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class ThyMessageQueue extends ThyAbstractMessageQueue<ThyMessageRef> {\n constructor() {\n const defaultConfig = inject(THY_MESSAGE_DEFAULT_CONFIG);\n\n super({\n ...THY_MESSAGE_DEFAULT_CONFIG_VALUE,\n ...defaultConfig\n });\n }\n}\n","import { Component, Input, HostBinding, NgZone, inject } from '@angular/core';\nimport { trigger, state, style, animate, transition } from '@angular/animations';\nimport { ThyMessageConfig } from './message.config';\nimport { ThyMessageQueue } from './message-queue.service';\nimport { ANIMATION_IN_DURATION, ANIMATION_OUT_DURATION, HIDE_STYLE, ThyAbstractMessageComponent } from './abstract';\nimport { ThyStringOrTemplateOutletDirective } from 'ngx-tethys/shared';\nimport { ThyIcon } from 'ngx-tethys/icon';\n\nimport { coerceArray } from 'ngx-tethys/util';\nimport { useHostRenderer } from '@tethys/cdk/dom';\n\n/**\n * @internal\n */\n@Component({\n selector: 'thy-message',\n templateUrl: './message.component.html',\n host: {\n '[class]': \"'thy-message thy-message-' + config.type\"\n },\n animations: [\n trigger('flyInOut', [\n state('flyIn', style({ transform: 'translateY(0)', opacity: 1, height: '*' })),\n transition('void => flyIn', [\n style({ transform: 'translateY(-100%)', opacity: 0, height: '*' }),\n animate(ANIMATION_IN_DURATION)\n ]),\n transition('flyIn => componentHide', [animate(ANIMATION_OUT_DURATION, style(HIDE_STYLE))]),\n state('componentHide', style(HIDE_STYLE))\n ])\n ],\n imports: [ThyIcon, ThyStringOrTemplateOutletDirective]\n})\nexport class ThyMessage extends ThyAbstractMessageComponent<ThyMessageConfig> {\n @HostBinding('@flyInOut') animationState = 'flyIn';\n\n config: ThyMessageConfig;\n\n private hostRenderer = useHostRenderer();\n\n @Input()\n set thyConfig(value: ThyMessageConfig) {\n this.config = value;\n\n if (this.config?.hostClass) {\n const hostClass = coerceArray(this.config.hostClass);\n this.hostRenderer.updateClass(hostClass);\n }\n }\n\n constructor() {\n const messageQueue = inject(ThyMessageQueue);\n super(messageQueue);\n }\n}\n","@if (iconName) {\n <thy-icon class=\"thy-message-icon\" [thyIconName]=\"iconName\"></thy-icon>\n} @else {\n <span class=\"thy-message-icon loading-icon\"></span>\n}\n<div class=\"thy-message-main\">\n <ng-container *thyStringOrTemplateOutlet=\"config.content\"></ng-container>\n</div>\n@if (config.showClose) {\n <thy-icon class=\"thy-message-close\" thyIconName=\"close\" (click)=\"close()\"></thy-icon>\n}\n\n","import { Component, ElementRef, HostBinding, inject } from '@angular/core';\nimport { ThyAbstractMessageContainerComponent } from './abstract';\nimport { ThyMessageQueue } from './message-queue.service';\nimport { ThyGlobalMessageConfig, THY_MESSAGE_DEFAULT_CONFIG, THY_MESSAGE_DEFAULT_CONFIG_VALUE } from './message.config';\nimport { ThyMessage } from './message.component';\nimport { AsyncPipe } from '@angular/common';\n\n/**\n * @internal\n */\n@Component({\n selector: 'thy-message-container',\n template: `\n @for (message of messageQueue.queues$ | async; track message.id) {\n <thy-message [thyConfig]=\"message.config\"></thy-message>\n }\n `,\n imports: [ThyMessage, AsyncPipe]\n})\nexport class ThyMessageContainer extends ThyAbstractMessageContainerComponent {\n messageQueue = inject(ThyMessageQueue);\n\n @HostBinding('class') className = 'thy-message-container';\n\n constructor() {\n const elementRef = inject(ElementRef);\n const defaultConfig = inject(THY_MESSAGE_DEFAULT_CONFIG);\n\n super({\n ...THY_MESSAGE_DEFAULT_CONFIG_VALUE,\n ...defaultConfig\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { ThySharedModule } from 'ngx-tethys/shared';\nimport { ThyMessage } from './message.component';\nimport { ThyMessageContainer } from './message-container.component';\nimport { THY_MESSAGE_DEFAULT_CONFIG_PROVIDER } from './message.config';\n\n@NgModule({\n imports: [CommonModule, ThySharedModule, OverlayModule, PortalModule, ThyIconModule, ThyMessageContainer, ThyMessage],\n exports: [ThyMessageContainer, ThyMessage],\n providers: [THY_MESSAGE_DEFAULT_CONFIG_PROVIDER]\n})\nexport class ThyMessageModule {}\n","import { ThyAbstractMessageRef } from './abstract';\nimport { ThyMessageConfig } from './message.config';\n\nexport class ThyMessageRef extends ThyAbstractMessageRef<ThyMessageConfig> {}\n","import { Overlay } from '@angular/cdk/overlay';\nimport { Injectable, Injector, TemplateRef, inject } from '@angular/core';\nimport { ThyMessageContainer } from './message-container.component';\nimport { ThyMessageRef } from './message-ref';\nimport { ThyMessageQueue } from './message-queue.service';\nimport { ThyGlobalMessageConfig, ThyMessageConfig, THY_MESSAGE_DEFAULT_CONFIG, THY_MESSAGE_DEFAULT_CONFIG_VALUE } from './message.config';\nimport { ThyAbstractMessageService } from './abstract';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ThyMessageService extends ThyAbstractMessageService<ThyMessageContainer> {\n private messageQueue: ThyMessageQueue;\n\n private _lastMessageId = 0;\n\n private defaultConfig: ThyGlobalMessageConfig;\n\n constructor() {\n const overlay = inject(Overlay);\n const injector = inject(Injector);\n const messageQueue = inject(ThyMessageQueue);\n const config = inject(THY_MESSAGE_DEFAULT_CONFIG);\n\n super(overlay, injector, messageQueue);\n this.messageQueue = messageQueue;\n\n this.defaultConfig = {\n ...THY_MESSAGE_DEFAULT_CONFIG_VALUE,\n ...config\n };\n }\n\n /**\n * 打开 success 类型的 Message\n */\n success(content: string | TemplateRef<any>, config?: ThyMessageConfig): ThyMessageRef {\n return this.show({\n ...(config || {}),\n type: 'success',\n content\n });\n }\n\n /**\n * 打开 error 类型的 Message\n */\n error(content: string | TemplateRef<any>, config?: ThyMessageConfig): ThyMessageRef {\n return this.show({\n ...(config || {}),\n type: 'error',\n content\n });\n }\n\n /**\n * 打开 info 类型的 Message\n */\n info(content: string | TemplateRef<any>, config?: ThyMessageConfig): ThyMessageRef {\n return this.show({\n ...(config || {}),\n type: 'info',\n content\n });\n }\n\n /**\n * 打开 warning 类型的 Message\n */\n warning(content: string | TemplateRef<any>, config?: ThyMessageConfig): ThyMessageRef {\n return this.show({\n ...(config || {}),\n type: 'warning',\n content\n });\n }\n\n /**\n * 打开 loading 类型的 Message\n */\n loading(content: string | TemplateRef<any>, config?: ThyMessageConfig): ThyMessageRef {\n return this.show({\n ...(config || {}),\n type: 'loading',\n content\n });\n }\n\n protected show(config: ThyMessageConfig): ThyMessageRef {\n this.container = this.createContainer(ThyMessageContainer);\n\n const messageConfig = this.formatOptions(config);\n const messageRef = new ThyMessageRef(messageConfig, this.overlayRef, this.messageQueue);\n this.messageQueue.add(messageRef);\n return messageRef;\n }\n\n private formatOptions(config: ThyMessageConfig) {\n return Object.assign({ id: String(this._lastMessageId++) }, this.defaultConfig, config);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.ThyAbstractMessageQueue"],"mappings":"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"}
|