ngx-tethys 19.0.16 → 19.1.0-next.1
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 +31 -11
- package/README.md +0 -1
- package/action/action.component.d.ts +14 -23
- package/action/actions.component.d.ts +5 -7
- package/affix/affix.component.d.ts +9 -13
- package/alert/alert.component.d.ts +1 -1
- package/anchor/anchor-link.component.d.ts +8 -8
- package/anchor/anchor.component.d.ts +15 -21
- package/arrow-switcher/arrow-switcher.component.d.ts +15 -22
- package/autocomplete/autocomplete.component.d.ts +10 -17
- package/autocomplete/autocomplete.trigger.directive.d.ts +10 -18
- package/avatar/avatar-list/avatar-list.component.d.ts +8 -14
- package/avatar/avatar.component.d.ts +25 -39
- package/back-top/back-top.component.d.ts +9 -12
- package/badge/badge.component.d.ts +19 -59
- package/breadcrumb/breadcrumb.component.d.ts +15 -20
- package/button/button-group.component.d.ts +5 -12
- package/button/button-icon.component.d.ts +14 -27
- package/button/button.component.d.ts +17 -26
- package/calendar/calendar-header.component.d.ts +9 -8
- package/calendar/calendar.component.d.ts +16 -16
- package/card/card.component.d.ts +5 -11
- package/card/content.component.d.ts +3 -8
- package/card/header.component.d.ts +7 -8
- package/carousel/carousel.component.d.ts +22 -27
- package/cascader/cascader-li.component.d.ts +13 -21
- package/cascader/cascader-search-option.component.d.ts +8 -16
- package/cascader/cascader.component.d.ts +58 -80
- package/checkbox/checkbox.component.d.ts +2 -5
- package/collapse/collapse-item.component.d.ts +12 -19
- package/collapse/collapse.component.d.ts +6 -12
- package/collapse/collapse.token.d.ts +3 -3
- package/color-picker/color-picker-custom-panel.component.d.ts +5 -5
- package/color-picker/color-picker-panel.component.d.ts +7 -11
- package/color-picker/color-picker.component.d.ts +19 -35
- package/color-picker/parts/alpha/alpha.component.d.ts +8 -8
- package/color-picker/parts/hue/hue.component.d.ts +6 -6
- package/color-picker/parts/indicator/indicator.component.d.ts +4 -3
- package/color-picker/parts/inputs/inputs.component.d.ts +9 -9
- package/color-picker/parts/saturation/saturation.component.d.ts +9 -9
- package/comment/comment.component.d.ts +4 -5
- package/copy/copy.directive.d.ts +8 -9
- package/date-picker/abstract-picker.component.d.ts +8 -7
- package/date-picker/lib/calendar/calendar-footer.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-range/date-range.component.d.ts +2 -2
- package/dialog/body/dialog-body.component.d.ts +2 -6
- package/dialog/confirm/confirm.component.d.ts +2 -2
- package/dialog/footer/dialog-footer.component.d.ts +6 -9
- package/dialog/header/dialog-header.component.d.ts +9 -11
- package/divider/divider.component.d.ts +12 -16
- package/dot/dot.component.d.ts +5 -13
- package/drag-drop/drag-handle.directive.d.ts +2 -1
- package/drag-drop/drag.directive.d.ts +2 -1
- package/drag-drop/drop-container.directive.d.ts +2 -1
- package/dropdown/dropdown-active.directive.d.ts +4 -5
- package/dropdown/dropdown-menu-item.directive.d.ts +7 -14
- package/dropdown/dropdown-menu.component.d.ts +6 -12
- package/dropdown/dropdown-submenu.component.d.ts +2 -4
- package/dropdown/dropdown.directive.d.ts +14 -24
- package/empty/empty.component.d.ts +21 -27
- package/fesm2022/ngx-tethys-action.mjs +63 -101
- package/fesm2022/ngx-tethys-action.mjs.map +1 -1
- package/fesm2022/ngx-tethys-affix.mjs +40 -41
- package/fesm2022/ngx-tethys-affix.mjs.map +1 -1
- package/fesm2022/ngx-tethys-anchor.mjs +91 -118
- package/fesm2022/ngx-tethys-anchor.mjs.map +1 -1
- package/fesm2022/ngx-tethys-arrow-switcher.mjs +51 -77
- package/fesm2022/ngx-tethys-arrow-switcher.mjs.map +1 -1
- package/fesm2022/ngx-tethys-autocomplete.mjs +69 -103
- package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
- package/fesm2022/ngx-tethys-avatar.mjs +117 -162
- package/fesm2022/ngx-tethys-avatar.mjs.map +1 -1
- package/fesm2022/ngx-tethys-back-top.mjs +33 -46
- package/fesm2022/ngx-tethys-back-top.mjs.map +1 -1
- package/fesm2022/ngx-tethys-badge.mjs +104 -208
- package/fesm2022/ngx-tethys-badge.mjs.map +1 -1
- package/fesm2022/ngx-tethys-breadcrumb.mjs +66 -70
- package/fesm2022/ngx-tethys-breadcrumb.mjs.map +1 -1
- package/fesm2022/ngx-tethys-button.mjs +225 -322
- package/fesm2022/ngx-tethys-button.mjs.map +1 -1
- package/fesm2022/ngx-tethys-calendar.mjs +85 -87
- package/fesm2022/ngx-tethys-calendar.mjs.map +1 -1
- package/fesm2022/ngx-tethys-card.mjs +72 -77
- package/fesm2022/ngx-tethys-card.mjs.map +1 -1
- package/fesm2022/ngx-tethys-carousel.mjs +83 -99
- package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
- package/fesm2022/ngx-tethys-cascader.mjs +313 -468
- package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
- package/fesm2022/ngx-tethys-checkbox.mjs +10 -17
- package/fesm2022/ngx-tethys-checkbox.mjs.map +1 -1
- package/fesm2022/ngx-tethys-collapse.mjs +66 -71
- package/fesm2022/ngx-tethys-collapse.mjs.map +1 -1
- package/fesm2022/ngx-tethys-color-picker.mjs +187 -246
- package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-comment.mjs +16 -10
- package/fesm2022/ngx-tethys-comment.mjs.map +1 -1
- package/fesm2022/ngx-tethys-copy.mjs +25 -28
- package/fesm2022/ngx-tethys-copy.mjs.map +1 -1
- package/fesm2022/ngx-tethys-dialog.mjs +81 -82
- package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
- package/fesm2022/ngx-tethys-divider.mjs +49 -58
- package/fesm2022/ngx-tethys-divider.mjs.map +1 -1
- package/fesm2022/ngx-tethys-dot.mjs +45 -68
- package/fesm2022/ngx-tethys-dot.mjs.map +1 -1
- package/fesm2022/ngx-tethys-dropdown.mjs +155 -203
- package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
- package/fesm2022/ngx-tethys-empty.mjs +107 -95
- package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
- package/fesm2022/ngx-tethys-flexible-text.mjs +67 -86
- package/fesm2022/ngx-tethys-flexible-text.mjs.map +1 -1
- package/fesm2022/ngx-tethys-form.mjs +161 -200
- package/fesm2022/ngx-tethys-form.mjs.map +1 -1
- package/fesm2022/ngx-tethys-fullscreen.mjs +21 -23
- package/fesm2022/ngx-tethys-fullscreen.mjs.map +1 -1
- package/fesm2022/ngx-tethys-grid.mjs +161 -158
- package/fesm2022/ngx-tethys-grid.mjs.map +1 -1
- package/fesm2022/ngx-tethys-i18n.mjs +25 -25
- package/fesm2022/ngx-tethys-i18n.mjs.map +1 -1
- package/fesm2022/ngx-tethys-icon.mjs +44 -59
- package/fesm2022/ngx-tethys-icon.mjs.map +1 -1
- package/fesm2022/ngx-tethys-image.mjs +40 -36
- package/fesm2022/ngx-tethys-image.mjs.map +1 -1
- package/fesm2022/ngx-tethys-input-number.mjs +101 -114
- package/fesm2022/ngx-tethys-input-number.mjs.map +1 -1
- package/fesm2022/ngx-tethys-input.mjs +268 -271
- package/fesm2022/ngx-tethys-input.mjs.map +1 -1
- package/fesm2022/ngx-tethys-list.mjs +1 -1
- package/fesm2022/ngx-tethys-list.mjs.map +1 -1
- package/fesm2022/ngx-tethys-loading.mjs +17 -35
- package/fesm2022/ngx-tethys-loading.mjs.map +1 -1
- package/fesm2022/ngx-tethys-mention.mjs +52 -74
- package/fesm2022/ngx-tethys-mention.mjs.map +1 -1
- package/fesm2022/ngx-tethys-menu.mjs +106 -179
- package/fesm2022/ngx-tethys-menu.mjs.map +1 -1
- package/fesm2022/ngx-tethys-nav.mjs +169 -201
- package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
- package/fesm2022/ngx-tethys-pagination.mjs +230 -294
- package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
- package/fesm2022/ngx-tethys-popover.mjs +67 -70
- package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
- package/fesm2022/ngx-tethys-progress.mjs +194 -246
- package/fesm2022/ngx-tethys-progress.mjs.map +1 -1
- package/fesm2022/ngx-tethys-property.mjs +99 -113
- package/fesm2022/ngx-tethys-property.mjs.map +1 -1
- package/fesm2022/ngx-tethys-radio.mjs +60 -76
- package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
- package/fesm2022/ngx-tethys-rate.mjs +115 -157
- package/fesm2022/ngx-tethys-rate.mjs.map +1 -1
- package/fesm2022/ngx-tethys-resizable.mjs +111 -157
- package/fesm2022/ngx-tethys-resizable.mjs.map +1 -1
- package/fesm2022/ngx-tethys-result.mjs +46 -28
- package/fesm2022/ngx-tethys-result.mjs.map +1 -1
- package/fesm2022/ngx-tethys-segment.mjs +84 -103
- package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
- package/fesm2022/ngx-tethys-skeleton.mjs +339 -342
- package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
- package/fesm2022/ngx-tethys-slide.mjs +37 -56
- package/fesm2022/ngx-tethys-slide.mjs.map +1 -1
- package/fesm2022/ngx-tethys-slider.mjs +75 -108
- package/fesm2022/ngx-tethys-slider.mjs.map +1 -1
- package/fesm2022/ngx-tethys-space.mjs +25 -51
- package/fesm2022/ngx-tethys-space.mjs.map +1 -1
- package/fesm2022/ngx-tethys-statistic.mjs +114 -151
- package/fesm2022/ngx-tethys-statistic.mjs.map +1 -1
- package/fesm2022/ngx-tethys-stepper.mjs +74 -107
- package/fesm2022/ngx-tethys-stepper.mjs.map +1 -1
- package/fesm2022/ngx-tethys-strength.mjs +52 -66
- package/fesm2022/ngx-tethys-strength.mjs.map +1 -1
- package/fesm2022/ngx-tethys-switch.mjs +80 -140
- package/fesm2022/ngx-tethys-switch.mjs.map +1 -1
- package/fesm2022/ngx-tethys-table.mjs +1 -1
- package/fesm2022/ngx-tethys-table.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tabs.mjs +69 -87
- package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tag.mjs +42 -64
- package/fesm2022/ngx-tethys-tag.mjs.map +1 -1
- package/fesm2022/ngx-tethys-timeline.mjs +104 -129
- package/fesm2022/ngx-tethys-timeline.mjs.map +1 -1
- package/fesm2022/ngx-tethys-transfer.mjs +98 -119
- package/fesm2022/ngx-tethys-transfer.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tree-select.mjs +2 -4
- package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tree.mjs +281 -401
- package/fesm2022/ngx-tethys-tree.mjs.map +1 -1
- package/fesm2022/ngx-tethys-typography.mjs +36 -33
- package/fesm2022/ngx-tethys-typography.mjs.map +1 -1
- package/fesm2022/ngx-tethys-upload.mjs +93 -132
- package/fesm2022/ngx-tethys-upload.mjs.map +1 -1
- package/fesm2022/ngx-tethys-util.mjs.map +1 -1
- package/fesm2022/ngx-tethys-vote.mjs +53 -99
- package/fesm2022/ngx-tethys-vote.mjs.map +1 -1
- package/fesm2022/ngx-tethys-watermark.mjs +36 -40
- 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/flexible-text/flexible-text.component.d.ts +9 -15
- package/form/form-group-error/form-group-error.component.d.ts +2 -3
- package/form/form-group-label.directive.d.ts +2 -1
- package/form/form-group.component.d.ts +17 -24
- package/form/form-submit.directive.d.ts +2 -2
- package/form/form.directive.d.ts +6 -8
- package/form/from-group-footer/form-group-footer.component.d.ts +2 -2
- package/form/validator/confirm-validator.directive.d.ts +2 -2
- package/form/validator/unique-validator.directive.d.ts +2 -2
- package/fullscreen/fullscreen.component.d.ts +7 -7
- package/grid/flex.d.ts +13 -20
- package/grid/thy-col.directive.d.ts +6 -9
- package/grid/thy-grid-item.component.d.ts +3 -4
- package/grid/thy-grid.component.d.ts +11 -12
- package/grid/thy-row.directive.d.ts +11 -14
- package/icon/icon.component.d.ts +10 -17
- package/image/image.directive.d.ts +10 -12
- package/image/image.token.d.ts +5 -5
- package/input/input-count.component.d.ts +4 -5
- package/input/input-group.component.d.ts +20 -20
- package/input/input-search.component.d.ts +15 -20
- package/input/input.component.d.ts +20 -21
- package/input/input.directive.d.ts +4 -6
- package/input-number/input-number.component.d.ts +21 -29
- package/layout/header.component.d.ts +4 -9
- package/layout/sidebar-header.component.d.ts +2 -1
- package/layout/sidebar.component.d.ts +8 -7
- package/list/list.component.d.ts +2 -1
- package/list/selection/selection-list.d.ts +4 -3
- package/loading/loading.component.d.ts +4 -10
- package/mention/mention.directive.d.ts +6 -7
- package/mention/suggestions/suggestions.component.d.ts +8 -9
- package/menu/group/menu-group.component.d.ts +16 -33
- package/menu/item/action/menu-item-action.component.d.ts +7 -8
- package/menu/item/icon/menu-item-icon.component.d.ts +2 -2
- package/menu/item/menu-item.component.d.ts +4 -4
- package/menu/item/name/menu-item-name.component.d.ts +2 -3
- package/menu/menu.component.d.ts +3 -7
- package/nav/icon-nav/icon-nav-link.directive.d.ts +3 -7
- package/nav/icon-nav/icon-nav.component.d.ts +3 -8
- package/nav/nav-ink-bar.directive.d.ts +4 -6
- package/nav/nav-item.directive.d.ts +7 -10
- package/nav/nav.component.d.ts +20 -48
- package/package.json +1 -1
- package/pagination/pagination.component.d.ts +48 -109
- package/popover/header/popover-header.component.d.ts +7 -6
- package/popover/popover.directive.d.ts +11 -18
- package/progress/progress-circle.component.d.ts +35 -26
- package/progress/progress-strip.component.d.ts +10 -14
- package/progress/progress.component.d.ts +16 -26
- package/property/examples/single/single.component.scss +6 -0
- package/property/properties.component.d.ts +6 -15
- package/property/property-item.component.d.ts +22 -34
- package/property/styles/properties.scss +124 -52
- package/property-operation/property-operation.component.d.ts +6 -5
- package/radio/button/radio-button.component.d.ts +2 -2
- package/radio/group/radio-group.component.d.ts +13 -16
- package/radio/radio.component.d.ts +2 -2
- package/radio/radio.token.d.ts +2 -2
- package/rate/rate-item.component.d.ts +8 -10
- package/rate/rate.component.d.ts +20 -30
- package/resizable/resizable.directive.d.ts +18 -36
- package/resizable/resize-handle.component.d.ts +6 -6
- package/resizable/resize-handles.component.d.ts +5 -8
- package/result/result.component.d.ts +9 -10
- package/schematics/version.d.ts +1 -1
- package/schematics/version.js +1 -1
- package/segment/segment-item.component.d.ts +9 -14
- package/segment/segment.component.d.ts +11 -14
- package/segment/segment.token.d.ts +4 -3
- package/select/custom-select/custom-select.component.d.ts +11 -10
- package/select/native-select/native-select.component.d.ts +2 -1
- package/shared/base-form-check.component.d.ts +3 -2
- package/shared/directives/thy-autofocus.directive.d.ts +3 -2
- package/shared/directives/thy-scroll.directive.d.ts +2 -1
- package/shared/directives/thy-show.d.ts +2 -1
- package/shared/option/group/option-group.component.d.ts +2 -1
- package/shared/option/list-option/list-option.component.d.ts +2 -7
- package/shared/option/option.component.d.ts +2 -1
- package/shared/select/select-control/select-control.component.d.ts +7 -6
- package/skeleton/skeleton-circle.component.d.ts +16 -19
- package/skeleton/skeleton-rectangle.component.d.ts +20 -23
- package/skeleton/skeleton.component.d.ts +5 -6
- package/skeleton/stylized/bullet-list.component.d.ts +11 -13
- package/skeleton/stylized/list.component.d.ts +10 -12
- package/skeleton/stylized/paragraph.component.d.ts +12 -14
- package/slide/slide-body/slide-body-section.component.d.ts +2 -5
- package/slide/slide-header/slide-header.component.d.ts +6 -9
- package/slider/slider.component.d.ts +17 -24
- package/space/space.component.d.ts +10 -16
- package/statistic/statistic.component.d.ts +35 -40
- package/stepper/step-header.component.d.ts +6 -10
- package/stepper/step.component.d.ts +6 -6
- package/stepper/stepper.component.d.ts +15 -20
- package/strength/strength.component.d.ts +8 -13
- package/switch/switch.component.d.ts +24 -35
- package/table/table-column.component.d.ts +6 -5
- package/table/table-skeleton.component.d.ts +3 -10
- package/table/table.component.d.ts +11 -10
- package/tabs/tab-content.component.d.ts +4 -4
- package/tabs/tab.component.d.ts +4 -5
- package/tabs/tabs.component.d.ts +13 -15
- package/tag/tag.component.d.ts +10 -16
- package/time-picker/time-picker-panel.component.d.ts +3 -2
- package/time-picker/time-picker.component.d.ts +6 -5
- package/timeline/timeline-item.component.d.ts +9 -13
- package/timeline/timeline.component.d.ts +13 -17
- package/tooltip/tooltip.directive.d.ts +3 -2
- package/transfer/transfer-list.component.d.ts +15 -15
- package/transfer/transfer.component.d.ts +20 -23
- package/tree/tree-abstract.d.ts +5 -5
- package/tree/tree-node.component.d.ts +24 -46
- package/tree/tree.class.d.ts +4 -4
- package/tree/tree.component.d.ts +47 -74
- package/tree/tree.service.d.ts +3 -4
- package/tree-select/tree-select.component.d.ts +10 -9
- package/typography/bg-color.directive.d.ts +3 -3
- package/typography/text/text.component.d.ts +2 -2
- package/typography/text-color.directive.d.ts +3 -3
- package/upload/file-drop.directive.d.ts +9 -11
- package/upload/file-select-base.d.ts +6 -10
- package/upload/file-select.component.d.ts +10 -20
- package/util/helpers/helpers.d.ts +2 -1
- package/vote/vote.component.d.ts +13 -32
- package/watermark/watermark.directive.d.ts +7 -9
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { input, contentChild, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
|
|
3
3
|
import { NgTemplateOutlet, CommonModule } from '@angular/common';
|
|
4
4
|
import { coerceBooleanProperty } from 'ngx-tethys/util';
|
|
5
5
|
|
|
@@ -9,38 +9,49 @@ import { coerceBooleanProperty } from 'ngx-tethys/util';
|
|
|
9
9
|
* @order 20
|
|
10
10
|
*/
|
|
11
11
|
class ThyCardHeader {
|
|
12
|
-
constructor() {
|
|
12
|
+
constructor() {
|
|
13
|
+
/**
|
|
14
|
+
* 头部,标题
|
|
15
|
+
*/
|
|
16
|
+
this.thyTitle = input();
|
|
17
|
+
/**
|
|
18
|
+
* 头部,附加信息
|
|
19
|
+
*/
|
|
20
|
+
this.thyDescription = input();
|
|
21
|
+
/**
|
|
22
|
+
* 已废弃,头部大小
|
|
23
|
+
* @deprecated
|
|
24
|
+
*/
|
|
25
|
+
this.thySize = input('md');
|
|
26
|
+
/**
|
|
27
|
+
* 自定义头部标题
|
|
28
|
+
* @type TemplateRef
|
|
29
|
+
*/
|
|
30
|
+
this.titleTemplateRef = contentChild('headerTitle');
|
|
31
|
+
/**
|
|
32
|
+
* 自定义头部描述
|
|
33
|
+
* @type TemplateRef
|
|
34
|
+
*/
|
|
35
|
+
this.descriptionTemplateRef = contentChild('headerDescription');
|
|
36
|
+
/**
|
|
37
|
+
* 自定义头部操作区域
|
|
38
|
+
* @type TemplateRef
|
|
39
|
+
*/
|
|
40
|
+
this.operationTemplateRef = contentChild('headerOperation');
|
|
41
|
+
}
|
|
13
42
|
ngOnInit() { }
|
|
14
43
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyCardHeader, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
15
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.8", type: ThyCardHeader, isStandalone: true, selector: "thy-card-header", inputs: { thyTitle: "thyTitle", thyDescription: "thyDescription", thySize: "thySize" }, host: { properties: { "class.thy-card-header--sm": "thySize === \"sm\"", "class.thy-card-header--lg": "thySize === \"lg\"", "class.thy-card-header--md": "thySize === \"md\"" }, classAttribute: "thy-card-header" }, queries: [{ propertyName: "titleTemplateRef", first: true, predicate: ["headerTitle"], descendants: true }, { propertyName: "descriptionTemplateRef", first: true, predicate: ["headerDescription"], descendants: true }, { propertyName: "operationTemplateRef", first: true, predicate: ["headerOperation"], descendants: true }], ngImport: i0, template: "<div class=\"card-header-title\">\n <ng-template [ngTemplateOutlet]=\"titleTemplateRef\"></ng-template>\n @if (!titleTemplateRef) {\n <span>{{ thyTitle }}</span>\n }\n</div>\n<div class=\"card-header-description\">\n <ng-template [ngTemplateOutlet]=\"descriptionTemplateRef\"></ng-template>\n @if (!descriptionTemplateRef) {\n <span>{{ thyDescription }}</span>\n }\n</div>\n<div class=\"card-header-operation\">\n <ng-template [ngTemplateOutlet]=\"operationTemplateRef\"></ng-template>\n</div>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
44
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.8", type: ThyCardHeader, isStandalone: true, selector: "thy-card-header", inputs: { thyTitle: { classPropertyName: "thyTitle", publicName: "thyTitle", isSignal: true, isRequired: false, transformFunction: null }, thyDescription: { classPropertyName: "thyDescription", publicName: "thyDescription", isSignal: true, isRequired: false, transformFunction: null }, thySize: { classPropertyName: "thySize", publicName: "thySize", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.thy-card-header--sm": "thySize() === \"sm\"", "class.thy-card-header--lg": "thySize() === \"lg\"", "class.thy-card-header--md": "thySize() === \"md\"" }, classAttribute: "thy-card-header" }, queries: [{ propertyName: "titleTemplateRef", first: true, predicate: ["headerTitle"], descendants: true, isSignal: true }, { propertyName: "descriptionTemplateRef", first: true, predicate: ["headerDescription"], descendants: true, isSignal: true }, { propertyName: "operationTemplateRef", first: true, predicate: ["headerOperation"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"card-header-title\">\n <ng-template [ngTemplateOutlet]=\"titleTemplateRef()\"></ng-template>\n @if (!titleTemplateRef()) {\n <span>{{ thyTitle() }}</span>\n }\n</div>\n<div class=\"card-header-description\">\n <ng-template [ngTemplateOutlet]=\"descriptionTemplateRef()\"></ng-template>\n @if (!descriptionTemplateRef()) {\n <span>{{ thyDescription() }}</span>\n }\n</div>\n<div class=\"card-header-operation\">\n <ng-template [ngTemplateOutlet]=\"operationTemplateRef()\"></ng-template>\n</div>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
16
45
|
}
|
|
17
46
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyCardHeader, decorators: [{
|
|
18
47
|
type: Component,
|
|
19
48
|
args: [{ selector: 'thy-card-header', preserveWhitespaces: false, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
20
49
|
class: 'thy-card-header',
|
|
21
|
-
'[class.thy-card-header--sm]': 'thySize === "sm"',
|
|
22
|
-
'[class.thy-card-header--lg]': 'thySize === "lg"',
|
|
23
|
-
'[class.thy-card-header--md]': 'thySize === "md"'
|
|
24
|
-
}, imports: [NgTemplateOutlet], template: "<div class=\"card-header-title\">\n <ng-template [ngTemplateOutlet]=\"titleTemplateRef\"></ng-template>\n @if (!titleTemplateRef) {\n <span>{{ thyTitle }}</span>\n }\n</div>\n<div class=\"card-header-description\">\n <ng-template [ngTemplateOutlet]=\"descriptionTemplateRef\"></ng-template>\n @if (!descriptionTemplateRef) {\n <span>{{ thyDescription }}</span>\n }\n</div>\n<div class=\"card-header-operation\">\n <ng-template [ngTemplateOutlet]=\"operationTemplateRef\"></ng-template>\n</div>\n" }]
|
|
25
|
-
}], ctorParameters: () => []
|
|
26
|
-
type: Input,
|
|
27
|
-
args: ['thyTitle']
|
|
28
|
-
}], thyDescription: [{
|
|
29
|
-
type: Input,
|
|
30
|
-
args: ['thyDescription']
|
|
31
|
-
}], thySize: [{
|
|
32
|
-
type: Input,
|
|
33
|
-
args: ['thySize']
|
|
34
|
-
}], titleTemplateRef: [{
|
|
35
|
-
type: ContentChild,
|
|
36
|
-
args: ['headerTitle']
|
|
37
|
-
}], descriptionTemplateRef: [{
|
|
38
|
-
type: ContentChild,
|
|
39
|
-
args: ['headerDescription']
|
|
40
|
-
}], operationTemplateRef: [{
|
|
41
|
-
type: ContentChild,
|
|
42
|
-
args: ['headerOperation']
|
|
43
|
-
}] } });
|
|
50
|
+
'[class.thy-card-header--sm]': 'thySize() === "sm"',
|
|
51
|
+
'[class.thy-card-header--lg]': 'thySize() === "lg"',
|
|
52
|
+
'[class.thy-card-header--md]': 'thySize() === "md"'
|
|
53
|
+
}, imports: [NgTemplateOutlet], template: "<div class=\"card-header-title\">\n <ng-template [ngTemplateOutlet]=\"titleTemplateRef()\"></ng-template>\n @if (!titleTemplateRef()) {\n <span>{{ thyTitle() }}</span>\n }\n</div>\n<div class=\"card-header-description\">\n <ng-template [ngTemplateOutlet]=\"descriptionTemplateRef()\"></ng-template>\n @if (!descriptionTemplateRef()) {\n <span>{{ thyDescription() }}</span>\n }\n</div>\n<div class=\"card-header-operation\">\n <ng-template [ngTemplateOutlet]=\"operationTemplateRef()\"></ng-template>\n</div>\n" }]
|
|
54
|
+
}], ctorParameters: () => [] });
|
|
44
55
|
|
|
45
56
|
/**
|
|
46
57
|
* 卡片组件
|
|
@@ -53,10 +64,23 @@ class ThyCard {
|
|
|
53
64
|
* 左右是否有内边距,已废弃,如需配置间距使用 spacing 工具样式覆盖默认间距
|
|
54
65
|
* @deprecated
|
|
55
66
|
*/
|
|
56
|
-
this.thyHasLeftRightPadding = true;
|
|
67
|
+
this.thyHasLeftRightPadding = input(true, { transform: coerceBooleanProperty });
|
|
68
|
+
/**
|
|
69
|
+
* 是否是分割模式,分割模式头部和内容区之间有一条分割线
|
|
70
|
+
*/
|
|
71
|
+
this.thyDivided = input(false, { transform: coerceBooleanProperty });
|
|
72
|
+
/**
|
|
73
|
+
* 是否有边框,边框颜色为#eee
|
|
74
|
+
*/
|
|
75
|
+
this.thyBordered = input(false, { transform: coerceBooleanProperty });
|
|
76
|
+
/**
|
|
77
|
+
* 大小
|
|
78
|
+
* @type sm | md | lg
|
|
79
|
+
*/
|
|
80
|
+
this.thySize = input('md');
|
|
57
81
|
}
|
|
58
82
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyCard, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
59
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
83
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.8", type: ThyCard, isStandalone: true, selector: "thy-card", inputs: { thyHasLeftRightPadding: { classPropertyName: "thyHasLeftRightPadding", publicName: "thyHasLeftRightPadding", isSignal: true, isRequired: false, transformFunction: null }, thyDivided: { classPropertyName: "thyDivided", publicName: "thyDivided", isSignal: true, isRequired: false, transformFunction: null }, thyBordered: { classPropertyName: "thyBordered", publicName: "thyBordered", isSignal: true, isRequired: false, transformFunction: null }, thySize: { classPropertyName: "thySize", publicName: "thySize", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.thy-card--divided": "!!thyDivided()", "class.thy-card--bordered": "!!thyBordered()", "class.thy-card--clear-left-right-padding": "!thyHasLeftRightPadding()", "class.thy-card-sm": "thySize() === \"sm\"", "class.thy-card-lg": "thySize() === \"lg\"" }, classAttribute: "thy-card" }, ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
60
84
|
}
|
|
61
85
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyCard, decorators: [{
|
|
62
86
|
type: Component,
|
|
@@ -66,25 +90,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImpor
|
|
|
66
90
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
67
91
|
host: {
|
|
68
92
|
class: 'thy-card',
|
|
69
|
-
'[class.thy-card--divided]': '!!thyDivided',
|
|
70
|
-
'[class.thy-card--bordered]': '!!thyBordered',
|
|
71
|
-
'[class.thy-card--clear-left-right-padding]': '!thyHasLeftRightPadding',
|
|
72
|
-
'[class.thy-card-sm]': 'thySize === "sm"',
|
|
73
|
-
'[class.thy-card-lg]': 'thySize === "lg"'
|
|
93
|
+
'[class.thy-card--divided]': '!!thyDivided()',
|
|
94
|
+
'[class.thy-card--bordered]': '!!thyBordered()',
|
|
95
|
+
'[class.thy-card--clear-left-right-padding]': '!thyHasLeftRightPadding()',
|
|
96
|
+
'[class.thy-card-sm]': 'thySize() === "sm"',
|
|
97
|
+
'[class.thy-card-lg]': 'thySize() === "lg"'
|
|
74
98
|
}
|
|
75
99
|
}]
|
|
76
|
-
}]
|
|
77
|
-
type: Input,
|
|
78
|
-
args: [{ transform: coerceBooleanProperty }]
|
|
79
|
-
}], thyDivided: [{
|
|
80
|
-
type: Input,
|
|
81
|
-
args: [{ transform: coerceBooleanProperty }]
|
|
82
|
-
}], thyBordered: [{
|
|
83
|
-
type: Input,
|
|
84
|
-
args: [{ transform: coerceBooleanProperty }]
|
|
85
|
-
}], thySize: [{
|
|
86
|
-
type: Input
|
|
87
|
-
}] } });
|
|
100
|
+
}] });
|
|
88
101
|
|
|
89
102
|
/**
|
|
90
103
|
* 卡片内容组件
|
|
@@ -93,27 +106,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImpor
|
|
|
93
106
|
*/
|
|
94
107
|
class ThyCardContent {
|
|
95
108
|
constructor() {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
this.
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* 已废弃,Content 大小,sm 时 padding-top 间距变小
|
|
108
|
-
* @deprecated
|
|
109
|
-
* @default md
|
|
110
|
-
*/
|
|
111
|
-
set thySize(value) {
|
|
112
|
-
this._thySizeSm = value === 'sm';
|
|
109
|
+
/**
|
|
110
|
+
* 内容区,滚动
|
|
111
|
+
*/
|
|
112
|
+
this.thyScroll = input(false, { transform: coerceBooleanProperty });
|
|
113
|
+
/**
|
|
114
|
+
* 已废弃,Content 大小,sm 时 padding-top 间距变小
|
|
115
|
+
* @deprecated
|
|
116
|
+
*/
|
|
117
|
+
this.thySize = input('md');
|
|
113
118
|
}
|
|
114
119
|
ngOnInit() { }
|
|
115
120
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyCardContent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
116
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
121
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.8", type: ThyCardContent, isStandalone: true, selector: "thy-card-content", inputs: { thyScroll: { classPropertyName: "thyScroll", publicName: "thyScroll", isSignal: true, isRequired: false, transformFunction: null }, thySize: { classPropertyName: "thySize", publicName: "thySize", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.thy-card-content--scroll": "!!thyScroll()", "class.thy-card-content--sm": "thySize() === \"sm\"" }, classAttribute: "thy-card-content" }, ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
117
122
|
}
|
|
118
123
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyCardContent, decorators: [{
|
|
119
124
|
type: Component,
|
|
@@ -123,22 +128,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImpor
|
|
|
123
128
|
template: ` <ng-content></ng-content> `,
|
|
124
129
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
125
130
|
host: {
|
|
126
|
-
class: 'thy-card-content'
|
|
131
|
+
class: 'thy-card-content',
|
|
132
|
+
'[class.thy-card-content--scroll]': '!!thyScroll()',
|
|
133
|
+
'[class.thy-card-content--sm]': 'thySize() === "sm"'
|
|
127
134
|
}
|
|
128
135
|
}]
|
|
129
|
-
}]
|
|
130
|
-
type: HostBinding,
|
|
131
|
-
args: ['class.thy-card-content--scroll']
|
|
132
|
-
}], thyScroll: [{
|
|
133
|
-
type: Input,
|
|
134
|
-
args: [{ transform: coerceBooleanProperty }]
|
|
135
|
-
}], _thySizeSm: [{
|
|
136
|
-
type: HostBinding,
|
|
137
|
-
args: ['class.thy-card-content--sm']
|
|
138
|
-
}], thySize: [{
|
|
139
|
-
type: Input,
|
|
140
|
-
args: ['thySize']
|
|
141
|
-
}] } });
|
|
136
|
+
}] });
|
|
142
137
|
|
|
143
138
|
class ThyCardModule {
|
|
144
139
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyCardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-tethys-card.mjs","sources":["../../../src/card/header.component.ts","../../../src/card/header.component.html","../../../src/card/card.component.ts","../../../src/card/content.component.ts","../../../src/card/card.module.ts","../../../src/card/ngx-tethys-card.ts"],"sourcesContent":["import { Component, Input, OnInit, TemplateRef, ContentChild, ChangeDetectionStrategy } from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\n\n/**\n * 卡片头部组件\n * @name thy-card-header\n * @order 20\n */\n@Component({\n selector: 'thy-card-header',\n preserveWhitespaces: false,\n templateUrl: './header.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'thy-card-header',\n '[class.thy-card-header--sm]': 'thySize === \"sm\"',\n '[class.thy-card-header--lg]': 'thySize === \"lg\"',\n '[class.thy-card-header--md]': 'thySize === \"md\"'\n },\n imports: [NgTemplateOutlet]\n})\nexport class ThyCardHeader implements OnInit {\n public iconClass: string;\n\n /**\n * 头部,标题\n */\n @Input('thyTitle') thyTitle: string;\n\n /**\n * 头部,附加信息\n */\n @Input('thyDescription') thyDescription: string;\n\n /**\n * 已废弃,头部大小\n * @deprecated\n * @default md\n */\n @Input('thySize') thySize: 'sm' | 'lg' | 'md' | '';\n\n /**\n * 自定义头部标题\n * @type TemplateRef\n */\n @ContentChild('headerTitle')\n public titleTemplateRef: TemplateRef<any>;\n\n /**\n * 自定义头部描述\n * @type TemplateRef\n */\n @ContentChild('headerDescription')\n public descriptionTemplateRef: TemplateRef<any>;\n\n /**\n * 自定义头部操作区域\n * @type TemplateRef\n */\n @ContentChild('headerOperation')\n public operationTemplateRef: TemplateRef<any>;\n\n constructor() {}\n\n ngOnInit() {}\n}\n","<div class=\"card-header-title\">\n <ng-template [ngTemplateOutlet]=\"titleTemplateRef\"></ng-template>\n @if (!titleTemplateRef) {\n <span>{{ thyTitle }}</span>\n }\n</div>\n<div class=\"card-header-description\">\n <ng-template [ngTemplateOutlet]=\"descriptionTemplateRef\"></ng-template>\n @if (!descriptionTemplateRef) {\n <span>{{ thyDescription }}</span>\n }\n</div>\n<div class=\"card-header-operation\">\n <ng-template [ngTemplateOutlet]=\"operationTemplateRef\"></ng-template>\n</div>\n","import { Component, Input, ChangeDetectionStrategy } from '@angular/core';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\n/**\n * 卡片组件\n * @name thy-card\n * @order 10\n */\n@Component({\n selector: 'thy-card',\n template: ` <ng-content></ng-content> `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'thy-card',\n '[class.thy-card--divided]': '!!thyDivided',\n '[class.thy-card--bordered]': '!!thyBordered',\n '[class.thy-card--clear-left-right-padding]': '!thyHasLeftRightPadding',\n '[class.thy-card-sm]': 'thySize === \"sm\"',\n '[class.thy-card-lg]': 'thySize === \"lg\"'\n }\n})\nexport class ThyCard {\n /**\n * 左右是否有内边距,已废弃,如需配置间距使用 spacing 工具样式覆盖默认间距\n * @deprecated\n */\n @Input({ transform: coerceBooleanProperty })\n thyHasLeftRightPadding: boolean | string = true;\n\n /**\n * 是否是分割模式,分割模式头部和内容区之间有一条分割线\n * @default false\n */\n @Input({ transform: coerceBooleanProperty })\n thyDivided: boolean | string;\n\n /**\n * 是否有边框,边框颜色为#eee\n * @default false\n */\n @Input({ transform: coerceBooleanProperty })\n thyBordered: boolean | string;\n\n /**\n * 大小\n * @type sm | md | lg\n * @default md\n */\n @Input()\n thySize: 'md' | 'sm' | 'lg';\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, OnInit } from '@angular/core';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\n/**\n * 卡片内容组件\n * @name thy-card-content\n * @order 30\n */\n@Component({\n selector: 'thy-card-content',\n preserveWhitespaces: false,\n template: ` <ng-content></ng-content> `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'thy-card-content'\n }\n})\nexport class ThyCardContent implements OnInit {\n @HostBinding('class.thy-card-content--scroll') scrollClassName = false;\n\n /**\n * 内容区,滚动\n * @default false\n */\n @Input({ transform: coerceBooleanProperty })\n set thyScroll(value: boolean) {\n this.scrollClassName = value;\n }\n\n @HostBinding('class.thy-card-content--sm') _thySizeSm = false;\n\n /**\n * 已废弃,Content 大小,sm 时 padding-top 间距变小\n * @deprecated\n * @default md\n */\n @Input('thySize')\n set thySize(value: string) {\n this._thySizeSm = value === 'sm';\n }\n\n ngOnInit() {}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThyCard } from './card.component';\nimport { ThyCardHeader } from './header.component';\nimport { ThyCardContent } from './content.component';\n\n@NgModule({\n imports: [CommonModule, ThyCard, ThyCardHeader, ThyCardContent],\n exports: [ThyCard, ThyCardHeader, ThyCardContent]\n})\nexport class ThyCardModule {}\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-card.mjs","sources":["../../../src/card/header.component.ts","../../../src/card/header.component.html","../../../src/card/card.component.ts","../../../src/card/content.component.ts","../../../src/card/card.module.ts","../../../src/card/ngx-tethys-card.ts"],"sourcesContent":["import { Component, OnInit, TemplateRef, ChangeDetectionStrategy, input, contentChild } from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\n\n/**\n * 卡片头部组件\n * @name thy-card-header\n * @order 20\n */\n@Component({\n selector: 'thy-card-header',\n preserveWhitespaces: false,\n templateUrl: './header.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'thy-card-header',\n '[class.thy-card-header--sm]': 'thySize() === \"sm\"',\n '[class.thy-card-header--lg]': 'thySize() === \"lg\"',\n '[class.thy-card-header--md]': 'thySize() === \"md\"'\n },\n imports: [NgTemplateOutlet]\n})\nexport class ThyCardHeader implements OnInit {\n public iconClass: string;\n\n /**\n * 头部,标题\n */\n readonly thyTitle = input<string>();\n\n /**\n * 头部,附加信息\n */\n readonly thyDescription = input<string>();\n\n /**\n * 已废弃,头部大小\n * @deprecated\n */\n readonly thySize = input<'sm' | 'lg' | 'md' | ''>('md');\n\n /**\n * 自定义头部标题\n * @type TemplateRef\n */\n public readonly titleTemplateRef = contentChild<TemplateRef<any>>('headerTitle');\n\n /**\n * 自定义头部描述\n * @type TemplateRef\n */\n public readonly descriptionTemplateRef = contentChild<TemplateRef<any>>('headerDescription');\n\n /**\n * 自定义头部操作区域\n * @type TemplateRef\n */\n public readonly operationTemplateRef = contentChild<TemplateRef<any>>('headerOperation');\n\n constructor() {}\n\n ngOnInit() {}\n}\n","<div class=\"card-header-title\">\n <ng-template [ngTemplateOutlet]=\"titleTemplateRef()\"></ng-template>\n @if (!titleTemplateRef()) {\n <span>{{ thyTitle() }}</span>\n }\n</div>\n<div class=\"card-header-description\">\n <ng-template [ngTemplateOutlet]=\"descriptionTemplateRef()\"></ng-template>\n @if (!descriptionTemplateRef()) {\n <span>{{ thyDescription() }}</span>\n }\n</div>\n<div class=\"card-header-operation\">\n <ng-template [ngTemplateOutlet]=\"operationTemplateRef()\"></ng-template>\n</div>\n","import { Component, ChangeDetectionStrategy, input } from '@angular/core';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\n/**\n * 卡片组件\n * @name thy-card\n * @order 10\n */\n@Component({\n selector: 'thy-card',\n template: ` <ng-content></ng-content> `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'thy-card',\n '[class.thy-card--divided]': '!!thyDivided()',\n '[class.thy-card--bordered]': '!!thyBordered()',\n '[class.thy-card--clear-left-right-padding]': '!thyHasLeftRightPadding()',\n '[class.thy-card-sm]': 'thySize() === \"sm\"',\n '[class.thy-card-lg]': 'thySize() === \"lg\"'\n }\n})\nexport class ThyCard {\n /**\n * 左右是否有内边距,已废弃,如需配置间距使用 spacing 工具样式覆盖默认间距\n * @deprecated\n */\n readonly thyHasLeftRightPadding = input(true, { transform: coerceBooleanProperty });\n\n /**\n * 是否是分割模式,分割模式头部和内容区之间有一条分割线\n */\n readonly thyDivided = input(false, { transform: coerceBooleanProperty });\n\n /**\n * 是否有边框,边框颜色为#eee\n */\n readonly thyBordered = input(false, { transform: coerceBooleanProperty });\n\n /**\n * 大小\n * @type sm | md | lg\n */\n readonly thySize = input<'md' | 'sm' | 'lg'>('md');\n}\n","import { ChangeDetectionStrategy, Component, input, OnInit } from '@angular/core';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\n/**\n * 卡片内容组件\n * @name thy-card-content\n * @order 30\n */\n@Component({\n selector: 'thy-card-content',\n preserveWhitespaces: false,\n template: ` <ng-content></ng-content> `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'thy-card-content',\n '[class.thy-card-content--scroll]': '!!thyScroll()',\n '[class.thy-card-content--sm]': 'thySize() === \"sm\"'\n }\n})\nexport class ThyCardContent implements OnInit {\n /**\n * 内容区,滚动\n */\n readonly thyScroll = input(false, { transform: coerceBooleanProperty });\n\n /**\n * 已废弃,Content 大小,sm 时 padding-top 间距变小\n * @deprecated\n */\n readonly thySize = input<string>('md');\n\n ngOnInit() {}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThyCard } from './card.component';\nimport { ThyCardHeader } from './header.component';\nimport { ThyCardContent } from './content.component';\n\n@NgModule({\n imports: [CommonModule, ThyCard, ThyCardHeader, ThyCardContent],\n exports: [ThyCard, ThyCardHeader, ThyCardContent]\n})\nexport class ThyCardModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAGA;;;;AAIG;MAcU,aAAa,CAAA;AAqCtB,IAAA,WAAA,GAAA;AAlCA;;AAEG;QACM,IAAQ,CAAA,QAAA,GAAG,KAAK,EAAU;AAEnC;;AAEG;QACM,IAAc,CAAA,cAAA,GAAG,KAAK,EAAU;AAEzC;;;AAGG;AACM,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAA0B,IAAI,CAAC;AAEvD;;;AAGG;AACa,QAAA,IAAA,CAAA,gBAAgB,GAAG,YAAY,CAAmB,aAAa,CAAC;AAEhF;;;AAGG;AACa,QAAA,IAAA,CAAA,sBAAsB,GAAG,YAAY,CAAmB,mBAAmB,CAAC;AAE5F;;;AAGG;AACa,QAAA,IAAA,CAAA,oBAAoB,GAAG,YAAY,CAAmB,iBAAiB,CAAC;;AAIxF,IAAA,QAAQ;8GAvCC,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAb,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,2BAAA,EAAA,sBAAA,EAAA,2BAAA,EAAA,sBAAA,EAAA,2BAAA,EAAA,sBAAA,EAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,aAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,wBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,sBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECrB1B,4gBAeA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDIc,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAEjB,aAAa,EAAA,UAAA,EAAA,CAAA;kBAbzB,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,uBACN,KAAK,EAAA,eAAA,EAET,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,iBAAiB;AACxB,wBAAA,6BAA6B,EAAE,oBAAoB;AACnD,wBAAA,6BAA6B,EAAE,oBAAoB;AACnD,wBAAA,6BAA6B,EAAE;qBAClC,EACQ,OAAA,EAAA,CAAC,gBAAgB,CAAC,EAAA,QAAA,EAAA,4gBAAA,EAAA;;;AEhB/B;;;;AAIG;MAcU,OAAO,CAAA;AAbpB,IAAA,WAAA,GAAA;AAcI;;;AAGG;QACM,IAAsB,CAAA,sBAAA,GAAG,KAAK,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,qBAAqB,EAAE,CAAC;AAEnF;;AAEG;QACM,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,qBAAqB,EAAE,CAAC;AAExE;;AAEG;QACM,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,qBAAqB,EAAE,CAAC;AAEzE;;;AAGG;AACM,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAqB,IAAI,CAAC;AACrD;8GAtBY,OAAO,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAP,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,OAAO,+7BAXN,CAA6B,2BAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAW9B,OAAO,EAAA,UAAA,EAAA,CAAA;kBAbnB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,UAAU;AACpB,oBAAA,QAAQ,EAAE,CAA6B,2BAAA,CAAA;oBACvC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE,UAAU;AACjB,wBAAA,2BAA2B,EAAE,gBAAgB;AAC7C,wBAAA,4BAA4B,EAAE,iBAAiB;AAC/C,wBAAA,4CAA4C,EAAE,2BAA2B;AACzE,wBAAA,qBAAqB,EAAE,oBAAoB;AAC3C,wBAAA,qBAAqB,EAAE;AAC1B;AACJ,iBAAA;;;ACjBD;;;;AAIG;MAYU,cAAc,CAAA;AAX3B,IAAA,WAAA,GAAA;AAYI;;AAEG;QACM,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,qBAAqB,EAAE,CAAC;AAEvE;;;AAGG;AACM,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAS,IAAI,CAAC;AAGzC;AADG,IAAA,QAAQ;8GAZC,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,cAAc,igBARb,CAA6B,2BAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAQ9B,cAAc,EAAA,UAAA,EAAA,CAAA;kBAX1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,mBAAmB,EAAE,KAAK;AAC1B,oBAAA,QAAQ,EAAE,CAA6B,2BAAA,CAAA;oBACvC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE,kBAAkB;AACzB,wBAAA,kCAAkC,EAAE,eAAe;AACnD,wBAAA,8BAA8B,EAAE;AACnC;AACJ,iBAAA;;;MCRY,aAAa,CAAA;8GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,EAHZ,OAAA,EAAA,CAAA,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,cAAc,CACpD,EAAA,OAAA,EAAA,CAAA,OAAO,EAAE,aAAa,EAAE,cAAc,CAAA,EAAA,CAAA,CAAA;AAEvC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,YAHZ,YAAY,CAAA,EAAA,CAAA,CAAA;;2FAGb,aAAa,EAAA,UAAA,EAAA,CAAA;kBAJzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,cAAc,CAAC;AAC/D,oBAAA,OAAO,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,cAAc;AACnD,iBAAA;;;ACTD;;AAEG;;;;"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, Renderer2, ElementRef, Directive, NgZone, Injectable, InjectionToken, ChangeDetectorRef,
|
|
2
|
+
import { inject, Renderer2, ElementRef, Directive, NgZone, Injectable, InjectionToken, ChangeDetectorRef, viewChild, input, numberAttribute, output, computed, effect, ContentChildren, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
|
|
3
3
|
import { DOCUMENT, NgTemplateOutlet, CommonModule } from '@angular/common';
|
|
4
4
|
import { Platform } from '@angular/cdk/platform';
|
|
5
5
|
import { ThyDot, ThyDotModule } from 'ngx-tethys/dot';
|
|
6
6
|
import { ThyIcon, ThyIconModule } from 'ngx-tethys/icon';
|
|
7
|
-
import { TinyDate, isNumber
|
|
7
|
+
import { coerceBooleanProperty, TinyDate, isNumber } from 'ngx-tethys/util';
|
|
8
8
|
import { Subject, fromEvent } from 'rxjs';
|
|
9
9
|
import { map, takeUntil, debounceTime } from 'rxjs/operators';
|
|
10
10
|
|
|
@@ -298,67 +298,115 @@ class ThyCarousel {
|
|
|
298
298
|
this.carouselService = inject(ThyCarouselService);
|
|
299
299
|
this.platform = inject(Platform);
|
|
300
300
|
/**
|
|
301
|
-
*
|
|
301
|
+
* @private
|
|
302
302
|
*/
|
|
303
|
-
this.
|
|
303
|
+
this.carouselWrapper = viewChild('carouselWrapper');
|
|
304
|
+
/**
|
|
305
|
+
* 是否自动切换
|
|
306
|
+
*/
|
|
307
|
+
this.thyAutoPlay = input(false, { transform: coerceBooleanProperty });
|
|
304
308
|
/**
|
|
305
309
|
* 自动切换时间间隔(毫秒)
|
|
306
310
|
*/
|
|
307
|
-
this.thyAutoPlayInterval = 3000;
|
|
311
|
+
this.thyAutoPlayInterval = input(3000, { transform: numberAttribute });
|
|
308
312
|
/**
|
|
309
313
|
* 切换动画样式
|
|
310
314
|
* @type slide | fade | noop
|
|
311
315
|
*/
|
|
312
|
-
this.thyEffect = 'slide';
|
|
316
|
+
this.thyEffect = input('slide');
|
|
313
317
|
/**
|
|
314
318
|
* 是否显示切换指示器
|
|
315
319
|
*/
|
|
316
|
-
this.thyIndicators = true;
|
|
320
|
+
this.thyIndicators = input(true, { transform: coerceBooleanProperty });
|
|
321
|
+
/**
|
|
322
|
+
* 指示器 Item 的渲染模板
|
|
323
|
+
*/
|
|
324
|
+
this.thyIndicatorRender = input();
|
|
317
325
|
/**
|
|
318
326
|
* 是否显示左右切换
|
|
319
327
|
*/
|
|
320
|
-
this.thyControls = true;
|
|
328
|
+
this.thyControls = input(true, { transform: coerceBooleanProperty });
|
|
329
|
+
/**
|
|
330
|
+
* 上一个控制器渲染模板
|
|
331
|
+
*/
|
|
332
|
+
this.thyControlPrev = input();
|
|
333
|
+
/**
|
|
334
|
+
* 下一个控制器渲染模板
|
|
335
|
+
*/
|
|
336
|
+
this.thyControlNext = input();
|
|
321
337
|
/**
|
|
322
338
|
* 是否支持手势滑动
|
|
323
339
|
*/
|
|
324
|
-
this.thyTouchable = true;
|
|
340
|
+
this.thyTouchable = input(true, { transform: coerceBooleanProperty });
|
|
325
341
|
/**
|
|
326
342
|
* 指示点切换的触发条件
|
|
327
343
|
* @type click | hover
|
|
328
344
|
*/
|
|
329
|
-
this.thyTrigger = 'click';
|
|
345
|
+
this.thyTrigger = input('click');
|
|
330
346
|
/**
|
|
331
347
|
* 鼠标移动到指示器时是否暂停播放
|
|
332
348
|
* @type false | hover
|
|
333
349
|
*/
|
|
334
|
-
this.thyPause = 'hover';
|
|
350
|
+
this.thyPause = input('hover');
|
|
335
351
|
/**
|
|
336
352
|
* 触发切换帧之前,返回 `{from: number, to: number}`
|
|
337
353
|
*/
|
|
338
|
-
this.thyBeforeChange =
|
|
354
|
+
this.thyBeforeChange = output();
|
|
339
355
|
/**
|
|
340
356
|
* 切换帧之后的回调,返回当前帧索引
|
|
341
357
|
*/
|
|
342
|
-
this.thyAfterChange =
|
|
358
|
+
this.thyAfterChange = output();
|
|
343
359
|
this.isDragging = false;
|
|
344
360
|
this.isTransitioning = false;
|
|
345
361
|
this.pointerVector = { x: 0, y: 0 };
|
|
362
|
+
this.engine = computed(() => {
|
|
363
|
+
switch (this.thyEffect()) {
|
|
364
|
+
case 'slide':
|
|
365
|
+
return new ThyCarouselSlideEngine(this, this.cdr, this.renderer, this.platform);
|
|
366
|
+
case 'fade':
|
|
367
|
+
return new ThyCarouselFadeEngine(this, this.cdr, this.renderer, this.platform);
|
|
368
|
+
default:
|
|
369
|
+
return new ThyCarouselNoopEngine(this, this.cdr, this.renderer, this.platform);
|
|
370
|
+
}
|
|
371
|
+
});
|
|
346
372
|
this._trigger$ = new Subject();
|
|
347
373
|
this._destroy$ = new Subject();
|
|
348
374
|
this.activeIndex = 0;
|
|
349
375
|
this.transitionTimer = null;
|
|
350
376
|
this.playTime = 400;
|
|
351
377
|
this.isPause = false;
|
|
378
|
+
effect(() => {
|
|
379
|
+
if (this.thyEffect()) {
|
|
380
|
+
this.markContentActive(0);
|
|
381
|
+
this.setInitialValue();
|
|
382
|
+
}
|
|
383
|
+
});
|
|
384
|
+
effect(() => {
|
|
385
|
+
if (this.thyTouchable()) {
|
|
386
|
+
this.renderer.setStyle(this.wrapperEl, 'cursor', this.thyTouchable() ? 'grab' : 'default');
|
|
387
|
+
}
|
|
388
|
+
});
|
|
389
|
+
effect(() => {
|
|
390
|
+
if (!this.thyAutoPlay() || !this.thyAutoPlayInterval()) {
|
|
391
|
+
this.clearScheduledTransition();
|
|
392
|
+
}
|
|
393
|
+
else {
|
|
394
|
+
this.scheduleNextTransition();
|
|
395
|
+
}
|
|
396
|
+
});
|
|
352
397
|
}
|
|
353
398
|
moveTo(index) {
|
|
354
|
-
|
|
399
|
+
const carouselItems = this.carouselItems;
|
|
400
|
+
if (carouselItems && carouselItems.length && !this.isTransitioning) {
|
|
355
401
|
this.setInitialValue();
|
|
356
|
-
const len =
|
|
402
|
+
const len = carouselItems.length;
|
|
357
403
|
const from = this.activeIndex;
|
|
358
404
|
const to = (index + len) % len;
|
|
359
405
|
this.thyBeforeChange.emit({ from, to });
|
|
360
406
|
this.isTransitioning = true;
|
|
361
|
-
this.engine
|
|
407
|
+
this.engine()
|
|
408
|
+
?.switch(index, this.activeIndex)
|
|
409
|
+
.subscribe(() => {
|
|
362
410
|
this.activeIndex = to;
|
|
363
411
|
this.markContentActive(this.activeIndex);
|
|
364
412
|
this.scheduleNextTransition();
|
|
@@ -369,36 +417,24 @@ class ThyCarousel {
|
|
|
369
417
|
this.cdr.markForCheck();
|
|
370
418
|
}
|
|
371
419
|
}
|
|
372
|
-
switchEngine() {
|
|
373
|
-
switch (this.thyEffect) {
|
|
374
|
-
case 'slide':
|
|
375
|
-
this.engine = new ThyCarouselSlideEngine(this, this.cdr, this.renderer, this.platform);
|
|
376
|
-
break;
|
|
377
|
-
case 'fade':
|
|
378
|
-
this.engine = new ThyCarouselFadeEngine(this, this.cdr, this.renderer, this.platform);
|
|
379
|
-
break;
|
|
380
|
-
default:
|
|
381
|
-
this.engine = new ThyCarouselNoopEngine(this, this.cdr, this.renderer, this.platform);
|
|
382
|
-
}
|
|
383
|
-
}
|
|
384
420
|
markContentActive(index) {
|
|
385
421
|
this.activeIndex = index;
|
|
386
|
-
this.
|
|
422
|
+
this.cdr.markForCheck();
|
|
423
|
+
this.carouselItems?.forEach((carouselContent, i) => {
|
|
387
424
|
carouselContent.isActive = index === i;
|
|
388
425
|
});
|
|
389
|
-
this.cdr.detectChanges();
|
|
390
426
|
}
|
|
391
427
|
setInitialValue() {
|
|
392
|
-
if (this.engine) {
|
|
393
|
-
this.engine
|
|
428
|
+
if (this.engine() && this.carouselItems) {
|
|
429
|
+
this.engine()?.initializeCarouselContents(this.carouselItems);
|
|
394
430
|
}
|
|
395
431
|
}
|
|
396
432
|
scheduleNextTransition() {
|
|
397
433
|
this.clearScheduledTransition();
|
|
398
|
-
if (this.thyAutoPlay && !this.isPause) {
|
|
434
|
+
if (this.thyAutoPlay() && !this.isPause) {
|
|
399
435
|
this.transitionTimer = setTimeout(() => {
|
|
400
436
|
this.moveTo(this.activeIndex + 1);
|
|
401
|
-
}, this.thyAutoPlayInterval);
|
|
437
|
+
}, this.thyAutoPlayInterval());
|
|
402
438
|
}
|
|
403
439
|
}
|
|
404
440
|
clearScheduledTransition() {
|
|
@@ -408,7 +444,7 @@ class ThyCarousel {
|
|
|
408
444
|
}
|
|
409
445
|
}
|
|
410
446
|
onDrag(event) {
|
|
411
|
-
if (!this.isDragging && !this.isTransitioning && this.thyTouchable) {
|
|
447
|
+
if (!this.isDragging && !this.isTransitioning && this.thyTouchable()) {
|
|
412
448
|
const mouseDownTime = new TinyDate().getTime();
|
|
413
449
|
let mouseUpTime;
|
|
414
450
|
this.clearScheduledTransition();
|
|
@@ -417,7 +453,7 @@ class ThyCarousel {
|
|
|
417
453
|
this.renderer.setStyle(this.wrapperEl, 'cursor', 'grabbing');
|
|
418
454
|
this.pointerVector = pointerVector;
|
|
419
455
|
this.isDragging = true;
|
|
420
|
-
this.engine?.dragging(this.pointerVector, this.wrapperDomRect);
|
|
456
|
+
this.engine()?.dragging(this.pointerVector, this.wrapperDomRect);
|
|
421
457
|
}, () => { }, () => {
|
|
422
458
|
if (this.isDragging) {
|
|
423
459
|
mouseUpTime = new TinyDate().getTime();
|
|
@@ -439,21 +475,21 @@ class ThyCarousel {
|
|
|
439
475
|
}
|
|
440
476
|
}
|
|
441
477
|
indicatorHandleClick(index) {
|
|
442
|
-
if (this.thyTrigger === 'click') {
|
|
478
|
+
if (this.thyTrigger() === 'click') {
|
|
443
479
|
this.moveTo(index);
|
|
444
480
|
}
|
|
445
481
|
}
|
|
446
482
|
indicatorHandleTrigger(index) {
|
|
447
|
-
if (this.thyPause === 'hover') {
|
|
483
|
+
if (this.thyPause() === 'hover') {
|
|
448
484
|
this.isPause = true;
|
|
449
485
|
this.clearScheduledTransition();
|
|
450
486
|
}
|
|
451
|
-
if (this.thyTrigger === 'hover') {
|
|
487
|
+
if (this.thyTrigger() === 'hover') {
|
|
452
488
|
this._trigger$.next(index);
|
|
453
489
|
}
|
|
454
490
|
}
|
|
455
491
|
indicatorHandleLeave() {
|
|
456
|
-
if (this.thyPause === 'hover') {
|
|
492
|
+
if (this.thyPause() === 'hover') {
|
|
457
493
|
this.isPause = false;
|
|
458
494
|
this.scheduleNextTransition();
|
|
459
495
|
}
|
|
@@ -465,41 +501,23 @@ class ThyCarousel {
|
|
|
465
501
|
this.moveTo(this.activeIndex - 1);
|
|
466
502
|
}
|
|
467
503
|
ngOnInit() {
|
|
468
|
-
this.wrapperEl = this.carouselWrapper.nativeElement;
|
|
504
|
+
this.wrapperEl = this.carouselWrapper().nativeElement;
|
|
469
505
|
this.ngZone.runOutsideAngular(() => {
|
|
470
506
|
fromEvent(window, 'resize')
|
|
471
507
|
.pipe(takeUntil(this._destroy$), debounceTime(100))
|
|
472
508
|
.subscribe(() => {
|
|
473
|
-
this.engine?.correctionOffset();
|
|
509
|
+
this.engine()?.correctionOffset();
|
|
474
510
|
});
|
|
475
511
|
});
|
|
476
512
|
}
|
|
477
|
-
ngOnChanges(changes) {
|
|
478
|
-
const { thyEffect, thyTouchable } = changes;
|
|
479
|
-
if (thyEffect && !thyEffect.isFirstChange()) {
|
|
480
|
-
this.switchEngine();
|
|
481
|
-
this.markContentActive(0);
|
|
482
|
-
this.setInitialValue();
|
|
483
|
-
}
|
|
484
|
-
if (thyTouchable && !thyTouchable.isFirstChange()) {
|
|
485
|
-
this.renderer.setStyle(this.wrapperEl, 'cursor', thyTouchable.currentValue ? 'grab' : 'default');
|
|
486
|
-
}
|
|
487
|
-
if (!this.thyAutoPlay || !this.thyAutoPlayInterval) {
|
|
488
|
-
this.clearScheduledTransition();
|
|
489
|
-
}
|
|
490
|
-
else {
|
|
491
|
-
this.scheduleNextTransition();
|
|
492
|
-
}
|
|
493
|
-
}
|
|
494
513
|
ngAfterViewInit() {
|
|
495
514
|
this.carouselItems.changes.subscribe(() => {
|
|
496
515
|
this.markContentActive(0);
|
|
497
516
|
this.setInitialValue();
|
|
498
517
|
});
|
|
499
|
-
this.switchEngine();
|
|
500
518
|
this.markContentActive(0);
|
|
501
519
|
this.setInitialValue();
|
|
502
|
-
if (!this.thyTouchable) {
|
|
520
|
+
if (!this.thyTouchable()) {
|
|
503
521
|
this.renderer.setStyle(this.wrapperEl, 'cursor', 'default');
|
|
504
522
|
}
|
|
505
523
|
}
|
|
@@ -518,12 +536,12 @@ class ThyCarousel {
|
|
|
518
536
|
this._destroy$.complete();
|
|
519
537
|
}
|
|
520
538
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyCarousel, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
521
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.8", type: ThyCarousel, isStandalone: true, selector: "thy-carousel", inputs: { thyAutoPlay:
|
|
539
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.8", type: ThyCarousel, isStandalone: true, selector: "thy-carousel", inputs: { thyAutoPlay: { classPropertyName: "thyAutoPlay", publicName: "thyAutoPlay", isSignal: true, isRequired: false, transformFunction: null }, thyAutoPlayInterval: { classPropertyName: "thyAutoPlayInterval", publicName: "thyAutoPlayInterval", isSignal: true, isRequired: false, transformFunction: null }, thyEffect: { classPropertyName: "thyEffect", publicName: "thyEffect", isSignal: true, isRequired: false, transformFunction: null }, thyIndicators: { classPropertyName: "thyIndicators", publicName: "thyIndicators", isSignal: true, isRequired: false, transformFunction: null }, thyIndicatorRender: { classPropertyName: "thyIndicatorRender", publicName: "thyIndicatorRender", isSignal: true, isRequired: false, transformFunction: null }, thyControls: { classPropertyName: "thyControls", publicName: "thyControls", isSignal: true, isRequired: false, transformFunction: null }, thyControlPrev: { classPropertyName: "thyControlPrev", publicName: "thyControlPrev", isSignal: true, isRequired: false, transformFunction: null }, thyControlNext: { classPropertyName: "thyControlNext", publicName: "thyControlNext", isSignal: true, isRequired: false, transformFunction: null }, thyTouchable: { classPropertyName: "thyTouchable", publicName: "thyTouchable", isSignal: true, isRequired: false, transformFunction: null }, thyTrigger: { classPropertyName: "thyTrigger", publicName: "thyTrigger", isSignal: true, isRequired: false, transformFunction: null }, thyPause: { classPropertyName: "thyPause", publicName: "thyPause", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { thyBeforeChange: "thyBeforeChange", thyAfterChange: "thyAfterChange" }, host: { classAttribute: "thy-carousel" }, providers: [
|
|
522
540
|
{
|
|
523
541
|
provide: THY_CAROUSEL_COMPONENT,
|
|
524
542
|
useExisting: ThyCarousel
|
|
525
543
|
}
|
|
526
|
-
], queries: [{ propertyName: "carouselItems", predicate: ThyCarouselItemDirective }], viewQueries: [{ propertyName: "carouselWrapper", first: true, predicate: ["carouselWrapper"], descendants: true,
|
|
544
|
+
], queries: [{ propertyName: "carouselItems", predicate: ThyCarouselItemDirective }], viewQueries: [{ propertyName: "carouselWrapper", first: true, predicate: ["carouselWrapper"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"thy-carousel thy-carousel-initialized thy-carousel-point-events\">\n <div #carouselWrapper class=\"thy-carousel-wrapper\" (mousedown)=\"onDrag($event)\" (touchstart)=\"onDrag($event)\">\n <ng-content></ng-content>\n </div>\n @if (thyControls() && carouselItems?.length > 1) {\n <div class=\"thy-carousel-control-pre-wrapper\" (click)=\"pre()\">\n <ng-container *ngTemplateOutlet=\"thyControlPrev() || defaultControlPrev\"></ng-container>\n </div>\n <div class=\"thy-carousel-control-next-wrapper\" (click)=\"next()\">\n <ng-container *ngTemplateOutlet=\"thyControlNext() || defaultControlNext\"></ng-container>\n </div>\n }\n @if (thyIndicators()) {\n <div class=\"thy-carousel-indicators\">\n @for (content of carouselItems; track $index; let i = $index) {\n <span\n class=\"thy-carousel-indicator\"\n (mouseenter)=\"indicatorHandleTrigger(i)\"\n (mouseleave)=\"indicatorHandleLeave()\"\n (click)=\"indicatorHandleClick(i)\">\n <ng-template\n [ngTemplateOutlet]=\"thyIndicatorRender() || defaultIndicatorRender\"\n [ngTemplateOutletContext]=\"{ $implicit: i === activeIndex }\"></ng-template>\n </span>\n }\n </div>\n }\n</div>\n\n<ng-template #defaultIndicatorRender let-active>\n <thy-dot [class.active]=\"active\"></thy-dot>\n</ng-template>\n\n<ng-template #defaultControlPrev>\n <div class=\"thy-carousel-control thy-carousel-control-pre\">\n <thy-icon thyIconName=\"angle-left-bold\"></thy-icon>\n </div>\n</ng-template>\n\n<ng-template #defaultControlNext>\n <div class=\"thy-carousel-control thy-carousel-control-next\">\n <thy-icon thyIconName=\"angle-right-bold\"></thy-icon>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ThyDot, selector: "thy-dot,[thy-dot],[thyDot]", inputs: ["thyColor", "thySize", "thyTheme", "thyShape"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
527
545
|
}
|
|
528
546
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyCarousel, decorators: [{
|
|
529
547
|
type: Component,
|
|
@@ -534,44 +552,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImpor
|
|
|
534
552
|
provide: THY_CAROUSEL_COMPONENT,
|
|
535
553
|
useExisting: ThyCarousel
|
|
536
554
|
}
|
|
537
|
-
], template: "<div class=\"thy-carousel thy-carousel-initialized thy-carousel-point-events\">\n <div #carouselWrapper class=\"thy-carousel-wrapper\" (mousedown)=\"onDrag($event)\" (touchstart)=\"onDrag($event)\">\n <ng-content></ng-content>\n </div>\n @if (thyControls && carouselItems
|
|
538
|
-
}], propDecorators: { carouselItems: [{
|
|
555
|
+
], template: "<div class=\"thy-carousel thy-carousel-initialized thy-carousel-point-events\">\n <div #carouselWrapper class=\"thy-carousel-wrapper\" (mousedown)=\"onDrag($event)\" (touchstart)=\"onDrag($event)\">\n <ng-content></ng-content>\n </div>\n @if (thyControls() && carouselItems?.length > 1) {\n <div class=\"thy-carousel-control-pre-wrapper\" (click)=\"pre()\">\n <ng-container *ngTemplateOutlet=\"thyControlPrev() || defaultControlPrev\"></ng-container>\n </div>\n <div class=\"thy-carousel-control-next-wrapper\" (click)=\"next()\">\n <ng-container *ngTemplateOutlet=\"thyControlNext() || defaultControlNext\"></ng-container>\n </div>\n }\n @if (thyIndicators()) {\n <div class=\"thy-carousel-indicators\">\n @for (content of carouselItems; track $index; let i = $index) {\n <span\n class=\"thy-carousel-indicator\"\n (mouseenter)=\"indicatorHandleTrigger(i)\"\n (mouseleave)=\"indicatorHandleLeave()\"\n (click)=\"indicatorHandleClick(i)\">\n <ng-template\n [ngTemplateOutlet]=\"thyIndicatorRender() || defaultIndicatorRender\"\n [ngTemplateOutletContext]=\"{ $implicit: i === activeIndex }\"></ng-template>\n </span>\n }\n </div>\n }\n</div>\n\n<ng-template #defaultIndicatorRender let-active>\n <thy-dot [class.active]=\"active\"></thy-dot>\n</ng-template>\n\n<ng-template #defaultControlPrev>\n <div class=\"thy-carousel-control thy-carousel-control-pre\">\n <thy-icon thyIconName=\"angle-left-bold\"></thy-icon>\n </div>\n</ng-template>\n\n<ng-template #defaultControlNext>\n <div class=\"thy-carousel-control thy-carousel-control-next\">\n <thy-icon thyIconName=\"angle-right-bold\"></thy-icon>\n </div>\n</ng-template>\n" }]
|
|
556
|
+
}], ctorParameters: () => [], propDecorators: { carouselItems: [{
|
|
539
557
|
type: ContentChildren,
|
|
540
558
|
args: [ThyCarouselItemDirective]
|
|
541
|
-
}], carouselWrapper: [{
|
|
542
|
-
type: ViewChild,
|
|
543
|
-
args: ['carouselWrapper', { static: true }]
|
|
544
|
-
}], thyAutoPlay: [{
|
|
545
|
-
type: Input,
|
|
546
|
-
args: [{ transform: coerceBooleanProperty }]
|
|
547
|
-
}], thyAutoPlayInterval: [{
|
|
548
|
-
type: Input,
|
|
549
|
-
args: [{ transform: numberAttribute }]
|
|
550
|
-
}], thyEffect: [{
|
|
551
|
-
type: Input
|
|
552
|
-
}], thyIndicators: [{
|
|
553
|
-
type: Input,
|
|
554
|
-
args: [{ transform: coerceBooleanProperty }]
|
|
555
|
-
}], thyIndicatorRender: [{
|
|
556
|
-
type: Input
|
|
557
|
-
}], thyControls: [{
|
|
558
|
-
type: Input,
|
|
559
|
-
args: [{ transform: coerceBooleanProperty }]
|
|
560
|
-
}], thyControlPrev: [{
|
|
561
|
-
type: Input
|
|
562
|
-
}], thyControlNext: [{
|
|
563
|
-
type: Input
|
|
564
|
-
}], thyTouchable: [{
|
|
565
|
-
type: Input,
|
|
566
|
-
args: [{ transform: coerceBooleanProperty }]
|
|
567
|
-
}], thyTrigger: [{
|
|
568
|
-
type: Input
|
|
569
|
-
}], thyPause: [{
|
|
570
|
-
type: Input
|
|
571
|
-
}], thyBeforeChange: [{
|
|
572
|
-
type: Output
|
|
573
|
-
}], thyAfterChange: [{
|
|
574
|
-
type: Output
|
|
575
559
|
}] } });
|
|
576
560
|
|
|
577
561
|
const COMPONENTS = [ThyCarousel, ThyCarouselItemDirective];
|