ngx-tethys 18.2.6 → 18.2.8

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.
Files changed (58) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/date-picker/abstract-picker.component.d.ts +8 -3
  3. package/date-picker/date-picker.config.d.ts +1 -0
  4. package/date-picker/date-picker.service.d.ts +1 -0
  5. package/date-picker/picker.component.d.ts +2 -1
  6. package/date-picker/picker.pipes.d.ts +6 -2
  7. package/date-picker/picker.util.d.ts +1 -1
  8. package/date-range/date-range.component.d.ts +16 -4
  9. package/esm2022/calendar/calendar-header.component.mjs +2 -2
  10. package/esm2022/date-picker/abstract-picker.component.mjs +14 -5
  11. package/esm2022/date-picker/date-picker.component.mjs +3 -3
  12. package/esm2022/date-picker/date-picker.config.mjs +3 -1
  13. package/esm2022/date-picker/date-picker.service.mjs +4 -1
  14. package/esm2022/date-picker/month-picker.component.mjs +3 -3
  15. package/esm2022/date-picker/picker.component.mjs +7 -5
  16. package/esm2022/date-picker/picker.pipes.mjs +15 -8
  17. package/esm2022/date-picker/picker.util.mjs +8 -8
  18. package/esm2022/date-picker/quarter-picker.component.mjs +3 -3
  19. package/esm2022/date-picker/range-picker.component.mjs +3 -3
  20. package/esm2022/date-picker/week-picker.component.mjs +3 -3
  21. package/esm2022/date-picker/year-picker.component.mjs +3 -3
  22. package/esm2022/date-range/date-range.component.mjs +15 -5
  23. package/esm2022/i18n/i18n.mjs +1 -1
  24. package/esm2022/i18n/locales/de-de.mjs +5 -1
  25. package/esm2022/i18n/locales/en-us.mjs +5 -1
  26. package/esm2022/i18n/locales/ja-jp.mjs +5 -1
  27. package/esm2022/i18n/locales/zh-hans.mjs +5 -1
  28. package/esm2022/i18n/locales/zh-hant.mjs +5 -1
  29. package/esm2022/layout/sidebar.component.mjs +4 -2
  30. package/esm2022/util/date/functions.mjs +19 -1
  31. package/esm2022/util/date/tiny-date.mjs +15 -2
  32. package/esm2022/version.mjs +2 -2
  33. package/fesm2022/ngx-tethys-calendar.mjs +1 -1
  34. package/fesm2022/ngx-tethys-calendar.mjs.map +1 -1
  35. package/fesm2022/ngx-tethys-date-picker.mjs +53 -32
  36. package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
  37. package/fesm2022/ngx-tethys-date-range.mjs +14 -4
  38. package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
  39. package/fesm2022/ngx-tethys-i18n.mjs +20 -0
  40. package/fesm2022/ngx-tethys-i18n.mjs.map +1 -1
  41. package/fesm2022/ngx-tethys-layout.mjs +3 -1
  42. package/fesm2022/ngx-tethys-layout.mjs.map +1 -1
  43. package/fesm2022/ngx-tethys-util.mjs +32 -1
  44. package/fesm2022/ngx-tethys-util.mjs.map +1 -1
  45. package/fesm2022/ngx-tethys.mjs +1 -1
  46. package/fesm2022/ngx-tethys.mjs.map +1 -1
  47. package/i18n/i18n.d.ts +6 -1
  48. package/i18n/locales/de-de.d.ts +4 -0
  49. package/i18n/locales/en-us.d.ts +4 -0
  50. package/i18n/locales/ja-jp.d.ts +4 -0
  51. package/i18n/locales/zh-hans.d.ts +4 -0
  52. package/i18n/locales/zh-hant.d.ts +4 -0
  53. package/layout/sidebar.component.d.ts +8 -42
  54. package/package.json +7 -7
  55. package/schematics/version.d.ts +1 -1
  56. package/schematics/version.js +1 -1
  57. package/util/date/functions.d.ts +2 -0
  58. package/util/date/tiny-date.d.ts +8 -0
@@ -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, Directive, HostBinding } from '@angular/core';\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]': 'hasSidebar',\n '[class.thy-layout--is-sidebar-right]': 'isSidebarRight'\n },\n standalone: true\n})\nexport class ThyLayoutDirective {\n hasSidebar = false;\n isSidebarRight = false;\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 standalone: true\n})\nexport class ThyLayout {}\n","import { NgClass, NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ContentChild, Directive, Input, TemplateRef } 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 standalone: true\n})\nexport class ThyHeaderDirective {\n /**\n * 头部大小\n * @type sm | md | lg | xlg\n */\n @Input('thySize') thySize: 'sm' | 'md' | 'lg' | 'xlg' = 'md';\n\n /**\n * 底部是否有阴影\n * @default false\n */\n @Input({ transform: coerceBooleanProperty }) thyShadow = false;\n\n divided = false;\n\n /**\n * 底部是否有分割线\n */\n @Input({ transform: coerceBooleanProperty })\n set thyDivided(value: boolean) {\n this.divided = value;\n }\n\n /**\n * 底部是否有分割线,已废弃,请使用 thyDivided\n * @deprecated please use thyDivided\n */\n @Input({ transform: coerceBooleanProperty })\n set thyHasBorder(value: boolean) {\n this.divided = value;\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 standalone: true,\n imports: [NgTemplateOutlet, ThyIcon, NgClass, ThyHeaderDirective]\n})\nexport class ThyHeader {\n public iconClass: string;\n\n public svgIconName: string;\n\n /**\n * 头部标题\n */\n @Input() thyTitle: string;\n\n /**\n * 图标前缀,被弃用,图标使用 SVG 图标\n */\n @Input() thyIconPrefix = 'wtf';\n\n /**\n * 图标,SVG 图标名称\n */\n @Input('thyIcon')\n set thyIcon(value: string) {\n if (value) {\n if (value.includes('wtf')) {\n this.iconClass = `${this.thyIconPrefix} ${value}`;\n } else {\n this.svgIconName = value;\n }\n } else {\n this.iconClass = null;\n this.svgIconName = null;\n }\n }\n\n /**\n * 头部自定义标题模板,`<ng-template #headerTitle></ng-template>`\n * @type TemplateRef\n */\n @ContentChild('headerTitle')\n public titleTemplateRef: TemplateRef<any>;\n\n /**\n * 头部自定义内容模板,`<ng-template #headerContent></ng-template>`\n * @type TemplateRef\n */\n @ContentChild('headerContent')\n public contentTemplateRef: TemplateRef<any>;\n\n /**\n * 头部自定义操作模板,`<ng-template #headerOperation></ng-template>`\n * @type TemplateRef\n */\n @ContentChild('headerOperation')\n public operationTemplateRef: TemplateRef<any>;\n}\n","<div class=\"layout-header-title\">\n <ng-template [ngTemplateOutlet]=\"titleTemplateRef\"></ng-template>\n @if (!titleTemplateRef) {\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 standalone: true\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 standalone: true\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 TemplateRef,\n inject,\n numberAttribute\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 } from 'ngx-tethys/util';\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\" && !isDivided',\n '[class.thy-layout-sidebar--clear-border-left]': 'thyDirection === \"right\" && !isDivided',\n '[class.sidebar-theme-light]': 'thyTheme === \"light\"',\n '[class.sidebar-theme-dark]': 'thyTheme === \"dark\"',\n '[class.thy-layout-sidebar-isolated]': 'sidebarIsolated'\n },\n standalone: true\n})\nexport class ThySidebarDirective implements OnInit {\n private thyLayoutDirective = inject(ThyLayoutDirective, { optional: true, host: true })!;\n\n sidebarIsolated = false;\n\n isDivided = true;\n\n @HostBinding('style.width.px') thyLayoutSidebarWidth: number;\n\n /**\n * sidebar 位置,默认在左侧\n */\n @Input() thyDirection: ThySidebarDirection = 'left';\n\n /**\n * 主题\n * @type white | light | dark\n * @default white\n */\n @Input() thyTheme: ThySidebarTheme;\n\n /**\n * 宽度,默认是 240px,传入 `lg` 大小时宽度是300px\n * @default 240px\n */\n @Input('thyWidth')\n set thyWidth(value: string | number) {\n if (value === 'lg') {\n value = LG_WIDTH;\n }\n this.thyLayoutSidebarWidth = (value as number) || SIDEBAR_DEFAULT_WIDTH;\n }\n\n /**\n * 是否和右侧 /左侧隔离,当为 true 时距右侧 /左侧会有 margin,同时边框会去掉\n * @default false\n */\n @Input({ transform: coerceBooleanProperty })\n set thyIsolated(value: boolean) {\n this.sidebarIsolated = value;\n }\n\n /**\n * sidebar 是否有分割线。当`thyDirection`值为`left`时,控制右侧是否有分割线;当`thyDirection`值为`right`时,控制左侧是否有分割线。\n * @default true\n */\n @Input({ transform: coerceBooleanProperty })\n set thyDivided(value: boolean) {\n this.isDivided = value;\n }\n\n /**\n * 右侧是否有边框,已废弃,请使用 thyDivided\n * @deprecated please use thyDivided\n * @default true\n */\n @Input({ transform: coerceBooleanProperty })\n set thyHasBorderRight(value: boolean) {\n this.thyDivided = value;\n }\n\n /**\n * 左侧是否有边框,已废弃,请使用 thyDivided\n * @deprecated please use thyDivided\n * @default true\n */\n @Input({ transform: coerceBooleanProperty })\n set thyHasBorderLeft(value: boolean) {\n this.thyDivided = value;\n }\n\n ngOnInit() {\n if (this.thyLayoutDirective) {\n this.thyLayoutDirective.hasSidebar = true;\n }\n if (this.thyDirection === 'right') {\n this.thyLayoutDirective.isSidebarRight = true;\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 (!thyCollapsed) {\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 (thyCollapsible && 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.thyCollapsed ? 'indent' : 'outdent'\"></thy-icon>\n </ng-template>\n </div>\n }\n `,\n hostDirectives: [\n {\n directive: ThySidebarDirective,\n inputs: ['thyTheme', 'thyDirection', 'thyWidth', 'thyIsolated', 'thyDivided', 'thyHasBorderLeft', 'thyHasBorderRight']\n }\n ],\n standalone: true,\n imports: [NgTemplateOutlet, ThyResizeHandle, ThyResizableDirective, ThyIcon, ThyTooltipDirective, NgClass, NgStyle]\n})\nexport class ThySidebar implements OnInit, OnDestroy {\n elementRef = inject(ElementRef);\n private hotkeyDispatcher = inject(ThyHotkeyDispatcher);\n\n sidebarDirective = inject(ThySidebarDirective);\n\n @HostBinding('style.width.px') get sidebarWidth() {\n if (this.thyCollapsible && this.thyCollapsed) {\n return this.thyCollapsedWidth;\n } else {\n return this.sidebarDirective.thyLayoutSidebarWidth;\n }\n }\n\n @HostListener('mouseenter', ['$event'])\n mouseenter($event: MouseEvent) {\n this.resizeHandleHover($event, 'enter');\n }\n\n @HostListener('mouseleave', ['$event'])\n mouseleave($event: MouseEvent) {\n this.resizeHandleHover($event, 'leave');\n }\n\n /**\n * 宽度是否可以拖拽\n * @default false\n */\n @Input({ transform: coerceBooleanProperty }) thyDraggable: boolean = false;\n\n /**\n * 拖拽的最大宽度\n */\n @Input({ transform: numberAttribute }) thyDragMaxWidth: number;\n\n /**\n * 拖拽的最小宽度\n */\n @Input({ transform: numberAttribute }) thyDragMinWidth: number;\n\n /**\n * 展示收起的触发器自定义模板,默认显示展开收起的圆形图标,设置为 null 表示不展示触发元素,手动控制展开收起状态\n * @type null | undefined | TemplateRef<any>\n * @default undefined\n */\n @Input() thyTrigger: null | undefined | TemplateRef<any> = undefined;\n\n /**\n * 收起状态改变后的事件\n */\n @Output()\n thyCollapsedChange = new EventEmitter<boolean>();\n\n /**\n * 拖拽宽度的修改事件\n */\n @Output()\n thyDragWidthChange = new EventEmitter<number>();\n\n /**\n * 开启收起/展开功能\n * @default false\n */\n @Input({ transform: coerceBooleanProperty }) set thyCollapsible(collapsible: boolean) {\n this.collapsible = collapsible;\n if (this.collapsible) {\n this.subscribeHotkeyEvent();\n } else {\n this.hotkeySubscription?.unsubscribe();\n }\n }\n\n get thyCollapsible() {\n return this.collapsible;\n }\n\n /**\n * 是否是收起\n * @default false\n */\n @Input({ transform: coerceBooleanProperty }) set thyCollapsed(value: boolean) {\n this.isCollapsed = value;\n }\n\n get thyCollapsed() {\n return this.isCollapsed;\n }\n\n /**\n * 收起后的宽度\n */\n @Input({ transform: numberAttribute }) thyCollapsedWidth = SIDEBAR_COLLAPSED_WIDTH;\n\n /**\n * 默认宽度,双击后可恢复到此宽度,默认是 240px,传入 lg 大小时宽度是300px\n */\n @Input() thyDefaultWidth: string | number;\n\n @HostBinding('class.sidebar-collapse-show')\n get collapseVisibility() {\n return this.thyCollapsed;\n }\n\n @HostBinding('class.remove-transition')\n get removeTransition() {\n return this.isRemoveTransition;\n }\n\n collapseTip: string;\n\n collapsible: boolean;\n\n isCollapsed = false;\n\n originWidth: number = SIDEBAR_DEFAULT_WIDTH;\n\n collapseVisible: boolean;\n\n collapseHidden: boolean;\n\n isRemoveTransition: boolean;\n\n isResizable: boolean;\n\n get dragMinWidth() {\n return this.thyDragMinWidth || this.thyCollapsedWidth;\n }\n\n private hotkeySubscription: Subscription;\n\n ngOnInit() {\n this.updateCollapseTip();\n }\n\n private subscribeHotkeyEvent() {\n this.hotkeySubscription = this.hotkeyDispatcher.keydown(['Control+/', 'Meta+/']).subscribe(() => {\n this.toggleCollapse();\n });\n }\n\n private updateCollapseTip() {\n this.collapseTip = this.thyCollapsed ? '展开' : '收起';\n this.collapseTip = this.collapseTip + (isMacPlatform() ? `(⌘ + /)` : `(Ctrl + /)`);\n }\n\n resizeHandler({ width }: ThyResizeEvent) {\n if (width === this.sidebarDirective.thyLayoutSidebarWidth) {\n return;\n }\n if (this.thyCollapsible && width < this.thyCollapsedWidth) {\n return;\n }\n if (this.thyCollapsible && width === this.thyCollapsedWidth) {\n this.thyCollapsed = true;\n setTimeout(() => this.updateCollapseTip(), 200);\n this.thyCollapsedChange.emit(this.isCollapsed);\n this.sidebarDirective.thyLayoutSidebarWidth = this.originWidth;\n this.collapseVisible = false;\n return;\n }\n this.sidebarDirective.thyLayoutSidebarWidth = width;\n this.thyDragWidthChange.emit(width);\n }\n\n resizeStart() {\n this.originWidth = this.sidebarDirective.thyLayoutSidebarWidth;\n this.collapseHidden = true;\n this.isRemoveTransition = true;\n }\n\n resizeEnd() {\n this.collapseHidden = false;\n this.isRemoveTransition = false;\n }\n\n resizeHandleHover(event: MouseEvent, type: 'enter' | 'leave') {\n this.collapseVisible = type === 'enter' && !this.thyCollapsed ? true : false;\n }\n\n toggleCollapse(event?: MouseEvent) {\n this.thyCollapsed = !this.thyCollapsed;\n setTimeout(() => this.updateCollapseTip(), 200);\n this.thyCollapsedChange.emit(this.isCollapsed);\n }\n\n public toggleResizable(event: MouseEvent, type: 'enter' | 'leave') {\n this.isResizable = type === 'enter' ? true : false;\n }\n\n restoreToDefaultWidth() {\n if (this.thyDefaultWidth === 'lg') {\n this.thyDefaultWidth = LG_WIDTH;\n }\n this.sidebarDirective.thyLayoutSidebarWidth = (this.thyDefaultWidth as number) || SIDEBAR_DEFAULT_WIDTH;\n this.thyDragWidthChange.emit(this.sidebarDirective.thyLayoutSidebarWidth);\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 standalone: true\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 standalone: true\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 standalone: true\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 standalone: true\n})\nexport class ThyContentMain {}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ContentChild, Directive, Input, TemplateRef } from '@angular/core';\nimport { coerceBooleanProperty } 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 standalone: true\n})\nexport class ThySidebarHeaderDirective {\n /**\n * 是否有分割线\n * @default false\n */\n @Input({ transform: coerceBooleanProperty }) thyDivided: boolean | string;\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 standalone: true,\n imports: [NgTemplateOutlet]\n})\nexport class ThySidebarHeader {\n /**\n * 头部标题\n */\n @Input()\n thyTitle: string;\n\n /**\n * 头部自定义操作模板,`<ng-template #headerOperation></ng-template>`\n * @type TemplateRef\n */\n @ContentChild('headerOperation')\n public operationTemplateRef: TemplateRef<unknown>;\n\n /**\n * 头部自定义标题模板,`<ng-template #headerTitle></ng-template>`\n * @type TemplateRef\n */\n @ContentChild('headerTitle')\n public titleTemplateRef: TemplateRef<any>;\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 standalone: true\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 standalone: true\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 standalone: true\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 standalone: true\n})\nexport class ThySidebarContent {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThyLayout, ThyLayoutDirective } from './layout.component';\nimport { ThyHeader, ThyHeaderDirective } from './header.component';\nimport { ThyContent, ThyContentDirective } from './content.component';\nimport { ThySidebar, ThySidebarDirective } from './sidebar.component';\nimport { ThyContentSection, ThyContentSectionDirective } from './content-section.component';\nimport { ThyContentMain, ThyContentMainDirective } from './content-main.component';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { ThyHotkeyModule } from '@tethys/cdk/hotkey';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThyTooltipModule } from 'ngx-tethys/tooltip';\nimport { ThySidebarHeader, ThySidebarHeaderDirective } from './sidebar-header.component';\nimport { ThySidebarFooter, ThySidebarFooterDirective } from './sidebar-footer.component';\nimport { ThySidebarContent, ThySidebarContentDirective } from './sidebar-content.component';\nimport { ThyResizableModule } from 'ngx-tethys/resizable';\n\n@NgModule({\n imports: [\n CommonModule,\n DragDropModule,\n ThyIconModule,\n ThyTooltipModule,\n ThyResizableModule,\n ThyHotkeyModule,\n ThyLayout,\n ThyHeader,\n ThyContent,\n ThySidebar,\n ThySidebarHeader,\n ThySidebarContent,\n ThySidebarFooter,\n ThyContentSection,\n ThyContentMain,\n ThyLayoutDirective,\n ThyHeaderDirective,\n ThyContentDirective,\n ThySidebarDirective,\n ThySidebarHeaderDirective,\n ThySidebarContentDirective,\n ThySidebarFooterDirective,\n ThyContentSectionDirective,\n ThyContentMainDirective\n ],\n exports: [\n ThyLayout,\n ThyHeader,\n ThyContent,\n ThySidebar,\n ThySidebarHeader,\n ThySidebarContent,\n ThySidebarFooter,\n ThyContentSection,\n ThyContentMain,\n ThyLayoutDirective,\n ThyHeaderDirective,\n ThyContentDirective,\n ThySidebarDirective,\n ThySidebarHeaderDirective,\n ThySidebarContentDirective,\n ThySidebarFooterDirective,\n ThyContentSectionDirective,\n ThyContentMainDirective\n ]\n})\nexport class ThyLayoutModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ngx-tethys-layout.mjs","sources":["../../../src/layout/layout.component.ts","../../../src/layout/header.component.ts","../../../src/layout/header.component.html","../../../src/layout/content.component.ts","../../../src/layout/sidebar.component.ts","../../../src/layout/content-section.component.ts","../../../src/layout/content-main.component.ts","../../../src/layout/sidebar-header.component.ts","../../../src/layout/sidebar-header.component.html","../../../src/layout/sidebar-footer.component.ts","../../../src/layout/sidebar-content.component.ts","../../../src/layout/layout.module.ts","../../../src/layout/ngx-tethys-layout.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Directive, HostBinding } from '@angular/core';\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]': 'hasSidebar',\n '[class.thy-layout--is-sidebar-right]': 'isSidebarRight'\n },\n standalone: true\n})\nexport class ThyLayoutDirective {\n hasSidebar = false;\n isSidebarRight = false;\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 standalone: true\n})\nexport class ThyLayout {}\n","import { NgClass, NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ContentChild, Directive, Input, TemplateRef } 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 standalone: true\n})\nexport class ThyHeaderDirective {\n /**\n * 头部大小\n * @type sm | md | lg | xlg\n */\n @Input('thySize') thySize: 'sm' | 'md' | 'lg' | 'xlg' = 'md';\n\n /**\n * 底部是否有阴影\n * @default false\n */\n @Input({ transform: coerceBooleanProperty }) thyShadow = false;\n\n divided = false;\n\n /**\n * 底部是否有分割线\n */\n @Input({ transform: coerceBooleanProperty })\n set thyDivided(value: boolean) {\n this.divided = value;\n }\n\n /**\n * 底部是否有分割线,已废弃,请使用 thyDivided\n * @deprecated please use thyDivided\n */\n @Input({ transform: coerceBooleanProperty })\n set thyHasBorder(value: boolean) {\n this.divided = value;\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 standalone: true,\n imports: [NgTemplateOutlet, ThyIcon, NgClass, ThyHeaderDirective]\n})\nexport class ThyHeader {\n public iconClass: string;\n\n public svgIconName: string;\n\n /**\n * 头部标题\n */\n @Input() thyTitle: string;\n\n /**\n * 图标前缀,被弃用,图标使用 SVG 图标\n */\n @Input() thyIconPrefix = 'wtf';\n\n /**\n * 图标,SVG 图标名称\n */\n @Input('thyIcon')\n set thyIcon(value: string) {\n if (value) {\n if (value.includes('wtf')) {\n this.iconClass = `${this.thyIconPrefix} ${value}`;\n } else {\n this.svgIconName = value;\n }\n } else {\n this.iconClass = null;\n this.svgIconName = null;\n }\n }\n\n /**\n * 头部自定义标题模板,`<ng-template #headerTitle></ng-template>`\n * @type TemplateRef\n */\n @ContentChild('headerTitle')\n public titleTemplateRef: TemplateRef<any>;\n\n /**\n * 头部自定义内容模板,`<ng-template #headerContent></ng-template>`\n * @type TemplateRef\n */\n @ContentChild('headerContent')\n public contentTemplateRef: TemplateRef<any>;\n\n /**\n * 头部自定义操作模板,`<ng-template #headerOperation></ng-template>`\n * @type TemplateRef\n */\n @ContentChild('headerOperation')\n public operationTemplateRef: TemplateRef<any>;\n}\n","<div class=\"layout-header-title\">\n <ng-template [ngTemplateOutlet]=\"titleTemplateRef\"></ng-template>\n @if (!titleTemplateRef) {\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 standalone: true\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 standalone: true\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} 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 } 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\" && !isDivided',\n '[class.thy-layout-sidebar--clear-border-left]': 'thyDirection === \"right\" && !isDivided',\n '[class.sidebar-theme-light]': 'thyTheme === \"light\"',\n '[class.sidebar-theme-dark]': 'thyTheme === \"dark\"',\n '[class.thy-layout-sidebar-isolated]': 'sidebarIsolated'\n },\n standalone: true\n})\nexport class ThySidebarDirective implements OnInit {\n private thyLayoutDirective = inject(ThyLayoutDirective, { optional: true, host: true })!;\n\n sidebarIsolated = false;\n\n isDivided = true;\n\n @HostBinding('style.width.px') thyLayoutSidebarWidth: number;\n\n /**\n * sidebar 位置,默认在左侧\n */\n @Input() thyDirection: ThySidebarDirection = 'left';\n\n /**\n * 主题\n * @type white | light | dark\n * @default white\n */\n @Input() thyTheme: ThySidebarTheme;\n\n /**\n * 宽度,默认是 240px,传入 `lg` 大小时宽度是300px\n * @default 240px\n */\n @Input('thyWidth')\n set thyWidth(value: string | number) {\n if (value === 'lg') {\n value = LG_WIDTH;\n }\n this.thyLayoutSidebarWidth = (value as number) || SIDEBAR_DEFAULT_WIDTH;\n }\n\n /**\n * 是否和右侧 /左侧隔离,当为 true 时距右侧 /左侧会有 margin,同时边框会去掉\n * @default false\n */\n @Input({ transform: coerceBooleanProperty })\n set thyIsolated(value: boolean) {\n this.sidebarIsolated = value;\n }\n\n /**\n * sidebar 是否有分割线。当`thyDirection`值为`left`时,控制右侧是否有分割线;当`thyDirection`值为`right`时,控制左侧是否有分割线。\n * @default true\n */\n @Input({ transform: coerceBooleanProperty })\n set thyDivided(value: boolean) {\n this.isDivided = value;\n }\n\n /**\n * 右侧是否有边框,已废弃,请使用 thyDivided\n * @deprecated please use thyDivided\n * @default true\n */\n @Input({ transform: coerceBooleanProperty })\n set thyHasBorderRight(value: boolean) {\n this.thyDivided = value;\n }\n\n /**\n * 左侧是否有边框,已废弃,请使用 thyDivided\n * @deprecated please use thyDivided\n * @default true\n */\n @Input({ transform: coerceBooleanProperty })\n set thyHasBorderLeft(value: boolean) {\n this.thyDivided = value;\n }\n\n ngOnInit() {\n if (this.thyLayoutDirective) {\n this.thyLayoutDirective.hasSidebar = true;\n }\n if (this.thyDirection === 'right') {\n this.thyLayoutDirective.isSidebarRight = true;\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 (!thyCollapsed) {\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 (thyCollapsible && 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.thyCollapsed ? 'indent' : 'outdent'\"></thy-icon>\n </ng-template>\n </div>\n }\n `,\n hostDirectives: [\n {\n directive: ThySidebarDirective,\n inputs: ['thyTheme', 'thyDirection', 'thyWidth', 'thyIsolated', 'thyDivided', 'thyHasBorderLeft', 'thyHasBorderRight']\n }\n ],\n standalone: true,\n imports: [NgTemplateOutlet, ThyResizeHandle, ThyResizableDirective, ThyIcon, ThyTooltipDirective, NgClass, NgStyle]\n})\nexport class ThySidebar implements OnInit, OnDestroy {\n private locale: Signal<ThyLayoutLocale> = injectLocale('layout');\n\n elementRef = inject(ElementRef);\n private hotkeyDispatcher = inject(ThyHotkeyDispatcher);\n\n sidebarDirective = inject(ThySidebarDirective);\n\n @HostBinding('style.width.px') get sidebarWidth() {\n if (this.thyCollapsible && this.thyCollapsed) {\n return this.thyCollapsedWidth;\n } else {\n return this.sidebarDirective.thyLayoutSidebarWidth;\n }\n }\n\n @HostListener('mouseenter', ['$event'])\n mouseenter($event: MouseEvent) {\n this.resizeHandleHover($event, 'enter');\n }\n\n @HostListener('mouseleave', ['$event'])\n mouseleave($event: MouseEvent) {\n this.resizeHandleHover($event, 'leave');\n }\n\n /**\n * 宽度是否可以拖拽\n * @default false\n */\n @Input({ transform: coerceBooleanProperty }) thyDraggable: boolean = false;\n\n /**\n * 拖拽的最大宽度\n */\n @Input({ transform: numberAttribute }) thyDragMaxWidth: number;\n\n /**\n * 拖拽的最小宽度\n */\n @Input({ transform: numberAttribute }) thyDragMinWidth: number;\n\n /**\n * 展示收起的触发器自定义模板,默认显示展开收起的圆形图标,设置为 null 表示不展示触发元素,手动控制展开收起状态\n * @type null | undefined | TemplateRef<any>\n * @default undefined\n */\n @Input() thyTrigger: null | undefined | TemplateRef<any> = undefined;\n\n /**\n * 收起状态改变后的事件\n */\n @Output()\n thyCollapsedChange = new EventEmitter<boolean>();\n\n /**\n * 拖拽宽度的修改事件\n */\n @Output()\n thyDragWidthChange = new EventEmitter<number>();\n\n /**\n * 开启收起/展开功能\n * @default false\n */\n @Input({ transform: coerceBooleanProperty }) set thyCollapsible(collapsible: boolean) {\n this.collapsible = collapsible;\n if (this.collapsible) {\n this.subscribeHotkeyEvent();\n } else {\n this.hotkeySubscription?.unsubscribe();\n }\n }\n\n get thyCollapsible() {\n return this.collapsible;\n }\n\n /**\n * 是否是收起\n * @default false\n */\n @Input({ transform: coerceBooleanProperty }) set thyCollapsed(value: boolean) {\n this.isCollapsed = value;\n }\n\n get thyCollapsed() {\n return this.isCollapsed;\n }\n\n /**\n * 收起后的宽度\n */\n @Input({ transform: numberAttribute }) thyCollapsedWidth = SIDEBAR_COLLAPSED_WIDTH;\n\n /**\n * 默认宽度,双击后可恢复到此宽度,默认是 240px,传入 lg 大小时宽度是300px\n */\n @Input() thyDefaultWidth: string | number;\n\n @HostBinding('class.sidebar-collapse-show')\n get collapseVisibility() {\n return this.thyCollapsed;\n }\n\n @HostBinding('class.remove-transition')\n get removeTransition() {\n return this.isRemoveTransition;\n }\n\n collapseTip: string;\n\n collapsible: boolean;\n\n isCollapsed = false;\n\n originWidth: number = SIDEBAR_DEFAULT_WIDTH;\n\n collapseVisible: boolean;\n\n collapseHidden: boolean;\n\n isRemoveTransition: boolean;\n\n isResizable: boolean;\n\n get dragMinWidth() {\n return this.thyDragMinWidth || this.thyCollapsedWidth;\n }\n\n private hotkeySubscription: Subscription;\n\n ngOnInit() {\n this.updateCollapseTip();\n }\n\n private subscribeHotkeyEvent() {\n this.hotkeySubscription = this.hotkeyDispatcher.keydown(['Control+/', 'Meta+/']).subscribe(() => {\n this.toggleCollapse();\n });\n }\n\n private updateCollapseTip() {\n this.collapseTip = this.thyCollapsed ? this.locale().expand : this.locale().collapse;\n this.collapseTip = this.collapseTip + (isMacPlatform() ? `(⌘ + /)` : `(Ctrl + /)`);\n }\n\n resizeHandler({ width }: ThyResizeEvent) {\n if (width === this.sidebarDirective.thyLayoutSidebarWidth) {\n return;\n }\n if (this.thyCollapsible && width < this.thyCollapsedWidth) {\n return;\n }\n if (this.thyCollapsible && width === this.thyCollapsedWidth) {\n this.thyCollapsed = true;\n setTimeout(() => this.updateCollapseTip(), 200);\n this.thyCollapsedChange.emit(this.isCollapsed);\n this.sidebarDirective.thyLayoutSidebarWidth = this.originWidth;\n this.collapseVisible = false;\n return;\n }\n this.sidebarDirective.thyLayoutSidebarWidth = width;\n this.thyDragWidthChange.emit(width);\n }\n\n resizeStart() {\n this.originWidth = this.sidebarDirective.thyLayoutSidebarWidth;\n this.collapseHidden = true;\n this.isRemoveTransition = true;\n }\n\n resizeEnd() {\n this.collapseHidden = false;\n this.isRemoveTransition = false;\n }\n\n resizeHandleHover(event: MouseEvent, type: 'enter' | 'leave') {\n this.collapseVisible = type === 'enter' && !this.thyCollapsed ? true : false;\n }\n\n toggleCollapse(event?: MouseEvent) {\n this.thyCollapsed = !this.thyCollapsed;\n setTimeout(() => this.updateCollapseTip(), 200);\n this.thyCollapsedChange.emit(this.isCollapsed);\n }\n\n public toggleResizable(event: MouseEvent, type: 'enter' | 'leave') {\n this.isResizable = type === 'enter' ? true : false;\n }\n\n restoreToDefaultWidth() {\n if (this.thyDefaultWidth === 'lg') {\n this.thyDefaultWidth = LG_WIDTH;\n }\n this.sidebarDirective.thyLayoutSidebarWidth = (this.thyDefaultWidth as number) || SIDEBAR_DEFAULT_WIDTH;\n this.thyDragWidthChange.emit(this.sidebarDirective.thyLayoutSidebarWidth);\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 standalone: true\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 standalone: true\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 standalone: true\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 standalone: true\n})\nexport class ThyContentMain {}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ContentChild, Directive, Input, TemplateRef } from '@angular/core';\nimport { coerceBooleanProperty } 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 standalone: true\n})\nexport class ThySidebarHeaderDirective {\n /**\n * 是否有分割线\n * @default false\n */\n @Input({ transform: coerceBooleanProperty }) thyDivided: boolean | string;\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 standalone: true,\n imports: [NgTemplateOutlet]\n})\nexport class ThySidebarHeader {\n /**\n * 头部标题\n */\n @Input()\n thyTitle: string;\n\n /**\n * 头部自定义操作模板,`<ng-template #headerOperation></ng-template>`\n * @type TemplateRef\n */\n @ContentChild('headerOperation')\n public operationTemplateRef: TemplateRef<unknown>;\n\n /**\n * 头部自定义标题模板,`<ng-template #headerTitle></ng-template>`\n * @type TemplateRef\n */\n @ContentChild('headerTitle')\n public titleTemplateRef: TemplateRef<any>;\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 standalone: true\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 standalone: true\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 standalone: true\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 standalone: true\n})\nexport class ThySidebarContent {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThyLayout, ThyLayoutDirective } from './layout.component';\nimport { ThyHeader, ThyHeaderDirective } from './header.component';\nimport { ThyContent, ThyContentDirective } from './content.component';\nimport { ThySidebar, ThySidebarDirective } from './sidebar.component';\nimport { ThyContentSection, ThyContentSectionDirective } from './content-section.component';\nimport { ThyContentMain, ThyContentMainDirective } from './content-main.component';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { ThyHotkeyModule } from '@tethys/cdk/hotkey';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { ThyTooltipModule } from 'ngx-tethys/tooltip';\nimport { ThySidebarHeader, ThySidebarHeaderDirective } from './sidebar-header.component';\nimport { ThySidebarFooter, ThySidebarFooterDirective } from './sidebar-footer.component';\nimport { ThySidebarContent, ThySidebarContentDirective } from './sidebar-content.component';\nimport { ThyResizableModule } from 'ngx-tethys/resizable';\n\n@NgModule({\n imports: [\n CommonModule,\n DragDropModule,\n ThyIconModule,\n ThyTooltipModule,\n ThyResizableModule,\n ThyHotkeyModule,\n ThyLayout,\n ThyHeader,\n ThyContent,\n ThySidebar,\n ThySidebarHeader,\n ThySidebarContent,\n ThySidebarFooter,\n ThyContentSection,\n ThyContentMain,\n ThyLayoutDirective,\n ThyHeaderDirective,\n ThyContentDirective,\n ThySidebarDirective,\n ThySidebarHeaderDirective,\n ThySidebarContentDirective,\n ThySidebarFooterDirective,\n ThyContentSectionDirective,\n ThyContentMainDirective\n ],\n exports: [\n ThyLayout,\n ThyHeader,\n ThyContent,\n ThySidebar,\n ThySidebarHeader,\n ThySidebarContent,\n ThySidebarFooter,\n ThyContentSection,\n ThyContentMain,\n ThyLayoutDirective,\n ThyHeaderDirective,\n ThyContentDirective,\n ThySidebarDirective,\n ThySidebarHeaderDirective,\n ThySidebarContentDirective,\n ThySidebarFooterDirective,\n ThyContentSectionDirective,\n ThyContentMainDirective\n ]\n})\nexport class ThyLayoutModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import * as dateFns from 'date-fns';
2
2
  import { setHours, setMinutes, setSeconds } from 'date-fns';
3
+ import * as dateFnsLocales from 'date-fns/locale';
3
4
  import { TZDate } from '@date-fns/tz';
5
+ import { ThyLocaleType } from 'ngx-tethys/i18n';
4
6
  import { TemplateRef, ElementRef, isDevMode } from '@angular/core';
5
7
  import { _isNumberValue, coerceCssPixelValue as coerceCssPixelValue$1 } from '@angular/cdk/coercion';
6
8
  import * as keycodes$1 from '@angular/cdk/keycodes';
@@ -103,6 +105,23 @@ const eachMonthOfInterval = dateFns.eachMonthOfInterval;
103
105
  const eachYearOfInterval = dateFns.eachYearOfInterval;
104
106
  const eachHourOfInterval = dateFns.eachHourOfInterval;
105
107
  const setDefaultOptions = dateFns.setDefaultOptions;
108
+ const formatDistance = dateFns.formatDistance;
109
+ const getDateFnsLocale = (locale) => {
110
+ switch (locale) {
111
+ case 'zh-cn':
112
+ return dateFnsLocales[`zhCN`];
113
+ case 'zh-hant':
114
+ return dateFnsLocales[`zhTW`];
115
+ case 'en-us':
116
+ return dateFnsLocales[`enUS`];
117
+ case 'ja-jp':
118
+ return dateFnsLocales[`ja`];
119
+ case 'de-de':
120
+ return dateFnsLocales[`de`];
121
+ default:
122
+ return dateFnsLocales[`zhCN`];
123
+ }
124
+ };
106
125
 
107
126
  function sortRangeValue(rangeValue) {
108
127
  if (Array.isArray(rangeValue)) {
@@ -113,6 +132,7 @@ function sortRangeValue(rangeValue) {
113
132
  }
114
133
  const DEFAULT_TIMEZONE = 'Asia/Shanghai';
115
134
  class TinyDate {
135
+ static { this.dateFnsLocale = getDateFnsLocale(ThyLocaleType.zhHans); }
116
136
  static { this.defaultTimeZone = DEFAULT_TIMEZONE; }
117
137
  constructor(date, zone) {
118
138
  this.useTimeZone = zone || TinyDate.defaultTimeZone;
@@ -131,9 +151,20 @@ class TinyDate {
131
151
  this.nativeDate = new TZDate(Date.now(), this.useTimeZone);
132
152
  }
133
153
  }
154
+ static setDefaultLocale(locale) {
155
+ TinyDate.locale = locale;
156
+ TinyDate.dateFnsLocale = getDateFnsLocale(locale);
157
+ return setDefaultOptions({ locale: TinyDate.dateFnsLocale });
158
+ }
159
+ static getDefaultLocale() {
160
+ return { locale: TinyDate.locale, dateFnsLocale: TinyDate.dateFnsLocale };
161
+ }
134
162
  static setDefaultTimeZone(zone) {
135
163
  TinyDate.defaultTimeZone = zone ?? DEFAULT_TIMEZONE;
136
164
  }
165
+ static getDefaultTimeZone() {
166
+ return TinyDate.defaultTimeZone;
167
+ }
137
168
  static utcToZonedTime(value, timeZone) {
138
169
  return TZDate.tz(timeZone || TinyDate.defaultTimeZone, value);
139
170
  }
@@ -1310,5 +1341,5 @@ function setWarnDeprecation(enabled) {
1310
1341
  * Generated bundle index. Do not edit.
1311
1342
  */
1312
1343
 
1313
- export { DEFAULT_TIMEZONE, PREFIX, Producer, TinyDate, addDays, addHours, addMinutes, addMonths, addQuarters, addSeconds, addWeeks, addYears, assertIconOnly, buildReferencesKeyBy, camelCase, clamp, coerceArray, coerceBooleanProperty, coerceCssPixelValue, coerceNumberValue, concatArray, createWarnDeprecation, dateToUnixTimestamp, differenceInCalendarDays, differenceInCalendarMonths, differenceInCalendarQuarters, differenceInCalendarYears, differenceInDays, differenceInHours, differenceInMinutes, differenceInMonths, differenceInSeconds, differenceInWeeks, differenceInYears, dom, eachDayOfInterval, eachHourOfInterval, eachMonthOfInterval, eachWeekOfInterval, eachYearOfInterval, elementMatchClosest, endOfDay, endOfHour, endOfISOWeek, endOfMinute, endOfMonth, endOfQuarter, endOfWeek, endOfYear, fallbackMatches, format, fromUnixTime, generateRandomStr, get, getClientSize, getContainerRect, getDate, getDay, getDaysInMonth, getElementOffset, getFitContentPosition, getHTMLElementBySelector, getHours, getMinutes, getMonth, getOffset, getQuarter, getSeconds, getStyleAsText, getTime, getUnixTime, getWeek, getWindow, getYear, hasLaterChange, index as helpers, hexToRgb, htmlElementIsEmpty, humanizeBytes, indexKeyBy, isAfter, isArray, isBoolean, isClass, isDate, isDocument, isElement, isElementRef, isEmpty, isFloat, isFunction, isHTMLElement, isInputOrTextarea, isNull, isNumber, isObject, isSameDay, isSameHour, isSameMinute, isSameMonth, isSameQuarter, isSameSecond, isSameYear, isString, isTemplateRef, isToday, isTomorrow, isTouchEvent, isUndefined, isUndefinedOrNull, isValid, isWeekend, isWindow, keyBy, keycodes, log, match, mergeReferences, produce, references, set, setDate, setDay, setDefaultOptions, setMonth, setQuarter, setWarnDeprecation, setYear, shallowEqual, sortRangeValue, startOfDay, startOfHour, startOfISOWeek, startOfMinute, startOfMonth, startOfQuarter, startOfWeek, startOfYear, subBusinessDays, subDays, subHours, subMilliseconds, subMinutes, subMonths, subQuarters, subSeconds, subWeeks, subYears, valueFunctionProp, warn, warnDeprecation };
1344
+ export { DEFAULT_TIMEZONE, PREFIX, Producer, TinyDate, addDays, addHours, addMinutes, addMonths, addQuarters, addSeconds, addWeeks, addYears, assertIconOnly, buildReferencesKeyBy, camelCase, clamp, coerceArray, coerceBooleanProperty, coerceCssPixelValue, coerceNumberValue, concatArray, createWarnDeprecation, dateToUnixTimestamp, differenceInCalendarDays, differenceInCalendarMonths, differenceInCalendarQuarters, differenceInCalendarYears, differenceInDays, differenceInHours, differenceInMinutes, differenceInMonths, differenceInSeconds, differenceInWeeks, differenceInYears, dom, eachDayOfInterval, eachHourOfInterval, eachMonthOfInterval, eachWeekOfInterval, eachYearOfInterval, elementMatchClosest, endOfDay, endOfHour, endOfISOWeek, endOfMinute, endOfMonth, endOfQuarter, endOfWeek, endOfYear, fallbackMatches, format, formatDistance, fromUnixTime, generateRandomStr, get, getClientSize, getContainerRect, getDate, getDateFnsLocale, getDay, getDaysInMonth, getElementOffset, getFitContentPosition, getHTMLElementBySelector, getHours, getMinutes, getMonth, getOffset, getQuarter, getSeconds, getStyleAsText, getTime, getUnixTime, getWeek, getWindow, getYear, hasLaterChange, index as helpers, hexToRgb, htmlElementIsEmpty, humanizeBytes, indexKeyBy, isAfter, isArray, isBoolean, isClass, isDate, isDocument, isElement, isElementRef, isEmpty, isFloat, isFunction, isHTMLElement, isInputOrTextarea, isNull, isNumber, isObject, isSameDay, isSameHour, isSameMinute, isSameMonth, isSameQuarter, isSameSecond, isSameYear, isString, isTemplateRef, isToday, isTomorrow, isTouchEvent, isUndefined, isUndefinedOrNull, isValid, isWeekend, isWindow, keyBy, keycodes, log, match, mergeReferences, produce, references, set, setDate, setDay, setDefaultOptions, setMonth, setQuarter, setWarnDeprecation, setYear, shallowEqual, sortRangeValue, startOfDay, startOfHour, startOfISOWeek, startOfMinute, startOfMonth, startOfQuarter, startOfWeek, startOfYear, subBusinessDays, subDays, subHours, subMilliseconds, subMinutes, subMonths, subQuarters, subSeconds, subWeeks, subYears, valueFunctionProp, warn, warnDeprecation };
1314
1345
  //# sourceMappingURL=ngx-tethys-util.mjs.map