@ng-nest/ui 21.0.3 → 21.0.4

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 (173) 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 +22 -24
  4. package/fesm2022/ng-nest-ui-alert.mjs.map +1 -1
  5. package/fesm2022/ng-nest-ui-anchor.mjs +19 -19
  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 +22 -22
  9. package/fesm2022/ng-nest-ui-attachments.mjs.map +1 -1
  10. package/fesm2022/ng-nest-ui-auto-complete.mjs +26 -30
  11. package/fesm2022/ng-nest-ui-auto-complete.mjs.map +1 -1
  12. package/fesm2022/ng-nest-ui-avatar.mjs +17 -17
  13. package/fesm2022/ng-nest-ui-avatar.mjs.map +1 -1
  14. package/fesm2022/ng-nest-ui-back-top.mjs +13 -13
  15. package/fesm2022/ng-nest-ui-back-top.mjs.map +1 -1
  16. package/fesm2022/ng-nest-ui-badge.mjs +16 -16
  17. package/fesm2022/ng-nest-ui-badge.mjs.map +1 -1
  18. package/fesm2022/ng-nest-ui-base-form.mjs +13 -13
  19. package/fesm2022/ng-nest-ui-base-form.mjs.map +1 -1
  20. package/fesm2022/ng-nest-ui-bubble.mjs +20 -20
  21. package/fesm2022/ng-nest-ui-bubble.mjs.map +1 -1
  22. package/fesm2022/ng-nest-ui-button.mjs +31 -31
  23. package/fesm2022/ng-nest-ui-button.mjs.map +1 -1
  24. package/fesm2022/ng-nest-ui-calendar.mjs +10 -10
  25. package/fesm2022/ng-nest-ui-card.mjs +11 -11
  26. package/fesm2022/ng-nest-ui-card.mjs.map +1 -1
  27. package/fesm2022/ng-nest-ui-carousel.mjs +24 -24
  28. package/fesm2022/ng-nest-ui-carousel.mjs.map +1 -1
  29. package/fesm2022/ng-nest-ui-cascade.mjs +25 -29
  30. package/fesm2022/ng-nest-ui-cascade.mjs.map +1 -1
  31. package/fesm2022/ng-nest-ui-checkbox.mjs +22 -22
  32. package/fesm2022/ng-nest-ui-checkbox.mjs.map +1 -1
  33. package/fesm2022/ng-nest-ui-collapse.mjs +22 -22
  34. package/fesm2022/ng-nest-ui-collapse.mjs.map +1 -1
  35. package/fesm2022/ng-nest-ui-color-picker.mjs +25 -25
  36. package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -1
  37. package/fesm2022/ng-nest-ui-color.mjs +10 -10
  38. package/fesm2022/ng-nest-ui-comment.mjs +19 -19
  39. package/fesm2022/ng-nest-ui-comment.mjs.map +1 -1
  40. package/fesm2022/ng-nest-ui-container.mjs +34 -34
  41. package/fesm2022/ng-nest-ui-container.mjs.map +1 -1
  42. package/fesm2022/ng-nest-ui-core.mjs +18 -18
  43. package/fesm2022/ng-nest-ui-coversations.mjs +11 -11
  44. package/fesm2022/ng-nest-ui-coversations.mjs.map +1 -1
  45. package/fesm2022/ng-nest-ui-crumb.mjs +11 -11
  46. package/fesm2022/ng-nest-ui-crumb.mjs.map +1 -1
  47. package/fesm2022/ng-nest-ui-date-picker.mjs +87 -87
  48. package/fesm2022/ng-nest-ui-date-picker.mjs.map +1 -1
  49. package/fesm2022/ng-nest-ui-description.mjs +20 -20
  50. package/fesm2022/ng-nest-ui-description.mjs.map +1 -1
  51. package/fesm2022/ng-nest-ui-dialog.mjs +58 -58
  52. package/fesm2022/ng-nest-ui-dialog.mjs.map +1 -1
  53. package/fesm2022/ng-nest-ui-doc.mjs +7 -7
  54. package/fesm2022/ng-nest-ui-drag.mjs +10 -10
  55. package/fesm2022/ng-nest-ui-drawer.mjs +34 -34
  56. package/fesm2022/ng-nest-ui-drawer.mjs.map +1 -1
  57. package/fesm2022/ng-nest-ui-dropdown.mjs +21 -21
  58. package/fesm2022/ng-nest-ui-dropdown.mjs.map +1 -1
  59. package/fesm2022/ng-nest-ui-empty.mjs +10 -10
  60. package/fesm2022/ng-nest-ui-examples.mjs +7 -7
  61. package/fesm2022/ng-nest-ui-find.mjs +31 -35
  62. package/fesm2022/ng-nest-ui-find.mjs.map +1 -1
  63. package/fesm2022/ng-nest-ui-form.mjs +21 -21
  64. package/fesm2022/ng-nest-ui-form.mjs.map +1 -1
  65. package/fesm2022/ng-nest-ui-highlight.mjs +14 -14
  66. package/fesm2022/ng-nest-ui-highlight.mjs.map +1 -1
  67. package/fesm2022/ng-nest-ui-i18n.mjs +32 -31
  68. package/fesm2022/ng-nest-ui-i18n.mjs.map +1 -1
  69. package/fesm2022/ng-nest-ui-icon.mjs +14 -14
  70. package/fesm2022/ng-nest-ui-icon.mjs.map +1 -1
  71. package/fesm2022/ng-nest-ui-image.mjs +21 -21
  72. package/fesm2022/ng-nest-ui-image.mjs.map +1 -1
  73. package/fesm2022/ng-nest-ui-inner.mjs +11 -11
  74. package/fesm2022/ng-nest-ui-inner.mjs.map +1 -1
  75. package/fesm2022/ng-nest-ui-input-number.mjs +21 -21
  76. package/fesm2022/ng-nest-ui-input-number.mjs.map +1 -1
  77. package/fesm2022/ng-nest-ui-input.mjs +36 -40
  78. package/fesm2022/ng-nest-ui-input.mjs.map +1 -1
  79. package/fesm2022/ng-nest-ui-keyword.mjs +11 -11
  80. package/fesm2022/ng-nest-ui-keyword.mjs.map +1 -1
  81. package/fesm2022/ng-nest-ui-layout.mjs +25 -25
  82. package/fesm2022/ng-nest-ui-layout.mjs.map +1 -1
  83. package/fesm2022/ng-nest-ui-link.mjs +13 -13
  84. package/fesm2022/ng-nest-ui-link.mjs.map +1 -1
  85. package/fesm2022/ng-nest-ui-list.mjs +41 -41
  86. package/fesm2022/ng-nest-ui-list.mjs.map +1 -1
  87. package/fesm2022/ng-nest-ui-loading.mjs +14 -14
  88. package/fesm2022/ng-nest-ui-loading.mjs.map +1 -1
  89. package/fesm2022/ng-nest-ui-menu.mjs +22 -22
  90. package/fesm2022/ng-nest-ui-menu.mjs.map +1 -1
  91. package/fesm2022/ng-nest-ui-message-box.mjs +10 -10
  92. package/fesm2022/ng-nest-ui-message.mjs +10 -10
  93. package/fesm2022/ng-nest-ui-notification.mjs +10 -10
  94. package/fesm2022/ng-nest-ui-outlet.mjs +7 -7
  95. package/fesm2022/ng-nest-ui-page-header.mjs +10 -10
  96. package/fesm2022/ng-nest-ui-pagination.mjs +27 -31
  97. package/fesm2022/ng-nest-ui-pagination.mjs.map +1 -1
  98. package/fesm2022/ng-nest-ui-pattern.mjs +7 -7
  99. package/fesm2022/ng-nest-ui-popconfirm.mjs +14 -14
  100. package/fesm2022/ng-nest-ui-popconfirm.mjs.map +1 -1
  101. package/fesm2022/ng-nest-ui-popover.mjs +19 -19
  102. package/fesm2022/ng-nest-ui-popover.mjs.map +1 -1
  103. package/fesm2022/ng-nest-ui-portal.mjs +7 -7
  104. package/fesm2022/ng-nest-ui-progress.mjs +22 -22
  105. package/fesm2022/ng-nest-ui-progress.mjs.map +1 -1
  106. package/fesm2022/ng-nest-ui-prompts.mjs +12 -12
  107. package/fesm2022/ng-nest-ui-prompts.mjs.map +1 -1
  108. package/fesm2022/ng-nest-ui-radio.mjs +20 -20
  109. package/fesm2022/ng-nest-ui-radio.mjs.map +1 -1
  110. package/fesm2022/ng-nest-ui-rate.mjs +15 -15
  111. package/fesm2022/ng-nest-ui-rate.mjs.map +1 -1
  112. package/fesm2022/ng-nest-ui-resizable.mjs +14 -14
  113. package/fesm2022/ng-nest-ui-resizable.mjs.map +1 -1
  114. package/fesm2022/ng-nest-ui-result.mjs +10 -10
  115. package/fesm2022/ng-nest-ui-ripple.mjs +12 -12
  116. package/fesm2022/ng-nest-ui-ripple.mjs.map +1 -1
  117. package/fesm2022/ng-nest-ui-scrollable.mjs +19 -7
  118. package/fesm2022/ng-nest-ui-scrollable.mjs.map +1 -1
  119. package/fesm2022/ng-nest-ui-select.mjs +35 -39
  120. package/fesm2022/ng-nest-ui-select.mjs.map +1 -1
  121. package/fesm2022/ng-nest-ui-sender.mjs +19 -19
  122. package/fesm2022/ng-nest-ui-sender.mjs.map +1 -1
  123. package/fesm2022/ng-nest-ui-skeleton.mjs +13 -13
  124. package/fesm2022/ng-nest-ui-skeleton.mjs.map +1 -1
  125. package/fesm2022/ng-nest-ui-slider-select.mjs +21 -21
  126. package/fesm2022/ng-nest-ui-slider-select.mjs.map +1 -1
  127. package/fesm2022/ng-nest-ui-slider.mjs +16 -18
  128. package/fesm2022/ng-nest-ui-slider.mjs.map +1 -1
  129. package/fesm2022/ng-nest-ui-statistic.mjs +16 -16
  130. package/fesm2022/ng-nest-ui-steps.mjs +14 -14
  131. package/fesm2022/ng-nest-ui-steps.mjs.map +1 -1
  132. package/fesm2022/ng-nest-ui-suggestion.mjs +17 -17
  133. package/fesm2022/ng-nest-ui-suggestion.mjs.map +1 -1
  134. package/fesm2022/ng-nest-ui-switch.mjs +15 -15
  135. package/fesm2022/ng-nest-ui-switch.mjs.map +1 -1
  136. package/fesm2022/ng-nest-ui-table-view.mjs +58 -58
  137. package/fesm2022/ng-nest-ui-table.mjs +90 -112
  138. package/fesm2022/ng-nest-ui-table.mjs.map +1 -1
  139. package/fesm2022/ng-nest-ui-tabs.mjs +38 -40
  140. package/fesm2022/ng-nest-ui-tabs.mjs.map +1 -1
  141. package/fesm2022/ng-nest-ui-tag.mjs +16 -16
  142. package/fesm2022/ng-nest-ui-tag.mjs.map +1 -1
  143. package/fesm2022/ng-nest-ui-text-retract.mjs +11 -11
  144. package/fesm2022/ng-nest-ui-text-retract.mjs.map +1 -1
  145. package/fesm2022/ng-nest-ui-textarea.mjs +19 -19
  146. package/fesm2022/ng-nest-ui-textarea.mjs.map +1 -1
  147. package/fesm2022/ng-nest-ui-theme.mjs +12 -12
  148. package/fesm2022/ng-nest-ui-theme.mjs.map +1 -1
  149. package/fesm2022/ng-nest-ui-thought-chain.mjs +12 -12
  150. package/fesm2022/ng-nest-ui-thought-chain.mjs.map +1 -1
  151. package/fesm2022/ng-nest-ui-time-ago.mjs +7 -7
  152. package/fesm2022/ng-nest-ui-time-picker.mjs +28 -28
  153. package/fesm2022/ng-nest-ui-time-picker.mjs.map +1 -1
  154. package/fesm2022/ng-nest-ui-time-range.mjs +7 -7
  155. package/fesm2022/ng-nest-ui-timeline.mjs +12 -12
  156. package/fesm2022/ng-nest-ui-timeline.mjs.map +1 -1
  157. package/fesm2022/ng-nest-ui-tooltip.mjs +17 -17
  158. package/fesm2022/ng-nest-ui-tooltip.mjs.map +1 -1
  159. package/fesm2022/ng-nest-ui-transfer.mjs +14 -14
  160. package/fesm2022/ng-nest-ui-transfer.mjs.map +1 -1
  161. package/fesm2022/ng-nest-ui-tree-file.mjs +17 -17
  162. package/fesm2022/ng-nest-ui-tree-file.mjs.map +1 -1
  163. package/fesm2022/ng-nest-ui-tree-select.mjs +36 -42
  164. package/fesm2022/ng-nest-ui-tree-select.mjs.map +1 -1
  165. package/fesm2022/ng-nest-ui-tree.mjs +44 -46
  166. package/fesm2022/ng-nest-ui-tree.mjs.map +1 -1
  167. package/fesm2022/ng-nest-ui-typography.mjs +10 -10
  168. package/fesm2022/ng-nest-ui-upload.mjs +24 -24
  169. package/fesm2022/ng-nest-ui-upload.mjs.map +1 -1
  170. package/fesm2022/ng-nest-ui-welcome.mjs +10 -10
  171. package/package.json +1 -1
  172. package/types/ng-nest-ui-i18n.d.ts +13 -11
  173. package/types/ng-nest-ui-scrollable.d.ts +6 -0
@@ -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 }] : [{ transform: XToDataArray }]));
31
+ this.data = input([], { ...(ngDevMode ? { debugName: "data" } : {}), 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 }] : [{ transform: XToNumber }]));
36
+ this.contentMax = input(this.config?.contentMax ?? 512, { ...(ngDevMode ? { debugName: "contentMax" } : {}), 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.0.0", ngImport: i0, type: XCommentProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
64
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.0", 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: "21.0.6", ngImport: i0, type: XCommentProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
64
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.6", 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.0.0", ngImport: i0, type: XCommentProperty, decorators: [{
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", 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 }] : [{ transform: XToNumber }]));
86
+ this.maxlength = input(this.config?.maxlength ?? 512, { ...(ngDevMode ? { debugName: "maxlength" } : {}), 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.0.0", ngImport: i0, type: XCommentReplyProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
94
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.0", 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: "21.0.6", ngImport: i0, type: XCommentReplyProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
94
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.6", 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.0.0", ngImport: i0, type: XCommentReplyProperty, decorators: [{
96
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", 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"] }] } });
@@ -106,10 +106,10 @@ class XCommentReplyComponent extends XCommentReplyProperty {
106
106
  sureOnClick() {
107
107
  this.sureClick.emit(this.inputValue());
108
108
  }
109
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XCommentReplyComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
110
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0", 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 }); }
109
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XCommentReplyComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
110
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.6", 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
111
  }
112
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XCommentReplyComponent, decorators: [{
112
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XCommentReplyComponent, decorators: [{
113
113
  type: Component,
114
114
  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
115
  }] });
@@ -140,10 +140,10 @@ class XCommentComponent extends XCommentProperty {
140
140
  hasMore(node) {
141
141
  return node.count > node.children?.length;
142
142
  }
143
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XCommentComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
144
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0", 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 }); }
143
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XCommentComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
144
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", 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
145
  }
146
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XCommentComponent, decorators: [{
146
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XCommentComponent, decorators: [{
147
147
  type: Component,
148
148
  args: [{ selector: `${XCommentPrefix}`, imports: [
149
149
  XI18nPipe,
@@ -158,11 +158,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImpor
158
158
  }] });
159
159
 
160
160
  class XCommentModule {
161
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XCommentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
162
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.0", ngImport: i0, type: XCommentModule, imports: [XCommentComponent, XCommentReplyComponent], exports: [XCommentComponent, XCommentReplyComponent] }); }
163
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XCommentModule, imports: [XCommentComponent, XCommentReplyComponent] }); }
161
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XCommentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
162
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.6", ngImport: i0, type: XCommentModule, imports: [XCommentComponent, XCommentReplyComponent], exports: [XCommentComponent, XCommentReplyComponent] }); }
163
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XCommentModule, imports: [XCommentComponent, XCommentReplyComponent] }); }
164
164
  }
165
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XCommentModule, decorators: [{
165
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XCommentModule, decorators: [{
166
166
  type: NgModule,
167
167
  args: [{
168
168
  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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"}
@@ -22,10 +22,10 @@ class XContainerProperty extends XPropertyFunction(X_CONTAINER_CONFIG_NAME) {
22
22
  */
23
23
  this.direction = input(this.config?.direction, ...(ngDevMode ? [{ debugName: "direction" }] : []));
24
24
  }
25
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XContainerProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
26
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.0", 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 }); }
25
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XContainerProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
26
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.6", 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
27
  }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XContainerProperty, decorators: [{
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XContainerProperty, decorators: [{
29
29
  type: Component,
30
30
  args: [{ selector: `${XContainerPrefix}-property`, template: '' }]
31
31
  }], propDecorators: { direction: [{ type: i0.Input, args: [{ isSignal: true, alias: "direction", required: false }] }] } });
@@ -46,12 +46,12 @@ class XHeaderProperty extends XPropertyFunction(X_HEADER_CONFIG_NAME) {
46
46
  * @zh_CN 高度
47
47
  * @en_US Height
48
48
  */
49
- this.height = input(this.config?.height ?? '3rem', ...(ngDevMode ? [{ debugName: "height", transform: XToCssPixelValue }] : [{ transform: XToCssPixelValue }]));
49
+ this.height = input(this.config?.height ?? '3rem', { ...(ngDevMode ? { debugName: "height" } : {}), transform: XToCssPixelValue });
50
50
  }
51
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XHeaderProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
52
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.0", 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 }); }
51
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XHeaderProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
52
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.6", 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
53
  }
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XHeaderProperty, decorators: [{
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XHeaderProperty, decorators: [{
55
55
  type: Component,
56
56
  args: [{ selector: `${XHeaderPrefix}-property`, template: '' }]
57
57
  }], propDecorators: { height: [{ type: i0.Input, args: [{ isSignal: true, alias: "height", required: false }] }] } });
@@ -72,12 +72,12 @@ class XAsideProperty extends XPropertyFunction(X_ASIDE_CONFIG_NAME) {
72
72
  * @zh_CN 宽度
73
73
  * @en_US Width
74
74
  */
75
- this.width = input(this.config?.width ?? '12rem', ...(ngDevMode ? [{ debugName: "width", transform: XToCssPixelValue }] : [{ transform: XToCssPixelValue }]));
75
+ this.width = input(this.config?.width ?? '12rem', { ...(ngDevMode ? { debugName: "width" } : {}), transform: XToCssPixelValue });
76
76
  }
77
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XAsideProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
78
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.0", 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 }); }
77
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XAsideProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
78
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.6", 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
79
  }
80
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XAsideProperty, decorators: [{
80
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XAsideProperty, decorators: [{
81
81
  type: Component,
82
82
  args: [{ selector: `${XAsidePrefix}-property`, template: '' }]
83
83
  }], propDecorators: { width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }] } });
@@ -104,12 +104,12 @@ class XFooterProperty extends XPropertyFunction(X_FOOTER_CONFIG_NAME) {
104
104
  * @zh_CN 高度
105
105
  * @en_US Height
106
106
  */
107
- this.height = input(this.config?.height ?? '3rem', ...(ngDevMode ? [{ debugName: "height", transform: XToCssPixelValue }] : [{ transform: XToCssPixelValue }]));
107
+ this.height = input(this.config?.height ?? '3rem', { ...(ngDevMode ? { debugName: "height" } : {}), transform: XToCssPixelValue });
108
108
  }
109
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XFooterProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
110
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.0", 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 }); }
109
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XFooterProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
110
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.6", 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
111
  }
112
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XFooterProperty, decorators: [{
112
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XFooterProperty, decorators: [{
113
113
  type: Component,
114
114
  args: [{ selector: `${XFooterPrefix}-property`, template: '' }]
115
115
  }], propDecorators: { height: [{ type: i0.Input, args: [{ isSignal: true, alias: "height", required: false }] }] } });
@@ -131,10 +131,10 @@ class XContainerComponent extends XContainerProperty {
131
131
  get className() {
132
132
  return `${XContainerPrefix} ${this.directionClass()}`;
133
133
  }
134
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XContainerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
135
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0", 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 }); }
134
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XContainerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
135
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.6", 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
136
  }
137
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XContainerComponent, decorators: [{
137
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XContainerComponent, decorators: [{
138
138
  type: Component,
139
139
  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
140
  }], propDecorators: { className: [{
@@ -159,10 +159,10 @@ class XHeaderComponent extends XHeaderProperty {
159
159
  return;
160
160
  this.container.directionSignal.set('column');
161
161
  }
162
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XHeaderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
163
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0", 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 }); }
162
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XHeaderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
163
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.6", 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
164
  }
165
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XHeaderComponent, decorators: [{
165
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XHeaderComponent, decorators: [{
166
166
  type: Component,
167
167
  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
168
  }], propDecorators: { className: [{
@@ -181,10 +181,10 @@ class XAsideComponent extends XAsideProperty {
181
181
  get getWidth() {
182
182
  return this.width();
183
183
  }
184
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XAsideComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
185
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0", 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 }); }
184
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XAsideComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
185
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.6", 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
186
  }
187
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XAsideComponent, decorators: [{
187
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XAsideComponent, decorators: [{
188
188
  type: Component,
189
189
  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
190
  }], propDecorators: { className: [{
@@ -199,10 +199,10 @@ class XMainComponent {
199
199
  constructor() {
200
200
  this.className = XMainPrefix;
201
201
  }
202
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XMainComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
203
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0", 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 }); }
202
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XMainComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
203
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.6", 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
204
  }
205
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XMainComponent, decorators: [{
205
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XMainComponent, decorators: [{
206
206
  type: Component,
207
207
  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
208
  }], propDecorators: { className: [{
@@ -227,10 +227,10 @@ class XFooterComponent extends XFooterProperty {
227
227
  return;
228
228
  this.container.directionSignal.set('column');
229
229
  }
230
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XFooterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
231
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0", 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 }); }
230
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XFooterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
231
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.6", 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
232
  }
233
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XFooterComponent, decorators: [{
233
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XFooterComponent, decorators: [{
234
234
  type: Component,
235
235
  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
236
  }], propDecorators: { className: [{
@@ -242,11 +242,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImpor
242
242
  }] } });
243
243
 
244
244
  class XContainerModule {
245
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XContainerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
246
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.0", 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.0.0", ngImport: i0, type: XContainerModule }); }
245
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XContainerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
246
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.6", 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.0.6", ngImport: i0, type: XContainerModule }); }
248
248
  }
249
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XContainerModule, decorators: [{
249
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XContainerModule, decorators: [{
250
250
  type: NgModule,
251
251
  args: [{
252
252
  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":"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"}
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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"}