@ng-nest/ui 21.0.13 → 22.0.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 (204) hide show
  1. package/fesm2022/ng-nest-ui-affix.mjs +12 -12
  2. package/fesm2022/ng-nest-ui-affix.mjs.map +1 -1
  3. package/fesm2022/ng-nest-ui-alert.mjs +46 -34
  4. package/fesm2022/ng-nest-ui-alert.mjs.map +1 -1
  5. package/fesm2022/ng-nest-ui-anchor.mjs +43 -31
  6. package/fesm2022/ng-nest-ui-anchor.mjs.map +1 -1
  7. package/fesm2022/ng-nest-ui-api.mjs +7 -7
  8. package/fesm2022/ng-nest-ui-attachments.mjs +74 -48
  9. package/fesm2022/ng-nest-ui-attachments.mjs.map +1 -1
  10. package/fesm2022/ng-nest-ui-auto-complete.mjs +114 -70
  11. package/fesm2022/ng-nest-ui-auto-complete.mjs.map +1 -1
  12. package/fesm2022/ng-nest-ui-avatar.mjs +47 -32
  13. package/fesm2022/ng-nest-ui-avatar.mjs.map +1 -1
  14. package/fesm2022/ng-nest-ui-back-top.mjs +23 -18
  15. package/fesm2022/ng-nest-ui-back-top.mjs.map +1 -1
  16. package/fesm2022/ng-nest-ui-badge.mjs +30 -23
  17. package/fesm2022/ng-nest-ui-badge.mjs.map +1 -1
  18. package/fesm2022/ng-nest-ui-base-form.mjs +75 -44
  19. package/fesm2022/ng-nest-ui-base-form.mjs.map +1 -1
  20. package/fesm2022/ng-nest-ui-bubble.mjs +76 -48
  21. package/fesm2022/ng-nest-ui-bubble.mjs.map +1 -1
  22. package/fesm2022/ng-nest-ui-button.mjs +53 -42
  23. package/fesm2022/ng-nest-ui-button.mjs.map +1 -1
  24. package/fesm2022/ng-nest-ui-calendar.mjs +30 -20
  25. package/fesm2022/ng-nest-ui-calendar.mjs.map +1 -1
  26. package/fesm2022/ng-nest-ui-card.mjs +21 -16
  27. package/fesm2022/ng-nest-ui-card.mjs.map +1 -1
  28. package/fesm2022/ng-nest-ui-carousel.mjs +68 -46
  29. package/fesm2022/ng-nest-ui-carousel.mjs.map +1 -1
  30. package/fesm2022/ng-nest-ui-cascade.mjs +121 -73
  31. package/fesm2022/ng-nest-ui-cascade.mjs.map +1 -1
  32. package/fesm2022/ng-nest-ui-checkbox.mjs +54 -38
  33. package/fesm2022/ng-nest-ui-checkbox.mjs.map +1 -1
  34. package/fesm2022/ng-nest-ui-collapse.mjs +38 -30
  35. package/fesm2022/ng-nest-ui-collapse.mjs.map +1 -1
  36. package/fesm2022/ng-nest-ui-color-picker.mjs +119 -72
  37. package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -1
  38. package/fesm2022/ng-nest-ui-color.mjs +22 -16
  39. package/fesm2022/ng-nest-ui-color.mjs.map +1 -1
  40. package/fesm2022/ng-nest-ui-comment.mjs +23 -21
  41. package/fesm2022/ng-nest-ui-comment.mjs.map +1 -1
  42. package/fesm2022/ng-nest-ui-container.mjs +40 -37
  43. package/fesm2022/ng-nest-ui-container.mjs.map +1 -1
  44. package/fesm2022/ng-nest-ui-contextmenu.mjs +71 -45
  45. package/fesm2022/ng-nest-ui-contextmenu.mjs.map +1 -1
  46. package/fesm2022/ng-nest-ui-core.mjs +24 -21
  47. package/fesm2022/ng-nest-ui-core.mjs.map +1 -1
  48. package/fesm2022/ng-nest-ui-coversations.mjs +25 -18
  49. package/fesm2022/ng-nest-ui-coversations.mjs.map +1 -1
  50. package/fesm2022/ng-nest-ui-crumb.mjs +15 -13
  51. package/fesm2022/ng-nest-ui-crumb.mjs.map +1 -1
  52. package/fesm2022/ng-nest-ui-date-picker.mjs +425 -256
  53. package/fesm2022/ng-nest-ui-date-picker.mjs.map +1 -1
  54. package/fesm2022/ng-nest-ui-description.mjs +42 -31
  55. package/fesm2022/ng-nest-ui-description.mjs.map +1 -1
  56. package/fesm2022/ng-nest-ui-dialog.mjs +106 -82
  57. package/fesm2022/ng-nest-ui-dialog.mjs.map +1 -1
  58. package/fesm2022/ng-nest-ui-divider.mjs +24 -17
  59. package/fesm2022/ng-nest-ui-divider.mjs.map +1 -1
  60. package/fesm2022/ng-nest-ui-doc.mjs +7 -7
  61. package/fesm2022/ng-nest-ui-drag.mjs +10 -10
  62. package/fesm2022/ng-nest-ui-drawer.mjs +52 -43
  63. package/fesm2022/ng-nest-ui-drawer.mjs.map +1 -1
  64. package/fesm2022/ng-nest-ui-dropdown.mjs +94 -58
  65. package/fesm2022/ng-nest-ui-dropdown.mjs.map +1 -1
  66. package/fesm2022/ng-nest-ui-empty.mjs +14 -12
  67. package/fesm2022/ng-nest-ui-empty.mjs.map +1 -1
  68. package/fesm2022/ng-nest-ui-examples.mjs +7 -7
  69. package/fesm2022/ng-nest-ui-find.mjs +111 -71
  70. package/fesm2022/ng-nest-ui-find.mjs.map +1 -1
  71. package/fesm2022/ng-nest-ui-form.mjs +45 -33
  72. package/fesm2022/ng-nest-ui-form.mjs.map +1 -1
  73. package/fesm2022/ng-nest-ui-highlight.mjs +26 -20
  74. package/fesm2022/ng-nest-ui-highlight.mjs.map +1 -1
  75. package/fesm2022/ng-nest-ui-i18n.mjs +16 -15
  76. package/fesm2022/ng-nest-ui-i18n.mjs.map +1 -1
  77. package/fesm2022/ng-nest-ui-icon.mjs +28 -21
  78. package/fesm2022/ng-nest-ui-icon.mjs.map +1 -1
  79. package/fesm2022/ng-nest-ui-image.mjs +57 -51
  80. package/fesm2022/ng-nest-ui-image.mjs.map +1 -1
  81. package/fesm2022/ng-nest-ui-inner.mjs +11 -11
  82. package/fesm2022/ng-nest-ui-inner.mjs.map +1 -1
  83. package/fesm2022/ng-nest-ui-input-number.mjs +63 -42
  84. package/fesm2022/ng-nest-ui-input-number.mjs.map +1 -1
  85. package/fesm2022/ng-nest-ui-input.mjs +130 -85
  86. package/fesm2022/ng-nest-ui-input.mjs.map +1 -1
  87. package/fesm2022/ng-nest-ui-keyword.mjs +19 -15
  88. package/fesm2022/ng-nest-ui-keyword.mjs.map +1 -1
  89. package/fesm2022/ng-nest-ui-layout.mjs +37 -31
  90. package/fesm2022/ng-nest-ui-layout.mjs.map +1 -1
  91. package/fesm2022/ng-nest-ui-link.mjs +23 -18
  92. package/fesm2022/ng-nest-ui-link.mjs.map +1 -1
  93. package/fesm2022/ng-nest-ui-list.mjs +137 -89
  94. package/fesm2022/ng-nest-ui-list.mjs.map +1 -1
  95. package/fesm2022/ng-nest-ui-loading.mjs +36 -25
  96. package/fesm2022/ng-nest-ui-loading.mjs.map +1 -1
  97. package/fesm2022/ng-nest-ui-menu.mjs +68 -45
  98. package/fesm2022/ng-nest-ui-menu.mjs.map +1 -1
  99. package/fesm2022/ng-nest-ui-message-box.mjs +10 -10
  100. package/fesm2022/ng-nest-ui-message.mjs +10 -10
  101. package/fesm2022/ng-nest-ui-notification.mjs +10 -10
  102. package/fesm2022/ng-nest-ui-outlet.mjs +11 -9
  103. package/fesm2022/ng-nest-ui-outlet.mjs.map +1 -1
  104. package/fesm2022/ng-nest-ui-page-header.mjs +20 -15
  105. package/fesm2022/ng-nest-ui-page-header.mjs.map +1 -1
  106. package/fesm2022/ng-nest-ui-pagination.mjs +69 -48
  107. package/fesm2022/ng-nest-ui-pagination.mjs.map +1 -1
  108. package/fesm2022/ng-nest-ui-pattern.mjs +7 -7
  109. package/fesm2022/ng-nest-ui-popconfirm.mjs +40 -27
  110. package/fesm2022/ng-nest-ui-popconfirm.mjs.map +1 -1
  111. package/fesm2022/ng-nest-ui-popover.mjs +57 -38
  112. package/fesm2022/ng-nest-ui-popover.mjs.map +1 -1
  113. package/fesm2022/ng-nest-ui-portal.mjs +7 -7
  114. package/fesm2022/ng-nest-ui-progress.mjs +60 -41
  115. package/fesm2022/ng-nest-ui-progress.mjs.map +1 -1
  116. package/fesm2022/ng-nest-ui-prompts.mjs +18 -15
  117. package/fesm2022/ng-nest-ui-prompts.mjs.map +1 -1
  118. package/fesm2022/ng-nest-ui-radio.mjs +50 -35
  119. package/fesm2022/ng-nest-ui-radio.mjs.map +1 -1
  120. package/fesm2022/ng-nest-ui-rate.mjs +43 -29
  121. package/fesm2022/ng-nest-ui-rate.mjs.map +1 -1
  122. package/fesm2022/ng-nest-ui-resizable.mjs +18 -16
  123. package/fesm2022/ng-nest-ui-resizable.mjs.map +1 -1
  124. package/fesm2022/ng-nest-ui-result.mjs +22 -16
  125. package/fesm2022/ng-nest-ui-result.mjs.map +1 -1
  126. package/fesm2022/ng-nest-ui-ripple.mjs +14 -13
  127. package/fesm2022/ng-nest-ui-ripple.mjs.map +1 -1
  128. package/fesm2022/ng-nest-ui-scrollable.mjs +41 -24
  129. package/fesm2022/ng-nest-ui-scrollable.mjs.map +1 -1
  130. package/fesm2022/ng-nest-ui-select.mjs +197 -118
  131. package/fesm2022/ng-nest-ui-select.mjs.map +1 -1
  132. package/fesm2022/ng-nest-ui-sender.mjs +43 -31
  133. package/fesm2022/ng-nest-ui-sender.mjs.map +1 -1
  134. package/fesm2022/ng-nest-ui-skeleton.mjs +17 -15
  135. package/fesm2022/ng-nest-ui-skeleton.mjs.map +1 -1
  136. package/fesm2022/ng-nest-ui-slider-select.mjs +85 -53
  137. package/fesm2022/ng-nest-ui-slider-select.mjs.map +1 -1
  138. package/fesm2022/ng-nest-ui-slider.mjs +58 -37
  139. package/fesm2022/ng-nest-ui-slider.mjs.map +1 -1
  140. package/fesm2022/ng-nest-ui-splitter.mjs +32 -24
  141. package/fesm2022/ng-nest-ui-splitter.mjs.map +1 -1
  142. package/fesm2022/ng-nest-ui-statistic.mjs +44 -30
  143. package/fesm2022/ng-nest-ui-statistic.mjs.map +1 -1
  144. package/fesm2022/ng-nest-ui-steps.mjs +30 -22
  145. package/fesm2022/ng-nest-ui-steps.mjs.map +1 -1
  146. package/fesm2022/ng-nest-ui-suggestion.mjs +23 -20
  147. package/fesm2022/ng-nest-ui-suggestion.mjs.map +1 -1
  148. package/fesm2022/ng-nest-ui-switch.mjs +35 -25
  149. package/fesm2022/ng-nest-ui-switch.mjs.map +1 -1
  150. package/fesm2022/ng-nest-ui-table-view.mjs +78 -69
  151. package/fesm2022/ng-nest-ui-table-view.mjs.map +1 -1
  152. package/fesm2022/ng-nest-ui-table.mjs +320 -205
  153. package/fesm2022/ng-nest-ui-table.mjs.map +1 -1
  154. package/fesm2022/ng-nest-ui-tabs.mjs +74 -56
  155. package/fesm2022/ng-nest-ui-tabs.mjs.map +1 -1
  156. package/fesm2022/ng-nest-ui-tag.mjs +30 -23
  157. package/fesm2022/ng-nest-ui-tag.mjs.map +1 -1
  158. package/fesm2022/ng-nest-ui-text-retract.mjs +19 -15
  159. package/fesm2022/ng-nest-ui-text-retract.mjs.map +1 -1
  160. package/fesm2022/ng-nest-ui-textarea.mjs +69 -44
  161. package/fesm2022/ng-nest-ui-textarea.mjs.map +1 -1
  162. package/fesm2022/ng-nest-ui-theme.mjs +34 -23
  163. package/fesm2022/ng-nest-ui-theme.mjs.map +1 -1
  164. package/fesm2022/ng-nest-ui-thought-chain.mjs +26 -19
  165. package/fesm2022/ng-nest-ui-thought-chain.mjs.map +1 -1
  166. package/fesm2022/ng-nest-ui-time-ago.mjs +7 -7
  167. package/fesm2022/ng-nest-ui-time-picker.mjs +164 -96
  168. package/fesm2022/ng-nest-ui-time-picker.mjs.map +1 -1
  169. package/fesm2022/ng-nest-ui-time-range.mjs +7 -7
  170. package/fesm2022/ng-nest-ui-timeline.mjs +26 -19
  171. package/fesm2022/ng-nest-ui-timeline.mjs.map +1 -1
  172. package/fesm2022/ng-nest-ui-tooltip.mjs +53 -35
  173. package/fesm2022/ng-nest-ui-tooltip.mjs.map +1 -1
  174. package/fesm2022/ng-nest-ui-transfer.mjs +66 -40
  175. package/fesm2022/ng-nest-ui-transfer.mjs.map +1 -1
  176. package/fesm2022/ng-nest-ui-tree-file.mjs +39 -28
  177. package/fesm2022/ng-nest-ui-tree-file.mjs.map +1 -1
  178. package/fesm2022/ng-nest-ui-tree-select.mjs +186 -111
  179. package/fesm2022/ng-nest-ui-tree-select.mjs.map +1 -1
  180. package/fesm2022/ng-nest-ui-tree.mjs +166 -105
  181. package/fesm2022/ng-nest-ui-tree.mjs.map +1 -1
  182. package/fesm2022/ng-nest-ui-typography.mjs +16 -13
  183. package/fesm2022/ng-nest-ui-typography.mjs.map +1 -1
  184. package/fesm2022/ng-nest-ui-upload.mjs +81 -53
  185. package/fesm2022/ng-nest-ui-upload.mjs.map +1 -1
  186. package/fesm2022/ng-nest-ui-watermark.mjs +45 -35
  187. package/fesm2022/ng-nest-ui-watermark.mjs.map +1 -1
  188. package/fesm2022/ng-nest-ui-welcome.mjs +22 -16
  189. package/fesm2022/ng-nest-ui-welcome.mjs.map +1 -1
  190. package/package.json +3 -2
  191. package/types/ng-nest-ui-base-form.d.ts +3 -3
  192. package/types/ng-nest-ui-carousel.d.ts +1 -1
  193. package/types/ng-nest-ui-container.d.ts +1 -1
  194. package/types/ng-nest-ui-core.d.ts +1 -1
  195. package/types/ng-nest-ui-dialog.d.ts +1 -1
  196. package/types/ng-nest-ui-drawer.d.ts +1 -1
  197. package/types/ng-nest-ui-form.d.ts +12 -12
  198. package/types/ng-nest-ui-layout.d.ts +1 -1
  199. package/types/ng-nest-ui-list.d.ts +1 -1
  200. package/types/ng-nest-ui-portal.d.ts +3 -3
  201. package/types/ng-nest-ui-table-view.d.ts +1 -1
  202. package/types/ng-nest-ui-table.d.ts +1 -1
  203. package/types/ng-nest-ui-tabs.d.ts +1 -1
  204. package/types/ng-nest-ui-tree.d.ts +1 -1
@@ -28,12 +28,12 @@ class XCommentProperty extends XPropertyFunction(X_COMMENT_CONFIG_NAME) {
28
28
  * @zh_CN 评论数据
29
29
  * @en_US Comment data
30
30
  */
31
- this.data = input([], { ...(ngDevMode ? { debugName: "data" } : {}), transform: XToDataArray });
31
+ this.data = input([], { ...(ngDevMode ? { debugName: "data" } : /* istanbul ignore next */ {}), transform: XToDataArray });
32
32
  /**
33
33
  * @zh_CN 评论最大字数
34
34
  * @en_US Maximum number of comments
35
35
  */
36
- this.contentMax = input(this.config?.contentMax ?? 512, { ...(ngDevMode ? { debugName: "contentMax" } : {}), transform: XToNumber });
36
+ this.contentMax = input(this.config?.contentMax ?? 512, { ...(ngDevMode ? { debugName: "contentMax" } : /* istanbul ignore next */ {}), transform: XToNumber });
37
37
  /**
38
38
  * @zh_CN 点赞的事件
39
39
  * @en_US Like events
@@ -60,10 +60,10 @@ class XCommentProperty extends XPropertyFunction(X_COMMENT_CONFIG_NAME) {
60
60
  */
61
61
  this.moreClick = output();
62
62
  }
63
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XCommentProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
64
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.1", type: XCommentProperty, isStandalone: true, selector: "x-comment-property", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, contentMax: { classPropertyName: "contentMax", publicName: "contentMax", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { likeClick: "likeClick", commentClick: "commentClick", replyClick: "replyClick", sureClick: "sureClick", moreClick: "moreClick" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
63
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XCommentProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
64
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.1", type: XCommentProperty, isStandalone: true, selector: "x-comment-property", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, contentMax: { classPropertyName: "contentMax", publicName: "contentMax", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { likeClick: "likeClick", commentClick: "commentClick", replyClick: "replyClick", sureClick: "sureClick", moreClick: "moreClick" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
65
65
  }
66
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XCommentProperty, decorators: [{
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XCommentProperty, decorators: [{
67
67
  type: Component,
68
68
  args: [{ selector: `${XCommentPrefix}-property`, template: '' }]
69
69
  }], propDecorators: { data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: false }] }], contentMax: [{ type: i0.Input, args: [{ isSignal: true, alias: "contentMax", required: false }] }], likeClick: [{ type: i0.Output, args: ["likeClick"] }], commentClick: [{ type: i0.Output, args: ["commentClick"] }], replyClick: [{ type: i0.Output, args: ["replyClick"] }], sureClick: [{ type: i0.Output, args: ["sureClick"] }], moreClick: [{ type: i0.Output, args: ["moreClick"] }] } });
@@ -83,17 +83,17 @@ class XCommentReplyProperty extends XPropertyFunction(X_COMMENT_CONFIG_NAME) {
83
83
  * @zh_CN 回复的最大字数
84
84
  * @en_US Maximum number of words to reply
85
85
  */
86
- this.maxlength = input(this.config?.maxlength ?? 512, { ...(ngDevMode ? { debugName: "maxlength" } : {}), transform: XToNumber });
86
+ this.maxlength = input(this.config?.maxlength ?? 512, { ...(ngDevMode ? { debugName: "maxlength" } : /* istanbul ignore next */ {}), transform: XToNumber });
87
87
  /**
88
88
  * @zh_CN 回复确认的事件
89
89
  * @en_US Reply to confirmed event
90
90
  */
91
91
  this.sureClick = output();
92
92
  }
93
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XCommentReplyProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
94
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.1", type: XCommentReplyProperty, isStandalone: true, selector: "x-comment-reply-property", inputs: { maxlength: { classPropertyName: "maxlength", publicName: "maxlength", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { sureClick: "sureClick" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
93
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XCommentReplyProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
94
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.1", type: XCommentReplyProperty, isStandalone: true, selector: "x-comment-reply-property", inputs: { maxlength: { classPropertyName: "maxlength", publicName: "maxlength", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { sureClick: "sureClick" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
95
95
  }
96
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XCommentReplyProperty, decorators: [{
96
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XCommentReplyProperty, decorators: [{
97
97
  type: Component,
98
98
  args: [{ selector: `${XCommentReplyPrefix}-property`, template: '' }]
99
99
  }], propDecorators: { maxlength: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxlength", required: false }] }], sureClick: [{ type: i0.Output, args: ["sureClick"] }] } });
@@ -101,15 +101,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
101
101
  class XCommentReplyComponent extends XCommentReplyProperty {
102
102
  constructor() {
103
103
  super(...arguments);
104
- this.inputValue = signal('', ...(ngDevMode ? [{ debugName: "inputValue" }] : []));
104
+ this.inputValue = signal('', /* @ts-ignore */
105
+ ...(ngDevMode ? [{ debugName: "inputValue" }] : /* istanbul ignore next */ []));
105
106
  }
106
107
  sureOnClick() {
107
108
  this.sureClick.emit(this.inputValue());
108
109
  }
109
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XCommentReplyComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
110
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.1", type: XCommentReplyComponent, isStandalone: true, selector: "x-comment-reply", usesInheritance: true, ngImport: i0, template: "<div #commentReply class=\"x-comment-reply\">\r\n <x-input\r\n class=\"x-comment-reply-input\"\r\n [placeholder]=\"'comment.placeholder' | xI18n\"\r\n [maxlength]=\"maxlength()\"\r\n [(ngModel)]=\"inputValue\"\r\n ></x-input>\r\n <div class=\"x-comment-reply-buttons\">\r\n <x-button class=\"x-comment-sure-button\" type=\"primary\" flat (click)=\"sureOnClick()\">{{\r\n 'comment.sure' | xI18n\r\n }}</x-button>\r\n </div>\r\n</div>\r\n", styles: [".x-comment-reply{margin:0;padding:0}.x-comment-reply-buttons{display:flex;justify-content:space-between;align-items:center;margin-top:.625rem}.x-comment-reply-buttons .x-button-icon{padding:0}.x-comment-reply-buttons .x-button-icon>.x-button-inner>.x-icon{font-size:1.25rem}.x-comment-reply-buttons .x-buttons:not(.x-buttons-space)>.x-button:not(:first-child){margin-left:.5rem}.x-comment-reply-input{width:100%}.x-comment-reply-sure{display:flex;align-items:center}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: XInputComponent, selector: "x-input" }, { kind: "component", type: XButtonComponent, selector: "x-button" }, { kind: "pipe", type: XI18nPipe, name: "xI18n" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
110
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XCommentReplyComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
111
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.1", type: XCommentReplyComponent, isStandalone: true, selector: "x-comment-reply", usesInheritance: true, ngImport: i0, template: "<div #commentReply class=\"x-comment-reply\">\r\n <x-input\r\n class=\"x-comment-reply-input\"\r\n [placeholder]=\"'comment.placeholder' | xI18n\"\r\n [maxlength]=\"maxlength()\"\r\n [(ngModel)]=\"inputValue\"\r\n ></x-input>\r\n <div class=\"x-comment-reply-buttons\">\r\n <x-button class=\"x-comment-sure-button\" type=\"primary\" flat (click)=\"sureOnClick()\">{{\r\n 'comment.sure' | xI18n\r\n }}</x-button>\r\n </div>\r\n</div>\r\n", styles: [".x-comment-reply{margin:0;padding:0}.x-comment-reply-buttons{display:flex;justify-content:space-between;align-items:center;margin-top:.625rem}.x-comment-reply-buttons .x-button-icon{padding:0}.x-comment-reply-buttons .x-button-icon>.x-button-inner>.x-icon{font-size:1.25rem}.x-comment-reply-buttons .x-buttons:not(.x-buttons-space)>.x-button:not(:first-child){margin-left:.5rem}.x-comment-reply-input{width:100%}.x-comment-reply-sure{display:flex;align-items:center}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: XInputComponent, selector: "x-input" }, { kind: "component", type: XButtonComponent, selector: "x-button" }, { kind: "pipe", type: XI18nPipe, name: "xI18n" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
111
112
  }
112
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XCommentReplyComponent, decorators: [{
113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XCommentReplyComponent, decorators: [{
113
114
  type: Component,
114
115
  args: [{ selector: `${XCommentReplyPrefix}`, imports: [FormsModule, XInputComponent, XI18nPipe, XButtonComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #commentReply class=\"x-comment-reply\">\r\n <x-input\r\n class=\"x-comment-reply-input\"\r\n [placeholder]=\"'comment.placeholder' | xI18n\"\r\n [maxlength]=\"maxlength()\"\r\n [(ngModel)]=\"inputValue\"\r\n ></x-input>\r\n <div class=\"x-comment-reply-buttons\">\r\n <x-button class=\"x-comment-sure-button\" type=\"primary\" flat (click)=\"sureOnClick()\">{{\r\n 'comment.sure' | xI18n\r\n }}</x-button>\r\n </div>\r\n</div>\r\n", styles: [".x-comment-reply{margin:0;padding:0}.x-comment-reply-buttons{display:flex;justify-content:space-between;align-items:center;margin-top:.625rem}.x-comment-reply-buttons .x-button-icon{padding:0}.x-comment-reply-buttons .x-button-icon>.x-button-inner>.x-icon{font-size:1.25rem}.x-comment-reply-buttons .x-buttons:not(.x-buttons-space)>.x-button:not(:first-child){margin-left:.5rem}.x-comment-reply-input{width:100%}.x-comment-reply-sure{display:flex;align-items:center}\n"] }]
115
116
  }] });
@@ -117,7 +118,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
117
118
  class XCommentComponent extends XCommentProperty {
118
119
  constructor() {
119
120
  super(...arguments);
120
- this.nodes = computed(() => this.data().filter((dt) => XIsEmpty(dt.pid)), ...(ngDevMode ? [{ debugName: "nodes" }] : []));
121
+ this.nodes = computed(() => this.data().filter((dt) => XIsEmpty(dt.pid)), /* @ts-ignore */
122
+ ...(ngDevMode ? [{ debugName: "nodes" }] : /* istanbul ignore next */ []));
121
123
  }
122
124
  likeOnClick(node) {
123
125
  this.likeClick.emit(node);
@@ -140,10 +142,10 @@ class XCommentComponent extends XCommentProperty {
140
142
  hasMore(node) {
141
143
  return node.count > node.children?.length;
142
144
  }
143
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XCommentComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
144
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.1", type: XCommentComponent, isStandalone: true, selector: "x-comment", usesInheritance: true, ngImport: i0, template: "<div #comment class=\"x-comment\">\r\n <div class=\"x-comment-list\">\r\n @for (node of nodes(); track node.id) {\r\n <div class=\"x-comment-item\">\r\n <div class=\"x-comment-avatar\">\r\n <x-avatar [src]=\"node.src\"></x-avatar>\r\n </div>\r\n <div class=\"x-comment-content\">\r\n <div class=\"x-comment-author\">\r\n <x-link>{{ node.author }}</x-link>\r\n <span class=\"x-comment-time\">{{ node.datetime | xTimeAgo }}</span>\r\n </div>\r\n <div>\r\n <x-text-retract [content]=\"node.content\"></x-text-retract>\r\n </div>\r\n <div class=\"x-comment-action\">\r\n <x-buttons boxShadow=\"false\">\r\n <x-button\r\n class=\"x-comment-button\"\r\n icon=\"fto-message-square\"\r\n [activated]=\"node.commentShow!\"\r\n (click)=\"commentOnClick(node)\"\r\n text\r\n >\r\n {{ 'comment.comments' | xI18n }} {{ node.count ? node.count : '' }}\r\n </x-button>\r\n <x-button class=\"x-comment-like\" icon=\"fto-thumbs-up\" (click)=\"likeOnClick(node)\" text>\r\n {{ 'comment.giveALike' | xI18n }} {{ node.likes ? node.likes : '' }}\r\n </x-button>\r\n </x-buttons>\r\n </div>\r\n @if (node.commentShow) {\r\n <x-comment-reply [maxlength]=\"contentMax()\" (sureClick)=\"sureOnClick($event, node)\"></x-comment-reply>\r\n }\r\n <ul>\r\n @for (child of node.children; track child.id) {\r\n <li>\r\n <div>\r\n <div>\r\n <x-link>{{ child.author }}</x-link>\r\n @if (child.replyAuthor) {\r\n <span class=\"x-comment-reply\">{{ 'comment.reply' | xI18n }}</span>\r\n <x-link>{{ child.replyAuthor }}</x-link>\r\n }\r\n \uFF1A\r\n <span>\r\n <x-text-retract [content]=\"child.content\"></x-text-retract>\r\n </span>\r\n </div>\r\n <div class=\"x-comment-action\">\r\n <span class=\"x-comment-time\">{{ child.datetime | xTimeAgo }}</span>\r\n <x-buttons boxShadow=\"false\">\r\n <x-button\r\n class=\"x-comment-reply-button\"\r\n icon=\"fto-message-square\"\r\n [activated]=\"child.commentShow!\"\r\n (click)=\"replyOnClick(child)\"\r\n text\r\n >{{ 'comment.reply' | xI18n }}</x-button\r\n >\r\n <x-button class=\"x-comment-like\" icon=\"fto-thumbs-up\" (click)=\"likeOnClick(child)\" text>\r\n {{ 'comment.giveALike' | xI18n }} {{ child.likes ? child.likes : '' }}</x-button\r\n >\r\n </x-buttons>\r\n </div>\r\n @if (child.commentShow) {\r\n <x-comment-reply\r\n [maxlength]=\"contentMax()\"\r\n (sureClick)=\"sureOnClick($event, child)\"\r\n ></x-comment-reply>\r\n }\r\n </div>\r\n </li>\r\n }\r\n @if (hasMore(node)) {\r\n <li class=\"x-comment-more\">\r\n <x-link\r\n class=\"x-comment-more-button\"\r\n icon=\"fto-chevron-right\"\r\n type=\"primary\"\r\n (click)=\"moreOnClick(node)\"\r\n iconRight\r\n >{{ 'comment.more' | xI18n }}\r\n </x-link>\r\n </li>\r\n }\r\n </ul>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n", styles: [".x-comment{margin:0;padding:0}.x-comment{font-size:var(--x-font-size);box-sizing:border-box}.x-comment p{line-height:1.5;margin:.375rem 0}.x-comment-content{margin-left:1rem;flex:1}.x-comment-content ul,.x-comment-content li{margin:0;padding:0;list-style:none}.x-comment-content>ul{margin-top:.375rem}.x-comment-content>ul>li{padding:0 var(--x-font-size);background-color:var(--x-background);transition:.3s}.x-comment-content>ul>li>div{padding:.5rem 0}.x-comment-content>ul>li>div>p>span{color:var(--x-text-300)}.x-comment-content>ul>li>div>.x-comment-action{display:flex;justify-content:space-between;align-items:center}.x-comment-content>ul>li>div>.x-comment-action>.x-comment-time{margin-left:0}.x-comment-content>ul>li:not(:last-child)>div{border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-comment-content>ul>li.x-comment-more{padding:var(--x-font-size)}.x-comment-content>ul>li:hover{background-color:var(--x-background-a100);border-color:transparent}.x-comment-content .x-comment-reply{margin:var(--x-font-size) 0 1rem}.x-comment-author{margin:.25rem 0;display:inline-flex;align-items:center;color:var(--x-text-300)}.x-comment-author>.x-button{padding:0}.x-comment-time{margin-left:.5rem;color:var(--x-text-400);font-size:var(--x-font-size)}.x-comment-action{text-align:right}.x-comment-action>.x-buttons>.x-button{padding:0}.x-comment-action>.x-buttons:not(.x-buttons-space)>.x-button:not(:first-child){margin-left:.65rem}.x-comment-item{display:flex;padding:1rem 0;border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-comment-item:first-child{padding-top:0}.x-comment-reply{margin:0 .75rem}\n"], dependencies: [{ kind: "component", type: XLinkComponent, selector: "x-link" }, { kind: "component", type: XAvatarComponent, selector: "x-avatar" }, { kind: "component", type: XButtonComponent, selector: "x-button" }, { kind: "component", type: XButtonsComponent, selector: "x-buttons" }, { kind: "component", type: XTextRetractComponent, selector: "x-text-retract" }, { kind: "component", type: XCommentReplyComponent, selector: "x-comment-reply" }, { kind: "pipe", type: XI18nPipe, name: "xI18n" }, { kind: "pipe", type: XTimeAgoPipe, name: "xTimeAgo" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
145
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XCommentComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
146
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.1", type: XCommentComponent, isStandalone: true, selector: "x-comment", usesInheritance: true, ngImport: i0, template: "<div #comment class=\"x-comment\">\r\n <div class=\"x-comment-list\">\r\n @for (node of nodes(); track node.id) {\r\n <div class=\"x-comment-item\">\r\n <div class=\"x-comment-avatar\">\r\n <x-avatar [src]=\"node.src\"></x-avatar>\r\n </div>\r\n <div class=\"x-comment-content\">\r\n <div class=\"x-comment-author\">\r\n <x-link>{{ node.author }}</x-link>\r\n <span class=\"x-comment-time\">{{ node.datetime | xTimeAgo }}</span>\r\n </div>\r\n <div>\r\n <x-text-retract [content]=\"node.content\"></x-text-retract>\r\n </div>\r\n <div class=\"x-comment-action\">\r\n <x-buttons boxShadow=\"false\">\r\n <x-button\r\n class=\"x-comment-button\"\r\n icon=\"fto-message-square\"\r\n [activated]=\"node.commentShow!\"\r\n (click)=\"commentOnClick(node)\"\r\n text\r\n >\r\n {{ 'comment.comments' | xI18n }} {{ node.count ? node.count : '' }}\r\n </x-button>\r\n <x-button class=\"x-comment-like\" icon=\"fto-thumbs-up\" (click)=\"likeOnClick(node)\" text>\r\n {{ 'comment.giveALike' | xI18n }} {{ node.likes ? node.likes : '' }}\r\n </x-button>\r\n </x-buttons>\r\n </div>\r\n @if (node.commentShow) {\r\n <x-comment-reply [maxlength]=\"contentMax()\" (sureClick)=\"sureOnClick($event, node)\"></x-comment-reply>\r\n }\r\n <ul>\r\n @for (child of node.children; track child.id) {\r\n <li>\r\n <div>\r\n <div>\r\n <x-link>{{ child.author }}</x-link>\r\n @if (child.replyAuthor) {\r\n <span class=\"x-comment-reply\">{{ 'comment.reply' | xI18n }}</span>\r\n <x-link>{{ child.replyAuthor }}</x-link>\r\n }\r\n \uFF1A\r\n <span>\r\n <x-text-retract [content]=\"child.content\"></x-text-retract>\r\n </span>\r\n </div>\r\n <div class=\"x-comment-action\">\r\n <span class=\"x-comment-time\">{{ child.datetime | xTimeAgo }}</span>\r\n <x-buttons boxShadow=\"false\">\r\n <x-button\r\n class=\"x-comment-reply-button\"\r\n icon=\"fto-message-square\"\r\n [activated]=\"child.commentShow!\"\r\n (click)=\"replyOnClick(child)\"\r\n text\r\n >{{ 'comment.reply' | xI18n }}</x-button\r\n >\r\n <x-button class=\"x-comment-like\" icon=\"fto-thumbs-up\" (click)=\"likeOnClick(child)\" text>\r\n {{ 'comment.giveALike' | xI18n }} {{ child.likes ? child.likes : '' }}</x-button\r\n >\r\n </x-buttons>\r\n </div>\r\n @if (child.commentShow) {\r\n <x-comment-reply\r\n [maxlength]=\"contentMax()\"\r\n (sureClick)=\"sureOnClick($event, child)\"\r\n ></x-comment-reply>\r\n }\r\n </div>\r\n </li>\r\n }\r\n @if (hasMore(node)) {\r\n <li class=\"x-comment-more\">\r\n <x-link\r\n class=\"x-comment-more-button\"\r\n icon=\"fto-chevron-right\"\r\n type=\"primary\"\r\n (click)=\"moreOnClick(node)\"\r\n iconRight\r\n >{{ 'comment.more' | xI18n }}\r\n </x-link>\r\n </li>\r\n }\r\n </ul>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n", styles: [".x-comment{margin:0;padding:0}.x-comment{font-size:var(--x-font-size);box-sizing:border-box}.x-comment p{line-height:1.5;margin:.375rem 0}.x-comment-content{margin-left:1rem;flex:1}.x-comment-content ul,.x-comment-content li{margin:0;padding:0;list-style:none}.x-comment-content>ul{margin-top:.375rem}.x-comment-content>ul>li{padding:0 var(--x-font-size);background-color:var(--x-background);transition:.3s}.x-comment-content>ul>li>div{padding:.5rem 0}.x-comment-content>ul>li>div>p>span{color:var(--x-text-300)}.x-comment-content>ul>li>div>.x-comment-action{display:flex;justify-content:space-between;align-items:center}.x-comment-content>ul>li>div>.x-comment-action>.x-comment-time{margin-left:0}.x-comment-content>ul>li:not(:last-child)>div{border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-comment-content>ul>li.x-comment-more{padding:var(--x-font-size)}.x-comment-content>ul>li:hover{background-color:var(--x-background-a100);border-color:transparent}.x-comment-content .x-comment-reply{margin:var(--x-font-size) 0 1rem}.x-comment-author{margin:.25rem 0;display:inline-flex;align-items:center;color:var(--x-text-300)}.x-comment-author>.x-button{padding:0}.x-comment-time{margin-left:.5rem;color:var(--x-text-400);font-size:var(--x-font-size)}.x-comment-action{text-align:right}.x-comment-action>.x-buttons>.x-button{padding:0}.x-comment-action>.x-buttons:not(.x-buttons-space)>.x-button:not(:first-child){margin-left:.65rem}.x-comment-item{display:flex;padding:1rem 0;border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-comment-item:first-child{padding-top:0}.x-comment-reply{margin:0 .75rem}\n"], dependencies: [{ kind: "component", type: XLinkComponent, selector: "x-link" }, { kind: "component", type: XAvatarComponent, selector: "x-avatar" }, { kind: "component", type: XButtonComponent, selector: "x-button" }, { kind: "component", type: XButtonsComponent, selector: "x-buttons" }, { kind: "component", type: XTextRetractComponent, selector: "x-text-retract" }, { kind: "component", type: XCommentReplyComponent, selector: "x-comment-reply" }, { kind: "pipe", type: XI18nPipe, name: "xI18n" }, { kind: "pipe", type: XTimeAgoPipe, name: "xTimeAgo" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
145
147
  }
146
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XCommentComponent, decorators: [{
148
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XCommentComponent, decorators: [{
147
149
  type: Component,
148
150
  args: [{ selector: `${XCommentPrefix}`, imports: [
149
151
  XI18nPipe,
@@ -158,11 +160,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
158
160
  }] });
159
161
 
160
162
  class XCommentModule {
161
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XCommentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
162
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.1", ngImport: i0, type: XCommentModule, imports: [XCommentComponent, XCommentReplyComponent], exports: [XCommentComponent, XCommentReplyComponent] }); }
163
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XCommentModule, imports: [XCommentComponent, XCommentReplyComponent] }); }
163
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XCommentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
164
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.1", ngImport: i0, type: XCommentModule, imports: [XCommentComponent, XCommentReplyComponent], exports: [XCommentComponent, XCommentReplyComponent] }); }
165
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XCommentModule, imports: [XCommentComponent, XCommentReplyComponent] }); }
164
166
  }
165
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XCommentModule, decorators: [{
167
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XCommentModule, decorators: [{
166
168
  type: NgModule,
167
169
  args: [{
168
170
  exports: [XCommentComponent, XCommentReplyComponent],
@@ -1 +1 @@
1
- {"version":3,"file":"ng-nest-ui-comment.mjs","sources":["../../../../lib/ng-nest/ui/comment/comment.property.ts","../../../../lib/ng-nest/ui/comment/comment-reply.component.ts","../../../../lib/ng-nest/ui/comment/comment-reply.component.html","../../../../lib/ng-nest/ui/comment/comment.component.ts","../../../../lib/ng-nest/ui/comment/comment.component.html","../../../../lib/ng-nest/ui/comment/comment.module.ts","../../../../lib/ng-nest/ui/comment/ng-nest-ui-comment.ts"],"sourcesContent":["import { XPropertyFunction, XToDataArray, XToNumber } from '@ng-nest/ui/core';\r\nimport { Component, input, output } from '@angular/core';\r\nimport type { XDate, XParentIdentityProperty, XNumber, XDataArray } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * Comment\r\n * @selector x-comment\r\n * @decorator component\r\n */\r\nexport const XCommentPrefix = 'x-comment';\r\nconst X_COMMENT_CONFIG_NAME = 'comment';\r\n\r\n/**\r\n * Comment Property\r\n */\r\n@Component({ selector: `${XCommentPrefix}-property`, template: '' })\r\nexport class XCommentProperty extends XPropertyFunction(X_COMMENT_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 评论数据\r\n * @en_US Comment data\r\n */\r\n readonly data = input<XCommentNode[], XDataArray<XCommentNode>>([], { transform: XToDataArray });\r\n /**\r\n * @zh_CN 评论最大字数\r\n * @en_US Maximum number of comments\r\n */\r\n readonly contentMax = input<number, XNumber>(this.config?.contentMax ?? 512, { transform: XToNumber });\r\n /**\r\n * @zh_CN 点赞的事件\r\n * @en_US Like events\r\n */\r\n readonly likeClick = output<XCommentNode>();\r\n /**\r\n * @zh_CN 评论的事件\r\n * @en_US Commented event\r\n */\r\n readonly commentClick = output<XCommentNode>();\r\n /**\r\n * @zh_CN 回复的事件\r\n * @en_US Reply event\r\n */\r\n readonly replyClick = output<XCommentNode>();\r\n /**\r\n * @zh_CN 确认提交的事件\r\n * @en_US Confirm the submitted event\r\n */\r\n readonly sureClick = output<XCommentNode>();\r\n /**\r\n * @zh_CN 更多的事件\r\n * @en_US More events\r\n */\r\n readonly moreClick = output<XCommentNode>();\r\n}\r\n\r\n/**\r\n * @zh_CN Comment 数据对象\r\n * @en_US Comment data object\r\n */\r\nexport interface XCommentNode extends XParentIdentityProperty<XCommentNode> {\r\n /**\r\n * @zh_CN 作者\r\n * @en_US Author\r\n */\r\n author?: string;\r\n /**\r\n * @zh_CN 作者头像地址\r\n * @en_US Author avatar address\r\n */\r\n src?: string;\r\n /**\r\n * @zh_CN 发布时间\r\n * @en_US release time\r\n */\r\n datetime?: XDate;\r\n /**\r\n * @zh_CN 发布内容\r\n * @en_US Publish content\r\n */\r\n content?: string;\r\n /**\r\n * @zh_CN 点赞数量\r\n * @en_US Like number\r\n */\r\n likes?: number;\r\n /**\r\n * @zh_CN 评论数量\r\n * @en_US Number of comments\r\n */\r\n count?: number;\r\n /**\r\n * @zh_CN 回复作者\r\n * @en_US Reply to author\r\n */\r\n replyAuthor?: string;\r\n /**\r\n * @zh_CN 点击评论/回复提交的内容\r\n * @en_US Click to comment/reply to submitted content\r\n */\r\n replyContent?: string;\r\n /**\r\n * @zh_CN 显示评论/回复框\r\n * @en_US Show comment/reply box\r\n */\r\n commentShow?: boolean;\r\n}\r\n\r\n/**\r\n * Comment Reply\r\n * @selector x-comment-reply\r\n * @decorator component\r\n */\r\nexport const XCommentReplyPrefix = 'x-comment-reply';\r\n\r\n/**\r\n * Comment Reply Property\r\n */\r\n@Component({ selector: `${XCommentReplyPrefix}-property`, template: '' })\r\nexport class XCommentReplyProperty extends XPropertyFunction(X_COMMENT_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 回复的最大字数\r\n * @en_US Maximum number of words to reply\r\n */\r\n readonly maxlength = input<number, XNumber>(this.config?.maxlength ?? 512, { transform: XToNumber });\r\n /**\r\n * @zh_CN 回复确认的事件\r\n * @en_US Reply to confirmed event\r\n */\r\n readonly sureClick = output<string>();\r\n}\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, signal } from '@angular/core';\r\nimport { XCommentReplyPrefix, XCommentReplyProperty } from './comment.property';\r\nimport { XI18nPipe } from '@ng-nest/ui/i18n';\r\nimport { XInputComponent } from '@ng-nest/ui/input';\r\nimport { XButtonComponent } from '@ng-nest/ui/button';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n@Component({\r\n selector: `${XCommentReplyPrefix}`,\r\n imports: [FormsModule, XInputComponent, XI18nPipe, XButtonComponent],\r\n templateUrl: './comment-reply.component.html',\r\n styleUrls: ['./comment-reply.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XCommentReplyComponent extends XCommentReplyProperty {\r\n inputValue = signal<string>('');\r\n\r\n sureOnClick() {\r\n this.sureClick.emit(this.inputValue());\r\n }\r\n}\r\n","<div #commentReply class=\"x-comment-reply\">\r\n <x-input\r\n class=\"x-comment-reply-input\"\r\n [placeholder]=\"'comment.placeholder' | xI18n\"\r\n [maxlength]=\"maxlength()\"\r\n [(ngModel)]=\"inputValue\"\r\n ></x-input>\r\n <div class=\"x-comment-reply-buttons\">\r\n <x-button class=\"x-comment-sure-button\" type=\"primary\" flat (click)=\"sureOnClick()\">{{\r\n 'comment.sure' | xI18n\r\n }}</x-button>\r\n </div>\r\n</div>\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, computed } from '@angular/core';\r\nimport { XCommentPrefix, XCommentProperty } from './comment.property';\r\nimport { XIsEmpty } from '@ng-nest/ui/core';\r\nimport { XI18nPipe } from '@ng-nest/ui/i18n';\r\nimport { XAvatarComponent } from '@ng-nest/ui/avatar';\r\nimport { XButtonComponent, XButtonsComponent } from '@ng-nest/ui/button';\r\nimport { XLinkComponent } from '@ng-nest/ui/link';\r\nimport { XTextRetractComponent } from '@ng-nest/ui/text-retract';\r\nimport { XTimeAgoPipe } from '@ng-nest/ui/time-ago';\r\nimport { XCommentReplyComponent } from './comment-reply.component';\r\nimport type { XCommentNode } from './comment.property';\r\n\r\n@Component({\r\n selector: `${XCommentPrefix}`,\r\n imports: [\r\n XI18nPipe,\r\n XLinkComponent,\r\n XAvatarComponent,\r\n XButtonComponent,\r\n XButtonsComponent,\r\n XTextRetractComponent,\r\n XTimeAgoPipe,\r\n XCommentReplyComponent\r\n ],\r\n templateUrl: './comment.component.html',\r\n styleUrls: ['./comment.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XCommentComponent extends XCommentProperty {\r\n nodes = computed(() => this.data().filter((dt) => XIsEmpty(dt.pid)));\r\n\r\n likeOnClick(node: XCommentNode) {\r\n this.likeClick.emit(node);\r\n }\r\n\r\n commentOnClick(node: XCommentNode) {\r\n node.commentShow = !node.commentShow;\r\n this.commentClick.emit(node);\r\n }\r\n\r\n replyOnClick(node: XCommentNode) {\r\n node.commentShow = !node.commentShow;\r\n this.replyClick.emit(node);\r\n }\r\n\r\n sureOnClick(content: string, node: XCommentNode) {\r\n node.replyContent = content;\r\n this.sureClick.emit(node);\r\n }\r\n\r\n moreOnClick(node: XCommentNode) {\r\n this.moreClick.emit(node);\r\n }\r\n\r\n hasMore(node: XCommentNode) {\r\n return (node.count as number) > (node.children?.length as number);\r\n }\r\n}\r\n","<div #comment class=\"x-comment\">\r\n <div class=\"x-comment-list\">\r\n @for (node of nodes(); track node.id) {\r\n <div class=\"x-comment-item\">\r\n <div class=\"x-comment-avatar\">\r\n <x-avatar [src]=\"node.src\"></x-avatar>\r\n </div>\r\n <div class=\"x-comment-content\">\r\n <div class=\"x-comment-author\">\r\n <x-link>{{ node.author }}</x-link>\r\n <span class=\"x-comment-time\">{{ node.datetime | xTimeAgo }}</span>\r\n </div>\r\n <div>\r\n <x-text-retract [content]=\"node.content\"></x-text-retract>\r\n </div>\r\n <div class=\"x-comment-action\">\r\n <x-buttons boxShadow=\"false\">\r\n <x-button\r\n class=\"x-comment-button\"\r\n icon=\"fto-message-square\"\r\n [activated]=\"node.commentShow!\"\r\n (click)=\"commentOnClick(node)\"\r\n text\r\n >\r\n {{ 'comment.comments' | xI18n }} {{ node.count ? node.count : '' }}\r\n </x-button>\r\n <x-button class=\"x-comment-like\" icon=\"fto-thumbs-up\" (click)=\"likeOnClick(node)\" text>\r\n {{ 'comment.giveALike' | xI18n }} {{ node.likes ? node.likes : '' }}\r\n </x-button>\r\n </x-buttons>\r\n </div>\r\n @if (node.commentShow) {\r\n <x-comment-reply [maxlength]=\"contentMax()\" (sureClick)=\"sureOnClick($event, node)\"></x-comment-reply>\r\n }\r\n <ul>\r\n @for (child of node.children; track child.id) {\r\n <li>\r\n <div>\r\n <div>\r\n <x-link>{{ child.author }}</x-link>\r\n @if (child.replyAuthor) {\r\n <span class=\"x-comment-reply\">{{ 'comment.reply' | xI18n }}</span>\r\n <x-link>{{ child.replyAuthor }}</x-link>\r\n }\r\n :\r\n <span>\r\n <x-text-retract [content]=\"child.content\"></x-text-retract>\r\n </span>\r\n </div>\r\n <div class=\"x-comment-action\">\r\n <span class=\"x-comment-time\">{{ child.datetime | xTimeAgo }}</span>\r\n <x-buttons boxShadow=\"false\">\r\n <x-button\r\n class=\"x-comment-reply-button\"\r\n icon=\"fto-message-square\"\r\n [activated]=\"child.commentShow!\"\r\n (click)=\"replyOnClick(child)\"\r\n text\r\n >{{ 'comment.reply' | xI18n }}</x-button\r\n >\r\n <x-button class=\"x-comment-like\" icon=\"fto-thumbs-up\" (click)=\"likeOnClick(child)\" text>\r\n {{ 'comment.giveALike' | xI18n }} {{ child.likes ? child.likes : '' }}</x-button\r\n >\r\n </x-buttons>\r\n </div>\r\n @if (child.commentShow) {\r\n <x-comment-reply\r\n [maxlength]=\"contentMax()\"\r\n (sureClick)=\"sureOnClick($event, child)\"\r\n ></x-comment-reply>\r\n }\r\n </div>\r\n </li>\r\n }\r\n @if (hasMore(node)) {\r\n <li class=\"x-comment-more\">\r\n <x-link\r\n class=\"x-comment-more-button\"\r\n icon=\"fto-chevron-right\"\r\n type=\"primary\"\r\n (click)=\"moreOnClick(node)\"\r\n iconRight\r\n >{{ 'comment.more' | xI18n }}\r\n </x-link>\r\n </li>\r\n }\r\n </ul>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { XCommentComponent } from './comment.component';\r\nimport { XCommentReplyComponent } from './comment-reply.component';\r\n\r\n@NgModule({\r\n exports: [XCommentComponent, XCommentReplyComponent],\r\n imports: [XCommentComponent, XCommentReplyComponent]\r\n})\r\nexport class XCommentModule {}\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-comment.mjs","sources":["../../../../lib/ng-nest/ui/comment/comment.property.ts","../../../../lib/ng-nest/ui/comment/comment-reply.component.ts","../../../../lib/ng-nest/ui/comment/comment-reply.component.html","../../../../lib/ng-nest/ui/comment/comment.component.ts","../../../../lib/ng-nest/ui/comment/comment.component.html","../../../../lib/ng-nest/ui/comment/comment.module.ts","../../../../lib/ng-nest/ui/comment/ng-nest-ui-comment.ts"],"sourcesContent":["import { XPropertyFunction, XToDataArray, XToNumber } from '@ng-nest/ui/core';\r\nimport { Component, input, output } from '@angular/core';\r\nimport type { XDate, XParentIdentityProperty, XNumber, XDataArray } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * Comment\r\n * @selector x-comment\r\n * @decorator component\r\n */\r\nexport const XCommentPrefix = 'x-comment';\r\nconst X_COMMENT_CONFIG_NAME = 'comment';\r\n\r\n/**\r\n * Comment Property\r\n */\r\n@Component({ selector: `${XCommentPrefix}-property`, template: '' })\r\nexport class XCommentProperty extends XPropertyFunction(X_COMMENT_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 评论数据\r\n * @en_US Comment data\r\n */\r\n readonly data = input<XCommentNode[], XDataArray<XCommentNode>>([], { transform: XToDataArray });\r\n /**\r\n * @zh_CN 评论最大字数\r\n * @en_US Maximum number of comments\r\n */\r\n readonly contentMax = input<number, XNumber>(this.config?.contentMax ?? 512, { transform: XToNumber });\r\n /**\r\n * @zh_CN 点赞的事件\r\n * @en_US Like events\r\n */\r\n readonly likeClick = output<XCommentNode>();\r\n /**\r\n * @zh_CN 评论的事件\r\n * @en_US Commented event\r\n */\r\n readonly commentClick = output<XCommentNode>();\r\n /**\r\n * @zh_CN 回复的事件\r\n * @en_US Reply event\r\n */\r\n readonly replyClick = output<XCommentNode>();\r\n /**\r\n * @zh_CN 确认提交的事件\r\n * @en_US Confirm the submitted event\r\n */\r\n readonly sureClick = output<XCommentNode>();\r\n /**\r\n * @zh_CN 更多的事件\r\n * @en_US More events\r\n */\r\n readonly moreClick = output<XCommentNode>();\r\n}\r\n\r\n/**\r\n * @zh_CN Comment 数据对象\r\n * @en_US Comment data object\r\n */\r\nexport interface XCommentNode extends XParentIdentityProperty<XCommentNode> {\r\n /**\r\n * @zh_CN 作者\r\n * @en_US Author\r\n */\r\n author?: string;\r\n /**\r\n * @zh_CN 作者头像地址\r\n * @en_US Author avatar address\r\n */\r\n src?: string;\r\n /**\r\n * @zh_CN 发布时间\r\n * @en_US release time\r\n */\r\n datetime?: XDate;\r\n /**\r\n * @zh_CN 发布内容\r\n * @en_US Publish content\r\n */\r\n content?: string;\r\n /**\r\n * @zh_CN 点赞数量\r\n * @en_US Like number\r\n */\r\n likes?: number;\r\n /**\r\n * @zh_CN 评论数量\r\n * @en_US Number of comments\r\n */\r\n count?: number;\r\n /**\r\n * @zh_CN 回复作者\r\n * @en_US Reply to author\r\n */\r\n replyAuthor?: string;\r\n /**\r\n * @zh_CN 点击评论/回复提交的内容\r\n * @en_US Click to comment/reply to submitted content\r\n */\r\n replyContent?: string;\r\n /**\r\n * @zh_CN 显示评论/回复框\r\n * @en_US Show comment/reply box\r\n */\r\n commentShow?: boolean;\r\n}\r\n\r\n/**\r\n * Comment Reply\r\n * @selector x-comment-reply\r\n * @decorator component\r\n */\r\nexport const XCommentReplyPrefix = 'x-comment-reply';\r\n\r\n/**\r\n * Comment Reply Property\r\n */\r\n@Component({ selector: `${XCommentReplyPrefix}-property`, template: '' })\r\nexport class XCommentReplyProperty extends XPropertyFunction(X_COMMENT_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 回复的最大字数\r\n * @en_US Maximum number of words to reply\r\n */\r\n readonly maxlength = input<number, XNumber>(this.config?.maxlength ?? 512, { transform: XToNumber });\r\n /**\r\n * @zh_CN 回复确认的事件\r\n * @en_US Reply to confirmed event\r\n */\r\n readonly sureClick = output<string>();\r\n}\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, signal } from '@angular/core';\r\nimport { XCommentReplyPrefix, XCommentReplyProperty } from './comment.property';\r\nimport { XI18nPipe } from '@ng-nest/ui/i18n';\r\nimport { XInputComponent } from '@ng-nest/ui/input';\r\nimport { XButtonComponent } from '@ng-nest/ui/button';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n@Component({\r\n selector: `${XCommentReplyPrefix}`,\r\n imports: [FormsModule, XInputComponent, XI18nPipe, XButtonComponent],\r\n templateUrl: './comment-reply.component.html',\r\n styleUrls: ['./comment-reply.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XCommentReplyComponent extends XCommentReplyProperty {\r\n inputValue = signal<string>('');\r\n\r\n sureOnClick() {\r\n this.sureClick.emit(this.inputValue());\r\n }\r\n}\r\n","<div #commentReply class=\"x-comment-reply\">\r\n <x-input\r\n class=\"x-comment-reply-input\"\r\n [placeholder]=\"'comment.placeholder' | xI18n\"\r\n [maxlength]=\"maxlength()\"\r\n [(ngModel)]=\"inputValue\"\r\n ></x-input>\r\n <div class=\"x-comment-reply-buttons\">\r\n <x-button class=\"x-comment-sure-button\" type=\"primary\" flat (click)=\"sureOnClick()\">{{\r\n 'comment.sure' | xI18n\r\n }}</x-button>\r\n </div>\r\n</div>\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, computed } from '@angular/core';\r\nimport { XCommentPrefix, XCommentProperty } from './comment.property';\r\nimport { XIsEmpty } from '@ng-nest/ui/core';\r\nimport { XI18nPipe } from '@ng-nest/ui/i18n';\r\nimport { XAvatarComponent } from '@ng-nest/ui/avatar';\r\nimport { XButtonComponent, XButtonsComponent } from '@ng-nest/ui/button';\r\nimport { XLinkComponent } from '@ng-nest/ui/link';\r\nimport { XTextRetractComponent } from '@ng-nest/ui/text-retract';\r\nimport { XTimeAgoPipe } from '@ng-nest/ui/time-ago';\r\nimport { XCommentReplyComponent } from './comment-reply.component';\r\nimport type { XCommentNode } from './comment.property';\r\n\r\n@Component({\r\n selector: `${XCommentPrefix}`,\r\n imports: [\r\n XI18nPipe,\r\n XLinkComponent,\r\n XAvatarComponent,\r\n XButtonComponent,\r\n XButtonsComponent,\r\n XTextRetractComponent,\r\n XTimeAgoPipe,\r\n XCommentReplyComponent\r\n ],\r\n templateUrl: './comment.component.html',\r\n styleUrls: ['./comment.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XCommentComponent extends XCommentProperty {\r\n nodes = computed(() => this.data().filter((dt) => XIsEmpty(dt.pid)));\r\n\r\n likeOnClick(node: XCommentNode) {\r\n this.likeClick.emit(node);\r\n }\r\n\r\n commentOnClick(node: XCommentNode) {\r\n node.commentShow = !node.commentShow;\r\n this.commentClick.emit(node);\r\n }\r\n\r\n replyOnClick(node: XCommentNode) {\r\n node.commentShow = !node.commentShow;\r\n this.replyClick.emit(node);\r\n }\r\n\r\n sureOnClick(content: string, node: XCommentNode) {\r\n node.replyContent = content;\r\n this.sureClick.emit(node);\r\n }\r\n\r\n moreOnClick(node: XCommentNode) {\r\n this.moreClick.emit(node);\r\n }\r\n\r\n hasMore(node: XCommentNode) {\r\n return (node.count as number) > (node.children?.length as number);\r\n }\r\n}\r\n","<div #comment class=\"x-comment\">\r\n <div class=\"x-comment-list\">\r\n @for (node of nodes(); track node.id) {\r\n <div class=\"x-comment-item\">\r\n <div class=\"x-comment-avatar\">\r\n <x-avatar [src]=\"node.src\"></x-avatar>\r\n </div>\r\n <div class=\"x-comment-content\">\r\n <div class=\"x-comment-author\">\r\n <x-link>{{ node.author }}</x-link>\r\n <span class=\"x-comment-time\">{{ node.datetime | xTimeAgo }}</span>\r\n </div>\r\n <div>\r\n <x-text-retract [content]=\"node.content\"></x-text-retract>\r\n </div>\r\n <div class=\"x-comment-action\">\r\n <x-buttons boxShadow=\"false\">\r\n <x-button\r\n class=\"x-comment-button\"\r\n icon=\"fto-message-square\"\r\n [activated]=\"node.commentShow!\"\r\n (click)=\"commentOnClick(node)\"\r\n text\r\n >\r\n {{ 'comment.comments' | xI18n }} {{ node.count ? node.count : '' }}\r\n </x-button>\r\n <x-button class=\"x-comment-like\" icon=\"fto-thumbs-up\" (click)=\"likeOnClick(node)\" text>\r\n {{ 'comment.giveALike' | xI18n }} {{ node.likes ? node.likes : '' }}\r\n </x-button>\r\n </x-buttons>\r\n </div>\r\n @if (node.commentShow) {\r\n <x-comment-reply [maxlength]=\"contentMax()\" (sureClick)=\"sureOnClick($event, node)\"></x-comment-reply>\r\n }\r\n <ul>\r\n @for (child of node.children; track child.id) {\r\n <li>\r\n <div>\r\n <div>\r\n <x-link>{{ child.author }}</x-link>\r\n @if (child.replyAuthor) {\r\n <span class=\"x-comment-reply\">{{ 'comment.reply' | xI18n }}</span>\r\n <x-link>{{ child.replyAuthor }}</x-link>\r\n }\r\n :\r\n <span>\r\n <x-text-retract [content]=\"child.content\"></x-text-retract>\r\n </span>\r\n </div>\r\n <div class=\"x-comment-action\">\r\n <span class=\"x-comment-time\">{{ child.datetime | xTimeAgo }}</span>\r\n <x-buttons boxShadow=\"false\">\r\n <x-button\r\n class=\"x-comment-reply-button\"\r\n icon=\"fto-message-square\"\r\n [activated]=\"child.commentShow!\"\r\n (click)=\"replyOnClick(child)\"\r\n text\r\n >{{ 'comment.reply' | xI18n }}</x-button\r\n >\r\n <x-button class=\"x-comment-like\" icon=\"fto-thumbs-up\" (click)=\"likeOnClick(child)\" text>\r\n {{ 'comment.giveALike' | xI18n }} {{ child.likes ? child.likes : '' }}</x-button\r\n >\r\n </x-buttons>\r\n </div>\r\n @if (child.commentShow) {\r\n <x-comment-reply\r\n [maxlength]=\"contentMax()\"\r\n (sureClick)=\"sureOnClick($event, child)\"\r\n ></x-comment-reply>\r\n }\r\n </div>\r\n </li>\r\n }\r\n @if (hasMore(node)) {\r\n <li class=\"x-comment-more\">\r\n <x-link\r\n class=\"x-comment-more-button\"\r\n icon=\"fto-chevron-right\"\r\n type=\"primary\"\r\n (click)=\"moreOnClick(node)\"\r\n iconRight\r\n >{{ 'comment.more' | xI18n }}\r\n </x-link>\r\n </li>\r\n }\r\n </ul>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { XCommentComponent } from './comment.component';\r\nimport { XCommentReplyComponent } from './comment-reply.component';\r\n\r\n@NgModule({\r\n exports: [XCommentComponent, XCommentReplyComponent],\r\n imports: [XCommentComponent, XCommentReplyComponent]\r\n})\r\nexport class XCommentModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -20,12 +20,13 @@ class XContainerProperty extends XPropertyFunction(X_CONTAINER_CONFIG_NAME) {
20
20
  * @en_US The arrangement direction of the sub-elements under the flex layout. When the sub-elements have x-header or x-footer, it is column
21
21
  * @default ''
22
22
  */
23
- this.direction = input(this.config?.direction, ...(ngDevMode ? [{ debugName: "direction" }] : []));
23
+ this.direction = input(this.config?.direction, /* @ts-ignore */
24
+ ...(ngDevMode ? [{ debugName: "direction" }] : /* istanbul ignore next */ []));
24
25
  }
25
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XContainerProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
26
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.1", type: XContainerProperty, isStandalone: true, selector: "x-container-property", inputs: { direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
26
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XContainerProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
27
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.1", type: XContainerProperty, isStandalone: true, selector: "x-container-property", inputs: { direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
27
28
  }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XContainerProperty, decorators: [{
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XContainerProperty, decorators: [{
29
30
  type: Component,
30
31
  args: [{ selector: `${XContainerPrefix}-property`, template: '' }]
31
32
  }], propDecorators: { direction: [{ type: i0.Input, args: [{ isSignal: true, alias: "direction", required: false }] }] } });
@@ -46,12 +47,12 @@ class XHeaderProperty extends XPropertyFunction(X_HEADER_CONFIG_NAME) {
46
47
  * @zh_CN 高度
47
48
  * @en_US Height
48
49
  */
49
- this.height = input(this.config?.height ?? '3rem', { ...(ngDevMode ? { debugName: "height" } : {}), transform: XToCssPixelValue });
50
+ this.height = input(this.config?.height ?? '3rem', { ...(ngDevMode ? { debugName: "height" } : /* istanbul ignore next */ {}), transform: XToCssPixelValue });
50
51
  }
51
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XHeaderProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
52
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.1", type: XHeaderProperty, isStandalone: true, selector: "x-header-property", inputs: { height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
52
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XHeaderProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
53
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.1", type: XHeaderProperty, isStandalone: true, selector: "x-header-property", inputs: { height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
53
54
  }
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XHeaderProperty, decorators: [{
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XHeaderProperty, decorators: [{
55
56
  type: Component,
56
57
  args: [{ selector: `${XHeaderPrefix}-property`, template: '' }]
57
58
  }], propDecorators: { height: [{ type: i0.Input, args: [{ isSignal: true, alias: "height", required: false }] }] } });
@@ -72,12 +73,12 @@ class XAsideProperty extends XPropertyFunction(X_ASIDE_CONFIG_NAME) {
72
73
  * @zh_CN 宽度
73
74
  * @en_US Width
74
75
  */
75
- this.width = input(this.config?.width ?? '12rem', { ...(ngDevMode ? { debugName: "width" } : {}), transform: XToCssPixelValue });
76
+ this.width = input(this.config?.width ?? '12rem', { ...(ngDevMode ? { debugName: "width" } : /* istanbul ignore next */ {}), transform: XToCssPixelValue });
76
77
  }
77
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XAsideProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
78
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.1", type: XAsideProperty, isStandalone: true, selector: "x-aside-property", inputs: { width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
78
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XAsideProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
79
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.1", type: XAsideProperty, isStandalone: true, selector: "x-aside-property", inputs: { width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
79
80
  }
80
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XAsideProperty, decorators: [{
81
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XAsideProperty, decorators: [{
81
82
  type: Component,
82
83
  args: [{ selector: `${XAsidePrefix}-property`, template: '' }]
83
84
  }], propDecorators: { width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }] } });
@@ -104,12 +105,12 @@ class XFooterProperty extends XPropertyFunction(X_FOOTER_CONFIG_NAME) {
104
105
  * @zh_CN 高度
105
106
  * @en_US Height
106
107
  */
107
- this.height = input(this.config?.height ?? '3rem', { ...(ngDevMode ? { debugName: "height" } : {}), transform: XToCssPixelValue });
108
+ this.height = input(this.config?.height ?? '3rem', { ...(ngDevMode ? { debugName: "height" } : /* istanbul ignore next */ {}), transform: XToCssPixelValue });
108
109
  }
109
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XFooterProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
110
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.1", type: XFooterProperty, isStandalone: true, selector: "x-footer-property", inputs: { height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
110
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XFooterProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
111
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.1", type: XFooterProperty, isStandalone: true, selector: "x-footer-property", inputs: { height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
111
112
  }
112
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XFooterProperty, decorators: [{
113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XFooterProperty, decorators: [{
113
114
  type: Component,
114
115
  args: [{ selector: `${XFooterPrefix}-property`, template: '' }]
115
116
  }], propDecorators: { height: [{ type: i0.Input, args: [{ isSignal: true, alias: "height", required: false }] }] } });
@@ -117,7 +118,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
117
118
  class XContainerComponent extends XContainerProperty {
118
119
  constructor() {
119
120
  super(...arguments);
120
- this.directionSignal = signal(null, ...(ngDevMode ? [{ debugName: "directionSignal" }] : []));
121
+ this.directionSignal = signal(null, /* @ts-ignore */
122
+ ...(ngDevMode ? [{ debugName: "directionSignal" }] : /* istanbul ignore next */ []));
121
123
  this.directionClass = computed(() => {
122
124
  const direction = this.directionSignal() || this.direction();
123
125
  if (direction) {
@@ -126,15 +128,16 @@ class XContainerComponent extends XContainerProperty {
126
128
  else {
127
129
  return ``;
128
130
  }
129
- }, ...(ngDevMode ? [{ debugName: "directionClass" }] : []));
131
+ }, /* @ts-ignore */
132
+ ...(ngDevMode ? [{ debugName: "directionClass" }] : /* istanbul ignore next */ []));
130
133
  }
131
134
  get className() {
132
135
  return `${XContainerPrefix} ${this.directionClass()}`;
133
136
  }
134
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XContainerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
135
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.1", type: XContainerComponent, isStandalone: true, selector: "x-container", host: { properties: { "class": "this.className" } }, usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [".x-container{margin:0;padding:0}.x-container{display:flex;flex-direction:row;flex:1;flex-basis:auto;box-sizing:border-box;min-width:0}.x-container.x-direction-column{flex-direction:column}.x-container.x-direction-column-reverse{flex-direction:column-reverse}.x-container.x-direction-row{flex-direction:row}.x-container.x-direction-row-reverse{flex-direction:row-reverse}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
137
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XContainerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
138
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.1", type: XContainerComponent, isStandalone: true, selector: "x-container", host: { properties: { "class": "this.className" } }, usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [".x-container{margin:0;padding:0}.x-container{display:flex;flex-direction:row;flex:1;flex-basis:auto;box-sizing:border-box;min-width:0}.x-container.x-direction-column{flex-direction:column}.x-container.x-direction-column-reverse{flex-direction:column-reverse}.x-container.x-direction-row{flex-direction:row}.x-container.x-direction-row-reverse{flex-direction:row-reverse}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
136
139
  }
137
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XContainerComponent, decorators: [{
140
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XContainerComponent, decorators: [{
138
141
  type: Component,
139
142
  args: [{ selector: `${XContainerPrefix}`, template: '<ng-content></ng-content>', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".x-container{margin:0;padding:0}.x-container{display:flex;flex-direction:row;flex:1;flex-basis:auto;box-sizing:border-box;min-width:0}.x-container.x-direction-column{flex-direction:column}.x-container.x-direction-column-reverse{flex-direction:column-reverse}.x-container.x-direction-row{flex-direction:row}.x-container.x-direction-row-reverse{flex-direction:row-reverse}\n"] }]
140
143
  }], propDecorators: { className: [{
@@ -159,10 +162,10 @@ class XHeaderComponent extends XHeaderProperty {
159
162
  return;
160
163
  this.container.directionSignal.set('column');
161
164
  }
162
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XHeaderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
163
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.1", type: XHeaderComponent, isStandalone: true, selector: "x-header", host: { properties: { "class": "this.className", "style.height": "this.getHeight" } }, usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [".x-header{margin:0;padding:0}.x-header{flex-shrink:0;padding:0 1rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
165
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XHeaderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
166
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.1", type: XHeaderComponent, isStandalone: true, selector: "x-header", host: { properties: { "class": "this.className", "style.height": "this.getHeight" } }, usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [".x-header{margin:0;padding:0}.x-header{flex-shrink:0;padding:0 1rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
164
167
  }
165
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XHeaderComponent, decorators: [{
168
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XHeaderComponent, decorators: [{
166
169
  type: Component,
167
170
  args: [{ selector: `${XHeaderPrefix}`, template: '<ng-content></ng-content>', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".x-header{margin:0;padding:0}.x-header{flex-shrink:0;padding:0 1rem}\n"] }]
168
171
  }], propDecorators: { className: [{
@@ -181,10 +184,10 @@ class XAsideComponent extends XAsideProperty {
181
184
  get getWidth() {
182
185
  return this.width();
183
186
  }
184
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XAsideComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
185
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.1", type: XAsideComponent, isStandalone: true, selector: "x-aside", host: { properties: { "class": "this.className", "style.width": "this.getWidth" } }, usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [".x-aside{margin:0;padding:0}.x-aside{overflow:auto;flex-shrink:0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
187
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XAsideComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
188
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.1", type: XAsideComponent, isStandalone: true, selector: "x-aside", host: { properties: { "class": "this.className", "style.width": "this.getWidth" } }, usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [".x-aside{margin:0;padding:0}.x-aside{overflow:auto;flex-shrink:0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
186
189
  }
187
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XAsideComponent, decorators: [{
190
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XAsideComponent, decorators: [{
188
191
  type: Component,
189
192
  args: [{ selector: `${XAsidePrefix}`, template: '<ng-content></ng-content>', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".x-aside{margin:0;padding:0}.x-aside{overflow:auto;flex-shrink:0}\n"] }]
190
193
  }], propDecorators: { className: [{
@@ -199,10 +202,10 @@ class XMainComponent {
199
202
  constructor() {
200
203
  this.className = XMainPrefix;
201
204
  }
202
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XMainComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
203
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.1", type: XMainComponent, isStandalone: true, selector: "x-main", host: { properties: { "class": "this.className" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [".x-main{margin:0;padding:0}.x-main{display:block;flex:1;flex-basis:auto;padding:1rem;overflow:auto}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
205
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XMainComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
206
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.1", type: XMainComponent, isStandalone: true, selector: "x-main", host: { properties: { "class": "this.className" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [".x-main{margin:0;padding:0}.x-main{display:block;flex:1;flex-basis:auto;padding:1rem;overflow:auto}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
204
207
  }
205
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XMainComponent, decorators: [{
208
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XMainComponent, decorators: [{
206
209
  type: Component,
207
210
  args: [{ selector: `${XMainPrefix}`, template: '<ng-content></ng-content>', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".x-main{margin:0;padding:0}.x-main{display:block;flex:1;flex-basis:auto;padding:1rem;overflow:auto}\n"] }]
208
211
  }], propDecorators: { className: [{
@@ -227,10 +230,10 @@ class XFooterComponent extends XFooterProperty {
227
230
  return;
228
231
  this.container.directionSignal.set('column');
229
232
  }
230
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XFooterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
231
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.1", type: XFooterComponent, isStandalone: true, selector: "x-footer", host: { properties: { "class": "this.className", "style.height": "this.getHeight" } }, usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [".x-footer{margin:0;padding:0}.x-footer{flex-shrink:0;padding:0 1rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
233
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XFooterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
234
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.1", type: XFooterComponent, isStandalone: true, selector: "x-footer", host: { properties: { "class": "this.className", "style.height": "this.getHeight" } }, usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [".x-footer{margin:0;padding:0}.x-footer{flex-shrink:0;padding:0 1rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
232
235
  }
233
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XFooterComponent, decorators: [{
236
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XFooterComponent, decorators: [{
234
237
  type: Component,
235
238
  args: [{ selector: `${XFooterPrefix}`, template: '<ng-content></ng-content>', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".x-footer{margin:0;padding:0}.x-footer{flex-shrink:0;padding:0 1rem}\n"] }]
236
239
  }], propDecorators: { className: [{
@@ -242,11 +245,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
242
245
  }] } });
243
246
 
244
247
  class XContainerModule {
245
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XContainerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
246
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.1", ngImport: i0, type: XContainerModule, imports: [XContainerComponent, XHeaderComponent, XAsideComponent, XMainComponent, XFooterComponent], exports: [XContainerComponent, XHeaderComponent, XAsideComponent, XMainComponent, XFooterComponent] }); }
247
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XContainerModule }); }
248
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XContainerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
249
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.1", ngImport: i0, type: XContainerModule, imports: [XContainerComponent, XHeaderComponent, XAsideComponent, XMainComponent, XFooterComponent], exports: [XContainerComponent, XHeaderComponent, XAsideComponent, XMainComponent, XFooterComponent] }); }
250
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XContainerModule }); }
248
251
  }
249
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XContainerModule, decorators: [{
252
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XContainerModule, decorators: [{
250
253
  type: NgModule,
251
254
  args: [{
252
255
  imports: [XContainerComponent, XHeaderComponent, XAsideComponent, XMainComponent, XFooterComponent],
@@ -1 +1 @@
1
- {"version":3,"file":"ng-nest-ui-container.mjs","sources":["../../../../lib/ng-nest/ui/container/container.property.ts","../../../../lib/ng-nest/ui/container/container.component.ts","../../../../lib/ng-nest/ui/container/header.component.ts","../../../../lib/ng-nest/ui/container/aside.component.ts","../../../../lib/ng-nest/ui/container/main.component.ts","../../../../lib/ng-nest/ui/container/footer.component.ts","../../../../lib/ng-nest/ui/container/container.module.ts","../../../../lib/ng-nest/ui/container/ng-nest-ui-container.ts"],"sourcesContent":["import { XPropertyFunction, XToCssPixelValue } from '@ng-nest/ui/core';\r\nimport { Component, input } from '@angular/core';\r\nimport type { XDirection, XNumber } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * Container\r\n * @selector x-container\r\n * @decorator component\r\n */\r\nexport const XContainerPrefix = 'x-container';\r\nconst X_CONTAINER_CONFIG_NAME = 'container';\r\n\r\n/**\r\n * Container Property\r\n */\r\n@Component({ selector: `${XContainerPrefix}-property`, template: '' })\r\nexport class XContainerProperty extends XPropertyFunction(X_CONTAINER_CONFIG_NAME) {\r\n /**\r\n * @zh_CN flex 布局下的子元素排列方向,子元素中有 x-header 或 x-footer 时为 column\r\n * @en_US The arrangement direction of the sub-elements under the flex layout. When the sub-elements have x-header or x-footer, it is column\r\n * @default ''\r\n */\r\n readonly direction = input<XDirection>(this.config?.direction!);\r\n}\r\n\r\n/**\r\n * Header\r\n * @selector x-header\r\n * @decorator component\r\n */\r\nexport const XHeaderPrefix = 'x-header';\r\nconst X_HEADER_CONFIG_NAME = 'header';\r\n\r\n/**\r\n * Header Property\r\n */\r\n@Component({ selector: `${XHeaderPrefix}-property`, template: '' })\r\nexport class XHeaderProperty extends XPropertyFunction(X_HEADER_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 高度\r\n * @en_US Height\r\n */\r\n readonly height = input<string, XNumber>(this.config?.height ?? '3rem', { transform: XToCssPixelValue });\r\n}\r\n\r\n/**\r\n * Aside\r\n * @selector x-aside\r\n * @decorator component\r\n */\r\nexport const XAsidePrefix = 'x-aside';\r\nconst X_ASIDE_CONFIG_NAME = 'aside';\r\n\r\n/**\r\n * Aside Property\r\n */\r\n@Component({ selector: `${XAsidePrefix}-property`, template: '' })\r\nexport class XAsideProperty extends XPropertyFunction(X_ASIDE_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 宽度\r\n * @en_US Width\r\n */\r\n readonly width = input<string, XNumber>(this.config?.width ?? '12rem', { transform: XToCssPixelValue });\r\n}\r\n\r\n/**\r\n * main\r\n * @selector x-main\r\n * @decorator component\r\n */\r\nexport const XMainPrefix = 'x-main';\r\n\r\n/**\r\n * Footer\r\n * @selector x-footer\r\n * @decorator component\r\n */\r\nexport const XFooterPrefix = 'x-footer';\r\nconst X_FOOTER_CONFIG_NAME = 'footer';\r\n\r\n/**\r\n * Footer Property\r\n */\r\n@Component({ selector: `${XFooterPrefix}-property`, template: '' })\r\nexport class XFooterProperty extends XPropertyFunction(X_FOOTER_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 高度\r\n * @en_US Height\r\n */\r\n readonly height = input<string, XNumber>(this.config?.height ?? '3rem', { transform: XToCssPixelValue });\r\n}\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, HostBinding, computed, signal } from '@angular/core';\r\nimport { XContainerPrefix, XContainerProperty } from './container.property';\r\nimport type { XDirection } from '@ng-nest/ui/core';\r\n\r\n@Component({\r\n selector: `${XContainerPrefix}`,\r\n template: '<ng-content></ng-content>',\r\n styleUrls: ['./container.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XContainerComponent extends XContainerProperty {\r\n @HostBinding('class') get className() {\r\n return `${XContainerPrefix} ${this.directionClass()}`;\r\n }\r\n\r\n directionSignal = signal<XDirection | null>(null);\r\n\r\n directionClass = computed(() => {\r\n const direction = this.directionSignal() || this.direction();\r\n if (direction) {\r\n return `x-direction-${direction}`;\r\n } else {\r\n return ``;\r\n }\r\n });\r\n}\r\n","import { Component, OnInit, ViewEncapsulation, ChangeDetectionStrategy, HostBinding, inject } from '@angular/core';\r\nimport { XHeaderPrefix, XHeaderProperty } from './container.property';\r\nimport { XContainerComponent } from './container.component';\r\n\r\n@Component({\r\n selector: `${XHeaderPrefix}`,\r\n template: '<ng-content></ng-content>',\r\n styleUrls: ['./header.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XHeaderComponent extends XHeaderProperty implements OnInit {\r\n @HostBinding('class') className = XHeaderPrefix;\r\n @HostBinding(`style.height`) get getHeight() {\r\n return this.height();\r\n }\r\n private container = inject(XContainerComponent, { optional: true, host: true });\r\n\r\n ngOnInit() {\r\n this.setDirection();\r\n }\r\n\r\n setDirection() {\r\n if (!this.container || this.container.direction()) return;\r\n this.container.directionSignal.set('column');\r\n }\r\n}\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, HostBinding } from '@angular/core';\r\nimport { XAsidePrefix, XAsideProperty } from './container.property';\r\n\r\n@Component({\r\n selector: `${XAsidePrefix}`,\r\n template: '<ng-content></ng-content>',\r\n styleUrls: ['./aside.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XAsideComponent extends XAsideProperty {\r\n @HostBinding('class') className = XAsidePrefix;\r\n @HostBinding(`style.width`) get getWidth() {\r\n return this.width();\r\n }\r\n}\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, HostBinding } from '@angular/core';\r\nimport { XMainPrefix } from './container.property';\r\n\r\n@Component({\r\n selector: `${XMainPrefix}`,\r\n template: '<ng-content></ng-content>',\r\n styleUrls: ['./main.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XMainComponent {\r\n @HostBinding('class') className = XMainPrefix;\r\n}\r\n","import { Component, OnInit, ViewEncapsulation, ChangeDetectionStrategy, HostBinding, inject } from '@angular/core';\r\nimport { XFooterPrefix, XFooterProperty } from './container.property';\r\nimport { XContainerComponent } from './container.component';\r\n\r\n@Component({\r\n selector: `${XFooterPrefix}`,\r\n template: '<ng-content></ng-content>',\r\n styleUrls: ['./footer.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XFooterComponent extends XFooterProperty implements OnInit {\r\n @HostBinding('class') className = XFooterPrefix;\r\n @HostBinding(`style.height`) get getHeight() {\r\n return this.height();\r\n }\r\n private container = inject(XContainerComponent, { optional: true, host: true });\r\n\r\n ngOnInit() {\r\n this.setDirection();\r\n }\r\n\r\n setDirection() {\r\n if (!this.container || this.container.direction()) return;\r\n this.container.directionSignal.set('column');\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { XContainerComponent } from './container.component';\r\nimport { XFooterComponent } from './footer.component';\r\nimport { XMainComponent } from './main.component';\r\nimport { XAsideComponent } from './aside.component';\r\nimport { XHeaderComponent } from './header.component';\r\n\r\n@NgModule({\r\n imports: [XContainerComponent, XHeaderComponent, XAsideComponent, XMainComponent, XFooterComponent],\r\n exports: [XContainerComponent, XHeaderComponent, XAsideComponent, XMainComponent, XFooterComponent]\r\n})\r\nexport class XContainerModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;AAIA;;;;AAIG;AACI,MAAM,gBAAgB,GAAG;AAChC,MAAM,uBAAuB,GAAG,WAAW;AAE3C;;AAEG;MAEU,kBAAmB,SAAQ,iBAAiB,CAAC,uBAAuB,CAAC,CAAA;AADlF,IAAA,WAAA,GAAA;;AAEE;;;;AAIG;QACM,IAAA,CAAA,SAAS,GAAG,KAAK,CAAa,IAAI,CAAC,MAAM,EAAE,SAAU,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,WAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;AAChE,IAAA;iIAPY,kBAAkB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,uPADkC,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;;2FACtD,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAD9B,SAAS;mBAAC,EAAE,QAAQ,EAAE,CAAA,EAAG,gBAAgB,WAAW,EAAE,QAAQ,EAAE,EAAE,EAAE;;AAUrE;;;;AAIG;AACI,MAAM,aAAa,GAAG;AAC7B,MAAM,oBAAoB,GAAG,QAAQ;AAErC;;AAEG;MAEU,eAAgB,SAAQ,iBAAiB,CAAC,oBAAoB,CAAC,CAAA;AAD5E,IAAA,WAAA,GAAA;;AAEE;;;AAGG;AACM,QAAA,IAAA,CAAA,MAAM,GAAG,KAAK,CAAkB,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,MAAM,EAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,QAAA,EAAA,GAAA,EAAA,CAAA,EAAI,SAAS,EAAE,gBAAgB,GAAG;AACzG,IAAA;iIANY,eAAe,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,2OADkC,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;;2FACnD,eAAe,EAAA,UAAA,EAAA,CAAA;kBAD3B,SAAS;mBAAC,EAAE,QAAQ,EAAE,CAAA,EAAG,aAAa,WAAW,EAAE,QAAQ,EAAE,EAAE,EAAE;;AASlE;;;;AAIG;AACI,MAAM,YAAY,GAAG;AAC5B,MAAM,mBAAmB,GAAG,OAAO;AAEnC;;AAEG;MAEU,cAAe,SAAQ,iBAAiB,CAAC,mBAAmB,CAAC,CAAA;AAD1E,IAAA,WAAA,GAAA;;AAEE;;;AAGG;AACM,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAkB,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,OAAO,EAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,OAAA,EAAA,GAAA,EAAA,CAAA,EAAI,SAAS,EAAE,gBAAgB,GAAG;AACxG,IAAA;iIANY,cAAc,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAd,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,cAAc,uOADkC,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;;2FAClD,cAAc,EAAA,UAAA,EAAA,CAAA;kBAD1B,SAAS;mBAAC,EAAE,QAAQ,EAAE,CAAA,EAAG,YAAY,WAAW,EAAE,QAAQ,EAAE,EAAE,EAAE;;AASjE;;;;AAIG;AACI,MAAM,WAAW,GAAG;AAE3B;;;;AAIG;AACI,MAAM,aAAa,GAAG;AAC7B,MAAM,oBAAoB,GAAG,QAAQ;AAErC;;AAEG;MAEU,eAAgB,SAAQ,iBAAiB,CAAC,oBAAoB,CAAC,CAAA;AAD5E,IAAA,WAAA,GAAA;;AAEE;;;AAGG;AACM,QAAA,IAAA,CAAA,MAAM,GAAG,KAAK,CAAkB,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,MAAM,EAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,QAAA,EAAA,GAAA,EAAA,CAAA,EAAI,SAAS,EAAE,gBAAgB,GAAG;AACzG,IAAA;iIANY,eAAe,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,2OADkC,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;;2FACnD,eAAe,EAAA,UAAA,EAAA,CAAA;kBAD3B,SAAS;mBAAC,EAAE,QAAQ,EAAE,CAAA,EAAG,aAAa,WAAW,EAAE,QAAQ,EAAE,EAAE,EAAE;;;ACxE5D,MAAO,mBAAoB,SAAQ,kBAAkB,CAAA;AAP3D,IAAA,WAAA,GAAA;;AAYE,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAoB,IAAI,2DAAC;AAEjD,QAAA,IAAA,CAAA,cAAc,GAAG,QAAQ,CAAC,MAAK;YAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE;YAC5D,IAAI,SAAS,EAAE;gBACb,OAAO,CAAA,YAAA,EAAe,SAAS,CAAA,CAAE;YACnC;iBAAO;AACL,gBAAA,OAAO,EAAE;YACX;AACF,QAAA,CAAC,0DAAC;AACH,IAAA;AAdC,IAAA,IAA0B,SAAS,GAAA;QACjC,OAAO,CAAA,EAAG,gBAAgB,CAAA,CAAA,EAAI,IAAI,CAAC,cAAc,EAAE,EAAE;IACvD;iIAHW,mBAAmB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,mJALpB,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,sXAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAK1B,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAP/B,SAAS;+BACE,CAAA,EAAG,gBAAgB,CAAA,CAAE,EAAA,QAAA,EACrB,2BAA2B,EAAA,aAAA,EAEtB,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,MAAA,EAAA,CAAA,sXAAA,CAAA,EAAA;;sBAG9C,WAAW;uBAAC,OAAO;;;ACDhB,MAAO,gBAAiB,SAAQ,eAAe,CAAA;AAPrD,IAAA,WAAA,GAAA;;QAQwB,IAAA,CAAA,SAAS,GAAG,aAAa;AAIvC,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,mBAAmB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAUhF,IAAA;AAbC,IAAA,IAAiC,SAAS,GAAA;AACxC,QAAA,OAAO,IAAI,CAAC,MAAM,EAAE;IACtB;IAGA,QAAQ,GAAA;QACN,IAAI,CAAC,YAAY,EAAE;IACrB;IAEA,YAAY,GAAA;QACV,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE;YAAE;QACnD,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC;IAC9C;iIAdW,gBAAgB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,kLALjB,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,wEAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAK1B,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAP5B,SAAS;+BACE,CAAA,EAAG,aAAa,CAAA,CAAE,EAAA,QAAA,EAClB,2BAA2B,EAAA,aAAA,EAEtB,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,MAAA,EAAA,CAAA,wEAAA,CAAA,EAAA;;sBAG9C,WAAW;uBAAC,OAAO;;sBACnB,WAAW;uBAAC,CAAA,YAAA,CAAc;;;ACHvB,MAAO,eAAgB,SAAQ,cAAc,CAAA;AAPnD,IAAA,WAAA,GAAA;;QAQwB,IAAA,CAAA,SAAS,GAAG,YAAY;AAI/C,IAAA;AAHC,IAAA,IAAgC,QAAQ,GAAA;AACtC,QAAA,OAAO,IAAI,CAAC,KAAK,EAAE;IACrB;iIAJW,eAAe,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,+KALhB,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,qEAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAK1B,eAAe,EAAA,UAAA,EAAA,CAAA;kBAP3B,SAAS;+BACE,CAAA,EAAG,YAAY,CAAA,CAAE,EAAA,QAAA,EACjB,2BAA2B,EAAA,aAAA,EAEtB,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,MAAA,EAAA,CAAA,qEAAA,CAAA,EAAA;;sBAG9C,WAAW;uBAAC,OAAO;;sBACnB,WAAW;uBAAC,CAAA,WAAA,CAAa;;;MCFf,cAAc,CAAA;AAP3B,IAAA,WAAA,GAAA;QAQwB,IAAA,CAAA,SAAS,GAAG,WAAW;AAC9C,IAAA;iIAFY,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAd,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,cAAc,uHALf,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,uGAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAK1B,cAAc,EAAA,UAAA,EAAA,CAAA;kBAP1B,SAAS;+BACE,CAAA,EAAG,WAAW,CAAA,CAAE,EAAA,QAAA,EAChB,2BAA2B,EAAA,aAAA,EAEtB,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,MAAA,EAAA,CAAA,uGAAA,CAAA,EAAA;;sBAG9C,WAAW;uBAAC,OAAO;;;ACAhB,MAAO,gBAAiB,SAAQ,eAAe,CAAA;AAPrD,IAAA,WAAA,GAAA;;QAQwB,IAAA,CAAA,SAAS,GAAG,aAAa;AAIvC,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,mBAAmB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAUhF,IAAA;AAbC,IAAA,IAAiC,SAAS,GAAA;AACxC,QAAA,OAAO,IAAI,CAAC,MAAM,EAAE;IACtB;IAGA,QAAQ,GAAA;QACN,IAAI,CAAC,YAAY,EAAE;IACrB;IAEA,YAAY,GAAA;QACV,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE;YAAE;QACnD,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC;IAC9C;iIAdW,gBAAgB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,kLALjB,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,wEAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAK1B,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAP5B,SAAS;+BACE,CAAA,EAAG,aAAa,CAAA,CAAE,EAAA,QAAA,EAClB,2BAA2B,EAAA,aAAA,EAEtB,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,MAAA,EAAA,CAAA,wEAAA,CAAA,EAAA;;sBAG9C,WAAW;uBAAC,OAAO;;sBACnB,WAAW;uBAAC,CAAA,YAAA,CAAc;;;MCFhB,gBAAgB,CAAA;iIAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAhB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,YAHjB,mBAAmB,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,CAAA,EAAA,OAAA,EAAA,CACxF,mBAAmB,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,CAAA,EAAA,CAAA,CAAA;kIAEvF,gBAAgB,EAAA,CAAA,CAAA;;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAJ5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,mBAAmB,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,CAAC;oBACnG,OAAO,EAAE,CAAC,mBAAmB,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB;AACnG,iBAAA;;;ACVD;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-nest-ui-container.mjs","sources":["../../../../lib/ng-nest/ui/container/container.property.ts","../../../../lib/ng-nest/ui/container/container.component.ts","../../../../lib/ng-nest/ui/container/header.component.ts","../../../../lib/ng-nest/ui/container/aside.component.ts","../../../../lib/ng-nest/ui/container/main.component.ts","../../../../lib/ng-nest/ui/container/footer.component.ts","../../../../lib/ng-nest/ui/container/container.module.ts","../../../../lib/ng-nest/ui/container/ng-nest-ui-container.ts"],"sourcesContent":["import { XPropertyFunction, XToCssPixelValue } from '@ng-nest/ui/core';\r\nimport { Component, input } from '@angular/core';\r\nimport type { XDirection, XNumber } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * Container\r\n * @selector x-container\r\n * @decorator component\r\n */\r\nexport const XContainerPrefix = 'x-container';\r\nconst X_CONTAINER_CONFIG_NAME = 'container';\r\n\r\n/**\r\n * Container Property\r\n */\r\n@Component({ selector: `${XContainerPrefix}-property`, template: '' })\r\nexport class XContainerProperty extends XPropertyFunction(X_CONTAINER_CONFIG_NAME) {\r\n /**\r\n * @zh_CN flex 布局下的子元素排列方向,子元素中有 x-header 或 x-footer 时为 column\r\n * @en_US The arrangement direction of the sub-elements under the flex layout. When the sub-elements have x-header or x-footer, it is column\r\n * @default ''\r\n */\r\n readonly direction = input<XDirection>(this.config?.direction!);\r\n}\r\n\r\n/**\r\n * Header\r\n * @selector x-header\r\n * @decorator component\r\n */\r\nexport const XHeaderPrefix = 'x-header';\r\nconst X_HEADER_CONFIG_NAME = 'header';\r\n\r\n/**\r\n * Header Property\r\n */\r\n@Component({ selector: `${XHeaderPrefix}-property`, template: '' })\r\nexport class XHeaderProperty extends XPropertyFunction(X_HEADER_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 高度\r\n * @en_US Height\r\n */\r\n readonly height = input<string, XNumber>(this.config?.height ?? '3rem', { transform: XToCssPixelValue });\r\n}\r\n\r\n/**\r\n * Aside\r\n * @selector x-aside\r\n * @decorator component\r\n */\r\nexport const XAsidePrefix = 'x-aside';\r\nconst X_ASIDE_CONFIG_NAME = 'aside';\r\n\r\n/**\r\n * Aside Property\r\n */\r\n@Component({ selector: `${XAsidePrefix}-property`, template: '' })\r\nexport class XAsideProperty extends XPropertyFunction(X_ASIDE_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 宽度\r\n * @en_US Width\r\n */\r\n readonly width = input<string, XNumber>(this.config?.width ?? '12rem', { transform: XToCssPixelValue });\r\n}\r\n\r\n/**\r\n * main\r\n * @selector x-main\r\n * @decorator component\r\n */\r\nexport const XMainPrefix = 'x-main';\r\n\r\n/**\r\n * Footer\r\n * @selector x-footer\r\n * @decorator component\r\n */\r\nexport const XFooterPrefix = 'x-footer';\r\nconst X_FOOTER_CONFIG_NAME = 'footer';\r\n\r\n/**\r\n * Footer Property\r\n */\r\n@Component({ selector: `${XFooterPrefix}-property`, template: '' })\r\nexport class XFooterProperty extends XPropertyFunction(X_FOOTER_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 高度\r\n * @en_US Height\r\n */\r\n readonly height = input<string, XNumber>(this.config?.height ?? '3rem', { transform: XToCssPixelValue });\r\n}\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, HostBinding, computed, signal } from '@angular/core';\r\nimport { XContainerPrefix, XContainerProperty } from './container.property';\r\nimport type { XDirection } from '@ng-nest/ui/core';\r\n\r\n@Component({\r\n selector: `${XContainerPrefix}`,\r\n template: '<ng-content></ng-content>',\r\n styleUrls: ['./container.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XContainerComponent extends XContainerProperty {\r\n @HostBinding('class') get className() {\r\n return `${XContainerPrefix} ${this.directionClass()}`;\r\n }\r\n\r\n directionSignal = signal<XDirection | null>(null);\r\n\r\n directionClass = computed(() => {\r\n const direction = this.directionSignal() || this.direction();\r\n if (direction) {\r\n return `x-direction-${direction}`;\r\n } else {\r\n return ``;\r\n }\r\n });\r\n}\r\n","import { Component, OnInit, ViewEncapsulation, ChangeDetectionStrategy, HostBinding, inject } from '@angular/core';\r\nimport { XHeaderPrefix, XHeaderProperty } from './container.property';\r\nimport { XContainerComponent } from './container.component';\r\n\r\n@Component({\r\n selector: `${XHeaderPrefix}`,\r\n template: '<ng-content></ng-content>',\r\n styleUrls: ['./header.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XHeaderComponent extends XHeaderProperty implements OnInit {\r\n @HostBinding('class') className = XHeaderPrefix;\r\n @HostBinding(`style.height`) get getHeight() {\r\n return this.height();\r\n }\r\n private container = inject(XContainerComponent, { optional: true, host: true });\r\n\r\n ngOnInit() {\r\n this.setDirection();\r\n }\r\n\r\n setDirection() {\r\n if (!this.container || this.container.direction()) return;\r\n this.container.directionSignal.set('column');\r\n }\r\n}\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, HostBinding } from '@angular/core';\r\nimport { XAsidePrefix, XAsideProperty } from './container.property';\r\n\r\n@Component({\r\n selector: `${XAsidePrefix}`,\r\n template: '<ng-content></ng-content>',\r\n styleUrls: ['./aside.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XAsideComponent extends XAsideProperty {\r\n @HostBinding('class') className = XAsidePrefix;\r\n @HostBinding(`style.width`) get getWidth() {\r\n return this.width();\r\n }\r\n}\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, HostBinding } from '@angular/core';\r\nimport { XMainPrefix } from './container.property';\r\n\r\n@Component({\r\n selector: `${XMainPrefix}`,\r\n template: '<ng-content></ng-content>',\r\n styleUrls: ['./main.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XMainComponent {\r\n @HostBinding('class') className = XMainPrefix;\r\n}\r\n","import { Component, OnInit, ViewEncapsulation, ChangeDetectionStrategy, HostBinding, inject } from '@angular/core';\r\nimport { XFooterPrefix, XFooterProperty } from './container.property';\r\nimport { XContainerComponent } from './container.component';\r\n\r\n@Component({\r\n selector: `${XFooterPrefix}`,\r\n template: '<ng-content></ng-content>',\r\n styleUrls: ['./footer.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XFooterComponent extends XFooterProperty implements OnInit {\r\n @HostBinding('class') className = XFooterPrefix;\r\n @HostBinding(`style.height`) get getHeight() {\r\n return this.height();\r\n }\r\n private container = inject(XContainerComponent, { optional: true, host: true });\r\n\r\n ngOnInit() {\r\n this.setDirection();\r\n }\r\n\r\n setDirection() {\r\n if (!this.container || this.container.direction()) return;\r\n this.container.directionSignal.set('column');\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { XContainerComponent } from './container.component';\r\nimport { XFooterComponent } from './footer.component';\r\nimport { XMainComponent } from './main.component';\r\nimport { XAsideComponent } from './aside.component';\r\nimport { XHeaderComponent } from './header.component';\r\n\r\n@NgModule({\r\n imports: [XContainerComponent, XHeaderComponent, XAsideComponent, XMainComponent, XFooterComponent],\r\n exports: [XContainerComponent, XHeaderComponent, XAsideComponent, XMainComponent, XFooterComponent]\r\n})\r\nexport class XContainerModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}