ngx-tethys 19.1.0-next.8 → 19.1.0-next.9

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.
@@ -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]=\"this.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":";;;;;;;;;;;;AAGA;;;;AAIG;MAUU,kBAAkB,CAAA;AAT/B,IAAA,WAAA,GAAA;AAUa,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAA6B,IAAI,CAAC;AAC3D,QAAA,IAAA,CAAA,cAAc,GAAG,QAAQ,CAAC,MAAK;AACpC,YAAA,OAAO,IAAI,CAAC,gBAAgB,EAAE,KAAK,OAAO;AAC9C,SAAC,CAAC;AACL;8GALY,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,+BAAA,EAAA,oBAAA,EAAA,oCAAA,EAAA,kBAAA,EAAA,EAAA,cAAA,EAAA,YAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAT9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EACJ,wIAAwI;AAC5I,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE,YAAY;AACnB,wBAAA,iCAAiC,EAAE,oBAAoB;AACvD,wBAAA,sCAAsC,EAAE;AAC3C;AACJ,iBAAA;;AAQD;;;;AAIG;MAOU,SAAS,CAAA;8GAAT,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAT,SAAS,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAlBT,kBAAkB,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAcjB,CAA6B,2BAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAI9B,SAAS,EAAA,UAAA,EAAA,CAAA;kBANrB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,QAAQ,EAAE,CAA6B,2BAAA,CAAA;oBACvC,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,cAAc,EAAE,CAAC,kBAAkB;AACtC,iBAAA;;;AC7BD;;;;AAIG;MAYU,kBAAkB,CAAA;AAX/B,IAAA,WAAA,GAAA;AAYI;;;AAGG;AACM,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAA6B,IAAI,CAAC;AAE1D;;;AAGG;QACM,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,qBAAqB,EAAE,CAAC;AAEvE;;AAEG;QACM,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,qBAAqB,EAAE,CAAC;AAExE;;;AAGG;QACM,IAAY,CAAA,YAAA,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,qBAAqB,EAAE,CAAC;AAEjE,QAAA,IAAA,CAAA,OAAO,GAAG,QAAQ,CAAC,MAAK;AAC7B,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE;AAC/B,YAAA,IAAI,KAAK,KAAK,SAAS,EAAE;AACrB,gBAAA,OAAO,KAAK;;AAEhB,YAAA,OAAO,IAAI,CAAC,YAAY,EAAE;AAC9B,SAAC,CAAC;AACL;8GA/BY,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,4BAAA,EAAA,oBAAA,EAAA,4BAAA,EAAA,oBAAA,EAAA,6BAAA,EAAA,qBAAA,EAAA,gCAAA,EAAA,aAAA,EAAA,iCAAA,EAAA,WAAA,EAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAX9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,aAAa;AACvB,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE,CAAmB,iBAAA,CAAA;AAC1B,wBAAA,8BAA8B,EAAE,CAAoB,kBAAA,CAAA;AACpD,wBAAA,8BAA8B,EAAE,CAAoB,kBAAA,CAAA;AACpD,wBAAA,+BAA+B,EAAE,CAAqB,mBAAA,CAAA;AACtD,wBAAA,kCAAkC,EAAE,CAAa,WAAA,CAAA;AACjD,wBAAA,mCAAmC,EAAE,CAAW,SAAA;AACnD;AACJ,iBAAA;;AAkCD;;;;AAIG;MAcU,SAAS,CAAA;AAbtB,IAAA,WAAA,GAAA;AAcI;;AAEG;AACM,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAS,SAAS,CAAC;AAE5C;;AAEG;AACM,QAAA,IAAA,CAAA,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC;AAErC;;AAEG;AACM,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAS,SAAS,CAAC;AAElC,QAAA,IAAA,CAAA,WAAW,GAAG,QAAQ,CAAC,MAAK;AACjC,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE;YAC3B,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;AAC/B,gBAAA,OAAO,IAAI;;AAEf,YAAA,OAAO,IAAI;AACf,SAAC,CAAC;AAEO,QAAA,IAAA,CAAA,SAAS,GAAG,QAAQ,CAAC,MAAK;AAC/B,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE;YAC/B,IAAI,IAAI,EAAE;AACN,gBAAA,OAAO,IAAI;;iBACR;AACH,gBAAA,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE;gBAC3B,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;oBAC9B,OAAO,CAAA,EAAG,IAAI,CAAC,aAAa,EAAE,CAAI,CAAA,EAAA,IAAI,EAAE;;;AAGhD,YAAA,OAAO,IAAI;AACf,SAAC,CAAC;AAEF;;;AAGG;AACM,QAAA,IAAA,CAAA,gBAAgB,GAAG,YAAY,CAAmB,aAAa,CAAC;AAEzE;;;AAGG;AACM,QAAA,IAAA,CAAA,kBAAkB,GAAG,YAAY,CAAmB,eAAe,CAAC;AAE7E;;;AAGG;AACM,QAAA,IAAA,CAAA,oBAAoB,GAAG,YAAY,CAAmB,iBAAiB,CAAC;AACpF;8GAtDY,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAT,SAAS,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,aAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,eAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,sBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAnDT,kBAAkB,ECrB/B,MAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAAA,WAAA,EAAA,WAAA,EAAA,cAAA,EAAA,cAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,msBAoBA,4CDkDc,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,OAAO,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,OAAO,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAEnC,SAAS,EAAA,UAAA,EAAA,CAAA;kBAbrB,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,uBACD,KAAK,EAAA,eAAA,EAET,uBAAuB,CAAC,MAAM,EAC/B,cAAA,EAAA;AACZ,wBAAA;AACI,4BAAA,SAAS,EAAE,kBAAkB;4BAC7B,MAAM,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY;AAChE;AACJ,qBAAA,EAAA,OAAA,EACQ,CAAC,gBAAgB,EAAE,OAAO,EAAE,OAAO,CAAC,EAAA,QAAA,EAAA,msBAAA,EAAA;;;AEpEjD;;;;AAIG;MAOU,mBAAmB,CAAA;8GAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,6CAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,oBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAN/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,6CAA6C;AACvD,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE;AACV;AACJ,iBAAA;;AAGD;;;;AAIG;MAQU,UAAU,CAAA;8GAAV,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAV,UAAU,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAdV,mBAAmB,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAUlB,CAA6B,2BAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAI9B,UAAU,EAAA,UAAA,EAAA,CAAA;kBAPtB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,aAAa;AACvB,oBAAA,mBAAmB,EAAE,KAAK;AAC1B,oBAAA,QAAQ,EAAE,CAA6B,2BAAA,CAAA;oBACvC,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,cAAc,EAAE,CAAC,mBAAmB;AACvC,iBAAA;;;ACOD,MAAM,QAAQ,GAAG,GAAG;AACpB,MAAM,qBAAqB,GAAG,GAAG;AACjC,MAAM,uBAAuB,GAAG,EAAE;AAMlC;;;;AAIG;MAcU,mBAAmB,CAAA;AAbhC,IAAA,WAAA,GAAA;AAcY,QAAA,IAAA,CAAA,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAE;AAExF;;AAEG;AACM,QAAA,IAAA,CAAA,YAAY,GAAG,KAAK,CAAsB,MAAM,CAAC;AAE1D;;;;AAIG;AACM,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAkB,SAAS,CAAC;AAErD;;;AAGG;AACM,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,qBAAqB,EAAE;AAC7C,YAAA,SAAS,EAAE,CAAC,KAAsB,KAAI;AAClC,gBAAA,IAAI,KAAK,KAAK,IAAI,EAAE;AAChB,oBAAA,OAAO,QAAQ;;gBAEnB,OAAO,KAAK,IAAI,qBAAqB;;AAE5C,SAAA,CAAC;AAEO,QAAA,IAAA,CAAA,YAAY,GAAG,YAAY,CAAC,MAAK;AACtC,YAAA,OAAO,IAAI,CAAC,QAAQ,EAAY;AACpC,SAAC,CAAC;AAEF;;;AAGG;QACM,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,qBAAqB,EAAE,CAAC;AAEzE;;;AAGG;QACM,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,qBAAqB,EAAE,CAAC;AAO1E;IALG,QAAQ,GAAA;AACJ,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE;AACzB,YAAA,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;;;8GA9ChE,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gCAAA,EAAA,8BAAA,EAAA,8CAAA,EAAA,8CAAA,EAAA,6CAAA,EAAA,+CAAA,EAAA,2BAAA,EAAA,0BAAA,EAAA,0BAAA,EAAA,yBAAA,EAAA,mCAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,EAAA,cAAA,EAAA,oBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAb/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,cAAc;AACxB,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE,oBAAoB;AAC3B,wBAAA,kCAAkC,EAAE,4BAA4B;AAChE,wBAAA,gDAAgD,EAAE,4CAA4C;AAC9F,wBAAA,+CAA+C,EAAE,6CAA6C;AAC9F,wBAAA,6BAA6B,EAAE,wBAAwB;AACvD,wBAAA,4BAA4B,EAAE,uBAAuB;AACrD,wBAAA,qCAAqC,EAAE,eAAe;AACtD,wBAAA,kBAAkB,EAAE;AACvB;AACJ,iBAAA;;AAoDD;;;;AAIG;MA2DU,UAAU,CAAA;AAoBnB,IAAA,UAAU,CAAC,MAAkB,EAAA;AACzB,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;;AAI/B,IAAA,UAAU,CAAC,MAAkB,EAAA;AACzB,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC;;AAyFhC,IAAA,WAAA,GAAA;AAlHQ,QAAA,IAAA,CAAA,MAAM,GAA4B,YAAY,CAAC,QAAQ,CAAC;AAEvD,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AAEhC,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,mBAAmB,CAAC;AAEtC,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,mBAAmB,CAAC;AAE3C,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC;AAE5B,QAAA,IAAA,CAAA,YAAY,GAAG,QAAQ,CAAC,MAAK;YAC5C,IAAI,IAAI,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE;AAC3C,gBAAA,OAAO,IAAI,CAAC,iBAAiB,EAAE;;iBAC5B;AACH,gBAAA,OAAO,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE;;AAEnD,SAAC,CAAC;AAYF;;;AAGG;QACM,IAAY,CAAA,YAAA,GAAG,KAAK,CAA2B,KAAK,EAAE,EAAE,SAAS,EAAE,qBAAqB,EAAE,CAAC;AAEpG;;AAEG;QACM,IAAe,CAAA,eAAA,GAAG,KAAK,CAAkB,SAAS,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;AAE5F;;AAEG;QACM,IAAe,CAAA,eAAA,GAAG,KAAK,CAAkB,SAAS,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;AAE5F;;;;AAIG;AACM,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAsC,SAAS,CAAC;AAE3E;;AAEG;QACM,IAAkB,CAAA,kBAAA,GAAG,MAAM,EAAW;AAE/C;;AAEG;QACM,IAAkB,CAAA,kBAAA,GAAG,MAAM,EAAU;AAE9C;;;AAGG;QACM,IAAc,CAAA,cAAA,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,qBAAqB,EAAE,CAAC;AAE5E;;;AAGG;QACM,IAAY,CAAA,YAAA,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,qBAAqB,EAAE,CAAC;QAEjE,IAAS,CAAA,SAAA,GAAG,YAAY,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;AAEnD,QAAA,IAAA,CAAA,eAAe,GAAG,QAAQ,CAAC,MAAK;AACrC,YAAA,OAAO,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,GAAG,KAAK;AAClE,SAAC,CAAC;AACF;;AAEG;QACM,IAAiB,CAAA,iBAAA,GAAG,KAAK,CAAC,uBAAuB,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;AAE3F;;AAEG;AACM,QAAA,IAAA,CAAA,eAAe,GAAG,KAAK,CAAC,SAAS,EAAE;AACxC,YAAA,SAAS,EAAE,CAAC,KAAsB,KAAI;AAClC,gBAAA,IAAI,KAAK,KAAK,IAAI,EAAE;AAChB,oBAAA,OAAO,QAAQ;;AAEnB,gBAAA,OAAO,KAAK;;AAEnB,SAAA,CAAC;AAEO,QAAA,IAAA,CAAA,WAAW,GAAG,QAAQ,CAAC,MAAK;YACjC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ;AACpF,YAAA,OAAO,WAAW,IAAI,aAAa,EAAE,GAAG,CAAA,OAAA,CAAS,GAAG,CAAA,UAAA,CAAY,CAAC;AACrE,SAAC,CAAC;QAEM,IAAW,CAAA,WAAA,GAAW,qBAAqB;AAE1C,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC;AAE9B,QAAA,IAAA,CAAA,kBAAkB,GAAG,MAAM,CAAC,KAAK,CAAC;AAElC,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC;AAE1B,QAAA,IAAA,CAAA,YAAY,GAAG,QAAQ,CAAC,MAAK;YACnC,OAAO,IAAI,CAAC,eAAe,EAAE,IAAI,IAAI,CAAC,iBAAiB,EAAE;AAC7D,SAAC,CAAC;QAKE,MAAM,CAAC,MAAK;AACR,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE;YACzC,IAAI,WAAW,EAAE;gBACb,IAAI,CAAC,oBAAoB,EAAE;;iBACxB;AACH,gBAAA,IAAI,CAAC,kBAAkB,EAAE,WAAW,EAAE;;AAE9C,SAAC,CAAC;;AAGN,IAAA,QAAQ;IAEA,oBAAoB,GAAA;AACxB,QAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;YAC5F,IAAI,CAAC,cAAc,EAAE;AACzB,SAAC,CAAC;;IAGN,aAAa,CAAC,EAAE,KAAK,EAAkB,EAAA;QACnC,IAAI,KAAK,KAAK,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,EAAE;YAChD;;AAEJ,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE,IAAI,KAAK,GAAG,IAAI,CAAC,iBAAiB,EAAE,EAAE;YAC3D;;AAEJ,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE,IAAI,KAAK,KAAK,IAAI,CAAC,iBAAiB,EAAE,EAAE;AAC7D,YAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;YACxB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAC9C,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;AACxD,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC;YAC5B;;QAEJ,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC;AAC7C,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC;;IAGvC,WAAW,GAAA;QACP,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE;AACvD,QAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC;AAC7B,QAAA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC;;IAGrC,SAAS,GAAA;AACL,QAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC;AAC9B,QAAA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC;;AAGtC,IAAA,cAAc,CAAC,KAAkB,EAAA;QAC7B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,KAAc,KAAI;YACrC,OAAO,CAAC,KAAK;AACjB,SAAC,CAAC;QACF,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;;IAG3C,eAAe,CAAC,KAAiB,EAAE,IAAuB,EAAA;AAC7D,QAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,KAAK,OAAO,GAAG,IAAI,GAAG,KAAK,CAAC;;IAGzD,qBAAqB,GAAA;AACjB,QAAA,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,EAAE;QAC9C,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,GAAG,CAAE,eAA0B,IAAI,qBAAqB,CAAC;AAC5F,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC;;IAGtE,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,kBAAkB,EAAE,WAAW,EAAE;;8GArLjC,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAV,UAAU,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,6BAAA,EAAA,aAAA,EAAA,yBAAA,EAAA,sBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAlHV,mBAAmB,EA2DlB,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,cAAA,EAAA,cAAA,EAAA,UAAA,EAAA,UAAA,EAAA,aAAA,EAAA,aAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAyCT,EAOS,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,gBAAgB,EAAE,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,eAAe,EAAE,QAAA,EAAA,wCAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,CAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,qBAAqB,mTAAE,OAAO,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,mBAAmB,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,qBAAA,EAAA,iBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,mBAAA,EAAA,oBAAA,EAAA,2BAAA,EAAA,kBAAA,EAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,OAAO,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAOhG,UAAU,EAAA,UAAA,EAAA,CAAA;kBA1DtB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,aAAa;AACvB,oBAAA,mBAAmB,EAAE,KAAK;AAC1B,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCT,IAAA,CAAA;AACD,oBAAA,cAAc,EAAE;AACZ,wBAAA;AACI,4BAAA,SAAS,EAAE,mBAAmB;4BAC9B,MAAM,EAAE,CAAC,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY;AAC/E;AACJ,qBAAA;AACD,oBAAA,OAAO,EAAE,CAAC,gBAAgB,EAAE,eAAe,EAAE,qBAAqB,EAAE,OAAO,EAAE,mBAAmB,EAAE,OAAO,CAAC;AAC1G,oBAAA,IAAI,EAAE;AACF,wBAAA,+BAA+B,EAAE,aAAa;AAC9C,wBAAA,2BAA2B,EAAE,sBAAsB;AACnD,wBAAA,kBAAkB,EAAE;AACvB;AACJ,iBAAA;wDAqBG,UAAU,EAAA,CAAA;sBADT,YAAY;uBAAC,YAAY,EAAE,CAAC,QAAQ,CAAC;gBAMtC,UAAU,EAAA,CAAA;sBADT,YAAY;uBAAC,YAAY,EAAE,CAAC,QAAQ,CAAC;;;ACnM1C;;;;AAIG;MAOU,0BAA0B,CAAA;8GAA1B,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA1B,0BAA0B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,4BAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBANtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,qBAAqB;AAC/B,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE;AACV;AACJ,iBAAA;;AAGD;;;;AAIG;MAQU,iBAAiB,CAAA;8GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAdjB,0BAA0B,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAUzB,CAA6B,2BAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAI9B,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAP7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,qBAAqB;AAC/B,oBAAA,mBAAmB,EAAE,KAAK;AAC1B,oBAAA,QAAQ,EAAE,CAA6B,2BAAA,CAAA;oBACvC,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,cAAc,EAAE,CAAC,0BAA0B;AAC9C,iBAAA;;;ACxBD;;;;AAIG;MAOU,uBAAuB,CAAA;8GAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,yBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBANnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE;AACV;AACJ,iBAAA;;AAGD;;;;AAIG;MAQU,cAAc,CAAA;8GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAd,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAdd,uBAAuB,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAUtB,CAA6B,2BAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAI9B,cAAc,EAAA,UAAA,EAAA,CAAA;kBAP1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,mBAAmB,EAAE,KAAK;AAC1B,oBAAA,QAAQ,EAAE,CAA6B,2BAAA,CAAA;oBACvC,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,cAAc,EAAE,CAAC,uBAAuB;AAC3C,iBAAA;;;ACtBD;;;;AAIG;MAQU,yBAAyB,CAAA;AAOlC,IAAA,WAAA,GAAA;AANA;;;AAGG;QACM,IAAU,CAAA,UAAA,GAAG,KAAK,CAA2B,KAAK,EAAE,EAAE,SAAS,EAAE,qBAAqB,EAAE,CAAC;;8GALzF,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,8BAAA,EAAA,cAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAPrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE,gBAAgB;AACvB,wBAAA,gCAAgC,EAAE;AACrC;AACJ,iBAAA;;AAWD;;;;AAIG;MAaU,gBAAgB,CAAA;AAZ7B,IAAA,WAAA,GAAA;AAaI;;AAEG;AACM,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAS,SAAS,CAAC;AAE5C;;;AAGG;AACM,QAAA,IAAA,CAAA,oBAAoB,GAAG,YAAY,CAAuB,iBAAiB,CAAC;AAErF;;;AAGG;AACM,QAAA,IAAA,CAAA,gBAAgB,GAAG,YAAY,CAAmB,aAAa,CAAC;AAC5E;8GAjBY,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,EA3BhB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,sBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,aAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,yBAAyB,EChBtC,MAAA,EAAA,CAAA,YAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,0XAaA,4CD4Bc,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAEjB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAZ5B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,EAEb,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAC/B,cAAA,EAAA;AACZ,wBAAA;AACI,4BAAA,SAAS,EAAE,yBAAyB;4BACpC,MAAM,EAAE,CAAC,YAAY;AACxB;qBACJ,EACQ,OAAA,EAAA,CAAC,gBAAgB,CAAC,EAAA,QAAA,EAAA,0XAAA,EAAA;;;AEvC/B;;;;AAIG;MAOU,yBAAyB,CAAA;8GAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBANrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE;AACV;AACJ,iBAAA;;AAGD;;;;AAIG;MAOU,gBAAgB,CAAA;8GAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAbhB,yBAAyB,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EASxB,CAA6B,2BAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAI9B,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAN5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,QAAQ,EAAE,CAA6B,2BAAA,CAAA;oBACvC,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,cAAc,EAAE,CAAC,yBAAyB;AAC7C,iBAAA;;;ACvBD;;;;AAIG;MAOU,0BAA0B,CAAA;8GAA1B,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA1B,0BAA0B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBANtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,qBAAqB;AAC/B,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE;AACV;AACJ,iBAAA;;AAGD;;;;AAIG;MAOU,iBAAiB,CAAA;8GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAbjB,0BAA0B,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EASzB,CAA6B,2BAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAI9B,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAN7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,qBAAqB;AAC/B,oBAAA,QAAQ,EAAE,CAA6B,2BAAA,CAAA;oBACvC,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,cAAc,EAAE,CAAC,0BAA0B;AAC9C,iBAAA;;;MCwCY,eAAe,CAAA;8GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,YA9CpB,YAAY;YACZ,cAAc;YACd,aAAa;YACb,gBAAgB;YAChB,kBAAkB;YAClB,eAAe;YACf,SAAS;YACT,SAAS;YACT,UAAU;YACV,UAAU;YACV,gBAAgB;YAChB,iBAAiB;YACjB,gBAAgB;YAChB,iBAAiB;YACjB,cAAc;YACd,kBAAkB;YAClB,kBAAkB;YAClB,mBAAmB;YACnB,mBAAmB;YACnB,yBAAyB;YACzB,0BAA0B;YAC1B,yBAAyB;YACzB,0BAA0B;AAC1B,YAAA,uBAAuB,aAGvB,SAAS;YACT,SAAS;YACT,UAAU;YACV,UAAU;YACV,gBAAgB;YAChB,iBAAiB;YACjB,gBAAgB;YAChB,iBAAiB;YACjB,cAAc;YACd,kBAAkB;YAClB,kBAAkB;YAClB,mBAAmB;YACnB,mBAAmB;YACnB,yBAAyB;YACzB,0BAA0B;YAC1B,yBAAyB;YACzB,0BAA0B;YAC1B,uBAAuB,CAAA,EAAA,CAAA,CAAA;AAGlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,YA9CpB,YAAY;YACZ,cAAc;YACd,aAAa;YACb,gBAAgB;YAChB,kBAAkB;YAClB,eAAe;YAEf,SAAS;YAET,UAAU,CAAA,EAAA,CAAA,CAAA;;2FAqCL,eAAe,EAAA,UAAA,EAAA,CAAA;kBAhD3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,cAAc;wBACd,aAAa;wBACb,gBAAgB;wBAChB,kBAAkB;wBAClB,eAAe;wBACf,SAAS;wBACT,SAAS;wBACT,UAAU;wBACV,UAAU;wBACV,gBAAgB;wBAChB,iBAAiB;wBACjB,gBAAgB;wBAChB,iBAAiB;wBACjB,cAAc;wBACd,kBAAkB;wBAClB,kBAAkB;wBAClB,mBAAmB;wBACnB,mBAAmB;wBACnB,yBAAyB;wBACzB,0BAA0B;wBAC1B,yBAAyB;wBACzB,0BAA0B;wBAC1B;AACH,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,SAAS;wBACT,SAAS;wBACT,UAAU;wBACV,UAAU;wBACV,gBAAgB;wBAChB,iBAAiB;wBACjB,gBAAgB;wBAChB,iBAAiB;wBACjB,cAAc;wBACd,kBAAkB;wBAClB,kBAAkB;wBAClB,mBAAmB;wBACnB,mBAAmB;wBACnB,yBAAyB;wBACzB,0BAA0B;wBAC1B,yBAAyB;wBACzB,0BAA0B;wBAC1B;AACH;AACJ,iBAAA;;;AChED;;AAEG;;;;"}
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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"}
@@ -14,6 +14,8 @@ import * as i1 from '@angular/forms';
14
14
  import { FormsModule } from '@angular/forms';
15
15
  import * as i2 from 'ngx-tethys/grid';
16
16
  import { ThyGridModule } from 'ngx-tethys/grid';
17
+ import { ThyTooltipDirective } from 'ngx-tethys/tooltip';
18
+ import { injectLocale } from 'ngx-tethys/i18n';
17
19
  import { outputToObservable } from '@angular/core/rxjs-interop';
18
20
 
19
21
  /**
@@ -740,6 +742,7 @@ class ThySelectControl {
740
742
  this.thyOnClear = output();
741
743
  this.thyOnBlur = output();
742
744
  this.inputElement = viewChild('inputElement');
745
+ this.locale = injectLocale('shared');
743
746
  this.isSelectedValue = computed(() => {
744
747
  return ((!this.thyIsMultiple() && !isUndefinedOrNull(this.thySelectedOptions())) ||
745
748
  (this.thyIsMultiple() && this.thySelectedOptions().length > 0));
@@ -754,6 +757,14 @@ class ThySelectControl {
754
757
  }
755
758
  return selectedOptions;
756
759
  });
760
+ this.collapsedSelectedTags = computed(() => {
761
+ const selectedOptions = this.thySelectedOptions();
762
+ const maxTagCount = this.thyMaxTagCount();
763
+ if (maxTagCount && selectedOptions instanceof Array && selectedOptions.length > maxTagCount) {
764
+ return selectedOptions.slice(maxTagCount - 1, selectedOptions.length);
765
+ }
766
+ return [];
767
+ });
757
768
  this.selectedValueStyle = computed(() => {
758
769
  let showSelectedValue = false;
759
770
  if (this.thyShowSearch()) {
@@ -910,13 +921,13 @@ class ThySelectControl {
910
921
  this.thyOnBlur.emit(event);
911
922
  }
912
923
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThySelectControl, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
913
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.8", type: ThySelectControl, isStandalone: true, selector: "thy-select-control,[thySelectControl]", inputs: { inputValue: { classPropertyName: "inputValue", publicName: "inputValue", isSignal: true, isRequired: false, transformFunction: null }, thyPanelOpened: { classPropertyName: "thyPanelOpened", publicName: "thyPanelOpened", isSignal: true, isRequired: false, transformFunction: null }, thyIsMultiple: { classPropertyName: "thyIsMultiple", publicName: "thyIsMultiple", isSignal: true, isRequired: false, transformFunction: null }, thyShowSearch: { classPropertyName: "thyShowSearch", publicName: "thyShowSearch", isSignal: true, isRequired: false, transformFunction: null }, thySelectedOptions: { classPropertyName: "thySelectedOptions", publicName: "thySelectedOptions", isSignal: true, isRequired: false, transformFunction: null }, thyDisabled: { classPropertyName: "thyDisabled", publicName: "thyDisabled", isSignal: true, isRequired: false, transformFunction: null }, customDisplayTemplate: { classPropertyName: "customDisplayTemplate", publicName: "customDisplayTemplate", isSignal: true, isRequired: false, transformFunction: null }, thyAllowClear: { classPropertyName: "thyAllowClear", publicName: "thyAllowClear", isSignal: true, isRequired: false, transformFunction: null }, thyPlaceholder: { classPropertyName: "thyPlaceholder", publicName: "thyPlaceholder", isSignal: true, isRequired: false, transformFunction: null }, thySize: { classPropertyName: "thySize", publicName: "thySize", isSignal: true, isRequired: false, transformFunction: null }, thyMaxTagCount: { classPropertyName: "thyMaxTagCount", publicName: "thyMaxTagCount", isSignal: true, isRequired: false, transformFunction: null }, thyBorderless: { classPropertyName: "thyBorderless", publicName: "thyBorderless", isSignal: true, isRequired: false, transformFunction: null }, thyPreset: { classPropertyName: "thyPreset", publicName: "thyPreset", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { inputValue: "inputValueChange", thyOnSearch: "thyOnSearch", thyOnRemove: "thyOnRemove", thyOnClear: "thyOnClear", thyOnBlur: "thyOnBlur" }, host: { properties: { "class.select-control-borderless": "thyBorderless()" } }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true, isSignal: true }], ngImport: i0, template: "<ng-template #inputTemplate>\n <input\n #inputElement\n [tabindex]=\"-1\"\n (compositionstart)=\"compositionChange(true)\"\n (compositionend)=\"compositionChange(false)\"\n autocomplete=\"something-new\"\n [ngClass]=\"searchInputControlClass\"\n (input)=\"updateWidth()\"\n [ngModel]=\"inputValue()\"\n (ngModelChange)=\"setInputValue($event)\"\n (keydown.backspace)=\"handleBackspace($event)\"\n [disabled]=\"thyDisabled()\"\n (blur)=\"onBlur($event)\" />\n</ng-template>\n\n<div class=\"select-control-rendered\">\n @if (!isSelectedValue()) {\n <div class=\"text-placeholder text-truncate\" [ngStyle]=\"placeholderStyle()\">\n {{ thyPlaceholder() }}\n </div>\n }\n @if (thyIsMultiple()) {\n <div thyFlex thyWrap=\"wrap\" thyGap=\"4\" thyAlignItems=\"center\" class=\"w-100\">\n @if (thyPreset() === 'tag') {\n @for (item of maxSelectedTags(); track trackValue($index, item)) {\n <div thyFlexItem class=\"custom-choice-item text-truncate\">\n <ng-template\n [ngTemplateOutlet]=\"customDisplayTemplate()\"\n [ngTemplateOutletContext]=\"{ $implicit: item.thyRawValue || item.thyValue || item }\">\n </ng-template>\n @if (!thyDisabled()) {\n <div class=\"choice-remove-link ml-1\" (click)=\"removeHandle(item, $event)\">\n <span>\n <thy-icon thyIconName=\"close\" class=\"font-size-sm\"></thy-icon>\n </span>\n </div>\n }\n </div>\n }\n } @else {\n @for (item of maxSelectedTags(); track trackValue($index, item)) {\n <div thyFlexItem thyTag class=\"choice-item\" [ngClass]=\"{ disabled: thyDisabled() === true }\" [thySize]=\"tagSize()\">\n <div class=\"text-truncate h-100\">\n @if (!customDisplayTemplate()) {\n {{ item?.thyLabelText }}\n } @else {\n <ng-template\n [ngTemplateOutlet]=\"customDisplayTemplate()\"\n [ngTemplateOutletContext]=\"{ $implicit: item.thyRawValue || item.thyValue || item }\"></ng-template>\n }\n </div>\n @if (!thyDisabled()) {\n <div class=\"choice-remove-link ml-1\" (click)=\"removeHandle(item, $event)\">\n <span>\n <thy-icon thyIconName=\"close\" class=\"font-size-sm\"></thy-icon>\n </span>\n </div>\n }\n </div>\n }\n }\n @if (thyMaxTagCount() && thySelectedOptions()?.length > thyMaxTagCount()) {\n <div\n thyFlexItem\n class=\"choice-item max-tag-count-choice\"\n thyTag\n [thySize]=\"tagSize()\"\n [ngClass]=\"{ disabled: thyDisabled() === true }\">\n <div class=\"text-truncate\">+{{ thySelectedOptions()?.length - thyMaxTagCount() + 1 }}...</div>\n </div>\n }\n <div thyFlexItem class=\"select-control-search\">\n <ng-template [ngTemplateOutlet]=\"inputTemplate\"></ng-template>\n </div>\n </div>\n } @else {\n @if (isSelectedValue()) {\n <div class=\"selected-value text-truncate\" [ngStyle]=\"selectedValueStyle()\">\n @if (!customDisplayTemplate()) {\n <span class=\"text-truncate\">{{ thySelectedOptions()?.thyLabelText }}</span>\n } @else {\n <ng-template\n [ngTemplateOutlet]=\"customDisplayTemplate()\"\n [ngTemplateOutletContext]=\"{\n $implicit: thySelectedOptions()?.thyRawValue || thySelectedOptions()?.thyValue || thySelectedOptions()\n }\"></ng-template>\n }\n </div>\n }\n <div class=\"select-control-search\">\n <ng-template [ngTemplateOutlet]=\"inputTemplate\"></ng-template>\n </div>\n }\n</div>\n<span class=\"select-control-arrow\">\n <thy-icon thyIconName=\"angle-down\" class=\"font-size-base\"></thy-icon>\n</span>\n@if (showClearIcon()) {\n <span class=\"select-control-clear remove-link\" (click)=\"clearHandle($event)\">\n <thy-icon class=\"remove-link-icon font-size-base\" thyIconName=\"close-circle-bold-fill\"></thy-icon>\n </span>\n}\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: ThyTag, selector: "thy-tag,[thyTag]", inputs: ["thyTag", "thyShape", "thyColor", "thyTheme", "thySize", "thyHoverable"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "ngmodule", type: ThyGridModule }, { kind: "directive", type: i2.ThyFlex, selector: "[thyFlex]", inputs: ["thyDirection", "thyWrap", "thyJustifyContent", "thyAlignItems", "thyGap"] }, { kind: "directive", type: i2.ThyFlexItem, selector: "[thyFlexItem]", inputs: ["thyFlexItem", "thyGrow", "thyShrink", "thyBasis"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
924
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.8", type: ThySelectControl, isStandalone: true, selector: "thy-select-control,[thySelectControl]", inputs: { inputValue: { classPropertyName: "inputValue", publicName: "inputValue", isSignal: true, isRequired: false, transformFunction: null }, thyPanelOpened: { classPropertyName: "thyPanelOpened", publicName: "thyPanelOpened", isSignal: true, isRequired: false, transformFunction: null }, thyIsMultiple: { classPropertyName: "thyIsMultiple", publicName: "thyIsMultiple", isSignal: true, isRequired: false, transformFunction: null }, thyShowSearch: { classPropertyName: "thyShowSearch", publicName: "thyShowSearch", isSignal: true, isRequired: false, transformFunction: null }, thySelectedOptions: { classPropertyName: "thySelectedOptions", publicName: "thySelectedOptions", isSignal: true, isRequired: false, transformFunction: null }, thyDisabled: { classPropertyName: "thyDisabled", publicName: "thyDisabled", isSignal: true, isRequired: false, transformFunction: null }, customDisplayTemplate: { classPropertyName: "customDisplayTemplate", publicName: "customDisplayTemplate", isSignal: true, isRequired: false, transformFunction: null }, thyAllowClear: { classPropertyName: "thyAllowClear", publicName: "thyAllowClear", isSignal: true, isRequired: false, transformFunction: null }, thyPlaceholder: { classPropertyName: "thyPlaceholder", publicName: "thyPlaceholder", isSignal: true, isRequired: false, transformFunction: null }, thySize: { classPropertyName: "thySize", publicName: "thySize", isSignal: true, isRequired: false, transformFunction: null }, thyMaxTagCount: { classPropertyName: "thyMaxTagCount", publicName: "thyMaxTagCount", isSignal: true, isRequired: false, transformFunction: null }, thyBorderless: { classPropertyName: "thyBorderless", publicName: "thyBorderless", isSignal: true, isRequired: false, transformFunction: null }, thyPreset: { classPropertyName: "thyPreset", publicName: "thyPreset", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { inputValue: "inputValueChange", thyOnSearch: "thyOnSearch", thyOnRemove: "thyOnRemove", thyOnClear: "thyOnClear", thyOnBlur: "thyOnBlur" }, host: { properties: { "class.select-control-borderless": "thyBorderless()" } }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true, isSignal: true }], ngImport: i0, template: "<ng-template #inputTemplate>\n <input\n #inputElement\n [tabindex]=\"-1\"\n (compositionstart)=\"compositionChange(true)\"\n (compositionend)=\"compositionChange(false)\"\n autocomplete=\"something-new\"\n [ngClass]=\"searchInputControlClass\"\n (input)=\"updateWidth()\"\n [ngModel]=\"inputValue()\"\n (ngModelChange)=\"setInputValue($event)\"\n (keydown.backspace)=\"handleBackspace($event)\"\n [disabled]=\"thyDisabled()\"\n (blur)=\"onBlur($event)\" />\n</ng-template>\n\n<div class=\"select-control-rendered\">\n @if (!isSelectedValue()) {\n <div class=\"text-placeholder text-truncate\" [ngStyle]=\"placeholderStyle()\">\n {{ thyPlaceholder() }}\n </div>\n }\n @if (thyIsMultiple()) {\n <div thyFlex thyWrap=\"wrap\" thyGap=\"4\" thyAlignItems=\"center\" class=\"w-100\">\n @if (thyPreset() === 'tag') {\n @for (item of maxSelectedTags(); track trackValue($index, item)) {\n <div thyFlexItem class=\"custom-choice-item text-truncate\">\n <ng-template\n [ngTemplateOutlet]=\"customDisplayTemplate()\"\n [ngTemplateOutletContext]=\"{ $implicit: item.thyRawValue || item.thyValue || item }\">\n </ng-template>\n @if (!thyDisabled()) {\n <div class=\"choice-remove-link ml-1\" (click)=\"removeHandle(item, $event)\">\n <span>\n <thy-icon thyIconName=\"close\" class=\"font-size-sm\"></thy-icon>\n </span>\n </div>\n }\n </div>\n }\n } @else {\n @for (item of maxSelectedTags(); track trackValue($index, item)) {\n <div thyFlexItem thyTag class=\"choice-item\" [ngClass]=\"{ disabled: thyDisabled() === true }\" [thySize]=\"tagSize()\">\n <div class=\"text-truncate h-100\">\n @if (!customDisplayTemplate()) {\n {{ item?.thyLabelText }}\n } @else {\n <ng-template\n [ngTemplateOutlet]=\"customDisplayTemplate()\"\n [ngTemplateOutletContext]=\"{ $implicit: item.thyRawValue || item.thyValue || item }\"></ng-template>\n }\n </div>\n @if (!thyDisabled()) {\n <div class=\"choice-remove-link ml-1\" (click)=\"removeHandle(item, $event)\">\n <span>\n <thy-icon thyIconName=\"close\" class=\"font-size-sm\"></thy-icon>\n </span>\n </div>\n }\n </div>\n }\n }\n @if (thyMaxTagCount() && thySelectedOptions()?.length > thyMaxTagCount()) {\n <div\n thyFlexItem\n class=\"choice-item max-tag-count-choice\"\n thyTag\n [thySize]=\"tagSize()\"\n [ngClass]=\"{ disabled: thyDisabled() === true }\"\n [thyTooltip]=\"maxTagTooltip\">\n <div class=\"text-truncate\">+{{ thySelectedOptions()?.length - thyMaxTagCount() + 1 }}</div>\n </div>\n }\n <div thyFlexItem class=\"select-control-search\">\n <ng-template [ngTemplateOutlet]=\"inputTemplate\"></ng-template>\n </div>\n </div>\n } @else {\n @if (isSelectedValue()) {\n <div class=\"selected-value text-truncate\" [ngStyle]=\"selectedValueStyle()\">\n @if (!customDisplayTemplate()) {\n <span class=\"text-truncate\">{{ thySelectedOptions()?.thyLabelText }}</span>\n } @else {\n <ng-template\n [ngTemplateOutlet]=\"customDisplayTemplate()\"\n [ngTemplateOutletContext]=\"{\n $implicit: thySelectedOptions()?.thyRawValue || thySelectedOptions()?.thyValue || thySelectedOptions()\n }\"></ng-template>\n }\n </div>\n }\n <div class=\"select-control-search\">\n <ng-template [ngTemplateOutlet]=\"inputTemplate\"></ng-template>\n </div>\n }\n</div>\n<span class=\"select-control-arrow\">\n <thy-icon thyIconName=\"angle-down\" class=\"font-size-base\"></thy-icon>\n</span>\n@if (showClearIcon()) {\n <span class=\"select-control-clear remove-link\" (click)=\"clearHandle($event)\">\n <thy-icon class=\"remove-link-icon font-size-base\" thyIconName=\"close-circle-bold-fill\"></thy-icon>\n </span>\n}\n\n<ng-template #maxTagTooltip>\n @let lastIndex = collapsedSelectedTags().length - 1;\n @for (item of collapsedSelectedTags(); track trackValue($index, item)) {\n {{ item.thyLabelText }}\n @if ($index !== lastIndex) {\n {{ locale().comma }}\n }\n }\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: ThyTag, selector: "thy-tag,[thyTag]", inputs: ["thyTag", "thyShape", "thyColor", "thyTheme", "thySize", "thyHoverable"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "ngmodule", type: ThyGridModule }, { kind: "directive", type: i2.ThyFlex, selector: "[thyFlex]", inputs: ["thyDirection", "thyWrap", "thyJustifyContent", "thyAlignItems", "thyGap"] }, { kind: "directive", type: i2.ThyFlexItem, selector: "[thyFlexItem]", inputs: ["thyFlexItem", "thyGrow", "thyShrink", "thyBasis"] }, { kind: "directive", type: ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
914
925
  }
915
926
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThySelectControl, decorators: [{
916
927
  type: Component,
917
- args: [{ selector: 'thy-select-control,[thySelectControl]', changeDetection: ChangeDetectionStrategy.OnPush, imports: [FormsModule, NgClass, NgStyle, ThyTag, NgTemplateOutlet, ThyIcon, ThyGridModule], host: {
928
+ args: [{ selector: 'thy-select-control,[thySelectControl]', changeDetection: ChangeDetectionStrategy.OnPush, imports: [FormsModule, NgClass, NgStyle, ThyTag, NgTemplateOutlet, ThyIcon, ThyGridModule, ThyTooltipDirective], host: {
918
929
  '[class.select-control-borderless]': 'thyBorderless()'
919
- }, template: "<ng-template #inputTemplate>\n <input\n #inputElement\n [tabindex]=\"-1\"\n (compositionstart)=\"compositionChange(true)\"\n (compositionend)=\"compositionChange(false)\"\n autocomplete=\"something-new\"\n [ngClass]=\"searchInputControlClass\"\n (input)=\"updateWidth()\"\n [ngModel]=\"inputValue()\"\n (ngModelChange)=\"setInputValue($event)\"\n (keydown.backspace)=\"handleBackspace($event)\"\n [disabled]=\"thyDisabled()\"\n (blur)=\"onBlur($event)\" />\n</ng-template>\n\n<div class=\"select-control-rendered\">\n @if (!isSelectedValue()) {\n <div class=\"text-placeholder text-truncate\" [ngStyle]=\"placeholderStyle()\">\n {{ thyPlaceholder() }}\n </div>\n }\n @if (thyIsMultiple()) {\n <div thyFlex thyWrap=\"wrap\" thyGap=\"4\" thyAlignItems=\"center\" class=\"w-100\">\n @if (thyPreset() === 'tag') {\n @for (item of maxSelectedTags(); track trackValue($index, item)) {\n <div thyFlexItem class=\"custom-choice-item text-truncate\">\n <ng-template\n [ngTemplateOutlet]=\"customDisplayTemplate()\"\n [ngTemplateOutletContext]=\"{ $implicit: item.thyRawValue || item.thyValue || item }\">\n </ng-template>\n @if (!thyDisabled()) {\n <div class=\"choice-remove-link ml-1\" (click)=\"removeHandle(item, $event)\">\n <span>\n <thy-icon thyIconName=\"close\" class=\"font-size-sm\"></thy-icon>\n </span>\n </div>\n }\n </div>\n }\n } @else {\n @for (item of maxSelectedTags(); track trackValue($index, item)) {\n <div thyFlexItem thyTag class=\"choice-item\" [ngClass]=\"{ disabled: thyDisabled() === true }\" [thySize]=\"tagSize()\">\n <div class=\"text-truncate h-100\">\n @if (!customDisplayTemplate()) {\n {{ item?.thyLabelText }}\n } @else {\n <ng-template\n [ngTemplateOutlet]=\"customDisplayTemplate()\"\n [ngTemplateOutletContext]=\"{ $implicit: item.thyRawValue || item.thyValue || item }\"></ng-template>\n }\n </div>\n @if (!thyDisabled()) {\n <div class=\"choice-remove-link ml-1\" (click)=\"removeHandle(item, $event)\">\n <span>\n <thy-icon thyIconName=\"close\" class=\"font-size-sm\"></thy-icon>\n </span>\n </div>\n }\n </div>\n }\n }\n @if (thyMaxTagCount() && thySelectedOptions()?.length > thyMaxTagCount()) {\n <div\n thyFlexItem\n class=\"choice-item max-tag-count-choice\"\n thyTag\n [thySize]=\"tagSize()\"\n [ngClass]=\"{ disabled: thyDisabled() === true }\">\n <div class=\"text-truncate\">+{{ thySelectedOptions()?.length - thyMaxTagCount() + 1 }}...</div>\n </div>\n }\n <div thyFlexItem class=\"select-control-search\">\n <ng-template [ngTemplateOutlet]=\"inputTemplate\"></ng-template>\n </div>\n </div>\n } @else {\n @if (isSelectedValue()) {\n <div class=\"selected-value text-truncate\" [ngStyle]=\"selectedValueStyle()\">\n @if (!customDisplayTemplate()) {\n <span class=\"text-truncate\">{{ thySelectedOptions()?.thyLabelText }}</span>\n } @else {\n <ng-template\n [ngTemplateOutlet]=\"customDisplayTemplate()\"\n [ngTemplateOutletContext]=\"{\n $implicit: thySelectedOptions()?.thyRawValue || thySelectedOptions()?.thyValue || thySelectedOptions()\n }\"></ng-template>\n }\n </div>\n }\n <div class=\"select-control-search\">\n <ng-template [ngTemplateOutlet]=\"inputTemplate\"></ng-template>\n </div>\n }\n</div>\n<span class=\"select-control-arrow\">\n <thy-icon thyIconName=\"angle-down\" class=\"font-size-base\"></thy-icon>\n</span>\n@if (showClearIcon()) {\n <span class=\"select-control-clear remove-link\" (click)=\"clearHandle($event)\">\n <thy-icon class=\"remove-link-icon font-size-base\" thyIconName=\"close-circle-bold-fill\"></thy-icon>\n </span>\n}\n" }]
930
+ }, template: "<ng-template #inputTemplate>\n <input\n #inputElement\n [tabindex]=\"-1\"\n (compositionstart)=\"compositionChange(true)\"\n (compositionend)=\"compositionChange(false)\"\n autocomplete=\"something-new\"\n [ngClass]=\"searchInputControlClass\"\n (input)=\"updateWidth()\"\n [ngModel]=\"inputValue()\"\n (ngModelChange)=\"setInputValue($event)\"\n (keydown.backspace)=\"handleBackspace($event)\"\n [disabled]=\"thyDisabled()\"\n (blur)=\"onBlur($event)\" />\n</ng-template>\n\n<div class=\"select-control-rendered\">\n @if (!isSelectedValue()) {\n <div class=\"text-placeholder text-truncate\" [ngStyle]=\"placeholderStyle()\">\n {{ thyPlaceholder() }}\n </div>\n }\n @if (thyIsMultiple()) {\n <div thyFlex thyWrap=\"wrap\" thyGap=\"4\" thyAlignItems=\"center\" class=\"w-100\">\n @if (thyPreset() === 'tag') {\n @for (item of maxSelectedTags(); track trackValue($index, item)) {\n <div thyFlexItem class=\"custom-choice-item text-truncate\">\n <ng-template\n [ngTemplateOutlet]=\"customDisplayTemplate()\"\n [ngTemplateOutletContext]=\"{ $implicit: item.thyRawValue || item.thyValue || item }\">\n </ng-template>\n @if (!thyDisabled()) {\n <div class=\"choice-remove-link ml-1\" (click)=\"removeHandle(item, $event)\">\n <span>\n <thy-icon thyIconName=\"close\" class=\"font-size-sm\"></thy-icon>\n </span>\n </div>\n }\n </div>\n }\n } @else {\n @for (item of maxSelectedTags(); track trackValue($index, item)) {\n <div thyFlexItem thyTag class=\"choice-item\" [ngClass]=\"{ disabled: thyDisabled() === true }\" [thySize]=\"tagSize()\">\n <div class=\"text-truncate h-100\">\n @if (!customDisplayTemplate()) {\n {{ item?.thyLabelText }}\n } @else {\n <ng-template\n [ngTemplateOutlet]=\"customDisplayTemplate()\"\n [ngTemplateOutletContext]=\"{ $implicit: item.thyRawValue || item.thyValue || item }\"></ng-template>\n }\n </div>\n @if (!thyDisabled()) {\n <div class=\"choice-remove-link ml-1\" (click)=\"removeHandle(item, $event)\">\n <span>\n <thy-icon thyIconName=\"close\" class=\"font-size-sm\"></thy-icon>\n </span>\n </div>\n }\n </div>\n }\n }\n @if (thyMaxTagCount() && thySelectedOptions()?.length > thyMaxTagCount()) {\n <div\n thyFlexItem\n class=\"choice-item max-tag-count-choice\"\n thyTag\n [thySize]=\"tagSize()\"\n [ngClass]=\"{ disabled: thyDisabled() === true }\"\n [thyTooltip]=\"maxTagTooltip\">\n <div class=\"text-truncate\">+{{ thySelectedOptions()?.length - thyMaxTagCount() + 1 }}</div>\n </div>\n }\n <div thyFlexItem class=\"select-control-search\">\n <ng-template [ngTemplateOutlet]=\"inputTemplate\"></ng-template>\n </div>\n </div>\n } @else {\n @if (isSelectedValue()) {\n <div class=\"selected-value text-truncate\" [ngStyle]=\"selectedValueStyle()\">\n @if (!customDisplayTemplate()) {\n <span class=\"text-truncate\">{{ thySelectedOptions()?.thyLabelText }}</span>\n } @else {\n <ng-template\n [ngTemplateOutlet]=\"customDisplayTemplate()\"\n [ngTemplateOutletContext]=\"{\n $implicit: thySelectedOptions()?.thyRawValue || thySelectedOptions()?.thyValue || thySelectedOptions()\n }\"></ng-template>\n }\n </div>\n }\n <div class=\"select-control-search\">\n <ng-template [ngTemplateOutlet]=\"inputTemplate\"></ng-template>\n </div>\n }\n</div>\n<span class=\"select-control-arrow\">\n <thy-icon thyIconName=\"angle-down\" class=\"font-size-base\"></thy-icon>\n</span>\n@if (showClearIcon()) {\n <span class=\"select-control-clear remove-link\" (click)=\"clearHandle($event)\">\n <thy-icon class=\"remove-link-icon font-size-base\" thyIconName=\"close-circle-bold-fill\"></thy-icon>\n </span>\n}\n\n<ng-template #maxTagTooltip>\n @let lastIndex = collapsedSelectedTags().length - 1;\n @for (item of collapsedSelectedTags(); track trackValue($index, item)) {\n {{ item.thyLabelText }}\n @if ($index !== lastIndex) {\n {{ locale().comma }}\n }\n }\n</ng-template>\n" }]
920
931
  }], ctorParameters: () => [] });
921
932
 
922
933
  /**