@ng-nest/ui 20.0.6 → 20.1.0

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 (209) hide show
  1. package/auto-complete/index.d.ts +72 -9
  2. package/base-form/index.d.ts +3 -3
  3. package/calendar/index.d.ts +1 -2
  4. package/cascade/index.d.ts +48 -8
  5. package/checkbox/index.d.ts +4 -4
  6. package/color-picker/index.d.ts +49 -8
  7. package/core/index.d.ts +68 -6
  8. package/date-picker/index.d.ts +82 -12
  9. package/dropdown/index.d.ts +4 -4
  10. package/fesm2022/ng-nest-ui-affix.mjs +12 -12
  11. package/fesm2022/ng-nest-ui-affix.mjs.map +1 -1
  12. package/fesm2022/ng-nest-ui-alert.mjs +35 -35
  13. package/fesm2022/ng-nest-ui-alert.mjs.map +1 -1
  14. package/fesm2022/ng-nest-ui-anchor.mjs +31 -31
  15. package/fesm2022/ng-nest-ui-anchor.mjs.map +1 -1
  16. package/fesm2022/ng-nest-ui-api.mjs +7 -7
  17. package/fesm2022/ng-nest-ui-api.mjs.map +1 -1
  18. package/fesm2022/ng-nest-ui-auto-complete.mjs +108 -62
  19. package/fesm2022/ng-nest-ui-auto-complete.mjs.map +1 -1
  20. package/fesm2022/ng-nest-ui-avatar.mjs +31 -31
  21. package/fesm2022/ng-nest-ui-avatar.mjs.map +1 -1
  22. package/fesm2022/ng-nest-ui-back-top.mjs +18 -18
  23. package/fesm2022/ng-nest-ui-back-top.mjs.map +1 -1
  24. package/fesm2022/ng-nest-ui-badge.mjs +23 -23
  25. package/fesm2022/ng-nest-ui-badge.mjs.map +1 -1
  26. package/fesm2022/ng-nest-ui-base-form.mjs +45 -45
  27. package/fesm2022/ng-nest-ui-base-form.mjs.map +1 -1
  28. package/fesm2022/ng-nest-ui-button.mjs +42 -42
  29. package/fesm2022/ng-nest-ui-button.mjs.map +1 -1
  30. package/fesm2022/ng-nest-ui-calendar.mjs +20 -20
  31. package/fesm2022/ng-nest-ui-calendar.mjs.map +1 -1
  32. package/fesm2022/ng-nest-ui-card.mjs +15 -15
  33. package/fesm2022/ng-nest-ui-card.mjs.map +1 -1
  34. package/fesm2022/ng-nest-ui-carousel.mjs +46 -46
  35. package/fesm2022/ng-nest-ui-carousel.mjs.map +1 -1
  36. package/fesm2022/ng-nest-ui-cascade.mjs +92 -76
  37. package/fesm2022/ng-nest-ui-cascade.mjs.map +1 -1
  38. package/fesm2022/ng-nest-ui-checkbox.mjs +39 -39
  39. package/fesm2022/ng-nest-ui-checkbox.mjs.map +1 -1
  40. package/fesm2022/ng-nest-ui-collapse.mjs +31 -31
  41. package/fesm2022/ng-nest-ui-collapse.mjs.map +1 -1
  42. package/fesm2022/ng-nest-ui-color-picker.mjs +95 -71
  43. package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -1
  44. package/fesm2022/ng-nest-ui-color.mjs +16 -16
  45. package/fesm2022/ng-nest-ui-color.mjs.map +1 -1
  46. package/fesm2022/ng-nest-ui-comment.mjs +21 -21
  47. package/fesm2022/ng-nest-ui-comment.mjs.map +1 -1
  48. package/fesm2022/ng-nest-ui-container.mjs +37 -37
  49. package/fesm2022/ng-nest-ui-container.mjs.map +1 -1
  50. package/fesm2022/ng-nest-ui-core.mjs +38 -22
  51. package/fesm2022/ng-nest-ui-core.mjs.map +1 -1
  52. package/fesm2022/ng-nest-ui-crumb.mjs +13 -13
  53. package/fesm2022/ng-nest-ui-crumb.mjs.map +1 -1
  54. package/fesm2022/ng-nest-ui-date-picker.mjs +284 -254
  55. package/fesm2022/ng-nest-ui-date-picker.mjs.map +1 -1
  56. package/fesm2022/ng-nest-ui-description.mjs +31 -31
  57. package/fesm2022/ng-nest-ui-description.mjs.map +1 -1
  58. package/fesm2022/ng-nest-ui-dialog.mjs +81 -81
  59. package/fesm2022/ng-nest-ui-dialog.mjs.map +1 -1
  60. package/fesm2022/ng-nest-ui-doc.mjs +7 -7
  61. package/fesm2022/ng-nest-ui-doc.mjs.map +1 -1
  62. package/fesm2022/ng-nest-ui-drag.mjs +10 -10
  63. package/fesm2022/ng-nest-ui-drag.mjs.map +1 -1
  64. package/fesm2022/ng-nest-ui-drawer.mjs +42 -42
  65. package/fesm2022/ng-nest-ui-drawer.mjs.map +1 -1
  66. package/fesm2022/ng-nest-ui-dropdown.mjs +49 -49
  67. package/fesm2022/ng-nest-ui-dropdown.mjs.map +1 -1
  68. package/fesm2022/ng-nest-ui-empty.mjs +12 -12
  69. package/fesm2022/ng-nest-ui-empty.mjs.map +1 -1
  70. package/fesm2022/ng-nest-ui-examples.mjs +7 -7
  71. package/fesm2022/ng-nest-ui-examples.mjs.map +1 -1
  72. package/fesm2022/ng-nest-ui-find.mjs +79 -77
  73. package/fesm2022/ng-nest-ui-find.mjs.map +1 -1
  74. package/fesm2022/ng-nest-ui-form.mjs +33 -33
  75. package/fesm2022/ng-nest-ui-form.mjs.map +1 -1
  76. package/fesm2022/ng-nest-ui-highlight.mjs +20 -20
  77. package/fesm2022/ng-nest-ui-highlight.mjs.map +1 -1
  78. package/fesm2022/ng-nest-ui-i18n.mjs +15 -15
  79. package/fesm2022/ng-nest-ui-i18n.mjs.map +1 -1
  80. package/fesm2022/ng-nest-ui-icon.mjs +21 -21
  81. package/fesm2022/ng-nest-ui-icon.mjs.map +1 -1
  82. package/fesm2022/ng-nest-ui-image.mjs +39 -39
  83. package/fesm2022/ng-nest-ui-image.mjs.map +1 -1
  84. package/fesm2022/ng-nest-ui-inner.mjs +11 -11
  85. package/fesm2022/ng-nest-ui-inner.mjs.map +1 -1
  86. package/fesm2022/ng-nest-ui-input-number.mjs +47 -42
  87. package/fesm2022/ng-nest-ui-input-number.mjs.map +1 -1
  88. package/fesm2022/ng-nest-ui-input.mjs +106 -80
  89. package/fesm2022/ng-nest-ui-input.mjs.map +1 -1
  90. package/fesm2022/ng-nest-ui-keyword.mjs +15 -15
  91. package/fesm2022/ng-nest-ui-keyword.mjs.map +1 -1
  92. package/fesm2022/ng-nest-ui-layout.mjs +31 -31
  93. package/fesm2022/ng-nest-ui-layout.mjs.map +1 -1
  94. package/fesm2022/ng-nest-ui-link.mjs +18 -18
  95. package/fesm2022/ng-nest-ui-link.mjs.map +1 -1
  96. package/fesm2022/ng-nest-ui-list.mjs +80 -80
  97. package/fesm2022/ng-nest-ui-list.mjs.map +1 -1
  98. package/fesm2022/ng-nest-ui-loading.mjs +22 -22
  99. package/fesm2022/ng-nest-ui-loading.mjs.map +1 -1
  100. package/fesm2022/ng-nest-ui-menu.mjs +45 -45
  101. package/fesm2022/ng-nest-ui-menu.mjs.map +1 -1
  102. package/fesm2022/ng-nest-ui-message-box.mjs +10 -10
  103. package/fesm2022/ng-nest-ui-message-box.mjs.map +1 -1
  104. package/fesm2022/ng-nest-ui-message.mjs +10 -10
  105. package/fesm2022/ng-nest-ui-message.mjs.map +1 -1
  106. package/fesm2022/ng-nest-ui-notification.mjs +10 -10
  107. package/fesm2022/ng-nest-ui-notification.mjs.map +1 -1
  108. package/fesm2022/ng-nest-ui-outlet.mjs +9 -9
  109. package/fesm2022/ng-nest-ui-outlet.mjs.map +1 -1
  110. package/fesm2022/ng-nest-ui-page-header.mjs +15 -15
  111. package/fesm2022/ng-nest-ui-page-header.mjs.map +1 -1
  112. package/fesm2022/ng-nest-ui-pagination.mjs +53 -53
  113. package/fesm2022/ng-nest-ui-pagination.mjs.map +1 -1
  114. package/fesm2022/ng-nest-ui-pattern.mjs +7 -7
  115. package/fesm2022/ng-nest-ui-pattern.mjs.map +1 -1
  116. package/fesm2022/ng-nest-ui-popconfirm.mjs +27 -27
  117. package/fesm2022/ng-nest-ui-popconfirm.mjs.map +1 -1
  118. package/fesm2022/ng-nest-ui-popover.mjs +38 -38
  119. package/fesm2022/ng-nest-ui-popover.mjs.map +1 -1
  120. package/fesm2022/ng-nest-ui-portal.mjs +7 -7
  121. package/fesm2022/ng-nest-ui-portal.mjs.map +1 -1
  122. package/fesm2022/ng-nest-ui-progress.mjs +38 -38
  123. package/fesm2022/ng-nest-ui-progress.mjs.map +1 -1
  124. package/fesm2022/ng-nest-ui-radio.mjs +36 -36
  125. package/fesm2022/ng-nest-ui-radio.mjs.map +1 -1
  126. package/fesm2022/ng-nest-ui-rate.mjs +30 -30
  127. package/fesm2022/ng-nest-ui-rate.mjs.map +1 -1
  128. package/fesm2022/ng-nest-ui-resizable.mjs +16 -16
  129. package/fesm2022/ng-nest-ui-resizable.mjs.map +1 -1
  130. package/fesm2022/ng-nest-ui-result.mjs +16 -16
  131. package/fesm2022/ng-nest-ui-result.mjs.map +1 -1
  132. package/fesm2022/ng-nest-ui-ripple.mjs +13 -13
  133. package/fesm2022/ng-nest-ui-ripple.mjs.map +1 -1
  134. package/fesm2022/ng-nest-ui-scrollable.mjs +219 -0
  135. package/fesm2022/ng-nest-ui-scrollable.mjs.map +1 -0
  136. package/fesm2022/ng-nest-ui-select.mjs +125 -110
  137. package/fesm2022/ng-nest-ui-select.mjs.map +1 -1
  138. package/fesm2022/ng-nest-ui-skeleton.mjs +15 -15
  139. package/fesm2022/ng-nest-ui-skeleton.mjs.map +1 -1
  140. package/fesm2022/ng-nest-ui-slider-select.mjs +54 -54
  141. package/fesm2022/ng-nest-ui-slider-select.mjs.map +1 -1
  142. package/fesm2022/ng-nest-ui-slider.mjs +39 -39
  143. package/fesm2022/ng-nest-ui-slider.mjs.map +1 -1
  144. package/fesm2022/ng-nest-ui-statistic.mjs +30 -30
  145. package/fesm2022/ng-nest-ui-statistic.mjs.map +1 -1
  146. package/fesm2022/ng-nest-ui-steps.mjs +19 -19
  147. package/fesm2022/ng-nest-ui-steps.mjs.map +1 -1
  148. package/fesm2022/ng-nest-ui-switch.mjs +26 -26
  149. package/fesm2022/ng-nest-ui-switch.mjs.map +1 -1
  150. package/fesm2022/ng-nest-ui-table-view.mjs +593 -0
  151. package/fesm2022/ng-nest-ui-table-view.mjs.map +1 -0
  152. package/fesm2022/ng-nest-ui-table.mjs +222 -222
  153. package/fesm2022/ng-nest-ui-table.mjs.map +1 -1
  154. package/fesm2022/ng-nest-ui-tabs.mjs +58 -58
  155. package/fesm2022/ng-nest-ui-tabs.mjs.map +1 -1
  156. package/fesm2022/ng-nest-ui-tag.mjs +22 -22
  157. package/fesm2022/ng-nest-ui-tag.mjs.map +1 -1
  158. package/fesm2022/ng-nest-ui-text-retract.mjs +15 -15
  159. package/fesm2022/ng-nest-ui-text-retract.mjs.map +1 -1
  160. package/fesm2022/ng-nest-ui-textarea.mjs +45 -40
  161. package/fesm2022/ng-nest-ui-textarea.mjs.map +1 -1
  162. package/fesm2022/ng-nest-ui-theme.mjs +23 -23
  163. package/fesm2022/ng-nest-ui-theme.mjs.map +1 -1
  164. package/fesm2022/ng-nest-ui-time-ago.mjs +7 -7
  165. package/fesm2022/ng-nest-ui-time-ago.mjs.map +1 -1
  166. package/fesm2022/ng-nest-ui-time-picker.mjs +113 -92
  167. package/fesm2022/ng-nest-ui-time-picker.mjs.map +1 -1
  168. package/fesm2022/ng-nest-ui-time-range.mjs +7 -7
  169. package/fesm2022/ng-nest-ui-time-range.mjs.map +1 -1
  170. package/fesm2022/ng-nest-ui-timeline.mjs +15 -15
  171. package/fesm2022/ng-nest-ui-timeline.mjs.map +1 -1
  172. package/fesm2022/ng-nest-ui-tooltip.mjs +38 -38
  173. package/fesm2022/ng-nest-ui-tooltip.mjs.map +1 -1
  174. package/fesm2022/ng-nest-ui-transfer.mjs +40 -40
  175. package/fesm2022/ng-nest-ui-transfer.mjs.map +1 -1
  176. package/fesm2022/ng-nest-ui-tree-file.mjs +28 -28
  177. package/fesm2022/ng-nest-ui-tree-file.mjs.map +1 -1
  178. package/fesm2022/ng-nest-ui-tree-select.mjs +147 -110
  179. package/fesm2022/ng-nest-ui-tree-select.mjs.map +1 -1
  180. package/fesm2022/ng-nest-ui-tree.mjs +107 -107
  181. package/fesm2022/ng-nest-ui-tree.mjs.map +1 -1
  182. package/fesm2022/ng-nest-ui-typography.mjs +13 -13
  183. package/fesm2022/ng-nest-ui-typography.mjs.map +1 -1
  184. package/fesm2022/ng-nest-ui-upload.mjs +37 -37
  185. package/fesm2022/ng-nest-ui-upload.mjs.map +1 -1
  186. package/fesm2022/ng-nest-ui.mjs +2 -0
  187. package/fesm2022/ng-nest-ui.mjs.map +1 -1
  188. package/find/index.d.ts +5 -5
  189. package/form/index.d.ts +1 -1
  190. package/index.d.ts +2 -0
  191. package/input/index.d.ts +47 -5
  192. package/input-number/index.d.ts +22 -7
  193. package/list/index.d.ts +2 -2
  194. package/message-box/index.d.ts +4 -5
  195. package/package.json +28 -20
  196. package/radio/index.d.ts +4 -4
  197. package/rate/index.d.ts +5 -5
  198. package/scrollable/index.d.ts +49 -0
  199. package/select/index.d.ts +53 -8
  200. package/slider-select/index.d.ts +3 -3
  201. package/steps/index.d.ts +1 -2
  202. package/switch/index.d.ts +3 -3
  203. package/table-view/index.d.ts +148 -0
  204. package/textarea/index.d.ts +20 -5
  205. package/theme/index.d.ts +1 -1
  206. package/time-picker/index.d.ts +53 -8
  207. package/transfer/index.d.ts +1 -1
  208. package/tree-select/index.d.ts +70 -9
  209. package/upload/index.d.ts +2 -2
@@ -26,62 +26,62 @@ class XTooltipProperty extends XPropertyFunction(X_TOOLTIP_CONFIG_NAME) {
26
26
  * @zh_CN 内容
27
27
  * @en_US Content
28
28
  */
29
- this.content = input();
29
+ this.content = input(...(ngDevMode ? [undefined, { debugName: "content" }] : []));
30
30
  /**
31
31
  * @zh_CN 显示位置
32
32
  * @en_US Display position
33
33
  */
34
- this.placement = input(this.config?.placement ?? 'top');
34
+ this.placement = input(this.config?.placement ?? 'top', ...(ngDevMode ? [{ debugName: "placement" }] : []));
35
35
  /**
36
36
  * @zh_CN 显示/隐藏
37
37
  * @en_US Show/hide
38
38
  */
39
- this.visible = model(false);
39
+ this.visible = model(false, ...(ngDevMode ? [{ debugName: "visible" }] : []));
40
40
  /**
41
41
  * @zh_CN 内部样式
42
42
  * @en_US panel class
43
43
  */
44
- this.panelClass = input();
44
+ this.panelClass = input(...(ngDevMode ? [undefined, { debugName: "panelClass" }] : []));
45
45
  /**
46
46
  * @zh_CN 指定参考对象
47
47
  * @en_US specify reference object
48
48
  */
49
- this.connectTo = input();
49
+ this.connectTo = input(...(ngDevMode ? [undefined, { debugName: "connectTo" }] : []));
50
50
  /**
51
51
  * @zh_CN 背景颜色
52
52
  * @en_US Background color
53
53
  */
54
- this.backgroundColor = input();
54
+ this.backgroundColor = input(...(ngDevMode ? [undefined, { debugName: "backgroundColor" }] : []));
55
55
  /**
56
56
  * @zh_CN 文字颜色
57
57
  * @en_US Text color
58
58
  */
59
- this.color = input();
59
+ this.color = input(...(ngDevMode ? [undefined, { debugName: "color" }] : []));
60
60
  /**
61
61
  * @zh_CN 手动处理关闭事件
62
62
  * @en_US Manually handle the shutdown event
63
63
  */
64
- this.manual = input(false, { transform: XToBoolean });
64
+ this.manual = input(false, ...(ngDevMode ? [{ debugName: "manual", transform: XToBoolean }] : [{ transform: XToBoolean }]));
65
65
  /**
66
66
  * @zh_CN 鼠标移入后延时多少才显示
67
67
  * @en_US How much is the mouse transfer after transfer
68
68
  */
69
- this.mouseEnterDelay = input(150, { transform: XToNumber });
69
+ this.mouseEnterDelay = input(150, ...(ngDevMode ? [{ debugName: "mouseEnterDelay", transform: XToNumber }] : [{ transform: XToNumber }]));
70
70
  /**
71
71
  * @zh_CN 鼠标移出后延时多少才隐藏
72
72
  * @en_US How much hidden is hidden after the mouse is removed
73
73
  */
74
- this.mouseLeaveDelay = input(100, { transform: XToNumber });
74
+ this.mouseLeaveDelay = input(100, ...(ngDevMode ? [{ debugName: "mouseLeaveDelay", transform: XToNumber }] : [{ transform: XToNumber }]));
75
75
  /**
76
76
  * @zh_CN 禁用显示
77
77
  * @en_US Disable display
78
78
  */
79
- this.disabled = input(false, { transform: XToBoolean });
79
+ this.disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled", transform: XToBoolean }] : [{ transform: XToBoolean }]));
80
80
  }
81
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XTooltipProperty, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
82
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.0", type: XTooltipProperty, isStandalone: true, selector: "[x-tooltip], x-tooltip", inputs: { content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, visible: { classPropertyName: "visible", publicName: "visible", isSignal: true, isRequired: false, transformFunction: null }, panelClass: { classPropertyName: "panelClass", publicName: "panelClass", isSignal: true, isRequired: false, transformFunction: null }, connectTo: { classPropertyName: "connectTo", publicName: "connectTo", isSignal: true, isRequired: false, transformFunction: null }, backgroundColor: { classPropertyName: "backgroundColor", publicName: "backgroundColor", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, manual: { classPropertyName: "manual", publicName: "manual", isSignal: true, isRequired: false, transformFunction: null }, mouseEnterDelay: { classPropertyName: "mouseEnterDelay", publicName: "mouseEnterDelay", isSignal: true, isRequired: false, transformFunction: null }, mouseLeaveDelay: { classPropertyName: "mouseLeaveDelay", publicName: "mouseLeaveDelay", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { visible: "visibleChange" }, usesInheritance: true, ngImport: i0 }); }
81
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XTooltipProperty, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
82
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.2.4", type: XTooltipProperty, isStandalone: true, selector: "[x-tooltip], x-tooltip", inputs: { content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, visible: { classPropertyName: "visible", publicName: "visible", isSignal: true, isRequired: false, transformFunction: null }, panelClass: { classPropertyName: "panelClass", publicName: "panelClass", isSignal: true, isRequired: false, transformFunction: null }, connectTo: { classPropertyName: "connectTo", publicName: "connectTo", isSignal: true, isRequired: false, transformFunction: null }, backgroundColor: { classPropertyName: "backgroundColor", publicName: "backgroundColor", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, manual: { classPropertyName: "manual", publicName: "manual", isSignal: true, isRequired: false, transformFunction: null }, mouseEnterDelay: { classPropertyName: "mouseEnterDelay", publicName: "mouseEnterDelay", isSignal: true, isRequired: false, transformFunction: null }, mouseLeaveDelay: { classPropertyName: "mouseLeaveDelay", publicName: "mouseLeaveDelay", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { visible: "visibleChange" }, usesInheritance: true, ngImport: i0 }); }
83
83
  }
84
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XTooltipProperty, decorators: [{
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XTooltipProperty, decorators: [{
85
85
  type: Directive,
86
86
  args: [{ selector: `[${XTooltipPrefix}], ${XTooltipPrefix}` }]
87
87
  }] });
@@ -94,14 +94,14 @@ const XTooltipPortalPrefix = 'x-tooltip-portal';
94
94
 
95
95
  class XTooltipPortalComponent {
96
96
  constructor() {
97
- this.placement = input();
98
- this.content = input();
99
- this.box = input();
100
- this.color = input();
101
- this.backgroundColor = input();
97
+ this.placement = input(...(ngDevMode ? [undefined, { debugName: "placement" }] : []));
98
+ this.content = input(...(ngDevMode ? [undefined, { debugName: "content" }] : []));
99
+ this.box = input(...(ngDevMode ? [undefined, { debugName: "box" }] : []));
100
+ this.color = input(...(ngDevMode ? [undefined, { debugName: "color" }] : []));
101
+ this.backgroundColor = input(...(ngDevMode ? [undefined, { debugName: "backgroundColor" }] : []));
102
102
  this.hoverChanged = output();
103
- this.arrowHidden = signal(true);
104
- this.destroy = signal(false);
103
+ this.arrowHidden = signal(true, ...(ngDevMode ? [{ debugName: "arrowHidden" }] : []));
104
+ this.destroy = signal(false, ...(ngDevMode ? [{ debugName: "destroy" }] : []));
105
105
  this.destroyRef = inject(DestroyRef);
106
106
  this.animation = true;
107
107
  this.tooltipPortal = viewChild.required('tooltipPortal', { read: (ElementRef) });
@@ -109,9 +109,9 @@ class XTooltipPortalComponent {
109
109
  this.tooltipArrowAfter = viewChild.required('tooltipArrowAfter', { read: (ElementRef) });
110
110
  this.classMap = computed(() => ({
111
111
  [`${XTooltipPortalPrefix}-${this.placement()}`]: !XIsEmpty(this.placement())
112
- }));
113
- this.portalBox = computed(() => this.tooltipPortal().nativeElement.getBoundingClientRect());
114
- this.arrowBox = computed(() => this.tooltipArrow().nativeElement.getBoundingClientRect());
112
+ }), ...(ngDevMode ? [{ debugName: "classMap" }] : []));
113
+ this.portalBox = computed(() => this.tooltipPortal().nativeElement.getBoundingClientRect(), ...(ngDevMode ? [{ debugName: "portalBox" }] : []));
114
+ this.arrowBox = computed(() => this.tooltipArrow().nativeElement.getBoundingClientRect(), ...(ngDevMode ? [{ debugName: "arrowBox" }] : []));
115
115
  this.renderer = inject(Renderer2);
116
116
  this.destroyRef.onDestroy(() => {
117
117
  this.destroy.set(true);
@@ -169,10 +169,10 @@ class XTooltipPortalComponent {
169
169
  includes(arrow) {
170
170
  return this.placement().indexOf(arrow) >= 0;
171
171
  }
172
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XTooltipPortalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
173
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.0.0", type: XTooltipPortalComponent, isStandalone: true, selector: "x-tooltip-portal", inputs: { placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: false, transformFunction: null }, box: { classPropertyName: "box", publicName: "box", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, backgroundColor: { classPropertyName: "backgroundColor", publicName: "backgroundColor", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { hoverChanged: "hoverChanged" }, host: { listeners: { "mouseenter": "mouseenter()", "mouseleave": "mouseleave()", "@x-fade-animation.done": "done($event)" }, properties: { "@x-fade-animation": "this.animation" } }, viewQueries: [{ propertyName: "tooltipPortal", first: true, predicate: ["tooltipPortal"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "tooltipArrow", first: true, predicate: ["tooltipArrow"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "tooltipArrowAfter", first: true, predicate: ["tooltipArrowAfter"], descendants: true, read: ElementRef, isSignal: true }], ngImport: i0, template: "<div #tooltipPortal class=\"x-tooltip-portal\" [ngClass]=\"classMap()\">\r\n <div class=\"x-tooltip-portal-inner\" [style.backgroundColor]=\"backgroundColor()\" [style.color]=\"color()\">\r\n <ng-container *xOutlet=\"content()\"><div [innerHTML]=\"content()\"></div></ng-container>\r\n </div>\r\n <div #tooltipArrow class=\"x-tooltip-portal-arrow\" [class.x-tooltip-portal-arrow-hidden]=\"arrowHidden()\">\r\n <div #tooltipArrowAfter class=\"x-tooltip-portal-arrow-after\"></div>\r\n </div>\r\n</div>\r\n", styles: [".x-tooltip-portal{margin:0;padding:0}.x-tooltip-portal{display:inline-flex;position:relative;justify-content:center;align-items:center}.x-tooltip-portal .x-tooltip-portal-arrow-hidden{visibility:hidden}.x-tooltip-portal>.x-tooltip-portal-inner{font-size:var(--x-font-size);background-color:var(--x-text);color:var(--x-text-700);padding:.325rem .5rem;max-width:10rem;border-radius:var(--x-border-radius);box-shadow:var(--x-box-shadow)}.x-tooltip-portal .x-tooltip-portal-arrow,.x-tooltip-portal .x-tooltip-portal-arrow-after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.x-tooltip-portal .x-tooltip-portal-arrow{border-width:.375rem;filter:drop-shadow(0 .125rem .75rem rgba(0,0,0,.03))}.x-tooltip-portal .x-tooltip-portal-arrow-after{border-width:.375rem}.x-tooltip-portal-top,.x-tooltip-portal-top-start,.x-tooltip-portal-top-end{padding-bottom:.525rem}.x-tooltip-portal-top>.x-tooltip-portal-arrow,.x-tooltip-portal-top-start>.x-tooltip-portal-arrow,.x-tooltip-portal-top-end>.x-tooltip-portal-arrow{bottom:.3rem;border-bottom-width:0;border-top-color:var(--x-text)}.x-tooltip-portal-top .x-tooltip-portal-arrow-after,.x-tooltip-portal-top-start .x-tooltip-portal-arrow-after,.x-tooltip-portal-top-end .x-tooltip-portal-arrow-after{bottom:.1rem;margin-left:-.375rem;border-bottom-width:0;border-top-color:var(--x-text)}.x-tooltip-portal-left,.x-tooltip-portal-left-start,.x-tooltip-portal-left-end{padding-right:.525rem}.x-tooltip-portal-left>.x-tooltip-portal-arrow,.x-tooltip-portal-left-start>.x-tooltip-portal-arrow,.x-tooltip-portal-left-end>.x-tooltip-portal-arrow{right:.3rem;border-right-width:0;border-left-color:var(--x-text)}.x-tooltip-portal-left .x-tooltip-portal-arrow-after,.x-tooltip-portal-left-start .x-tooltip-portal-arrow-after,.x-tooltip-portal-left-end .x-tooltip-portal-arrow-after{right:.1rem;margin-top:-.375rem;border-right-width:0;border-left-color:var(--x-text)}.x-tooltip-portal-right,.x-tooltip-portal-right-start,.x-tooltip-portal-right-end{padding-left:.525rem}.x-tooltip-portal-right>.x-tooltip-portal-arrow,.x-tooltip-portal-right-start>.x-tooltip-portal-arrow,.x-tooltip-portal-right-end>.x-tooltip-portal-arrow{left:.3rem;border-left-width:0;border-right-color:var(--x-text)}.x-tooltip-portal-right .x-tooltip-portal-arrow-after,.x-tooltip-portal-right-start .x-tooltip-portal-arrow-after,.x-tooltip-portal-right-end .x-tooltip-portal-arrow-after{left:.1rem;margin-top:-.375rem;border-left-width:0;border-right-color:var(--x-text)}.x-tooltip-portal-bottom,.x-tooltip-portal-bottom-start,.x-tooltip-portal-bottom-end{padding-top:.525rem}.x-tooltip-portal-bottom .x-tooltip-portal-arrow,.x-tooltip-portal-bottom-start .x-tooltip-portal-arrow,.x-tooltip-portal-bottom-end .x-tooltip-portal-arrow{top:.3rem;border-top-width:0;border-bottom-color:var(--x-text)}.x-tooltip-portal-bottom .x-tooltip-portal-arrow-after,.x-tooltip-portal-bottom-start .x-tooltip-portal-arrow-after,.x-tooltip-portal-bottom-end .x-tooltip-portal-arrow-after{top:.1rem;margin-left:-.375rem;border-top-width:0;border-bottom-color:var(--x-text)}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], animations: [XFadeAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
172
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XTooltipPortalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
173
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.2.4", type: XTooltipPortalComponent, isStandalone: true, selector: "x-tooltip-portal", inputs: { placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: false, transformFunction: null }, box: { classPropertyName: "box", publicName: "box", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, backgroundColor: { classPropertyName: "backgroundColor", publicName: "backgroundColor", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { hoverChanged: "hoverChanged" }, host: { listeners: { "mouseenter": "mouseenter()", "mouseleave": "mouseleave()", "@x-fade-animation.done": "done($event)" }, properties: { "@x-fade-animation": "this.animation" } }, viewQueries: [{ propertyName: "tooltipPortal", first: true, predicate: ["tooltipPortal"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "tooltipArrow", first: true, predicate: ["tooltipArrow"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "tooltipArrowAfter", first: true, predicate: ["tooltipArrowAfter"], descendants: true, read: ElementRef, isSignal: true }], ngImport: i0, template: "<div #tooltipPortal class=\"x-tooltip-portal\" [ngClass]=\"classMap()\">\r\n <div class=\"x-tooltip-portal-inner\" [style.backgroundColor]=\"backgroundColor()\" [style.color]=\"color()\">\r\n <ng-container *xOutlet=\"content()\"><div [innerHTML]=\"content()\"></div></ng-container>\r\n </div>\r\n <div #tooltipArrow class=\"x-tooltip-portal-arrow\" [class.x-tooltip-portal-arrow-hidden]=\"arrowHidden()\">\r\n <div #tooltipArrowAfter class=\"x-tooltip-portal-arrow-after\"></div>\r\n </div>\r\n</div>\r\n", styles: [".x-tooltip-portal{margin:0;padding:0}.x-tooltip-portal{display:inline-flex;position:relative;justify-content:center;align-items:center}.x-tooltip-portal .x-tooltip-portal-arrow-hidden{visibility:hidden}.x-tooltip-portal>.x-tooltip-portal-inner{font-size:var(--x-font-size);background-color:var(--x-text);color:var(--x-text-700);padding:.325rem .5rem;max-width:10rem;border-radius:var(--x-border-radius);box-shadow:var(--x-box-shadow)}.x-tooltip-portal .x-tooltip-portal-arrow,.x-tooltip-portal .x-tooltip-portal-arrow-after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.x-tooltip-portal .x-tooltip-portal-arrow{border-width:.375rem;filter:drop-shadow(0 .125rem .75rem rgba(0,0,0,.03))}.x-tooltip-portal .x-tooltip-portal-arrow-after{border-width:.375rem}.x-tooltip-portal-top,.x-tooltip-portal-top-start,.x-tooltip-portal-top-end{padding-bottom:.525rem}.x-tooltip-portal-top>.x-tooltip-portal-arrow,.x-tooltip-portal-top-start>.x-tooltip-portal-arrow,.x-tooltip-portal-top-end>.x-tooltip-portal-arrow{bottom:.3rem;border-bottom-width:0;border-top-color:var(--x-text)}.x-tooltip-portal-top .x-tooltip-portal-arrow-after,.x-tooltip-portal-top-start .x-tooltip-portal-arrow-after,.x-tooltip-portal-top-end .x-tooltip-portal-arrow-after{bottom:.1rem;margin-left:-.375rem;border-bottom-width:0;border-top-color:var(--x-text)}.x-tooltip-portal-left,.x-tooltip-portal-left-start,.x-tooltip-portal-left-end{padding-right:.525rem}.x-tooltip-portal-left>.x-tooltip-portal-arrow,.x-tooltip-portal-left-start>.x-tooltip-portal-arrow,.x-tooltip-portal-left-end>.x-tooltip-portal-arrow{right:.3rem;border-right-width:0;border-left-color:var(--x-text)}.x-tooltip-portal-left .x-tooltip-portal-arrow-after,.x-tooltip-portal-left-start .x-tooltip-portal-arrow-after,.x-tooltip-portal-left-end .x-tooltip-portal-arrow-after{right:.1rem;margin-top:-.375rem;border-right-width:0;border-left-color:var(--x-text)}.x-tooltip-portal-right,.x-tooltip-portal-right-start,.x-tooltip-portal-right-end{padding-left:.525rem}.x-tooltip-portal-right>.x-tooltip-portal-arrow,.x-tooltip-portal-right-start>.x-tooltip-portal-arrow,.x-tooltip-portal-right-end>.x-tooltip-portal-arrow{left:.3rem;border-left-width:0;border-right-color:var(--x-text)}.x-tooltip-portal-right .x-tooltip-portal-arrow-after,.x-tooltip-portal-right-start .x-tooltip-portal-arrow-after,.x-tooltip-portal-right-end .x-tooltip-portal-arrow-after{left:.1rem;margin-top:-.375rem;border-left-width:0;border-right-color:var(--x-text)}.x-tooltip-portal-bottom,.x-tooltip-portal-bottom-start,.x-tooltip-portal-bottom-end{padding-top:.525rem}.x-tooltip-portal-bottom .x-tooltip-portal-arrow,.x-tooltip-portal-bottom-start .x-tooltip-portal-arrow,.x-tooltip-portal-bottom-end .x-tooltip-portal-arrow{top:.3rem;border-top-width:0;border-bottom-color:var(--x-text)}.x-tooltip-portal-bottom .x-tooltip-portal-arrow-after,.x-tooltip-portal-bottom-start .x-tooltip-portal-arrow-after,.x-tooltip-portal-bottom-end .x-tooltip-portal-arrow-after{top:.1rem;margin-left:-.375rem;border-top-width:0;border-bottom-color:var(--x-text)}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], animations: [XFadeAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
174
174
  }
175
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XTooltipPortalComponent, decorators: [{
175
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XTooltipPortalComponent, decorators: [{
176
176
  type: Component,
177
177
  args: [{ selector: `${XTooltipPortalPrefix}`, imports: [NgClass, XOutletDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, animations: [XFadeAnimation], template: "<div #tooltipPortal class=\"x-tooltip-portal\" [ngClass]=\"classMap()\">\r\n <div class=\"x-tooltip-portal-inner\" [style.backgroundColor]=\"backgroundColor()\" [style.color]=\"color()\">\r\n <ng-container *xOutlet=\"content()\"><div [innerHTML]=\"content()\"></div></ng-container>\r\n </div>\r\n <div #tooltipArrow class=\"x-tooltip-portal-arrow\" [class.x-tooltip-portal-arrow-hidden]=\"arrowHidden()\">\r\n <div #tooltipArrowAfter class=\"x-tooltip-portal-arrow-after\"></div>\r\n </div>\r\n</div>\r\n", styles: [".x-tooltip-portal{margin:0;padding:0}.x-tooltip-portal{display:inline-flex;position:relative;justify-content:center;align-items:center}.x-tooltip-portal .x-tooltip-portal-arrow-hidden{visibility:hidden}.x-tooltip-portal>.x-tooltip-portal-inner{font-size:var(--x-font-size);background-color:var(--x-text);color:var(--x-text-700);padding:.325rem .5rem;max-width:10rem;border-radius:var(--x-border-radius);box-shadow:var(--x-box-shadow)}.x-tooltip-portal .x-tooltip-portal-arrow,.x-tooltip-portal .x-tooltip-portal-arrow-after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.x-tooltip-portal .x-tooltip-portal-arrow{border-width:.375rem;filter:drop-shadow(0 .125rem .75rem rgba(0,0,0,.03))}.x-tooltip-portal .x-tooltip-portal-arrow-after{border-width:.375rem}.x-tooltip-portal-top,.x-tooltip-portal-top-start,.x-tooltip-portal-top-end{padding-bottom:.525rem}.x-tooltip-portal-top>.x-tooltip-portal-arrow,.x-tooltip-portal-top-start>.x-tooltip-portal-arrow,.x-tooltip-portal-top-end>.x-tooltip-portal-arrow{bottom:.3rem;border-bottom-width:0;border-top-color:var(--x-text)}.x-tooltip-portal-top .x-tooltip-portal-arrow-after,.x-tooltip-portal-top-start .x-tooltip-portal-arrow-after,.x-tooltip-portal-top-end .x-tooltip-portal-arrow-after{bottom:.1rem;margin-left:-.375rem;border-bottom-width:0;border-top-color:var(--x-text)}.x-tooltip-portal-left,.x-tooltip-portal-left-start,.x-tooltip-portal-left-end{padding-right:.525rem}.x-tooltip-portal-left>.x-tooltip-portal-arrow,.x-tooltip-portal-left-start>.x-tooltip-portal-arrow,.x-tooltip-portal-left-end>.x-tooltip-portal-arrow{right:.3rem;border-right-width:0;border-left-color:var(--x-text)}.x-tooltip-portal-left .x-tooltip-portal-arrow-after,.x-tooltip-portal-left-start .x-tooltip-portal-arrow-after,.x-tooltip-portal-left-end .x-tooltip-portal-arrow-after{right:.1rem;margin-top:-.375rem;border-right-width:0;border-left-color:var(--x-text)}.x-tooltip-portal-right,.x-tooltip-portal-right-start,.x-tooltip-portal-right-end{padding-left:.525rem}.x-tooltip-portal-right>.x-tooltip-portal-arrow,.x-tooltip-portal-right-start>.x-tooltip-portal-arrow,.x-tooltip-portal-right-end>.x-tooltip-portal-arrow{left:.3rem;border-left-width:0;border-right-color:var(--x-text)}.x-tooltip-portal-right .x-tooltip-portal-arrow-after,.x-tooltip-portal-right-start .x-tooltip-portal-arrow-after,.x-tooltip-portal-right-end .x-tooltip-portal-arrow-after{left:.1rem;margin-top:-.375rem;border-left-width:0;border-right-color:var(--x-text)}.x-tooltip-portal-bottom,.x-tooltip-portal-bottom-start,.x-tooltip-portal-bottom-end{padding-top:.525rem}.x-tooltip-portal-bottom .x-tooltip-portal-arrow,.x-tooltip-portal-bottom-start .x-tooltip-portal-arrow,.x-tooltip-portal-bottom-end .x-tooltip-portal-arrow{top:.3rem;border-top-width:0;border-bottom-color:var(--x-text)}.x-tooltip-portal-bottom .x-tooltip-portal-arrow-after,.x-tooltip-portal-bottom-start .x-tooltip-portal-arrow-after,.x-tooltip-portal-bottom-end .x-tooltip-portal-arrow-after{top:.1rem;margin-left:-.375rem;border-top-width:0;border-bottom-color:var(--x-text)}\n"] }]
178
178
  }], ctorParameters: () => [], propDecorators: { mouseenter: [{
@@ -203,15 +203,15 @@ class XTooltipDirective extends XTooltipProperty {
203
203
  }
204
204
  constructor() {
205
205
  super();
206
- this.box = signal(null);
207
- this.mouseover = signal(false);
206
+ this.box = signal(null, ...(ngDevMode ? [{ debugName: "box" }] : []));
207
+ this.mouseover = signal(false, ...(ngDevMode ? [{ debugName: "mouseover" }] : []));
208
208
  this.unSubject = new Subject();
209
- this.realPlacement = signal(null);
209
+ this.realPlacement = signal(null, ...(ngDevMode ? [{ debugName: "realPlacement" }] : []));
210
210
  this.elementRef = inject(ElementRef);
211
211
  this.portalService = inject(XPortalService);
212
212
  this.viewContainerRef = inject(ViewContainerRef);
213
213
  this.overlay = inject(Overlay);
214
- this.portalComponent = signal(null);
214
+ this.portalComponent = signal(null, ...(ngDevMode ? [{ debugName: "portalComponent" }] : []));
215
215
  this.visibleChanged = toObservable(this.visible);
216
216
  effect(() => this.portalComponent()?.setInput('content', this.content()));
217
217
  effect(() => this.portalComponent()?.setInput('box', this.box()));
@@ -316,10 +316,10 @@ class XTooltipDirective extends XTooltipProperty {
316
316
  updatePortal() {
317
317
  this.portal.overlayRef?.updatePosition();
318
318
  }
319
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XTooltipDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
320
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.0", type: XTooltipDirective, isStandalone: true, selector: "[x-tooltip], x-tooltip", host: { listeners: { "mouseenter": "mouseenter()", "mouseleave": "mouseleave()" }, properties: { "class.x-tooltip-show": "this._show" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0 }); }
319
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XTooltipDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
320
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.2.4", type: XTooltipDirective, isStandalone: true, selector: "[x-tooltip], x-tooltip", host: { listeners: { "mouseenter": "mouseenter()", "mouseleave": "mouseleave()" }, properties: { "class.x-tooltip-show": "this._show" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0 }); }
321
321
  }
322
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XTooltipDirective, decorators: [{
322
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XTooltipDirective, decorators: [{
323
323
  type: Directive,
324
324
  args: [{ selector: `[${XTooltipPrefix}], ${XTooltipPrefix}` }]
325
325
  }], ctorParameters: () => [], propDecorators: { _show: [{
@@ -334,11 +334,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImpor
334
334
  }] } });
335
335
 
336
336
  class XTooltipModule {
337
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XTooltipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
338
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.0", ngImport: i0, type: XTooltipModule, imports: [XTooltipDirective], exports: [XTooltipDirective] }); }
339
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XTooltipModule }); }
337
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XTooltipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
338
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.2.4", ngImport: i0, type: XTooltipModule, imports: [XTooltipDirective], exports: [XTooltipDirective] }); }
339
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XTooltipModule }); }
340
340
  }
341
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XTooltipModule, decorators: [{
341
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XTooltipModule, decorators: [{
342
342
  type: NgModule,
343
343
  args: [{
344
344
  exports: [XTooltipDirective],
@@ -1 +1 @@
1
- {"version":3,"file":"ng-nest-ui-tooltip.mjs","sources":["../../../../lib/ng-nest/ui/tooltip/tooltip.property.ts","../../../../lib/ng-nest/ui/tooltip/tooltip-portal.component.ts","../../../../lib/ng-nest/ui/tooltip/tooltip-portal.component.html","../../../../lib/ng-nest/ui/tooltip/tooltip.directive.ts","../../../../lib/ng-nest/ui/tooltip/tooltip.module.ts","../../../../lib/ng-nest/ui/tooltip/ng-nest-ui-tooltip.ts"],"sourcesContent":["import { XPropertyFunction, XToBoolean, XToNumber } from '@ng-nest/ui/core';\r\nimport { Directive, ElementRef, input, model } from '@angular/core';\r\nimport type { XPlacement, XBoolean, XTemplate, XNumber } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * Tooltip\r\n * @selector x-tooltip\r\n * @decorator directive\r\n */\r\nexport const XTooltipPrefix = 'x-tooltip';\r\nconst X_TOOLTIP_CONFIG_NAME = 'tooltip';\r\n\r\n/**\r\n * Tooltip Property\r\n */\r\n@Directive({ selector: `[${XTooltipPrefix}], ${XTooltipPrefix}` })\r\nexport class XTooltipProperty extends XPropertyFunction(X_TOOLTIP_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 内容\r\n * @en_US Content\r\n */\r\n readonly content = input<XTemplate>();\r\n /**\r\n * @zh_CN 显示位置\r\n * @en_US Display position\r\n */\r\n readonly placement = input<XPlacement>(this.config?.placement ?? 'top');\r\n /**\r\n * @zh_CN 显示/隐藏\r\n * @en_US Show/hide\r\n */\r\n readonly visible = model<boolean>(false);\r\n /**\r\n * @zh_CN 内部样式\r\n * @en_US panel class\r\n */\r\n readonly panelClass = input<string | string[]>();\r\n /**\r\n * @zh_CN 指定参考对象\r\n * @en_US specify reference object\r\n */\r\n readonly connectTo = input<ElementRef<HTMLElement> | HTMLElement>();\r\n /**\r\n * @zh_CN 背景颜色\r\n * @en_US Background color\r\n */\r\n readonly backgroundColor = input<string>();\r\n /**\r\n * @zh_CN 文字颜色\r\n * @en_US Text color\r\n */\r\n readonly color = input<string>();\r\n /**\r\n * @zh_CN 手动处理关闭事件\r\n * @en_US Manually handle the shutdown event\r\n */\r\n readonly manual = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 鼠标移入后延时多少才显示\r\n * @en_US How much is the mouse transfer after transfer\r\n */\r\n readonly mouseEnterDelay = input<number, XNumber>(150, { transform: XToNumber });\r\n /**\r\n * @zh_CN 鼠标移出后延时多少才隐藏\r\n * @en_US How much hidden is hidden after the mouse is removed\r\n */\r\n readonly mouseLeaveDelay = input<number, XNumber>(100, { transform: XToNumber });\r\n /**\r\n * @zh_CN 禁用显示\r\n * @en_US Disable display\r\n */\r\n readonly disabled = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n}\r\n\r\n/**\r\n * Tooltip Portal\r\n * @selector x-tooltip-portal\r\n * @decorator component\r\n */\r\nexport const XTooltipPortalPrefix = 'x-tooltip-portal';\r\n","import {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ElementRef,\r\n Renderer2,\r\n HostListener,\r\n HostBinding,\r\n inject,\r\n input,\r\n computed,\r\n viewChild,\r\n signal,\r\n output,\r\n DestroyRef\r\n} from '@angular/core';\r\nimport { XTooltipPortalPrefix } from './tooltip.property';\r\nimport { XPlacement, XFadeAnimation, XTemplate, XIsEmpty } from '@ng-nest/ui/core';\r\nimport { XOutletDirective } from '@ng-nest/ui/outlet';\r\nimport { NgClass } from '@angular/common';\r\n\r\n@Component({\r\n selector: `${XTooltipPortalPrefix}`,\r\n imports: [NgClass, XOutletDirective],\r\n templateUrl: './tooltip-portal.component.html',\r\n styleUrls: ['./tooltip-portal.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [XFadeAnimation]\r\n})\r\nexport class XTooltipPortalComponent {\r\n placement = input<XPlacement>();\r\n content = input<XTemplate>();\r\n box = input<DOMRect>();\r\n color = input<string>();\r\n backgroundColor = input<string>();\r\n hoverChanged = output<boolean>();\r\n arrowHidden = signal(true);\r\n destroy = signal(false);\r\n private destroyRef = inject(DestroyRef);\r\n\r\n constructor() {\r\n this.destroyRef.onDestroy(() => {\r\n this.destroy.set(true);\r\n });\r\n }\r\n\r\n @HostListener('mouseenter') mouseenter() {\r\n if (this.destroy()) return;\r\n this.hoverChanged.emit(true);\r\n }\r\n @HostListener('mouseleave') mouseleave() {\r\n if (this.destroy()) return;\r\n this.hoverChanged.emit(false);\r\n }\r\n\r\n @HostBinding('@x-fade-animation') animation = true;\r\n @HostListener('@x-fade-animation.done', ['$event']) done(event: { toState: any }) {\r\n if (this.destroy()) return;\r\n if (event.toState === true) {\r\n this.setArrow();\r\n this.arrowHidden.set(false);\r\n }\r\n }\r\n\r\n tooltipPortal = viewChild.required('tooltipPortal', { read: ElementRef<HTMLElement> });\r\n tooltipArrow = viewChild.required('tooltipArrow', { read: ElementRef<HTMLElement> });\r\n tooltipArrowAfter = viewChild.required('tooltipArrowAfter', { read: ElementRef<HTMLElement> });\r\n\r\n classMap = computed(() => ({\r\n [`${XTooltipPortalPrefix}-${this.placement()}`]: !XIsEmpty(this.placement())\r\n }));\r\n\r\n portalBox = computed(() => this.tooltipPortal().nativeElement.getBoundingClientRect());\r\n arrowBox = computed(() => this.tooltipArrow().nativeElement.getBoundingClientRect());\r\n private renderer = inject(Renderer2);\r\n\r\n setArrow() {\r\n const arrowBox = this.arrowBox();\r\n const portalBox = this.portalBox();\r\n const tooltipArrow = this.tooltipArrow().nativeElement;\r\n const tooltipArrowAfter = this.tooltipArrowAfter().nativeElement;\r\n const box = this.box()!;\r\n let offset = arrowBox.height / 2;\r\n if (portalBox.height > box.height && (this.includes('right-') || this.includes('left-'))) {\r\n if (this.includes('-start')) {\r\n this.renderer.setStyle(tooltipArrow, 'top', `${box.height / 2 - offset}px`);\r\n } else if (this.includes('-end')) {\r\n this.renderer.setStyle(tooltipArrow, 'bottom', `${box.height / 2 - offset}px`);\r\n }\r\n } else if (portalBox.width > box.width && (this.includes('top-') || this.includes('bottom-'))) {\r\n if (this.includes('-start')) {\r\n this.renderer.setStyle(tooltipArrow, 'left', `${box.width / 2 - offset}px`);\r\n } else if (this.includes('-end')) {\r\n this.renderer.setStyle(tooltipArrow, 'right', `${box.width / 2 - offset}px`);\r\n }\r\n }\r\n if (!this.backgroundColor()) return;\r\n const ptSplit = this.placement()?.split('-');\r\n if (ptSplit && ptSplit.length > 0) {\r\n this.renderer.setStyle(tooltipArrow, `border-${ptSplit[0]}-color`, this.backgroundColor());\r\n this.renderer.setStyle(tooltipArrowAfter, `border-${ptSplit[0]}-color`, this.backgroundColor());\r\n }\r\n }\r\n\r\n includes(arrow: string) {\r\n return this.placement()!.indexOf(arrow) >= 0;\r\n }\r\n}\r\n","<div #tooltipPortal class=\"x-tooltip-portal\" [ngClass]=\"classMap()\">\r\n <div class=\"x-tooltip-portal-inner\" [style.backgroundColor]=\"backgroundColor()\" [style.color]=\"color()\">\r\n <ng-container *xOutlet=\"content()\"><div [innerHTML]=\"content()\"></div></ng-container>\r\n </div>\r\n <div #tooltipArrow class=\"x-tooltip-portal-arrow\" [class.x-tooltip-portal-arrow-hidden]=\"arrowHidden()\">\r\n <div #tooltipArrowAfter class=\"x-tooltip-portal-arrow-after\"></div>\r\n </div>\r\n</div>\r\n","import {\r\n ElementRef,\r\n ViewContainerRef,\r\n Directive,\r\n HostListener,\r\n OnDestroy,\r\n HostBinding,\r\n inject,\r\n signal,\r\n ComponentRef,\r\n effect,\r\n SimpleChanges\r\n} from '@angular/core';\r\nimport { XPortalService, XPortalOverlayRef, XPortalConnectedPosition } from '@ng-nest/ui/portal';\r\nimport { XTooltipPortalComponent } from './tooltip-portal.component';\r\nimport { XTooltipPrefix, XTooltipProperty } from './tooltip.property';\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport {\r\n OverlayConfig,\r\n FlexibleConnectedPositionStrategy,\r\n ConnectedOverlayPositionChange,\r\n Overlay\r\n} from '@angular/cdk/overlay';\r\nimport { XIsChange, type XPlacement } from '@ng-nest/ui/core';\r\nimport { toObservable } from '@angular/core/rxjs-interop';\r\n\r\n@Directive({ selector: `[${XTooltipPrefix}], ${XTooltipPrefix}` })\r\nexport class XTooltipDirective extends XTooltipProperty implements OnDestroy {\r\n portal!: XPortalOverlayRef<XTooltipPortalComponent>;\r\n box = signal<DOMRect | null>(null);\r\n timeoutHide: any;\r\n timeoutShow: any;\r\n mouseover = signal(false);\r\n private unSubject = new Subject<void>();\r\n private realPlacement = signal<XPlacement | null>(null);\r\n private elementRef = inject(ElementRef);\r\n private portalService = inject(XPortalService);\r\n private viewContainerRef = inject(ViewContainerRef);\r\n private overlay = inject(Overlay);\r\n\r\n @HostBinding('class.x-tooltip-show') get _show() {\r\n return this.visible();\r\n }\r\n\r\n @HostListener('mouseenter') mouseenter() {\r\n this.mouseover.set(true);\r\n !this.disabled() && !this.manual() && this.show();\r\n }\r\n\r\n @HostListener('mouseleave') mouseleave() {\r\n this.mouseover.set(false);\r\n !this.disabled() && !this.manual() && this.hide();\r\n }\r\n\r\n portalComponent = signal<ComponentRef<XTooltipPortalComponent> | null>(null);\r\n visibleChanged = toObservable(this.visible);\r\n\r\n constructor() {\r\n super();\r\n effect(() => this.portalComponent()?.setInput('content', this.content()));\r\n effect(() => this.portalComponent()?.setInput('box', this.box()));\r\n effect(() => this.portalComponent()?.setInput('color', this.color()));\r\n effect(() => this.portalComponent()?.setInput('backgroundColor', this.backgroundColor()));\r\n effect(() => this.portalComponent()?.setInput('placement', this.realPlacement()));\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.unSubject.next();\r\n this.unSubject.complete();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n const { visible } = changes;\r\n XIsChange(visible) && this.setVisible();\r\n }\r\n\r\n setVisible() {\r\n if (this.visible()) {\r\n this.show(false);\r\n } else {\r\n this.hide(false);\r\n }\r\n }\r\n\r\n show(event = true) {\r\n if (this.timeoutHide) clearTimeout(this.timeoutHide);\r\n if (this.timeoutShow) clearTimeout(this.timeoutShow);\r\n if (!this.portal || (this.portal && !this.portal.overlayRef?.hasAttached())) {\r\n if ((event && this.mouseover()) || !event) {\r\n this.timeoutShow = setTimeout(() => {\r\n this.createPortal();\r\n this.visible.set(true);\r\n }, this.mouseEnterDelay());\r\n }\r\n }\r\n }\r\n\r\n hide(event = true) {\r\n if (this.timeoutHide) clearTimeout(this.timeoutHide);\r\n if (this.timeoutShow) clearTimeout(this.timeoutShow);\r\n if (this.portal?.overlayRef?.hasAttached() && !this.mouseover()) {\r\n if ((event && !this.mouseover()) || !event) {\r\n this.timeoutHide = setTimeout(() => {\r\n this.portal.overlayRef?.dispose();\r\n this.visible.set(false);\r\n }, this.mouseLeaveDelay());\r\n }\r\n }\r\n }\r\n\r\n createPortal() {\r\n const connectTo = this.connectTo();\r\n const config: OverlayConfig = {\r\n panelClass: this.panelClass(),\r\n backdropClass: '',\r\n positionStrategy: this.portalService.setPlacement({\r\n elementRef: connectTo\r\n ? connectTo instanceof ElementRef\r\n ? connectTo\r\n : new ElementRef(connectTo)\r\n : this.elementRef,\r\n placement: [this.placement(), 'top', 'bottom', 'left', 'right']\r\n }),\r\n scrollStrategy: this.overlay.scrollStrategies.reposition()\r\n };\r\n this.setPosition(config);\r\n this.portal = this.portalService.attach({\r\n content: XTooltipPortalComponent,\r\n viewContainerRef: this.viewContainerRef,\r\n overlayConfig: config\r\n });\r\n this.setInstance();\r\n }\r\n\r\n setPosition(config: OverlayConfig) {\r\n let position = config.positionStrategy as FlexibleConnectedPositionStrategy;\r\n position.positionChanges.pipe(takeUntil(this.unSubject)).subscribe((pos: ConnectedOverlayPositionChange) => {\r\n const place = XPortalConnectedPosition.get(pos.connectionPair) as XPlacement;\r\n if (place !== this.realPlacement()) {\r\n this.realPlacement.set(place);\r\n this.portal.overlayRef?.updatePosition();\r\n }\r\n });\r\n }\r\n\r\n setInstance() {\r\n let componentRef = this.portal?.componentRef;\r\n if (!componentRef) return;\r\n this.portalComponent.set(componentRef);\r\n this.realPlacement.set(this.placement());\r\n this.box.set(this.elementRef.nativeElement.getBoundingClientRect());\r\n const { hoverChanged } = componentRef.instance;\r\n hoverChanged.subscribe((hover: boolean) => {\r\n if (this.timeoutHide && hover) {\r\n clearTimeout(this.timeoutHide);\r\n } else {\r\n this.hide();\r\n }\r\n });\r\n }\r\n\r\n updatePortal() {\r\n this.portal.overlayRef?.updatePosition();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { XTooltipDirective } from './tooltip.directive';\r\n\r\n@NgModule({\r\n exports: [XTooltipDirective],\r\n imports: [XTooltipDirective]\r\n})\r\nexport class XTooltipModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ng-nest-ui-tooltip.mjs","sources":["../../../../lib/ng-nest/ui/tooltip/tooltip.property.ts","../../../../lib/ng-nest/ui/tooltip/tooltip-portal.component.ts","../../../../lib/ng-nest/ui/tooltip/tooltip-portal.component.html","../../../../lib/ng-nest/ui/tooltip/tooltip.directive.ts","../../../../lib/ng-nest/ui/tooltip/tooltip.module.ts","../../../../lib/ng-nest/ui/tooltip/ng-nest-ui-tooltip.ts"],"sourcesContent":["import { XPropertyFunction, XToBoolean, XToNumber } from '@ng-nest/ui/core';\r\nimport { Directive, ElementRef, input, model } from '@angular/core';\r\nimport type { XPlacement, XBoolean, XTemplate, XNumber } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * Tooltip\r\n * @selector x-tooltip\r\n * @decorator directive\r\n */\r\nexport const XTooltipPrefix = 'x-tooltip';\r\nconst X_TOOLTIP_CONFIG_NAME = 'tooltip';\r\n\r\n/**\r\n * Tooltip Property\r\n */\r\n@Directive({ selector: `[${XTooltipPrefix}], ${XTooltipPrefix}` })\r\nexport class XTooltipProperty extends XPropertyFunction(X_TOOLTIP_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 内容\r\n * @en_US Content\r\n */\r\n readonly content = input<XTemplate>();\r\n /**\r\n * @zh_CN 显示位置\r\n * @en_US Display position\r\n */\r\n readonly placement = input<XPlacement>(this.config?.placement ?? 'top');\r\n /**\r\n * @zh_CN 显示/隐藏\r\n * @en_US Show/hide\r\n */\r\n readonly visible = model<boolean>(false);\r\n /**\r\n * @zh_CN 内部样式\r\n * @en_US panel class\r\n */\r\n readonly panelClass = input<string | string[]>();\r\n /**\r\n * @zh_CN 指定参考对象\r\n * @en_US specify reference object\r\n */\r\n readonly connectTo = input<ElementRef<HTMLElement> | HTMLElement>();\r\n /**\r\n * @zh_CN 背景颜色\r\n * @en_US Background color\r\n */\r\n readonly backgroundColor = input<string>();\r\n /**\r\n * @zh_CN 文字颜色\r\n * @en_US Text color\r\n */\r\n readonly color = input<string>();\r\n /**\r\n * @zh_CN 手动处理关闭事件\r\n * @en_US Manually handle the shutdown event\r\n */\r\n readonly manual = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 鼠标移入后延时多少才显示\r\n * @en_US How much is the mouse transfer after transfer\r\n */\r\n readonly mouseEnterDelay = input<number, XNumber>(150, { transform: XToNumber });\r\n /**\r\n * @zh_CN 鼠标移出后延时多少才隐藏\r\n * @en_US How much hidden is hidden after the mouse is removed\r\n */\r\n readonly mouseLeaveDelay = input<number, XNumber>(100, { transform: XToNumber });\r\n /**\r\n * @zh_CN 禁用显示\r\n * @en_US Disable display\r\n */\r\n readonly disabled = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n}\r\n\r\n/**\r\n * Tooltip Portal\r\n * @selector x-tooltip-portal\r\n * @decorator component\r\n */\r\nexport const XTooltipPortalPrefix = 'x-tooltip-portal';\r\n","import {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ElementRef,\r\n Renderer2,\r\n HostListener,\r\n HostBinding,\r\n inject,\r\n input,\r\n computed,\r\n viewChild,\r\n signal,\r\n output,\r\n DestroyRef\r\n} from '@angular/core';\r\nimport { XTooltipPortalPrefix } from './tooltip.property';\r\nimport { XPlacement, XFadeAnimation, XTemplate, XIsEmpty } from '@ng-nest/ui/core';\r\nimport { XOutletDirective } from '@ng-nest/ui/outlet';\r\nimport { NgClass } from '@angular/common';\r\n\r\n@Component({\r\n selector: `${XTooltipPortalPrefix}`,\r\n imports: [NgClass, XOutletDirective],\r\n templateUrl: './tooltip-portal.component.html',\r\n styleUrls: ['./tooltip-portal.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [XFadeAnimation]\r\n})\r\nexport class XTooltipPortalComponent {\r\n placement = input<XPlacement>();\r\n content = input<XTemplate>();\r\n box = input<DOMRect>();\r\n color = input<string>();\r\n backgroundColor = input<string>();\r\n hoverChanged = output<boolean>();\r\n arrowHidden = signal(true);\r\n destroy = signal(false);\r\n private destroyRef = inject(DestroyRef);\r\n\r\n constructor() {\r\n this.destroyRef.onDestroy(() => {\r\n this.destroy.set(true);\r\n });\r\n }\r\n\r\n @HostListener('mouseenter') mouseenter() {\r\n if (this.destroy()) return;\r\n this.hoverChanged.emit(true);\r\n }\r\n @HostListener('mouseleave') mouseleave() {\r\n if (this.destroy()) return;\r\n this.hoverChanged.emit(false);\r\n }\r\n\r\n @HostBinding('@x-fade-animation') animation = true;\r\n @HostListener('@x-fade-animation.done', ['$event']) done(event: { toState: any }) {\r\n if (this.destroy()) return;\r\n if (event.toState === true) {\r\n this.setArrow();\r\n this.arrowHidden.set(false);\r\n }\r\n }\r\n\r\n tooltipPortal = viewChild.required('tooltipPortal', { read: ElementRef<HTMLElement> });\r\n tooltipArrow = viewChild.required('tooltipArrow', { read: ElementRef<HTMLElement> });\r\n tooltipArrowAfter = viewChild.required('tooltipArrowAfter', { read: ElementRef<HTMLElement> });\r\n\r\n classMap = computed(() => ({\r\n [`${XTooltipPortalPrefix}-${this.placement()}`]: !XIsEmpty(this.placement())\r\n }));\r\n\r\n portalBox = computed(() => this.tooltipPortal().nativeElement.getBoundingClientRect());\r\n arrowBox = computed(() => this.tooltipArrow().nativeElement.getBoundingClientRect());\r\n private renderer = inject(Renderer2);\r\n\r\n setArrow() {\r\n const arrowBox = this.arrowBox();\r\n const portalBox = this.portalBox();\r\n const tooltipArrow = this.tooltipArrow().nativeElement;\r\n const tooltipArrowAfter = this.tooltipArrowAfter().nativeElement;\r\n const box = this.box()!;\r\n let offset = arrowBox.height / 2;\r\n if (portalBox.height > box.height && (this.includes('right-') || this.includes('left-'))) {\r\n if (this.includes('-start')) {\r\n this.renderer.setStyle(tooltipArrow, 'top', `${box.height / 2 - offset}px`);\r\n } else if (this.includes('-end')) {\r\n this.renderer.setStyle(tooltipArrow, 'bottom', `${box.height / 2 - offset}px`);\r\n }\r\n } else if (portalBox.width > box.width && (this.includes('top-') || this.includes('bottom-'))) {\r\n if (this.includes('-start')) {\r\n this.renderer.setStyle(tooltipArrow, 'left', `${box.width / 2 - offset}px`);\r\n } else if (this.includes('-end')) {\r\n this.renderer.setStyle(tooltipArrow, 'right', `${box.width / 2 - offset}px`);\r\n }\r\n }\r\n if (!this.backgroundColor()) return;\r\n const ptSplit = this.placement()?.split('-');\r\n if (ptSplit && ptSplit.length > 0) {\r\n this.renderer.setStyle(tooltipArrow, `border-${ptSplit[0]}-color`, this.backgroundColor());\r\n this.renderer.setStyle(tooltipArrowAfter, `border-${ptSplit[0]}-color`, this.backgroundColor());\r\n }\r\n }\r\n\r\n includes(arrow: string) {\r\n return this.placement()!.indexOf(arrow) >= 0;\r\n }\r\n}\r\n","<div #tooltipPortal class=\"x-tooltip-portal\" [ngClass]=\"classMap()\">\r\n <div class=\"x-tooltip-portal-inner\" [style.backgroundColor]=\"backgroundColor()\" [style.color]=\"color()\">\r\n <ng-container *xOutlet=\"content()\"><div [innerHTML]=\"content()\"></div></ng-container>\r\n </div>\r\n <div #tooltipArrow class=\"x-tooltip-portal-arrow\" [class.x-tooltip-portal-arrow-hidden]=\"arrowHidden()\">\r\n <div #tooltipArrowAfter class=\"x-tooltip-portal-arrow-after\"></div>\r\n </div>\r\n</div>\r\n","import {\r\n ElementRef,\r\n ViewContainerRef,\r\n Directive,\r\n HostListener,\r\n OnDestroy,\r\n HostBinding,\r\n inject,\r\n signal,\r\n ComponentRef,\r\n effect,\r\n SimpleChanges\r\n} from '@angular/core';\r\nimport { XPortalService, XPortalOverlayRef, XPortalConnectedPosition } from '@ng-nest/ui/portal';\r\nimport { XTooltipPortalComponent } from './tooltip-portal.component';\r\nimport { XTooltipPrefix, XTooltipProperty } from './tooltip.property';\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport {\r\n OverlayConfig,\r\n FlexibleConnectedPositionStrategy,\r\n ConnectedOverlayPositionChange,\r\n Overlay\r\n} from '@angular/cdk/overlay';\r\nimport { XIsChange, type XPlacement } from '@ng-nest/ui/core';\r\nimport { toObservable } from '@angular/core/rxjs-interop';\r\n\r\n@Directive({ selector: `[${XTooltipPrefix}], ${XTooltipPrefix}` })\r\nexport class XTooltipDirective extends XTooltipProperty implements OnDestroy {\r\n portal!: XPortalOverlayRef<XTooltipPortalComponent>;\r\n box = signal<DOMRect | null>(null);\r\n timeoutHide: any;\r\n timeoutShow: any;\r\n mouseover = signal(false);\r\n private unSubject = new Subject<void>();\r\n private realPlacement = signal<XPlacement | null>(null);\r\n private elementRef = inject(ElementRef);\r\n private portalService = inject(XPortalService);\r\n private viewContainerRef = inject(ViewContainerRef);\r\n private overlay = inject(Overlay);\r\n\r\n @HostBinding('class.x-tooltip-show') get _show() {\r\n return this.visible();\r\n }\r\n\r\n @HostListener('mouseenter') mouseenter() {\r\n this.mouseover.set(true);\r\n !this.disabled() && !this.manual() && this.show();\r\n }\r\n\r\n @HostListener('mouseleave') mouseleave() {\r\n this.mouseover.set(false);\r\n !this.disabled() && !this.manual() && this.hide();\r\n }\r\n\r\n portalComponent = signal<ComponentRef<XTooltipPortalComponent> | null>(null);\r\n visibleChanged = toObservable(this.visible);\r\n\r\n constructor() {\r\n super();\r\n effect(() => this.portalComponent()?.setInput('content', this.content()));\r\n effect(() => this.portalComponent()?.setInput('box', this.box()));\r\n effect(() => this.portalComponent()?.setInput('color', this.color()));\r\n effect(() => this.portalComponent()?.setInput('backgroundColor', this.backgroundColor()));\r\n effect(() => this.portalComponent()?.setInput('placement', this.realPlacement()));\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.unSubject.next();\r\n this.unSubject.complete();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n const { visible } = changes;\r\n XIsChange(visible) && this.setVisible();\r\n }\r\n\r\n setVisible() {\r\n if (this.visible()) {\r\n this.show(false);\r\n } else {\r\n this.hide(false);\r\n }\r\n }\r\n\r\n show(event = true) {\r\n if (this.timeoutHide) clearTimeout(this.timeoutHide);\r\n if (this.timeoutShow) clearTimeout(this.timeoutShow);\r\n if (!this.portal || (this.portal && !this.portal.overlayRef?.hasAttached())) {\r\n if ((event && this.mouseover()) || !event) {\r\n this.timeoutShow = setTimeout(() => {\r\n this.createPortal();\r\n this.visible.set(true);\r\n }, this.mouseEnterDelay());\r\n }\r\n }\r\n }\r\n\r\n hide(event = true) {\r\n if (this.timeoutHide) clearTimeout(this.timeoutHide);\r\n if (this.timeoutShow) clearTimeout(this.timeoutShow);\r\n if (this.portal?.overlayRef?.hasAttached() && !this.mouseover()) {\r\n if ((event && !this.mouseover()) || !event) {\r\n this.timeoutHide = setTimeout(() => {\r\n this.portal.overlayRef?.dispose();\r\n this.visible.set(false);\r\n }, this.mouseLeaveDelay());\r\n }\r\n }\r\n }\r\n\r\n createPortal() {\r\n const connectTo = this.connectTo();\r\n const config: OverlayConfig = {\r\n panelClass: this.panelClass(),\r\n backdropClass: '',\r\n positionStrategy: this.portalService.setPlacement({\r\n elementRef: connectTo\r\n ? connectTo instanceof ElementRef\r\n ? connectTo\r\n : new ElementRef(connectTo)\r\n : this.elementRef,\r\n placement: [this.placement(), 'top', 'bottom', 'left', 'right']\r\n }),\r\n scrollStrategy: this.overlay.scrollStrategies.reposition()\r\n };\r\n this.setPosition(config);\r\n this.portal = this.portalService.attach({\r\n content: XTooltipPortalComponent,\r\n viewContainerRef: this.viewContainerRef,\r\n overlayConfig: config\r\n });\r\n this.setInstance();\r\n }\r\n\r\n setPosition(config: OverlayConfig) {\r\n let position = config.positionStrategy as FlexibleConnectedPositionStrategy;\r\n position.positionChanges.pipe(takeUntil(this.unSubject)).subscribe((pos: ConnectedOverlayPositionChange) => {\r\n const place = XPortalConnectedPosition.get(pos.connectionPair) as XPlacement;\r\n if (place !== this.realPlacement()) {\r\n this.realPlacement.set(place);\r\n this.portal.overlayRef?.updatePosition();\r\n }\r\n });\r\n }\r\n\r\n setInstance() {\r\n let componentRef = this.portal?.componentRef;\r\n if (!componentRef) return;\r\n this.portalComponent.set(componentRef);\r\n this.realPlacement.set(this.placement());\r\n this.box.set(this.elementRef.nativeElement.getBoundingClientRect());\r\n const { hoverChanged } = componentRef.instance;\r\n hoverChanged.subscribe((hover: boolean) => {\r\n if (this.timeoutHide && hover) {\r\n clearTimeout(this.timeoutHide);\r\n } else {\r\n this.hide();\r\n }\r\n });\r\n }\r\n\r\n updatePortal() {\r\n this.portal.overlayRef?.updatePosition();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { XTooltipDirective } from './tooltip.directive';\r\n\r\n@NgModule({\r\n exports: [XTooltipDirective],\r\n imports: [XTooltipDirective]\r\n})\r\nexport class XTooltipModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}