ngx-tethys 20.0.1 → 20.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (239) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/action/index.d.ts +3 -3
  3. package/affix/index.d.ts +1 -1
  4. package/alert/index.d.ts +3 -3
  5. package/anchor/index.d.ts +3 -3
  6. package/arrow-switcher/index.d.ts +6 -6
  7. package/autocomplete/index.d.ts +7 -7
  8. package/avatar/index.d.ts +9 -9
  9. package/back-top/index.d.ts +3 -3
  10. package/badge/index.d.ts +6 -6
  11. package/breadcrumb/index.d.ts +7 -7
  12. package/button/index.d.ts +19 -19
  13. package/calendar/index.d.ts +8 -8
  14. package/card/index.d.ts +6 -6
  15. package/carousel/index.d.ts +4 -4
  16. package/cascader/index.d.ts +24 -24
  17. package/collapse/index.d.ts +4 -4
  18. package/color-picker/index.d.ts +16 -16
  19. package/comment/index.d.ts +3 -3
  20. package/copy/index.d.ts +2 -2
  21. package/core/index.d.ts +22 -22
  22. package/date-picker/index.d.ts +111 -111
  23. package/date-range/index.d.ts +5 -5
  24. package/dialog/index.d.ts +18 -18
  25. package/divider/index.d.ts +3 -3
  26. package/drag-drop/index.d.ts +7 -7
  27. package/dropdown/index.d.ts +10 -10
  28. package/empty/index.d.ts +12 -12
  29. package/fesm2022/ngx-tethys-action.mjs +14 -12
  30. package/fesm2022/ngx-tethys-action.mjs.map +1 -1
  31. package/fesm2022/ngx-tethys-affix.mjs +7 -7
  32. package/fesm2022/ngx-tethys-affix.mjs.map +1 -1
  33. package/fesm2022/ngx-tethys-alert.mjs +10 -10
  34. package/fesm2022/ngx-tethys-anchor.mjs +11 -11
  35. package/fesm2022/ngx-tethys-anchor.mjs.map +1 -1
  36. package/fesm2022/ngx-tethys-arrow-switcher.mjs +7 -7
  37. package/fesm2022/ngx-tethys-arrow-switcher.mjs.map +1 -1
  38. package/fesm2022/ngx-tethys-autocomplete.mjs +19 -18
  39. package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
  40. package/fesm2022/ngx-tethys-avatar.mjs +23 -22
  41. package/fesm2022/ngx-tethys-avatar.mjs.map +1 -1
  42. package/fesm2022/ngx-tethys-back-top.mjs +7 -7
  43. package/fesm2022/ngx-tethys-badge.mjs +7 -7
  44. package/fesm2022/ngx-tethys-badge.mjs.map +1 -1
  45. package/fesm2022/ngx-tethys-breadcrumb.mjs +10 -10
  46. package/fesm2022/ngx-tethys-breadcrumb.mjs.map +1 -1
  47. package/fesm2022/ngx-tethys-button.mjs +16 -16
  48. package/fesm2022/ngx-tethys-button.mjs.map +1 -1
  49. package/fesm2022/ngx-tethys-calendar.mjs +16 -16
  50. package/fesm2022/ngx-tethys-calendar.mjs.map +1 -1
  51. package/fesm2022/ngx-tethys-card.mjs +13 -13
  52. package/fesm2022/ngx-tethys-card.mjs.map +1 -1
  53. package/fesm2022/ngx-tethys-carousel.mjs +15 -15
  54. package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
  55. package/fesm2022/ngx-tethys-cascader.mjs +41 -34
  56. package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
  57. package/fesm2022/ngx-tethys-checkbox.mjs +7 -7
  58. package/fesm2022/ngx-tethys-collapse.mjs +10 -10
  59. package/fesm2022/ngx-tethys-color-picker.mjs +65 -57
  60. package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
  61. package/fesm2022/ngx-tethys-comment.mjs +13 -13
  62. package/fesm2022/ngx-tethys-copy.mjs +10 -10
  63. package/fesm2022/ngx-tethys-copy.mjs.map +1 -1
  64. package/fesm2022/ngx-tethys-core.mjs +30 -25
  65. package/fesm2022/ngx-tethys-core.mjs.map +1 -1
  66. package/fesm2022/ngx-tethys-date-picker.mjs +184 -174
  67. package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
  68. package/fesm2022/ngx-tethys-date-range.mjs +16 -16
  69. package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
  70. package/fesm2022/ngx-tethys-dialog.mjs +24 -24
  71. package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
  72. package/fesm2022/ngx-tethys-divider.mjs +7 -7
  73. package/fesm2022/ngx-tethys-divider.mjs.map +1 -1
  74. package/fesm2022/ngx-tethys-dot.mjs +7 -7
  75. package/fesm2022/ngx-tethys-drag-drop.mjs +24 -24
  76. package/fesm2022/ngx-tethys-drag-drop.mjs.map +1 -1
  77. package/fesm2022/ngx-tethys-dropdown.mjs +48 -47
  78. package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
  79. package/fesm2022/ngx-tethys-empty.mjs +13 -13
  80. package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
  81. package/fesm2022/ngx-tethys-flexible-text.mjs +7 -7
  82. package/fesm2022/ngx-tethys-flexible-text.mjs.map +1 -1
  83. package/fesm2022/ngx-tethys-form.mjs +64 -61
  84. package/fesm2022/ngx-tethys-form.mjs.map +1 -1
  85. package/fesm2022/ngx-tethys-fullscreen.mjs +18 -15
  86. package/fesm2022/ngx-tethys-fullscreen.mjs.map +1 -1
  87. package/fesm2022/ngx-tethys-grid.mjs +34 -33
  88. package/fesm2022/ngx-tethys-grid.mjs.map +1 -1
  89. package/fesm2022/ngx-tethys-guider.mjs +25 -24
  90. package/fesm2022/ngx-tethys-guider.mjs.map +1 -1
  91. package/fesm2022/ngx-tethys-i18n.mjs +3 -3
  92. package/fesm2022/ngx-tethys-i18n.mjs.map +1 -1
  93. package/fesm2022/ngx-tethys-icon.mjs +15 -13
  94. package/fesm2022/ngx-tethys-icon.mjs.map +1 -1
  95. package/fesm2022/ngx-tethys-image.mjs +31 -29
  96. package/fesm2022/ngx-tethys-image.mjs.map +1 -1
  97. package/fesm2022/ngx-tethys-input-number.mjs +17 -10
  98. package/fesm2022/ngx-tethys-input-number.mjs.map +1 -1
  99. package/fesm2022/ngx-tethys-input.mjs +28 -27
  100. package/fesm2022/ngx-tethys-input.mjs.map +1 -1
  101. package/fesm2022/ngx-tethys-layout.mjs +63 -63
  102. package/fesm2022/ngx-tethys-layout.mjs.map +1 -1
  103. package/fesm2022/ngx-tethys-list.mjs +21 -18
  104. package/fesm2022/ngx-tethys-list.mjs.map +1 -1
  105. package/fesm2022/ngx-tethys-loading.mjs +7 -7
  106. package/fesm2022/ngx-tethys-mention.mjs +35 -31
  107. package/fesm2022/ngx-tethys-mention.mjs.map +1 -1
  108. package/fesm2022/ngx-tethys-menu.mjs +26 -26
  109. package/fesm2022/ngx-tethys-menu.mjs.map +1 -1
  110. package/fesm2022/ngx-tethys-message.mjs +24 -24
  111. package/fesm2022/ngx-tethys-message.mjs.map +1 -1
  112. package/fesm2022/ngx-tethys-nav.mjs +27 -27
  113. package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
  114. package/fesm2022/ngx-tethys-notify.mjs +20 -20
  115. package/fesm2022/ngx-tethys-notify.mjs.map +1 -1
  116. package/fesm2022/ngx-tethys-pagination.mjs +18 -18
  117. package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
  118. package/fesm2022/ngx-tethys-popover.mjs +22 -21
  119. package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
  120. package/fesm2022/ngx-tethys-progress.mjs +17 -17
  121. package/fesm2022/ngx-tethys-progress.mjs.map +1 -1
  122. package/fesm2022/ngx-tethys-property-operation.mjs +11 -11
  123. package/fesm2022/ngx-tethys-property-operation.mjs.map +1 -1
  124. package/fesm2022/ngx-tethys-property.mjs +12 -11
  125. package/fesm2022/ngx-tethys-property.mjs.map +1 -1
  126. package/fesm2022/ngx-tethys-radio.mjs +17 -17
  127. package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
  128. package/fesm2022/ngx-tethys-rate.mjs +12 -12
  129. package/fesm2022/ngx-tethys-rate.mjs.map +1 -1
  130. package/fesm2022/ngx-tethys-resizable.mjs +21 -18
  131. package/fesm2022/ngx-tethys-resizable.mjs.map +1 -1
  132. package/fesm2022/ngx-tethys-result.mjs +11 -11
  133. package/fesm2022/ngx-tethys-result.mjs.map +1 -1
  134. package/fesm2022/ngx-tethys-segment.mjs +19 -16
  135. package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
  136. package/fesm2022/ngx-tethys-select.mjs +60 -38
  137. package/fesm2022/ngx-tethys-select.mjs.map +1 -1
  138. package/fesm2022/ngx-tethys-shared.mjs +82 -79
  139. package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
  140. package/fesm2022/ngx-tethys-skeleton.mjs +32 -32
  141. package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
  142. package/fesm2022/ngx-tethys-slide.mjs +37 -36
  143. package/fesm2022/ngx-tethys-slide.mjs.map +1 -1
  144. package/fesm2022/ngx-tethys-slider.mjs +11 -11
  145. package/fesm2022/ngx-tethys-slider.mjs.map +1 -1
  146. package/fesm2022/ngx-tethys-space.mjs +10 -10
  147. package/fesm2022/ngx-tethys-statistic.mjs +7 -7
  148. package/fesm2022/ngx-tethys-statistic.mjs.map +1 -1
  149. package/fesm2022/ngx-tethys-stepper.mjs +22 -22
  150. package/fesm2022/ngx-tethys-stepper.mjs.map +1 -1
  151. package/fesm2022/ngx-tethys-strength.mjs +7 -7
  152. package/fesm2022/ngx-tethys-strength.mjs.map +1 -1
  153. package/fesm2022/ngx-tethys-switch.mjs +7 -7
  154. package/fesm2022/ngx-tethys-switch.mjs.map +1 -1
  155. package/fesm2022/ngx-tethys-table.mjs +28 -28
  156. package/fesm2022/ngx-tethys-table.mjs.map +1 -1
  157. package/fesm2022/ngx-tethys-tabs.mjs +13 -13
  158. package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
  159. package/fesm2022/ngx-tethys-tag.mjs +11 -11
  160. package/fesm2022/ngx-tethys-tag.mjs.map +1 -1
  161. package/fesm2022/ngx-tethys-testing.mjs +1 -1
  162. package/fesm2022/ngx-tethys-testing.mjs.map +1 -1
  163. package/fesm2022/ngx-tethys-time-picker.mjs +22 -22
  164. package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
  165. package/fesm2022/ngx-tethys-timeline.mjs +14 -14
  166. package/fesm2022/ngx-tethys-timeline.mjs.map +1 -1
  167. package/fesm2022/ngx-tethys-tooltip.mjs +19 -16
  168. package/fesm2022/ngx-tethys-tooltip.mjs.map +1 -1
  169. package/fesm2022/ngx-tethys-transfer.mjs +15 -15
  170. package/fesm2022/ngx-tethys-transfer.mjs.map +1 -1
  171. package/fesm2022/ngx-tethys-tree-select.mjs +17 -17
  172. package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
  173. package/fesm2022/ngx-tethys-tree.mjs +50 -43
  174. package/fesm2022/ngx-tethys-tree.mjs.map +1 -1
  175. package/fesm2022/ngx-tethys-typography.mjs +16 -16
  176. package/fesm2022/ngx-tethys-typography.mjs.map +1 -1
  177. package/fesm2022/ngx-tethys-upload.mjs +26 -25
  178. package/fesm2022/ngx-tethys-upload.mjs.map +1 -1
  179. package/fesm2022/ngx-tethys-util.mjs +11 -5
  180. package/fesm2022/ngx-tethys-util.mjs.map +1 -1
  181. package/fesm2022/ngx-tethys-vote.mjs +7 -7
  182. package/fesm2022/ngx-tethys-watermark.mjs +18 -15
  183. package/fesm2022/ngx-tethys-watermark.mjs.map +1 -1
  184. package/fesm2022/ngx-tethys.mjs +1 -1
  185. package/fesm2022/ngx-tethys.mjs.map +1 -1
  186. package/flexible-text/index.d.ts +5 -5
  187. package/form/index.d.ts +26 -22
  188. package/fullscreen/index.d.ts +4 -4
  189. package/grid/index.d.ts +12 -12
  190. package/guider/index.d.ts +10 -10
  191. package/i18n/index.d.ts +1 -1
  192. package/icon/index.d.ts +3 -3
  193. package/image/index.d.ts +12 -12
  194. package/input/index.d.ts +22 -22
  195. package/input-number/index.d.ts +4 -4
  196. package/layout/index.d.ts +16 -16
  197. package/list/index.d.ts +16 -15
  198. package/mention/index.d.ts +4 -4
  199. package/menu/index.d.ts +7 -7
  200. package/message/index.d.ts +5 -5
  201. package/nav/index.d.ts +12 -12
  202. package/notify/index.d.ts +1 -1
  203. package/package.json +1 -1
  204. package/pagination/index.d.ts +21 -17
  205. package/popover/index.d.ts +8 -8
  206. package/progress/index.d.ts +18 -18
  207. package/property/index.d.ts +6 -6
  208. package/property-operation/index.d.ts +3 -3
  209. package/radio/index.d.ts +6 -6
  210. package/rate/index.d.ts +5 -5
  211. package/resizable/index.d.ts +2 -2
  212. package/result/index.d.ts +8 -8
  213. package/schematics/testing/test-workspace.js +1 -0
  214. package/schematics/version.d.ts +1 -1
  215. package/schematics/version.js +1 -1
  216. package/segment/index.d.ts +9 -9
  217. package/select/index.d.ts +21 -21
  218. package/shared/index.d.ts +29 -29
  219. package/skeleton/index.d.ts +52 -52
  220. package/slide/index.d.ts +5 -5
  221. package/slider/index.d.ts +6 -6
  222. package/space/index.d.ts +1 -1
  223. package/statistic/index.d.ts +18 -18
  224. package/stepper/index.d.ts +8 -8
  225. package/switch/index.d.ts +2 -2
  226. package/table/index.d.ts +24 -24
  227. package/tabs/index.d.ts +6 -6
  228. package/testing/index.d.ts +1 -1
  229. package/time-picker/index.d.ts +21 -21
  230. package/timeline/index.d.ts +8 -8
  231. package/tooltip/index.d.ts +12 -12
  232. package/transfer/index.d.ts +16 -16
  233. package/tree/index.d.ts +28 -28
  234. package/tree-select/index.d.ts +13 -13
  235. package/typography/index.d.ts +3 -3
  236. package/upload/index.d.ts +4 -4
  237. package/util/index.d.ts +17 -7
  238. package/vote/index.d.ts +2 -2
  239. package/watermark/index.d.ts +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-tethys-message.mjs","sources":["../../../src/message/abstract/abstract-message-container.component.ts","../../../src/message/abstract/abstract-message-queue.service.ts","../../../src/message/abstract/abstract-message.component.ts","../../../src/message/abstract/abstract-message.service.ts","../../../src/message/abstract/abstract-message-ref.ts","../../../src/message/message.config.ts","../../../src/message/message-queue.service.ts","../../../src/message/message.component.ts","../../../src/message/message.component.html","../../../src/message/message-container.component.ts","../../../src/message/module.ts","../../../src/message/message-ref.ts","../../../src/message/message.service.ts","../../../src/message/ngx-tethys-message.ts"],"sourcesContent":["import { Directive, ElementRef, HostBinding, inject } from '@angular/core';\nimport { coerceCssPixelValue } from 'ngx-tethys/util';\nimport { ThyGlobalMessageConfig } from '../message.config';\n\n/**\n * @internal\n */\n@Directive()\nexport abstract class ThyAbstractMessageContainerComponent {\n private elementRef = inject(ElementRef);\n\n @HostBinding('style.top')\n get offset(): string {\n return coerceCssPixelValue(this.defaultConfig.offset);\n }\n\n public abstract defaultConfig: ThyGlobalMessageConfig;\n\n toOverlayTop() {\n const globalOverlayWrapper = this.elementRef.nativeElement.closest('.cdk-global-overlay-wrapper');\n const overlayContainer = globalOverlayWrapper.parentElement;\n overlayContainer.appendChild(globalOverlayWrapper);\n }\n}\n","import { BehaviorSubject } from 'rxjs';\nimport { ThyGlobalMessageConfig } from '../message.config';\nimport { IThyAbstractMessageQueue, ThyAbstractMessageRef } from './abstract-message-ref';\nimport { signal } from '@angular/core';\n\n/**\n * @internal\n */\nexport class ThyAbstractMessageQueue<TReference extends ThyAbstractMessageRef = ThyAbstractMessageRef> implements IThyAbstractMessageQueue {\n queues = signal<TReference[]>([]);\n\n protected defaultConfig: ThyGlobalMessageConfig;\n\n setQueues(newValue: TReference[]) {\n this.queues.set(newValue);\n }\n\n constructor(defaultConfig: ThyGlobalMessageConfig) {\n this.defaultConfig = defaultConfig;\n }\n\n add(messageRef: TReference) {\n const queues = this.queues();\n if (queues.length >= this.defaultConfig.maxStack) {\n const closedRef = queues.shift();\n closedRef.close();\n }\n this.queues.set([...queues, messageRef]);\n }\n\n remove(id: string) {\n if (!id) {\n this.queues().forEach(item => item.close());\n this.queues.set([]);\n } else {\n const removeItem = this.queues().find(item => item.id === id);\n removeItem?.close();\n const afterRemovedQueues = this.queues().filter(item => item.id !== id);\n this.queues.set(afterRemovedQueues);\n }\n }\n}\n","import { Directive, HostListener, NgZone, OnDestroy, OnInit, inject, input } from '@angular/core';\nimport { ThyMessageBaseConfig } from '../message.config';\nimport { ThyAbstractMessageQueue } from './abstract-message-queue.service';\n\nexport const ANIMATION_IN_DURATION = 100;\nexport const ANIMATION_OUT_DURATION = 150;\nexport const HIDE_STYLE = { transform: 'translateX(0)', opacity: 0, height: 0, paddingTop: 0, paddingBottom: 0, margin: 0 };\n\n/**\n * @internal\n */\n@Directive()\nexport abstract class ThyAbstractMessageComponent<TConfig extends ThyMessageBaseConfig> implements OnInit, OnDestroy {\n private _ngZone = inject(NgZone);\n\n animationState: string;\n\n iconName = '';\n\n private closeTimer: any;\n\n protected abstract queue: ThyAbstractMessageQueue;\n\n readonly config = input<TConfig>(null, { alias: 'thyConfig' });\n\n ngOnInit() {\n const iconName: Record<string, string> = {\n success: 'check-circle-fill',\n info: 'info-circle-fill',\n warning: 'waring-fill',\n error: 'close-circle-fill'\n };\n\n this.iconName = iconName[this.config()?.type];\n this.createCloseTimer();\n }\n\n @HostListener('mouseenter')\n mouseenter() {\n if (this.config()?.pauseOnHover) {\n this.clearCloseTimer();\n }\n }\n\n @HostListener('mouseleave')\n mouseleave() {\n if (this.config()?.pauseOnHover) {\n this.createCloseTimer();\n }\n }\n\n close() {\n this._ngZone.runOutsideAngular(() => {\n this.animationState = 'componentHide';\n setTimeout(() => {\n this.queue.remove(this.config()?.id);\n }, ANIMATION_OUT_DURATION);\n });\n }\n\n private createCloseTimer() {\n const config = this.config();\n if (config?.duration) {\n this.closeTimer = setInterval(() => {\n this.clearCloseTimer();\n this.close();\n }, config.duration);\n }\n }\n\n private clearCloseTimer() {\n clearInterval(this.closeTimer);\n }\n\n ngOnDestroy() {\n this.clearCloseTimer();\n }\n}\n","import { ComponentType, Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { Injector } from '@angular/core';\nimport { ThyAbstractMessageContainerComponent } from './abstract-message-container.component';\nimport { ThyAbstractMessageQueue } from './abstract-message-queue.service';\n\n/**\n * @internal\n */\nexport class ThyAbstractMessageService<TContainer extends ThyAbstractMessageContainerComponent> {\n protected container: TContainer;\n\n protected overlayRef: OverlayRef;\n\n private queue: ThyAbstractMessageQueue;\n\n constructor(\n private overlay: Overlay,\n private injector: Injector,\n queue: ThyAbstractMessageQueue\n ) {\n this.queue = queue;\n }\n\n protected createContainer(container: ComponentType<TContainer>): TContainer {\n if (this.container) {\n this.container.toOverlayTop();\n return this.container;\n }\n\n this.overlayRef = this.overlay.create({\n hasBackdrop: false,\n scrollStrategy: this.overlay.scrollStrategies.noop(),\n positionStrategy: this.overlay.position().global()\n });\n const componentPortal = new ComponentPortal(container, null, this.injector);\n const componentRef = this.overlayRef.attach(componentPortal);\n return componentRef.instance;\n }\n\n remove(id?: string) {\n this.queue.remove(id);\n }\n}\n","import { OverlayRef } from '@angular/cdk/overlay';\nimport { Subject } from 'rxjs';\nimport { ThyMessageBaseConfig } from '../message.config';\nimport { WritableSignal, Signal } from '@angular/core';\n\nexport interface IThyAbstractMessageQueue<TReferences extends ThyAbstractMessageRef = ThyAbstractMessageRef> {\n queues: Signal<TReferences[]>;\n setQueues(newValue: TReferences[]): void;\n}\n\nexport class ThyAbstractMessageRef<TConfig extends ThyMessageBaseConfig = ThyMessageBaseConfig> {\n id: string;\n\n config: TConfig;\n\n private overlayRef: OverlayRef;\n\n private queueService: IThyAbstractMessageQueue;\n\n private _afterClosed = new Subject<void>();\n\n constructor(config: TConfig, overlayRef: OverlayRef, queueService: IThyAbstractMessageQueue) {\n this.id = config.id;\n this.config = config;\n this.overlayRef = overlayRef;\n this.queueService = queueService;\n }\n\n close() {\n this.queueService.setQueues(this.queueService.queues().filter(item => item.id !== this.id));\n this._afterClosed.next();\n this._afterClosed.complete();\n }\n\n afterClosed() {\n return this._afterClosed.asObservable();\n }\n\n getOverlayRef() {\n return this.overlayRef;\n }\n}\n","import { InjectionToken, TemplateRef } from '@angular/core';\nimport { ComponentTypeOrTemplateRef } from 'ngx-tethys/core';\n\nexport type ThyMessageType = 'success' | 'error' | 'warning' | 'info' | 'loading';\n\nexport interface ThyGlobalMessageConfig {\n pauseOnHover?: boolean;\n\n duration?: number;\n\n maxStack?: number;\n\n offset?: string;\n\n showClose?: boolean;\n}\n\nexport const THY_MESSAGE_DEFAULT_CONFIG = new InjectionToken<ThyGlobalMessageConfig>('thy-message-default-config');\n\nexport const THY_MESSAGE_DEFAULT_CONFIG_VALUE: ThyGlobalMessageConfig = {\n offset: '20',\n duration: 4500,\n pauseOnHover: true,\n maxStack: 8,\n showClose: true\n};\n\nexport const THY_MESSAGE_DEFAULT_CONFIG_PROVIDER = {\n provide: THY_MESSAGE_DEFAULT_CONFIG,\n useValue: THY_MESSAGE_DEFAULT_CONFIG_VALUE\n};\n\nexport interface ThyMessageBaseConfig {\n id?: string;\n\n type?: string;\n\n pauseOnHover?: boolean;\n\n duration?: number;\n\n content?: string | ComponentTypeOrTemplateRef<any>;\n\n hostClass?: string | string[];\n}\n\nexport interface ThyMessageConfig extends ThyMessageBaseConfig {\n type?: ThyMessageType;\n\n content?: string | TemplateRef<any>;\n\n showClose?: boolean;\n}\n","import { Injectable, inject } from '@angular/core';\nimport { ThyAbstractMessageQueue } from './abstract';\nimport { ThyMessageRef } from './message-ref';\nimport { THY_MESSAGE_DEFAULT_CONFIG, THY_MESSAGE_DEFAULT_CONFIG_VALUE } from './message.config';\n\n/**\n * @internal\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class ThyMessageQueue extends ThyAbstractMessageQueue<ThyMessageRef> {\n constructor() {\n const defaultConfig = inject(THY_MESSAGE_DEFAULT_CONFIG);\n\n super({\n ...THY_MESSAGE_DEFAULT_CONFIG_VALUE,\n ...defaultConfig\n });\n }\n}\n","import { Component, HostBinding, effect, inject } from '@angular/core';\nimport { trigger, state, style, animate, transition } from '@angular/animations';\nimport { ThyMessageConfig } from './message.config';\nimport { ThyMessageQueue } from './message-queue.service';\nimport { ANIMATION_IN_DURATION, ANIMATION_OUT_DURATION, HIDE_STYLE, ThyAbstractMessageComponent } from './abstract';\nimport { ThyStringOrTemplateOutletDirective } from 'ngx-tethys/shared';\nimport { ThyIcon } from 'ngx-tethys/icon';\n\nimport { coerceArray } from 'ngx-tethys/util';\nimport { useHostRenderer } from '@tethys/cdk/dom';\n\n/**\n * @internal\n */\n@Component({\n selector: 'thy-message',\n templateUrl: './message.component.html',\n host: {\n '[class]': \"'thy-message thy-message-' + config().type\"\n },\n animations: [\n trigger('flyInOut', [\n state('flyIn', style({ transform: 'translateY(0)', opacity: 1, height: '*' })),\n transition('void => flyIn', [\n style({ transform: 'translateY(-100%)', opacity: 0, height: '*' }),\n animate(ANIMATION_IN_DURATION)\n ]),\n transition('flyIn => componentHide', [animate(ANIMATION_OUT_DURATION, style(HIDE_STYLE))]),\n state('componentHide', style(HIDE_STYLE))\n ])\n ],\n imports: [ThyIcon, ThyStringOrTemplateOutletDirective]\n})\nexport class ThyMessage extends ThyAbstractMessageComponent<ThyMessageConfig> {\n @HostBinding('@flyInOut') animationState = 'flyIn';\n\n private hostRenderer = useHostRenderer();\n\n protected queue = inject(ThyMessageQueue);\n\n constructor() {\n super();\n effect(() => {\n const config = this.config();\n if (config?.hostClass) {\n const hostClass = coerceArray(config.hostClass);\n this.hostRenderer.updateClass(hostClass);\n }\n });\n }\n}\n","@let messageConfig = config();\n\n@if (iconName) {\n <thy-icon class=\"thy-message-icon\" [thyIconName]=\"iconName\"></thy-icon>\n} @else {\n <span class=\"thy-message-icon loading-icon\"></span>\n}\n<div class=\"thy-message-main\">\n <ng-container *thyStringOrTemplateOutlet=\"messageConfig?.content\"></ng-container>\n</div>\n@if (messageConfig?.showClose) {\n <thy-icon class=\"thy-message-close\" thyIconName=\"close\" (click)=\"close()\"></thy-icon>\n}\n","import { Component, ElementRef, inject } from '@angular/core';\nimport { ThyAbstractMessageContainerComponent } from './abstract';\nimport { ThyMessageQueue } from './message-queue.service';\nimport { THY_MESSAGE_DEFAULT_CONFIG, THY_MESSAGE_DEFAULT_CONFIG_VALUE } from './message.config';\nimport { ThyMessage } from './message.component';\nimport { AsyncPipe } from '@angular/common';\n\n/**\n * @internal\n */\n@Component({\n selector: 'thy-message-container',\n template: `\n @for (message of messageQueue.queues(); track message.id) {\n <thy-message [thyConfig]=\"message.config\"></thy-message>\n }\n `,\n imports: [ThyMessage],\n host: {\n class: 'thy-message-container'\n }\n})\nexport class ThyMessageContainer extends ThyAbstractMessageContainerComponent {\n messageQueue = inject(ThyMessageQueue);\n\n public defaultConfig = (() => {\n const defaultConfig = inject(THY_MESSAGE_DEFAULT_CONFIG);\n return {\n ...THY_MESSAGE_DEFAULT_CONFIG_VALUE,\n ...defaultConfig\n };\n })();\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { ThySharedModule } from 'ngx-tethys/shared';\nimport { ThyMessage } from './message.component';\nimport { ThyMessageContainer } from './message-container.component';\nimport { THY_MESSAGE_DEFAULT_CONFIG_PROVIDER } from './message.config';\n\n@NgModule({\n imports: [CommonModule, ThySharedModule, OverlayModule, PortalModule, ThyIconModule, ThyMessageContainer, ThyMessage],\n exports: [ThyMessageContainer, ThyMessage],\n providers: [THY_MESSAGE_DEFAULT_CONFIG_PROVIDER]\n})\nexport class ThyMessageModule {}\n","import { ThyAbstractMessageRef } from './abstract';\nimport { ThyMessageConfig } from './message.config';\n\nexport class ThyMessageRef extends ThyAbstractMessageRef<ThyMessageConfig> {}\n","import { Overlay } from '@angular/cdk/overlay';\nimport { Injectable, Injector, TemplateRef, inject } from '@angular/core';\nimport { ThyMessageContainer } from './message-container.component';\nimport { ThyMessageRef } from './message-ref';\nimport { ThyMessageQueue } from './message-queue.service';\nimport { ThyGlobalMessageConfig, ThyMessageConfig, THY_MESSAGE_DEFAULT_CONFIG, THY_MESSAGE_DEFAULT_CONFIG_VALUE } from './message.config';\nimport { ThyAbstractMessageService } from './abstract';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ThyMessageService extends ThyAbstractMessageService<ThyMessageContainer> {\n private messageQueue: ThyMessageQueue;\n\n private _lastMessageId = 0;\n\n private defaultConfig: ThyGlobalMessageConfig;\n\n constructor() {\n const overlay = inject(Overlay);\n const injector = inject(Injector);\n const messageQueue = inject(ThyMessageQueue);\n const config = inject(THY_MESSAGE_DEFAULT_CONFIG);\n\n super(overlay, injector, messageQueue);\n this.messageQueue = messageQueue;\n\n this.defaultConfig = {\n ...THY_MESSAGE_DEFAULT_CONFIG_VALUE,\n ...config\n };\n }\n\n /**\n * 打开 success 类型的 Message\n */\n success(content: string | TemplateRef<any>, config?: ThyMessageConfig): ThyMessageRef {\n return this.show({\n ...(config || {}),\n type: 'success',\n content\n });\n }\n\n /**\n * 打开 error 类型的 Message\n */\n error(content: string | TemplateRef<any>, config?: ThyMessageConfig): ThyMessageRef {\n return this.show({\n ...(config || {}),\n type: 'error',\n content\n });\n }\n\n /**\n * 打开 info 类型的 Message\n */\n info(content: string | TemplateRef<any>, config?: ThyMessageConfig): ThyMessageRef {\n return this.show({\n ...(config || {}),\n type: 'info',\n content\n });\n }\n\n /**\n * 打开 warning 类型的 Message\n */\n warning(content: string | TemplateRef<any>, config?: ThyMessageConfig): ThyMessageRef {\n return this.show({\n ...(config || {}),\n type: 'warning',\n content\n });\n }\n\n /**\n * 打开 loading 类型的 Message\n */\n loading(content: string | TemplateRef<any>, config?: ThyMessageConfig): ThyMessageRef {\n return this.show({\n ...(config || {}),\n type: 'loading',\n content\n });\n }\n\n protected show(config: ThyMessageConfig): ThyMessageRef {\n this.container = this.createContainer(ThyMessageContainer);\n\n const messageConfig = this.formatOptions(config);\n const messageRef = new ThyMessageRef(messageConfig, this.overlayRef, this.messageQueue);\n this.messageQueue.add(messageRef);\n return messageRef;\n }\n\n private formatOptions(config: ThyMessageConfig) {\n return Object.assign({ id: String(this._lastMessageId++) }, this.defaultConfig, config);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;AAIA;;AAEG;MAEmB,oCAAoC,CAAA;AAD1D,IAAA,WAAA,GAAA;AAEY,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AAc1C,IAAA;AAZG,IAAA,IACI,MAAM,GAAA;QACN,OAAO,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;IACzD;IAIA,YAAY,GAAA;AACR,QAAA,MAAM,oBAAoB,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,6BAA6B,CAAC;AACjG,QAAA,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,aAAa;AAC3D,QAAA,gBAAgB,CAAC,WAAW,CAAC,oBAAoB,CAAC;IACtD;+GAdkB,oCAAoC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAApC,oCAAoC,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAApC,oCAAoC,EAAA,UAAA,EAAA,CAAA;kBADzD;;sBAII,WAAW;uBAAC,WAAW;;;ACN5B;;AAEG;MACU,uBAAuB,CAAA;AAKhC,IAAA,SAAS,CAAC,QAAsB,EAAA;AAC5B,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAC7B;AAEA,IAAA,WAAA,CAAY,aAAqC,EAAA;AARjD,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAe,EAAE,kDAAC;AAS7B,QAAA,IAAI,CAAC,aAAa,GAAG,aAAa;IACtC;AAEA,IAAA,GAAG,CAAC,UAAsB,EAAA;AACtB,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;QAC5B,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE;AAC9C,YAAA,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,EAAE;YAChC,SAAS,CAAC,KAAK,EAAE;QACrB;AACA,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,EAAE,UAAU,CAAC,CAAC;IAC5C;AAEA,IAAA,MAAM,CAAC,EAAU,EAAA;QACb,IAAI,CAAC,EAAE,EAAE;AACL,YAAA,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;AAC3C,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB;aAAO;AACH,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC;YAC7D,UAAU,EAAE,KAAK,EAAE;AACnB,YAAA,MAAM,kBAAkB,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC;AACvE,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC;QACvC;IACJ;AACH;;ACrCM,MAAM,qBAAqB,GAAG;AAC9B,MAAM,sBAAsB,GAAG;AAC/B,MAAM,UAAU,GAAG,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;AAEzH;;AAEG;MAEmB,2BAA2B,CAAA;AADjD,IAAA,WAAA,GAAA;AAEY,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;QAIhC,IAAA,CAAA,QAAQ,GAAG,EAAE;AAMJ,QAAA,IAAA,CAAA,MAAM,GAAG,KAAK,CAAU,IAAI,0CAAI,KAAK,EAAE,WAAW,EAAA,CAAA,GAAA,CAApB,EAAE,KAAK,EAAE,WAAW,EAAE,GAAC;AAsDjE,IAAA;IApDG,QAAQ,GAAA;AACJ,QAAA,MAAM,QAAQ,GAA2B;AACrC,YAAA,OAAO,EAAE,mBAAmB;AAC5B,YAAA,IAAI,EAAE,kBAAkB;AACxB,YAAA,OAAO,EAAE,aAAa;AACtB,YAAA,KAAK,EAAE;SACV;AAED,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC;QAC7C,IAAI,CAAC,gBAAgB,EAAE;IAC3B;IAGA,UAAU,GAAA;AACN,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE;YAC7B,IAAI,CAAC,eAAe,EAAE;QAC1B;IACJ;IAGA,UAAU,GAAA;AACN,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE;YAC7B,IAAI,CAAC,gBAAgB,EAAE;QAC3B;IACJ;IAEA,KAAK,GAAA;AACD,QAAA,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAK;AAChC,YAAA,IAAI,CAAC,cAAc,GAAG,eAAe;YACrC,UAAU,CAAC,MAAK;AACZ,gBAAA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC;YACxC,CAAC,EAAE,sBAAsB,CAAC;AAC9B,QAAA,CAAC,CAAC;IACN;IAEQ,gBAAgB,GAAA;AACpB,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;AAC5B,QAAA,IAAI,MAAM,EAAE,QAAQ,EAAE;AAClB,YAAA,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,MAAK;gBAC/B,IAAI,CAAC,eAAe,EAAE;gBACtB,IAAI,CAAC,KAAK,EAAE;AAChB,YAAA,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;QACvB;IACJ;IAEQ,eAAe,GAAA;AACnB,QAAA,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;IAClC;IAEA,WAAW,GAAA;QACP,IAAI,CAAC,eAAe,EAAE;IAC1B;+GAhEkB,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAA3B,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAA3B,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBADhD;;sBA0BI,YAAY;uBAAC,YAAY;;sBAOzB,YAAY;uBAAC,YAAY;;;ACtC9B;;AAEG;MACU,yBAAyB,CAAA;AAOlC,IAAA,WAAA,CACY,OAAgB,EAChB,QAAkB,EAC1B,KAA8B,EAAA;QAFtB,IAAA,CAAA,OAAO,GAAP,OAAO;QACP,IAAA,CAAA,QAAQ,GAAR,QAAQ;AAGhB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;IACtB;AAEU,IAAA,eAAe,CAAC,SAAoC,EAAA;AAC1D,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAChB,YAAA,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE;YAC7B,OAAO,IAAI,CAAC,SAAS;QACzB;QAEA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;AAClC,YAAA,WAAW,EAAE,KAAK;YAClB,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,EAAE;YACpD,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM;AACnD,SAAA,CAAC;AACF,QAAA,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC;QAC3E,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC;QAC5D,OAAO,YAAY,CAAC,QAAQ;IAChC;AAEA,IAAA,MAAM,CAAC,EAAW,EAAA;AACd,QAAA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;IACzB;AACH;;MCjCY,qBAAqB,CAAA;AAW9B,IAAA,WAAA,CAAY,MAAe,EAAE,UAAsB,EAAE,YAAsC,EAAA;AAFnF,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,OAAO,EAAQ;AAGtC,QAAA,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE;AACnB,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM;AACpB,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU;AAC5B,QAAA,IAAI,CAAC,YAAY,GAAG,YAAY;IACpC;IAEA,KAAK,GAAA;QACD,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;AAC3F,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;AACxB,QAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE;IAChC;IAEA,WAAW,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;IAC3C;IAEA,aAAa,GAAA;QACT,OAAO,IAAI,CAAC,UAAU;IAC1B;AACH;;MCxBY,0BAA0B,GAAG,IAAI,cAAc,CAAyB,4BAA4B;AAE1G,MAAM,gCAAgC,GAA2B;AACpE,IAAA,MAAM,EAAE,IAAI;AACZ,IAAA,QAAQ,EAAE,IAAI;AACd,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,QAAQ,EAAE,CAAC;AACX,IAAA,SAAS,EAAE;;AAGR,MAAM,mCAAmC,GAAG;AAC/C,IAAA,OAAO,EAAE,0BAA0B;AACnC,IAAA,QAAQ,EAAE;;;ACxBd;;AAEG;AAIG,MAAO,eAAgB,SAAQ,uBAAsC,CAAA;AACvE,IAAA,WAAA,GAAA;AACI,QAAA,MAAM,aAAa,GAAG,MAAM,CAAC,0BAA0B,CAAC;AAExD,QAAA,KAAK,CAAC;AACF,YAAA,GAAG,gCAAgC;AACnC,YAAA,GAAG;AACN,SAAA,CAAC;IACN;+GARS,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cAFZ,MAAM,EAAA,CAAA,CAAA;;4FAET,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE;AACf,iBAAA;;;ACCD;;AAEG;AAoBG,MAAO,UAAW,SAAQ,2BAA6C,CAAA;AAOzE,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,EAAE;QAPe,IAAA,CAAA,cAAc,GAAG,OAAO;QAE1C,IAAA,CAAA,YAAY,GAAG,eAAe,EAAE;AAE9B,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,eAAe,CAAC;QAIrC,MAAM,CAAC,MAAK;AACR,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;AAC5B,YAAA,IAAI,MAAM,EAAE,SAAS,EAAE;gBACnB,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC;AAC/C,gBAAA,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC;YAC5C;AACJ,QAAA,CAAC,CAAC;IACN;+GAhBS,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAV,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,UAAU,mNCjCvB,idAaA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDkBc,OAAO,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,kCAAkC,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,kCAAA,EAAA,2BAAA,CAAA,EAAA,QAAA,EAAA,CAAA,2BAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAXzC;YACR,OAAO,CAAC,UAAU,EAAE;AAChB,gBAAA,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC9E,UAAU,CAAC,eAAe,EAAE;AACxB,oBAAA,KAAK,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;oBAClE,OAAO,CAAC,qBAAqB;iBAChC,CAAC;AACF,gBAAA,UAAU,CAAC,wBAAwB,EAAE,CAAC,OAAO,CAAC,sBAAsB,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AAC1F,gBAAA,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,UAAU,CAAC;aAC3C;AACJ,SAAA,EAAA,CAAA,CAAA;;4FAGQ,UAAU,EAAA,UAAA,EAAA,CAAA;kBAnBtB,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,EAAA,IAAA,EAEjB;AACF,wBAAA,SAAS,EAAE;qBACd,EAAA,UAAA,EACW;wBACR,OAAO,CAAC,UAAU,EAAE;AAChB,4BAAA,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;4BAC9E,UAAU,CAAC,eAAe,EAAE;AACxB,gCAAA,KAAK,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;gCAClE,OAAO,CAAC,qBAAqB;6BAChC,CAAC;AACF,4BAAA,UAAU,CAAC,wBAAwB,EAAE,CAAC,OAAO,CAAC,sBAAsB,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AAC1F,4BAAA,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,UAAU,CAAC;yBAC3C;AACJ,qBAAA,EAAA,OAAA,EACQ,CAAC,OAAO,EAAE,kCAAkC,CAAC,EAAA,QAAA,EAAA,idAAA,EAAA;;sBAGrD,WAAW;uBAAC,WAAW;;;AE3B5B;;AAEG;AAaG,MAAO,mBAAoB,SAAQ,oCAAoC,CAAA;AAZ7E,IAAA,WAAA,GAAA;;AAaI,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,eAAe,CAAC;QAE/B,IAAA,CAAA,aAAa,GAAG,CAAC,MAAK;AACzB,YAAA,MAAM,aAAa,GAAG,MAAM,CAAC,0BAA0B,CAAC;YACxD,OAAO;AACH,gBAAA,GAAG,gCAAgC;AACnC,gBAAA,GAAG;aACN;QACL,CAAC,GAAG;AACP,IAAA;+GAVY,mBAAmB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,uBAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAVlB;;;;AAIT,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACS,UAAU,EAAA,QAAA,EAAA,aAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAKX,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAZ/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,QAAQ,EAAE;;;;AAIT,IAAA,CAAA;oBACD,OAAO,EAAE,CAAC,UAAU,CAAC;AACrB,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE;AACV;AACJ,iBAAA;;;MCNY,gBAAgB,CAAA;+GAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,YAJf,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,UAAU,CAAA,EAAA,OAAA,EAAA,CAC1G,mBAAmB,EAAE,UAAU,CAAA,EAAA,CAAA,CAAA;AAGhC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,aAFd,CAAC,mCAAmC,CAAC,EAAA,OAAA,EAAA,CAFtC,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,UAAU,CAAA,EAAA,CAAA,CAAA;;4FAI3G,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAL5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,UAAU,CAAC;AACrH,oBAAA,OAAO,EAAE,CAAC,mBAAmB,EAAE,UAAU,CAAC;oBAC1C,SAAS,EAAE,CAAC,mCAAmC;AAClD,iBAAA;;;ACXK,MAAO,aAAc,SAAQ,qBAAuC,CAAA;AAAG;;ACQvE,MAAO,iBAAkB,SAAQ,yBAA8C,CAAA;AAOjF,IAAA,WAAA,GAAA;AACI,QAAA,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;AAC/B,QAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AACjC,QAAA,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,CAAC;AAC5C,QAAA,MAAM,MAAM,GAAG,MAAM,CAAC,0BAA0B,CAAC;AAEjD,QAAA,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC;QAVlC,IAAA,CAAA,cAAc,GAAG,CAAC;AAWtB,QAAA,IAAI,CAAC,YAAY,GAAG,YAAY;QAEhC,IAAI,CAAC,aAAa,GAAG;AACjB,YAAA,GAAG,gCAAgC;AACnC,YAAA,GAAG;SACN;IACL;AAEA;;AAEG;IACH,OAAO,CAAC,OAAkC,EAAE,MAAyB,EAAA;QACjE,OAAO,IAAI,CAAC,IAAI,CAAC;AACb,YAAA,IAAI,MAAM,IAAI,EAAE,CAAC;AACjB,YAAA,IAAI,EAAE,SAAS;YACf;AACH,SAAA,CAAC;IACN;AAEA;;AAEG;IACH,KAAK,CAAC,OAAkC,EAAE,MAAyB,EAAA;QAC/D,OAAO,IAAI,CAAC,IAAI,CAAC;AACb,YAAA,IAAI,MAAM,IAAI,EAAE,CAAC;AACjB,YAAA,IAAI,EAAE,OAAO;YACb;AACH,SAAA,CAAC;IACN;AAEA;;AAEG;IACH,IAAI,CAAC,OAAkC,EAAE,MAAyB,EAAA;QAC9D,OAAO,IAAI,CAAC,IAAI,CAAC;AACb,YAAA,IAAI,MAAM,IAAI,EAAE,CAAC;AACjB,YAAA,IAAI,EAAE,MAAM;YACZ;AACH,SAAA,CAAC;IACN;AAEA;;AAEG;IACH,OAAO,CAAC,OAAkC,EAAE,MAAyB,EAAA;QACjE,OAAO,IAAI,CAAC,IAAI,CAAC;AACb,YAAA,IAAI,MAAM,IAAI,EAAE,CAAC;AACjB,YAAA,IAAI,EAAE,SAAS;YACf;AACH,SAAA,CAAC;IACN;AAEA;;AAEG;IACH,OAAO,CAAC,OAAkC,EAAE,MAAyB,EAAA;QACjE,OAAO,IAAI,CAAC,IAAI,CAAC;AACb,YAAA,IAAI,MAAM,IAAI,EAAE,CAAC;AACjB,YAAA,IAAI,EAAE,SAAS;YACf;AACH,SAAA,CAAC;IACN;AAEU,IAAA,IAAI,CAAC,MAAwB,EAAA;QACnC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC;QAE1D,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;AAChD,QAAA,MAAM,UAAU,GAAG,IAAI,aAAa,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;AACvF,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC;AACjC,QAAA,OAAO,UAAU;IACrB;AAEQ,IAAA,aAAa,CAAC,MAAwB,EAAA;QAC1C,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC;IAC3F;+GAxFS,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cAFd,MAAM,EAAA,CAAA,CAAA;;4FAET,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE;AACf,iBAAA;;;ACVD;;AAEG;;;;"}
1
+ {"version":3,"file":"ngx-tethys-message.mjs","sources":["../../../src/message/abstract/abstract-message-container.component.ts","../../../src/message/abstract/abstract-message-queue.service.ts","../../../src/message/abstract/abstract-message.component.ts","../../../src/message/abstract/abstract-message.service.ts","../../../src/message/abstract/abstract-message-ref.ts","../../../src/message/message.config.ts","../../../src/message/message-queue.service.ts","../../../src/message/message.component.ts","../../../src/message/message.component.html","../../../src/message/message-container.component.ts","../../../src/message/module.ts","../../../src/message/message-ref.ts","../../../src/message/message.service.ts","../../../src/message/ngx-tethys-message.ts"],"sourcesContent":["import { Directive, ElementRef, HostBinding, inject } from '@angular/core';\nimport { coerceCssPixelValue } from 'ngx-tethys/util';\nimport { ThyGlobalMessageConfig } from '../message.config';\n\n/**\n * @internal\n */\n@Directive()\nexport abstract class ThyAbstractMessageContainerComponent {\n private elementRef = inject(ElementRef);\n\n @HostBinding('style.top')\n get offset(): string {\n return coerceCssPixelValue(this.defaultConfig.offset!);\n }\n\n public abstract defaultConfig: ThyGlobalMessageConfig;\n\n toOverlayTop() {\n const globalOverlayWrapper = this.elementRef.nativeElement.closest('.cdk-global-overlay-wrapper');\n const overlayContainer = globalOverlayWrapper.parentElement;\n overlayContainer.appendChild(globalOverlayWrapper);\n }\n}\n","import { BehaviorSubject } from 'rxjs';\nimport { ThyGlobalMessageConfig } from '../message.config';\nimport { IThyAbstractMessageQueue, ThyAbstractMessageRef } from './abstract-message-ref';\nimport { signal } from '@angular/core';\n\n/**\n * @internal\n */\nexport class ThyAbstractMessageQueue<TReference extends ThyAbstractMessageRef = ThyAbstractMessageRef> implements IThyAbstractMessageQueue {\n queues = signal<TReference[]>([]);\n\n protected defaultConfig: ThyGlobalMessageConfig;\n\n setQueues(newValue: TReference[]) {\n this.queues.set(newValue);\n }\n\n constructor(defaultConfig: ThyGlobalMessageConfig) {\n this.defaultConfig = defaultConfig;\n }\n\n add(messageRef: TReference) {\n const queues = this.queues();\n if (queues.length >= this.defaultConfig.maxStack!) {\n const closedRef = queues.shift();\n closedRef?.close();\n }\n this.queues.set([...queues, messageRef]);\n }\n\n remove(id: string | undefined) {\n if (!id) {\n this.queues().forEach(item => item.close());\n this.queues.set([]);\n } else {\n const removeItem = this.queues().find(item => item.id === id);\n removeItem?.close();\n const afterRemovedQueues = this.queues().filter(item => item.id !== id);\n this.queues.set(afterRemovedQueues);\n }\n }\n}\n","import { Directive, HostListener, NgZone, OnDestroy, OnInit, inject, input } from '@angular/core';\nimport { ThyMessageBaseConfig } from '../message.config';\nimport { ThyAbstractMessageQueue } from './abstract-message-queue.service';\n\nexport const ANIMATION_IN_DURATION = 100;\nexport const ANIMATION_OUT_DURATION = 150;\nexport const HIDE_STYLE = { transform: 'translateX(0)', opacity: 0, height: 0, paddingTop: 0, paddingBottom: 0, margin: 0 };\n\n/**\n * @internal\n */\n@Directive()\nexport abstract class ThyAbstractMessageComponent<TConfig extends ThyMessageBaseConfig> implements OnInit, OnDestroy {\n private _ngZone = inject(NgZone);\n\n animationState?: string;\n\n iconName = '';\n\n private closeTimer: any;\n\n protected abstract queue: ThyAbstractMessageQueue;\n\n readonly config = input<TConfig | null>(null, { alias: 'thyConfig' });\n\n ngOnInit() {\n const iconName: Record<string, string> = {\n success: 'check-circle-fill',\n info: 'info-circle-fill',\n warning: 'waring-fill',\n error: 'close-circle-fill'\n };\n\n this.iconName = this.config()?.type ? iconName[this.config()!.type!] : '';\n this.createCloseTimer();\n }\n\n @HostListener('mouseenter')\n mouseenter() {\n if (this.config()?.pauseOnHover) {\n this.clearCloseTimer();\n }\n }\n\n @HostListener('mouseleave')\n mouseleave() {\n if (this.config()?.pauseOnHover) {\n this.createCloseTimer();\n }\n }\n\n close() {\n this._ngZone.runOutsideAngular(() => {\n this.animationState = 'componentHide';\n setTimeout(() => {\n this.queue.remove(this.config()?.id);\n }, ANIMATION_OUT_DURATION);\n });\n }\n\n private createCloseTimer() {\n const config = this.config();\n if (config?.duration) {\n this.closeTimer = setInterval(() => {\n this.clearCloseTimer();\n this.close();\n }, config.duration);\n }\n }\n\n private clearCloseTimer() {\n clearInterval(this.closeTimer);\n }\n\n ngOnDestroy() {\n this.clearCloseTimer();\n }\n}\n","import { ComponentType, Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { Injector } from '@angular/core';\nimport { ThyAbstractMessageContainerComponent } from './abstract-message-container.component';\nimport { ThyAbstractMessageQueue } from './abstract-message-queue.service';\n\n/**\n * @internal\n */\nexport class ThyAbstractMessageService<TContainer extends ThyAbstractMessageContainerComponent> {\n protected container?: TContainer;\n\n protected overlayRef!: OverlayRef;\n\n private queue: ThyAbstractMessageQueue;\n\n constructor(\n private overlay: Overlay,\n private injector: Injector,\n queue: ThyAbstractMessageQueue\n ) {\n this.queue = queue;\n }\n\n protected createContainer(container: ComponentType<TContainer>): TContainer {\n if (this.container) {\n this.container.toOverlayTop();\n return this.container;\n }\n\n this.overlayRef = this.overlay.create({\n hasBackdrop: false,\n scrollStrategy: this.overlay.scrollStrategies.noop(),\n positionStrategy: this.overlay.position().global()\n });\n const componentPortal = new ComponentPortal(container, null, this.injector);\n const componentRef = this.overlayRef.attach(componentPortal);\n return componentRef.instance;\n }\n\n remove(id?: string) {\n this.queue.remove(id);\n }\n}\n","import { OverlayRef } from '@angular/cdk/overlay';\nimport { Subject } from 'rxjs';\nimport { ThyMessageBaseConfig } from '../message.config';\nimport { WritableSignal, Signal } from '@angular/core';\n\nexport interface IThyAbstractMessageQueue<TReferences extends ThyAbstractMessageRef = ThyAbstractMessageRef> {\n queues: Signal<TReferences[]>;\n setQueues(newValue: TReferences[]): void;\n}\n\nexport class ThyAbstractMessageRef<TConfig extends ThyMessageBaseConfig = ThyMessageBaseConfig> {\n id?: string;\n\n config!: TConfig;\n\n private overlayRef: OverlayRef;\n\n private queueService: IThyAbstractMessageQueue;\n\n private _afterClosed = new Subject<void>();\n\n constructor(config: TConfig, overlayRef: OverlayRef, queueService: IThyAbstractMessageQueue) {\n this.id = config.id;\n this.config = config;\n this.overlayRef = overlayRef;\n this.queueService = queueService;\n }\n\n close() {\n this.queueService.setQueues(this.queueService.queues().filter(item => item.id !== this.id));\n this._afterClosed.next();\n this._afterClosed.complete();\n }\n\n afterClosed() {\n return this._afterClosed.asObservable();\n }\n\n getOverlayRef() {\n return this.overlayRef;\n }\n}\n","import { InjectionToken, TemplateRef } from '@angular/core';\nimport { ComponentTypeOrTemplateRef } from 'ngx-tethys/core';\n\nexport type ThyMessageType = 'success' | 'error' | 'warning' | 'info' | 'loading';\n\nexport interface ThyGlobalMessageConfig {\n pauseOnHover?: boolean;\n\n duration?: number;\n\n maxStack?: number;\n\n offset?: string;\n\n showClose?: boolean;\n}\n\nexport const THY_MESSAGE_DEFAULT_CONFIG = new InjectionToken<ThyGlobalMessageConfig>('thy-message-default-config');\n\nexport const THY_MESSAGE_DEFAULT_CONFIG_VALUE: ThyGlobalMessageConfig = {\n offset: '20',\n duration: 4500,\n pauseOnHover: true,\n maxStack: 8,\n showClose: true\n};\n\nexport const THY_MESSAGE_DEFAULT_CONFIG_PROVIDER = {\n provide: THY_MESSAGE_DEFAULT_CONFIG,\n useValue: THY_MESSAGE_DEFAULT_CONFIG_VALUE\n};\n\nexport interface ThyMessageBaseConfig {\n id?: string;\n\n type?: string;\n\n pauseOnHover?: boolean;\n\n duration?: number;\n\n content?: string | ComponentTypeOrTemplateRef<any>;\n\n hostClass?: string | string[];\n}\n\nexport interface ThyMessageConfig extends ThyMessageBaseConfig {\n type?: ThyMessageType;\n\n content?: string | TemplateRef<any>;\n\n showClose?: boolean;\n}\n","import { Injectable, inject } from '@angular/core';\nimport { ThyAbstractMessageQueue } from './abstract';\nimport { ThyMessageRef } from './message-ref';\nimport { THY_MESSAGE_DEFAULT_CONFIG, THY_MESSAGE_DEFAULT_CONFIG_VALUE } from './message.config';\n\n/**\n * @internal\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class ThyMessageQueue extends ThyAbstractMessageQueue<ThyMessageRef> {\n constructor() {\n const defaultConfig = inject(THY_MESSAGE_DEFAULT_CONFIG);\n\n super({\n ...THY_MESSAGE_DEFAULT_CONFIG_VALUE,\n ...defaultConfig\n });\n }\n}\n","import { Component, HostBinding, effect, inject } from '@angular/core';\nimport { trigger, state, style, animate, transition } from '@angular/animations';\nimport { ThyMessageConfig } from './message.config';\nimport { ThyMessageQueue } from './message-queue.service';\nimport { ANIMATION_IN_DURATION, ANIMATION_OUT_DURATION, HIDE_STYLE, ThyAbstractMessageComponent } from './abstract';\nimport { ThyStringOrTemplateOutletDirective } from 'ngx-tethys/shared';\nimport { ThyIcon } from 'ngx-tethys/icon';\n\nimport { coerceArray } from 'ngx-tethys/util';\nimport { useHostRenderer } from '@tethys/cdk/dom';\n\n/**\n * @internal\n */\n@Component({\n selector: 'thy-message',\n templateUrl: './message.component.html',\n host: {\n '[class]': \"'thy-message thy-message-' + config().type\"\n },\n animations: [\n trigger('flyInOut', [\n state('flyIn', style({ transform: 'translateY(0)', opacity: 1, height: '*' })),\n transition('void => flyIn', [\n style({ transform: 'translateY(-100%)', opacity: 0, height: '*' }),\n animate(ANIMATION_IN_DURATION)\n ]),\n transition('flyIn => componentHide', [animate(ANIMATION_OUT_DURATION, style(HIDE_STYLE))]),\n state('componentHide', style(HIDE_STYLE))\n ])\n ],\n imports: [ThyIcon, ThyStringOrTemplateOutletDirective]\n})\nexport class ThyMessage extends ThyAbstractMessageComponent<ThyMessageConfig> {\n @HostBinding('@flyInOut') animationState = 'flyIn';\n\n private hostRenderer = useHostRenderer();\n\n protected queue = inject(ThyMessageQueue);\n\n constructor() {\n super();\n effect(() => {\n const config = this.config();\n if (config?.hostClass) {\n const hostClass = coerceArray(config.hostClass);\n this.hostRenderer.updateClass(hostClass);\n }\n });\n }\n}\n","@let messageConfig = config();\n\n@if (iconName) {\n <thy-icon class=\"thy-message-icon\" [thyIconName]=\"iconName\"></thy-icon>\n} @else {\n <span class=\"thy-message-icon loading-icon\"></span>\n}\n<div class=\"thy-message-main\">\n <ng-container *thyStringOrTemplateOutlet=\"messageConfig?.content\"></ng-container>\n</div>\n@if (messageConfig?.showClose) {\n <thy-icon class=\"thy-message-close\" thyIconName=\"close\" (click)=\"close()\"></thy-icon>\n}\n","import { Component, ElementRef, inject } from '@angular/core';\nimport { ThyAbstractMessageContainerComponent } from './abstract';\nimport { ThyMessageQueue } from './message-queue.service';\nimport { THY_MESSAGE_DEFAULT_CONFIG, THY_MESSAGE_DEFAULT_CONFIG_VALUE } from './message.config';\nimport { ThyMessage } from './message.component';\nimport { AsyncPipe } from '@angular/common';\n\n/**\n * @internal\n */\n@Component({\n selector: 'thy-message-container',\n template: `\n @for (message of messageQueue.queues(); track message.id) {\n <thy-message [thyConfig]=\"message.config\"></thy-message>\n }\n `,\n imports: [ThyMessage],\n host: {\n class: 'thy-message-container'\n }\n})\nexport class ThyMessageContainer extends ThyAbstractMessageContainerComponent {\n messageQueue = inject(ThyMessageQueue);\n\n public defaultConfig = (() => {\n const defaultConfig = inject(THY_MESSAGE_DEFAULT_CONFIG);\n return {\n ...THY_MESSAGE_DEFAULT_CONFIG_VALUE,\n ...defaultConfig\n };\n })();\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThyIconModule } from 'ngx-tethys/icon';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { ThySharedModule } from 'ngx-tethys/shared';\nimport { ThyMessage } from './message.component';\nimport { ThyMessageContainer } from './message-container.component';\nimport { THY_MESSAGE_DEFAULT_CONFIG_PROVIDER } from './message.config';\n\n@NgModule({\n imports: [CommonModule, ThySharedModule, OverlayModule, PortalModule, ThyIconModule, ThyMessageContainer, ThyMessage],\n exports: [ThyMessageContainer, ThyMessage],\n providers: [THY_MESSAGE_DEFAULT_CONFIG_PROVIDER]\n})\nexport class ThyMessageModule {}\n","import { ThyAbstractMessageRef } from './abstract';\nimport { ThyMessageConfig } from './message.config';\n\nexport class ThyMessageRef extends ThyAbstractMessageRef<ThyMessageConfig> {}\n","import { Overlay } from '@angular/cdk/overlay';\nimport { Injectable, Injector, TemplateRef, inject } from '@angular/core';\nimport { ThyMessageContainer } from './message-container.component';\nimport { ThyMessageRef } from './message-ref';\nimport { ThyMessageQueue } from './message-queue.service';\nimport { ThyGlobalMessageConfig, ThyMessageConfig, THY_MESSAGE_DEFAULT_CONFIG, THY_MESSAGE_DEFAULT_CONFIG_VALUE } from './message.config';\nimport { ThyAbstractMessageService } from './abstract';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ThyMessageService extends ThyAbstractMessageService<ThyMessageContainer> {\n private messageQueue: ThyMessageQueue;\n\n private _lastMessageId = 0;\n\n private defaultConfig: ThyGlobalMessageConfig;\n\n constructor() {\n const overlay = inject(Overlay);\n const injector = inject(Injector);\n const messageQueue = inject(ThyMessageQueue);\n const config = inject(THY_MESSAGE_DEFAULT_CONFIG);\n\n super(overlay, injector, messageQueue);\n this.messageQueue = messageQueue;\n\n this.defaultConfig = {\n ...THY_MESSAGE_DEFAULT_CONFIG_VALUE,\n ...config\n };\n }\n\n /**\n * 打开 success 类型的 Message\n */\n success(content: string | TemplateRef<any>, config?: ThyMessageConfig): ThyMessageRef {\n return this.show({\n ...(config || {}),\n type: 'success',\n content\n });\n }\n\n /**\n * 打开 error 类型的 Message\n */\n error(content: string | TemplateRef<any>, config?: ThyMessageConfig): ThyMessageRef {\n return this.show({\n ...(config || {}),\n type: 'error',\n content\n });\n }\n\n /**\n * 打开 info 类型的 Message\n */\n info(content: string | TemplateRef<any>, config?: ThyMessageConfig): ThyMessageRef {\n return this.show({\n ...(config || {}),\n type: 'info',\n content\n });\n }\n\n /**\n * 打开 warning 类型的 Message\n */\n warning(content: string | TemplateRef<any>, config?: ThyMessageConfig): ThyMessageRef {\n return this.show({\n ...(config || {}),\n type: 'warning',\n content\n });\n }\n\n /**\n * 打开 loading 类型的 Message\n */\n loading(content: string | TemplateRef<any>, config?: ThyMessageConfig): ThyMessageRef {\n return this.show({\n ...(config || {}),\n type: 'loading',\n content\n });\n }\n\n protected show(config: ThyMessageConfig): ThyMessageRef {\n this.container = this.createContainer(ThyMessageContainer);\n\n const messageConfig = this.formatOptions(config);\n const messageRef = new ThyMessageRef(messageConfig, this.overlayRef, this.messageQueue);\n this.messageQueue.add(messageRef);\n return messageRef;\n }\n\n private formatOptions(config: ThyMessageConfig) {\n return Object.assign({ id: String(this._lastMessageId++) }, this.defaultConfig, config);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -21,10 +21,10 @@ class ThyIconNavLink {
21
21
  this.thyIconNavLinkIcon = input('', ...(ngDevMode ? [{ debugName: "thyIconNavLinkIcon" }] : []));
22
22
  this.thyIconNavLinkActive = input(false, ...(ngDevMode ? [{ debugName: "thyIconNavLinkActive", transform: coerceBooleanProperty }] : [{ transform: coerceBooleanProperty }]));
23
23
  }
24
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyIconNavLink, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
25
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: ThyIconNavLink, isStandalone: true, selector: "[thyIconNavLink]", inputs: { thyIconNavLinkIcon: { classPropertyName: "thyIconNavLinkIcon", publicName: "thyIconNavLinkIcon", isSignal: true, isRequired: false, transformFunction: null }, thyIconNavLinkActive: { classPropertyName: "thyIconNavLinkActive", publicName: "thyIconNavLinkActive", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.active": "thyIconNavLinkActive()", "class.thy-icon-nav-link": "true" } }, ngImport: i0, template: '<ng-content></ng-content>@if (thyIconNavLinkIcon()) {<thy-icon [thyIconName]="thyIconNavLinkIcon()"></thy-icon>}', isInline: true, dependencies: [{ kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }] }); }
24
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyIconNavLink, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
25
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: ThyIconNavLink, isStandalone: true, selector: "[thyIconNavLink]", inputs: { thyIconNavLinkIcon: { classPropertyName: "thyIconNavLinkIcon", publicName: "thyIconNavLinkIcon", isSignal: true, isRequired: false, transformFunction: null }, thyIconNavLinkActive: { classPropertyName: "thyIconNavLinkActive", publicName: "thyIconNavLinkActive", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.active": "thyIconNavLinkActive()", "class.thy-icon-nav-link": "true" } }, ngImport: i0, template: '<ng-content></ng-content>@if (thyIconNavLinkIcon()) {<thy-icon [thyIconName]="thyIconNavLinkIcon()"></thy-icon>}', isInline: true, dependencies: [{ kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }] }); }
26
26
  }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyIconNavLink, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyIconNavLink, decorators: [{
28
28
  type: Component,
29
29
  args: [{
30
30
  // eslint-disable-next-line @angular-eslint/component-selector
@@ -56,10 +56,10 @@ class ThyIconNav {
56
56
  this.updateClasses();
57
57
  });
58
58
  }
59
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyIconNav, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
60
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.14", type: ThyIconNav, isStandalone: true, selector: "thy-icon-nav", inputs: { thyType: { classPropertyName: "thyType", publicName: "thyType", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.thy-icon-nav": "this.isIconNav" } }, ngImport: i0, template: "<ng-content></ng-content>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
59
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyIconNav, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
60
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.15", type: ThyIconNav, isStandalone: true, selector: "thy-icon-nav", inputs: { thyType: { classPropertyName: "thyType", publicName: "thyType", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.thy-icon-nav": "this.isIconNav" } }, ngImport: i0, template: "<ng-content></ng-content>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
61
61
  }
62
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyIconNav, decorators: [{
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyIconNav, decorators: [{
63
63
  type: Component,
64
64
  args: [{ selector: 'thy-icon-nav', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\n" }]
65
65
  }], ctorParameters: () => [], propDecorators: { isIconNav: [{
@@ -153,10 +153,10 @@ class ThyNavItemDirective {
153
153
  removeClass(className) {
154
154
  this.hostRenderer.removeClass(className);
155
155
  }
156
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyNavItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
157
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "20.3.14", type: ThyNavItemDirective, isStandalone: true, selector: "[thyNavLink],[thyNavItem]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, thyNavItemActive: { classPropertyName: "thyNavItemActive", publicName: "thyNavItemActive", isSignal: true, isRequired: false, transformFunction: null }, thyNavLinkActive: { classPropertyName: "thyNavLinkActive", publicName: "thyNavLinkActive", isSignal: true, isRequired: false, transformFunction: null }, thyNavItemDisabled: { classPropertyName: "thyNavItemDisabled", publicName: "thyNavItemDisabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.active": "thyNavItemActive() || thyNavLinkActive()", "class.disabled": "thyNavItemDisabled()" }, classAttribute: "thy-nav-item" }, queries: [{ propertyName: "links", predicate: i0.forwardRef(() => ThyNavItemDirective), descendants: true, isSignal: true }, { propertyName: "routers", predicate: RouterLinkActive, descendants: true, isSignal: true }], ngImport: i0 }); }
156
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyNavItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
157
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "20.3.15", type: ThyNavItemDirective, isStandalone: true, selector: "[thyNavLink],[thyNavItem]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, thyNavItemActive: { classPropertyName: "thyNavItemActive", publicName: "thyNavItemActive", isSignal: true, isRequired: false, transformFunction: null }, thyNavLinkActive: { classPropertyName: "thyNavLinkActive", publicName: "thyNavLinkActive", isSignal: true, isRequired: false, transformFunction: null }, thyNavItemDisabled: { classPropertyName: "thyNavItemDisabled", publicName: "thyNavItemDisabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.active": "thyNavItemActive() || thyNavLinkActive()", "class.disabled": "thyNavItemDisabled()" }, classAttribute: "thy-nav-item" }, queries: [{ propertyName: "links", predicate: i0.forwardRef(() => ThyNavItemDirective), descendants: true, isSignal: true }, { propertyName: "routers", predicate: RouterLinkActive, descendants: true, isSignal: true }], ngImport: i0 }); }
158
158
  }
159
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyNavItemDirective, decorators: [{
159
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyNavItemDirective, decorators: [{
160
160
  type: Directive,
161
161
  args: [{
162
162
  selector: '[thyNavLink],[thyNavItem]',
@@ -222,10 +222,10 @@ class ThyNavInkBarDirective {
222
222
  hide() {
223
223
  this.elementRef.nativeElement.style.visibility = 'hidden';
224
224
  }
225
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyNavInkBarDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
226
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.14", type: ThyNavInkBarDirective, isStandalone: true, selector: "thy-nav-ink-bar, [thyNavInkBar]", inputs: { isVertical: { classPropertyName: "isVertical", publicName: "isVertical", isSignal: true, isRequired: false, transformFunction: null }, showInkBar: { classPropertyName: "showInkBar", publicName: "showInkBar", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.thy-nav-ink-bar-animated": "animated()" }, classAttribute: "thy-nav-ink-bar" }, ngImport: i0 }); }
225
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyNavInkBarDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
226
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.15", type: ThyNavInkBarDirective, isStandalone: true, selector: "thy-nav-ink-bar, [thyNavInkBar]", inputs: { isVertical: { classPropertyName: "isVertical", publicName: "isVertical", isSignal: true, isRequired: false, transformFunction: null }, showInkBar: { classPropertyName: "showInkBar", publicName: "showInkBar", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.thy-nav-ink-bar-animated": "animated()" }, classAttribute: "thy-nav-ink-bar" }, ngImport: i0 }); }
227
227
  }
228
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyNavInkBarDirective, decorators: [{
228
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyNavInkBarDirective, decorators: [{
229
229
  type: Directive,
230
230
  args: [{
231
231
  selector: 'thy-nav-ink-bar, [thyNavInkBar]',
@@ -246,10 +246,10 @@ class BypassSecurityTrustHtmlPipe {
246
246
  transform(format) {
247
247
  return this.sanitizer.bypassSecurityTrustHtml(format);
248
248
  }
249
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: BypassSecurityTrustHtmlPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
250
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.14", ngImport: i0, type: BypassSecurityTrustHtmlPipe, isStandalone: true, name: "bypassSecurityTrustHtml" }); }
249
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: BypassSecurityTrustHtmlPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
250
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: BypassSecurityTrustHtmlPipe, isStandalone: true, name: "bypassSecurityTrustHtml" }); }
251
251
  }
252
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: BypassSecurityTrustHtmlPipe, decorators: [{
252
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: BypassSecurityTrustHtmlPipe, decorators: [{
253
253
  type: Pipe,
254
254
  args: [{
255
255
  name: 'bypassSecurityTrustHtml'
@@ -465,10 +465,10 @@ class ThyNav {
465
465
  }
466
466
  setMoreBtnOffset() {
467
467
  const defaultMoreOperation = this.defaultMoreOperation();
468
- const computedStyle = window.getComputedStyle(defaultMoreOperation?.nativeElement);
468
+ const computedStyle = window.getComputedStyle(defaultMoreOperation.nativeElement);
469
469
  this.moreBtnOffset = {
470
- height: defaultMoreOperation?.nativeElement?.offsetHeight + parseFloat(computedStyle?.marginBottom) || 0,
471
- width: defaultMoreOperation?.nativeElement?.offsetWidth + parseFloat(computedStyle?.marginRight) || 0
470
+ height: defaultMoreOperation.nativeElement.offsetHeight + parseFloat(computedStyle?.marginBottom) || 0,
471
+ width: defaultMoreOperation.nativeElement.offsetWidth + parseFloat(computedStyle?.marginRight) || 0
472
472
  };
473
473
  }
474
474
  setNavItemDivider() {
@@ -529,7 +529,7 @@ class ThyNav {
529
529
  for (let i = 0; i < tabsLength; i += 1) {
530
530
  const _totalWidth = i === tabsLength - 1 ? totalWidth + tabs[i].offset.width : totalWidth + tabs[i].offset.width + tabItemRight;
531
531
  if (_totalWidth > this.wrapperOffset.width) {
532
- let moreOperationWidth = this.moreBtnOffset.width;
532
+ const moreOperationWidth = this.moreBtnOffset.width;
533
533
  if (totalWidth + moreOperationWidth <= this.wrapperOffset.width) {
534
534
  endIndex = i - 1;
535
535
  }
@@ -552,7 +552,7 @@ class ThyNav {
552
552
  for (let i = 0; i < tabsLength; i += 1) {
553
553
  const _totalHeight = totalHeight + tabs[i].offset.height;
554
554
  if (_totalHeight > this.wrapperOffset.height) {
555
- let moreOperationHeight = this.moreBtnOffset.height;
555
+ const moreOperationHeight = this.moreBtnOffset.height;
556
556
  if (totalHeight + moreOperationHeight <= this.wrapperOffset.height) {
557
557
  endIndex = i - 1;
558
558
  }
@@ -617,10 +617,10 @@ class ThyNav {
617
617
  this.navSubscription.unsubscribe();
618
618
  }
619
619
  }
620
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyNav, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
621
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: ThyNav, isStandalone: true, selector: "thy-nav", inputs: { thyType: { classPropertyName: "thyType", publicName: "thyType", isSignal: true, isRequired: false, transformFunction: null }, thySize: { classPropertyName: "thySize", publicName: "thySize", isSignal: true, isRequired: false, transformFunction: null }, thyHorizontal: { classPropertyName: "thyHorizontal", publicName: "thyHorizontal", isSignal: true, isRequired: false, transformFunction: null }, thyVertical: { classPropertyName: "thyVertical", publicName: "thyVertical", isSignal: true, isRequired: false, transformFunction: null }, thyFill: { classPropertyName: "thyFill", publicName: "thyFill", isSignal: true, isRequired: false, transformFunction: null }, thyResponsive: { classPropertyName: "thyResponsive", publicName: "thyResponsive", isSignal: true, isRequired: false, transformFunction: null }, thyPauseReCalculate: { classPropertyName: "thyPauseReCalculate", publicName: "thyPauseReCalculate", isSignal: true, isRequired: false, transformFunction: null }, thyInsideClosable: { classPropertyName: "thyInsideClosable", publicName: "thyInsideClosable", isSignal: true, isRequired: false, transformFunction: null }, thyPopoverOptions: { classPropertyName: "thyPopoverOptions", publicName: "thyPopoverOptions", isSignal: true, isRequired: false, transformFunction: null }, thyExtra: { classPropertyName: "thyExtra", publicName: "thyExtra", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.thy-nav": "true", "class.thy-nav--vertical": "thyVertical()", "class.thy-nav--fill": "thyFill()" } }, queries: [{ propertyName: "routers", predicate: RouterLinkActive, descendants: true, isSignal: true }, { propertyName: "moreOperation", first: true, predicate: ["more"], descendants: true, isSignal: true }, { propertyName: "morePopover", first: true, predicate: ["morePopover"], descendants: true, isSignal: true }, { propertyName: "extra", first: true, predicate: ["extra"], descendants: true, isSignal: true }, { propertyName: "links", predicate: ThyNavItemDirective, descendants: true }], viewQueries: [{ propertyName: "defaultMoreOperation", first: true, predicate: ["moreOperationContainer"], descendants: true, isSignal: true }, { propertyName: "inkBar", first: true, predicate: ThyNavInkBarDirective, descendants: true, isSignal: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"thy-nav-list\" [ngClass]=\"horizontal() ? 'justify-content-' + horizontal() : ''\" #navList>\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n @if (thyResponsive()) {\n <a\n href=\"javascript:;\"\n class=\"thy-nav-more-container\"\n [class.d-none]=\"!showMore()\"\n [class.invisible]=\"!initialized\"\n #moreOperationContainer\n thyNavLink\n [thyNavItemActive]=\"moreActive\"\n (click)=\"openMoreMenu($event, navListPopover)\">\n @if (moreOperation()) {\n <ng-container [ngTemplateOutlet]=\"moreOperation()\"></ng-container>\n } @else {\n {{ locale().more }}\n <thy-icon thyIconName=\"angle-down\" class=\"thy-nav-more-icon\"></thy-icon>\n }\n </a>\n }\n @if (thyExtra() || extra()) {\n <div class=\"thy-nav-extra\">\n <ng-container [ngTemplateOutlet]=\"thyExtra() || extra()\"></ng-container>\n </div>\n }\n <thy-nav-ink-bar [showInkBar]=\"showInkBar\" [isVertical]=\"thyVertical()\"></thy-nav-ink-bar>\n</div>\n\n<ng-template #navListPopover>\n @if (morePopover()) {\n <ng-container [ngTemplateOutlet]=\"morePopover()\" [ngTemplateOutletContext]=\"{ $implicit: hiddenItems }\"></ng-container>\n } @else {\n <thy-dropdown-menu thyImmediateRender>\n @for (item of hiddenItems; track $index) {\n <span\n class=\"thy-nav-item-more\"\n thyDropdownMenuItem\n [thyDropdownMenuItemActive]=\"item.isActive\"\n (click)=\"navItemClick(item)\"\n [innerHTML]=\"item.elementRef.nativeElement.innerHTML | bypassSecurityTrustHtml\"></span>\n }\n </thy-dropdown-menu>\n }\n</ng-template>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: ThyNavItemDirective, selector: "[thyNavLink],[thyNavItem]", inputs: ["id", "thyNavItemActive", "thyNavLinkActive", "thyNavItemDisabled"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: ThyNavInkBarDirective, selector: "thy-nav-ink-bar, [thyNavInkBar]", inputs: ["isVertical", "showInkBar"] }, { kind: "component", type: ThyDropdownMenuComponent, selector: "thy-dropdown-menu", inputs: ["thyWidth", "thyImmediateRender"] }, { kind: "directive", type: ThyDropdownMenuItemDirective, selector: "[thyDropdownMenuItem]", inputs: ["thyType", "thyDisabled"] }, { kind: "directive", type: ThyDropdownMenuItemActiveDirective, selector: "[thyDropdownMenuItemActive]", inputs: ["thyDropdownMenuItemActive"] }, { kind: "pipe", type: BypassSecurityTrustHtmlPipe, name: "bypassSecurityTrustHtml" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
620
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyNav, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
621
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: ThyNav, isStandalone: true, selector: "thy-nav", inputs: { thyType: { classPropertyName: "thyType", publicName: "thyType", isSignal: true, isRequired: false, transformFunction: null }, thySize: { classPropertyName: "thySize", publicName: "thySize", isSignal: true, isRequired: false, transformFunction: null }, thyHorizontal: { classPropertyName: "thyHorizontal", publicName: "thyHorizontal", isSignal: true, isRequired: false, transformFunction: null }, thyVertical: { classPropertyName: "thyVertical", publicName: "thyVertical", isSignal: true, isRequired: false, transformFunction: null }, thyFill: { classPropertyName: "thyFill", publicName: "thyFill", isSignal: true, isRequired: false, transformFunction: null }, thyResponsive: { classPropertyName: "thyResponsive", publicName: "thyResponsive", isSignal: true, isRequired: false, transformFunction: null }, thyPauseReCalculate: { classPropertyName: "thyPauseReCalculate", publicName: "thyPauseReCalculate", isSignal: true, isRequired: false, transformFunction: null }, thyInsideClosable: { classPropertyName: "thyInsideClosable", publicName: "thyInsideClosable", isSignal: true, isRequired: false, transformFunction: null }, thyPopoverOptions: { classPropertyName: "thyPopoverOptions", publicName: "thyPopoverOptions", isSignal: true, isRequired: false, transformFunction: null }, thyExtra: { classPropertyName: "thyExtra", publicName: "thyExtra", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.thy-nav": "true", "class.thy-nav--vertical": "thyVertical()", "class.thy-nav--fill": "thyFill()" } }, queries: [{ propertyName: "routers", predicate: RouterLinkActive, descendants: true, isSignal: true }, { propertyName: "moreOperation", first: true, predicate: ["more"], descendants: true, isSignal: true }, { propertyName: "morePopover", first: true, predicate: ["morePopover"], descendants: true, isSignal: true }, { propertyName: "extra", first: true, predicate: ["extra"], descendants: true, isSignal: true }, { propertyName: "links", predicate: ThyNavItemDirective, descendants: true }], viewQueries: [{ propertyName: "defaultMoreOperation", first: true, predicate: ["moreOperationContainer"], descendants: true, isSignal: true }, { propertyName: "inkBar", first: true, predicate: ThyNavInkBarDirective, descendants: true, isSignal: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"thy-nav-list\" [ngClass]=\"horizontal() ? 'justify-content-' + horizontal() : ''\" #navList>\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n @if (thyResponsive()) {\n <a\n href=\"javascript:;\"\n class=\"thy-nav-more-container\"\n [class.d-none]=\"!showMore()\"\n [class.invisible]=\"!initialized\"\n #moreOperationContainer\n thyNavLink\n [thyNavItemActive]=\"moreActive\"\n (click)=\"openMoreMenu($event, navListPopover)\">\n @if (moreOperation()) {\n <ng-container [ngTemplateOutlet]=\"moreOperation()\"></ng-container>\n } @else {\n {{ locale().more }}\n <thy-icon thyIconName=\"angle-down\" class=\"thy-nav-more-icon\"></thy-icon>\n }\n </a>\n }\n @if (thyExtra() || extra()) {\n <div class=\"thy-nav-extra\">\n <ng-container [ngTemplateOutlet]=\"thyExtra() || extra()\"></ng-container>\n </div>\n }\n <thy-nav-ink-bar [showInkBar]=\"showInkBar\" [isVertical]=\"thyVertical()\"></thy-nav-ink-bar>\n</div>\n\n<ng-template #navListPopover>\n @if (morePopover()) {\n <ng-container [ngTemplateOutlet]=\"morePopover()\" [ngTemplateOutletContext]=\"{ $implicit: hiddenItems }\"></ng-container>\n } @else {\n <thy-dropdown-menu thyImmediateRender>\n @for (item of hiddenItems; track $index) {\n <span\n class=\"thy-nav-item-more\"\n thyDropdownMenuItem\n [thyDropdownMenuItemActive]=\"item.isActive\"\n (click)=\"navItemClick(item)\"\n [innerHTML]=\"item.elementRef.nativeElement.innerHTML | bypassSecurityTrustHtml\"></span>\n }\n </thy-dropdown-menu>\n }\n</ng-template>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: ThyNavItemDirective, selector: "[thyNavLink],[thyNavItem]", inputs: ["id", "thyNavItemActive", "thyNavLinkActive", "thyNavItemDisabled"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: ThyNavInkBarDirective, selector: "thy-nav-ink-bar, [thyNavInkBar]", inputs: ["isVertical", "showInkBar"] }, { kind: "component", type: ThyDropdownMenuComponent, selector: "thy-dropdown-menu", inputs: ["thyWidth", "thyImmediateRender"] }, { kind: "directive", type: ThyDropdownMenuItemDirective, selector: "[thyDropdownMenuItem]", inputs: ["thyType", "thyDisabled"] }, { kind: "directive", type: ThyDropdownMenuItemActiveDirective, selector: "[thyDropdownMenuItemActive]", inputs: ["thyDropdownMenuItemActive"] }, { kind: "pipe", type: BypassSecurityTrustHtmlPipe, name: "bypassSecurityTrustHtml" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
622
622
  }
623
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyNav, decorators: [{
623
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyNav, decorators: [{
624
624
  type: Component,
625
625
  args: [{ selector: 'thy-nav', host: {
626
626
  '[class.thy-nav]': 'true',
@@ -643,8 +643,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
643
643
  }], routers: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => RouterLinkActive), { ...{ descendants: true }, isSignal: true }] }], moreOperation: [{ type: i0.ContentChild, args: ['more', { isSignal: true }] }], morePopover: [{ type: i0.ContentChild, args: ['morePopover', { isSignal: true }] }], extra: [{ type: i0.ContentChild, args: ['extra', { isSignal: true }] }], defaultMoreOperation: [{ type: i0.ViewChild, args: ['moreOperationContainer', { isSignal: true }] }], inkBar: [{ type: i0.ViewChild, args: [i0.forwardRef(() => ThyNavInkBarDirective), { isSignal: true }] }] } });
644
644
 
645
645
  class ThyNavModule {
646
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyNavModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
647
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.14", ngImport: i0, type: ThyNavModule, imports: [CommonModule,
646
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyNavModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
647
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: ThyNavModule, imports: [CommonModule,
648
648
  ThyIconModule,
649
649
  ThyPopoverModule,
650
650
  ThyDropdownModule,
@@ -655,7 +655,7 @@ class ThyNavModule {
655
655
  ThyIconNavLink,
656
656
  BypassSecurityTrustHtmlPipe,
657
657
  ThyNavInkBarDirective], exports: [ThyNav, ThyNavItemDirective, ThyIconNav, ThyIconNavLink, BypassSecurityTrustHtmlPipe] }); }
658
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyNavModule, imports: [CommonModule,
658
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyNavModule, imports: [CommonModule,
659
659
  ThyIconModule,
660
660
  ThyPopoverModule,
661
661
  ThyDropdownModule,
@@ -663,7 +663,7 @@ class ThyNavModule {
663
663
  ThyNav,
664
664
  ThyIconNavLink] }); }
665
665
  }
666
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyNavModule, decorators: [{
666
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyNavModule, decorators: [{
667
667
  type: NgModule,
668
668
  args: [{
669
669
  imports: [