ngx-tethys 19.0.4 → 19.0.6

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 (242) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/anchor/anchor-link.component.d.ts +2 -1
  3. package/anchor/anchor.component.d.ts +2 -1
  4. package/anchor/anchor.token.d.ts +9 -0
  5. package/calendar/calendar-header.component.d.ts +3 -2
  6. package/carousel/carousel.component.d.ts +2 -1
  7. package/carousel/carousel.token.d.ts +7 -0
  8. package/carousel/engine/carousel-base.d.ts +3 -3
  9. package/carousel/engine/carousel-fade.d.ts +2 -2
  10. package/carousel/engine/carousel-noop.d.ts +2 -2
  11. package/carousel/engine/carousel-slide.d.ts +2 -2
  12. package/collapse/collapse-item.component.d.ts +2 -1
  13. package/collapse/collapse.component.d.ts +5 -5
  14. package/collapse/collapse.token.d.ts +15 -0
  15. package/color-picker/color-picker.component.d.ts +15 -3
  16. package/core/theme/enum.d.ts +5 -0
  17. package/core/theme/index.d.ts +1 -0
  18. package/core/theme/store.d.ts +1 -1
  19. package/core/theme/theme.d.ts +0 -5
  20. package/date-picker/abstract-picker.component.d.ts +6 -1
  21. package/date-picker/base-picker.component.d.ts +1 -1
  22. package/date-picker/lib/calendar/calendar-footer.component.d.ts +2 -1
  23. package/date-picker/lib/calendar/calendar-table.component.d.ts +4 -3
  24. package/date-picker/lib/popups/date-popup.component.d.ts +2 -1
  25. package/date-picker/lib/popups/inner-popup.component.d.ts +2 -1
  26. package/date-picker/picker.component.d.ts +2 -1
  27. package/date-picker/picker.util.d.ts +5 -5
  28. package/date-picker/standard-types.d.ts +7 -2
  29. package/drag-drop/drag-drop.service.d.ts +2 -2
  30. package/drag-drop/{drop-container.class.d.ts → drag-drop.token.d.ts} +12 -7
  31. package/drag-drop/drag-handle.directive.d.ts +2 -1
  32. package/drag-drop/drag-ref.d.ts +3 -5
  33. package/drag-drop/drag.directive.d.ts +3 -3
  34. package/drag-drop/drop-container.directive.d.ts +1 -1
  35. package/drag-drop/index.d.ts +1 -1
  36. package/fesm2022/ngx-tethys-action.mjs +11 -12
  37. package/fesm2022/ngx-tethys-action.mjs.map +1 -1
  38. package/fesm2022/ngx-tethys-affix.mjs +8 -9
  39. package/fesm2022/ngx-tethys-affix.mjs.map +1 -1
  40. package/fesm2022/ngx-tethys-alert.mjs +11 -12
  41. package/fesm2022/ngx-tethys-alert.mjs.map +1 -1
  42. package/fesm2022/ngx-tethys-anchor.mjs +26 -13
  43. package/fesm2022/ngx-tethys-anchor.mjs.map +1 -1
  44. package/fesm2022/ngx-tethys-arrow-switcher.mjs +7 -7
  45. package/fesm2022/ngx-tethys-autocomplete.mjs +17 -18
  46. package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
  47. package/fesm2022/ngx-tethys-avatar.mjs +25 -28
  48. package/fesm2022/ngx-tethys-avatar.mjs.map +1 -1
  49. package/fesm2022/ngx-tethys-back-top.mjs +7 -7
  50. package/fesm2022/ngx-tethys-badge.mjs +7 -7
  51. package/fesm2022/ngx-tethys-breadcrumb.mjs +10 -10
  52. package/fesm2022/ngx-tethys-button.mjs +14 -15
  53. package/fesm2022/ngx-tethys-button.mjs.map +1 -1
  54. package/fesm2022/ngx-tethys-calendar.mjs +18 -20
  55. package/fesm2022/ngx-tethys-calendar.mjs.map +1 -1
  56. package/fesm2022/ngx-tethys-card.mjs +15 -17
  57. package/fesm2022/ngx-tethys-card.mjs.map +1 -1
  58. package/fesm2022/ngx-tethys-carousel.mjs +28 -17
  59. package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
  60. package/fesm2022/ngx-tethys-cascader.mjs +16 -16
  61. package/fesm2022/ngx-tethys-checkbox.mjs +7 -7
  62. package/fesm2022/ngx-tethys-collapse.mjs +97 -85
  63. package/fesm2022/ngx-tethys-collapse.mjs.map +1 -1
  64. package/fesm2022/ngx-tethys-color-picker.mjs +34 -36
  65. package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
  66. package/fesm2022/ngx-tethys-comment.mjs +15 -17
  67. package/fesm2022/ngx-tethys-comment.mjs.map +1 -1
  68. package/fesm2022/ngx-tethys-copy.mjs +8 -9
  69. package/fesm2022/ngx-tethys-copy.mjs.map +1 -1
  70. package/fesm2022/ngx-tethys-core.mjs +21 -22
  71. package/fesm2022/ngx-tethys-core.mjs.map +1 -1
  72. package/fesm2022/ngx-tethys-date-picker.mjs +232 -248
  73. package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
  74. package/fesm2022/ngx-tethys-date-range.mjs +10 -10
  75. package/fesm2022/ngx-tethys-dialog.mjs +22 -23
  76. package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
  77. package/fesm2022/ngx-tethys-divider.mjs +7 -7
  78. package/fesm2022/ngx-tethys-dot.mjs +8 -9
  79. package/fesm2022/ngx-tethys-dot.mjs.map +1 -1
  80. package/fesm2022/ngx-tethys-drag-drop.mjs +23 -30
  81. package/fesm2022/ngx-tethys-drag-drop.mjs.map +1 -1
  82. package/fesm2022/ngx-tethys-dropdown.mjs +58 -70
  83. package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
  84. package/fesm2022/ngx-tethys-empty.mjs +10 -10
  85. package/fesm2022/ngx-tethys-flexible-text.mjs +8 -8
  86. package/fesm2022/ngx-tethys-flexible-text.mjs.map +1 -1
  87. package/fesm2022/ngx-tethys-form.mjs +47 -54
  88. package/fesm2022/ngx-tethys-form.mjs.map +1 -1
  89. package/fesm2022/ngx-tethys-fullscreen.mjs +15 -16
  90. package/fesm2022/ngx-tethys-fullscreen.mjs.map +1 -1
  91. package/fesm2022/ngx-tethys-grid.mjs +46 -51
  92. package/fesm2022/ngx-tethys-grid.mjs.map +1 -1
  93. package/fesm2022/ngx-tethys-guider.mjs +55 -61
  94. package/fesm2022/ngx-tethys-guider.mjs.map +1 -1
  95. package/fesm2022/ngx-tethys-i18n.mjs +51 -54
  96. package/fesm2022/ngx-tethys-i18n.mjs.map +1 -1
  97. package/fesm2022/ngx-tethys-icon.mjs +11 -12
  98. package/fesm2022/ngx-tethys-icon.mjs.map +1 -1
  99. package/fesm2022/ngx-tethys-image.mjs +32 -21
  100. package/fesm2022/ngx-tethys-image.mjs.map +1 -1
  101. package/fesm2022/ngx-tethys-input-number.mjs +7 -7
  102. package/fesm2022/ngx-tethys-input.mjs +21 -23
  103. package/fesm2022/ngx-tethys-input.mjs.map +1 -1
  104. package/fesm2022/ngx-tethys-layout.mjs +73 -88
  105. package/fesm2022/ngx-tethys-layout.mjs.map +1 -1
  106. package/fesm2022/ngx-tethys-list.mjs +19 -22
  107. package/fesm2022/ngx-tethys-list.mjs.map +1 -1
  108. package/fesm2022/ngx-tethys-loading.mjs +7 -7
  109. package/fesm2022/ngx-tethys-mention.mjs +11 -12
  110. package/fesm2022/ngx-tethys-mention.mjs.map +1 -1
  111. package/fesm2022/ngx-tethys-menu.mjs +30 -30
  112. package/fesm2022/ngx-tethys-menu.mjs.map +1 -1
  113. package/fesm2022/ngx-tethys-message.mjs +24 -24
  114. package/fesm2022/ngx-tethys-message.mjs.map +1 -1
  115. package/fesm2022/ngx-tethys-nav.mjs +26 -29
  116. package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
  117. package/fesm2022/ngx-tethys-notify.mjs +17 -17
  118. package/fesm2022/ngx-tethys-notify.mjs.map +1 -1
  119. package/fesm2022/ngx-tethys-pagination.mjs +15 -17
  120. package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
  121. package/fesm2022/ngx-tethys-popover.mjs +21 -23
  122. package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
  123. package/fesm2022/ngx-tethys-progress.mjs +13 -13
  124. package/fesm2022/ngx-tethys-property-operation.mjs +11 -11
  125. package/fesm2022/ngx-tethys-property-operation.mjs.map +1 -1
  126. package/fesm2022/ngx-tethys-property.mjs +11 -11
  127. package/fesm2022/ngx-tethys-property.mjs.map +1 -1
  128. package/fesm2022/ngx-tethys-radio.mjs +125 -115
  129. package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
  130. package/fesm2022/ngx-tethys-rate.mjs +10 -10
  131. package/fesm2022/ngx-tethys-resizable.mjs +18 -18
  132. package/fesm2022/ngx-tethys-resizable.mjs.map +1 -1
  133. package/fesm2022/ngx-tethys-result.mjs +7 -7
  134. package/fesm2022/ngx-tethys-segment.mjs +10 -10
  135. package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
  136. package/fesm2022/ngx-tethys-select.mjs +10 -10
  137. package/fesm2022/ngx-tethys-shared.mjs +81 -109
  138. package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
  139. package/fesm2022/ngx-tethys-skeleton.mjs +23 -24
  140. package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
  141. package/fesm2022/ngx-tethys-slide.mjs +36 -41
  142. package/fesm2022/ngx-tethys-slide.mjs.map +1 -1
  143. package/fesm2022/ngx-tethys-slider.mjs +7 -7
  144. package/fesm2022/ngx-tethys-space.mjs +11 -12
  145. package/fesm2022/ngx-tethys-space.mjs.map +1 -1
  146. package/fesm2022/ngx-tethys-statistic.mjs +7 -7
  147. package/fesm2022/ngx-tethys-stepper.mjs +22 -24
  148. package/fesm2022/ngx-tethys-stepper.mjs.map +1 -1
  149. package/fesm2022/ngx-tethys-strength.mjs +8 -8
  150. package/fesm2022/ngx-tethys-strength.mjs.map +1 -1
  151. package/fesm2022/ngx-tethys-switch.mjs +7 -7
  152. package/fesm2022/ngx-tethys-table.mjs +22 -25
  153. package/fesm2022/ngx-tethys-table.mjs.map +1 -1
  154. package/fesm2022/ngx-tethys-tabs.mjs +14 -15
  155. package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
  156. package/fesm2022/ngx-tethys-tag.mjs +12 -13
  157. package/fesm2022/ngx-tethys-tag.mjs.map +1 -1
  158. package/fesm2022/ngx-tethys-time-picker.mjs +58 -56
  159. package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
  160. package/fesm2022/ngx-tethys-timeline.mjs +13 -13
  161. package/fesm2022/ngx-tethys-timeline.mjs.map +1 -1
  162. package/fesm2022/ngx-tethys-tooltip.mjs +14 -15
  163. package/fesm2022/ngx-tethys-tooltip.mjs.map +1 -1
  164. package/fesm2022/ngx-tethys-transfer.mjs +10 -10
  165. package/fesm2022/ngx-tethys-tree-select.mjs +10 -10
  166. package/fesm2022/ngx-tethys-tree.mjs +17 -21
  167. package/fesm2022/ngx-tethys-tree.mjs.map +1 -1
  168. package/fesm2022/ngx-tethys-typography.mjs +15 -17
  169. package/fesm2022/ngx-tethys-typography.mjs.map +1 -1
  170. package/fesm2022/ngx-tethys-upload.mjs +18 -19
  171. package/fesm2022/ngx-tethys-upload.mjs.map +1 -1
  172. package/fesm2022/ngx-tethys-util.mjs +418 -396
  173. package/fesm2022/ngx-tethys-util.mjs.map +1 -1
  174. package/fesm2022/ngx-tethys-vote.mjs +7 -7
  175. package/fesm2022/ngx-tethys-watermark.mjs +8 -9
  176. package/fesm2022/ngx-tethys-watermark.mjs.map +1 -1
  177. package/fesm2022/ngx-tethys.mjs +1 -1
  178. package/fesm2022/ngx-tethys.mjs.map +1 -1
  179. package/grid/grid.type.d.ts +5 -0
  180. package/grid/index.d.ts +1 -0
  181. package/grid/thy-grid-item.component.d.ts +1 -1
  182. package/grid/thy-grid.component.d.ts +1 -11
  183. package/guider/guider-manager.d.ts +2 -1
  184. package/guider/guider-ref.d.ts +6 -6
  185. package/guider/guider-step-ref.d.ts +3 -4
  186. package/guider/guider.interface.d.ts +26 -0
  187. package/i18n/i18n.service.d.ts +1 -1
  188. package/i18n/index.d.ts +2 -5
  189. package/i18n/locale.d.ts +1 -7
  190. package/i18n/locales/index.d.ts +5 -0
  191. package/i18n/util.d.ts +3 -0
  192. package/icon/index.d.ts +1 -1
  193. package/image/image-group.component.d.ts +4 -4
  194. package/image/image.directive.d.ts +2 -1
  195. package/image/image.token.d.ts +17 -0
  196. package/layout/header.component.d.ts +6 -18
  197. package/list/selection/selection-list.d.ts +2 -1
  198. package/list/selection/selection.interface.d.ts +2 -3
  199. package/message/abstract/abstract-message-queue.service.d.ts +2 -2
  200. package/message/abstract/abstract-message-ref.d.ts +6 -2
  201. package/package.json +2 -1
  202. package/popover/popover.directive.d.ts +6 -2
  203. package/radio/group/radio-group.component.d.ts +2 -1
  204. package/radio/radio.component.d.ts +3 -3
  205. package/radio/radio.token.d.ts +12 -0
  206. package/resizable/interface.d.ts +5 -0
  207. package/resizable/resizable.directive.d.ts +9 -3
  208. package/resizable/resizable.service.d.ts +1 -1
  209. package/resizable/resize-handle.component.d.ts +1 -6
  210. package/schematics/version.d.ts +1 -1
  211. package/schematics/version.js +1 -1
  212. package/segment/segment-item.component.d.ts +2 -1
  213. package/segment/segment.token.d.ts +10 -4
  214. package/shared/index.d.ts +1 -0
  215. package/shared/option/list-option/list-option.component.d.ts +10 -5
  216. package/shared/option/option.component.d.ts +1 -3
  217. package/shared/option/option.token.d.ts +11 -11
  218. package/shared/shared.type.d.ts +1 -0
  219. package/table/index.d.ts +1 -0
  220. package/table/styles/table.scss +9 -1
  221. package/table/table-column.component.d.ts +5 -30
  222. package/table/table-skeleton.component.d.ts +11 -3
  223. package/table/table.component.d.ts +1 -3
  224. package/table/table.type.d.ts +3 -0
  225. package/tag/tag.component.d.ts +2 -4
  226. package/time-picker/inner/inner-time-picker.component.d.ts +3 -1
  227. package/time-picker/inner/inner-time-picker.store.d.ts +5 -5
  228. package/time-picker/time-picker.utils.d.ts +5 -5
  229. package/timeline/index.d.ts +1 -0
  230. package/timeline/timeline-item.component.d.ts +1 -1
  231. package/timeline/timeline.component.d.ts +1 -1
  232. package/timeline/timeline.type.d.ts +1 -0
  233. package/tooltip/tooltip.directive.d.ts +2 -10
  234. package/tree/index.d.ts +0 -1
  235. package/tree/tree-abstract.d.ts +1 -1
  236. package/tree/tree-node.component.d.ts +17 -8
  237. package/tree/tree.class.d.ts +40 -1
  238. package/tree/tree.component.d.ts +1 -1
  239. package/tree/tree.pipe.d.ts +1 -1
  240. package/tree/tree.service.d.ts +3 -9
  241. package/util/helpers/helpers.d.ts +1 -0
  242. package/tree/tree-node.class.d.ts +0 -29
@@ -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 imports: [NgTemplateOutlet, ThyIcon, NgClass]\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 imports: [NgTemplateOutlet, ThyResizeHandle, ThyResizableDirective, ThyIcon, ThyTooltipDirective, NgClass]\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 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})\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})\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})\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 imports: [NgTemplateOutlet, ThyIcon, NgClass]\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})\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} 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})\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 imports: [NgTemplateOutlet, ThyResizeHandle, ThyResizableDirective, ThyIcon, ThyTooltipDirective, NgClass]\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})\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, 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})\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 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})\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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"}
@@ -29,15 +29,14 @@ class ThyList {
29
29
  this._isDivided = false;
30
30
  this._isList = true;
31
31
  }
32
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: ThyList, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
33
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.4", type: ThyList, isStandalone: true, selector: "thy-list", inputs: { thyDivided: ["thyDivided", "thyDivided", coerceBooleanProperty] }, host: { properties: { "class.thy-list-divided": "this._isDivided", "class.thy-list": "this._isList" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true }); }
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyList, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
33
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.6", type: ThyList, isStandalone: true, selector: "thy-list", inputs: { thyDivided: ["thyDivided", "thyDivided", coerceBooleanProperty] }, host: { properties: { "class.thy-list-divided": "this._isDivided", "class.thy-list": "this._isList" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true }); }
34
34
  }
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: ThyList, decorators: [{
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyList, decorators: [{
36
36
  type: Component,
37
37
  args: [{
38
38
  selector: 'thy-list',
39
- template: '<ng-content></ng-content>',
40
- standalone: true
39
+ template: '<ng-content></ng-content>'
41
40
  }]
42
41
  }], ctorParameters: () => [], propDecorators: { thyDivided: [{
43
42
  type: Input,
@@ -58,15 +57,14 @@ class ThyListItem {
58
57
  constructor() {
59
58
  this._isListItem = true;
60
59
  }
61
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: ThyListItem, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
62
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.4", type: ThyListItem, isStandalone: true, selector: "thy-list-item,[thy-list-item]", host: { properties: { "class.thy-list-item": "this._isListItem" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true }); }
60
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyListItem, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
61
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.6", type: ThyListItem, isStandalone: true, selector: "thy-list-item,[thy-list-item]", host: { properties: { "class.thy-list-item": "this._isListItem" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true }); }
63
62
  }
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: ThyListItem, decorators: [{
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyListItem, decorators: [{
65
64
  type: Component,
66
65
  args: [{
67
66
  selector: 'thy-list-item,[thy-list-item]',
68
- template: '<ng-content></ng-content>',
69
- standalone: true
67
+ template: '<ng-content></ng-content>'
70
68
  }]
71
69
  }], ctorParameters: () => [], propDecorators: { _isListItem: [{
72
70
  type: HostBinding,
@@ -381,8 +379,8 @@ class ThySelectionList {
381
379
  this._bindKeyEventUnsubscribe();
382
380
  }
383
381
  }
384
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: ThySelectionList, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
385
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.4", type: ThySelectionList, isStandalone: true, selector: "thy-selection-list,[thy-selection-list]", inputs: { thyMultiple: ["thyMultiple", "thyMultiple", coerceBooleanProperty], thyBindKeyEventContainer: "thyBindKeyEventContainer", thyScrollContainer: "thyScrollContainer", thyBeforeKeydown: "thyBeforeKeydown", thyUniqueKey: "thyUniqueKey", thyCompareWith: "thyCompareWith", thyLayout: "thyLayout", thyAutoActiveFirstItem: ["thyAutoActiveFirstItem", "thyAutoActiveFirstItem", coerceBooleanProperty], thySize: "thySize", thySpaceKeyEnabled: ["thySpaceKeyEnabled", "thySpaceKeyEnabled", coerceBooleanProperty] }, outputs: { thySelectionChange: "thySelectionChange" }, host: { properties: { "class.thy-list": "this._isList", "class.thy-selection-list": "this._isSelectionList", "class.thy-multiple-selection-list": "this.multiple", "class.thy-grid-list": "this.isLayoutGrid" } }, providers: [
382
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThySelectionList, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
383
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.6", type: ThySelectionList, isStandalone: true, selector: "thy-selection-list,[thy-selection-list]", inputs: { thyMultiple: ["thyMultiple", "thyMultiple", coerceBooleanProperty], thyBindKeyEventContainer: "thyBindKeyEventContainer", thyScrollContainer: "thyScrollContainer", thyBeforeKeydown: "thyBeforeKeydown", thyUniqueKey: "thyUniqueKey", thyCompareWith: "thyCompareWith", thyLayout: "thyLayout", thyAutoActiveFirstItem: ["thyAutoActiveFirstItem", "thyAutoActiveFirstItem", coerceBooleanProperty], thySize: "thySize", thySpaceKeyEnabled: ["thySpaceKeyEnabled", "thySpaceKeyEnabled", coerceBooleanProperty] }, outputs: { thySelectionChange: "thySelectionChange" }, host: { properties: { "class.thy-list": "this._isList", "class.thy-selection-list": "this._isSelectionList", "class.thy-multiple-selection-list": "this.multiple", "class.thy-grid-list": "this.isLayoutGrid" } }, providers: [
386
384
  {
387
385
  provide: THY_LIST_OPTION_PARENT_COMPONENT,
388
386
  useExisting: ThySelectionList
@@ -394,7 +392,7 @@ class ThySelectionList {
394
392
  }
395
393
  ], queries: [{ propertyName: "options", predicate: ThyListOption, descendants: true }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
396
394
  }
397
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: ThySelectionList, decorators: [{
395
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThySelectionList, decorators: [{
398
396
  type: Component,
399
397
  args: [{
400
398
  selector: 'thy-selection-list,[thy-selection-list]',
@@ -410,8 +408,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImpor
410
408
  multi: true
411
409
  }
412
410
  ],
413
- changeDetection: ChangeDetectionStrategy.OnPush,
414
- standalone: true
411
+ changeDetection: ChangeDetectionStrategy.OnPush
415
412
  }]
416
413
  }], propDecorators: { _isList: [{
417
414
  type: HostBinding,
@@ -463,10 +460,10 @@ class ThyListItemMeta {
463
460
  constructor() {
464
461
  this.className = `thy-list-item-meta`;
465
462
  }
466
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: ThyListItemMeta, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
467
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.4", type: ThyListItemMeta, isStandalone: true, selector: "thy-list-item-meta,[thy-list-item-meta]", inputs: { thyAvatar: "thyAvatar", thyTitle: "thyTitle", thyDescription: "thyDescription" }, host: { properties: { "class": "this.className" } }, queries: [{ propertyName: "avatarTemplateRef", first: true, predicate: ["metaAvatar"], descendants: true }, { propertyName: "titleTemplateRef", first: true, predicate: ["metaTitle"], descendants: true }, { propertyName: "descriptionTemplateRef", first: true, predicate: ["metaDescription"], descendants: true }], ngImport: i0, template: "<div class=\"thy-list-item-meta-avatar\">\n @if (thyAvatar) {\n <thy-avatar [thySrc]=\"thyAvatar\"></thy-avatar>\n } @else {\n <ng-template [ngTemplateOutlet]=\"avatarTemplateRef\"></ng-template>\n }\n</div>\n<div class=\"thy-list-item-meta-content\">\n <div class=\"thy-list-item-meta-title\">\n @if (thyTitle) {\n {{ thyTitle }}\n } @else {\n <ng-template [ngTemplateOutlet]=\"titleTemplateRef\"></ng-template>\n }\n </div>\n <div class=\"thy-list-item-meta-description\">\n @if (thyDescription) {\n {{ thyDescription }}\n } @else {\n <ng-template [ngTemplateOutlet]=\"descriptionTemplateRef\"></ng-template>\n }\n </div>\n</div>\n", dependencies: [{ kind: "component", type: ThyAvatar, selector: "thy-avatar", inputs: ["thyShowName", "thySrc", "thyName", "thySize", "thyShowRemove", "thyRemovable", "thyImgClass", "thyDisabled", "thyLoading", "thyFetchPriority"], outputs: ["thyOnRemove", "thyRemove", "thyError"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
463
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyListItemMeta, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
464
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.6", type: ThyListItemMeta, isStandalone: true, selector: "thy-list-item-meta,[thy-list-item-meta]", inputs: { thyAvatar: "thyAvatar", thyTitle: "thyTitle", thyDescription: "thyDescription" }, host: { properties: { "class": "this.className" } }, queries: [{ propertyName: "avatarTemplateRef", first: true, predicate: ["metaAvatar"], descendants: true }, { propertyName: "titleTemplateRef", first: true, predicate: ["metaTitle"], descendants: true }, { propertyName: "descriptionTemplateRef", first: true, predicate: ["metaDescription"], descendants: true }], ngImport: i0, template: "<div class=\"thy-list-item-meta-avatar\">\n @if (thyAvatar) {\n <thy-avatar [thySrc]=\"thyAvatar\"></thy-avatar>\n } @else {\n <ng-template [ngTemplateOutlet]=\"avatarTemplateRef\"></ng-template>\n }\n</div>\n<div class=\"thy-list-item-meta-content\">\n <div class=\"thy-list-item-meta-title\">\n @if (thyTitle) {\n {{ thyTitle }}\n } @else {\n <ng-template [ngTemplateOutlet]=\"titleTemplateRef\"></ng-template>\n }\n </div>\n <div class=\"thy-list-item-meta-description\">\n @if (thyDescription) {\n {{ thyDescription }}\n } @else {\n <ng-template [ngTemplateOutlet]=\"descriptionTemplateRef\"></ng-template>\n }\n </div>\n</div>\n", dependencies: [{ kind: "component", type: ThyAvatar, selector: "thy-avatar", inputs: ["thyShowName", "thySrc", "thyName", "thySize", "thyShowRemove", "thyRemovable", "thyImgClass", "thyDisabled", "thyLoading", "thyFetchPriority"], outputs: ["thyOnRemove", "thyRemove", "thyError"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
468
465
  }
469
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: ThyListItemMeta, decorators: [{
466
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyListItemMeta, decorators: [{
470
467
  type: Component,
471
468
  args: [{ selector: 'thy-list-item-meta,[thy-list-item-meta]', changeDetection: ChangeDetectionStrategy.OnPush, imports: [ThyAvatar, NgTemplateOutlet], template: "<div class=\"thy-list-item-meta-avatar\">\n @if (thyAvatar) {\n <thy-avatar [thySrc]=\"thyAvatar\"></thy-avatar>\n } @else {\n <ng-template [ngTemplateOutlet]=\"avatarTemplateRef\"></ng-template>\n }\n</div>\n<div class=\"thy-list-item-meta-content\">\n <div class=\"thy-list-item-meta-title\">\n @if (thyTitle) {\n {{ thyTitle }}\n } @else {\n <ng-template [ngTemplateOutlet]=\"titleTemplateRef\"></ng-template>\n }\n </div>\n <div class=\"thy-list-item-meta-description\">\n @if (thyDescription) {\n {{ thyDescription }}\n } @else {\n <ng-template [ngTemplateOutlet]=\"descriptionTemplateRef\"></ng-template>\n }\n </div>\n</div>\n" }]
472
469
  }], ctorParameters: () => [], propDecorators: { thyAvatar: [{
@@ -490,11 +487,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImpor
490
487
  }] } });
491
488
 
492
489
  class ThyListModule {
493
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: ThyListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
494
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.4", ngImport: i0, type: ThyListModule, imports: [CommonModule, ThyOptionModule, ThyAvatarModule, ThyList, ThyListItem, ThySelectionList, ThyListItemMeta], exports: [ThyList, ThyListItem, ThySelectionList, ThyListItemMeta, ThyOptionModule] }); }
495
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: ThyListModule, imports: [CommonModule, ThyOptionModule, ThyAvatarModule, ThyListItemMeta, ThyOptionModule] }); }
490
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
491
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: ThyListModule, imports: [CommonModule, ThyOptionModule, ThyAvatarModule, ThyList, ThyListItem, ThySelectionList, ThyListItemMeta], exports: [ThyList, ThyListItem, ThySelectionList, ThyListItemMeta, ThyOptionModule] }); }
492
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyListModule, imports: [CommonModule, ThyOptionModule, ThyAvatarModule, ThyListItemMeta, ThyOptionModule] }); }
496
493
  }
497
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: ThyListModule, decorators: [{
494
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyListModule, decorators: [{
498
495
  type: NgModule,
499
496
  args: [{
500
497
  imports: [CommonModule, ThyOptionModule, ThyAvatarModule, ThyList, ThyListItem, ThySelectionList, ThyListItemMeta],
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-tethys-list.mjs","sources":["../../../src/list/list.component.ts","../../../src/list/list-item.component.ts","../../../src/list/selection/selection-list.ts","../../../src/list/list-item-meta.component.ts","../../../src/list/list-item-meta.component.html","../../../src/list/list.module.ts","../../../src/list/ngx-tethys-list.ts"],"sourcesContent":["import { Component, Input, HostBinding } from '@angular/core';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\n/**\n * 列表组件\n * @name thy-list\n * @order 10\n */\n@Component({\n selector: 'thy-list',\n template: '<ng-content></ng-content>',\n standalone: true\n})\nexport class ThyList {\n /**\n * 控制分割线的显示与隐藏\n * @default false\n */\n @Input({ transform: coerceBooleanProperty })\n set thyDivided(value: boolean) {\n this._isDivided = value;\n }\n\n @HostBinding(`class.thy-list-divided`) _isDivided = false;\n\n @HostBinding(`class.thy-list`) _isList = true;\n\n constructor() {}\n}\n","import { Component, HostBinding } from '@angular/core';\n\n/**\n * @name thy-list-item,[thy-list-item]\n * @order 15\n */\n@Component({\n selector: 'thy-list-item,[thy-list-item]',\n template: '<ng-content></ng-content>',\n standalone: true\n})\nexport class ThyListItem {\n @HostBinding(`class.thy-list-item`) _isListItem = true;\n\n constructor() {}\n}\n","import { ScrollToService } from 'ngx-tethys/core';\nimport { IThyListOptionParentComponent, THY_LIST_OPTION_PARENT_COMPONENT, ThyListLayout, ThyListOption } from 'ngx-tethys/shared';\nimport { coerceBooleanProperty, dom, helpers, keycodes } from 'ngx-tethys/util';\nimport { Subscription } from 'rxjs';\nimport { startWith } from 'rxjs/operators';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n Renderer2,\n inject\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { ThySelectionListChange } from './selection.interface';\n\nexport type ThyListSize = 'sm' | 'md' | 'lg';\n\nconst listSizesMap = {\n sm: 'thy-list-sm'\n};\n\n/**\n * @name thy-selection-list,[thy-selection-list]\n * @order 20\n */\n@Component({\n selector: 'thy-selection-list,[thy-selection-list]',\n template: '<ng-content></ng-content>',\n providers: [\n {\n provide: THY_LIST_OPTION_PARENT_COMPONENT,\n useExisting: ThySelectionList\n },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ThySelectionList),\n multi: true\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class ThySelectionList implements OnInit, OnDestroy, AfterContentInit, IThyListOptionParentComponent, ControlValueAccessor {\n private renderer = inject(Renderer2);\n private elementRef = inject(ElementRef);\n private ngZone = inject(NgZone);\n private changeDetectorRef = inject(ChangeDetectorRef);\n\n private _keyManager: ActiveDescendantKeyManager<ThyListOption>;\n\n private _selectionChangesUnsubscribe$ = Subscription.EMPTY;\n\n private _bindKeyEventUnsubscribe: () => void;\n\n private _modelValues: any[];\n\n private hostRenderer = useHostRenderer();\n\n /** The currently selected options. */\n selectionModel: SelectionModel<any>;\n\n disabled: boolean;\n\n layout: ThyListLayout = 'list';\n\n @HostBinding(`class.thy-list`) _isList = true;\n\n @HostBinding(`class.thy-selection-list`) _isSelectionList = true;\n\n @HostBinding(`class.thy-multiple-selection-list`) multiple = true;\n\n @HostBinding(`class.thy-grid-list`) isLayoutGrid = false;\n\n /**\n * @internal\n */\n @ContentChildren(ThyListOption, { descendants: true }) options: QueryList<ThyListOption>;\n\n /**\n * 改变 grid item 的选择模式,使其支持多选\n * @default true\n */\n @Input({ transform: coerceBooleanProperty })\n set thyMultiple(value: boolean) {\n const previousValue = this.multiple;\n this.multiple = value;\n if (previousValue !== this.multiple) {\n this._instanceSelectionModel();\n }\n }\n\n /**\n * 绑定键盘事件的容器\n * @type HTMLElement | ElementRef | string\n * @default thy-selection-list 组件绑定的元素\n */\n @Input() thyBindKeyEventContainer: HTMLElement | ElementRef | string;\n\n /**\n * 出现滚动条的容器\n * @type HTMLElement | ElementRef | string\n * @default thy-selection-list 组件绑定的元素\n */\n @Input() thyScrollContainer: HTMLElement | ElementRef | string;\n\n /**\n * 键盘事件触发 Before 调用,如果返回 false 则停止继续执行\n */\n @Input() thyBeforeKeydown: (event?: KeyboardEvent) => boolean;\n\n /**\n * Option Value 唯一的 Key,用于存储哪些选择被选中的唯一值,只有 Option 的 thyValue 是对象的时才可以传入该选项\n */\n @Input() thyUniqueKey: string;\n\n /**\n * 比较2个选项的 Value 是否相同\n */\n @Input() thyCompareWith: (o1: any, o2: any) => boolean;\n\n /**\n * grid item 的展示样式\n * @type list | grid\n * @default list\n */\n @Input() set thyLayout(value: ThyListLayout) {\n this.layout = value;\n this.isLayoutGrid = value === 'grid';\n }\n\n /**\n * 是否自动激活第一项\n */\n @Input({ transform: coerceBooleanProperty }) set thyAutoActiveFirstItem(value: boolean) {\n this.autoActiveFirstItem = value;\n }\n\n /**\n * 改变 grid item 的大小,支持默认以及 sm 两种大小\n * @type sm | md | lg\n */\n @Input() set thySize(value: ThyListSize) {\n this._setListSize(value);\n }\n\n private spaceEnabled = true;\n\n /**\n * 是否按下空格切换聚焦选项\n */\n @Input({ transform: coerceBooleanProperty }) set thySpaceKeyEnabled(value: boolean) {\n this.spaceEnabled = value;\n }\n\n /**\n * 每当选项的选定状态发生更改时,都会触发更改事件\n * @type EventEmitter<ThySelectionListChange>\n */\n @Output() readonly thySelectionChange: EventEmitter<ThySelectionListChange> = new EventEmitter<ThySelectionListChange>();\n\n private autoActiveFirstItem: boolean;\n\n private _onTouched: () => void = () => {};\n\n private _onChange: (value: any) => void = (_: any) => {};\n\n private _emitChangeEvent(option: ThyListOption, event: Event) {\n this.thySelectionChange.emit({\n source: this,\n value: option.thyValue,\n option: option,\n event: event,\n selected: this.isSelected(option)\n });\n }\n\n private _emitModelValueChange() {\n if (this.options) {\n let selectedValues = this.selectionModel.selected;\n if (this.thyUniqueKey) {\n selectedValues = selectedValues.map(selectedValue => {\n const selectedOption = this.options.find(option => {\n return option.thyValue[this.thyUniqueKey] === selectedValue;\n });\n if (selectedOption) {\n return selectedOption.thyValue;\n } else {\n return this._modelValues.find(value => {\n return value[this.thyUniqueKey] === selectedValue;\n });\n }\n });\n }\n this._modelValues = selectedValues;\n let changeValue = selectedValues;\n if (!this.multiple && selectedValues && selectedValues.length > 0) {\n changeValue = selectedValues[0];\n }\n this._onChange(changeValue);\n }\n }\n\n private _toggleFocusedOption(event: KeyboardEvent): void {\n if (this._keyManager.activeItem) {\n this.ngZone.run(() => {\n this.toggleOption(this._keyManager.activeItem, event);\n });\n }\n }\n\n private _initializeFocusKeyManager() {\n this._keyManager = new ActiveDescendantKeyManager<ThyListOption>(this.options)\n .withWrap()\n // .withTypeAhead()\n // Allow disabled items to be focusable. For accessibility reasons, there must be a way for\n // screenreader users, that allows reading the different options of the list.\n .skipPredicate(() => false);\n }\n\n private _instanceSelectionModel() {\n this.selectionModel = new SelectionModel<any>(this.multiple);\n }\n\n private _getElementBySelector(element: HTMLElement | ElementRef | string): HTMLElement {\n return dom.getHTMLElementBySelector(element, this.elementRef);\n }\n\n private _compareValue(value1: any, value2: any) {\n if (this.thyCompareWith) {\n const compareFn = this.thyCompareWith as (o1: any, o2: any) => boolean;\n return compareFn(value1, value2);\n } else if (this.thyUniqueKey) {\n return value1 && value1[this.thyUniqueKey] === value2 && value2[this.thyUniqueKey];\n } else {\n return value1 === value2;\n }\n }\n\n private _getOptionSelectionValue(option: ThyListOption) {\n if (option.thyValue) {\n return this.thyUniqueKey ? option.thyValue[this.thyUniqueKey] : option.thyValue;\n } else {\n return option;\n }\n }\n\n private _setSelectionByValues(values: any[]) {\n this.selectionModel.clear();\n values.forEach(value => {\n if (this.thyUniqueKey) {\n this.selectionModel.select(value[this.thyUniqueKey]);\n } else {\n this.selectionModel.select(value);\n }\n });\n }\n\n private _setAllOptionsSelected(toIsSelected: boolean) {\n // Keep track of whether anything changed, because we only want to\n // emit the changed event when something actually changed.\n let hasChanged = false;\n\n this.options.forEach(option => {\n const fromIsSelected = this.selectionModel.isSelected(option.thyValue);\n if (fromIsSelected !== toIsSelected) {\n hasChanged = true;\n this.selectionModel.toggle(option.thyValue);\n }\n });\n\n if (hasChanged) {\n this._emitModelValueChange();\n }\n }\n\n private _getOptionByValue(value: any) {\n return this.options.find(option => {\n return this._compareValue(option.thyValue, value);\n });\n }\n\n private _getActiveOption() {\n if (this._keyManager.activeItem) {\n return this._getOptionByValue(this._keyManager.activeItem.thyValue);\n } else {\n return null;\n }\n }\n\n private _setListSize(size: ThyListSize) {\n for (const key in listSizesMap) {\n if (listSizesMap.hasOwnProperty(key)) {\n this.hostRenderer.removeClass(listSizesMap[key]);\n }\n }\n if (size) {\n this.hostRenderer.addClass(listSizesMap[size]);\n }\n }\n\n ngOnInit() {\n const bindKeyEventElement = this._getElementBySelector(this.thyBindKeyEventContainer);\n this.ngZone.runOutsideAngular(() => {\n this._bindKeyEventUnsubscribe = this.renderer.listen(bindKeyEventElement, 'keydown', this.onKeydown.bind(this));\n });\n this._instanceSelectionModel();\n }\n\n writeValue(value: any[] | any): void {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && value) {\n if (this.multiple && !helpers.isArray(value)) {\n throw new Error(`The multiple selection ngModel must be an array.`);\n }\n if (!this.multiple && helpers.isArray(value)) {\n throw new Error(`The single selection ngModel should not be an array.`);\n }\n }\n const values = helpers.isArray(value) ? value : value ? [value] : [];\n this._modelValues = values;\n if (this.options) {\n this._setSelectionByValues(values);\n }\n this.changeDetectorRef.markForCheck();\n }\n\n registerOnChange(fn: any): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this._onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n onKeydown(event: KeyboardEvent) {\n if (this.thyBeforeKeydown) {\n // stop key down event\n const isContinue = this.thyBeforeKeydown(event);\n if (!isContinue) {\n return;\n }\n }\n const keyCode = event.keyCode || event.which;\n const manager = this._keyManager;\n const previousFocusIndex = manager.activeItemIndex;\n\n switch (keyCode) {\n case keycodes.SPACE:\n case keycodes.ENTER:\n if (keyCode === keycodes.SPACE && !this.spaceEnabled) {\n return;\n }\n this._toggleFocusedOption(event);\n // Always prevent space from scrolling the page since the list has focus\n event.preventDefault();\n break;\n default:\n manager.onKeydown(event);\n }\n if (\n (keyCode === keycodes.UP_ARROW || keyCode === keycodes.DOWN_ARROW) &&\n event.shiftKey &&\n manager.activeItemIndex !== previousFocusIndex\n ) {\n this._toggleFocusedOption(event);\n }\n }\n\n toggleOption(option: ThyListOption, event?: Event) {\n if (option && !option.disabled) {\n this.selectionModel.toggle(this._getOptionSelectionValue(option));\n // Emit a change event because the focused option changed its state through user\n // interaction.\n this._emitModelValueChange();\n this._emitChangeEvent(option, event);\n }\n }\n\n setActiveOption(option: ThyListOption) {\n this._keyManager.updateActiveItem(option); // .updateActiveItemIndex(this._getOptionIndex(option));\n }\n\n scrollIntoView(option: ThyListOption) {\n const scrollContainerElement = dom.getHTMLElementBySelector(this.thyScrollContainer, this.elementRef);\n ScrollToService.scrollToElement(option.element.nativeElement, scrollContainerElement);\n }\n\n isSelected(option: ThyListOption) {\n return this.selectionModel.isSelected(this._getOptionSelectionValue(option));\n }\n\n clearActiveItem() {\n if (this._keyManager.activeItem) {\n this._keyManager.setActiveItem(-1);\n }\n }\n\n determineClearActiveItem() {\n if (!this._getActiveOption()) {\n this.clearActiveItem();\n }\n }\n\n /** Selects all of the options. */\n selectAll() {\n this._setAllOptionsSelected(true);\n }\n\n /** Deselects all of the options. */\n deselectAll() {\n this._setAllOptionsSelected(false);\n }\n\n ngAfterContentInit(): void {\n this._initializeFocusKeyManager();\n this.options.changes.pipe(startWith(true)).subscribe(() => {\n if (this.autoActiveFirstItem) {\n if (!this._keyManager.activeItem || this.options.toArray().indexOf(this._keyManager.activeItem) < 0) {\n this._keyManager.setFirstItemActive();\n }\n }\n });\n }\n\n ngOnDestroy() {\n this._selectionChangesUnsubscribe$.unsubscribe();\n if (this._bindKeyEventUnsubscribe) {\n this._bindKeyEventUnsubscribe();\n }\n }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { Component, Input, HostBinding, ChangeDetectionStrategy, TemplateRef, ContentChild } from '@angular/core';\nimport { ThyAvatar } from 'ngx-tethys/avatar';\n\n/**\n * @name thy-list-item-meta,[thy-list-item-meta]\n * @order 40\n */\n@Component({\n selector: 'thy-list-item-meta,[thy-list-item-meta]',\n templateUrl: './list-item-meta.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [ThyAvatar, NgTemplateOutlet]\n})\nexport class ThyListItemMeta {\n /**\n * 列表项的左侧图片\n */\n @Input() thyAvatar: string;\n\n /**\n * 列表项的标题\n */\n @Input() thyTitle: string;\n\n /**\n * 列表项的描述文本\n */\n @Input() thyDescription: string;\n\n @ContentChild('metaAvatar')\n public avatarTemplateRef: TemplateRef<any>;\n\n @ContentChild('metaTitle')\n public titleTemplateRef: TemplateRef<any>;\n\n @ContentChild('metaDescription')\n public descriptionTemplateRef: TemplateRef<any>;\n\n @HostBinding('class') className = `thy-list-item-meta`;\n\n constructor() {}\n}\n","<div class=\"thy-list-item-meta-avatar\">\n @if (thyAvatar) {\n <thy-avatar [thySrc]=\"thyAvatar\"></thy-avatar>\n } @else {\n <ng-template [ngTemplateOutlet]=\"avatarTemplateRef\"></ng-template>\n }\n</div>\n<div class=\"thy-list-item-meta-content\">\n <div class=\"thy-list-item-meta-title\">\n @if (thyTitle) {\n {{ thyTitle }}\n } @else {\n <ng-template [ngTemplateOutlet]=\"titleTemplateRef\"></ng-template>\n }\n </div>\n <div class=\"thy-list-item-meta-description\">\n @if (thyDescription) {\n {{ thyDescription }}\n } @else {\n <ng-template [ngTemplateOutlet]=\"descriptionTemplateRef\"></ng-template>\n }\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThyList } from './list.component';\nimport { ThyListItem } from './list-item.component';\nimport { ThySelectionList } from './selection/selection-list';\nimport { ThyOptionModule } from 'ngx-tethys/shared';\nimport { ThyListItemMeta } from './list-item-meta.component';\nimport { ThyAvatarModule } from 'ngx-tethys/avatar';\n\n@NgModule({\n imports: [CommonModule, ThyOptionModule, ThyAvatarModule, ThyList, ThyListItem, ThySelectionList, ThyListItemMeta],\n exports: [ThyList, ThyListItem, ThySelectionList, ThyListItemMeta, ThyOptionModule]\n})\nexport class ThyListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ngx-tethys-list.mjs","sources":["../../../src/list/list.component.ts","../../../src/list/list-item.component.ts","../../../src/list/selection/selection-list.ts","../../../src/list/list-item-meta.component.ts","../../../src/list/list-item-meta.component.html","../../../src/list/list.module.ts","../../../src/list/ngx-tethys-list.ts"],"sourcesContent":["import { Component, Input, HostBinding } from '@angular/core';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\n/**\n * 列表组件\n * @name thy-list\n * @order 10\n */\n@Component({\n selector: 'thy-list',\n template: '<ng-content></ng-content>'\n})\nexport class ThyList {\n /**\n * 控制分割线的显示与隐藏\n * @default false\n */\n @Input({ transform: coerceBooleanProperty })\n set thyDivided(value: boolean) {\n this._isDivided = value;\n }\n\n @HostBinding(`class.thy-list-divided`) _isDivided = false;\n\n @HostBinding(`class.thy-list`) _isList = true;\n\n constructor() {}\n}\n","import { Component, HostBinding } from '@angular/core';\n\n/**\n * @name thy-list-item,[thy-list-item]\n * @order 15\n */\n@Component({\n selector: 'thy-list-item,[thy-list-item]',\n template: '<ng-content></ng-content>'\n})\nexport class ThyListItem {\n @HostBinding(`class.thy-list-item`) _isListItem = true;\n\n constructor() {}\n}\n","import { ScrollToService } from 'ngx-tethys/core';\nimport { IThyListOptionParentComponent, THY_LIST_OPTION_PARENT_COMPONENT, ThyListOption } from 'ngx-tethys/shared';\nimport { coerceBooleanProperty, dom, helpers, keycodes } from 'ngx-tethys/util';\nimport { Subscription } from 'rxjs';\nimport { startWith } from 'rxjs/operators';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n Renderer2,\n inject\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ThyListLayout } from 'ngx-tethys/shared';\nimport { ThySelectionListChange } from './selection.interface';\n\nexport type ThyListSize = 'sm' | 'md' | 'lg';\n\nconst listSizesMap = {\n sm: 'thy-list-sm'\n};\n\n/**\n * @name thy-selection-list,[thy-selection-list]\n * @order 20\n */\n@Component({\n selector: 'thy-selection-list,[thy-selection-list]',\n template: '<ng-content></ng-content>',\n providers: [\n {\n provide: THY_LIST_OPTION_PARENT_COMPONENT,\n useExisting: ThySelectionList\n },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ThySelectionList),\n multi: true\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ThySelectionList implements OnInit, OnDestroy, AfterContentInit, IThyListOptionParentComponent, ControlValueAccessor {\n private renderer = inject(Renderer2);\n private elementRef = inject(ElementRef);\n private ngZone = inject(NgZone);\n private changeDetectorRef = inject(ChangeDetectorRef);\n\n private _keyManager: ActiveDescendantKeyManager<ThyListOption>;\n\n private _selectionChangesUnsubscribe$ = Subscription.EMPTY;\n\n private _bindKeyEventUnsubscribe: () => void;\n\n private _modelValues: any[];\n\n private hostRenderer = useHostRenderer();\n\n /** The currently selected options. */\n selectionModel: SelectionModel<any>;\n\n disabled: boolean;\n\n layout: ThyListLayout = 'list';\n\n @HostBinding(`class.thy-list`) _isList = true;\n\n @HostBinding(`class.thy-selection-list`) _isSelectionList = true;\n\n @HostBinding(`class.thy-multiple-selection-list`) multiple = true;\n\n @HostBinding(`class.thy-grid-list`) isLayoutGrid = false;\n\n /**\n * @internal\n */\n @ContentChildren(ThyListOption, { descendants: true }) options: QueryList<ThyListOption>;\n\n /**\n * 改变 grid item 的选择模式,使其支持多选\n * @default true\n */\n @Input({ transform: coerceBooleanProperty })\n set thyMultiple(value: boolean) {\n const previousValue = this.multiple;\n this.multiple = value;\n if (previousValue !== this.multiple) {\n this._instanceSelectionModel();\n }\n }\n\n /**\n * 绑定键盘事件的容器\n * @type HTMLElement | ElementRef | string\n * @default thy-selection-list 组件绑定的元素\n */\n @Input() thyBindKeyEventContainer: HTMLElement | ElementRef | string;\n\n /**\n * 出现滚动条的容器\n * @type HTMLElement | ElementRef | string\n * @default thy-selection-list 组件绑定的元素\n */\n @Input() thyScrollContainer: HTMLElement | ElementRef | string;\n\n /**\n * 键盘事件触发 Before 调用,如果返回 false 则停止继续执行\n */\n @Input() thyBeforeKeydown: (event?: KeyboardEvent) => boolean;\n\n /**\n * Option Value 唯一的 Key,用于存储哪些选择被选中的唯一值,只有 Option 的 thyValue 是对象的时才可以传入该选项\n */\n @Input() thyUniqueKey: string;\n\n /**\n * 比较2个选项的 Value 是否相同\n */\n @Input() thyCompareWith: (o1: any, o2: any) => boolean;\n\n /**\n * grid item 的展示样式\n * @type list | grid\n * @default list\n */\n @Input() set thyLayout(value: ThyListLayout) {\n this.layout = value;\n this.isLayoutGrid = value === 'grid';\n }\n\n /**\n * 是否自动激活第一项\n */\n @Input({ transform: coerceBooleanProperty }) set thyAutoActiveFirstItem(value: boolean) {\n this.autoActiveFirstItem = value;\n }\n\n /**\n * 改变 grid item 的大小,支持默认以及 sm 两种大小\n * @type sm | md | lg\n */\n @Input() set thySize(value: ThyListSize) {\n this._setListSize(value);\n }\n\n private spaceEnabled = true;\n\n /**\n * 是否按下空格切换聚焦选项\n */\n @Input({ transform: coerceBooleanProperty }) set thySpaceKeyEnabled(value: boolean) {\n this.spaceEnabled = value;\n }\n\n /**\n * 每当选项的选定状态发生更改时,都会触发更改事件\n * @type EventEmitter<ThySelectionListChange>\n */\n @Output() readonly thySelectionChange: EventEmitter<ThySelectionListChange> = new EventEmitter<ThySelectionListChange>();\n\n private autoActiveFirstItem: boolean;\n\n private _onTouched: () => void = () => {};\n\n private _onChange: (value: any) => void = (_: any) => {};\n\n private _emitChangeEvent(option: ThyListOption, event: Event) {\n this.thySelectionChange.emit({\n source: this,\n value: option.thyValue,\n option: option,\n event: event,\n selected: this.isSelected(option)\n });\n }\n\n private _emitModelValueChange() {\n if (this.options) {\n let selectedValues = this.selectionModel.selected;\n if (this.thyUniqueKey) {\n selectedValues = selectedValues.map(selectedValue => {\n const selectedOption = this.options.find(option => {\n return option.thyValue[this.thyUniqueKey] === selectedValue;\n });\n if (selectedOption) {\n return selectedOption.thyValue;\n } else {\n return this._modelValues.find(value => {\n return value[this.thyUniqueKey] === selectedValue;\n });\n }\n });\n }\n this._modelValues = selectedValues;\n let changeValue = selectedValues;\n if (!this.multiple && selectedValues && selectedValues.length > 0) {\n changeValue = selectedValues[0];\n }\n this._onChange(changeValue);\n }\n }\n\n private _toggleFocusedOption(event: KeyboardEvent): void {\n if (this._keyManager.activeItem) {\n this.ngZone.run(() => {\n this.toggleOption(this._keyManager.activeItem, event);\n });\n }\n }\n\n private _initializeFocusKeyManager() {\n this._keyManager = new ActiveDescendantKeyManager<ThyListOption>(this.options)\n .withWrap()\n // .withTypeAhead()\n // Allow disabled items to be focusable. For accessibility reasons, there must be a way for\n // screenreader users, that allows reading the different options of the list.\n .skipPredicate(() => false);\n }\n\n private _instanceSelectionModel() {\n this.selectionModel = new SelectionModel<any>(this.multiple);\n }\n\n private _getElementBySelector(element: HTMLElement | ElementRef | string): HTMLElement {\n return dom.getHTMLElementBySelector(element, this.elementRef);\n }\n\n private _compareValue(value1: any, value2: any) {\n if (this.thyCompareWith) {\n const compareFn = this.thyCompareWith as (o1: any, o2: any) => boolean;\n return compareFn(value1, value2);\n } else if (this.thyUniqueKey) {\n return value1 && value1[this.thyUniqueKey] === value2 && value2[this.thyUniqueKey];\n } else {\n return value1 === value2;\n }\n }\n\n private _getOptionSelectionValue(option: ThyListOption) {\n if (option.thyValue) {\n return this.thyUniqueKey ? option.thyValue[this.thyUniqueKey] : option.thyValue;\n } else {\n return option;\n }\n }\n\n private _setSelectionByValues(values: any[]) {\n this.selectionModel.clear();\n values.forEach(value => {\n if (this.thyUniqueKey) {\n this.selectionModel.select(value[this.thyUniqueKey]);\n } else {\n this.selectionModel.select(value);\n }\n });\n }\n\n private _setAllOptionsSelected(toIsSelected: boolean) {\n // Keep track of whether anything changed, because we only want to\n // emit the changed event when something actually changed.\n let hasChanged = false;\n\n this.options.forEach(option => {\n const fromIsSelected = this.selectionModel.isSelected(option.thyValue);\n if (fromIsSelected !== toIsSelected) {\n hasChanged = true;\n this.selectionModel.toggle(option.thyValue);\n }\n });\n\n if (hasChanged) {\n this._emitModelValueChange();\n }\n }\n\n private _getOptionByValue(value: any) {\n return this.options.find(option => {\n return this._compareValue(option.thyValue, value);\n });\n }\n\n private _getActiveOption() {\n if (this._keyManager.activeItem) {\n return this._getOptionByValue(this._keyManager.activeItem.thyValue);\n } else {\n return null;\n }\n }\n\n private _setListSize(size: ThyListSize) {\n for (const key in listSizesMap) {\n if (listSizesMap.hasOwnProperty(key)) {\n this.hostRenderer.removeClass(listSizesMap[key]);\n }\n }\n if (size) {\n this.hostRenderer.addClass(listSizesMap[size]);\n }\n }\n\n ngOnInit() {\n const bindKeyEventElement = this._getElementBySelector(this.thyBindKeyEventContainer);\n this.ngZone.runOutsideAngular(() => {\n this._bindKeyEventUnsubscribe = this.renderer.listen(bindKeyEventElement, 'keydown', this.onKeydown.bind(this));\n });\n this._instanceSelectionModel();\n }\n\n writeValue(value: any[] | any): void {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && value) {\n if (this.multiple && !helpers.isArray(value)) {\n throw new Error(`The multiple selection ngModel must be an array.`);\n }\n if (!this.multiple && helpers.isArray(value)) {\n throw new Error(`The single selection ngModel should not be an array.`);\n }\n }\n const values = helpers.isArray(value) ? value : value ? [value] : [];\n this._modelValues = values;\n if (this.options) {\n this._setSelectionByValues(values);\n }\n this.changeDetectorRef.markForCheck();\n }\n\n registerOnChange(fn: any): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this._onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n onKeydown(event: KeyboardEvent) {\n if (this.thyBeforeKeydown) {\n // stop key down event\n const isContinue = this.thyBeforeKeydown(event);\n if (!isContinue) {\n return;\n }\n }\n const keyCode = event.keyCode || event.which;\n const manager = this._keyManager;\n const previousFocusIndex = manager.activeItemIndex;\n\n switch (keyCode) {\n case keycodes.SPACE:\n case keycodes.ENTER:\n if (keyCode === keycodes.SPACE && !this.spaceEnabled) {\n return;\n }\n this._toggleFocusedOption(event);\n // Always prevent space from scrolling the page since the list has focus\n event.preventDefault();\n break;\n default:\n manager.onKeydown(event);\n }\n if (\n (keyCode === keycodes.UP_ARROW || keyCode === keycodes.DOWN_ARROW) &&\n event.shiftKey &&\n manager.activeItemIndex !== previousFocusIndex\n ) {\n this._toggleFocusedOption(event);\n }\n }\n\n toggleOption(option: ThyListOption, event?: Event) {\n if (option && !option.disabled) {\n this.selectionModel.toggle(this._getOptionSelectionValue(option));\n // Emit a change event because the focused option changed its state through user\n // interaction.\n this._emitModelValueChange();\n this._emitChangeEvent(option, event);\n }\n }\n\n setActiveOption(option: ThyListOption) {\n this._keyManager.updateActiveItem(option); // .updateActiveItemIndex(this._getOptionIndex(option));\n }\n\n scrollIntoView(option: ThyListOption) {\n const scrollContainerElement = dom.getHTMLElementBySelector(this.thyScrollContainer, this.elementRef);\n ScrollToService.scrollToElement(option.element.nativeElement, scrollContainerElement);\n }\n\n isSelected(option: ThyListOption) {\n return this.selectionModel.isSelected(this._getOptionSelectionValue(option));\n }\n\n clearActiveItem() {\n if (this._keyManager.activeItem) {\n this._keyManager.setActiveItem(-1);\n }\n }\n\n determineClearActiveItem() {\n if (!this._getActiveOption()) {\n this.clearActiveItem();\n }\n }\n\n /** Selects all of the options. */\n selectAll() {\n this._setAllOptionsSelected(true);\n }\n\n /** Deselects all of the options. */\n deselectAll() {\n this._setAllOptionsSelected(false);\n }\n\n ngAfterContentInit(): void {\n this._initializeFocusKeyManager();\n this.options.changes.pipe(startWith(true)).subscribe(() => {\n if (this.autoActiveFirstItem) {\n if (!this._keyManager.activeItem || this.options.toArray().indexOf(this._keyManager.activeItem) < 0) {\n this._keyManager.setFirstItemActive();\n }\n }\n });\n }\n\n ngOnDestroy() {\n this._selectionChangesUnsubscribe$.unsubscribe();\n if (this._bindKeyEventUnsubscribe) {\n this._bindKeyEventUnsubscribe();\n }\n }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { Component, Input, HostBinding, ChangeDetectionStrategy, TemplateRef, ContentChild } from '@angular/core';\nimport { ThyAvatar } from 'ngx-tethys/avatar';\n\n/**\n * @name thy-list-item-meta,[thy-list-item-meta]\n * @order 40\n */\n@Component({\n selector: 'thy-list-item-meta,[thy-list-item-meta]',\n templateUrl: './list-item-meta.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [ThyAvatar, NgTemplateOutlet]\n})\nexport class ThyListItemMeta {\n /**\n * 列表项的左侧图片\n */\n @Input() thyAvatar: string;\n\n /**\n * 列表项的标题\n */\n @Input() thyTitle: string;\n\n /**\n * 列表项的描述文本\n */\n @Input() thyDescription: string;\n\n @ContentChild('metaAvatar')\n public avatarTemplateRef: TemplateRef<any>;\n\n @ContentChild('metaTitle')\n public titleTemplateRef: TemplateRef<any>;\n\n @ContentChild('metaDescription')\n public descriptionTemplateRef: TemplateRef<any>;\n\n @HostBinding('class') className = `thy-list-item-meta`;\n\n constructor() {}\n}\n","<div class=\"thy-list-item-meta-avatar\">\n @if (thyAvatar) {\n <thy-avatar [thySrc]=\"thyAvatar\"></thy-avatar>\n } @else {\n <ng-template [ngTemplateOutlet]=\"avatarTemplateRef\"></ng-template>\n }\n</div>\n<div class=\"thy-list-item-meta-content\">\n <div class=\"thy-list-item-meta-title\">\n @if (thyTitle) {\n {{ thyTitle }}\n } @else {\n <ng-template [ngTemplateOutlet]=\"titleTemplateRef\"></ng-template>\n }\n </div>\n <div class=\"thy-list-item-meta-description\">\n @if (thyDescription) {\n {{ thyDescription }}\n } @else {\n <ng-template [ngTemplateOutlet]=\"descriptionTemplateRef\"></ng-template>\n }\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThyList } from './list.component';\nimport { ThyListItem } from './list-item.component';\nimport { ThySelectionList } from './selection/selection-list';\nimport { ThyOptionModule } from 'ngx-tethys/shared';\nimport { ThyListItemMeta } from './list-item-meta.component';\nimport { ThyAvatarModule } from 'ngx-tethys/avatar';\n\n@NgModule({\n imports: [CommonModule, ThyOptionModule, ThyAvatarModule, ThyList, ThyListItem, ThySelectionList, ThyListItemMeta],\n exports: [ThyList, ThyListItem, ThySelectionList, ThyListItemMeta, ThyOptionModule]\n})\nexport class ThyListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -35,10 +35,10 @@ class ThyLoading {
35
35
  this.isMask = value;
36
36
  this.changeDetectorRef.markForCheck();
37
37
  }
38
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: ThyLoading, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
39
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.4", type: ThyLoading, isStandalone: true, selector: "thy-loading", inputs: { thyDone: ["thyDone", "thyDone", coerceBooleanProperty], thyTip: "thyTip", thyIsMask: ["thyIsMask", "thyIsMask", coerceBooleanProperty] }, host: { properties: { "class.thy-loading": "this.loadingClassName" } }, ngImport: i0, template: "<div [class.thy-loading-mask]=\"isMask && !isDone\">\n @if (!isDone) {\n <div class=\"thy-loading-indicator\">\n <h4>\n <span [style.display]=\"tip ? 'inline' : 'none'\">{{ tip }}</span>\n <div class=\"thy-loading-ellipsis\">\n <span class=\"thy-spot\"></span>\n </div>\n </h4>\n </div>\n }\n @if (isMask || isDone) {\n <ng-content></ng-content>\n }\n</div>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
38
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyLoading, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
39
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.6", type: ThyLoading, isStandalone: true, selector: "thy-loading", inputs: { thyDone: ["thyDone", "thyDone", coerceBooleanProperty], thyTip: "thyTip", thyIsMask: ["thyIsMask", "thyIsMask", coerceBooleanProperty] }, host: { properties: { "class.thy-loading": "this.loadingClassName" } }, ngImport: i0, template: "<div [class.thy-loading-mask]=\"isMask && !isDone\">\n @if (!isDone) {\n <div class=\"thy-loading-indicator\">\n <h4>\n <span [style.display]=\"tip ? 'inline' : 'none'\">{{ tip }}</span>\n <div class=\"thy-loading-ellipsis\">\n <span class=\"thy-spot\"></span>\n </div>\n </h4>\n </div>\n }\n @if (isMask || isDone) {\n <ng-content></ng-content>\n }\n</div>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
40
40
  }
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: ThyLoading, decorators: [{
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyLoading, decorators: [{
42
42
  type: Component,
43
43
  args: [{ selector: 'thy-loading', changeDetection: ChangeDetectionStrategy.OnPush, imports: [], template: "<div [class.thy-loading-mask]=\"isMask && !isDone\">\n @if (!isDone) {\n <div class=\"thy-loading-indicator\">\n <h4>\n <span [style.display]=\"tip ? 'inline' : 'none'\">{{ tip }}</span>\n <div class=\"thy-loading-ellipsis\">\n <span class=\"thy-spot\"></span>\n </div>\n </h4>\n </div>\n }\n @if (isMask || isDone) {\n <ng-content></ng-content>\n }\n</div>\n" }]
44
44
  }], propDecorators: { thyDone: [{
@@ -55,11 +55,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImpor
55
55
  }] } });
56
56
 
57
57
  class ThyLoadingModule {
58
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: ThyLoadingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
59
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.4", ngImport: i0, type: ThyLoadingModule, imports: [CommonModule, ThyLoading], exports: [ThyLoading] }); }
60
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: ThyLoadingModule, imports: [CommonModule] }); }
58
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyLoadingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
59
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.6", ngImport: i0, type: ThyLoadingModule, imports: [CommonModule, ThyLoading], exports: [ThyLoading] }); }
60
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyLoadingModule, imports: [CommonModule] }); }
61
61
  }
62
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: ThyLoadingModule, decorators: [{
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.6", ngImport: i0, type: ThyLoadingModule, decorators: [{
63
63
  type: NgModule,
64
64
  args: [{
65
65
  imports: [CommonModule, ThyLoading],