ngx-tethys 20.0.1 → 20.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -0
- package/action/index.d.ts +3 -3
- package/affix/index.d.ts +1 -1
- package/alert/index.d.ts +3 -3
- package/anchor/index.d.ts +3 -3
- package/arrow-switcher/index.d.ts +6 -6
- package/autocomplete/index.d.ts +7 -7
- package/avatar/index.d.ts +9 -9
- package/back-top/index.d.ts +3 -3
- package/badge/index.d.ts +6 -6
- package/breadcrumb/index.d.ts +7 -7
- package/button/index.d.ts +19 -19
- package/calendar/index.d.ts +8 -8
- package/card/index.d.ts +6 -6
- package/carousel/index.d.ts +4 -4
- package/cascader/index.d.ts +24 -24
- package/collapse/index.d.ts +4 -4
- package/color-picker/index.d.ts +16 -16
- package/comment/index.d.ts +3 -3
- package/copy/index.d.ts +2 -2
- package/core/index.d.ts +22 -22
- package/date-picker/index.d.ts +111 -111
- package/date-range/index.d.ts +5 -5
- package/dialog/index.d.ts +18 -18
- package/divider/index.d.ts +3 -3
- package/drag-drop/index.d.ts +7 -7
- package/dropdown/index.d.ts +10 -10
- package/empty/index.d.ts +12 -12
- package/fesm2022/ngx-tethys-action.mjs +14 -12
- package/fesm2022/ngx-tethys-action.mjs.map +1 -1
- package/fesm2022/ngx-tethys-affix.mjs +7 -7
- package/fesm2022/ngx-tethys-affix.mjs.map +1 -1
- package/fesm2022/ngx-tethys-alert.mjs +10 -10
- package/fesm2022/ngx-tethys-anchor.mjs +11 -11
- package/fesm2022/ngx-tethys-anchor.mjs.map +1 -1
- package/fesm2022/ngx-tethys-arrow-switcher.mjs +7 -7
- package/fesm2022/ngx-tethys-arrow-switcher.mjs.map +1 -1
- package/fesm2022/ngx-tethys-autocomplete.mjs +19 -18
- package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
- package/fesm2022/ngx-tethys-avatar.mjs +23 -22
- package/fesm2022/ngx-tethys-avatar.mjs.map +1 -1
- package/fesm2022/ngx-tethys-back-top.mjs +7 -7
- package/fesm2022/ngx-tethys-badge.mjs +7 -7
- package/fesm2022/ngx-tethys-badge.mjs.map +1 -1
- package/fesm2022/ngx-tethys-breadcrumb.mjs +10 -10
- package/fesm2022/ngx-tethys-breadcrumb.mjs.map +1 -1
- package/fesm2022/ngx-tethys-button.mjs +16 -16
- package/fesm2022/ngx-tethys-button.mjs.map +1 -1
- package/fesm2022/ngx-tethys-calendar.mjs +16 -16
- package/fesm2022/ngx-tethys-calendar.mjs.map +1 -1
- package/fesm2022/ngx-tethys-card.mjs +13 -13
- package/fesm2022/ngx-tethys-card.mjs.map +1 -1
- package/fesm2022/ngx-tethys-carousel.mjs +15 -15
- package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
- package/fesm2022/ngx-tethys-cascader.mjs +41 -34
- package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
- package/fesm2022/ngx-tethys-checkbox.mjs +7 -7
- package/fesm2022/ngx-tethys-collapse.mjs +10 -10
- package/fesm2022/ngx-tethys-color-picker.mjs +65 -57
- package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-comment.mjs +13 -13
- package/fesm2022/ngx-tethys-copy.mjs +10 -10
- package/fesm2022/ngx-tethys-copy.mjs.map +1 -1
- package/fesm2022/ngx-tethys-core.mjs +30 -25
- package/fesm2022/ngx-tethys-core.mjs.map +1 -1
- package/fesm2022/ngx-tethys-date-picker.mjs +184 -174
- package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-date-range.mjs +16 -16
- package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
- package/fesm2022/ngx-tethys-dialog.mjs +24 -24
- package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
- package/fesm2022/ngx-tethys-divider.mjs +7 -7
- package/fesm2022/ngx-tethys-divider.mjs.map +1 -1
- package/fesm2022/ngx-tethys-dot.mjs +7 -7
- package/fesm2022/ngx-tethys-drag-drop.mjs +24 -24
- package/fesm2022/ngx-tethys-drag-drop.mjs.map +1 -1
- package/fesm2022/ngx-tethys-dropdown.mjs +48 -47
- package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
- package/fesm2022/ngx-tethys-empty.mjs +13 -13
- package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
- package/fesm2022/ngx-tethys-flexible-text.mjs +7 -7
- package/fesm2022/ngx-tethys-flexible-text.mjs.map +1 -1
- package/fesm2022/ngx-tethys-form.mjs +64 -61
- package/fesm2022/ngx-tethys-form.mjs.map +1 -1
- package/fesm2022/ngx-tethys-fullscreen.mjs +18 -15
- package/fesm2022/ngx-tethys-fullscreen.mjs.map +1 -1
- package/fesm2022/ngx-tethys-grid.mjs +34 -33
- package/fesm2022/ngx-tethys-grid.mjs.map +1 -1
- package/fesm2022/ngx-tethys-guider.mjs +25 -24
- package/fesm2022/ngx-tethys-guider.mjs.map +1 -1
- package/fesm2022/ngx-tethys-i18n.mjs +3 -3
- package/fesm2022/ngx-tethys-i18n.mjs.map +1 -1
- package/fesm2022/ngx-tethys-icon.mjs +15 -13
- package/fesm2022/ngx-tethys-icon.mjs.map +1 -1
- package/fesm2022/ngx-tethys-image.mjs +31 -29
- package/fesm2022/ngx-tethys-image.mjs.map +1 -1
- package/fesm2022/ngx-tethys-input-number.mjs +17 -10
- package/fesm2022/ngx-tethys-input-number.mjs.map +1 -1
- package/fesm2022/ngx-tethys-input.mjs +28 -27
- package/fesm2022/ngx-tethys-input.mjs.map +1 -1
- package/fesm2022/ngx-tethys-layout.mjs +63 -63
- package/fesm2022/ngx-tethys-layout.mjs.map +1 -1
- package/fesm2022/ngx-tethys-list.mjs +21 -18
- package/fesm2022/ngx-tethys-list.mjs.map +1 -1
- package/fesm2022/ngx-tethys-loading.mjs +7 -7
- package/fesm2022/ngx-tethys-mention.mjs +35 -31
- package/fesm2022/ngx-tethys-mention.mjs.map +1 -1
- package/fesm2022/ngx-tethys-menu.mjs +26 -26
- package/fesm2022/ngx-tethys-menu.mjs.map +1 -1
- package/fesm2022/ngx-tethys-message.mjs +24 -24
- package/fesm2022/ngx-tethys-message.mjs.map +1 -1
- package/fesm2022/ngx-tethys-nav.mjs +27 -27
- package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
- package/fesm2022/ngx-tethys-notify.mjs +20 -20
- package/fesm2022/ngx-tethys-notify.mjs.map +1 -1
- package/fesm2022/ngx-tethys-pagination.mjs +18 -18
- package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
- package/fesm2022/ngx-tethys-popover.mjs +22 -21
- package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
- package/fesm2022/ngx-tethys-progress.mjs +17 -17
- package/fesm2022/ngx-tethys-progress.mjs.map +1 -1
- package/fesm2022/ngx-tethys-property-operation.mjs +11 -11
- package/fesm2022/ngx-tethys-property-operation.mjs.map +1 -1
- package/fesm2022/ngx-tethys-property.mjs +12 -11
- package/fesm2022/ngx-tethys-property.mjs.map +1 -1
- package/fesm2022/ngx-tethys-radio.mjs +17 -17
- package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
- package/fesm2022/ngx-tethys-rate.mjs +12 -12
- package/fesm2022/ngx-tethys-rate.mjs.map +1 -1
- package/fesm2022/ngx-tethys-resizable.mjs +21 -18
- package/fesm2022/ngx-tethys-resizable.mjs.map +1 -1
- package/fesm2022/ngx-tethys-result.mjs +11 -11
- package/fesm2022/ngx-tethys-result.mjs.map +1 -1
- package/fesm2022/ngx-tethys-segment.mjs +19 -16
- package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
- package/fesm2022/ngx-tethys-select.mjs +60 -38
- package/fesm2022/ngx-tethys-select.mjs.map +1 -1
- package/fesm2022/ngx-tethys-shared.mjs +82 -79
- package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
- package/fesm2022/ngx-tethys-skeleton.mjs +32 -32
- package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
- package/fesm2022/ngx-tethys-slide.mjs +37 -36
- package/fesm2022/ngx-tethys-slide.mjs.map +1 -1
- package/fesm2022/ngx-tethys-slider.mjs +11 -11
- package/fesm2022/ngx-tethys-slider.mjs.map +1 -1
- package/fesm2022/ngx-tethys-space.mjs +10 -10
- package/fesm2022/ngx-tethys-statistic.mjs +7 -7
- package/fesm2022/ngx-tethys-statistic.mjs.map +1 -1
- package/fesm2022/ngx-tethys-stepper.mjs +22 -22
- package/fesm2022/ngx-tethys-stepper.mjs.map +1 -1
- package/fesm2022/ngx-tethys-strength.mjs +7 -7
- package/fesm2022/ngx-tethys-strength.mjs.map +1 -1
- package/fesm2022/ngx-tethys-switch.mjs +7 -7
- package/fesm2022/ngx-tethys-switch.mjs.map +1 -1
- package/fesm2022/ngx-tethys-table.mjs +28 -28
- package/fesm2022/ngx-tethys-table.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tabs.mjs +13 -13
- package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tag.mjs +11 -11
- package/fesm2022/ngx-tethys-tag.mjs.map +1 -1
- package/fesm2022/ngx-tethys-testing.mjs +1 -1
- package/fesm2022/ngx-tethys-testing.mjs.map +1 -1
- package/fesm2022/ngx-tethys-time-picker.mjs +22 -22
- package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-timeline.mjs +14 -14
- package/fesm2022/ngx-tethys-timeline.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tooltip.mjs +19 -16
- package/fesm2022/ngx-tethys-tooltip.mjs.map +1 -1
- package/fesm2022/ngx-tethys-transfer.mjs +15 -15
- package/fesm2022/ngx-tethys-transfer.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tree-select.mjs +17 -17
- package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tree.mjs +50 -43
- package/fesm2022/ngx-tethys-tree.mjs.map +1 -1
- package/fesm2022/ngx-tethys-typography.mjs +16 -16
- package/fesm2022/ngx-tethys-typography.mjs.map +1 -1
- package/fesm2022/ngx-tethys-upload.mjs +26 -25
- package/fesm2022/ngx-tethys-upload.mjs.map +1 -1
- package/fesm2022/ngx-tethys-util.mjs +11 -5
- package/fesm2022/ngx-tethys-util.mjs.map +1 -1
- package/fesm2022/ngx-tethys-vote.mjs +7 -7
- package/fesm2022/ngx-tethys-watermark.mjs +18 -15
- 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/index.d.ts +5 -5
- package/form/index.d.ts +26 -22
- package/fullscreen/index.d.ts +4 -4
- package/grid/index.d.ts +12 -12
- package/guider/index.d.ts +10 -10
- package/i18n/index.d.ts +1 -1
- package/icon/index.d.ts +3 -3
- package/image/index.d.ts +12 -12
- package/input/index.d.ts +22 -22
- package/input-number/index.d.ts +4 -4
- package/layout/index.d.ts +16 -16
- package/list/index.d.ts +16 -15
- package/mention/index.d.ts +4 -4
- package/menu/index.d.ts +7 -7
- package/message/index.d.ts +5 -5
- package/nav/index.d.ts +12 -12
- package/notify/index.d.ts +1 -1
- package/package.json +1 -1
- package/pagination/index.d.ts +21 -17
- package/popover/index.d.ts +8 -8
- package/progress/index.d.ts +18 -18
- package/property/index.d.ts +6 -6
- package/property-operation/index.d.ts +3 -3
- package/radio/index.d.ts +6 -6
- package/rate/index.d.ts +5 -5
- package/resizable/index.d.ts +2 -2
- package/result/index.d.ts +8 -8
- package/schematics/testing/test-workspace.js +1 -0
- package/schematics/version.d.ts +1 -1
- package/schematics/version.js +1 -1
- package/segment/index.d.ts +9 -9
- package/select/index.d.ts +21 -21
- package/shared/index.d.ts +29 -29
- package/skeleton/index.d.ts +52 -52
- package/slide/index.d.ts +5 -5
- package/slider/index.d.ts +6 -6
- package/space/index.d.ts +1 -1
- package/statistic/index.d.ts +18 -18
- package/stepper/index.d.ts +8 -8
- package/switch/index.d.ts +2 -2
- package/table/index.d.ts +24 -24
- package/tabs/index.d.ts +6 -6
- package/testing/index.d.ts +1 -1
- package/time-picker/index.d.ts +21 -21
- package/timeline/index.d.ts +8 -8
- package/tooltip/index.d.ts +12 -12
- package/transfer/index.d.ts +16 -16
- package/tree/index.d.ts +28 -28
- package/tree-select/index.d.ts +13 -13
- package/typography/index.d.ts +3 -3
- package/upload/index.d.ts +4 -4
- package/util/index.d.ts +17 -7
- package/vote/index.d.ts +2 -2
- package/watermark/index.d.ts +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-tethys-layout.mjs","sources":["../../../src/layout/layout.component.ts","../../../src/layout/header.component.ts","../../../src/layout/header.component.html","../../../src/layout/content.component.ts","../../../src/layout/sidebar.component.ts","../../../src/layout/content-section.component.ts","../../../src/layout/content-main.component.ts","../../../src/layout/sidebar-header.component.ts","../../../src/layout/sidebar-header.component.html","../../../src/layout/sidebar-footer.component.ts","../../../src/layout/sidebar-content.component.ts","../../../src/layout/layout.module.ts","../../../src/layout/ngx-tethys-layout.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, Directive, HostBinding, signal } from '@angular/core';\nimport { ThySidebarDirection } from './sidebar.component';\n\n/**\n * 布局指令\n * @name thyLayout\n * @order 5\n */\n@Directive({\n selector:\n '[thyLayout]:not([thyForm]):not(thy-form):not(thy-radio-group):not(thy-properties):not(thy-selection-list):not(thy-vote):not([thyVote])',\n host: {\n class: 'thy-layout',\n '[class.thy-layout--has-sidebar]': 'sidebarDirection()',\n '[class.thy-layout--is-sidebar-right]': 'isSidebarRight()'\n }\n})\nexport class ThyLayoutDirective {\n readonly sidebarDirection = signal<ThySidebarDirection | null>(null);\n readonly isSidebarRight = computed(() => {\n return this.sidebarDirection() === 'right';\n });\n}\n\n/**\n * 布局组件\n * @name thy-layout\n * @order 6\n */\n@Component({\n selector: 'thy-layout',\n template: ` <ng-content></ng-content> `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [ThyLayoutDirective]\n})\nexport class ThyLayout {}\n","import { NgClass, NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Directive, Input, TemplateRef, computed, contentChild, input } from '@angular/core';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\n/**\n * 头部布局指令\n * @name thyHeader\n * @order 10\n */\n@Directive({\n selector: '[thyHeader]',\n host: {\n class: `thy-layout-header`,\n '[class.thy-layout-header-sm]': `thySize() === 'sm'`,\n '[class.thy-layout-header-lg]': `thySize() === 'lg'`,\n '[class.thy-layout-header-xlg]': `thySize() === 'xlg'`,\n '[class.thy-layout-header-shadow]': `thyShadow()`,\n '[class.thy-layout-header-divided]': `divided()`\n }\n})\nexport class ThyHeaderDirective {\n /**\n * 头部大小\n * @type sm | md | lg | xlg\n */\n readonly thySize = input<'sm' | 'md' | 'lg' | 'xlg'>('md');\n\n /**\n * 底部是否有阴影\n * @default false\n */\n readonly thyShadow = input(false, { transform: coerceBooleanProperty });\n\n /**\n * 底部是否有分割线\n */\n readonly thyDivided = input(false, { transform: coerceBooleanProperty });\n\n /**\n * 底部是否有分割线,已废弃,请使用 thyDivided\n * @deprecated please use thyDivided\n */\n readonly thyHasBorder = input(false, { transform: coerceBooleanProperty });\n\n readonly divided = computed(() => {\n const value = this.thyDivided();\n if (value !== undefined) {\n return value;\n }\n return this.thyHasBorder();\n });\n}\n\n/**\n * 头部布局组件\n * @name thy-header\n * @order 11\n */\n@Component({\n selector: 'thy-header',\n preserveWhitespaces: false,\n templateUrl: './header.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: ThyHeaderDirective,\n inputs: ['thySize', 'thyShadow', 'thyHasBorder', 'thyDivided']\n }\n ],\n imports: [NgTemplateOutlet, ThyIcon, NgClass]\n})\nexport class ThyHeader {\n /**\n * 头部标题\n */\n readonly thyTitle = input<string>(undefined);\n\n /**\n * 图标前缀,被弃用,图标使用 SVG 图标\n */\n readonly thyIconPrefix = input('wtf');\n\n /**\n * 图标,SVG 图标名称\n */\n readonly thyIcon = input<string>(undefined);\n\n readonly svgIconName = computed(() => {\n const icon = this.thyIcon();\n if (icon && !icon.includes('wtf')) {\n return icon;\n }\n return null;\n });\n\n readonly iconClass = computed(() => {\n const icon = this.svgIconName();\n if (icon) {\n return null;\n } else {\n const icon = this.thyIcon();\n if (icon && icon.includes('wtf')) {\n return `${this.thyIconPrefix()} ${icon}`;\n }\n }\n return null;\n });\n\n /**\n * 头部自定义标题模板,`<ng-template #headerTitle></ng-template>`\n * @type TemplateRef\n */\n readonly titleTemplateRef = contentChild<TemplateRef<any>>('headerTitle');\n\n /**\n * 头部自定义内容模板,`<ng-template #headerContent></ng-template>`\n * @type TemplateRef\n */\n readonly contentTemplateRef = contentChild<TemplateRef<any>>('headerContent');\n\n /**\n * 头部自定义操作模板,`<ng-template #headerOperation></ng-template>`\n * @type TemplateRef\n */\n readonly operationTemplateRef = contentChild<TemplateRef<any>>('headerOperation');\n}\n","<div class=\"layout-header-title\">\n @if (titleTemplateRef()) {\n <ng-template [ngTemplateOutlet]=\"titleTemplateRef()\"></ng-template>\n } @else {\n @if (svgIconName()) {\n <thy-icon class=\"prefix-icon\" [thyIconName]=\"svgIconName()\"></thy-icon>\n } @else {\n @if (iconClass()) {\n <i class=\"prefix-icon\" [ngClass]=\"iconClass()\"></i>\n }\n }\n <span class=\"title-name\">{{ thyTitle() }}</span>\n }\n</div>\n<div class=\"layout-header-content\">\n <ng-template [ngTemplateOutlet]=\"contentTemplateRef()\"></ng-template>\n</div>\n<div class=\"layout-header-operation\">\n <ng-template [ngTemplateOutlet]=\"operationTemplateRef()\"></ng-template>\n</div>\n","import { ChangeDetectionStrategy, Component, Directive } from '@angular/core';\n\n/**\n * 内容布局指令\n * @name thyContent\n * @order 15\n */\n@Directive({\n selector: '[thyContent]:not(thy-badge):not([thyBadge])',\n host: {\n class: 'thy-layout-content'\n }\n})\nexport class ThyContentDirective {}\n\n/**\n * 内容布局组件\n * @name thy-content\n * @order 16\n */\n@Component({\n selector: 'thy-content',\n preserveWhitespaces: false,\n template: ` <ng-content></ng-content> `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [ThyContentDirective]\n})\nexport class ThyContent {}\n","import { NgClass, NgStyle, NgTemplateOutlet } from '@angular/common';\nimport {\n Component,\n Directive,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Signal,\n TemplateRef,\n inject,\n numberAttribute,\n input,\n linkedSignal,\n effect,\n computed,\n signal,\n output\n} from '@angular/core';\nimport { ThyHotkeyDispatcher } from '@tethys/cdk/hotkey';\nimport { isMacPlatform } from '@tethys/cdk/is';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { ThyResizableDirective, ThyResizeEvent, ThyResizeHandle } from 'ngx-tethys/resizable';\nimport { ThyTooltipDirective } from 'ngx-tethys/tooltip';\nimport { Subscription } from 'rxjs';\nimport { ThyLayoutDirective } from './layout.component';\nimport { coerceBooleanProperty, ThyBooleanInput } from 'ngx-tethys/util';\nimport { injectLocale, ThyLayoutLocale } from 'ngx-tethys/i18n';\n\nconst LG_WIDTH = 300;\nconst SIDEBAR_DEFAULT_WIDTH = 240;\nconst SIDEBAR_COLLAPSED_WIDTH = 20;\n\nexport type ThySidebarTheme = 'white' | 'light' | 'dark';\n\nexport type ThySidebarDirection = 'left' | 'right';\n\n/**\n * 侧边栏布局指令\n * @name thySidebar\n * @order 20\n */\n@Directive({\n selector: '[thySidebar]',\n host: {\n class: 'thy-layout-sidebar',\n '[class.thy-layout-sidebar-right]': 'thyDirection() === \"right\"',\n '[class.thy-layout-sidebar--clear-border-right]': 'thyDirection() === \"left\" && !thyDivided()',\n '[class.thy-layout-sidebar--clear-border-left]': 'thyDirection() === \"right\" && !thyDivided()',\n '[class.sidebar-theme-light]': 'thyTheme() === \"light\"',\n '[class.sidebar-theme-dark]': 'thyTheme() === \"dark\"',\n '[class.thy-layout-sidebar-isolated]': 'thyIsolated()',\n '[style.width.px]': 'sidebarWidth()'\n }\n})\nexport class ThySidebarDirective implements OnInit {\n private thyLayoutDirective = inject(ThyLayoutDirective, { optional: true, host: true })!;\n\n /**\n * sidebar 位置,默认在左侧\n */\n readonly thyDirection = input<ThySidebarDirection>('left');\n\n /**\n * 主题\n * @type white | light | dark\n * @default white\n */\n readonly thyTheme = input<ThySidebarTheme>(undefined);\n\n /**\n * 宽度,默认是 240px,传入 `lg` 大小时宽度是300px\n * @default 240px\n */\n readonly thyWidth = input(SIDEBAR_DEFAULT_WIDTH, {\n transform: (value: string | number) => {\n if (value === 'lg') {\n return LG_WIDTH;\n }\n return value || SIDEBAR_DEFAULT_WIDTH;\n }\n });\n\n readonly sidebarWidth = linkedSignal(() => {\n return this.thyWidth() as number;\n });\n\n /**\n * 是否和右侧 /左侧隔离,当为 true 时距右侧 /左侧会有 margin,同时边框会去掉\n * @default false\n */\n readonly thyIsolated = input(false, { transform: coerceBooleanProperty });\n\n /**\n * sidebar 是否有分割线。当`thyDirection`值为`left`时,控制右侧是否有分割线;当`thyDirection`值为`right`时,控制左侧是否有分割线。\n * @default true\n */\n readonly thyDivided = input(true, { transform: coerceBooleanProperty });\n\n ngOnInit() {\n if (this.thyLayoutDirective) {\n this.thyLayoutDirective.sidebarDirection.set(this.thyDirection());\n }\n }\n}\n\n/**\n * 侧边栏布局组件\n * @name thy-sidebar\n * @order 21\n */\n@Component({\n selector: 'thy-sidebar',\n preserveWhitespaces: false,\n template: `\n <ng-content></ng-content>\n @if (thyDraggable()) {\n <div\n thyResizable\n class=\"sidebar-drag\"\n thyBounds=\"window\"\n [thyMaxWidth]=\"thyDragMaxWidth()\"\n [thyMinWidth]=\"dragMinWidth()\"\n (thyResize)=\"resizeHandler($event)\"\n (thyResizeStart)=\"resizeStart()\"\n (thyResizeEnd)=\"resizeEnd()\"\n [style.display]=\"!isResizable() ? 'contents' : null\">\n @if (!collapsed()) {\n <thy-resize-handle\n [thyDirection]=\"sidebarDirective.thyDirection() === 'right' ? 'left' : 'right'\"\n class=\"sidebar-resize-handle\"\n thyLine=\"true\"\n (mouseenter)=\"toggleResizable($event, 'enter')\"\n (mouseleave)=\"toggleResizable($event, 'leave')\"\n (dblclick)=\"restoreToDefaultWidth()\">\n </thy-resize-handle>\n }\n </div>\n }\n @if (thyCollapsible()) {\n <div class=\"sidebar-collapse-line\"></div>\n\n @if (thyTrigger() !== null) {\n <div\n class=\"sidebar-collapse\"\n [ngClass]=\"{ 'collapse-visible': collapseVisible(), 'collapse-hidden': collapseHidden() }\"\n (click)=\"toggleCollapse($event)\"\n [thyTooltip]=\"!thyTrigger() && collapseTip()\">\n <ng-template [ngTemplateOutlet]=\"thyTrigger() || defaultTrigger\"></ng-template>\n <ng-template #defaultTrigger>\n <thy-icon class=\"sidebar-collapse-icon\" [thyIconName]=\"collapsed() ? 'indent' : 'outdent'\"></thy-icon>\n </ng-template>\n </div>\n }\n }\n `,\n hostDirectives: [\n {\n directive: ThySidebarDirective,\n inputs: ['thyTheme', 'thyDirection', 'thyWidth', 'thyIsolated', 'thyDivided']\n }\n ],\n imports: [NgTemplateOutlet, ThyResizeHandle, ThyResizableDirective, ThyIcon, ThyTooltipDirective, NgClass],\n host: {\n '[class.sidebar-collapse-show]': 'collapsed()',\n '[class.remove-transition]': 'isRemoveTransition()',\n '[style.width.px]': 'sidebarWidth()'\n }\n})\nexport class ThySidebar implements OnInit, OnDestroy {\n private locale: Signal<ThyLayoutLocale> = injectLocale('layout');\n\n readonly elementRef = inject(ElementRef);\n\n private hotkeyDispatcher = inject(ThyHotkeyDispatcher);\n\n public readonly sidebarDirective = inject(ThySidebarDirective);\n\n protected readonly isMouseEnter = signal(false);\n\n protected readonly sidebarWidth = computed(() => {\n if (this.thyCollapsible() && this.collapsed()) {\n return this.thyCollapsedWidth();\n } else {\n return this.sidebarDirective.sidebarWidth();\n }\n });\n\n @HostListener('mouseenter', ['$event'])\n mouseenter($event: MouseEvent) {\n this.isMouseEnter.set(true);\n }\n\n @HostListener('mouseleave', ['$event'])\n mouseleave($event: MouseEvent) {\n this.isMouseEnter.set(false);\n }\n\n /**\n * 宽度是否可以拖拽\n * @default false\n */\n readonly thyDraggable = input<boolean, ThyBooleanInput>(false, { transform: coerceBooleanProperty });\n\n /**\n * 拖拽的最大宽度\n */\n readonly thyDragMaxWidth = input<number, unknown>(undefined, { transform: numberAttribute });\n\n /**\n * 拖拽的最小宽度\n */\n readonly thyDragMinWidth = input<number, unknown>(undefined, { transform: numberAttribute });\n\n /**\n * 展示收起的触发器自定义模板,默认显示展开收起的圆形图标,设置为 null 表示不展示触发元素,手动控制展开收起状态\n * @type null | undefined | TemplateRef<any>\n * @default undefined\n */\n readonly thyTrigger = input<null | undefined | TemplateRef<any>>(undefined);\n\n /**\n * 收起状态改变后的事件\n */\n readonly thyCollapsedChange = output<boolean>();\n\n /**\n * 拖拽宽度的修改事件\n */\n readonly thyDragWidthChange = output<number>();\n\n /**\n * 开启收起/展开功能\n * @default false\n */\n readonly thyCollapsible = input(false, { transform: coerceBooleanProperty });\n\n /**\n * 是否是收起\n * @default false\n */\n readonly thyCollapsed = input(false, { transform: coerceBooleanProperty });\n\n readonly collapsed = linkedSignal(() => this.thyCollapsed());\n\n readonly collapseVisible = computed(() => {\n return this.isMouseEnter() && !this.collapsed() ? true : false;\n });\n /**\n * 收起后的宽度\n */\n readonly thyCollapsedWidth = input(SIDEBAR_COLLAPSED_WIDTH, { transform: numberAttribute });\n\n /**\n * 默认宽度,双击后可恢复到此宽度,默认是 240px,传入 lg 大小时宽度是300px\n */\n readonly thyDefaultWidth = input(undefined, {\n transform: (value: string | number) => {\n if (value === 'lg') {\n return LG_WIDTH;\n }\n return value;\n }\n });\n\n readonly collapseTip = computed(() => {\n const collapseTip = this.collapsed() ? this.locale().expand : this.locale().collapse;\n return collapseTip + (isMacPlatform() ? `(⌘ + /)` : `(Ctrl + /)`);\n });\n\n private originWidth: number = SIDEBAR_DEFAULT_WIDTH;\n\n readonly collapseHidden = signal(false);\n\n readonly isRemoveTransition = signal(false);\n\n readonly isResizable = signal(false);\n\n protected dragMinWidth = computed(() => {\n return this.thyDragMinWidth() || this.thyCollapsedWidth();\n });\n\n private hotkeySubscription: Subscription;\n\n constructor() {\n effect(() => {\n const collapsible = this.thyCollapsible();\n if (collapsible) {\n this.subscribeHotkeyEvent();\n } else {\n this.hotkeySubscription?.unsubscribe();\n }\n });\n }\n\n ngOnInit() {}\n\n private subscribeHotkeyEvent() {\n this.hotkeySubscription = this.hotkeyDispatcher.keydown(['Control+/', 'Meta+/']).subscribe(() => {\n this.toggleCollapse();\n });\n }\n\n resizeHandler({ width }: ThyResizeEvent) {\n if (width === this.sidebarDirective.sidebarWidth()) {\n return;\n }\n if (this.thyCollapsible() && width < this.thyCollapsedWidth()) {\n return;\n }\n if (this.thyCollapsible() && width === this.thyCollapsedWidth()) {\n this.collapsed.set(true);\n this.thyCollapsedChange.emit(this.collapsed());\n this.sidebarDirective.sidebarWidth.set(this.originWidth);\n this.isMouseEnter.set(false);\n return;\n }\n this.sidebarDirective.sidebarWidth.set(width);\n this.thyDragWidthChange.emit(width);\n }\n\n resizeStart() {\n this.originWidth = this.sidebarDirective.sidebarWidth();\n this.collapseHidden.set(true);\n this.isRemoveTransition.set(true);\n }\n\n resizeEnd() {\n this.collapseHidden.set(false);\n this.isRemoveTransition.set(false);\n }\n\n toggleCollapse(event?: MouseEvent) {\n this.collapsed.update((value: boolean) => {\n return !value;\n });\n this.thyCollapsedChange.emit(this.collapsed());\n }\n\n public toggleResizable(event: MouseEvent, type: 'enter' | 'leave') {\n this.isResizable.set(type === 'enter' ? true : false);\n }\n\n restoreToDefaultWidth() {\n const thyDefaultWidth = this.thyDefaultWidth();\n this.sidebarDirective.sidebarWidth.set((thyDefaultWidth as number) || SIDEBAR_DEFAULT_WIDTH);\n this.thyDragWidthChange.emit(this.sidebarDirective.sidebarWidth());\n }\n\n ngOnDestroy(): void {\n this.hotkeySubscription?.unsubscribe();\n }\n}\n","import { ChangeDetectionStrategy, Component, Directive } from '@angular/core';\n\n/**\n * 内容块区域布局指令\n * @name thyContentSection\n * @order 40\n */\n@Directive({\n selector: '[thyContentSection]',\n host: {\n class: 'thy-layout-content-section'\n }\n})\nexport class ThyContentSectionDirective {}\n\n/**\n * 内容块区域布局组件\n * @name thy-content-section\n * @order 41\n */\n@Component({\n selector: 'thy-content-section',\n preserveWhitespaces: false,\n template: ` <ng-content></ng-content> `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [ThyContentSectionDirective]\n})\nexport class ThyContentSection {}\n","import { ChangeDetectionStrategy, Component, Directive } from '@angular/core';\n\n/**\n * 内容主区域布局指令\n * @name thyContentMain\n * @order 45\n */\n@Directive({\n selector: '[thyContentMain]',\n host: {\n class: 'thy-layout-content-main'\n }\n})\nexport class ThyContentMainDirective {}\n\n/**\n * 内容主区域布局组件\n * @name thy-content-main\n * @order 46\n */\n@Component({\n selector: 'thy-content-main',\n preserveWhitespaces: false,\n template: ` <ng-content></ng-content> `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [ThyContentMainDirective]\n})\nexport class ThyContentMain {}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Directive, TemplateRef, contentChild, input } from '@angular/core';\nimport { coerceBooleanProperty, ThyBooleanInput } from 'ngx-tethys/util';\n\n/**\n * 侧边栏头部布局指令\n * @name thySidebarHeader\n * @order 25\n */\n@Directive({\n selector: '[thySidebarHeader]',\n host: {\n class: 'sidebar-header',\n '[class.sidebar-header-divided]': 'thyDivided()'\n }\n})\nexport class ThySidebarHeaderDirective {\n /**\n * 是否有分割线\n * @default false\n */\n readonly thyDivided = input<boolean, ThyBooleanInput>(false, { transform: coerceBooleanProperty });\n\n constructor() {}\n}\n\n/**\n * 侧边栏头部布局组件\n * @name thy-sidebar-header\n * @order 26\n */\n@Component({\n selector: 'thy-sidebar-header',\n templateUrl: `./sidebar-header.component.html`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: ThySidebarHeaderDirective,\n inputs: ['thyDivided']\n }\n ],\n imports: [NgTemplateOutlet]\n})\nexport class ThySidebarHeader {\n /**\n * 头部标题\n */\n readonly thyTitle = input<string>(undefined);\n\n /**\n * 头部自定义操作模板,`<ng-template #headerOperation></ng-template>`\n * @type TemplateRef\n */\n readonly operationTemplateRef = contentChild<TemplateRef<unknown>>('headerOperation');\n\n /**\n * 头部自定义标题模板,`<ng-template #headerTitle></ng-template>`\n * @type TemplateRef\n */\n readonly titleTemplateRef = contentChild<TemplateRef<any>>('headerTitle');\n}\n","@if (thyTitle() || titleTemplateRef()) {\n <span class=\"title\">\n @if (titleTemplateRef()) {\n <ng-template [ngTemplateOutlet]=\"titleTemplateRef()\"></ng-template>\n } @else {\n {{ thyTitle() }}\n }\n </span>\n}\n<ng-content></ng-content>\n<div class=\"operation\">\n <ng-template [ngTemplateOutlet]=\"operationTemplateRef()\"></ng-template>\n</div>\n","import { ChangeDetectionStrategy, Component, Directive, OnInit } from '@angular/core';\n\n/**\n * 侧边栏底部布局指令\n * @name thySidebarFooter\n * @order 35\n */\n@Directive({\n selector: '[thySidebarFooter]',\n host: {\n class: 'sidebar-footer'\n }\n})\nexport class ThySidebarFooterDirective {}\n\n/**\n * 侧边栏底部布局组件\n * @name thy-sidebar-footer\n * @order 36\n */\n@Component({\n selector: 'thy-sidebar-footer',\n template: ` <ng-content></ng-content> `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [ThySidebarFooterDirective]\n})\nexport class ThySidebarFooter {}\n","import { ChangeDetectionStrategy, Component, Directive, OnInit } from '@angular/core';\n\n/**\n * 侧边栏内容布局指令\n * @name thySidebarContent\n * @order 30\n */\n@Directive({\n selector: '[thySidebarContent]',\n host: {\n class: 'sidebar-content'\n }\n})\nexport class ThySidebarContentDirective {}\n\n/**\n * 侧边栏内容布局组件\n * @name thy-sidebar-content\n * @order 31\n */\n@Component({\n selector: 'thy-sidebar-content',\n template: ` <ng-content></ng-content> `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [ThySidebarContentDirective]\n})\nexport class ThySidebarContent {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThyLayout, ThyLayoutDirective } from './layout.component';\nimport { ThyHeader, ThyHeaderDirective } from './header.component';\nimport { ThyContent, ThyContentDirective } from './content.component';\nimport { ThySidebar, ThySidebarDirective } from './sidebar.component';\nimport { ThyContentSection, ThyContentSectionDirective } from './content-section.component';\nimport { ThyContentMain, ThyContentMainDirective } from './content-main.component';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { ThyHotkeyModule } from '@tethys/cdk/hotkey';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThyTooltipModule } from 'ngx-tethys/tooltip';\nimport { ThySidebarHeader, ThySidebarHeaderDirective } from './sidebar-header.component';\nimport { ThySidebarFooter, ThySidebarFooterDirective } from './sidebar-footer.component';\nimport { ThySidebarContent, ThySidebarContentDirective } from './sidebar-content.component';\nimport { ThyResizableModule } from 'ngx-tethys/resizable';\n\n@NgModule({\n imports: [\n CommonModule,\n DragDropModule,\n ThyIconModule,\n ThyTooltipModule,\n ThyResizableModule,\n ThyHotkeyModule,\n ThyLayout,\n ThyHeader,\n ThyContent,\n ThySidebar,\n ThySidebarHeader,\n ThySidebarContent,\n ThySidebarFooter,\n ThyContentSection,\n ThyContentMain,\n ThyLayoutDirective,\n ThyHeaderDirective,\n ThyContentDirective,\n ThySidebarDirective,\n ThySidebarHeaderDirective,\n ThySidebarContentDirective,\n ThySidebarFooterDirective,\n ThyContentSectionDirective,\n ThyContentMainDirective\n ],\n exports: [\n ThyLayout,\n ThyHeader,\n ThyContent,\n ThySidebar,\n ThySidebarHeader,\n ThySidebarContent,\n ThySidebarFooter,\n ThyContentSection,\n ThyContentMain,\n ThyLayoutDirective,\n ThyHeaderDirective,\n ThyContentDirective,\n ThySidebarDirective,\n ThySidebarHeaderDirective,\n ThySidebarContentDirective,\n ThySidebarFooterDirective,\n ThyContentSectionDirective,\n ThyContentMainDirective\n ]\n})\nexport class ThyLayoutModule {}\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-layout.mjs","sources":["../../../src/layout/layout.component.ts","../../../src/layout/header.component.ts","../../../src/layout/header.component.html","../../../src/layout/content.component.ts","../../../src/layout/sidebar.component.ts","../../../src/layout/content-section.component.ts","../../../src/layout/content-main.component.ts","../../../src/layout/sidebar-header.component.ts","../../../src/layout/sidebar-header.component.html","../../../src/layout/sidebar-footer.component.ts","../../../src/layout/sidebar-content.component.ts","../../../src/layout/layout.module.ts","../../../src/layout/ngx-tethys-layout.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, Directive, HostBinding, signal } from '@angular/core';\nimport { ThySidebarDirection } from './sidebar.component';\n\n/**\n * 布局指令\n * @name thyLayout\n * @order 5\n */\n@Directive({\n selector:\n '[thyLayout]:not([thyForm]):not(thy-form):not(thy-radio-group):not(thy-properties):not(thy-selection-list):not(thy-vote):not([thyVote])',\n host: {\n class: 'thy-layout',\n '[class.thy-layout--has-sidebar]': 'sidebarDirection()',\n '[class.thy-layout--is-sidebar-right]': 'isSidebarRight()'\n }\n})\nexport class ThyLayoutDirective {\n readonly sidebarDirection = signal<ThySidebarDirection | null>(null);\n readonly isSidebarRight = computed(() => {\n return this.sidebarDirection() === 'right';\n });\n}\n\n/**\n * 布局组件\n * @name thy-layout\n * @order 6\n */\n@Component({\n selector: 'thy-layout',\n template: ` <ng-content></ng-content> `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [ThyLayoutDirective]\n})\nexport class ThyLayout {}\n","import { NgClass, NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Directive, Input, TemplateRef, computed, contentChild, input } from '@angular/core';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\n/**\n * 头部布局指令\n * @name thyHeader\n * @order 10\n */\n@Directive({\n selector: '[thyHeader]',\n host: {\n class: `thy-layout-header`,\n '[class.thy-layout-header-sm]': `thySize() === 'sm'`,\n '[class.thy-layout-header-lg]': `thySize() === 'lg'`,\n '[class.thy-layout-header-xlg]': `thySize() === 'xlg'`,\n '[class.thy-layout-header-shadow]': `thyShadow()`,\n '[class.thy-layout-header-divided]': `divided()`\n }\n})\nexport class ThyHeaderDirective {\n /**\n * 头部大小\n * @type sm | md | lg | xlg\n */\n readonly thySize = input<'sm' | 'md' | 'lg' | 'xlg'>('md');\n\n /**\n * 底部是否有阴影\n * @default false\n */\n readonly thyShadow = input(false, { transform: coerceBooleanProperty });\n\n /**\n * 底部是否有分割线\n */\n readonly thyDivided = input(false, { transform: coerceBooleanProperty });\n\n /**\n * 底部是否有分割线,已废弃,请使用 thyDivided\n * @deprecated please use thyDivided\n */\n readonly thyHasBorder = input(false, { transform: coerceBooleanProperty });\n\n readonly divided = computed(() => {\n const value = this.thyDivided();\n if (value !== undefined) {\n return value;\n }\n return this.thyHasBorder();\n });\n}\n\n/**\n * 头部布局组件\n * @name thy-header\n * @order 11\n */\n@Component({\n selector: 'thy-header',\n preserveWhitespaces: false,\n templateUrl: './header.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: ThyHeaderDirective,\n inputs: ['thySize', 'thyShadow', 'thyHasBorder', 'thyDivided']\n }\n ],\n imports: [NgTemplateOutlet, ThyIcon, NgClass]\n})\nexport class ThyHeader {\n /**\n * 头部标题\n */\n readonly thyTitle = input<string>();\n\n /**\n * 图标前缀,被弃用,图标使用 SVG 图标\n */\n readonly thyIconPrefix = input('wtf');\n\n /**\n * 图标,SVG 图标名称\n */\n readonly thyIcon = input<string>();\n\n readonly svgIconName = computed(() => {\n const icon = this.thyIcon();\n if (icon && !icon.includes('wtf')) {\n return icon;\n }\n return null;\n });\n\n readonly iconClass = computed(() => {\n const icon = this.svgIconName();\n if (icon) {\n return null;\n } else {\n const icon = this.thyIcon();\n if (icon && icon.includes('wtf')) {\n return `${this.thyIconPrefix()} ${icon}`;\n }\n }\n return null;\n });\n\n /**\n * 头部自定义标题模板,`<ng-template #headerTitle></ng-template>`\n * @type TemplateRef\n */\n readonly titleTemplateRef = contentChild<TemplateRef<any>>('headerTitle');\n\n /**\n * 头部自定义内容模板,`<ng-template #headerContent></ng-template>`\n * @type TemplateRef\n */\n readonly contentTemplateRef = contentChild<TemplateRef<any>>('headerContent');\n\n /**\n * 头部自定义操作模板,`<ng-template #headerOperation></ng-template>`\n * @type TemplateRef\n */\n readonly operationTemplateRef = contentChild<TemplateRef<any>>('headerOperation');\n}\n","<div class=\"layout-header-title\">\n @if (titleTemplateRef()) {\n <ng-template [ngTemplateOutlet]=\"titleTemplateRef()\"></ng-template>\n } @else {\n @if (svgIconName()) {\n <thy-icon class=\"prefix-icon\" [thyIconName]=\"svgIconName()\"></thy-icon>\n } @else {\n @if (iconClass()) {\n <i class=\"prefix-icon\" [ngClass]=\"iconClass()\"></i>\n }\n }\n <span class=\"title-name\">{{ thyTitle() }}</span>\n }\n</div>\n<div class=\"layout-header-content\">\n <ng-template [ngTemplateOutlet]=\"contentTemplateRef()\"></ng-template>\n</div>\n<div class=\"layout-header-operation\">\n <ng-template [ngTemplateOutlet]=\"operationTemplateRef()\"></ng-template>\n</div>\n","import { ChangeDetectionStrategy, Component, Directive } from '@angular/core';\n\n/**\n * 内容布局指令\n * @name thyContent\n * @order 15\n */\n@Directive({\n selector: '[thyContent]:not(thy-badge):not([thyBadge])',\n host: {\n class: 'thy-layout-content'\n }\n})\nexport class ThyContentDirective {}\n\n/**\n * 内容布局组件\n * @name thy-content\n * @order 16\n */\n@Component({\n selector: 'thy-content',\n preserveWhitespaces: false,\n template: ` <ng-content></ng-content> `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [ThyContentDirective]\n})\nexport class ThyContent {}\n","import { NgClass, NgStyle, NgTemplateOutlet } from '@angular/common';\nimport {\n Component,\n Directive,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Signal,\n TemplateRef,\n inject,\n numberAttribute,\n input,\n linkedSignal,\n effect,\n computed,\n signal,\n output\n} from '@angular/core';\nimport { ThyHotkeyDispatcher } from '@tethys/cdk/hotkey';\nimport { isMacPlatform } from '@tethys/cdk/is';\nimport { ThyIcon } from 'ngx-tethys/icon';\nimport { ThyResizableDirective, ThyResizeEvent, ThyResizeHandle } from 'ngx-tethys/resizable';\nimport { ThyTooltipDirective } from 'ngx-tethys/tooltip';\nimport { Subscription } from 'rxjs';\nimport { ThyLayoutDirective } from './layout.component';\nimport { coerceBooleanProperty, ThyBooleanInput } from 'ngx-tethys/util';\nimport { injectLocale, ThyLayoutLocale } from 'ngx-tethys/i18n';\n\nconst LG_WIDTH = 300;\nconst SIDEBAR_DEFAULT_WIDTH = 240;\nconst SIDEBAR_COLLAPSED_WIDTH = 20;\n\nexport type ThySidebarTheme = 'white' | 'light' | 'dark';\n\nexport type ThySidebarDirection = 'left' | 'right';\n\n/**\n * 侧边栏布局指令\n * @name thySidebar\n * @order 20\n */\n@Directive({\n selector: '[thySidebar]',\n host: {\n class: 'thy-layout-sidebar',\n '[class.thy-layout-sidebar-right]': 'thyDirection() === \"right\"',\n '[class.thy-layout-sidebar--clear-border-right]': 'thyDirection() === \"left\" && !thyDivided()',\n '[class.thy-layout-sidebar--clear-border-left]': 'thyDirection() === \"right\" && !thyDivided()',\n '[class.sidebar-theme-light]': 'thyTheme() === \"light\"',\n '[class.sidebar-theme-dark]': 'thyTheme() === \"dark\"',\n '[class.thy-layout-sidebar-isolated]': 'thyIsolated()',\n '[style.width.px]': 'sidebarWidth()'\n }\n})\nexport class ThySidebarDirective implements OnInit {\n private thyLayoutDirective = inject(ThyLayoutDirective, { optional: true, host: true })!;\n\n /**\n * sidebar 位置,默认在左侧\n */\n readonly thyDirection = input<ThySidebarDirection>('left');\n\n /**\n * 主题\n * @type white | light | dark\n * @default white\n */\n readonly thyTheme = input<ThySidebarTheme>();\n\n /**\n * 宽度,默认是 240px,传入 `lg` 大小时宽度是300px\n * @default 240px\n */\n readonly thyWidth = input(SIDEBAR_DEFAULT_WIDTH, {\n transform: (value: string | number) => {\n if (value === 'lg') {\n return LG_WIDTH;\n }\n return value || SIDEBAR_DEFAULT_WIDTH;\n }\n });\n\n readonly sidebarWidth = linkedSignal(() => {\n return this.thyWidth() as number;\n });\n\n /**\n * 是否和右侧 /左侧隔离,当为 true 时距右侧 /左侧会有 margin,同时边框会去掉\n * @default false\n */\n readonly thyIsolated = input(false, { transform: coerceBooleanProperty });\n\n /**\n * sidebar 是否有分割线。当`thyDirection`值为`left`时,控制右侧是否有分割线;当`thyDirection`值为`right`时,控制左侧是否有分割线。\n * @default true\n */\n readonly thyDivided = input(true, { transform: coerceBooleanProperty });\n\n ngOnInit() {\n if (this.thyLayoutDirective) {\n this.thyLayoutDirective.sidebarDirection.set(this.thyDirection());\n }\n }\n}\n\n/**\n * 侧边栏布局组件\n * @name thy-sidebar\n * @order 21\n */\n@Component({\n selector: 'thy-sidebar',\n preserveWhitespaces: false,\n template: `\n <ng-content></ng-content>\n @if (thyDraggable()) {\n <div\n thyResizable\n class=\"sidebar-drag\"\n thyBounds=\"window\"\n [thyMaxWidth]=\"thyDragMaxWidth()\"\n [thyMinWidth]=\"dragMinWidth()\"\n (thyResize)=\"resizeHandler($event)\"\n (thyResizeStart)=\"resizeStart()\"\n (thyResizeEnd)=\"resizeEnd()\"\n [style.display]=\"!isResizable() ? 'contents' : null\">\n @if (!collapsed()) {\n <thy-resize-handle\n [thyDirection]=\"sidebarDirective.thyDirection() === 'right' ? 'left' : 'right'\"\n class=\"sidebar-resize-handle\"\n thyLine=\"true\"\n (mouseenter)=\"toggleResizable($event, 'enter')\"\n (mouseleave)=\"toggleResizable($event, 'leave')\"\n (dblclick)=\"restoreToDefaultWidth()\">\n </thy-resize-handle>\n }\n </div>\n }\n @if (thyCollapsible()) {\n <div class=\"sidebar-collapse-line\"></div>\n\n @if (thyTrigger() !== null) {\n <div\n class=\"sidebar-collapse\"\n [ngClass]=\"{ 'collapse-visible': collapseVisible(), 'collapse-hidden': collapseHidden() }\"\n (click)=\"toggleCollapse($event)\"\n [thyTooltip]=\"!thyTrigger() && collapseTip()\">\n <ng-template [ngTemplateOutlet]=\"thyTrigger() || defaultTrigger\"></ng-template>\n <ng-template #defaultTrigger>\n <thy-icon class=\"sidebar-collapse-icon\" [thyIconName]=\"collapsed() ? 'indent' : 'outdent'\"></thy-icon>\n </ng-template>\n </div>\n }\n }\n `,\n hostDirectives: [\n {\n directive: ThySidebarDirective,\n inputs: ['thyTheme', 'thyDirection', 'thyWidth', 'thyIsolated', 'thyDivided']\n }\n ],\n imports: [NgTemplateOutlet, ThyResizeHandle, ThyResizableDirective, ThyIcon, ThyTooltipDirective, NgClass],\n host: {\n '[class.sidebar-collapse-show]': 'collapsed()',\n '[class.remove-transition]': 'isRemoveTransition()',\n '[style.width.px]': 'sidebarWidth()'\n }\n})\nexport class ThySidebar implements OnInit, OnDestroy {\n private locale: Signal<ThyLayoutLocale> = injectLocale('layout');\n\n readonly elementRef = inject(ElementRef);\n\n private hotkeyDispatcher = inject(ThyHotkeyDispatcher);\n\n public readonly sidebarDirective = inject(ThySidebarDirective);\n\n protected readonly isMouseEnter = signal(false);\n\n protected readonly sidebarWidth = computed(() => {\n if (this.thyCollapsible() && this.collapsed()) {\n return this.thyCollapsedWidth();\n } else {\n return this.sidebarDirective.sidebarWidth();\n }\n });\n\n @HostListener('mouseenter', ['$event'])\n mouseenter($event: MouseEvent) {\n this.isMouseEnter.set(true);\n }\n\n @HostListener('mouseleave', ['$event'])\n mouseleave($event: MouseEvent) {\n this.isMouseEnter.set(false);\n }\n\n /**\n * 宽度是否可以拖拽\n * @default false\n */\n readonly thyDraggable = input<boolean, ThyBooleanInput>(false, { transform: coerceBooleanProperty });\n\n /**\n * 拖拽的最大宽度\n */\n readonly thyDragMaxWidth = input<number, unknown>(undefined, { transform: numberAttribute });\n\n /**\n * 拖拽的最小宽度\n */\n readonly thyDragMinWidth = input<number, unknown>(undefined, { transform: numberAttribute });\n\n /**\n * 展示收起的触发器自定义模板,默认显示展开收起的圆形图标,设置为 null 表示不展示触发元素,手动控制展开收起状态\n * @type null | undefined | TemplateRef<any>\n * @default undefined\n */\n readonly thyTrigger = input<null | undefined | TemplateRef<any>>(undefined);\n\n /**\n * 收起状态改变后的事件\n */\n readonly thyCollapsedChange = output<boolean>();\n\n /**\n * 拖拽宽度的修改事件\n */\n readonly thyDragWidthChange = output<number>();\n\n /**\n * 开启收起/展开功能\n * @default false\n */\n readonly thyCollapsible = input(false, { transform: coerceBooleanProperty });\n\n /**\n * 是否是收起\n * @default false\n */\n readonly thyCollapsed = input(false, { transform: coerceBooleanProperty });\n\n readonly collapsed = linkedSignal(() => this.thyCollapsed());\n\n readonly collapseVisible = computed(() => {\n return this.isMouseEnter() && !this.collapsed() ? true : false;\n });\n /**\n * 收起后的宽度\n */\n readonly thyCollapsedWidth = input(SIDEBAR_COLLAPSED_WIDTH, { transform: numberAttribute });\n\n /**\n * 默认宽度,双击后可恢复到此宽度,默认是 240px,传入 lg 大小时宽度是300px\n */\n readonly thyDefaultWidth = input(undefined, {\n transform: (value: string | number) => {\n if (value === 'lg') {\n return LG_WIDTH;\n }\n return value;\n }\n });\n\n readonly collapseTip = computed(() => {\n const collapseTip = this.collapsed() ? this.locale().expand : this.locale().collapse;\n return collapseTip + (isMacPlatform() ? `(⌘ + /)` : `(Ctrl + /)`);\n });\n\n private originWidth: number = SIDEBAR_DEFAULT_WIDTH;\n\n readonly collapseHidden = signal(false);\n\n readonly isRemoveTransition = signal(false);\n\n readonly isResizable = signal(false);\n\n protected dragMinWidth = computed(() => {\n return this.thyDragMinWidth() || this.thyCollapsedWidth();\n });\n\n private hotkeySubscription!: Subscription;\n\n constructor() {\n effect(() => {\n const collapsible = this.thyCollapsible();\n if (collapsible) {\n this.subscribeHotkeyEvent();\n } else {\n this.hotkeySubscription?.unsubscribe();\n }\n });\n }\n\n ngOnInit() {}\n\n private subscribeHotkeyEvent() {\n this.hotkeySubscription = this.hotkeyDispatcher.keydown(['Control+/', 'Meta+/']).subscribe(event => {\n this.toggleCollapse();\n });\n }\n\n resizeHandler({ width }: ThyResizeEvent) {\n if (width === this.sidebarDirective.sidebarWidth()) {\n return;\n }\n if (this.thyCollapsible() && width! < this.thyCollapsedWidth()) {\n return;\n }\n if (this.thyCollapsible() && width === this.thyCollapsedWidth()) {\n this.collapsed.set(true);\n this.thyCollapsedChange.emit(this.collapsed());\n this.sidebarDirective.sidebarWidth.set(this.originWidth);\n this.isMouseEnter.set(false);\n return;\n }\n this.sidebarDirective.sidebarWidth.set(width!);\n this.thyDragWidthChange.emit(width!);\n }\n\n resizeStart() {\n this.originWidth = this.sidebarDirective.sidebarWidth();\n this.collapseHidden.set(true);\n this.isRemoveTransition.set(true);\n }\n\n resizeEnd() {\n this.collapseHidden.set(false);\n this.isRemoveTransition.set(false);\n }\n\n toggleCollapse(event?: MouseEvent) {\n this.collapsed.update((value: boolean) => {\n return !value;\n });\n this.thyCollapsedChange.emit(this.collapsed());\n }\n\n public toggleResizable(event: MouseEvent, type: 'enter' | 'leave') {\n this.isResizable.set(type === 'enter' ? true : false);\n }\n\n restoreToDefaultWidth() {\n const thyDefaultWidth = this.thyDefaultWidth();\n this.sidebarDirective.sidebarWidth.set((thyDefaultWidth as number) || SIDEBAR_DEFAULT_WIDTH);\n this.thyDragWidthChange.emit(this.sidebarDirective.sidebarWidth());\n }\n\n ngOnDestroy(): void {\n this.hotkeySubscription?.unsubscribe();\n }\n}\n","import { ChangeDetectionStrategy, Component, Directive } from '@angular/core';\n\n/**\n * 内容块区域布局指令\n * @name thyContentSection\n * @order 40\n */\n@Directive({\n selector: '[thyContentSection]',\n host: {\n class: 'thy-layout-content-section'\n }\n})\nexport class ThyContentSectionDirective {}\n\n/**\n * 内容块区域布局组件\n * @name thy-content-section\n * @order 41\n */\n@Component({\n selector: 'thy-content-section',\n preserveWhitespaces: false,\n template: ` <ng-content></ng-content> `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [ThyContentSectionDirective]\n})\nexport class ThyContentSection {}\n","import { ChangeDetectionStrategy, Component, Directive } from '@angular/core';\n\n/**\n * 内容主区域布局指令\n * @name thyContentMain\n * @order 45\n */\n@Directive({\n selector: '[thyContentMain]',\n host: {\n class: 'thy-layout-content-main'\n }\n})\nexport class ThyContentMainDirective {}\n\n/**\n * 内容主区域布局组件\n * @name thy-content-main\n * @order 46\n */\n@Component({\n selector: 'thy-content-main',\n preserveWhitespaces: false,\n template: ` <ng-content></ng-content> `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [ThyContentMainDirective]\n})\nexport class ThyContentMain {}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Directive, TemplateRef, contentChild, input } from '@angular/core';\nimport { coerceBooleanProperty, ThyBooleanInput } from 'ngx-tethys/util';\n\n/**\n * 侧边栏头部布局指令\n * @name thySidebarHeader\n * @order 25\n */\n@Directive({\n selector: '[thySidebarHeader]',\n host: {\n class: 'sidebar-header',\n '[class.sidebar-header-divided]': 'thyDivided()'\n }\n})\nexport class ThySidebarHeaderDirective {\n /**\n * 是否有分割线\n * @default false\n */\n readonly thyDivided = input<boolean, ThyBooleanInput>(false, { transform: coerceBooleanProperty });\n\n constructor() {}\n}\n\n/**\n * 侧边栏头部布局组件\n * @name thy-sidebar-header\n * @order 26\n */\n@Component({\n selector: 'thy-sidebar-header',\n templateUrl: `./sidebar-header.component.html`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: ThySidebarHeaderDirective,\n inputs: ['thyDivided']\n }\n ],\n imports: [NgTemplateOutlet]\n})\nexport class ThySidebarHeader {\n /**\n * 头部标题\n */\n readonly thyTitle = input<string>();\n\n /**\n * 头部自定义操作模板,`<ng-template #headerOperation></ng-template>`\n * @type TemplateRef\n */\n readonly operationTemplateRef = contentChild<TemplateRef<unknown>>('headerOperation');\n\n /**\n * 头部自定义标题模板,`<ng-template #headerTitle></ng-template>`\n * @type TemplateRef\n */\n readonly titleTemplateRef = contentChild<TemplateRef<any>>('headerTitle');\n}\n","@if (thyTitle() || titleTemplateRef()) {\n <span class=\"title\">\n @if (titleTemplateRef()) {\n <ng-template [ngTemplateOutlet]=\"titleTemplateRef()\"></ng-template>\n } @else {\n {{ thyTitle() }}\n }\n </span>\n}\n<ng-content></ng-content>\n<div class=\"operation\">\n <ng-template [ngTemplateOutlet]=\"operationTemplateRef()\"></ng-template>\n</div>\n","import { ChangeDetectionStrategy, Component, Directive, OnInit } from '@angular/core';\n\n/**\n * 侧边栏底部布局指令\n * @name thySidebarFooter\n * @order 35\n */\n@Directive({\n selector: '[thySidebarFooter]',\n host: {\n class: 'sidebar-footer'\n }\n})\nexport class ThySidebarFooterDirective {}\n\n/**\n * 侧边栏底部布局组件\n * @name thy-sidebar-footer\n * @order 36\n */\n@Component({\n selector: 'thy-sidebar-footer',\n template: ` <ng-content></ng-content> `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [ThySidebarFooterDirective]\n})\nexport class ThySidebarFooter {}\n","import { ChangeDetectionStrategy, Component, Directive, OnInit } from '@angular/core';\n\n/**\n * 侧边栏内容布局指令\n * @name thySidebarContent\n * @order 30\n */\n@Directive({\n selector: '[thySidebarContent]',\n host: {\n class: 'sidebar-content'\n }\n})\nexport class ThySidebarContentDirective {}\n\n/**\n * 侧边栏内容布局组件\n * @name thy-sidebar-content\n * @order 31\n */\n@Component({\n selector: 'thy-sidebar-content',\n template: ` <ng-content></ng-content> `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [ThySidebarContentDirective]\n})\nexport class ThySidebarContent {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThyLayout, ThyLayoutDirective } from './layout.component';\nimport { ThyHeader, ThyHeaderDirective } from './header.component';\nimport { ThyContent, ThyContentDirective } from './content.component';\nimport { ThySidebar, ThySidebarDirective } from './sidebar.component';\nimport { ThyContentSection, ThyContentSectionDirective } from './content-section.component';\nimport { ThyContentMain, ThyContentMainDirective } from './content-main.component';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { ThyHotkeyModule } from '@tethys/cdk/hotkey';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThyTooltipModule } from 'ngx-tethys/tooltip';\nimport { ThySidebarHeader, ThySidebarHeaderDirective } from './sidebar-header.component';\nimport { ThySidebarFooter, ThySidebarFooterDirective } from './sidebar-footer.component';\nimport { ThySidebarContent, ThySidebarContentDirective } from './sidebar-content.component';\nimport { ThyResizableModule } from 'ngx-tethys/resizable';\n\n@NgModule({\n imports: [\n CommonModule,\n DragDropModule,\n ThyIconModule,\n ThyTooltipModule,\n ThyResizableModule,\n ThyHotkeyModule,\n ThyLayout,\n ThyHeader,\n ThyContent,\n ThySidebar,\n ThySidebarHeader,\n ThySidebarContent,\n ThySidebarFooter,\n ThyContentSection,\n ThyContentMain,\n ThyLayoutDirective,\n ThyHeaderDirective,\n ThyContentDirective,\n ThySidebarDirective,\n ThySidebarHeaderDirective,\n ThySidebarContentDirective,\n ThySidebarFooterDirective,\n ThyContentSectionDirective,\n ThyContentMainDirective\n ],\n exports: [\n ThyLayout,\n ThyHeader,\n ThyContent,\n ThySidebar,\n ThySidebarHeader,\n ThySidebarContent,\n ThySidebarFooter,\n ThyContentSection,\n ThyContentMain,\n ThyLayoutDirective,\n ThyHeaderDirective,\n ThyContentDirective,\n ThySidebarDirective,\n ThySidebarHeaderDirective,\n ThySidebarContentDirective,\n ThySidebarFooterDirective,\n ThyContentSectionDirective,\n ThyContentMainDirective\n ]\n})\nexport class ThyLayoutModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -23,10 +23,10 @@ class ThyList {
|
|
|
23
23
|
*/
|
|
24
24
|
this.thyDivided = input(false, ...(ngDevMode ? [{ debugName: "thyDivided", transform: coerceBooleanProperty }] : [{ transform: coerceBooleanProperty }]));
|
|
25
25
|
}
|
|
26
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
27
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.
|
|
26
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyList, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.15", type: ThyList, isStandalone: true, selector: "thy-list", inputs: { thyDivided: { classPropertyName: "thyDivided", publicName: "thyDivided", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.thy-list-divided": "thyDivided()" }, classAttribute: "thy-list" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true }); }
|
|
28
28
|
}
|
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyList, decorators: [{
|
|
30
30
|
type: Component,
|
|
31
31
|
args: [{
|
|
32
32
|
selector: 'thy-list',
|
|
@@ -43,10 +43,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
|
|
|
43
43
|
* @order 15
|
|
44
44
|
*/
|
|
45
45
|
class ThyListItem {
|
|
46
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
47
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
46
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyListItem, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
47
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: ThyListItem, isStandalone: true, selector: "thy-list-item,[thy-list-item]", host: { classAttribute: "thy-list-item" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true }); }
|
|
48
48
|
}
|
|
49
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
49
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyListItem, decorators: [{
|
|
50
50
|
type: Component,
|
|
51
51
|
args: [{
|
|
52
52
|
selector: 'thy-list-item,[thy-list-item]',
|
|
@@ -74,7 +74,10 @@ class ThySelectionList {
|
|
|
74
74
|
/**
|
|
75
75
|
* 改变 grid item 的选择模式,使其支持多选
|
|
76
76
|
*/
|
|
77
|
-
this.multiple = input(true,
|
|
77
|
+
this.multiple = input(true, {
|
|
78
|
+
alias: 'thyMultiple',
|
|
79
|
+
transform: coerceBooleanProperty
|
|
80
|
+
});
|
|
78
81
|
/**
|
|
79
82
|
* 绑定键盘事件的容器
|
|
80
83
|
* @type HTMLElement | ElementRef | string
|
|
@@ -183,7 +186,7 @@ class ThySelectionList {
|
|
|
183
186
|
.skipPredicate(() => false);
|
|
184
187
|
}
|
|
185
188
|
instanceSelectionModel() {
|
|
186
|
-
this.selectionModel = new SelectionModel(this.multiple());
|
|
189
|
+
this.selectionModel = new SelectionModel(!!this.multiple());
|
|
187
190
|
}
|
|
188
191
|
getElementBySelector(element) {
|
|
189
192
|
return dom.getHTMLElementBySelector(element, this.elementRef);
|
|
@@ -379,8 +382,8 @@ class ThySelectionList {
|
|
|
379
382
|
this.bindKeyEventUnsubscribe();
|
|
380
383
|
}
|
|
381
384
|
}
|
|
382
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
383
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.
|
|
385
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThySelectionList, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
386
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.15", type: ThySelectionList, isStandalone: true, selector: "thy-selection-list,[thy-selection-list]", inputs: { multiple: { classPropertyName: "multiple", publicName: "thyMultiple", isSignal: true, isRequired: false, transformFunction: null }, thyBindKeyEventContainer: { classPropertyName: "thyBindKeyEventContainer", publicName: "thyBindKeyEventContainer", isSignal: true, isRequired: false, transformFunction: null }, thyScrollContainer: { classPropertyName: "thyScrollContainer", publicName: "thyScrollContainer", isSignal: true, isRequired: false, transformFunction: null }, thyBeforeKeydown: { classPropertyName: "thyBeforeKeydown", publicName: "thyBeforeKeydown", isSignal: true, isRequired: false, transformFunction: null }, thyUniqueKey: { classPropertyName: "thyUniqueKey", publicName: "thyUniqueKey", isSignal: true, isRequired: false, transformFunction: null }, thyCompareWith: { classPropertyName: "thyCompareWith", publicName: "thyCompareWith", isSignal: true, isRequired: false, transformFunction: null }, layout: { classPropertyName: "layout", publicName: "thyLayout", isSignal: true, isRequired: false, transformFunction: null }, thyAutoActiveFirstItem: { classPropertyName: "thyAutoActiveFirstItem", publicName: "thyAutoActiveFirstItem", isSignal: true, isRequired: false, transformFunction: null }, thySize: { classPropertyName: "thySize", publicName: "thySize", isSignal: true, isRequired: false, transformFunction: null }, thySpaceKeyEnabled: { classPropertyName: "thySpaceKeyEnabled", publicName: "thySpaceKeyEnabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { thySelectionChange: "thySelectionChange" }, host: { properties: { "class.thy-multiple-selection-list": "multiple()", "class.thy-grid-list": "isLayoutGrid()" }, classAttribute: "thy-list thy-selection-list" }, providers: [
|
|
384
387
|
{
|
|
385
388
|
provide: THY_LIST_OPTION_PARENT_COMPONENT,
|
|
386
389
|
useExisting: ThySelectionList
|
|
@@ -392,7 +395,7 @@ class ThySelectionList {
|
|
|
392
395
|
}
|
|
393
396
|
], queries: [{ propertyName: "options", predicate: ThyListOption, descendants: true }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
394
397
|
}
|
|
395
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
398
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThySelectionList, decorators: [{
|
|
396
399
|
type: Component,
|
|
397
400
|
args: [{
|
|
398
401
|
selector: 'thy-selection-list,[thy-selection-list]',
|
|
@@ -442,10 +445,10 @@ class ThyListItemMeta {
|
|
|
442
445
|
this.titleTemplateRef = contentChild('metaTitle', ...(ngDevMode ? [{ debugName: "titleTemplateRef" }] : []));
|
|
443
446
|
this.descriptionTemplateRef = contentChild('metaDescription', ...(ngDevMode ? [{ debugName: "descriptionTemplateRef" }] : []));
|
|
444
447
|
}
|
|
445
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
446
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.
|
|
448
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyListItemMeta, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
449
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: ThyListItemMeta, isStandalone: true, selector: "thy-list-item-meta,[thy-list-item-meta]", inputs: { thyAvatar: { classPropertyName: "thyAvatar", publicName: "thyAvatar", isSignal: true, isRequired: false, transformFunction: null }, thyTitle: { classPropertyName: "thyTitle", publicName: "thyTitle", isSignal: true, isRequired: false, transformFunction: null }, thyDescription: { classPropertyName: "thyDescription", publicName: "thyDescription", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "thy-list-item-meta" }, queries: [{ propertyName: "avatarTemplateRef", first: true, predicate: ["metaAvatar"], descendants: true, isSignal: true }, { propertyName: "titleTemplateRef", first: true, predicate: ["metaTitle"], descendants: true, isSignal: true }, { propertyName: "descriptionTemplateRef", first: true, predicate: ["metaDescription"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"thy-list-item-meta-avatar\">\n @if (thyAvatar()) {\n <thy-avatar [thySrc]=\"thyAvatar()\"></thy-avatar>\n } @else {\n <ng-template [ngTemplateOutlet]=\"avatarTemplateRef()\"></ng-template>\n }\n</div>\n<div class=\"thy-list-item-meta-content\">\n <div class=\"thy-list-item-meta-title\">\n @if (thyTitle()) {\n {{ thyTitle() }}\n } @else {\n <ng-template [ngTemplateOutlet]=\"titleTemplateRef()\"></ng-template>\n }\n </div>\n <div class=\"thy-list-item-meta-description\">\n @if (thyDescription()) {\n {{ thyDescription() }}\n } @else {\n <ng-template [ngTemplateOutlet]=\"descriptionTemplateRef()\"></ng-template>\n }\n </div>\n</div>\n", dependencies: [{ kind: "component", type: ThyAvatar, selector: "thy-avatar", inputs: ["thyShowName", "thySrc", "thyName", "thySize", "thyShowRemove", "thyRemovable", "thyImgClass", "thyDisabled", "thyLoading", "thyFetchPriority"], outputs: ["thyOnRemove", "thyRemove", "thyError", "thySizeChange"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
447
450
|
}
|
|
448
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
451
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyListItemMeta, decorators: [{
|
|
449
452
|
type: Component,
|
|
450
453
|
args: [{ selector: 'thy-list-item-meta,[thy-list-item-meta]', host: {
|
|
451
454
|
class: 'thy-list-item-meta'
|
|
@@ -453,11 +456,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
|
|
|
453
456
|
}], propDecorators: { thyAvatar: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyAvatar", required: false }] }], thyTitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyTitle", required: false }] }], thyDescription: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyDescription", required: false }] }], avatarTemplateRef: [{ type: i0.ContentChild, args: ['metaAvatar', { isSignal: true }] }], titleTemplateRef: [{ type: i0.ContentChild, args: ['metaTitle', { isSignal: true }] }], descriptionTemplateRef: [{ type: i0.ContentChild, args: ['metaDescription', { isSignal: true }] }] } });
|
|
454
457
|
|
|
455
458
|
class ThyListModule {
|
|
456
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
457
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.
|
|
458
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.
|
|
459
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
460
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: ThyListModule, imports: [CommonModule, ThyOptionModule, ThyAvatarModule, ThyList, ThyListItem, ThySelectionList, ThyListItemMeta], exports: [ThyList, ThyListItem, ThySelectionList, ThyListItemMeta, ThyOptionModule] }); }
|
|
461
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyListModule, imports: [CommonModule, ThyOptionModule, ThyAvatarModule, ThyListItemMeta, ThyOptionModule] }); }
|
|
459
462
|
}
|
|
460
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
463
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyListModule, decorators: [{
|
|
461
464
|
type: NgModule,
|
|
462
465
|
args: [{
|
|
463
466
|
imports: [CommonModule, ThyOptionModule, ThyAvatarModule, ThyList, ThyListItem, ThySelectionList, ThyListItemMeta],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-tethys-list.mjs","sources":["../../../src/list/list.component.ts","../../../src/list/list-item.component.ts","../../../src/list/selection/selection-list.ts","../../../src/list/list-item-meta.component.ts","../../../src/list/list-item-meta.component.html","../../../src/list/list.module.ts","../../../src/list/ngx-tethys-list.ts"],"sourcesContent":["import { Component, input } from '@angular/core';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\n/**\n * 列表组件\n * @name thy-list\n * @order 10\n */\n@Component({\n selector: 'thy-list',\n host: {\n class: 'thy-list',\n '[class.thy-list-divided]': 'thyDivided()'\n },\n template: '<ng-content></ng-content>'\n})\nexport class ThyList {\n /**\n * 控制分割线的显示与隐藏\n */\n readonly thyDivided = input(false, { transform: coerceBooleanProperty });\n}\n","import { Component } from '@angular/core';\n\n/**\n * @name thy-list-item,[thy-list-item]\n * @order 15\n */\n@Component({\n selector: 'thy-list-item,[thy-list-item]',\n template: '<ng-content></ng-content>',\n host: {\n class: 'thy-list-item'\n }\n})\nexport class ThyListItem {}\n","import { ScrollToService } from 'ngx-tethys/core';\nimport { IThyListOptionParentComponent, THY_LIST_OPTION_PARENT_COMPONENT, ThyListOption } from 'ngx-tethys/shared';\nimport { coerceBooleanProperty, dom, helpers, keycodes, ThyBooleanInput } from 'ngx-tethys/util';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n forwardRef,\n NgZone,\n OnDestroy,\n OnInit,\n QueryList,\n Renderer2,\n inject,\n input,\n computed,\n effect,\n output\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ThyListLayout } from 'ngx-tethys/shared';\nimport { ThySelectionListChange } from './selection.interface';\nimport { startWith } from 'rxjs/operators';\n\nexport type ThyListSize = 'sm' | 'md' | 'lg';\n\nconst listSizesMap = {\n sm: 'thy-list-sm'\n};\n\n/**\n * @name thy-selection-list,[thy-selection-list]\n * @order 20\n */\n@Component({\n selector: 'thy-selection-list,[thy-selection-list]',\n template: '<ng-content></ng-content>',\n providers: [\n {\n provide: THY_LIST_OPTION_PARENT_COMPONENT,\n useExisting: ThySelectionList\n },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ThySelectionList),\n multi: true\n }\n ],\n host: {\n class: 'thy-list thy-selection-list',\n '[class.thy-multiple-selection-list]': 'multiple()',\n '[class.thy-grid-list]': 'isLayoutGrid()'\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ThySelectionList implements OnInit, OnDestroy, AfterContentInit, IThyListOptionParentComponent, ControlValueAccessor {\n private renderer = inject(Renderer2);\n\n private elementRef = inject(ElementRef);\n\n private ngZone = inject(NgZone);\n\n private changeDetectorRef = inject(ChangeDetectorRef);\n\n private keyManager: ActiveDescendantKeyManager<ThyListOption>;\n\n private bindKeyEventUnsubscribe: () => void;\n\n private modelValues: any[];\n\n private hostRenderer = useHostRenderer();\n\n /** The currently selected options. */\n selectionModel: SelectionModel<any>;\n\n disabled: boolean;\n\n /**\n * @internal\n */\n @ContentChildren(ThyListOption, { descendants: true }) options: QueryList<ThyListOption>;\n\n /**\n * 改变 grid item 的选择模式,使其支持多选\n */\n readonly multiple = input<boolean, ThyBooleanInput>(true, { alias: 'thyMultiple', transform: coerceBooleanProperty });\n\n /**\n * 绑定键盘事件的容器\n * @type HTMLElement | ElementRef | string\n * @default thy-selection-list 组件绑定的元素\n */\n readonly thyBindKeyEventContainer = input<HTMLElement | ElementRef | string>();\n\n /**\n * 出现滚动条的容器\n * @type HTMLElement | ElementRef | string\n * @default thy-selection-list 组件绑定的元素\n */\n readonly thyScrollContainer = input<HTMLElement | ElementRef | string>();\n\n /**\n * 键盘事件触发 Before 调用,如果返回 false 则停止继续执行\n */\n readonly thyBeforeKeydown = input<(event?: KeyboardEvent) => boolean>();\n\n /**\n * Option Value 唯一的 Key,用于存储哪些选择被选中的唯一值,只有 Option 的 thyValue 是对象的时才可以传入该选项\n */\n readonly thyUniqueKey = input<string>();\n\n /**\n * 比较2个选项的 Value 是否相同\n */\n readonly thyCompareWith = input<(o1: any, o2: any) => boolean>();\n\n /**\n * grid item 的展示样式\n * @type list | grid\n */\n readonly layout = input<ThyListLayout>('list', { alias: 'thyLayout' });\n\n readonly isLayoutGrid = computed<boolean>(() => this.layout() === 'grid');\n\n /**\n * 是否自动激活第一项\n */\n readonly thyAutoActiveFirstItem = input(false, { transform: coerceBooleanProperty });\n\n /**\n * 改变 grid item 的大小,支持默认以及 sm 两种大小\n * @type sm | md | lg\n */\n readonly thySize = input<ThyListSize>();\n\n /**\n * 是否按下空格切换聚焦选项\n */\n readonly thySpaceKeyEnabled = input(true, { transform: coerceBooleanProperty });\n\n /**\n * 每当选项的选定状态发生更改时,都会触发更改事件\n */\n readonly thySelectionChange = output<ThySelectionListChange>();\n\n private onTouched: () => void = () => {};\n\n private onChange: (value: any) => void = (_: any) => {};\n\n constructor() {\n effect(() => {\n this.setListSize();\n });\n\n effect(() => {\n this.instanceSelectionModel();\n });\n }\n\n private emitChangeEvent(option: ThyListOption, event: Event) {\n this.thySelectionChange.emit({\n source: this,\n value: option.thyValue(),\n option: option,\n event: event,\n selected: this.isSelected(option)\n });\n }\n\n private emitModelValueChange() {\n const uniqueKey = this.thyUniqueKey();\n if (this.options) {\n let selectedValues = this.selectionModel.selected;\n if (uniqueKey) {\n selectedValues = selectedValues.map(selectedValue => {\n const selectedOption = this.options.find(option => {\n return option.thyValue()[uniqueKey] === selectedValue;\n });\n if (selectedOption) {\n return selectedOption.thyValue();\n } else {\n return this.modelValues.find(value => {\n return value[uniqueKey] === selectedValue;\n });\n }\n });\n }\n this.modelValues = selectedValues;\n let changeValue = selectedValues;\n if (!this.multiple() && selectedValues && selectedValues.length > 0) {\n changeValue = selectedValues[0];\n }\n this.onChange(changeValue);\n }\n }\n\n private toggleFocusedOption(event: KeyboardEvent): void {\n if (this.keyManager.activeItem) {\n this.ngZone.run(() => {\n this.toggleOption(this.keyManager.activeItem, event);\n });\n }\n }\n\n private initializeFocusKeyManager() {\n this.keyManager = new ActiveDescendantKeyManager<ThyListOption>(this.options)\n .withWrap()\n // .withTypeAhead()\n // Allow disabled items to be focusable. For accessibility reasons, there must be a way for\n // screenreader users, that allows reading the different options of the list.\n .skipPredicate(() => false);\n }\n\n private instanceSelectionModel() {\n this.selectionModel = new SelectionModel<any>(this.multiple());\n }\n\n private getElementBySelector(element: HTMLElement | ElementRef | string): HTMLElement {\n return dom.getHTMLElementBySelector(element, this.elementRef);\n }\n\n private compareValue(value1: any, value2: any) {\n const thyUniqueKey = this.thyUniqueKey();\n const thyCompareWith = this.thyCompareWith();\n if (thyCompareWith) {\n const compareFn = thyCompareWith as (o1: any, o2: any) => boolean;\n return compareFn(value1, value2);\n } else if (thyUniqueKey) {\n return value1 && value1[thyUniqueKey] === value2 && value2[thyUniqueKey];\n } else {\n return value1 === value2;\n }\n }\n\n private getOptionSelectionValue(option: ThyListOption) {\n const thyValue = option.thyValue();\n if (thyValue) {\n const thyUniqueKey = this.thyUniqueKey();\n return thyUniqueKey ? thyValue[thyUniqueKey] : thyValue;\n } else {\n return option;\n }\n }\n\n private setSelectionByValues(values: any[]) {\n this.selectionModel.clear();\n values.forEach(value => {\n const thyUniqueKey = this.thyUniqueKey();\n if (thyUniqueKey) {\n this.selectionModel.select(value[thyUniqueKey]);\n } else {\n this.selectionModel.select(value);\n }\n });\n }\n\n private setAllOptionsSelected(toIsSelected: boolean) {\n // Keep track of whether anything changed, because we only want to\n // emit the changed event when something actually changed.\n let hasChanged = false;\n\n this.options.forEach(option => {\n const fromIsSelected = this.selectionModel.isSelected(option.thyValue());\n if (fromIsSelected !== toIsSelected) {\n hasChanged = true;\n this.selectionModel.toggle(option.thyValue());\n }\n });\n\n if (hasChanged) {\n this.emitModelValueChange();\n }\n }\n\n private getOptionByValue(value: any) {\n return this.options.find(option => {\n return this.compareValue(option.thyValue(), value);\n });\n }\n\n private getActiveOption() {\n if (this.keyManager.activeItem) {\n return this.getOptionByValue(this.keyManager.activeItem.thyValue());\n } else {\n return null;\n }\n }\n\n private setListSize() {\n const size = this.thySize();\n for (const key in listSizesMap) {\n if (listSizesMap.hasOwnProperty(key)) {\n this.hostRenderer.removeClass(listSizesMap[key as keyof typeof listSizesMap]);\n }\n }\n if (size) {\n this.hostRenderer.addClass(listSizesMap[size as keyof typeof listSizesMap]);\n }\n }\n\n ngOnInit() {\n const bindKeyEventElement = this.getElementBySelector(this.thyBindKeyEventContainer());\n this.ngZone.runOutsideAngular(() => {\n this.bindKeyEventUnsubscribe = this.renderer.listen(bindKeyEventElement, 'keydown', this.onKeydown.bind(this));\n });\n this.instanceSelectionModel();\n }\n\n writeValue(value: any[] | any): void {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && value) {\n const multiple = this.multiple();\n if (multiple && !helpers.isArray(value)) {\n throw new Error(`The multiple selection ngModel must be an array.`);\n }\n if (!multiple && helpers.isArray(value)) {\n throw new Error(`The single selection ngModel should not be an array.`);\n }\n }\n const values = helpers.isArray(value) ? value : value ? [value] : [];\n this.modelValues = values;\n if (this.options) {\n this.setSelectionByValues(values);\n }\n this.changeDetectorRef.markForCheck();\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n onKeydown(event: KeyboardEvent) {\n const thyBeforeKeydown = this.thyBeforeKeydown();\n if (thyBeforeKeydown) {\n // stop key down event\n const isContinue = thyBeforeKeydown(event);\n if (!isContinue) {\n return;\n }\n }\n const keyCode = event.keyCode || event.which;\n const manager = this.keyManager;\n const previousFocusIndex = manager.activeItemIndex;\n\n switch (keyCode) {\n case keycodes.SPACE:\n case keycodes.ENTER:\n if (keyCode === keycodes.SPACE && !this.thySpaceKeyEnabled()) {\n return;\n }\n this.toggleFocusedOption(event);\n // Always prevent space from scrolling the page since the list has focus\n event.preventDefault();\n break;\n default:\n manager.onKeydown(event);\n }\n if (\n (keyCode === keycodes.UP_ARROW || keyCode === keycodes.DOWN_ARROW) &&\n event.shiftKey &&\n manager.activeItemIndex !== previousFocusIndex\n ) {\n this.toggleFocusedOption(event);\n }\n }\n\n toggleOption(option: ThyListOption, event?: Event) {\n if (option && !option.thyDisabled()) {\n this.selectionModel.toggle(this.getOptionSelectionValue(option));\n // Emit a change event because the focused option changed its state through user\n // interaction.\n this.emitModelValueChange();\n this.emitChangeEvent(option, event);\n }\n }\n\n setActiveOption(option: ThyListOption) {\n this.keyManager.updateActiveItem(option); // .updateActiveItemIndex(this._getOptionIndex(option));\n }\n\n scrollIntoView(option: ThyListOption) {\n const scrollContainerElement = dom.getHTMLElementBySelector(this.thyScrollContainer(), this.elementRef);\n ScrollToService.scrollToElement(option.element.nativeElement, scrollContainerElement);\n }\n\n isSelected(option: ThyListOption) {\n return this.selectionModel.isSelected(this.getOptionSelectionValue(option));\n }\n\n clearActiveItem() {\n if (this.keyManager.activeItem) {\n this.keyManager.setActiveItem(-1);\n }\n }\n\n determineClearActiveItem() {\n if (!this.getActiveOption()) {\n this.clearActiveItem();\n }\n }\n\n /** Selects all of the options. */\n selectAll() {\n this.setAllOptionsSelected(true);\n }\n\n /** Deselects all of the options. */\n deselectAll() {\n this.setAllOptionsSelected(false);\n }\n\n ngAfterContentInit(): void {\n this.initializeFocusKeyManager();\n this.options.changes.pipe(startWith(true)).subscribe(() => {\n if (this.thyAutoActiveFirstItem()) {\n if (!this.keyManager.activeItem || this.options.toArray().indexOf(this.keyManager.activeItem) < 0) {\n this.keyManager.setFirstItemActive();\n }\n }\n });\n }\n\n ngOnDestroy() {\n if (this.bindKeyEventUnsubscribe) {\n this.bindKeyEventUnsubscribe();\n }\n }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { Component, TemplateRef, input, contentChild } from '@angular/core';\nimport { ThyAvatar } from 'ngx-tethys/avatar';\n\n/**\n * @name thy-list-item-meta,[thy-list-item-meta]\n * @order 40\n */\n@Component({\n selector: 'thy-list-item-meta,[thy-list-item-meta]',\n templateUrl: './list-item-meta.component.html',\n host: {\n class: 'thy-list-item-meta'\n },\n imports: [ThyAvatar, NgTemplateOutlet]\n})\nexport class ThyListItemMeta {\n /**\n * 列表项的左侧图片\n */\n readonly thyAvatar = input<string>();\n\n /**\n * 列表项的标题\n */\n readonly thyTitle = input<string>();\n\n /**\n * 列表项的描述文本\n */\n readonly thyDescription = input<string>();\n\n readonly avatarTemplateRef = contentChild<TemplateRef<any>>('metaAvatar');\n\n readonly titleTemplateRef = contentChild<TemplateRef<any>>('metaTitle');\n\n readonly descriptionTemplateRef = contentChild<TemplateRef<any>>('metaDescription');\n}\n","<div class=\"thy-list-item-meta-avatar\">\n @if (thyAvatar()) {\n <thy-avatar [thySrc]=\"thyAvatar()\"></thy-avatar>\n } @else {\n <ng-template [ngTemplateOutlet]=\"avatarTemplateRef()\"></ng-template>\n }\n</div>\n<div class=\"thy-list-item-meta-content\">\n <div class=\"thy-list-item-meta-title\">\n @if (thyTitle()) {\n {{ thyTitle() }}\n } @else {\n <ng-template [ngTemplateOutlet]=\"titleTemplateRef()\"></ng-template>\n }\n </div>\n <div class=\"thy-list-item-meta-description\">\n @if (thyDescription()) {\n {{ thyDescription() }}\n } @else {\n <ng-template [ngTemplateOutlet]=\"descriptionTemplateRef()\"></ng-template>\n }\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThyList } from './list.component';\nimport { ThyListItem } from './list-item.component';\nimport { ThySelectionList } from './selection/selection-list';\nimport { ThyOptionModule } from 'ngx-tethys/shared';\nimport { ThyListItemMeta } from './list-item-meta.component';\nimport { ThyAvatarModule } from 'ngx-tethys/avatar';\n\n@NgModule({\n imports: [CommonModule, ThyOptionModule, ThyAvatarModule, ThyList, ThyListItem, ThySelectionList, ThyListItemMeta],\n exports: [ThyList, ThyListItem, ThySelectionList, ThyListItemMeta, ThyOptionModule]\n})\nexport class ThyListModule {}\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-list.mjs","sources":["../../../src/list/list.component.ts","../../../src/list/list-item.component.ts","../../../src/list/selection/selection-list.ts","../../../src/list/list-item-meta.component.ts","../../../src/list/list-item-meta.component.html","../../../src/list/list.module.ts","../../../src/list/ngx-tethys-list.ts"],"sourcesContent":["import { Component, input } from '@angular/core';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\n/**\n * 列表组件\n * @name thy-list\n * @order 10\n */\n@Component({\n selector: 'thy-list',\n host: {\n class: 'thy-list',\n '[class.thy-list-divided]': 'thyDivided()'\n },\n template: '<ng-content></ng-content>'\n})\nexport class ThyList {\n /**\n * 控制分割线的显示与隐藏\n */\n readonly thyDivided = input(false, { transform: coerceBooleanProperty });\n}\n","import { Component } from '@angular/core';\n\n/**\n * @name thy-list-item,[thy-list-item]\n * @order 15\n */\n@Component({\n selector: 'thy-list-item,[thy-list-item]',\n template: '<ng-content></ng-content>',\n host: {\n class: 'thy-list-item'\n }\n})\nexport class ThyListItem {}\n","import { ScrollToService } from 'ngx-tethys/core';\nimport { IThyListOptionParentComponent, THY_LIST_OPTION_PARENT_COMPONENT, ThyListOption, ThyListLayout } from 'ngx-tethys/shared';\nimport { coerceBooleanProperty, dom, helpers, keycodes, ThyBooleanInput } from 'ngx-tethys/util';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n forwardRef,\n NgZone,\n OnDestroy,\n OnInit,\n QueryList,\n Renderer2,\n inject,\n input,\n computed,\n effect,\n output,\n InputSignal\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ThySelectionListChange } from './selection.interface';\nimport { startWith } from 'rxjs/operators';\nimport { SafeAny } from 'ngx-tethys/types';\n\nexport type ThyListSize = 'sm' | 'md' | 'lg';\n\nconst listSizesMap = {\n sm: 'thy-list-sm'\n};\n\n/**\n * @name thy-selection-list,[thy-selection-list]\n * @order 20\n */\n@Component({\n selector: 'thy-selection-list,[thy-selection-list]',\n template: '<ng-content></ng-content>',\n providers: [\n {\n provide: THY_LIST_OPTION_PARENT_COMPONENT,\n useExisting: ThySelectionList\n },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ThySelectionList),\n multi: true\n }\n ],\n host: {\n class: 'thy-list thy-selection-list',\n '[class.thy-multiple-selection-list]': 'multiple()',\n '[class.thy-grid-list]': 'isLayoutGrid()'\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ThySelectionList implements OnInit, OnDestroy, AfterContentInit, IThyListOptionParentComponent, ControlValueAccessor {\n private renderer = inject(Renderer2);\n\n private elementRef = inject(ElementRef);\n\n private ngZone = inject(NgZone);\n\n private changeDetectorRef = inject(ChangeDetectorRef);\n\n private keyManager!: ActiveDescendantKeyManager<ThyListOption>;\n\n private bindKeyEventUnsubscribe!: () => void;\n\n private modelValues!: any[];\n\n private hostRenderer = useHostRenderer();\n\n /** The currently selected options. */\n selectionModel!: SelectionModel<any>;\n\n disabled!: boolean;\n\n /**\n * @internal\n */\n @ContentChildren(ThyListOption, { descendants: true }) options!: QueryList<ThyListOption>;\n\n /**\n * 改变 grid item 的选择模式,使其支持多选\n */\n readonly multiple: InputSignal<ThyBooleanInput> = input<boolean, ThyBooleanInput>(true, {\n alias: 'thyMultiple',\n transform: coerceBooleanProperty\n }) as InputSignal<ThyBooleanInput>;\n\n /**\n * 绑定键盘事件的容器\n * @type HTMLElement | ElementRef | string\n * @default thy-selection-list 组件绑定的元素\n */\n readonly thyBindKeyEventContainer = input<HTMLElement | ElementRef | string>();\n\n /**\n * 出现滚动条的容器\n * @type HTMLElement | ElementRef | string\n * @default thy-selection-list 组件绑定的元素\n */\n readonly thyScrollContainer = input<HTMLElement | ElementRef | string>();\n\n /**\n * 键盘事件触发 Before 调用,如果返回 false 则停止继续执行\n */\n readonly thyBeforeKeydown = input<(event?: KeyboardEvent) => boolean>();\n\n /**\n * Option Value 唯一的 Key,用于存储哪些选择被选中的唯一值,只有 Option 的 thyValue 是对象的时才可以传入该选项\n */\n readonly thyUniqueKey = input<string>();\n\n /**\n * 比较2个选项的 Value 是否相同\n */\n readonly thyCompareWith = input<(o1: any, o2: any) => boolean>();\n\n /**\n * grid item 的展示样式\n * @type list | grid\n */\n readonly layout = input<ThyListLayout>('list', { alias: 'thyLayout' });\n\n readonly isLayoutGrid = computed<boolean>(() => this.layout() === 'grid');\n\n /**\n * 是否自动激活第一项\n */\n readonly thyAutoActiveFirstItem = input(false, { transform: coerceBooleanProperty });\n\n /**\n * 改变 grid item 的大小,支持默认以及 sm 两种大小\n * @type sm | md | lg\n */\n readonly thySize = input<ThyListSize>();\n\n /**\n * 是否按下空格切换聚焦选项\n */\n readonly thySpaceKeyEnabled = input(true, { transform: coerceBooleanProperty });\n\n /**\n * 每当选项的选定状态发生更改时,都会触发更改事件\n */\n readonly thySelectionChange = output<ThySelectionListChange>();\n\n private onTouched: () => void = () => {};\n\n private onChange: (value: any) => void = (_: any) => {};\n\n constructor() {\n effect(() => {\n this.setListSize();\n });\n\n effect(() => {\n this.instanceSelectionModel();\n });\n }\n\n private emitChangeEvent(option: ThyListOption, event: Event) {\n this.thySelectionChange.emit({\n source: this as SafeAny,\n value: option.thyValue(),\n option: option,\n event: event,\n selected: this.isSelected(option)\n });\n }\n\n private emitModelValueChange() {\n const uniqueKey = this.thyUniqueKey();\n if (this.options) {\n let selectedValues = this.selectionModel.selected;\n if (uniqueKey) {\n selectedValues = selectedValues.map(selectedValue => {\n const selectedOption = this.options.find(option => {\n return option.thyValue()[uniqueKey] === selectedValue;\n });\n if (selectedOption) {\n return selectedOption.thyValue();\n } else {\n return this.modelValues.find(value => {\n return value[uniqueKey] === selectedValue;\n });\n }\n });\n }\n this.modelValues = selectedValues;\n let changeValue = selectedValues;\n if (!this.multiple() && selectedValues && selectedValues.length > 0) {\n changeValue = selectedValues[0];\n }\n this.onChange(changeValue);\n }\n }\n\n private toggleFocusedOption(event: KeyboardEvent): void {\n if (this.keyManager.activeItem) {\n this.ngZone.run(() => {\n this.toggleOption(this.keyManager.activeItem!, event);\n });\n }\n }\n\n private initializeFocusKeyManager() {\n this.keyManager = new ActiveDescendantKeyManager<ThyListOption>(this.options)\n .withWrap()\n // .withTypeAhead()\n // Allow disabled items to be focusable. For accessibility reasons, there must be a way for\n // screenreader users, that allows reading the different options of the list.\n .skipPredicate(() => false);\n }\n\n private instanceSelectionModel() {\n this.selectionModel = new SelectionModel<any>(!!this.multiple());\n }\n\n private getElementBySelector(element: HTMLElement | ElementRef | string): HTMLElement | null {\n return dom.getHTMLElementBySelector(element, this.elementRef);\n }\n\n private compareValue(value1: any, value2: any) {\n const thyUniqueKey = this.thyUniqueKey();\n const thyCompareWith = this.thyCompareWith();\n if (thyCompareWith) {\n const compareFn = thyCompareWith as (o1: any, o2: any) => boolean;\n return compareFn(value1, value2);\n } else if (thyUniqueKey) {\n return value1 && value1[thyUniqueKey] === value2 && value2[thyUniqueKey];\n } else {\n return value1 === value2;\n }\n }\n\n private getOptionSelectionValue(option: ThyListOption) {\n const thyValue = option.thyValue();\n if (thyValue) {\n const thyUniqueKey = this.thyUniqueKey();\n return thyUniqueKey ? thyValue[thyUniqueKey] : thyValue;\n } else {\n return option;\n }\n }\n\n private setSelectionByValues(values: any[]) {\n this.selectionModel.clear();\n values.forEach(value => {\n const thyUniqueKey = this.thyUniqueKey();\n if (thyUniqueKey) {\n this.selectionModel.select(value[thyUniqueKey]);\n } else {\n this.selectionModel.select(value);\n }\n });\n }\n\n private setAllOptionsSelected(toIsSelected: boolean) {\n // Keep track of whether anything changed, because we only want to\n // emit the changed event when something actually changed.\n let hasChanged = false;\n\n this.options.forEach(option => {\n const fromIsSelected = this.selectionModel.isSelected(option.thyValue());\n if (fromIsSelected !== toIsSelected) {\n hasChanged = true;\n this.selectionModel.toggle(option.thyValue());\n }\n });\n\n if (hasChanged) {\n this.emitModelValueChange();\n }\n }\n\n private getOptionByValue(value: any) {\n return this.options.find(option => {\n return this.compareValue(option.thyValue(), value);\n });\n }\n\n private getActiveOption() {\n if (this.keyManager.activeItem) {\n return this.getOptionByValue(this.keyManager.activeItem.thyValue());\n } else {\n return null;\n }\n }\n\n private setListSize() {\n const size = this.thySize();\n for (const key in listSizesMap) {\n if (listSizesMap.hasOwnProperty(key)) {\n this.hostRenderer.removeClass(listSizesMap[key as keyof typeof listSizesMap]);\n }\n }\n if (size) {\n this.hostRenderer.addClass(listSizesMap[size as keyof typeof listSizesMap]);\n }\n }\n\n ngOnInit() {\n const bindKeyEventElement = this.getElementBySelector(this.thyBindKeyEventContainer()!);\n this.ngZone.runOutsideAngular(() => {\n this.bindKeyEventUnsubscribe = this.renderer.listen(bindKeyEventElement, 'keydown', this.onKeydown.bind(this));\n });\n this.instanceSelectionModel();\n }\n\n writeValue(value: any[] | any): void {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && value) {\n const multiple = this.multiple();\n if (multiple && !helpers.isArray(value)) {\n throw new Error(`The multiple selection ngModel must be an array.`);\n }\n if (!multiple && helpers.isArray(value)) {\n throw new Error(`The single selection ngModel should not be an array.`);\n }\n }\n const values = helpers.isArray(value) ? value : value ? [value] : [];\n this.modelValues = values;\n if (this.options) {\n this.setSelectionByValues(values);\n }\n this.changeDetectorRef.markForCheck();\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n onKeydown(event: KeyboardEvent) {\n const thyBeforeKeydown = this.thyBeforeKeydown();\n if (thyBeforeKeydown) {\n // stop key down event\n const isContinue = thyBeforeKeydown(event);\n if (!isContinue) {\n return;\n }\n }\n const keyCode = event.keyCode || event.which;\n const manager = this.keyManager;\n const previousFocusIndex = manager.activeItemIndex;\n\n switch (keyCode) {\n case keycodes.SPACE:\n case keycodes.ENTER:\n if (keyCode === keycodes.SPACE && !this.thySpaceKeyEnabled()) {\n return;\n }\n this.toggleFocusedOption(event);\n // Always prevent space from scrolling the page since the list has focus\n event.preventDefault();\n break;\n default:\n manager.onKeydown(event);\n }\n if (\n (keyCode === keycodes.UP_ARROW || keyCode === keycodes.DOWN_ARROW) &&\n event.shiftKey &&\n manager.activeItemIndex !== previousFocusIndex\n ) {\n this.toggleFocusedOption(event);\n }\n }\n\n toggleOption(option: ThyListOption, event?: Event) {\n if (option && !option.thyDisabled()) {\n this.selectionModel.toggle(this.getOptionSelectionValue(option));\n // Emit a change event because the focused option changed its state through user\n // interaction.\n this.emitModelValueChange();\n this.emitChangeEvent(option, event!);\n }\n }\n\n setActiveOption(option: ThyListOption) {\n this.keyManager.updateActiveItem(option); // .updateActiveItemIndex(this._getOptionIndex(option));\n }\n\n scrollIntoView(option: ThyListOption) {\n const scrollContainerElement = dom.getHTMLElementBySelector(this.thyScrollContainer()!, this.elementRef)!;\n ScrollToService.scrollToElement(option.element.nativeElement, scrollContainerElement);\n }\n\n isSelected(option: ThyListOption) {\n return this.selectionModel.isSelected(this.getOptionSelectionValue(option));\n }\n\n clearActiveItem() {\n if (this.keyManager.activeItem) {\n this.keyManager.setActiveItem(-1);\n }\n }\n\n determineClearActiveItem() {\n if (!this.getActiveOption()) {\n this.clearActiveItem();\n }\n }\n\n /** Selects all of the options. */\n selectAll() {\n this.setAllOptionsSelected(true);\n }\n\n /** Deselects all of the options. */\n deselectAll() {\n this.setAllOptionsSelected(false);\n }\n\n ngAfterContentInit(): void {\n this.initializeFocusKeyManager();\n this.options.changes.pipe(startWith(true)).subscribe(() => {\n if (this.thyAutoActiveFirstItem()) {\n if (!this.keyManager.activeItem || this.options.toArray().indexOf(this.keyManager.activeItem) < 0) {\n this.keyManager.setFirstItemActive();\n }\n }\n });\n }\n\n ngOnDestroy() {\n if (this.bindKeyEventUnsubscribe) {\n this.bindKeyEventUnsubscribe();\n }\n }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { Component, TemplateRef, input, contentChild } from '@angular/core';\nimport { ThyAvatar } from 'ngx-tethys/avatar';\n\n/**\n * @name thy-list-item-meta,[thy-list-item-meta]\n * @order 40\n */\n@Component({\n selector: 'thy-list-item-meta,[thy-list-item-meta]',\n templateUrl: './list-item-meta.component.html',\n host: {\n class: 'thy-list-item-meta'\n },\n imports: [ThyAvatar, NgTemplateOutlet]\n})\nexport class ThyListItemMeta {\n /**\n * 列表项的左侧图片\n */\n readonly thyAvatar = input<string>();\n\n /**\n * 列表项的标题\n */\n readonly thyTitle = input<string>();\n\n /**\n * 列表项的描述文本\n */\n readonly thyDescription = input<string>();\n\n readonly avatarTemplateRef = contentChild<TemplateRef<any>>('metaAvatar');\n\n readonly titleTemplateRef = contentChild<TemplateRef<any>>('metaTitle');\n\n readonly descriptionTemplateRef = contentChild<TemplateRef<any>>('metaDescription');\n}\n","<div class=\"thy-list-item-meta-avatar\">\n @if (thyAvatar()) {\n <thy-avatar [thySrc]=\"thyAvatar()\"></thy-avatar>\n } @else {\n <ng-template [ngTemplateOutlet]=\"avatarTemplateRef()\"></ng-template>\n }\n</div>\n<div class=\"thy-list-item-meta-content\">\n <div class=\"thy-list-item-meta-title\">\n @if (thyTitle()) {\n {{ thyTitle() }}\n } @else {\n <ng-template [ngTemplateOutlet]=\"titleTemplateRef()\"></ng-template>\n }\n </div>\n <div class=\"thy-list-item-meta-description\">\n @if (thyDescription()) {\n {{ thyDescription() }}\n } @else {\n <ng-template [ngTemplateOutlet]=\"descriptionTemplateRef()\"></ng-template>\n }\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThyList } from './list.component';\nimport { ThyListItem } from './list-item.component';\nimport { ThySelectionList } from './selection/selection-list';\nimport { ThyOptionModule } from 'ngx-tethys/shared';\nimport { ThyListItemMeta } from './list-item-meta.component';\nimport { ThyAvatarModule } from 'ngx-tethys/avatar';\n\n@NgModule({\n imports: [CommonModule, ThyOptionModule, ThyAvatarModule, ThyList, ThyListItem, ThySelectionList, ThyListItemMeta],\n exports: [ThyList, ThyListItem, ThySelectionList, ThyListItemMeta, ThyOptionModule]\n})\nexport class ThyListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|