ngx-tethys 18.0.7 → 18.1.0-next.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/CHANGELOG.md +18 -0
- package/alert/alert.component.d.ts +11 -19
- package/anchor/anchor.component.d.ts +1 -3
- package/badge/badge.component.d.ts +12 -3
- package/date-picker/lib/date/date-table-cell.component.d.ts +1 -1
- package/date-picker/lib/popups/date-popup.component.d.ts +0 -1
- package/date-picker/lib/popups/inner-popup.component.d.ts +2 -1
- package/date-range/date-range.component.d.ts +2 -8
- package/divider/divider.component.d.ts +8 -2
- package/esm2022/action/action.component.mjs +3 -4
- package/esm2022/alert/alert.component.mjs +55 -81
- package/esm2022/anchor/anchor-link.component.mjs +15 -7
- package/esm2022/anchor/anchor.component.mjs +17 -9
- package/esm2022/arrow-switcher/arrow-switcher.component.mjs +4 -5
- package/esm2022/autocomplete/autocomplete.component.mjs +5 -5
- package/esm2022/avatar/avatar-list/avatar-list.component.mjs +4 -4
- package/esm2022/avatar/avatar.component.mjs +4 -4
- package/esm2022/back-top/back-top.component.mjs +4 -4
- package/esm2022/badge/badge.component.mjs +3 -4
- package/esm2022/breadcrumb/breadcrumb.component.mjs +4 -6
- package/esm2022/button/button-icon.component.mjs +4 -4
- package/esm2022/button/button.component.mjs +4 -4
- package/esm2022/calendar/calendar-header.component.mjs +4 -4
- package/esm2022/calendar/calendar.component.mjs +3 -4
- package/esm2022/card/header.component.mjs +4 -4
- package/esm2022/carousel/carousel.component.mjs +4 -4
- package/esm2022/cascader/cascader-li.component.mjs +4 -4
- package/esm2022/cascader/cascader-search-option.component.mjs +4 -4
- package/esm2022/cascader/cascader.component.mjs +5 -7
- package/esm2022/checkbox/checkbox.component.mjs +5 -5
- package/esm2022/collapse/collapse-item.component.mjs +4 -4
- package/esm2022/color-picker/color-picker-panel.component.mjs +4 -4
- package/esm2022/comment/comment.component.mjs +4 -4
- package/esm2022/date-picker/date-picker.component.mjs +5 -6
- package/esm2022/date-picker/lib/calendar/calendar-footer.component.mjs +3 -4
- package/esm2022/date-picker/lib/date/date-header.component.mjs +4 -4
- package/esm2022/date-picker/lib/date/date-table-cell.component.mjs +4 -4
- package/esm2022/date-picker/lib/date/date-table.component.mjs +4 -4
- package/esm2022/date-picker/lib/date-carousel/date-carousel.component.mjs +5 -5
- package/esm2022/date-picker/lib/decade/decade-header.component.mjs +4 -4
- package/esm2022/date-picker/lib/decade/decade-table.component.mjs +4 -4
- package/esm2022/date-picker/lib/month/month-header.component.mjs +4 -4
- package/esm2022/date-picker/lib/month/month-table.component.mjs +4 -4
- package/esm2022/date-picker/lib/popups/date-popup.component.mjs +4 -18
- package/esm2022/date-picker/lib/popups/inner-popup.component.mjs +3 -8
- package/esm2022/date-picker/lib/quarter/quarter-table.component.mjs +4 -4
- package/esm2022/date-picker/lib/year/year-header.component.mjs +4 -4
- package/esm2022/date-picker/lib/year/year-table.component.mjs +4 -4
- package/esm2022/date-picker/month-picker.component.mjs +4 -5
- package/esm2022/date-picker/picker.component.mjs +4 -14
- package/esm2022/date-picker/quarter-picker.component.mjs +4 -5
- package/esm2022/date-picker/range-picker.component.mjs +4 -5
- package/esm2022/date-picker/week-picker.component.mjs +4 -5
- package/esm2022/date-picker/year-picker.component.mjs +4 -5
- package/esm2022/date-range/date-range.component.mjs +4 -4
- package/esm2022/date-range/optional-dates/optional-dates.component.mjs +3 -6
- package/esm2022/dialog/footer/dialog-footer.component.mjs +4 -4
- package/esm2022/dialog/header/dialog-header.component.mjs +4 -4
- package/esm2022/divider/divider.component.mjs +21 -13
- package/esm2022/dropdown/dropdown-menu.component.mjs +11 -7
- package/esm2022/empty/empty.component.mjs +4 -4
- package/esm2022/form/form-group-error/form-group-error.component.mjs +4 -4
- package/esm2022/form/form-group.component.mjs +4 -4
- package/esm2022/form/from-group-footer/form-group-footer.component.mjs +4 -4
- package/esm2022/guider/guider-hint/guider-hint.component.mjs +4 -4
- package/esm2022/image/preview/image-preview.component.mjs +3 -4
- package/esm2022/input/input-group.component.mjs +4 -4
- package/esm2022/input/input-search.component.mjs +3 -4
- package/esm2022/input/input.component.mjs +4 -4
- package/esm2022/layout/header.component.mjs +4 -4
- package/esm2022/layout/sidebar-header.component.mjs +4 -4
- package/esm2022/layout/sidebar.component.mjs +81 -71
- package/esm2022/list/list-item-meta.component.mjs +4 -4
- package/esm2022/loading/loading.component.mjs +3 -4
- package/esm2022/mention/suggestions/suggestions.component.mjs +4 -4
- package/esm2022/menu/group/menu-group.component.mjs +4 -4
- package/esm2022/menu/item/menu-item.component.mjs +3 -4
- package/esm2022/message/message-container.component.mjs +13 -5
- package/esm2022/message/message.component.mjs +3 -4
- package/esm2022/nav/icon-nav/icon-nav-link.directive.mjs +4 -5
- package/esm2022/nav/nav.component.mjs +4 -6
- package/esm2022/notify/notify-container.component.mjs +4 -4
- package/esm2022/notify/notify.component.mjs +4 -4
- package/esm2022/pagination/pagination.component.mjs +4 -4
- package/esm2022/popover/header/popover-header.component.mjs +4 -4
- package/esm2022/progress/progress-circle.component.mjs +4 -7
- package/esm2022/progress/progress.component.mjs +5 -8
- package/esm2022/property/property-item.component.mjs +4 -4
- package/esm2022/property-operation/property-operation.component.mjs +4 -4
- package/esm2022/radio/radio.component.mjs +5 -5
- package/esm2022/rate/rate.component.mjs +5 -5
- package/esm2022/resizable/resize-handle.component.mjs +10 -7
- package/esm2022/resizable/resize-handles.component.mjs +12 -5
- package/esm2022/result/result.component.mjs +4 -4
- package/esm2022/segment/segment-item.component.mjs +4 -4
- package/esm2022/segment/segment.component.mjs +4 -5
- package/esm2022/select/custom-select/custom-select.component.mjs +6 -8
- package/esm2022/select/native-select/native-select.component.mjs +5 -6
- package/esm2022/shared/option/list-option/list-option.component.mjs +3 -4
- package/esm2022/shared/option/option.component.mjs +3 -4
- package/esm2022/shared/select/select-control/select-control.component.mjs +5 -5
- package/esm2022/skeleton/stylized/bullet-list.component.mjs +8 -9
- package/esm2022/skeleton/stylized/list.component.mjs +8 -9
- package/esm2022/skeleton/stylized/paragraph.component.mjs +8 -9
- package/esm2022/slide/slide-header/slide-header.component.mjs +4 -4
- package/esm2022/space/space.component.mjs +4 -4
- package/esm2022/statistic/statistic.component.mjs +4 -4
- package/esm2022/stepper/stepper.component.mjs +5 -5
- package/esm2022/switch/switch.component.mjs +6 -6
- package/esm2022/table/table-skeleton.component.mjs +4 -7
- package/esm2022/table/table.component.mjs +5 -7
- package/esm2022/tabs/tab-content.component.mjs +9 -9
- package/esm2022/tabs/tabs.component.mjs +4 -7
- package/esm2022/time-picker/inner/inner-time-picker.component.mjs +3 -4
- package/esm2022/time-picker/time-picker-panel.component.mjs +5 -8
- package/esm2022/time-picker/time-picker.component.mjs +5 -15
- package/esm2022/timeline/timeline-item.component.mjs +4 -4
- package/esm2022/timeline/timeline.component.mjs +9 -9
- package/esm2022/tooltip/tooltip.component.mjs +4 -4
- package/esm2022/transfer/transfer-list.component.mjs +4 -4
- package/esm2022/transfer/transfer.component.mjs +4 -4
- package/esm2022/tree/tree-node.component.mjs +4 -4
- package/esm2022/tree/tree.component.mjs +5 -7
- package/esm2022/tree-select/tree-select.component.mjs +7 -10
- package/esm2022/typography/text/text.component.mjs +3 -4
- package/esm2022/version.mjs +2 -2
- package/esm2022/vote/vote.component.mjs +4 -4
- package/fesm2022/ngx-tethys-action.mjs +3 -3
- package/fesm2022/ngx-tethys-action.mjs.map +1 -1
- package/fesm2022/ngx-tethys-alert.mjs +54 -80
- package/fesm2022/ngx-tethys-alert.mjs.map +1 -1
- package/fesm2022/ngx-tethys-anchor.mjs +29 -13
- package/fesm2022/ngx-tethys-anchor.mjs.map +1 -1
- package/fesm2022/ngx-tethys-arrow-switcher.mjs +4 -4
- package/fesm2022/ngx-tethys-arrow-switcher.mjs.map +1 -1
- package/fesm2022/ngx-tethys-autocomplete.mjs +4 -4
- package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
- package/fesm2022/ngx-tethys-avatar.mjs +5 -5
- package/fesm2022/ngx-tethys-avatar.mjs.map +1 -1
- package/fesm2022/ngx-tethys-back-top.mjs +3 -3
- package/fesm2022/ngx-tethys-back-top.mjs.map +1 -1
- package/fesm2022/ngx-tethys-badge.mjs +3 -3
- package/fesm2022/ngx-tethys-badge.mjs.map +1 -1
- package/fesm2022/ngx-tethys-breadcrumb.mjs +3 -5
- package/fesm2022/ngx-tethys-breadcrumb.mjs.map +1 -1
- package/fesm2022/ngx-tethys-button.mjs +5 -5
- package/fesm2022/ngx-tethys-button.mjs.map +1 -1
- package/fesm2022/ngx-tethys-calendar.mjs +5 -5
- package/fesm2022/ngx-tethys-calendar.mjs.map +1 -1
- package/fesm2022/ngx-tethys-card.mjs +3 -3
- package/fesm2022/ngx-tethys-card.mjs.map +1 -1
- package/fesm2022/ngx-tethys-carousel.mjs +3 -3
- package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
- package/fesm2022/ngx-tethys-cascader.mjs +8 -10
- package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
- package/fesm2022/ngx-tethys-checkbox.mjs +4 -4
- package/fesm2022/ngx-tethys-checkbox.mjs.map +1 -1
- package/fesm2022/ngx-tethys-collapse.mjs +3 -3
- package/fesm2022/ngx-tethys-collapse.mjs.map +1 -1
- package/fesm2022/ngx-tethys-color-picker.mjs +3 -3
- package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-comment.mjs +3 -3
- package/fesm2022/ngx-tethys-comment.mjs.map +1 -1
- package/fesm2022/ngx-tethys-date-picker.mjs +51 -79
- package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-date-range.mjs +5 -7
- package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
- package/fesm2022/ngx-tethys-dialog.mjs +5 -5
- package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
- package/fesm2022/ngx-tethys-divider.mjs +20 -12
- package/fesm2022/ngx-tethys-divider.mjs.map +1 -1
- package/fesm2022/ngx-tethys-dropdown.mjs +10 -6
- package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
- package/fesm2022/ngx-tethys-empty.mjs +3 -3
- package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
- package/fesm2022/ngx-tethys-form.mjs +7 -7
- package/fesm2022/ngx-tethys-form.mjs.map +1 -1
- package/fesm2022/ngx-tethys-guider.mjs +3 -3
- package/fesm2022/ngx-tethys-guider.mjs.map +1 -1
- package/fesm2022/ngx-tethys-image.mjs +3 -3
- package/fesm2022/ngx-tethys-image.mjs.map +1 -1
- package/fesm2022/ngx-tethys-input.mjs +7 -7
- package/fesm2022/ngx-tethys-input.mjs.map +1 -1
- package/fesm2022/ngx-tethys-layout.mjs +84 -74
- package/fesm2022/ngx-tethys-layout.mjs.map +1 -1
- package/fesm2022/ngx-tethys-list.mjs +3 -3
- package/fesm2022/ngx-tethys-list.mjs.map +1 -1
- package/fesm2022/ngx-tethys-loading.mjs +3 -3
- package/fesm2022/ngx-tethys-loading.mjs.map +1 -1
- package/fesm2022/ngx-tethys-mention.mjs +3 -3
- package/fesm2022/ngx-tethys-mention.mjs.map +1 -1
- package/fesm2022/ngx-tethys-menu.mjs +5 -5
- package/fesm2022/ngx-tethys-menu.mjs.map +1 -1
- package/fesm2022/ngx-tethys-message.mjs +14 -6
- package/fesm2022/ngx-tethys-message.mjs.map +1 -1
- package/fesm2022/ngx-tethys-nav.mjs +6 -8
- package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
- package/fesm2022/ngx-tethys-notify.mjs +5 -5
- package/fesm2022/ngx-tethys-notify.mjs.map +1 -1
- package/fesm2022/ngx-tethys-pagination.mjs +3 -3
- package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
- package/fesm2022/ngx-tethys-popover.mjs +3 -3
- package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
- package/fesm2022/ngx-tethys-progress.mjs +6 -12
- package/fesm2022/ngx-tethys-progress.mjs.map +1 -1
- package/fesm2022/ngx-tethys-property-operation.mjs +3 -3
- package/fesm2022/ngx-tethys-property-operation.mjs.map +1 -1
- package/fesm2022/ngx-tethys-property.mjs +3 -3
- package/fesm2022/ngx-tethys-property.mjs.map +1 -1
- package/fesm2022/ngx-tethys-radio.mjs +4 -4
- package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
- package/fesm2022/ngx-tethys-rate.mjs +4 -4
- package/fesm2022/ngx-tethys-rate.mjs.map +1 -1
- package/fesm2022/ngx-tethys-resizable.mjs +21 -9
- package/fesm2022/ngx-tethys-resizable.mjs.map +1 -1
- package/fesm2022/ngx-tethys-result.mjs +3 -3
- package/fesm2022/ngx-tethys-result.mjs.map +1 -1
- package/fesm2022/ngx-tethys-segment.mjs +6 -6
- package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
- package/fesm2022/ngx-tethys-select.mjs +9 -11
- package/fesm2022/ngx-tethys-select.mjs.map +1 -1
- package/fesm2022/ngx-tethys-shared.mjs +8 -8
- package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
- package/fesm2022/ngx-tethys-skeleton.mjs +22 -22
- package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
- package/fesm2022/ngx-tethys-slide.mjs +3 -3
- package/fesm2022/ngx-tethys-slide.mjs.map +1 -1
- package/fesm2022/ngx-tethys-space.mjs +3 -3
- package/fesm2022/ngx-tethys-space.mjs.map +1 -1
- package/fesm2022/ngx-tethys-statistic.mjs +3 -3
- package/fesm2022/ngx-tethys-statistic.mjs.map +1 -1
- package/fesm2022/ngx-tethys-stepper.mjs +4 -4
- package/fesm2022/ngx-tethys-stepper.mjs.map +1 -1
- package/fesm2022/ngx-tethys-switch.mjs +5 -5
- package/fesm2022/ngx-tethys-switch.mjs.map +1 -1
- package/fesm2022/ngx-tethys-table.mjs +6 -11
- package/fesm2022/ngx-tethys-table.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tabs.mjs +10 -13
- package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
- package/fesm2022/ngx-tethys-time-picker.mjs +9 -22
- package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-timeline.mjs +10 -10
- package/fesm2022/ngx-tethys-timeline.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tooltip.mjs +3 -3
- package/fesm2022/ngx-tethys-tooltip.mjs.map +1 -1
- package/fesm2022/ngx-tethys-transfer.mjs +5 -5
- package/fesm2022/ngx-tethys-transfer.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tree-select.mjs +6 -9
- package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tree.mjs +6 -8
- package/fesm2022/ngx-tethys-tree.mjs.map +1 -1
- package/fesm2022/ngx-tethys-typography.mjs +3 -3
- package/fesm2022/ngx-tethys-typography.mjs.map +1 -1
- package/fesm2022/ngx-tethys-vote.mjs +3 -3
- package/fesm2022/ngx-tethys-vote.mjs.map +1 -1
- package/fesm2022/ngx-tethys.mjs +1 -1
- package/fesm2022/ngx-tethys.mjs.map +1 -1
- package/menu/group/menu-group.component.d.ts +42 -6
- package/package.json +1 -1
- package/pagination/pagination.component.d.ts +15 -5
- package/progress/progress-circle.component.d.ts +0 -1
- package/progress/progress.component.d.ts +0 -1
- package/property/property-item.component.d.ts +1 -4
- package/resizable/resize-handle.component.d.ts +1 -4
- package/schematics/version.d.ts +1 -1
- package/schematics/version.js +1 -1
- package/segment/segment.component.d.ts +1 -5
- package/shared/option/list-option/list-option.component.d.ts +5 -1
- package/skeleton/stylized/bullet-list.component.d.ts +9 -1
- package/table/table-skeleton.component.d.ts +10 -3
- package/tabs/tabs.component.d.ts +0 -1
- package/time-picker/time-picker-panel.component.d.ts +0 -1
- package/tree/tree-node.component.d.ts +10 -10
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { TemplateRef, Component, ViewEncapsulation, ChangeDetectionStrategy, Input, NgModule } from '@angular/core';
|
|
3
|
-
import {
|
|
3
|
+
import { NgTemplateOutlet, CommonModule } from '@angular/common';
|
|
4
4
|
import { ThySharedModule } from 'ngx-tethys/shared';
|
|
5
5
|
import { ThyIconModule } from 'ngx-tethys/icon';
|
|
6
6
|
import { useHostRenderer } from '@tethys/cdk/dom';
|
|
@@ -57,13 +57,17 @@ class ThyDivider {
|
|
|
57
57
|
this.hostRenderer.updateClass([`thy-divider-${color}`]);
|
|
58
58
|
}
|
|
59
59
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyDivider, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
60
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
61
|
-
|
|
62
|
-
<
|
|
63
|
-
|
|
60
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: ThyDivider, isStandalone: true, selector: "thy-divider", inputs: { thyVertical: ["thyVertical", "thyVertical", coerceBooleanProperty], thyStyle: "thyStyle", thyColor: "thyColor", thyText: "thyText", thyTextDirection: "thyTextDirection", thyDeeper: ["thyDeeper", "thyDeeper", coerceBooleanProperty] }, host: { properties: { "class.thy-divider": "true", "class.thy-divider-horizontal": "!thyVertical", "class.thy-divider-vertical": "thyVertical", "class.thy-divider-with-content": "textContent || templateContent", "class.thy-divider-with-content-left": "(textContent || templateContent) && thyTextDirection === 'left'", "class.thy-divider-with-content-right": "(textContent || templateContent) && thyTextDirection === 'right'", "class.thy-divider-with-content-center": "(textContent || templateContent) && thyTextDirection === 'center'", "class.thy-divider-solid": "thyStyle === 'solid'", "class.thy-divider-dashed": "thyStyle === 'dashed'", "class.thy-divider-deeper": "!!thyDeeper" } }, usesOnChanges: true, ngImport: i0, template: `
|
|
61
|
+
@if (templateContent) {
|
|
62
|
+
<div class="thy-divider-inner-template">
|
|
63
|
+
<ng-template *ngTemplateOutlet="templateContent"></ng-template>
|
|
64
|
+
</div>
|
|
65
|
+
}
|
|
64
66
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
+
@if (textContent) {
|
|
68
|
+
<span class="thy-divider-inner-text">{{ textContent }}</span>
|
|
69
|
+
}
|
|
70
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
67
71
|
}
|
|
68
72
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyDivider, decorators: [{
|
|
69
73
|
type: Component,
|
|
@@ -72,11 +76,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
72
76
|
encapsulation: ViewEncapsulation.None,
|
|
73
77
|
selector: 'thy-divider',
|
|
74
78
|
template: `
|
|
75
|
-
|
|
76
|
-
<
|
|
77
|
-
|
|
79
|
+
@if (templateContent) {
|
|
80
|
+
<div class="thy-divider-inner-template">
|
|
81
|
+
<ng-template *ngTemplateOutlet="templateContent"></ng-template>
|
|
82
|
+
</div>
|
|
83
|
+
}
|
|
78
84
|
|
|
79
|
-
|
|
85
|
+
@if (textContent) {
|
|
86
|
+
<span class="thy-divider-inner-text">{{ textContent }}</span>
|
|
87
|
+
}
|
|
80
88
|
`,
|
|
81
89
|
host: {
|
|
82
90
|
'[class.thy-divider]': `true`,
|
|
@@ -92,7 +100,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
92
100
|
},
|
|
93
101
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
94
102
|
standalone: true,
|
|
95
|
-
imports: [
|
|
103
|
+
imports: [NgTemplateOutlet]
|
|
96
104
|
}]
|
|
97
105
|
}], ctorParameters: () => [], propDecorators: { thyVertical: [{
|
|
98
106
|
type: Input,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-tethys-divider.mjs","sources":["../../../src/divider/divider.component.ts","../../../src/divider/divider.module.ts","../../../src/divider/ngx-tethys-divider.ts"],"sourcesContent":["import { Component, Input, TemplateRef, ViewEncapsulation, OnChanges, SimpleChanges, OnInit, ChangeDetectionStrategy } from '@angular/core';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport {
|
|
1
|
+
{"version":3,"file":"ngx-tethys-divider.mjs","sources":["../../../src/divider/divider.component.ts","../../../src/divider/divider.module.ts","../../../src/divider/ngx-tethys-divider.ts"],"sourcesContent":["import { Component, Input, TemplateRef, ViewEncapsulation, OnChanges, SimpleChanges, OnInit, ChangeDetectionStrategy } from '@angular/core';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\nexport type ThyDividerStyle = 'solid' | 'dashed';\n\nexport type ThyDividerTextDirection = 'left' | 'right' | 'center';\n\nexport type ThyDividerColor = 'lighter' | 'light' | 'danger' | 'primary' | 'success' | 'warning' | string;\n\n/**\n * 分割线\n * @name thy-divider\n */\n@Component({\n preserveWhitespaces: false,\n encapsulation: ViewEncapsulation.None,\n selector: 'thy-divider',\n template: `\n @if (templateContent) {\n <div class=\"thy-divider-inner-template\">\n <ng-template *ngTemplateOutlet=\"templateContent\"></ng-template>\n </div>\n }\n\n @if (textContent) {\n <span class=\"thy-divider-inner-text\">{{ textContent }}</span>\n }\n `,\n host: {\n '[class.thy-divider]': `true`,\n '[class.thy-divider-horizontal]': `!thyVertical`,\n '[class.thy-divider-vertical]': `thyVertical`,\n '[class.thy-divider-with-content]': `textContent || templateContent`,\n '[class.thy-divider-with-content-left]': `(textContent || templateContent) && thyTextDirection === 'left'`,\n '[class.thy-divider-with-content-right]': `(textContent || templateContent) && thyTextDirection === 'right'`,\n '[class.thy-divider-with-content-center]': `(textContent || templateContent) && thyTextDirection === 'center'`,\n '[class.thy-divider-solid]': `thyStyle === 'solid'`,\n '[class.thy-divider-dashed]': `thyStyle === 'dashed'`,\n '[class.thy-divider-deeper]': `!!thyDeeper`\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [NgTemplateOutlet]\n})\nexport class ThyDivider implements OnChanges, OnInit {\n templateContent: TemplateRef<HTMLElement>;\n\n textContent: string;\n\n private hostRenderer = useHostRenderer();\n\n /**\n * 是否垂直方向\n * @default false\n */\n @Input({ transform: coerceBooleanProperty }) thyVertical: boolean;\n\n /**\n * 分割线的风格\n * @type solid(实线) | dashed(虚线)\n */\n @Input() thyStyle: ThyDividerStyle = 'solid';\n\n /**\n * 分割线的颜色,默认 #eee,light 为 #ddd,primary 主色,success 成功色,warning 警告色,danger 危险色\n * @type 'lighter' | 'light' | 'danger' | 'primary' | 'success' | 'warning' | string\n */\n @Input() thyColor: ThyDividerColor = 'default';\n\n /**\n * 中间文本内容,支持文字和模板\n */\n @Input() set thyText(value: string | TemplateRef<HTMLElement>) {\n if (value instanceof TemplateRef) {\n this.templateContent = value;\n } else {\n this.textContent = value;\n }\n }\n\n /**\n * 中间内容的方向\n * @type left | right | center\n */\n @Input() thyTextDirection: ThyDividerTextDirection = 'center';\n\n /**\n * 颜色加深,已经废弃,请使用 thyColor=\"light\" 代替\n * @deprecated\n */\n @Input({ transform: coerceBooleanProperty })\n thyDeeper = false;\n\n constructor() {}\n\n ngOnInit(): void {\n this.setColor(this.thyColor);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.thyColor && !changes.thyColor.isFirstChange()) {\n this.setColor(changes.thyColor.currentValue);\n }\n }\n\n setColor(color: ThyDividerColor) {\n this.hostRenderer.updateClass([`thy-divider-${color}`]);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThySharedModule } from 'ngx-tethys/shared';\nimport { ThyIconModule } from 'ngx-tethys/icon';\n\nimport { ThyDivider } from './divider.component';\n\n@NgModule({\n imports: [CommonModule, ThySharedModule, ThyIconModule, ThyDivider],\n exports: [ThyDivider],\n providers: []\n})\nexport class ThyDividerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Directive, HostBinding, Component, ViewEncapsulation, ChangeDetectionStrategy, ViewChild, Input, EventEmitter, numberAttribute, Output, HostListener, inject, DestroyRef, Optional, ContentChildren, NgModule } from '@angular/core';
|
|
3
|
-
import {
|
|
3
|
+
import { NgTemplateOutlet, CommonModule } from '@angular/common';
|
|
4
4
|
import * as i1 from 'ngx-tethys/popover';
|
|
5
5
|
import { ThyPopoverModule } from 'ngx-tethys/popover';
|
|
6
6
|
import * as i3 from '@angular/cdk/a11y';
|
|
@@ -52,8 +52,10 @@ class ThyDropdownMenuComponent {
|
|
|
52
52
|
this.thyImmediateRender = false;
|
|
53
53
|
}
|
|
54
54
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyDropdownMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
55
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
56
|
-
|
|
55
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: ThyDropdownMenuComponent, isStandalone: true, selector: "thy-dropdown-menu", inputs: { thyWidth: "thyWidth", thyImmediateRender: ["thyImmediateRender", "thyImmediateRender", coerceBooleanProperty] }, host: { properties: { "class.thy-dropdown-menu": "thyImmediateRender", "style.width": "thyImmediateRender ? thyWidth : ''" } }, viewQueries: [{ propertyName: "templateRef", first: true, predicate: ["dropdownMenu"], descendants: true, static: true }], ngImport: i0, template: `
|
|
56
|
+
@if (thyImmediateRender) {
|
|
57
|
+
<ng-container *ngTemplateOutlet="content"></ng-container>
|
|
58
|
+
}
|
|
57
59
|
<ng-template #dropdownMenu>
|
|
58
60
|
<div class="thy-dropdown-menu" [style.width]="thyWidth">
|
|
59
61
|
<ng-container *ngTemplateOutlet="content"></ng-container>
|
|
@@ -62,7 +64,7 @@ class ThyDropdownMenuComponent {
|
|
|
62
64
|
<ng-template #content>
|
|
63
65
|
<ng-content></ng-content>
|
|
64
66
|
</ng-template>
|
|
65
|
-
`, isInline: true, dependencies: [{ kind: "directive", type:
|
|
67
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
66
68
|
}
|
|
67
69
|
__decorate([
|
|
68
70
|
InputCssPixel(),
|
|
@@ -73,7 +75,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
73
75
|
args: [{
|
|
74
76
|
selector: 'thy-dropdown-menu',
|
|
75
77
|
template: `
|
|
76
|
-
|
|
78
|
+
@if (thyImmediateRender) {
|
|
79
|
+
<ng-container *ngTemplateOutlet="content"></ng-container>
|
|
80
|
+
}
|
|
77
81
|
<ng-template #dropdownMenu>
|
|
78
82
|
<div class="thy-dropdown-menu" [style.width]="thyWidth">
|
|
79
83
|
<ng-container *ngTemplateOutlet="content"></ng-container>
|
|
@@ -90,7 +94,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
90
94
|
'[style.width]': "thyImmediateRender ? thyWidth : ''"
|
|
91
95
|
},
|
|
92
96
|
standalone: true,
|
|
93
|
-
imports: [
|
|
97
|
+
imports: [NgTemplateOutlet]
|
|
94
98
|
}]
|
|
95
99
|
}], ctorParameters: () => [], propDecorators: { templateRef: [{
|
|
96
100
|
type: ViewChild,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-tethys-dropdown.mjs","sources":["../../../src/dropdown/dropdown-menu.component.ts","../../../src/dropdown/dropdown.directive.ts","../../../src/dropdown/dropdown-menu-item.directive.ts","../../../src/dropdown/dropdown-submenu.component.ts","../../../src/dropdown/dropdown-active.directive.ts","../../../src/dropdown/module.ts","../../../src/dropdown/ngx-tethys-dropdown.ts"],"sourcesContent":["import { NgIf, NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n Directive,\n HostBinding,\n Input,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { InputCssPixel } from 'ngx-tethys/core';\nimport { SafeAny } from 'ngx-tethys/types';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\nexport type ThyDropdownMenuDividerType = 'default' | 'crossing' | '';\n\nexport const THY_DROPDOWN_DEFAULT_WIDTH = '240px';\n\n/**\n * @private\n */\n@Directive()\nexport class ThyDropdownAbstractMenu {\n @HostBinding('class.thy-dropdown-menu') addDropdownMenuClass = true;\n}\n\n/**\n * 下拉菜单组件\n * @name thy-dropdown-menu\n * @order 20\n */\n@Component({\n selector: 'thy-dropdown-menu',\n template: `\n <ng-container *ngIf=\"thyImmediateRender; then content\"> </ng-container>\n <ng-template #dropdownMenu>\n <div class=\"thy-dropdown-menu\" [style.width]=\"thyWidth\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n </ng-template>\n <ng-template #content>\n <ng-content></ng-content>\n </ng-template>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.thy-dropdown-menu]': 'thyImmediateRender',\n '[style.width]': \"thyImmediateRender ? thyWidth : ''\"\n },\n standalone: true,\n imports: [NgIf, NgTemplateOutlet]\n})\nexport class ThyDropdownMenuComponent {\n get template() {\n return this.templateRef;\n }\n\n @ViewChild('dropdownMenu', { static: true }) templateRef!: TemplateRef<SafeAny>;\n\n /**\n * 设置菜单宽度\n * @default 240px\n */\n @Input()\n @InputCssPixel()\n thyWidth: number | string = THY_DROPDOWN_DEFAULT_WIDTH;\n\n /**\n * 是否直接渲染 dropdown-menu 中的元素\n * @default false\n */\n @Input({ transform: coerceBooleanProperty }) thyImmediateRender = false;\n\n constructor() {}\n}\n\n/**\n * 下拉菜单分组\n * @name thy-dropdown-menu-group\n * @order 50\n */\n@Component({\n selector: 'thy-dropdown-menu-group',\n template: `\n <div class=\"dropdown-menu-group-title\">{{ title }}</div>\n <ng-content></ng-content>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'dropdown-menu-group'\n },\n standalone: true\n})\nexport class ThyDropdownMenuGroup {\n title: string;\n\n /**\n * 分组标题\n */\n @Input()\n set thyTitle(value: string) {\n this.title = value;\n }\n\n constructor() {}\n}\n\n/**\n * 下拉菜单分割线\n * @name thy-dropdown-menu-divider\n */\n@Component({\n selector: 'thy-dropdown-menu-divider',\n template: ` <!-- <div class=\"dropdown-menu-divider-title\">{{ title }}</div> --> `,\n host: {\n class: 'dropdown-menu-divider'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class ThyDropdownMenuDivider {\n constructor() {}\n}\n","import { FocusMonitor } from '@angular/cdk/a11y';\nimport { ComponentType, OverlayRef } from '@angular/cdk/overlay';\nimport { Platform } from '@angular/cdk/platform';\nimport {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n EventEmitter,\n Input,\n NgZone,\n OnInit,\n Output,\n TemplateRef,\n ViewContainerRef,\n numberAttribute\n} from '@angular/core';\nimport { ComponentTypeOrTemplateRef, ThyOverlayDirectiveBase, ThyOverlayTrigger, ThyPlacement } from 'ngx-tethys/core';\nimport { ThyPopover, ThyPopoverConfig, ThyPopoverRef } from 'ngx-tethys/popover';\nimport { SafeAny } from 'ngx-tethys/types';\nimport { coerceArray, coerceBooleanProperty, helpers, isFunction, isTemplateRef } from 'ngx-tethys/util';\nimport { ThyDropdownMenuComponent } from './dropdown-menu.component';\n\nexport type ThyDropdownTrigger = 'click' | 'hover';\n\ntype ThyDropdownMenu = ThyDropdownMenuComponent | TemplateRef<SafeAny> | ComponentType<SafeAny>;\n\n/**\n * thyDropdown 触发下拉菜单指令\n * @name thyDropdown\n * @order 10\n */\n@Directive({\n selector: `[thyDropdown]`,\n host: {\n class: 'thy-dropdown'\n },\n standalone: true\n})\nexport class ThyDropdownDirective extends ThyOverlayDirectiveBase implements OnInit {\n menu!: ThyDropdownMenu;\n\n private popoverRef: ThyPopoverRef<unknown>;\n\n private innerPanelClassList: string[] = ['thy-dropdown-pane'];\n\n popoverOpened = false;\n\n /**\n * Dropdown 下拉菜单,支持 thy-dropdown-menu 组件、TemplateRef 和自定义菜单组件\n */\n @Input() set thyDropdownMenu(menu: ThyDropdownMenu) {\n this.menu = menu;\n }\n\n /**\n * Dropdown 下拉菜单组件,和 thyDropdownMenu 参与相同,快捷传下拉菜单组件参数\n */\n @Input() set thyDropdown(menu: ThyDropdownMenu) {\n this.menu = menu;\n }\n\n /**\n * 下拉菜单触发方式\n * @type 'hover' | 'focus' | 'click' | string\n * @default click\n */\n @Input() set thyTrigger(value: ThyOverlayTrigger | string) {\n this.trigger = value as ThyOverlayTrigger;\n }\n\n /**\n * 打开延迟毫秒\n * @default 100\n */\n @Input({ transform: numberAttribute })\n set thyShowDelay(value: number) {\n this.showDelay = value;\n }\n\n /**\n * 关闭延迟毫秒\n * @default 100\n */\n @Input({ transform: numberAttribute })\n set thyHideDelay(value: number) {\n this.hideDelay = value;\n }\n\n /**\n * 弹出菜单后的当前触发元素的激活样式类\n */\n @Input() thyActiveClass: string = 'thy-dropdown-origin-active';\n\n /**\n * 弹出框的参数,底层使用 Popover 组件, 默认为`{ placement: \"bottomLeft\", insideClosable: true, minWidth: \"240px\", outsideClosable: true }`\n * @default { placement: \"bottomLeft\", insideClosable: true, minWidth: \"240px\", outsideClosable: true }\n */\n @Input() thyPopoverOptions: Pick<ThyPopoverConfig, 'placement' | 'height' | 'insideClosable' | 'minWidth' | 'outsideClosable'>;\n\n /**\n * 弹出框的显示位置,会覆盖 thyPopoverOptions 中的 placement,`top` | `topLeft` | `topRight` | `bottom` | `bottomLeft` | `bottomRight` | `left` | `leftTop` | `leftBottom` | `right` | `rightTop` | `rightBottom`\n * @default bottomLeft\n */\n @Input() thyPlacement: ThyPlacement;\n\n /**\n * 点击 dropdown-menu 内部是否关闭弹出框,会覆盖 thyPopoverOptions 中的 insideClosable\n * @default true\n */\n @Input({ transform: coerceBooleanProperty }) thyMenuInsideClosable: boolean;\n\n /**\n * 弹出框 overlay panel 的类名\n * @type string | string[]\n */\n @Input() set thyPanelClass(value: string | string[]) {\n this.innerPanelClassList = this.innerPanelClassList.concat(coerceArray(value));\n }\n\n get thyPanelClass() {\n return this.innerPanelClassList;\n }\n\n /**\n * 菜单 Active 事件,打开菜单返回 true,关闭返回 false\n */\n @Output() thyActiveChange = new EventEmitter<boolean>();\n\n constructor(\n private viewContainerRef: ViewContainerRef,\n private popover: ThyPopover,\n elementRef: ElementRef,\n platform: Platform,\n focusMonitor: FocusMonitor,\n ngZone: NgZone,\n changeDetectorRef: ChangeDetectorRef\n ) {\n super(elementRef, platform, focusMonitor, ngZone, true, changeDetectorRef);\n }\n\n ngOnInit() {\n this.initialize();\n }\n\n createOverlay(): OverlayRef {\n let componentTypeOrTemplateRef: ComponentTypeOrTemplateRef<SafeAny>;\n if (this.menu && this.menu instanceof ThyDropdownMenuComponent) {\n componentTypeOrTemplateRef = this.menu.templateRef;\n } else if (isFunction(this.menu) || isTemplateRef(this.menu)) {\n componentTypeOrTemplateRef = this.menu as ComponentTypeOrTemplateRef<SafeAny>;\n }\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (!componentTypeOrTemplateRef) {\n throw new Error(`thyDropdownMenu is required`);\n }\n }\n\n const { placement, height, insideClosable, outsideClosable, minWidth } = Object.assign(\n { placement: 'bottomLeft', insideClosable: true, outsideClosable: true },\n this.thyPopoverOptions\n );\n const config: ThyPopoverConfig = {\n origin: this.elementRef.nativeElement,\n hasBackdrop: false,\n viewContainerRef: this.viewContainerRef,\n offset: 0,\n panelClass: this.thyPanelClass,\n placement: this.thyPlacement ? this.thyPlacement : placement,\n height,\n outsideClosable,\n insideClosable: helpers.isUndefined(this.thyMenuInsideClosable) ? insideClosable : this.thyMenuInsideClosable,\n minWidth,\n originActiveClass: this.thyActiveClass\n };\n this.popoverRef = this.popover.open(componentTypeOrTemplateRef, config);\n this.popoverRef.afterOpened().subscribe(() => {\n this.thyActiveChange.emit(true);\n });\n this.popoverRef.afterClosed().subscribe(() => {\n this.popoverOpened = false;\n this.thyActiveChange.emit(false);\n });\n\n return this.popoverRef.getOverlayRef();\n }\n\n show(delay: number = this.showDelay) {\n if (this.hideTimeoutId) {\n clearTimeout(this.hideTimeoutId);\n this.hideTimeoutId = null;\n }\n\n if (this.disabled || (this.overlayRef && this.overlayRef.hasAttached())) {\n return;\n }\n if (this.trigger !== 'hover') {\n delay = 0;\n }\n\n this.showTimeoutId = setTimeout(() => {\n const overlayRef = this.createOverlay();\n this.overlayRef = overlayRef;\n this.popoverOpened = true;\n this.showTimeoutId = null;\n this.markForCheck();\n }, delay);\n }\n\n hide(delay: number = this.hideDelay) {\n if (this.showTimeoutId) {\n clearTimeout(this.showTimeoutId);\n this.showTimeoutId = null;\n }\n\n this.hideTimeoutId = setTimeout(() => {\n if (this.popoverRef) {\n this.popoverRef.close();\n }\n this.hideTimeoutId = null;\n this.markForCheck();\n }, delay);\n }\n}\n","import { Directive, HostBinding, Input, HostListener, ElementRef, OnInit } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime, shareReplay } from 'rxjs/operators';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\nexport type ThyDropdownMenuItemType = 'default' | 'danger' | 'success' | '';\n\n/**\n * 菜单项\n * @name thyDropdownMenuItem\n * @order 30\n */\n@Directive({\n selector: '[thyDropdownMenuItem]',\n standalone: true\n})\nexport class ThyDropdownMenuItemDirective implements OnInit {\n @HostBinding('class.dropdown-menu-item') className = true;\n\n @HostBinding('class.dropdown-menu-item--disabled') disabled = false;\n\n @HostBinding('class.dropdown-menu-item--danger') danger = false;\n\n @HostBinding('class.dropdown-menu-item--success') success = false;\n\n /**\n * 菜单项类型\n * @type 'default' | 'danger' | 'success' | ''\n * @default default\n */\n @Input()\n set thyType(value: ThyDropdownMenuItemType) {\n this[value] = true;\n }\n\n /**\n * 菜单项是否处于禁用状态\n * @default false\n */\n @Input({ transform: coerceBooleanProperty })\n set thyDisabled(value: boolean) {\n this.disabled = value;\n }\n\n @HostListener('click', ['$event'])\n onClick(event: Event): void {\n if (this.disabled) {\n event.stopPropagation();\n event.preventDefault();\n }\n }\n\n private hostRenderer = useHostRenderer();\n\n constructor(private elementRef: ElementRef<HTMLElement>) {}\n\n ngOnInit() {}\n\n updateClass(classes: string[]) {\n this.hostRenderer.updateClass(classes);\n }\n\n getElement() {\n return this.elementRef.nativeElement;\n }\n\n bindMouseenterEvent() {\n return fromEvent(this.elementRef.nativeElement, 'mouseenter').pipe(debounceTime(100), shareReplay());\n }\n}\n\n/**\n * 设置为菜单项图标\n * @name thyDropdownMenuItemIcon\n */\n@Directive({\n selector: '[thyDropdownMenuItemIcon]',\n standalone: true\n})\nexport class ThyDropdownMenuItemIconDirective {\n @HostBinding('class.icon') className = true;\n\n constructor() {}\n}\n\n/**\n * 设置为菜单项名称\n * @name thyDropdownMenuItemName\n */\n@Directive({\n selector: '[thyDropdownMenuItemName]',\n standalone: true\n})\nexport class ThyDropdownMenuItemNameDirective {\n @HostBinding('class.name') className = true;\n\n constructor() {}\n}\n\n/**\n * 设置为菜单项名称后的补充信息\n * @name thyDropdownMenuItemMeta\n */\n@Directive({\n selector: '[thyDropdownMenuItemMeta]',\n standalone: true\n})\nexport class ThyDropdownMenuItemMetaDirective {\n @HostBinding('class.meta') className = true;\n\n constructor() {}\n}\n\n/**\n * 设置为菜单项的描述\n * @name thyDropdownMenuItemDesc\n */\n@Directive({\n selector: '[thyDropdownMenuItemDesc]',\n standalone: true\n})\nexport class ThyDropdownMenuItemDescDirective {\n @HostBinding('class.desc') className = true;\n\n constructor() {}\n}\n\n/**\n * 菜单项的后置扩展图标,用于显示是否选中或者子菜单示意\n * @name thyDropdownMenuItemExtendIcon\n */\n@Directive({\n selector: '[thyDropdownMenuItemExtendIcon]',\n standalone: true\n})\nexport class ThyDropdownMenuItemExtendIconDirective {\n @HostBinding('class.extend-icon') className = true;\n\n constructor() {}\n}\n\n/**\n * 菜单项是否激活指令\n * @name thyDropdownMenuItemActive\n * @order 70\n */\n@Directive({\n selector: '[thyDropdownMenuItemActive]',\n standalone: true\n})\nexport class ThyDropdownMenuItemActiveDirective {\n /**\n * 是否激活\n * @type boolean | string\n * @default false\n */\n @HostBinding('class.active')\n @Input({ transform: coerceBooleanProperty })\n thyDropdownMenuItemActive: boolean;\n\n constructor() {}\n}\n","import { getElementOffset } from 'ngx-tethys/util';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nimport { ChangeDetectionStrategy, Component, DestroyRef, ElementRef, Input, OnInit, inject } from '@angular/core';\n\nimport { ThyDropdownMenuItemDirective } from './dropdown-menu-item.directive';\n\nexport type ThyDropdownSubmenuDirection = 'left' | 'right' | 'auto';\n\ntype InnerDropdownSubmenuDirection = ThyDropdownSubmenuDirection | 'leftBottom' | 'rightBottom';\n\nconst SUBMENU_CLASS_PREFIX = 'dropdown-submenu';\n\n/**\n * 下拉子菜单\n * @name thy-dropdown-submenu,[thyDropdownSubmenu]\n * @order 40\n */\n@Component({\n selector: '[thyDropdownSubmenu],thy-dropdown-submenu',\n template: '<ng-content></ng-content>',\n host: {\n class: 'dropdown-submenu'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class ThyDropdownSubmenu implements OnInit {\n private readonly destroyRef = inject(DestroyRef);\n\n private direction: InnerDropdownSubmenuDirection = 'right';\n\n /**\n * 菜单方向\n * @type left | right | auto\n * @default right\n */\n @Input() set thyDirection(value: ThyDropdownSubmenuDirection) {\n this.direction = value;\n }\n\n constructor(\n private dropdownMenuItem: ThyDropdownMenuItemDirective,\n private elementRef: ElementRef<HTMLElement>\n ) {}\n\n ngOnInit(): void {\n let direction = this.direction || 'right';\n this.updateClassByDirection(direction);\n this.dropdownMenuItem\n .bindMouseenterEvent()\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => {\n if (this.direction === 'auto') {\n const element = this.dropdownMenuItem.getElement();\n const offset = getElementOffset(element);\n if (document.documentElement.clientWidth < offset.left + offset.width + offset.width) {\n direction = 'left';\n } else {\n direction = 'right';\n }\n this.updateClassByDirection(direction);\n }\n this.updateVerticalDirection(direction);\n });\n }\n\n private updateClassByDirection(direction: InnerDropdownSubmenuDirection) {\n this.dropdownMenuItem.updateClass([`${SUBMENU_CLASS_PREFIX}-${direction}`]);\n }\n\n private updateVerticalDirection(direction: InnerDropdownSubmenuDirection) {\n const submenuItems = this.elementRef.nativeElement.querySelectorAll('.dropdown-menu-item');\n if (submenuItems.length) {\n let submenuItemHeight = 0;\n submenuItems.forEach(item => (submenuItemHeight += item.clientHeight));\n if (\n document.documentElement.clientHeight - this.dropdownMenuItem.getElement().getBoundingClientRect().bottom <\n submenuItemHeight\n ) {\n direction = direction === 'left' ? 'leftBottom' : 'rightBottom';\n this.updateClassByDirection(direction);\n } else {\n this.updateClassByDirection(direction);\n }\n }\n }\n}\n","import { ContentChildren, Directive, ElementRef, Input, QueryList, Optional, AfterContentInit, OnInit } from '@angular/core';\nimport { coerceArray } from 'ngx-tethys/util';\nimport { mergeMap, startWith } from 'rxjs/operators';\nimport { ThyDropdownDirective } from './dropdown.directive';\nimport { useHostRenderer } from '@tethys/cdk/dom';\n\n/**\n * 跟踪 Dropdown 菜单是否被打开处于激活状态,允许指定一个或多个CSS类,以便在菜单打开状态时添加到元素中\n * @name thyDropdownActive\n * @order 60\n */\n@Directive({\n selector: '[thyDropdownActive]',\n standalone: true\n})\nexport class ThyDropdownActiveDirective implements OnInit, AfterContentInit {\n classes: string[];\n\n private hostRenderer = useHostRenderer();\n\n /**\n * 设置 Active 样式类,可以是一个或多个CSS类\n * @type string[] | string\n */\n @Input()\n set thyDropdownActive(data: string[] | string) {\n this.classes = coerceArray(data).filter(c => !!c);\n }\n\n /**\n * @private\n */\n @ContentChildren(ThyDropdownDirective, { descendants: true }) triggers!: QueryList<ThyDropdownDirective>;\n\n constructor(\n private elementRef: ElementRef,\n @Optional() private trigger?: ThyDropdownDirective\n ) {}\n\n ngOnInit(): void {}\n\n ngAfterContentInit(): void {\n this.triggers.changes\n .pipe(\n startWith(this.triggers.toArray()),\n mergeMap((triggers: ThyDropdownDirective[]) => {\n const result = triggers.map(item => {\n return item.thyActiveChange;\n });\n this.trigger && result.push(this.trigger.thyActiveChange);\n return result;\n }),\n mergeMap(result => {\n return result;\n })\n )\n .subscribe(active => {\n this.update(active);\n });\n }\n\n update(active: boolean) {\n this.classes.forEach(className => {\n if (active) {\n this.hostRenderer.addClass(className);\n } else {\n this.hostRenderer.removeClass(className);\n }\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThyPopoverModule } from 'ngx-tethys/popover';\nimport { ThyDropdownDirective } from './dropdown.directive';\nimport { ThyDropdownMenuComponent, ThyDropdownMenuDivider, ThyDropdownMenuGroup } from './dropdown-menu.component';\nimport {\n ThyDropdownMenuItemDirective,\n ThyDropdownMenuItemNameDirective,\n ThyDropdownMenuItemIconDirective,\n ThyDropdownMenuItemMetaDirective,\n ThyDropdownMenuItemDescDirective,\n ThyDropdownMenuItemExtendIconDirective,\n ThyDropdownMenuItemActiveDirective\n} from './dropdown-menu-item.directive';\nimport { ThyDropdownSubmenu } from './dropdown-submenu.component';\nimport { ThyDropdownActiveDirective } from './dropdown-active.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n ThyPopoverModule,\n ThyDropdownDirective,\n ThyDropdownActiveDirective,\n ThyDropdownMenuComponent,\n ThyDropdownSubmenu,\n ThyDropdownMenuGroup,\n ThyDropdownMenuDivider,\n ThyDropdownMenuItemDirective,\n ThyDropdownMenuItemNameDirective,\n ThyDropdownMenuItemIconDirective,\n ThyDropdownMenuItemMetaDirective,\n ThyDropdownMenuItemDescDirective,\n ThyDropdownMenuItemExtendIconDirective,\n ThyDropdownMenuItemActiveDirective\n ],\n exports: [\n ThyDropdownDirective,\n ThyDropdownActiveDirective,\n ThyDropdownMenuComponent,\n ThyDropdownSubmenu,\n ThyDropdownMenuGroup,\n ThyDropdownMenuDivider,\n ThyDropdownMenuItemDirective,\n ThyDropdownMenuItemNameDirective,\n ThyDropdownMenuItemIconDirective,\n ThyDropdownMenuItemMetaDirective,\n ThyDropdownMenuItemDescDirective,\n ThyDropdownMenuItemExtendIconDirective,\n ThyDropdownMenuItemActiveDirective\n ]\n})\nexport class ThyDropdownModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.ThyDropdownMenuItemDirective","i1.ThyDropdownDirective"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngx-tethys-dropdown.mjs","sources":["../../../src/dropdown/dropdown-menu.component.ts","../../../src/dropdown/dropdown.directive.ts","../../../src/dropdown/dropdown-menu-item.directive.ts","../../../src/dropdown/dropdown-submenu.component.ts","../../../src/dropdown/dropdown-active.directive.ts","../../../src/dropdown/module.ts","../../../src/dropdown/ngx-tethys-dropdown.ts"],"sourcesContent":["import { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n Directive,\n HostBinding,\n Input,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { InputCssPixel } from 'ngx-tethys/core';\nimport { SafeAny } from 'ngx-tethys/types';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\nexport type ThyDropdownMenuDividerType = 'default' | 'crossing' | '';\n\nexport const THY_DROPDOWN_DEFAULT_WIDTH = '240px';\n\n/**\n * @private\n */\n@Directive()\nexport class ThyDropdownAbstractMenu {\n @HostBinding('class.thy-dropdown-menu') addDropdownMenuClass = true;\n}\n\n/**\n * 下拉菜单组件\n * @name thy-dropdown-menu\n * @order 20\n */\n@Component({\n selector: 'thy-dropdown-menu',\n template: `\n @if (thyImmediateRender) {\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n }\n <ng-template #dropdownMenu>\n <div class=\"thy-dropdown-menu\" [style.width]=\"thyWidth\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n </ng-template>\n <ng-template #content>\n <ng-content></ng-content>\n </ng-template>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.thy-dropdown-menu]': 'thyImmediateRender',\n '[style.width]': \"thyImmediateRender ? thyWidth : ''\"\n },\n standalone: true,\n imports: [NgTemplateOutlet]\n})\nexport class ThyDropdownMenuComponent {\n get template() {\n return this.templateRef;\n }\n\n @ViewChild('dropdownMenu', { static: true }) templateRef!: TemplateRef<SafeAny>;\n\n /**\n * 设置菜单宽度\n * @default 240px\n */\n @Input()\n @InputCssPixel()\n thyWidth: number | string = THY_DROPDOWN_DEFAULT_WIDTH;\n\n /**\n * 是否直接渲染 dropdown-menu 中的元素\n * @default false\n */\n @Input({ transform: coerceBooleanProperty }) thyImmediateRender = false;\n\n constructor() {}\n}\n\n/**\n * 下拉菜单分组\n * @name thy-dropdown-menu-group\n * @order 50\n */\n@Component({\n selector: 'thy-dropdown-menu-group',\n template: `\n <div class=\"dropdown-menu-group-title\">{{ title }}</div>\n <ng-content></ng-content>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'dropdown-menu-group'\n },\n standalone: true\n})\nexport class ThyDropdownMenuGroup {\n title: string;\n\n /**\n * 分组标题\n */\n @Input()\n set thyTitle(value: string) {\n this.title = value;\n }\n\n constructor() {}\n}\n\n/**\n * 下拉菜单分割线\n * @name thy-dropdown-menu-divider\n */\n@Component({\n selector: 'thy-dropdown-menu-divider',\n template: ` <!-- <div class=\"dropdown-menu-divider-title\">{{ title }}</div> --> `,\n host: {\n class: 'dropdown-menu-divider'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class ThyDropdownMenuDivider {\n constructor() {}\n}\n","import { FocusMonitor } from '@angular/cdk/a11y';\nimport { ComponentType, OverlayRef } from '@angular/cdk/overlay';\nimport { Platform } from '@angular/cdk/platform';\nimport {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n EventEmitter,\n Input,\n NgZone,\n OnInit,\n Output,\n TemplateRef,\n ViewContainerRef,\n numberAttribute\n} from '@angular/core';\nimport { ComponentTypeOrTemplateRef, ThyOverlayDirectiveBase, ThyOverlayTrigger, ThyPlacement } from 'ngx-tethys/core';\nimport { ThyPopover, ThyPopoverConfig, ThyPopoverRef } from 'ngx-tethys/popover';\nimport { SafeAny } from 'ngx-tethys/types';\nimport { coerceArray, coerceBooleanProperty, helpers, isFunction, isTemplateRef } from 'ngx-tethys/util';\nimport { ThyDropdownMenuComponent } from './dropdown-menu.component';\n\nexport type ThyDropdownTrigger = 'click' | 'hover';\n\ntype ThyDropdownMenu = ThyDropdownMenuComponent | TemplateRef<SafeAny> | ComponentType<SafeAny>;\n\n/**\n * thyDropdown 触发下拉菜单指令\n * @name thyDropdown\n * @order 10\n */\n@Directive({\n selector: `[thyDropdown]`,\n host: {\n class: 'thy-dropdown'\n },\n standalone: true\n})\nexport class ThyDropdownDirective extends ThyOverlayDirectiveBase implements OnInit {\n menu!: ThyDropdownMenu;\n\n private popoverRef: ThyPopoverRef<unknown>;\n\n private innerPanelClassList: string[] = ['thy-dropdown-pane'];\n\n popoverOpened = false;\n\n /**\n * Dropdown 下拉菜单,支持 thy-dropdown-menu 组件、TemplateRef 和自定义菜单组件\n */\n @Input() set thyDropdownMenu(menu: ThyDropdownMenu) {\n this.menu = menu;\n }\n\n /**\n * Dropdown 下拉菜单组件,和 thyDropdownMenu 参与相同,快捷传下拉菜单组件参数\n */\n @Input() set thyDropdown(menu: ThyDropdownMenu) {\n this.menu = menu;\n }\n\n /**\n * 下拉菜单触发方式\n * @type 'hover' | 'focus' | 'click' | string\n * @default click\n */\n @Input() set thyTrigger(value: ThyOverlayTrigger | string) {\n this.trigger = value as ThyOverlayTrigger;\n }\n\n /**\n * 打开延迟毫秒\n * @default 100\n */\n @Input({ transform: numberAttribute })\n set thyShowDelay(value: number) {\n this.showDelay = value;\n }\n\n /**\n * 关闭延迟毫秒\n * @default 100\n */\n @Input({ transform: numberAttribute })\n set thyHideDelay(value: number) {\n this.hideDelay = value;\n }\n\n /**\n * 弹出菜单后的当前触发元素的激活样式类\n */\n @Input() thyActiveClass: string = 'thy-dropdown-origin-active';\n\n /**\n * 弹出框的参数,底层使用 Popover 组件, 默认为`{ placement: \"bottomLeft\", insideClosable: true, minWidth: \"240px\", outsideClosable: true }`\n * @default { placement: \"bottomLeft\", insideClosable: true, minWidth: \"240px\", outsideClosable: true }\n */\n @Input() thyPopoverOptions: Pick<ThyPopoverConfig, 'placement' | 'height' | 'insideClosable' | 'minWidth' | 'outsideClosable'>;\n\n /**\n * 弹出框的显示位置,会覆盖 thyPopoverOptions 中的 placement,`top` | `topLeft` | `topRight` | `bottom` | `bottomLeft` | `bottomRight` | `left` | `leftTop` | `leftBottom` | `right` | `rightTop` | `rightBottom`\n * @default bottomLeft\n */\n @Input() thyPlacement: ThyPlacement;\n\n /**\n * 点击 dropdown-menu 内部是否关闭弹出框,会覆盖 thyPopoverOptions 中的 insideClosable\n * @default true\n */\n @Input({ transform: coerceBooleanProperty }) thyMenuInsideClosable: boolean;\n\n /**\n * 弹出框 overlay panel 的类名\n * @type string | string[]\n */\n @Input() set thyPanelClass(value: string | string[]) {\n this.innerPanelClassList = this.innerPanelClassList.concat(coerceArray(value));\n }\n\n get thyPanelClass() {\n return this.innerPanelClassList;\n }\n\n /**\n * 菜单 Active 事件,打开菜单返回 true,关闭返回 false\n */\n @Output() thyActiveChange = new EventEmitter<boolean>();\n\n constructor(\n private viewContainerRef: ViewContainerRef,\n private popover: ThyPopover,\n elementRef: ElementRef,\n platform: Platform,\n focusMonitor: FocusMonitor,\n ngZone: NgZone,\n changeDetectorRef: ChangeDetectorRef\n ) {\n super(elementRef, platform, focusMonitor, ngZone, true, changeDetectorRef);\n }\n\n ngOnInit() {\n this.initialize();\n }\n\n createOverlay(): OverlayRef {\n let componentTypeOrTemplateRef: ComponentTypeOrTemplateRef<SafeAny>;\n if (this.menu && this.menu instanceof ThyDropdownMenuComponent) {\n componentTypeOrTemplateRef = this.menu.templateRef;\n } else if (isFunction(this.menu) || isTemplateRef(this.menu)) {\n componentTypeOrTemplateRef = this.menu as ComponentTypeOrTemplateRef<SafeAny>;\n }\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (!componentTypeOrTemplateRef) {\n throw new Error(`thyDropdownMenu is required`);\n }\n }\n\n const { placement, height, insideClosable, outsideClosable, minWidth } = Object.assign(\n { placement: 'bottomLeft', insideClosable: true, outsideClosable: true },\n this.thyPopoverOptions\n );\n const config: ThyPopoverConfig = {\n origin: this.elementRef.nativeElement,\n hasBackdrop: false,\n viewContainerRef: this.viewContainerRef,\n offset: 0,\n panelClass: this.thyPanelClass,\n placement: this.thyPlacement ? this.thyPlacement : placement,\n height,\n outsideClosable,\n insideClosable: helpers.isUndefined(this.thyMenuInsideClosable) ? insideClosable : this.thyMenuInsideClosable,\n minWidth,\n originActiveClass: this.thyActiveClass\n };\n this.popoverRef = this.popover.open(componentTypeOrTemplateRef, config);\n this.popoverRef.afterOpened().subscribe(() => {\n this.thyActiveChange.emit(true);\n });\n this.popoverRef.afterClosed().subscribe(() => {\n this.popoverOpened = false;\n this.thyActiveChange.emit(false);\n });\n\n return this.popoverRef.getOverlayRef();\n }\n\n show(delay: number = this.showDelay) {\n if (this.hideTimeoutId) {\n clearTimeout(this.hideTimeoutId);\n this.hideTimeoutId = null;\n }\n\n if (this.disabled || (this.overlayRef && this.overlayRef.hasAttached())) {\n return;\n }\n if (this.trigger !== 'hover') {\n delay = 0;\n }\n\n this.showTimeoutId = setTimeout(() => {\n const overlayRef = this.createOverlay();\n this.overlayRef = overlayRef;\n this.popoverOpened = true;\n this.showTimeoutId = null;\n this.markForCheck();\n }, delay);\n }\n\n hide(delay: number = this.hideDelay) {\n if (this.showTimeoutId) {\n clearTimeout(this.showTimeoutId);\n this.showTimeoutId = null;\n }\n\n this.hideTimeoutId = setTimeout(() => {\n if (this.popoverRef) {\n this.popoverRef.close();\n }\n this.hideTimeoutId = null;\n this.markForCheck();\n }, delay);\n }\n}\n","import { Directive, HostBinding, Input, HostListener, ElementRef, OnInit } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime, shareReplay } from 'rxjs/operators';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\nexport type ThyDropdownMenuItemType = 'default' | 'danger' | 'success' | '';\n\n/**\n * 菜单项\n * @name thyDropdownMenuItem\n * @order 30\n */\n@Directive({\n selector: '[thyDropdownMenuItem]',\n standalone: true\n})\nexport class ThyDropdownMenuItemDirective implements OnInit {\n @HostBinding('class.dropdown-menu-item') className = true;\n\n @HostBinding('class.dropdown-menu-item--disabled') disabled = false;\n\n @HostBinding('class.dropdown-menu-item--danger') danger = false;\n\n @HostBinding('class.dropdown-menu-item--success') success = false;\n\n /**\n * 菜单项类型\n * @type 'default' | 'danger' | 'success' | ''\n * @default default\n */\n @Input()\n set thyType(value: ThyDropdownMenuItemType) {\n this[value] = true;\n }\n\n /**\n * 菜单项是否处于禁用状态\n * @default false\n */\n @Input({ transform: coerceBooleanProperty })\n set thyDisabled(value: boolean) {\n this.disabled = value;\n }\n\n @HostListener('click', ['$event'])\n onClick(event: Event): void {\n if (this.disabled) {\n event.stopPropagation();\n event.preventDefault();\n }\n }\n\n private hostRenderer = useHostRenderer();\n\n constructor(private elementRef: ElementRef<HTMLElement>) {}\n\n ngOnInit() {}\n\n updateClass(classes: string[]) {\n this.hostRenderer.updateClass(classes);\n }\n\n getElement() {\n return this.elementRef.nativeElement;\n }\n\n bindMouseenterEvent() {\n return fromEvent(this.elementRef.nativeElement, 'mouseenter').pipe(debounceTime(100), shareReplay());\n }\n}\n\n/**\n * 设置为菜单项图标\n * @name thyDropdownMenuItemIcon\n */\n@Directive({\n selector: '[thyDropdownMenuItemIcon]',\n standalone: true\n})\nexport class ThyDropdownMenuItemIconDirective {\n @HostBinding('class.icon') className = true;\n\n constructor() {}\n}\n\n/**\n * 设置为菜单项名称\n * @name thyDropdownMenuItemName\n */\n@Directive({\n selector: '[thyDropdownMenuItemName]',\n standalone: true\n})\nexport class ThyDropdownMenuItemNameDirective {\n @HostBinding('class.name') className = true;\n\n constructor() {}\n}\n\n/**\n * 设置为菜单项名称后的补充信息\n * @name thyDropdownMenuItemMeta\n */\n@Directive({\n selector: '[thyDropdownMenuItemMeta]',\n standalone: true\n})\nexport class ThyDropdownMenuItemMetaDirective {\n @HostBinding('class.meta') className = true;\n\n constructor() {}\n}\n\n/**\n * 设置为菜单项的描述\n * @name thyDropdownMenuItemDesc\n */\n@Directive({\n selector: '[thyDropdownMenuItemDesc]',\n standalone: true\n})\nexport class ThyDropdownMenuItemDescDirective {\n @HostBinding('class.desc') className = true;\n\n constructor() {}\n}\n\n/**\n * 菜单项的后置扩展图标,用于显示是否选中或者子菜单示意\n * @name thyDropdownMenuItemExtendIcon\n */\n@Directive({\n selector: '[thyDropdownMenuItemExtendIcon]',\n standalone: true\n})\nexport class ThyDropdownMenuItemExtendIconDirective {\n @HostBinding('class.extend-icon') className = true;\n\n constructor() {}\n}\n\n/**\n * 菜单项是否激活指令\n * @name thyDropdownMenuItemActive\n * @order 70\n */\n@Directive({\n selector: '[thyDropdownMenuItemActive]',\n standalone: true\n})\nexport class ThyDropdownMenuItemActiveDirective {\n /**\n * 是否激活\n * @type boolean | string\n * @default false\n */\n @HostBinding('class.active')\n @Input({ transform: coerceBooleanProperty })\n thyDropdownMenuItemActive: boolean;\n\n constructor() {}\n}\n","import { getElementOffset } from 'ngx-tethys/util';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nimport { ChangeDetectionStrategy, Component, DestroyRef, ElementRef, Input, OnInit, inject } from '@angular/core';\n\nimport { ThyDropdownMenuItemDirective } from './dropdown-menu-item.directive';\n\nexport type ThyDropdownSubmenuDirection = 'left' | 'right' | 'auto';\n\ntype InnerDropdownSubmenuDirection = ThyDropdownSubmenuDirection | 'leftBottom' | 'rightBottom';\n\nconst SUBMENU_CLASS_PREFIX = 'dropdown-submenu';\n\n/**\n * 下拉子菜单\n * @name thy-dropdown-submenu,[thyDropdownSubmenu]\n * @order 40\n */\n@Component({\n selector: '[thyDropdownSubmenu],thy-dropdown-submenu',\n template: '<ng-content></ng-content>',\n host: {\n class: 'dropdown-submenu'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class ThyDropdownSubmenu implements OnInit {\n private readonly destroyRef = inject(DestroyRef);\n\n private direction: InnerDropdownSubmenuDirection = 'right';\n\n /**\n * 菜单方向\n * @type left | right | auto\n * @default right\n */\n @Input() set thyDirection(value: ThyDropdownSubmenuDirection) {\n this.direction = value;\n }\n\n constructor(\n private dropdownMenuItem: ThyDropdownMenuItemDirective,\n private elementRef: ElementRef<HTMLElement>\n ) {}\n\n ngOnInit(): void {\n let direction = this.direction || 'right';\n this.updateClassByDirection(direction);\n this.dropdownMenuItem\n .bindMouseenterEvent()\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => {\n if (this.direction === 'auto') {\n const element = this.dropdownMenuItem.getElement();\n const offset = getElementOffset(element);\n if (document.documentElement.clientWidth < offset.left + offset.width + offset.width) {\n direction = 'left';\n } else {\n direction = 'right';\n }\n this.updateClassByDirection(direction);\n }\n this.updateVerticalDirection(direction);\n });\n }\n\n private updateClassByDirection(direction: InnerDropdownSubmenuDirection) {\n this.dropdownMenuItem.updateClass([`${SUBMENU_CLASS_PREFIX}-${direction}`]);\n }\n\n private updateVerticalDirection(direction: InnerDropdownSubmenuDirection) {\n const submenuItems = this.elementRef.nativeElement.querySelectorAll('.dropdown-menu-item');\n if (submenuItems.length) {\n let submenuItemHeight = 0;\n submenuItems.forEach(item => (submenuItemHeight += item.clientHeight));\n if (\n document.documentElement.clientHeight - this.dropdownMenuItem.getElement().getBoundingClientRect().bottom <\n submenuItemHeight\n ) {\n direction = direction === 'left' ? 'leftBottom' : 'rightBottom';\n this.updateClassByDirection(direction);\n } else {\n this.updateClassByDirection(direction);\n }\n }\n }\n}\n","import { ContentChildren, Directive, ElementRef, Input, QueryList, Optional, AfterContentInit, OnInit } from '@angular/core';\nimport { coerceArray } from 'ngx-tethys/util';\nimport { mergeMap, startWith } from 'rxjs/operators';\nimport { ThyDropdownDirective } from './dropdown.directive';\nimport { useHostRenderer } from '@tethys/cdk/dom';\n\n/**\n * 跟踪 Dropdown 菜单是否被打开处于激活状态,允许指定一个或多个CSS类,以便在菜单打开状态时添加到元素中\n * @name thyDropdownActive\n * @order 60\n */\n@Directive({\n selector: '[thyDropdownActive]',\n standalone: true\n})\nexport class ThyDropdownActiveDirective implements OnInit, AfterContentInit {\n classes: string[];\n\n private hostRenderer = useHostRenderer();\n\n /**\n * 设置 Active 样式类,可以是一个或多个CSS类\n * @type string[] | string\n */\n @Input()\n set thyDropdownActive(data: string[] | string) {\n this.classes = coerceArray(data).filter(c => !!c);\n }\n\n /**\n * @private\n */\n @ContentChildren(ThyDropdownDirective, { descendants: true }) triggers!: QueryList<ThyDropdownDirective>;\n\n constructor(\n private elementRef: ElementRef,\n @Optional() private trigger?: ThyDropdownDirective\n ) {}\n\n ngOnInit(): void {}\n\n ngAfterContentInit(): void {\n this.triggers.changes\n .pipe(\n startWith(this.triggers.toArray()),\n mergeMap((triggers: ThyDropdownDirective[]) => {\n const result = triggers.map(item => {\n return item.thyActiveChange;\n });\n this.trigger && result.push(this.trigger.thyActiveChange);\n return result;\n }),\n mergeMap(result => {\n return result;\n })\n )\n .subscribe(active => {\n this.update(active);\n });\n }\n\n update(active: boolean) {\n this.classes.forEach(className => {\n if (active) {\n this.hostRenderer.addClass(className);\n } else {\n this.hostRenderer.removeClass(className);\n }\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThyPopoverModule } from 'ngx-tethys/popover';\nimport { ThyDropdownDirective } from './dropdown.directive';\nimport { ThyDropdownMenuComponent, ThyDropdownMenuDivider, ThyDropdownMenuGroup } from './dropdown-menu.component';\nimport {\n ThyDropdownMenuItemDirective,\n ThyDropdownMenuItemNameDirective,\n ThyDropdownMenuItemIconDirective,\n ThyDropdownMenuItemMetaDirective,\n ThyDropdownMenuItemDescDirective,\n ThyDropdownMenuItemExtendIconDirective,\n ThyDropdownMenuItemActiveDirective\n} from './dropdown-menu-item.directive';\nimport { ThyDropdownSubmenu } from './dropdown-submenu.component';\nimport { ThyDropdownActiveDirective } from './dropdown-active.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n ThyPopoverModule,\n ThyDropdownDirective,\n ThyDropdownActiveDirective,\n ThyDropdownMenuComponent,\n ThyDropdownSubmenu,\n ThyDropdownMenuGroup,\n ThyDropdownMenuDivider,\n ThyDropdownMenuItemDirective,\n ThyDropdownMenuItemNameDirective,\n ThyDropdownMenuItemIconDirective,\n ThyDropdownMenuItemMetaDirective,\n ThyDropdownMenuItemDescDirective,\n ThyDropdownMenuItemExtendIconDirective,\n ThyDropdownMenuItemActiveDirective\n ],\n exports: [\n ThyDropdownDirective,\n ThyDropdownActiveDirective,\n ThyDropdownMenuComponent,\n ThyDropdownSubmenu,\n ThyDropdownMenuGroup,\n ThyDropdownMenuDivider,\n ThyDropdownMenuItemDirective,\n ThyDropdownMenuItemNameDirective,\n ThyDropdownMenuItemIconDirective,\n ThyDropdownMenuItemMetaDirective,\n ThyDropdownMenuItemDescDirective,\n ThyDropdownMenuItemExtendIconDirective,\n ThyDropdownMenuItemActiveDirective\n ]\n})\nexport class ThyDropdownModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.ThyDropdownMenuItemDirective","i1.ThyDropdownDirective"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ThyIcon, ThyIconModule } from 'ngx-tethys/icon';
|
|
2
2
|
import { ThySharedModule } from 'ngx-tethys/shared';
|
|
3
|
-
import {
|
|
3
|
+
import { NgClass, NgTemplateOutlet, CommonModule } from '@angular/common';
|
|
4
4
|
import * as i0 from '@angular/core';
|
|
5
5
|
import { Injectable, Component, Input, ContentChild, NgModule } from '@angular/core';
|
|
6
6
|
import * as i1 from 'ngx-tethys/core';
|
|
@@ -261,11 +261,11 @@ class ThyEmpty {
|
|
|
261
261
|
this.presetSvg = presetSvg ? this.sanitizer.bypassSecurityTrustHtml(presetSvg) : '';
|
|
262
262
|
}
|
|
263
263
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyEmpty, deps: [{ token: i1.ThyTranslate }, { token: ThyEmptyConfig }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i3.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
264
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
264
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: ThyEmpty, isStandalone: true, selector: "thy-empty", inputs: { thyMessage: "thyMessage", thyTranslationKey: "thyTranslationKey", thyTranslationValues: "thyTranslationValues", thyEntityName: "thyEntityName", thyEntityNameTranslateKey: "thyEntityNameTranslateKey", thyIconName: "thyIconName", thySize: "thySize", thyMarginTop: "thyMarginTop", thyTopAuto: ["thyTopAuto", "thyTopAuto", coerceBooleanProperty], thyContainer: "thyContainer", thyImageUrl: "thyImageUrl", thyImageLoading: "thyImageLoading", thyImageFetchPriority: "thyImageFetchPriority", thyDescription: "thyDescription" }, queries: [{ propertyName: "extraTemplateRef", first: true, predicate: ["extra"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"thy-empty-icon\">\n @if (thyImageUrl) {\n <img\n [src]=\"thyImageUrl\"\n [attr.loading]=\"thyImageLoading\"\n [attr.fetchpriority]=\"thyImageFetchPriority\"\n class=\"empty-img\"\n />\n } @else {\n @if (presetSvg) {\n <div [innerHTML]=\"presetSvg\"></div>\n } @else {\n @if (thyIconName) {\n <thy-icon class=\"empty-icon\" [thyIconName]=\"thyIconName\"></thy-icon>\n }\n }\n }\n</div>\n\n<div [ngClass]=\"{ 'thy-empty-text': !thyDescription, 'thy-empty-text-with-extra': thyDescription }\">\n {{ displayText }}\n</div>\n\n@if (thyDescription) {\n <div class=\"thy-empty-description\">\n {{ thyDescription }}\n </div>\n}\n\n@if (extraTemplateRef) {\n <div class=\"thy-empty-extra\">\n <ng-template [ngTemplateOutlet]=\"extraTemplateRef\"></ng-template>\n </div>\n}\n", dependencies: [{ kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
265
265
|
}
|
|
266
266
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyEmpty, decorators: [{
|
|
267
267
|
type: Component,
|
|
268
|
-
args: [{ selector: 'thy-empty', standalone: true, imports: [
|
|
268
|
+
args: [{ selector: 'thy-empty', standalone: true, imports: [ThyIcon, NgClass, NgTemplateOutlet], template: "<div class=\"thy-empty-icon\">\n @if (thyImageUrl) {\n <img\n [src]=\"thyImageUrl\"\n [attr.loading]=\"thyImageLoading\"\n [attr.fetchpriority]=\"thyImageFetchPriority\"\n class=\"empty-img\"\n />\n } @else {\n @if (presetSvg) {\n <div [innerHTML]=\"presetSvg\"></div>\n } @else {\n @if (thyIconName) {\n <thy-icon class=\"empty-icon\" [thyIconName]=\"thyIconName\"></thy-icon>\n }\n }\n }\n</div>\n\n<div [ngClass]=\"{ 'thy-empty-text': !thyDescription, 'thy-empty-text-with-extra': thyDescription }\">\n {{ displayText }}\n</div>\n\n@if (thyDescription) {\n <div class=\"thy-empty-description\">\n {{ thyDescription }}\n </div>\n}\n\n@if (extraTemplateRef) {\n <div class=\"thy-empty-extra\">\n <ng-template [ngTemplateOutlet]=\"extraTemplateRef\"></ng-template>\n </div>\n}\n" }]
|
|
269
269
|
}], ctorParameters: () => [{ type: i1.ThyTranslate }, { type: ThyEmptyConfig }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i3.DomSanitizer }], propDecorators: { thyMessage: [{
|
|
270
270
|
type: Input
|
|
271
271
|
}], thyTranslationKey: [{
|