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-drag-drop.mjs","sources":["../../../src/drag-drop/drag-drop.class.ts","../../../src/drag-drop/drag-ref.ts","../../../src/drag-drop/drag-drop.service.ts","../../../src/drag-drop/drag-drop.token.ts","../../../src/drag-drop/drag.directive.ts","../../../src/drag-drop/drag-handle.directive.ts","../../../src/drag-drop/drag-content.directive.ts","../../../src/drag-drop/drop-container.directive.ts","../../../src/drag-drop/module.ts","../../../src/drag-drop/ngx-tethys-drag-drop.ts"],"sourcesContent":["export enum ThyDropPosition {\n in = 'in',\n before = 'before',\n after = 'after'\n}\n\nexport interface ThyDragStartEvent<T = any> {\n event?: Event;\n item?: T;\n containerItems?: T[];\n currentIndex: number;\n}\n\nexport interface ThyDragEndEvent<T = any> {\n event?: DragEvent;\n item?: T;\n containerItems?: T[];\n}\n\nexport interface ThyDragOverEvent<T = any> {\n event?: DragEvent;\n item?: T;\n containerItems?: T[];\n currentIndex: number;\n position?: ThyDropPosition;\n previousItem?: T;\n previousIndex?: number;\n previousContainerItems?: T[];\n}\n\nexport interface ThyDragDropEvent<T = any> {\n event?: DragEvent;\n item?: T;\n containerItems?: T[];\n currentIndex: number;\n position?: ThyDropPosition;\n previousItem?: T;\n previousIndex?: number;\n previousContainerItems?: T[];\n}\n","import { NgZone, ElementRef, Renderer2 } from '@angular/core';\nimport { coerceElement } from '@angular/cdk/coercion';\nimport { Subject, fromEvent } from 'rxjs';\nimport { auditTime, takeUntil } from 'rxjs/operators';\nimport { ThyDragDropService } from './drag-drop.service';\nimport { ThyDragStartEvent, ThyDragEndEvent, ThyDragOverEvent, ThyDragDropEvent, ThyDropPosition } from './drag-drop.class';\nimport { IThyDragDirective, IThyDragHandleDirective, IThyDropContainerDirective } from './drag-drop.token';\nimport { coerceArray, isEmpty, isString } from 'ngx-tethys/util';\n\nconst dropPositionClass = {\n [ThyDropPosition.in]: 'thy-drop-position-in',\n [ThyDropPosition.before]: 'thy-drop-position-before',\n [ThyDropPosition.after]: 'thy-drop-position-after'\n};\n\nexport class DragRef<T = any> {\n private rootElement: HTMLElement;\n\n private contentElement: HTMLElement;\n\n private target: HTMLElement;\n\n private handles: IThyDragHandleDirective[];\n\n private ngUnsubscribe$ = new Subject();\n\n started = new Subject<ThyDragStartEvent>();\n\n ended = new Subject<ThyDragEndEvent>();\n\n overed = new Subject<ThyDragOverEvent>();\n\n dropped = new Subject<ThyDragDropEvent>();\n\n entered = new Subject<DragEvent>();\n\n leaved = new Subject<DragEvent>();\n\n private _disabled = false;\n\n get disabled(): boolean {\n return (this.container && this.container.disabled) || this._disabled;\n }\n set disabled(value: boolean) {\n this._disabled = value;\n }\n\n private addPositionClass$ = new Subject<{ element: HTMLElement; class: string }>();\n\n constructor(\n element: ElementRef<HTMLElement> | HTMLElement,\n private drag: IThyDragDirective,\n private container: IThyDropContainerDirective<T>,\n private dragDropService: ThyDragDropService<T>,\n private document: any,\n private ngZone: NgZone,\n private renderer: Renderer2\n ) {\n this.withRootElement(element);\n this.subAddPositionClass();\n }\n\n subAddPositionClass() {\n this.addPositionClass$.pipe(auditTime(30), takeUntil(this.ngUnsubscribe$)).subscribe(data => {\n this.removeExistClassByMap(this.dragDropService.classMap);\n this.dragDropService.classMap.set(data.element, data.class);\n this.renderer.addClass(data.element, data.class);\n });\n }\n\n withRootElement(rootElement: ElementRef<HTMLElement> | HTMLElement): this {\n const element = coerceElement(rootElement);\n this.rootElement = element;\n this.registerDragDropEvents();\n return this;\n }\n\n withContentElement(contentElement: ElementRef<HTMLElement> | HTMLElement): this {\n this.contentElement = coerceElement(contentElement);\n return this;\n }\n\n withHandles(handleOrHandles: IThyDragHandleDirective | IThyDragHandleDirective[]): this {\n this.handles = coerceArray(handleOrHandles);\n return this;\n }\n\n private registerDragDropEvents() {\n const events = {\n dragstart: this.dragStart,\n dragover: this.dragOver,\n dragend: this.dragEnd,\n drop: this.dragDrop,\n dragleave: this.dragLeave,\n dragenter: (event: DragEvent) => {\n this.entered.next(event);\n },\n mouseover: (event: MouseEvent) => {\n this.target = event.target as HTMLElement;\n }\n };\n this.ngZone.runOutsideAngular(() => {\n for (const name in events) {\n if (events.hasOwnProperty(name)) {\n fromEvent(this.rootElement, name).pipe(takeUntil(this.ngUnsubscribe$)).subscribe(events[name].bind(this));\n }\n }\n });\n }\n\n private dragStart(event: DragEvent) {\n event.stopPropagation();\n const dragStartEvent: ThyDragStartEvent = {\n event: event,\n item: this.drag.data,\n containerItems: this.container.data,\n currentIndex: this.container.data.indexOf(this.drag.data)\n };\n if (this.disabled || !this.isTriggerHandle() || (this.container.beforeStart && !this.container.beforeStart(dragStartEvent))) {\n event.preventDefault();\n return false;\n }\n this.dragDropService.previousDrag = this.drag;\n this.ngZone.run(() => {\n this.started.next(dragStartEvent);\n });\n }\n\n private isTriggerHandle() {\n if (this.handles && this.handles.length > 0) {\n const targetHandle = this.handles.find(handle => {\n return (\n !handle.disabled && (handle.element.nativeElement === this.target || handle.element.nativeElement.contains(this.target))\n );\n });\n return !!targetHandle;\n } else {\n return true;\n }\n }\n\n private getPreviousEventData() {\n const previousItem = this.dragDropService.previousDrag?.data;\n const previousContainerItems = this.dragDropService.previousDrag?.container?.data;\n return {\n previousItem: previousItem,\n previousContainerItems,\n previousIndex: isEmpty(previousContainerItems) ? -1 : previousContainerItems.indexOf(previousItem)\n };\n }\n\n private isContinueDragOver(event: ThyDragOverEvent, container: IThyDropContainerDirective<T>) {\n if (event.item === event.previousItem && event.position === ThyDropPosition.in) {\n return false;\n }\n if (container && container.beforeOver) {\n return container.beforeOver(event);\n }\n return true;\n }\n\n private dragOver(event: DragEvent) {\n event.stopPropagation();\n event.preventDefault();\n\n const dropPosition = this.calcDropPosition(event);\n const previousEventData = this.getPreviousEventData();\n if (previousEventData.previousIndex < 0) {\n return;\n }\n const dragOverEvent: ThyDragOverEvent<T> = {\n event: event,\n item: this.drag.data,\n containerItems: this.drag.container.data,\n currentIndex: this.container.data.indexOf(this.drag.data),\n position: dropPosition,\n ...previousEventData\n };\n\n if (this.isContinueDragOver(dragOverEvent, this.container)) {\n this.dragOverHandler(dropPosition);\n this.overed.next(dragOverEvent);\n }\n }\n\n private dragOverHandler(position: ThyDropPosition) {\n const element = this.contentElement || this.rootElement;\n this.addPositionClass$.next({ element, class: dropPositionClass[position] });\n this.dragDropService.dropPosition = position;\n }\n\n private dragDrop(event: DragEvent) {\n event.stopPropagation();\n this.clearDragPositionClass();\n const previousEventData = this.getPreviousEventData();\n if (previousEventData.previousIndex < 0) {\n return;\n }\n const dragDropEvent: ThyDragDropEvent<T> = {\n event: event,\n item: this.drag.data,\n containerItems: this.drag.container.data,\n currentIndex: this.container.data.indexOf(this.drag.data),\n position: this.calcDropPosition(event),\n ...previousEventData\n };\n if (this.dragDropService.previousDrag === this.drag || (this.container.beforeDrop && !this.container.beforeDrop(dragDropEvent))) {\n event.preventDefault();\n return;\n }\n this.ngZone.run(() => {\n this.dropped.next(dragDropEvent);\n });\n }\n\n private dragEnd(event: DragEvent) {\n this.clearDragPositionClass();\n this.ngZone.run(() => {\n this.ended.next({\n event: event,\n item: this.drag.data,\n containerItems: this.container.data\n });\n });\n this.dragDropService.previousDrag = undefined;\n }\n\n private dragLeave(event: DragEvent) {\n event.stopPropagation();\n this.clearDragPositionClass();\n this.leaved.next(event);\n }\n\n private clearDragPositionClass() {\n setTimeout(() => {\n const classMap = this.dragDropService.classMap;\n this.removeExistClassByMap(classMap);\n classMap.clear();\n }, 30);\n }\n\n private removeExistClassByMap(classMap: Map<Element, string>) {\n classMap.forEach((value, key) => {\n if (isString(value) && key) {\n this.renderer.removeClass(key, value);\n }\n });\n }\n\n private calcDropPosition(event: DragEvent): ThyDropPosition {\n const sideRange = 0.25;\n const minGap = 2;\n const { clientY } = event;\n const { top, bottom, height } = event.srcElement\n ? (event.srcElement as Element).getBoundingClientRect()\n : (event.target as Element).getBoundingClientRect();\n const des = Math.max(height * sideRange, minGap);\n if (clientY <= top + des) {\n return ThyDropPosition.before;\n } else if (clientY >= bottom - des) {\n return ThyDropPosition.after;\n }\n return ThyDropPosition.in;\n }\n\n dispose() {\n this.ngUnsubscribe$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { IThyDragDirective } from './drag-drop.token';\nimport { ThyDropPosition } from './drag-drop.class';\n\n/**\n * 自定义可放置区域内容\n * @order 40\n * @deprecated please use @angular/cdk/drag-drop\n */\n@Injectable({ providedIn: 'root' })\nexport class ThyDragDropService<T = any> {\n /**\n * 当前拖拽项,dragEnd 后重置为 undefined\n */\n public previousDrag: IThyDragDirective<T>;\n\n /**\n * 拖拽的时候,针对 dragOver 的节点有三种情况,即拖拽到节点之上 before ,拖拽到节点上 in ,拖拽到节点之下 after\n * @type ThyDropPosition\n */\n public dropPosition: ThyDropPosition;\n\n /**\n * 用于拖动过程对 dragover 的元素设置相应的样式\n * @type Map<Element, string>\n */\n public classMap = new Map<Element, string>();\n constructor() {}\n}\n","import { EventEmitter, QueryList, InjectionToken, ElementRef } from '@angular/core';\nimport { ThyDragDropEvent, ThyDragStartEvent, ThyDragEndEvent, ThyDragOverEvent } from './drag-drop.class';\nimport { SafeAny } from 'ngx-tethys/types';\n\nexport interface IThyDragDirective<T = SafeAny> {\n data: T;\n container: IThyDropContainerDirective<T>;\n}\n\nexport interface IThyDragHandleDirective {\n element: ElementRef<HTMLElement>;\n disabled: boolean;\n}\n\nexport interface IThyDropContainerDirective<T = SafeAny> {\n started: EventEmitter<ThyDragStartEvent<T>>;\n\n ended: EventEmitter<ThyDragEndEvent<T>>;\n\n overed: EventEmitter<ThyDragOverEvent<T>>;\n\n dropped: EventEmitter<ThyDragDropEvent<T>>;\n\n beforeStart: (e: ThyDragStartEvent<T>) => boolean;\n\n beforeOver: (e: ThyDragOverEvent<T>) => boolean;\n\n beforeDrop: (e: ThyDragDropEvent<T>) => boolean;\n\n data: T[];\n\n disabled: boolean;\n\n draggables: QueryList<IThyDragDirective>;\n}\n\nexport const THY_DROP_CONTAINER_DIRECTIVE = new InjectionToken<IThyDropContainerDirective>('THY_DROP_CONTAINER_DIRECTIVE');\n","import { Directive, NgZone, ElementRef, HostBinding, Input, OnDestroy, Renderer2, inject, DOCUMENT } from '@angular/core';\nimport { DragRef } from './drag-ref';\n\nimport { ThyDragDropService } from './drag-drop.service';\nimport { IThyDragDirective, THY_DROP_CONTAINER_DIRECTIVE } from './drag-drop.token';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\n/**\n * 拖拽项\n * @name thy-drag,[thyDrag]\n * @order 10\n * @deprecated please use @angular/cdk/drag-drop\n */\n@Directive({\n selector: 'thy-drag,[thyDrag]'\n})\nexport class ThyDragDirective<T = any> implements IThyDragDirective, OnDestroy {\n container = inject(THY_DROP_CONTAINER_DIRECTIVE, { optional: true })!;\n private elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n /**\n * 元数据\n * @type any\n */\n @Input('thyDrag')\n set dragData(data: T) {\n this.data = data;\n }\n\n /**\n * 元数据\n * @type any\n */\n @Input('thyDragData') data: T;\n\n @HostBinding('attr.draggable') isDraggable = true;\n\n private _disabled = false;\n\n /**\n * 是否禁用拖拽\n * @default false\n */\n @Input({ alias: 'thyDragDisabled', transform: coerceBooleanProperty })\n set disabled(isDisabled: boolean) {\n this._disabled = isDisabled;\n this.isDraggable = !isDisabled;\n }\n get disabled() {\n return this._disabled;\n }\n\n public dragRef: DragRef<T>;\n\n constructor() {\n const document = inject(DOCUMENT);\n const container = this.container;\n const ngZone = inject(NgZone);\n const elementRef = this.elementRef;\n const service = inject<ThyDragDropService<T>>(ThyDragDropService);\n const renderer = inject(Renderer2);\n\n this.dragRef = new DragRef<T>(elementRef, this, container, service, document, ngZone, renderer);\n }\n\n ngOnDestroy() {\n this.dragRef.dispose();\n }\n}\n","import { Directive, ElementRef, Input, inject } from '@angular/core';\nimport { ThyDragDirective } from './drag.directive';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\nimport { IThyDragHandleDirective } from './drag-drop.token';\n\n/**\n * 自定义可拖拽区域内容\n * @name thy-drag-handle,[thyDragHandle]\n * @order 20\n * @deprecated please use @angular/cdk/drag-drop\n */\n@Directive({\n selector: 'thy-drag-handle,[thyDragHandle]'\n})\nexport class ThyDragHandleDirective implements IThyDragHandleDirective {\n element = inject<ElementRef<HTMLElement>>(ElementRef);\n\n private _disabled = false;\n\n /**\n * 是否禁用\n * @default false\n */\n @Input({ alias: 'thyDisabled', transform: coerceBooleanProperty })\n set disabled(value: boolean) {\n this._disabled = value;\n }\n get disabled(): boolean {\n return this._disabled;\n }\n\n constructor() {\n const drag = inject(ThyDragDirective, { optional: true })!;\n\n if (drag) {\n drag.dragRef.withHandles(this);\n }\n }\n}\n","import { Directive, ElementRef, HostBinding, inject } from '@angular/core';\nimport { ThyDragDirective } from './drag.directive';\n\n/**\n * 自定义拖拽时可经过,拖拽结束时可放置的区域内容\n * @name thy-drag-content,[thyDragContent]\n * @order 25\n * @deprecated please use @angular/cdk/drag-drop\n */\n@Directive({\n selector: 'thy-drag-content,[thyDragContent]'\n})\nexport class ThyDragContentDirective {\n element = inject<ElementRef<HTMLElement>>(ElementRef);\n\n @HostBinding('class.thy-drag-content') contentClass = true;\n\n constructor() {\n const drag = inject(ThyDragDirective, { optional: true })!;\n\n if (drag) {\n drag.dragRef.withContentElement(this.element);\n }\n }\n}\n","import {\n OnInit,\n Directive,\n Output,\n EventEmitter,\n ContentChildren,\n QueryList,\n AfterContentInit,\n NgZone,\n Input,\n OnDestroy,\n inject\n} from '@angular/core';\nimport { ThyDragDirective } from './drag.directive';\nimport { merge, Observable, defer, Subject } from 'rxjs';\nimport { takeUntil, startWith, take, switchMap } from 'rxjs/operators';\nimport { ThyDragDropEvent, ThyDragStartEvent, ThyDragEndEvent, ThyDragOverEvent } from './drag-drop.class';\nimport { THY_DROP_CONTAINER_DIRECTIVE, IThyDropContainerDirective } from './drag-drop.token';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\n/**\n * @name thy-drop-container,[thyDropContainer]\n * @order 30\n * @deprecated please use @angular/cdk/drag-drop\n */\n@Directive({\n selector: 'thy-drop-container,[thyDropContainer]',\n providers: [\n {\n provide: THY_DROP_CONTAINER_DIRECTIVE,\n useExisting: ThyDropContainerDirective\n }\n ]\n})\nexport class ThyDropContainerDirective<T = any> implements OnInit, AfterContentInit, IThyDropContainerDirective, OnDestroy {\n private ngZone = inject(NgZone);\n\n private ngUnsubscribe$ = new Subject<void>();\n\n /**\n * 元数据\n * @type any[]\n */\n @Input('thyDropContainer')\n set dragContainer(data: T[]) {\n this.data = data;\n }\n\n /**\n * 元数据\n * @type any[]\n */\n @Input('thyDropContainerData') data: T[];\n\n /**\n * 是否禁用拖拽\n * @default false\n */\n @Input({ alias: 'thyDropContainerDisabled', transform: coerceBooleanProperty }) disabled: boolean;\n\n /**\n * 拖拽之前的回调,函数返回 false 则阻止拖拽\n */\n @Input('thyBeforeDragStart') beforeStart: (e: ThyDragStartEvent<T>) => boolean;\n\n /**\n * 拖拽时回调,函数返回 false 则阻止移入\n */\n @Input('thyBeforeDragOver') beforeOver: (e: ThyDragOverEvent<T>) => boolean;\n\n /**\n * 拖放到元素时回调,函数返回 false 则阻止放置\n */\n @Input('thyBeforeDragDrop') beforeDrop: (e: ThyDragDropEvent<T>) => boolean;\n\n /**\n * 开始拖拽时调用\n */\n @Output('thyDragStarted') started = new EventEmitter<ThyDragStartEvent<ThyDragDirective>>();\n\n /**\n * dragend 触发时调用\n */\n @Output('thyDragEnded') ended = new EventEmitter<ThyDragEndEvent<ThyDragDirective>>();\n\n /**\n * dragover 触发时调用\n */\n @Output('thyDragOvered') overed = new EventEmitter<ThyDragOverEvent<ThyDragDirective>>();\n\n /**\n * drop 触发时调用\n */\n @Output('thyDragDropped') dropped = new EventEmitter<ThyDragDropEvent<ThyDragDirective>>();\n\n /**\n * @internal\n */\n @ContentChildren(ThyDragDirective, {\n descendants: false\n })\n draggables: QueryList<ThyDragDirective>;\n\n ngOnInit() {}\n\n ngAfterContentInit() {\n this.draggables.changes.pipe(startWith(null), takeUntil(this.ngUnsubscribe$)).subscribe(() => {\n this.draggableChanges();\n });\n }\n\n private draggableChanges() {\n this.resetDraggableChanges(item => item.dragRef.started).subscribe(event => {\n this.started.emit(event);\n });\n this.resetDraggableChanges(item => item.dragRef.ended).subscribe(event => {\n this.ended.emit(event);\n });\n this.resetDraggableChanges(item => item.dragRef.overed).subscribe(event => {\n this.overed.emit(event);\n });\n this.resetDraggableChanges(item => item.dragRef.dropped).subscribe(event => {\n this.dropped.emit(event);\n });\n }\n\n private resetDraggableChanges(fn: (item: ThyDragDirective) => Observable<any>) {\n return defer(() => {\n if (this.draggables) {\n return merge(...this.draggables.map(fn));\n }\n return this.ngZone.onStable.asObservable().pipe(\n take(1),\n switchMap(() => this.resetDraggableChanges.bind(this, fn))\n );\n }).pipe(takeUntil(merge(this.ngUnsubscribe$, this.draggables.changes))) as Observable<any>;\n }\n\n ngOnDestroy(): void {\n this.ngUnsubscribe$.next();\n this.ngUnsubscribe$.complete();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { warnDeprecation } from 'ngx-tethys/util';\nimport { ThyDragDirective } from './drag.directive';\nimport { ThyDragHandleDirective } from './drag-handle.directive';\nimport { ThyDragContentDirective } from './drag-content.directive';\nimport { ThyDropContainerDirective } from './drop-container.directive';\n\n/**\n * @deprecated please use @angular/cdk/drag-drop\n */\n@NgModule({\n imports: [ThyDropContainerDirective, ThyDragDirective, ThyDragHandleDirective, ThyDragContentDirective],\n exports: [ThyDropContainerDirective, ThyDragDirective, ThyDragHandleDirective, ThyDragContentDirective],\n providers: []\n})\nexport class ThyDragDropModule {\n constructor() {\n warnDeprecation('`ThyDragDropModule` is deprecated, please use `@angular/cdk/drag-drop` instead.');\n }\n}\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-drag-drop.mjs","sources":["../../../src/drag-drop/drag-drop.class.ts","../../../src/drag-drop/drag-ref.ts","../../../src/drag-drop/drag-drop.service.ts","../../../src/drag-drop/drag-drop.token.ts","../../../src/drag-drop/drag.directive.ts","../../../src/drag-drop/drag-handle.directive.ts","../../../src/drag-drop/drag-content.directive.ts","../../../src/drag-drop/drop-container.directive.ts","../../../src/drag-drop/module.ts","../../../src/drag-drop/ngx-tethys-drag-drop.ts"],"sourcesContent":["export enum ThyDropPosition {\n in = 'in',\n before = 'before',\n after = 'after'\n}\n\nexport interface ThyDragStartEvent<T = any> {\n event?: Event;\n item?: T;\n containerItems?: T[];\n currentIndex: number;\n}\n\nexport interface ThyDragEndEvent<T = any> {\n event?: DragEvent;\n item?: T;\n containerItems?: T[];\n}\n\nexport interface ThyDragOverEvent<T = any> {\n event?: DragEvent;\n item?: T;\n containerItems?: T[];\n currentIndex: number;\n position?: ThyDropPosition;\n previousItem?: T;\n previousIndex?: number;\n previousContainerItems?: T[];\n}\n\nexport interface ThyDragDropEvent<T = any> {\n event?: DragEvent;\n item?: T;\n containerItems?: T[];\n currentIndex: number;\n position?: ThyDropPosition;\n previousItem?: T;\n previousIndex?: number;\n previousContainerItems?: T[];\n}\n","import { NgZone, ElementRef, Renderer2 } from '@angular/core';\nimport { coerceElement } from '@angular/cdk/coercion';\nimport { Subject, fromEvent } from 'rxjs';\nimport { auditTime, takeUntil } from 'rxjs/operators';\nimport { ThyDragDropService } from './drag-drop.service';\nimport { ThyDragStartEvent, ThyDragEndEvent, ThyDragOverEvent, ThyDragDropEvent, ThyDropPosition } from './drag-drop.class';\nimport { IThyDragDirective, IThyDragHandleDirective, IThyDropContainerDirective } from './drag-drop.token';\nimport { coerceArray, isEmpty, isString } from 'ngx-tethys/util';\n\nconst dropPositionClass = {\n [ThyDropPosition.in]: 'thy-drop-position-in',\n [ThyDropPosition.before]: 'thy-drop-position-before',\n [ThyDropPosition.after]: 'thy-drop-position-after'\n};\n\nexport class DragRef<T = any> {\n private rootElement!: HTMLElement;\n\n private contentElement!: HTMLElement;\n\n private target!: HTMLElement;\n\n private handles?: IThyDragHandleDirective[];\n\n private ngUnsubscribe$ = new Subject();\n\n started = new Subject<ThyDragStartEvent>();\n\n ended = new Subject<ThyDragEndEvent>();\n\n overed = new Subject<ThyDragOverEvent>();\n\n dropped = new Subject<ThyDragDropEvent>();\n\n entered = new Subject<DragEvent>();\n\n leaved = new Subject<DragEvent>();\n\n private _disabled = false;\n\n get disabled(): boolean {\n return (this.container && this.container.disabled) || this._disabled;\n }\n set disabled(value: boolean) {\n this._disabled = value;\n }\n\n private addPositionClass$ = new Subject<{ element: HTMLElement; class: string }>();\n\n constructor(\n element: ElementRef<HTMLElement> | HTMLElement,\n private drag: IThyDragDirective,\n private container: IThyDropContainerDirective<T>,\n private dragDropService: ThyDragDropService<T>,\n private document: any,\n private ngZone: NgZone,\n private renderer: Renderer2\n ) {\n this.withRootElement(element);\n this.subAddPositionClass();\n }\n\n subAddPositionClass() {\n this.addPositionClass$.pipe(auditTime(30), takeUntil(this.ngUnsubscribe$)).subscribe(data => {\n this.removeExistClassByMap(this.dragDropService.classMap);\n this.dragDropService.classMap.set(data.element, data.class);\n this.renderer.addClass(data.element, data.class);\n });\n }\n\n withRootElement(rootElement: ElementRef<HTMLElement> | HTMLElement): this {\n const element = coerceElement(rootElement);\n this.rootElement = element;\n this.registerDragDropEvents();\n return this;\n }\n\n withContentElement(contentElement: ElementRef<HTMLElement> | HTMLElement): this {\n this.contentElement = coerceElement(contentElement);\n return this;\n }\n\n withHandles(handleOrHandles: IThyDragHandleDirective | IThyDragHandleDirective[]): this {\n this.handles = coerceArray(handleOrHandles);\n return this;\n }\n\n private registerDragDropEvents() {\n const events: Record<string, Function> = {\n dragstart: this.dragStart,\n dragover: this.dragOver,\n dragend: this.dragEnd,\n drop: this.dragDrop,\n dragleave: this.dragLeave,\n dragenter: (event: DragEvent) => {\n this.entered.next(event);\n },\n mouseover: (event: MouseEvent) => {\n this.target = event.target as HTMLElement;\n }\n };\n this.ngZone.runOutsideAngular(() => {\n for (const name in events) {\n if (events.hasOwnProperty(name)) {\n fromEvent(this.rootElement, name).pipe(takeUntil(this.ngUnsubscribe$)).subscribe(events[name].bind(this));\n }\n }\n });\n }\n\n private dragStart(event: DragEvent) {\n event.stopPropagation();\n const dragStartEvent: ThyDragStartEvent = {\n event: event,\n item: this.drag.data,\n containerItems: this.container.data,\n currentIndex: this.container.data.indexOf(this.drag.data)\n };\n if (this.disabled || !this.isTriggerHandle() || (this.container.beforeStart && !this.container.beforeStart(dragStartEvent))) {\n event.preventDefault();\n return false;\n }\n this.dragDropService.previousDrag = this.drag;\n this.ngZone.run(() => {\n this.started.next(dragStartEvent);\n });\n }\n\n private isTriggerHandle() {\n if (this.handles && this.handles.length > 0) {\n const targetHandle = this.handles.find(handle => {\n return (\n !handle.disabled && (handle.element.nativeElement === this.target || handle.element.nativeElement.contains(this.target))\n );\n });\n return !!targetHandle;\n } else {\n return true;\n }\n }\n\n private getPreviousEventData() {\n const previousItem = this.dragDropService.previousDrag?.data;\n const previousContainerItems = this.dragDropService.previousDrag?.container?.data;\n return {\n previousItem: previousItem,\n previousContainerItems,\n previousIndex: isEmpty(previousContainerItems) ? -1 : previousContainerItems?.indexOf(previousItem!)\n };\n }\n\n private isContinueDragOver(event: ThyDragOverEvent, container: IThyDropContainerDirective<T>) {\n if (event.item === event.previousItem && event.position === ThyDropPosition.in) {\n return false;\n }\n if (container && container.beforeOver) {\n return container.beforeOver(event);\n }\n return true;\n }\n\n private dragOver(event: DragEvent) {\n event.stopPropagation();\n event.preventDefault();\n\n const dropPosition = this.calcDropPosition(event);\n const previousEventData = this.getPreviousEventData();\n if (previousEventData.previousIndex! < 0) {\n return;\n }\n const dragOverEvent: ThyDragOverEvent<T> = {\n event: event,\n item: this.drag.data,\n containerItems: this.drag.container.data,\n currentIndex: this.container.data.indexOf(this.drag.data),\n position: dropPosition,\n ...previousEventData\n };\n\n if (this.isContinueDragOver(dragOverEvent, this.container)) {\n this.dragOverHandler(dropPosition);\n this.overed.next(dragOverEvent);\n }\n }\n\n private dragOverHandler(position: ThyDropPosition) {\n const element = this.contentElement || this.rootElement;\n this.addPositionClass$.next({ element, class: dropPositionClass[position] });\n this.dragDropService.dropPosition = position;\n }\n\n private dragDrop(event: DragEvent) {\n event.stopPropagation();\n this.clearDragPositionClass();\n const previousEventData = this.getPreviousEventData();\n if (previousEventData.previousIndex! < 0) {\n return;\n }\n const dragDropEvent: ThyDragDropEvent<T> = {\n event: event,\n item: this.drag.data,\n containerItems: this.drag.container.data,\n currentIndex: this.container.data.indexOf(this.drag.data),\n position: this.calcDropPosition(event),\n ...previousEventData\n };\n if (this.dragDropService.previousDrag === this.drag || (this.container.beforeDrop && !this.container.beforeDrop(dragDropEvent))) {\n event.preventDefault();\n return;\n }\n this.ngZone.run(() => {\n this.dropped.next(dragDropEvent);\n });\n }\n\n private dragEnd(event: DragEvent) {\n this.clearDragPositionClass();\n this.ngZone.run(() => {\n this.ended.next({\n event: event,\n item: this.drag.data,\n containerItems: this.container.data\n });\n });\n this.dragDropService.previousDrag = undefined;\n }\n\n private dragLeave(event: DragEvent) {\n event.stopPropagation();\n this.clearDragPositionClass();\n this.leaved.next(event);\n }\n\n private clearDragPositionClass() {\n setTimeout(() => {\n const classMap = this.dragDropService.classMap;\n this.removeExistClassByMap(classMap);\n classMap.clear();\n }, 30);\n }\n\n private removeExistClassByMap(classMap: Map<Element, string>) {\n classMap.forEach((value, key) => {\n if (isString(value) && key) {\n this.renderer.removeClass(key, value);\n }\n });\n }\n\n private calcDropPosition(event: DragEvent): ThyDropPosition {\n const sideRange = 0.25;\n const minGap = 2;\n const { clientY } = event;\n const { top, bottom, height } = event.srcElement\n ? (event.srcElement as Element).getBoundingClientRect()\n : (event.target as Element).getBoundingClientRect();\n const des = Math.max(height * sideRange, minGap);\n if (clientY <= top + des) {\n return ThyDropPosition.before;\n } else if (clientY >= bottom - des) {\n return ThyDropPosition.after;\n }\n return ThyDropPosition.in;\n }\n\n dispose() {\n this.ngUnsubscribe$.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { IThyDragDirective } from './drag-drop.token';\nimport { ThyDropPosition } from './drag-drop.class';\n\n/**\n * 自定义可放置区域内容\n * @order 40\n * @deprecated please use @angular/cdk/drag-drop\n */\n@Injectable({ providedIn: 'root' })\nexport class ThyDragDropService<T = any> {\n /**\n * 当前拖拽项,dragEnd 后重置为 undefined\n */\n public previousDrag?: IThyDragDirective<T>;\n\n /**\n * 拖拽的时候,针对 dragOver 的节点有三种情况,即拖拽到节点之上 before ,拖拽到节点上 in ,拖拽到节点之下 after\n * @type ThyDropPosition\n */\n public dropPosition?: ThyDropPosition;\n\n /**\n * 用于拖动过程对 dragover 的元素设置相应的样式\n * @type Map<Element, string>\n */\n public classMap = new Map<Element, string>();\n constructor() {}\n}\n","import { EventEmitter, QueryList, InjectionToken, ElementRef } from '@angular/core';\nimport { ThyDragDropEvent, ThyDragStartEvent, ThyDragEndEvent, ThyDragOverEvent } from './drag-drop.class';\nimport { SafeAny } from 'ngx-tethys/types';\n\nexport interface IThyDragDirective<T = SafeAny> {\n data: T;\n container: IThyDropContainerDirective<T>;\n}\n\nexport interface IThyDragHandleDirective {\n element: ElementRef<HTMLElement>;\n disabled: boolean;\n}\n\nexport interface IThyDropContainerDirective<T = SafeAny> {\n started: EventEmitter<ThyDragStartEvent<T>>;\n\n ended: EventEmitter<ThyDragEndEvent<T>>;\n\n overed: EventEmitter<ThyDragOverEvent<T>>;\n\n dropped: EventEmitter<ThyDragDropEvent<T>>;\n\n beforeStart: (e: ThyDragStartEvent<T>) => boolean;\n\n beforeOver: (e: ThyDragOverEvent<T>) => boolean;\n\n beforeDrop: (e: ThyDragDropEvent<T>) => boolean;\n\n data: T[];\n\n disabled: boolean;\n\n draggables: QueryList<IThyDragDirective>;\n}\n\nexport const THY_DROP_CONTAINER_DIRECTIVE = new InjectionToken<IThyDropContainerDirective>('THY_DROP_CONTAINER_DIRECTIVE');\n","import { Directive, NgZone, ElementRef, HostBinding, Input, OnDestroy, Renderer2, inject, DOCUMENT } from '@angular/core';\nimport { DragRef } from './drag-ref';\n\nimport { ThyDragDropService } from './drag-drop.service';\nimport { IThyDragDirective, THY_DROP_CONTAINER_DIRECTIVE } from './drag-drop.token';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\n/**\n * 拖拽项\n * @name thy-drag,[thyDrag]\n * @order 10\n * @deprecated please use @angular/cdk/drag-drop\n */\n@Directive({\n selector: 'thy-drag,[thyDrag]'\n})\nexport class ThyDragDirective<T = any> implements IThyDragDirective, OnDestroy {\n container = inject(THY_DROP_CONTAINER_DIRECTIVE, { optional: true })!;\n private elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n /**\n * 元数据\n * @type any\n */\n @Input('thyDrag')\n set dragData(data: T) {\n this.data = data;\n }\n\n /**\n * 元数据\n * @type any\n */\n @Input('thyDragData') data!: T;\n\n @HostBinding('attr.draggable') isDraggable = true;\n\n private _disabled = false;\n\n /**\n * 是否禁用拖拽\n * @default false\n */\n @Input({ alias: 'thyDragDisabled', transform: coerceBooleanProperty })\n set disabled(isDisabled: boolean) {\n this._disabled = isDisabled;\n this.isDraggable = !isDisabled;\n }\n get disabled() {\n return this._disabled;\n }\n\n public dragRef: DragRef<T>;\n\n constructor() {\n const document = inject(DOCUMENT);\n const container = this.container;\n const ngZone = inject(NgZone);\n const elementRef = this.elementRef;\n const service = inject<ThyDragDropService<T>>(ThyDragDropService);\n const renderer = inject(Renderer2);\n\n this.dragRef = new DragRef<T>(elementRef, this, container, service, document, ngZone, renderer);\n }\n\n ngOnDestroy() {\n this.dragRef.dispose();\n }\n}\n","import { Directive, ElementRef, Input, inject } from '@angular/core';\nimport { ThyDragDirective } from './drag.directive';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\nimport { IThyDragHandleDirective } from './drag-drop.token';\n\n/**\n * 自定义可拖拽区域内容\n * @name thy-drag-handle,[thyDragHandle]\n * @order 20\n * @deprecated please use @angular/cdk/drag-drop\n */\n@Directive({\n selector: 'thy-drag-handle,[thyDragHandle]'\n})\nexport class ThyDragHandleDirective implements IThyDragHandleDirective {\n element = inject<ElementRef<HTMLElement>>(ElementRef);\n\n private _disabled = false;\n\n /**\n * 是否禁用\n * @default false\n */\n @Input({ alias: 'thyDisabled', transform: coerceBooleanProperty })\n set disabled(value: boolean) {\n this._disabled = value;\n }\n get disabled(): boolean {\n return this._disabled;\n }\n\n constructor() {\n const drag = inject(ThyDragDirective, { optional: true })!;\n\n if (drag) {\n drag.dragRef.withHandles(this);\n }\n }\n}\n","import { Directive, ElementRef, HostBinding, inject } from '@angular/core';\nimport { ThyDragDirective } from './drag.directive';\n\n/**\n * 自定义拖拽时可经过,拖拽结束时可放置的区域内容\n * @name thy-drag-content,[thyDragContent]\n * @order 25\n * @deprecated please use @angular/cdk/drag-drop\n */\n@Directive({\n selector: 'thy-drag-content,[thyDragContent]'\n})\nexport class ThyDragContentDirective {\n element = inject<ElementRef<HTMLElement>>(ElementRef);\n\n @HostBinding('class.thy-drag-content') contentClass = true;\n\n constructor() {\n const drag = inject(ThyDragDirective, { optional: true })!;\n\n if (drag) {\n drag.dragRef.withContentElement(this.element);\n }\n }\n}\n","import {\n OnInit,\n Directive,\n Output,\n EventEmitter,\n ContentChildren,\n QueryList,\n AfterContentInit,\n NgZone,\n Input,\n OnDestroy,\n inject\n} from '@angular/core';\nimport { ThyDragDirective } from './drag.directive';\nimport { merge, Observable, defer, Subject } from 'rxjs';\nimport { takeUntil, startWith, take, switchMap } from 'rxjs/operators';\nimport { ThyDragDropEvent, ThyDragStartEvent, ThyDragEndEvent, ThyDragOverEvent } from './drag-drop.class';\nimport { THY_DROP_CONTAINER_DIRECTIVE, IThyDropContainerDirective } from './drag-drop.token';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\nimport { SafeAny } from 'ngx-tethys/types';\n\n/**\n * @name thy-drop-container,[thyDropContainer]\n * @order 30\n * @deprecated please use @angular/cdk/drag-drop\n */\n@Directive({\n selector: 'thy-drop-container,[thyDropContainer]',\n providers: [\n {\n provide: THY_DROP_CONTAINER_DIRECTIVE,\n useExisting: ThyDropContainerDirective\n }\n ]\n})\nexport class ThyDropContainerDirective<T = any> implements OnInit, AfterContentInit, IThyDropContainerDirective, OnDestroy {\n private ngZone = inject(NgZone);\n\n private ngUnsubscribe$ = new Subject<void>();\n\n /**\n * 元数据\n * @type any[]\n */\n @Input('thyDropContainer')\n set dragContainer(data: T[]) {\n this.data = data;\n }\n\n /**\n * 元数据\n * @type any[]\n */\n @Input('thyDropContainerData') data!: T[];\n\n /**\n * 是否禁用拖拽\n * @default false\n */\n @Input({ alias: 'thyDropContainerDisabled', transform: coerceBooleanProperty }) disabled!: boolean;\n\n /**\n * 拖拽之前的回调,函数返回 false 则阻止拖拽\n */\n @Input('thyBeforeDragStart') beforeStart!: (e: ThyDragStartEvent<T>) => boolean;\n\n /**\n * 拖拽时回调,函数返回 false 则阻止移入\n */\n @Input('thyBeforeDragOver') beforeOver!: (e: ThyDragOverEvent<T>) => boolean;\n\n /**\n * 拖放到元素时回调,函数返回 false 则阻止放置\n */\n @Input('thyBeforeDragDrop') beforeDrop!: (e: ThyDragDropEvent<T>) => boolean;\n\n /**\n * 开始拖拽时调用\n */\n @Output('thyDragStarted') readonly started = new EventEmitter<ThyDragStartEvent<ThyDragDirective>>();\n\n /**\n * dragend 触发时调用\n */\n @Output('thyDragEnded') readonly ended = new EventEmitter<ThyDragEndEvent<ThyDragDirective>>();\n\n /**\n * dragover 触发时调用\n */\n @Output('thyDragOvered') readonly overed = new EventEmitter<ThyDragOverEvent<ThyDragDirective>>();\n\n /**\n * drop 触发时调用\n */\n @Output('thyDragDropped') readonly dropped = new EventEmitter<ThyDragDropEvent<ThyDragDirective>>();\n\n /**\n * @internal\n */\n @ContentChildren(ThyDragDirective, {\n descendants: false\n })\n draggables!: QueryList<ThyDragDirective>;\n\n ngOnInit() {}\n\n ngAfterContentInit() {\n this.draggables.changes.pipe(startWith(null), takeUntil(this.ngUnsubscribe$)).subscribe(() => {\n this.draggableChanges();\n });\n }\n\n private draggableChanges() {\n this.resetDraggableChanges(item => item.dragRef.started).subscribe((event: SafeAny) => {\n this.started.emit(event);\n });\n this.resetDraggableChanges(item => item.dragRef.ended).subscribe((event: SafeAny) => {\n this.ended.emit(event);\n });\n this.resetDraggableChanges(item => item.dragRef.overed).subscribe((event: SafeAny) => {\n this.overed.emit(event);\n });\n this.resetDraggableChanges(item => item.dragRef.dropped).subscribe((event: SafeAny) => {\n this.dropped.emit(event);\n });\n }\n\n private resetDraggableChanges(fn: (item: ThyDragDirective) => Observable<SafeAny>): Observable<SafeAny> {\n return defer(() => {\n if (this.draggables) {\n return merge(...this.draggables.map(fn));\n }\n return this.ngZone.onStable.asObservable().pipe(\n take(1),\n switchMap(() => this.resetDraggableChanges.bind(this, fn) as SafeAny)\n );\n }).pipe(takeUntil(merge(this.ngUnsubscribe$, this.draggables.changes))) as Observable<any>;\n }\n\n ngOnDestroy(): void {\n this.ngUnsubscribe$.next();\n this.ngUnsubscribe$.complete();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { warnDeprecation } from 'ngx-tethys/util';\nimport { ThyDragDirective } from './drag.directive';\nimport { ThyDragHandleDirective } from './drag-handle.directive';\nimport { ThyDragContentDirective } from './drag-content.directive';\nimport { ThyDropContainerDirective } from './drop-container.directive';\n\n/**\n * @deprecated please use @angular/cdk/drag-drop\n */\n@NgModule({\n imports: [ThyDropContainerDirective, ThyDragDirective, ThyDragHandleDirective, ThyDragContentDirective],\n exports: [ThyDropContainerDirective, ThyDragDirective, ThyDragHandleDirective, ThyDragContentDirective],\n providers: []\n})\nexport class ThyDragDropModule {\n constructor() {\n warnDeprecation('`ThyDragDropModule` is deprecated, please use `@angular/cdk/drag-drop` instead.');\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -19,10 +19,10 @@ class ThyDropdownAbstractMenu {
19
19
  constructor() {
20
20
  this.addDropdownMenuClass = true;
21
21
  }
22
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyDropdownAbstractMenu, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
23
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.14", type: ThyDropdownAbstractMenu, isStandalone: true, host: { properties: { "class.thy-dropdown-menu": "this.addDropdownMenuClass" } }, ngImport: i0 }); }
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyDropdownAbstractMenu, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
23
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: ThyDropdownAbstractMenu, isStandalone: true, host: { properties: { "class.thy-dropdown-menu": "this.addDropdownMenuClass" } }, ngImport: i0 }); }
24
24
  }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyDropdownAbstractMenu, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyDropdownAbstractMenu, decorators: [{
26
26
  type: Directive
27
27
  }], propDecorators: { addDropdownMenuClass: [{
28
28
  type: HostBinding,
@@ -45,8 +45,8 @@ class ThyDropdownMenuComponent {
45
45
  */
46
46
  this.thyImmediateRender = input(false, ...(ngDevMode ? [{ debugName: "thyImmediateRender", transform: coerceBooleanProperty }] : [{ transform: coerceBooleanProperty }]));
47
47
  }
48
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyDropdownMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
49
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: ThyDropdownMenuComponent, isStandalone: true, selector: "thy-dropdown-menu", inputs: { thyWidth: { classPropertyName: "thyWidth", publicName: "thyWidth", isSignal: true, isRequired: false, transformFunction: null }, thyImmediateRender: { classPropertyName: "thyImmediateRender", publicName: "thyImmediateRender", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.thy-dropdown-menu": "thyImmediateRender()", "style.width": "thyImmediateRender() ? thyWidth() : ''" } }, viewQueries: [{ propertyName: "templateRef", first: true, predicate: ["dropdownMenu"], descendants: true, isSignal: true }], ngImport: i0, template: `
48
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyDropdownMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
49
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: ThyDropdownMenuComponent, isStandalone: true, selector: "thy-dropdown-menu", inputs: { thyWidth: { classPropertyName: "thyWidth", publicName: "thyWidth", isSignal: true, isRequired: false, transformFunction: null }, thyImmediateRender: { classPropertyName: "thyImmediateRender", publicName: "thyImmediateRender", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.thy-dropdown-menu": "thyImmediateRender()", "style.width": "thyImmediateRender() ? thyWidth() : ''" } }, viewQueries: [{ propertyName: "templateRef", first: true, predicate: ["dropdownMenu"], descendants: true, isSignal: true }], ngImport: i0, template: `
50
50
  @if (thyImmediateRender()) {
51
51
  <ng-container *ngTemplateOutlet="content"></ng-container>
52
52
  }
@@ -60,7 +60,7 @@ class ThyDropdownMenuComponent {
60
60
  </ng-template>
61
61
  `, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
62
62
  }
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyDropdownMenuComponent, decorators: [{
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyDropdownMenuComponent, decorators: [{
64
64
  type: Component,
65
65
  args: [{
66
66
  selector: 'thy-dropdown-menu',
@@ -98,13 +98,13 @@ class ThyDropdownMenuGroup {
98
98
  */
99
99
  this.thyTitle = input(...(ngDevMode ? [undefined, { debugName: "thyTitle" }] : []));
100
100
  }
101
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyDropdownMenuGroup, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
102
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.14", type: ThyDropdownMenuGroup, isStandalone: true, selector: "thy-dropdown-menu-group", inputs: { thyTitle: { classPropertyName: "thyTitle", publicName: "thyTitle", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "dropdown-menu-group" }, ngImport: i0, template: `
101
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyDropdownMenuGroup, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
102
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.15", type: ThyDropdownMenuGroup, isStandalone: true, selector: "thy-dropdown-menu-group", inputs: { thyTitle: { classPropertyName: "thyTitle", publicName: "thyTitle", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "dropdown-menu-group" }, ngImport: i0, template: `
103
103
  <div class="dropdown-menu-group-title">{{ thyTitle() }}</div>
104
104
  <ng-content></ng-content>
105
105
  `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
106
106
  }
107
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyDropdownMenuGroup, decorators: [{
107
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyDropdownMenuGroup, decorators: [{
108
108
  type: Component,
109
109
  args: [{
110
110
  selector: 'thy-dropdown-menu-group',
@@ -124,10 +124,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
124
124
  */
125
125
  class ThyDropdownMenuDivider {
126
126
  constructor() { }
127
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyDropdownMenuDivider, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
128
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.14", type: ThyDropdownMenuDivider, isStandalone: true, selector: "thy-dropdown-menu-divider", host: { classAttribute: "dropdown-menu-divider" }, ngImport: i0, template: ` <!-- <div class="dropdown-menu-divider-title">{{ title }}</div> --> `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
127
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyDropdownMenuDivider, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
128
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: ThyDropdownMenuDivider, isStandalone: true, selector: "thy-dropdown-menu-divider", host: { classAttribute: "dropdown-menu-divider" }, ngImport: i0, template: ` <!-- <div class="dropdown-menu-divider-title">{{ title }}</div> --> `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
129
129
  }
130
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyDropdownMenuDivider, decorators: [{
130
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyDropdownMenuDivider, decorators: [{
131
131
  type: Component,
132
132
  args: [{
133
133
  selector: 'thy-dropdown-menu-divider',
@@ -296,10 +296,10 @@ class ThyDropdownDirective extends ThyOverlayDirectiveBase {
296
296
  this.markForCheck();
297
297
  }, delay);
298
298
  }
299
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyDropdownDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
300
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.14", type: ThyDropdownDirective, isStandalone: true, selector: "[thyDropdown]", inputs: { thyDropdownMenu: { classPropertyName: "thyDropdownMenu", publicName: "thyDropdownMenu", isSignal: true, isRequired: false, transformFunction: null }, thyDropdown: { classPropertyName: "thyDropdown", publicName: "thyDropdown", isSignal: true, isRequired: false, transformFunction: null }, thyTrigger: { classPropertyName: "thyTrigger", publicName: "thyTrigger", isSignal: true, isRequired: false, transformFunction: null }, thyShowDelay: { classPropertyName: "thyShowDelay", publicName: "thyShowDelay", isSignal: true, isRequired: false, transformFunction: null }, thyHideDelay: { classPropertyName: "thyHideDelay", publicName: "thyHideDelay", isSignal: true, isRequired: false, transformFunction: null }, thyActiveClass: { classPropertyName: "thyActiveClass", publicName: "thyActiveClass", isSignal: true, isRequired: false, transformFunction: null }, thyPopoverOptions: { classPropertyName: "thyPopoverOptions", publicName: "thyPopoverOptions", isSignal: true, isRequired: false, transformFunction: null }, thyPlacement: { classPropertyName: "thyPlacement", publicName: "thyPlacement", isSignal: true, isRequired: false, transformFunction: null }, thyMenuInsideClosable: { classPropertyName: "thyMenuInsideClosable", publicName: "thyMenuInsideClosable", isSignal: true, isRequired: false, transformFunction: null }, thyPanelClass: { classPropertyName: "thyPanelClass", publicName: "thyPanelClass", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { thyActiveChange: "thyActiveChange" }, host: { classAttribute: "thy-dropdown" }, usesInheritance: true, ngImport: i0 }); }
299
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyDropdownDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
300
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.15", type: ThyDropdownDirective, isStandalone: true, selector: "[thyDropdown]", inputs: { thyDropdownMenu: { classPropertyName: "thyDropdownMenu", publicName: "thyDropdownMenu", isSignal: true, isRequired: false, transformFunction: null }, thyDropdown: { classPropertyName: "thyDropdown", publicName: "thyDropdown", isSignal: true, isRequired: false, transformFunction: null }, thyTrigger: { classPropertyName: "thyTrigger", publicName: "thyTrigger", isSignal: true, isRequired: false, transformFunction: null }, thyShowDelay: { classPropertyName: "thyShowDelay", publicName: "thyShowDelay", isSignal: true, isRequired: false, transformFunction: null }, thyHideDelay: { classPropertyName: "thyHideDelay", publicName: "thyHideDelay", isSignal: true, isRequired: false, transformFunction: null }, thyActiveClass: { classPropertyName: "thyActiveClass", publicName: "thyActiveClass", isSignal: true, isRequired: false, transformFunction: null }, thyPopoverOptions: { classPropertyName: "thyPopoverOptions", publicName: "thyPopoverOptions", isSignal: true, isRequired: false, transformFunction: null }, thyPlacement: { classPropertyName: "thyPlacement", publicName: "thyPlacement", isSignal: true, isRequired: false, transformFunction: null }, thyMenuInsideClosable: { classPropertyName: "thyMenuInsideClosable", publicName: "thyMenuInsideClosable", isSignal: true, isRequired: false, transformFunction: null }, thyPanelClass: { classPropertyName: "thyPanelClass", publicName: "thyPanelClass", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { thyActiveChange: "thyActiveChange" }, host: { classAttribute: "thy-dropdown" }, usesInheritance: true, ngImport: i0 }); }
301
301
  }
302
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyDropdownDirective, decorators: [{
302
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyDropdownDirective, decorators: [{
303
303
  type: Directive,
304
304
  args: [{
305
305
  selector: `[thyDropdown]`,
@@ -346,10 +346,10 @@ class ThyDropdownMenuItemDirective {
346
346
  bindMouseenterEvent() {
347
347
  return fromEvent(this.elementRef.nativeElement, 'mouseenter').pipe(debounceTime(100), shareReplay());
348
348
  }
349
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyDropdownMenuItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
350
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.14", type: ThyDropdownMenuItemDirective, isStandalone: true, selector: "[thyDropdownMenuItem]", inputs: { thyType: { classPropertyName: "thyType", publicName: "thyType", isSignal: true, isRequired: false, transformFunction: null }, thyDisabled: { classPropertyName: "thyDisabled", publicName: "thyDisabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "onClick($event)" }, properties: { "class.dropdown-menu-item--disabled": "thyDisabled()", "class.dropdown-menu-item--danger": "danger()", "class.dropdown-menu-item--success": "success()" }, classAttribute: "dropdown-menu-item" }, ngImport: i0 }); }
349
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyDropdownMenuItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
350
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.15", type: ThyDropdownMenuItemDirective, isStandalone: true, selector: "[thyDropdownMenuItem]", inputs: { thyType: { classPropertyName: "thyType", publicName: "thyType", isSignal: true, isRequired: false, transformFunction: null }, thyDisabled: { classPropertyName: "thyDisabled", publicName: "thyDisabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "onClick($event)" }, properties: { "class.dropdown-menu-item--disabled": "thyDisabled()", "class.dropdown-menu-item--danger": "danger()", "class.dropdown-menu-item--success": "success()" }, classAttribute: "dropdown-menu-item" }, ngImport: i0 }); }
351
351
  }
352
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyDropdownMenuItemDirective, decorators: [{
352
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyDropdownMenuItemDirective, decorators: [{
353
353
  type: Directive,
354
354
  args: [{
355
355
  selector: '[thyDropdownMenuItem]',
@@ -372,10 +372,10 @@ class ThyDropdownMenuItemIconDirective {
372
372
  constructor() {
373
373
  this.className = true;
374
374
  }
375
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyDropdownMenuItemIconDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
376
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.14", type: ThyDropdownMenuItemIconDirective, isStandalone: true, selector: "[thyDropdownMenuItemIcon]", host: { properties: { "class.icon": "this.className" } }, ngImport: i0 }); }
375
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyDropdownMenuItemIconDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
376
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: ThyDropdownMenuItemIconDirective, isStandalone: true, selector: "[thyDropdownMenuItemIcon]", host: { properties: { "class.icon": "this.className" } }, ngImport: i0 }); }
377
377
  }
378
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyDropdownMenuItemIconDirective, decorators: [{
378
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyDropdownMenuItemIconDirective, decorators: [{
379
379
  type: Directive,
380
380
  args: [{
381
381
  selector: '[thyDropdownMenuItemIcon]'
@@ -392,10 +392,10 @@ class ThyDropdownMenuItemNameDirective {
392
392
  constructor() {
393
393
  this.className = true;
394
394
  }
395
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyDropdownMenuItemNameDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
396
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.14", type: ThyDropdownMenuItemNameDirective, isStandalone: true, selector: "[thyDropdownMenuItemName]", host: { properties: { "class.name": "this.className" } }, ngImport: i0 }); }
395
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyDropdownMenuItemNameDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
396
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: ThyDropdownMenuItemNameDirective, isStandalone: true, selector: "[thyDropdownMenuItemName]", host: { properties: { "class.name": "this.className" } }, ngImport: i0 }); }
397
397
  }
398
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyDropdownMenuItemNameDirective, decorators: [{
398
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyDropdownMenuItemNameDirective, decorators: [{
399
399
  type: Directive,
400
400
  args: [{
401
401
  selector: '[thyDropdownMenuItemName]'
@@ -412,10 +412,10 @@ class ThyDropdownMenuItemMetaDirective {
412
412
  constructor() {
413
413
  this.className = true;
414
414
  }
415
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyDropdownMenuItemMetaDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
416
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.14", type: ThyDropdownMenuItemMetaDirective, isStandalone: true, selector: "[thyDropdownMenuItemMeta]", host: { properties: { "class.meta": "this.className" } }, ngImport: i0 }); }
415
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyDropdownMenuItemMetaDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
416
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: ThyDropdownMenuItemMetaDirective, isStandalone: true, selector: "[thyDropdownMenuItemMeta]", host: { properties: { "class.meta": "this.className" } }, ngImport: i0 }); }
417
417
  }
418
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyDropdownMenuItemMetaDirective, decorators: [{
418
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyDropdownMenuItemMetaDirective, decorators: [{
419
419
  type: Directive,
420
420
  args: [{
421
421
  selector: '[thyDropdownMenuItemMeta]'
@@ -432,10 +432,10 @@ class ThyDropdownMenuItemDescDirective {
432
432
  constructor() {
433
433
  this.className = true;
434
434
  }
435
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyDropdownMenuItemDescDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
436
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.14", type: ThyDropdownMenuItemDescDirective, isStandalone: true, selector: "[thyDropdownMenuItemDesc]", host: { properties: { "class.desc": "this.className" } }, ngImport: i0 }); }
435
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyDropdownMenuItemDescDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
436
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: ThyDropdownMenuItemDescDirective, isStandalone: true, selector: "[thyDropdownMenuItemDesc]", host: { properties: { "class.desc": "this.className" } }, ngImport: i0 }); }
437
437
  }
438
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyDropdownMenuItemDescDirective, decorators: [{
438
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyDropdownMenuItemDescDirective, decorators: [{
439
439
  type: Directive,
440
440
  args: [{
441
441
  selector: '[thyDropdownMenuItemDesc]'
@@ -452,10 +452,10 @@ class ThyDropdownMenuItemExtendIconDirective {
452
452
  constructor() {
453
453
  this.className = true;
454
454
  }
455
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyDropdownMenuItemExtendIconDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
456
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.14", type: ThyDropdownMenuItemExtendIconDirective, isStandalone: true, selector: "[thyDropdownMenuItemExtendIcon]", host: { properties: { "class.extend-icon": "this.className" } }, ngImport: i0 }); }
455
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyDropdownMenuItemExtendIconDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
456
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: ThyDropdownMenuItemExtendIconDirective, isStandalone: true, selector: "[thyDropdownMenuItemExtendIcon]", host: { properties: { "class.extend-icon": "this.className" } }, ngImport: i0 }); }
457
457
  }
458
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyDropdownMenuItemExtendIconDirective, decorators: [{
458
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyDropdownMenuItemExtendIconDirective, decorators: [{
459
459
  type: Directive,
460
460
  args: [{
461
461
  selector: '[thyDropdownMenuItemExtendIcon]'
@@ -477,10 +477,10 @@ class ThyDropdownMenuItemActiveDirective {
477
477
  */
478
478
  this.thyDropdownMenuItemActive = input(false, ...(ngDevMode ? [{ debugName: "thyDropdownMenuItemActive", transform: coerceBooleanProperty }] : [{ transform: coerceBooleanProperty }]));
479
479
  }
480
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyDropdownMenuItemActiveDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
481
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.14", type: ThyDropdownMenuItemActiveDirective, isStandalone: true, selector: "[thyDropdownMenuItemActive]", inputs: { thyDropdownMenuItemActive: { classPropertyName: "thyDropdownMenuItemActive", publicName: "thyDropdownMenuItemActive", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.active": "thyDropdownMenuItemActive()" } }, ngImport: i0 }); }
480
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyDropdownMenuItemActiveDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
481
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.15", type: ThyDropdownMenuItemActiveDirective, isStandalone: true, selector: "[thyDropdownMenuItemActive]", inputs: { thyDropdownMenuItemActive: { classPropertyName: "thyDropdownMenuItemActive", publicName: "thyDropdownMenuItemActive", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.active": "thyDropdownMenuItemActive()" } }, ngImport: i0 }); }
482
482
  }
483
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyDropdownMenuItemActiveDirective, decorators: [{
483
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyDropdownMenuItemActiveDirective, decorators: [{
484
484
  type: Directive,
485
485
  args: [{
486
486
  selector: '[thyDropdownMenuItemActive]',
@@ -552,12 +552,13 @@ class ThyDropdownSubmenu {
552
552
  }
553
553
  }
554
554
  }
555
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyDropdownSubmenu, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
556
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.14", type: ThyDropdownSubmenu, isStandalone: true, selector: "[thyDropdownSubmenu],thy-dropdown-submenu", inputs: { thyDirection: { classPropertyName: "thyDirection", publicName: "thyDirection", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "dropdown-submenu" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
555
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyDropdownSubmenu, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
556
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.15", type: ThyDropdownSubmenu, isStandalone: true, selector: "[thyDropdownSubmenu],thy-dropdown-submenu", inputs: { thyDirection: { classPropertyName: "thyDirection", publicName: "thyDirection", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "dropdown-submenu" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
557
557
  }
558
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyDropdownSubmenu, decorators: [{
558
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyDropdownSubmenu, decorators: [{
559
559
  type: Component,
560
560
  args: [{
561
+ // eslint-disable-next-line @angular-eslint/component-selector
561
562
  selector: '[thyDropdownSubmenu],thy-dropdown-submenu',
562
563
  template: '<ng-content></ng-content>',
563
564
  host: {
@@ -576,7 +577,7 @@ class ThyDropdownActiveDirective {
576
577
  constructor() {
577
578
  this.trigger = inject(ThyDropdownDirective, { optional: true });
578
579
  this.classes = computed(() => {
579
- return coerceArray(this.thyDropdownActive()).filter(c => !!c);
580
+ return coerceArray(this.thyDropdownActive() || []).filter(c => !!c);
580
581
  }, ...(ngDevMode ? [{ debugName: "classes" }] : []));
581
582
  this.hostRenderer = useHostRenderer();
582
583
  /**
@@ -611,10 +612,10 @@ class ThyDropdownActiveDirective {
611
612
  }
612
613
  });
613
614
  }
614
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyDropdownActiveDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
615
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.14", type: ThyDropdownActiveDirective, isStandalone: true, selector: "[thyDropdownActive]", inputs: { thyDropdownActive: { classPropertyName: "thyDropdownActive", publicName: "thyDropdownActive", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "triggers", predicate: ThyDropdownDirective, descendants: true }], ngImport: i0 }); }
615
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyDropdownActiveDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
616
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.15", type: ThyDropdownActiveDirective, isStandalone: true, selector: "[thyDropdownActive]", inputs: { thyDropdownActive: { classPropertyName: "thyDropdownActive", publicName: "thyDropdownActive", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "triggers", predicate: ThyDropdownDirective, descendants: true }], ngImport: i0 }); }
616
617
  }
617
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyDropdownActiveDirective, decorators: [{
618
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyDropdownActiveDirective, decorators: [{
618
619
  type: Directive,
619
620
  args: [{
620
621
  selector: '[thyDropdownActive]'
@@ -625,8 +626,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
625
626
  }] } });
626
627
 
627
628
  class ThyDropdownModule {
628
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyDropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
629
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.14", ngImport: i0, type: ThyDropdownModule, imports: [CommonModule,
629
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyDropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
630
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: ThyDropdownModule, imports: [CommonModule,
630
631
  ThyPopoverModule,
631
632
  ThyDropdownDirective,
632
633
  ThyDropdownActiveDirective,
@@ -653,10 +654,10 @@ class ThyDropdownModule {
653
654
  ThyDropdownMenuItemDescDirective,
654
655
  ThyDropdownMenuItemExtendIconDirective,
655
656
  ThyDropdownMenuItemActiveDirective] }); }
656
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyDropdownModule, imports: [CommonModule,
657
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyDropdownModule, imports: [CommonModule,
657
658
  ThyPopoverModule] }); }
658
659
  }
659
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyDropdownModule, decorators: [{
660
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyDropdownModule, decorators: [{
660
661
  type: NgModule,
661
662
  args: [{
662
663
  imports: [