@ng-nest/ui 20.0.7 → 20.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (206) hide show
  1. package/auto-complete/index.d.ts +33 -8
  2. package/base-form/index.d.ts +3 -3
  3. package/calendar/index.d.ts +1 -2
  4. package/cascade/index.d.ts +33 -8
  5. package/checkbox/index.d.ts +3 -3
  6. package/color-picker/index.d.ts +34 -8
  7. package/core/index.d.ts +40 -8
  8. package/date-picker/index.d.ts +57 -12
  9. package/dropdown/index.d.ts +4 -4
  10. package/fesm2022/ng-nest-ui-affix.mjs +12 -12
  11. package/fesm2022/ng-nest-ui-affix.mjs.map +1 -1
  12. package/fesm2022/ng-nest-ui-alert.mjs +35 -35
  13. package/fesm2022/ng-nest-ui-alert.mjs.map +1 -1
  14. package/fesm2022/ng-nest-ui-anchor.mjs +31 -31
  15. package/fesm2022/ng-nest-ui-anchor.mjs.map +1 -1
  16. package/fesm2022/ng-nest-ui-api.mjs +7 -7
  17. package/fesm2022/ng-nest-ui-api.mjs.map +1 -1
  18. package/fesm2022/ng-nest-ui-auto-complete.mjs +82 -72
  19. package/fesm2022/ng-nest-ui-auto-complete.mjs.map +1 -1
  20. package/fesm2022/ng-nest-ui-avatar.mjs +31 -31
  21. package/fesm2022/ng-nest-ui-avatar.mjs.map +1 -1
  22. package/fesm2022/ng-nest-ui-back-top.mjs +18 -18
  23. package/fesm2022/ng-nest-ui-back-top.mjs.map +1 -1
  24. package/fesm2022/ng-nest-ui-badge.mjs +23 -23
  25. package/fesm2022/ng-nest-ui-badge.mjs.map +1 -1
  26. package/fesm2022/ng-nest-ui-base-form.mjs +45 -45
  27. package/fesm2022/ng-nest-ui-base-form.mjs.map +1 -1
  28. package/fesm2022/ng-nest-ui-button.mjs +42 -42
  29. package/fesm2022/ng-nest-ui-button.mjs.map +1 -1
  30. package/fesm2022/ng-nest-ui-calendar.mjs +20 -20
  31. package/fesm2022/ng-nest-ui-calendar.mjs.map +1 -1
  32. package/fesm2022/ng-nest-ui-card.mjs +15 -15
  33. package/fesm2022/ng-nest-ui-card.mjs.map +1 -1
  34. package/fesm2022/ng-nest-ui-carousel.mjs +46 -46
  35. package/fesm2022/ng-nest-ui-carousel.mjs.map +1 -1
  36. package/fesm2022/ng-nest-ui-cascade.mjs +86 -76
  37. package/fesm2022/ng-nest-ui-cascade.mjs.map +1 -1
  38. package/fesm2022/ng-nest-ui-checkbox.mjs +39 -39
  39. package/fesm2022/ng-nest-ui-checkbox.mjs.map +1 -1
  40. package/fesm2022/ng-nest-ui-collapse.mjs +31 -31
  41. package/fesm2022/ng-nest-ui-collapse.mjs.map +1 -1
  42. package/fesm2022/ng-nest-ui-color-picker.mjs +91 -72
  43. package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -1
  44. package/fesm2022/ng-nest-ui-color.mjs +16 -16
  45. package/fesm2022/ng-nest-ui-color.mjs.map +1 -1
  46. package/fesm2022/ng-nest-ui-comment.mjs +21 -21
  47. package/fesm2022/ng-nest-ui-comment.mjs.map +1 -1
  48. package/fesm2022/ng-nest-ui-container.mjs +37 -37
  49. package/fesm2022/ng-nest-ui-container.mjs.map +1 -1
  50. package/fesm2022/ng-nest-ui-core.mjs +38 -22
  51. package/fesm2022/ng-nest-ui-core.mjs.map +1 -1
  52. package/fesm2022/ng-nest-ui-crumb.mjs +13 -13
  53. package/fesm2022/ng-nest-ui-crumb.mjs.map +1 -1
  54. package/fesm2022/ng-nest-ui-date-picker.mjs +273 -253
  55. package/fesm2022/ng-nest-ui-date-picker.mjs.map +1 -1
  56. package/fesm2022/ng-nest-ui-description.mjs +31 -31
  57. package/fesm2022/ng-nest-ui-description.mjs.map +1 -1
  58. package/fesm2022/ng-nest-ui-dialog.mjs +81 -81
  59. package/fesm2022/ng-nest-ui-dialog.mjs.map +1 -1
  60. package/fesm2022/ng-nest-ui-doc.mjs +7 -7
  61. package/fesm2022/ng-nest-ui-doc.mjs.map +1 -1
  62. package/fesm2022/ng-nest-ui-drag.mjs +10 -10
  63. package/fesm2022/ng-nest-ui-drag.mjs.map +1 -1
  64. package/fesm2022/ng-nest-ui-drawer.mjs +42 -42
  65. package/fesm2022/ng-nest-ui-drawer.mjs.map +1 -1
  66. package/fesm2022/ng-nest-ui-dropdown.mjs +49 -49
  67. package/fesm2022/ng-nest-ui-dropdown.mjs.map +1 -1
  68. package/fesm2022/ng-nest-ui-empty.mjs +12 -12
  69. package/fesm2022/ng-nest-ui-empty.mjs.map +1 -1
  70. package/fesm2022/ng-nest-ui-examples.mjs +7 -7
  71. package/fesm2022/ng-nest-ui-examples.mjs.map +1 -1
  72. package/fesm2022/ng-nest-ui-find.mjs +79 -77
  73. package/fesm2022/ng-nest-ui-find.mjs.map +1 -1
  74. package/fesm2022/ng-nest-ui-form.mjs +33 -33
  75. package/fesm2022/ng-nest-ui-form.mjs.map +1 -1
  76. package/fesm2022/ng-nest-ui-highlight.mjs +20 -20
  77. package/fesm2022/ng-nest-ui-highlight.mjs.map +1 -1
  78. package/fesm2022/ng-nest-ui-i18n.mjs +15 -15
  79. package/fesm2022/ng-nest-ui-i18n.mjs.map +1 -1
  80. package/fesm2022/ng-nest-ui-icon.mjs +21 -21
  81. package/fesm2022/ng-nest-ui-icon.mjs.map +1 -1
  82. package/fesm2022/ng-nest-ui-image.mjs +39 -39
  83. package/fesm2022/ng-nest-ui-image.mjs.map +1 -1
  84. package/fesm2022/ng-nest-ui-inner.mjs +11 -11
  85. package/fesm2022/ng-nest-ui-inner.mjs.map +1 -1
  86. package/fesm2022/ng-nest-ui-input-number.mjs +42 -42
  87. package/fesm2022/ng-nest-ui-input-number.mjs.map +1 -1
  88. package/fesm2022/ng-nest-ui-input.mjs +102 -81
  89. package/fesm2022/ng-nest-ui-input.mjs.map +1 -1
  90. package/fesm2022/ng-nest-ui-keyword.mjs +15 -15
  91. package/fesm2022/ng-nest-ui-keyword.mjs.map +1 -1
  92. package/fesm2022/ng-nest-ui-layout.mjs +31 -31
  93. package/fesm2022/ng-nest-ui-layout.mjs.map +1 -1
  94. package/fesm2022/ng-nest-ui-link.mjs +18 -18
  95. package/fesm2022/ng-nest-ui-link.mjs.map +1 -1
  96. package/fesm2022/ng-nest-ui-list.mjs +80 -80
  97. package/fesm2022/ng-nest-ui-list.mjs.map +1 -1
  98. package/fesm2022/ng-nest-ui-loading.mjs +22 -22
  99. package/fesm2022/ng-nest-ui-loading.mjs.map +1 -1
  100. package/fesm2022/ng-nest-ui-menu.mjs +45 -45
  101. package/fesm2022/ng-nest-ui-menu.mjs.map +1 -1
  102. package/fesm2022/ng-nest-ui-message-box.mjs +10 -10
  103. package/fesm2022/ng-nest-ui-message-box.mjs.map +1 -1
  104. package/fesm2022/ng-nest-ui-message.mjs +10 -10
  105. package/fesm2022/ng-nest-ui-message.mjs.map +1 -1
  106. package/fesm2022/ng-nest-ui-notification.mjs +10 -10
  107. package/fesm2022/ng-nest-ui-notification.mjs.map +1 -1
  108. package/fesm2022/ng-nest-ui-outlet.mjs +9 -9
  109. package/fesm2022/ng-nest-ui-outlet.mjs.map +1 -1
  110. package/fesm2022/ng-nest-ui-page-header.mjs +15 -15
  111. package/fesm2022/ng-nest-ui-page-header.mjs.map +1 -1
  112. package/fesm2022/ng-nest-ui-pagination.mjs +53 -53
  113. package/fesm2022/ng-nest-ui-pagination.mjs.map +1 -1
  114. package/fesm2022/ng-nest-ui-pattern.mjs +7 -7
  115. package/fesm2022/ng-nest-ui-pattern.mjs.map +1 -1
  116. package/fesm2022/ng-nest-ui-popconfirm.mjs +27 -27
  117. package/fesm2022/ng-nest-ui-popconfirm.mjs.map +1 -1
  118. package/fesm2022/ng-nest-ui-popover.mjs +38 -38
  119. package/fesm2022/ng-nest-ui-popover.mjs.map +1 -1
  120. package/fesm2022/ng-nest-ui-portal.mjs +7 -7
  121. package/fesm2022/ng-nest-ui-portal.mjs.map +1 -1
  122. package/fesm2022/ng-nest-ui-progress.mjs +38 -38
  123. package/fesm2022/ng-nest-ui-progress.mjs.map +1 -1
  124. package/fesm2022/ng-nest-ui-radio.mjs +36 -36
  125. package/fesm2022/ng-nest-ui-radio.mjs.map +1 -1
  126. package/fesm2022/ng-nest-ui-rate.mjs +30 -30
  127. package/fesm2022/ng-nest-ui-rate.mjs.map +1 -1
  128. package/fesm2022/ng-nest-ui-resizable.mjs +16 -16
  129. package/fesm2022/ng-nest-ui-resizable.mjs.map +1 -1
  130. package/fesm2022/ng-nest-ui-result.mjs +16 -16
  131. package/fesm2022/ng-nest-ui-result.mjs.map +1 -1
  132. package/fesm2022/ng-nest-ui-ripple.mjs +13 -13
  133. package/fesm2022/ng-nest-ui-ripple.mjs.map +1 -1
  134. package/fesm2022/ng-nest-ui-scrollable.mjs +102 -19
  135. package/fesm2022/ng-nest-ui-scrollable.mjs.map +1 -1
  136. package/fesm2022/ng-nest-ui-select.mjs +121 -111
  137. package/fesm2022/ng-nest-ui-select.mjs.map +1 -1
  138. package/fesm2022/ng-nest-ui-skeleton.mjs +15 -15
  139. package/fesm2022/ng-nest-ui-skeleton.mjs.map +1 -1
  140. package/fesm2022/ng-nest-ui-slider-select.mjs +54 -54
  141. package/fesm2022/ng-nest-ui-slider-select.mjs.map +1 -1
  142. package/fesm2022/ng-nest-ui-slider.mjs +39 -39
  143. package/fesm2022/ng-nest-ui-slider.mjs.map +1 -1
  144. package/fesm2022/ng-nest-ui-statistic.mjs +30 -30
  145. package/fesm2022/ng-nest-ui-statistic.mjs.map +1 -1
  146. package/fesm2022/ng-nest-ui-steps.mjs +19 -19
  147. package/fesm2022/ng-nest-ui-steps.mjs.map +1 -1
  148. package/fesm2022/ng-nest-ui-switch.mjs +26 -26
  149. package/fesm2022/ng-nest-ui-switch.mjs.map +1 -1
  150. package/fesm2022/ng-nest-ui-table-view.mjs +490 -242
  151. package/fesm2022/ng-nest-ui-table-view.mjs.map +1 -1
  152. package/fesm2022/ng-nest-ui-table.mjs +221 -221
  153. package/fesm2022/ng-nest-ui-table.mjs.map +1 -1
  154. package/fesm2022/ng-nest-ui-tabs.mjs +58 -58
  155. package/fesm2022/ng-nest-ui-tabs.mjs.map +1 -1
  156. package/fesm2022/ng-nest-ui-tag.mjs +22 -22
  157. package/fesm2022/ng-nest-ui-tag.mjs.map +1 -1
  158. package/fesm2022/ng-nest-ui-text-retract.mjs +15 -15
  159. package/fesm2022/ng-nest-ui-text-retract.mjs.map +1 -1
  160. package/fesm2022/ng-nest-ui-textarea.mjs +41 -41
  161. package/fesm2022/ng-nest-ui-textarea.mjs.map +1 -1
  162. package/fesm2022/ng-nest-ui-theme.mjs +23 -23
  163. package/fesm2022/ng-nest-ui-theme.mjs.map +1 -1
  164. package/fesm2022/ng-nest-ui-time-ago.mjs +7 -7
  165. package/fesm2022/ng-nest-ui-time-ago.mjs.map +1 -1
  166. package/fesm2022/ng-nest-ui-time-picker.mjs +104 -94
  167. package/fesm2022/ng-nest-ui-time-picker.mjs.map +1 -1
  168. package/fesm2022/ng-nest-ui-time-range.mjs +7 -7
  169. package/fesm2022/ng-nest-ui-time-range.mjs.map +1 -1
  170. package/fesm2022/ng-nest-ui-timeline.mjs +15 -15
  171. package/fesm2022/ng-nest-ui-timeline.mjs.map +1 -1
  172. package/fesm2022/ng-nest-ui-tooltip.mjs +38 -38
  173. package/fesm2022/ng-nest-ui-tooltip.mjs.map +1 -1
  174. package/fesm2022/ng-nest-ui-transfer.mjs +40 -40
  175. package/fesm2022/ng-nest-ui-transfer.mjs.map +1 -1
  176. package/fesm2022/ng-nest-ui-tree-file.mjs +28 -28
  177. package/fesm2022/ng-nest-ui-tree-file.mjs.map +1 -1
  178. package/fesm2022/ng-nest-ui-tree-select.mjs +126 -116
  179. package/fesm2022/ng-nest-ui-tree-select.mjs.map +1 -1
  180. package/fesm2022/ng-nest-ui-tree.mjs +107 -107
  181. package/fesm2022/ng-nest-ui-tree.mjs.map +1 -1
  182. package/fesm2022/ng-nest-ui-typography.mjs +13 -13
  183. package/fesm2022/ng-nest-ui-typography.mjs.map +1 -1
  184. package/fesm2022/ng-nest-ui-upload.mjs +37 -37
  185. package/fesm2022/ng-nest-ui-upload.mjs.map +1 -1
  186. package/find/index.d.ts +5 -5
  187. package/form/index.d.ts +1 -1
  188. package/input/index.d.ts +32 -5
  189. package/input-number/index.d.ts +5 -5
  190. package/list/index.d.ts +2 -2
  191. package/message-box/index.d.ts +4 -5
  192. package/package.json +20 -20
  193. package/radio/index.d.ts +3 -3
  194. package/rate/index.d.ts +5 -5
  195. package/scrollable/index.d.ts +15 -7
  196. package/select/index.d.ts +38 -8
  197. package/slider-select/index.d.ts +3 -3
  198. package/steps/index.d.ts +1 -2
  199. package/switch/index.d.ts +3 -3
  200. package/table-view/index.d.ts +121 -79
  201. package/textarea/index.d.ts +3 -3
  202. package/theme/index.d.ts +1 -1
  203. package/time-picker/index.d.ts +33 -8
  204. package/transfer/index.d.ts +1 -1
  205. package/tree-select/index.d.ts +33 -8
  206. package/upload/index.d.ts +2 -2
@@ -30,7 +30,7 @@ class XCollapseProperty extends XPropertyFunction(X_COLLAPSE_CONFIG_NAME) {
30
30
  * ```
31
31
  *
32
32
  */
33
- this.accordion = input(false, { transform: XToBoolean });
33
+ this.accordion = input(false, ...(ngDevMode ? [{ debugName: "accordion", transform: XToBoolean }] : [{ transform: XToBoolean }]));
34
34
  /**
35
35
  * @zh_CN 显示的图标
36
36
  * @en_US The icon displayed on the right
@@ -47,7 +47,7 @@ class XCollapseProperty extends XPropertyFunction(X_COLLAPSE_CONFIG_NAME) {
47
47
  * ```
48
48
  *
49
49
  */
50
- this.icon = input();
50
+ this.icon = input(...(ngDevMode ? [undefined, { debugName: "icon" }] : []));
51
51
  /**
52
52
  * @zh_CN 显示/隐藏图标
53
53
  * @en_US Show / hide icon
@@ -61,7 +61,7 @@ class XCollapseProperty extends XPropertyFunction(X_COLLAPSE_CONFIG_NAME) {
61
61
  * ```
62
62
  *
63
63
  */
64
- this.showIcon = input(this.config?.showIcon ?? true, { transform: XToBoolean });
64
+ this.showIcon = input(this.config?.showIcon ?? true, ...(ngDevMode ? [{ debugName: "showIcon", transform: XToBoolean }] : [{ transform: XToBoolean }]));
65
65
  /**
66
66
  * @zh_CN 图标位置
67
67
  * @en_US Icon position
@@ -75,7 +75,7 @@ class XCollapseProperty extends XPropertyFunction(X_COLLAPSE_CONFIG_NAME) {
75
75
  * ```
76
76
  *
77
77
  */
78
- this.iconPosition = input(this.config?.iconPosition ?? 'right');
78
+ this.iconPosition = input(this.config?.iconPosition ?? 'right', ...(ngDevMode ? [{ debugName: "iconPosition" }] : []));
79
79
  /**
80
80
  * @zh_CN 幽灵面板
81
81
  * @en_US Ghost panel
@@ -89,7 +89,7 @@ class XCollapseProperty extends XPropertyFunction(X_COLLAPSE_CONFIG_NAME) {
89
89
  * ```
90
90
  *
91
91
  */
92
- this.ghost = input(this.config?.ghost ?? false, { transform: XToBoolean });
92
+ this.ghost = input(this.config?.ghost ?? false, ...(ngDevMode ? [{ debugName: "ghost", transform: XToBoolean }] : [{ transform: XToBoolean }]));
93
93
  /**
94
94
  * @zh_CN 边框
95
95
  * @en_US border
@@ -103,12 +103,12 @@ class XCollapseProperty extends XPropertyFunction(X_COLLAPSE_CONFIG_NAME) {
103
103
  * ```
104
104
  *
105
105
  */
106
- this.bordered = input(this.config?.bordered ?? false, { transform: XToBoolean });
106
+ this.bordered = input(this.config?.bordered ?? false, ...(ngDevMode ? [{ debugName: "bordered", transform: XToBoolean }] : [{ transform: XToBoolean }]));
107
107
  }
108
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XCollapseProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
109
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.0", type: XCollapseProperty, isStandalone: true, selector: "x-collapse-property", inputs: { accordion: { classPropertyName: "accordion", publicName: "accordion", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, showIcon: { classPropertyName: "showIcon", publicName: "showIcon", isSignal: true, isRequired: false, transformFunction: null }, iconPosition: { classPropertyName: "iconPosition", publicName: "iconPosition", isSignal: true, isRequired: false, transformFunction: null }, ghost: { classPropertyName: "ghost", publicName: "ghost", isSignal: true, isRequired: false, transformFunction: null }, bordered: { classPropertyName: "bordered", publicName: "bordered", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
108
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XCollapseProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
109
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.2.4", type: XCollapseProperty, isStandalone: true, selector: "x-collapse-property", inputs: { accordion: { classPropertyName: "accordion", publicName: "accordion", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, showIcon: { classPropertyName: "showIcon", publicName: "showIcon", isSignal: true, isRequired: false, transformFunction: null }, iconPosition: { classPropertyName: "iconPosition", publicName: "iconPosition", isSignal: true, isRequired: false, transformFunction: null }, ghost: { classPropertyName: "ghost", publicName: "ghost", isSignal: true, isRequired: false, transformFunction: null }, bordered: { classPropertyName: "bordered", publicName: "bordered", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
110
110
  }
111
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XCollapseProperty, decorators: [{
111
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XCollapseProperty, decorators: [{
112
112
  type: Component,
113
113
  args: [{ selector: `${XCollapsePrefix}-property`, template: '' }]
114
114
  }] });
@@ -138,7 +138,7 @@ class XCollapsePanelProperty extends XProperty {
138
138
  * ```
139
139
  *
140
140
  */
141
- this.label = input();
141
+ this.label = input(...(ngDevMode ? [undefined, { debugName: "label" }] : []));
142
142
  /**
143
143
  * @zh_CN 激活当前面板
144
144
  * @en_US Activate the current panel
@@ -152,7 +152,7 @@ class XCollapsePanelProperty extends XProperty {
152
152
  * ```
153
153
  *
154
154
  */
155
- this.active = input(false, { transform: XToBoolean });
155
+ this.active = input(false, ...(ngDevMode ? [{ debugName: "active", transform: XToBoolean }] : [{ transform: XToBoolean }]));
156
156
  /**
157
157
  * @zh_CN 禁用
158
158
  * @en_US disabled
@@ -166,12 +166,12 @@ class XCollapsePanelProperty extends XProperty {
166
166
  * ```
167
167
  *
168
168
  */
169
- this.disabled = input(false, { transform: XToBoolean });
169
+ this.disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled", transform: XToBoolean }] : [{ transform: XToBoolean }]));
170
170
  }
171
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XCollapsePanelProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
172
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.0", type: XCollapsePanelProperty, isStandalone: true, selector: "x-collapse-panel-property", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
171
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XCollapsePanelProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
172
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.2.4", type: XCollapsePanelProperty, isStandalone: true, selector: "x-collapse-panel-property", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
173
173
  }
174
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XCollapsePanelProperty, decorators: [{
174
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XCollapsePanelProperty, decorators: [{
175
175
  type: Component,
176
176
  args: [{ selector: `${XCollapsePanelPrefix}-property`, template: '' }]
177
177
  }] });
@@ -179,9 +179,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImpor
179
179
  class XCollapseComponent extends XCollapseProperty {
180
180
  constructor() {
181
181
  super(...arguments);
182
- this.start = signal(0);
183
- this.panelChanges = signal([]);
184
- this.active = signal([]);
182
+ this.start = signal(0, ...(ngDevMode ? [{ debugName: "start" }] : []));
183
+ this.panelChanges = signal([], ...(ngDevMode ? [{ debugName: "panelChanges" }] : []));
184
+ this.active = signal([], ...(ngDevMode ? [{ debugName: "active" }] : []));
185
185
  }
186
186
  change(num, add = true) {
187
187
  const i = this.active().indexOf(num);
@@ -204,10 +204,10 @@ class XCollapseComponent extends XCollapseProperty {
204
204
  return;
205
205
  }
206
206
  }
207
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XCollapseComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
208
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.0", type: XCollapseComponent, isStandalone: true, selector: "x-collapse", usesInheritance: true, ngImport: i0, template: "<div #collapse class=\"x-collapse\" [class.x-collapse-ghost]=\"ghost()\" [class.x-collapse-bordered]=\"bordered()\">\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: [".x-collapse{margin:0;padding:0}.x-collapse{font-size:var(--x-font-size);box-sizing:border-box;border-top:var(--x-border-width) var(--x-border-style) var(--x-border);border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-collapse x-collapse-panel:last-child .x-collapse-panel-header{border-bottom-color:transparent}.x-collapse x-collapse-panel:last-child .x-collapse-panel-body{border-bottom-color:transparent}.x-collapse-bordered{border-left:var(--x-border-width) var(--x-border-style) var(--x-border);border-right:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius)}.x-collapse-bordered x-collapse-panel .x-collapse-panel-header{padding-left:var(--x-padding-medium);padding-right:var(--x-padding-medium)}.x-collapse-bordered x-collapse-panel .x-collapse-panel-body{padding-left:var(--x-padding-medium);padding-right:var(--x-padding-medium)}.x-collapse-ghost{border-top:none;border-bottom:none}.x-collapse-ghost x-collapse-panel .x-collapse-panel-header{border-bottom:none}.x-collapse-ghost x-collapse-panel .x-collapse-panel-body{border-bottom:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
207
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XCollapseComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
208
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.2.4", type: XCollapseComponent, isStandalone: true, selector: "x-collapse", usesInheritance: true, ngImport: i0, template: "<div #collapse class=\"x-collapse\" [class.x-collapse-ghost]=\"ghost()\" [class.x-collapse-bordered]=\"bordered()\">\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: [".x-collapse{margin:0;padding:0}.x-collapse{font-size:var(--x-font-size);box-sizing:border-box;border-top:var(--x-border-width) var(--x-border-style) var(--x-border);border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-collapse x-collapse-panel:last-child .x-collapse-panel-header{border-bottom-color:transparent}.x-collapse x-collapse-panel:last-child .x-collapse-panel-body{border-bottom-color:transparent}.x-collapse-bordered{border-left:var(--x-border-width) var(--x-border-style) var(--x-border);border-right:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius)}.x-collapse-bordered x-collapse-panel .x-collapse-panel-header{padding-left:var(--x-padding-medium);padding-right:var(--x-padding-medium)}.x-collapse-bordered x-collapse-panel .x-collapse-panel-body{padding-left:var(--x-padding-medium);padding-right:var(--x-padding-medium)}.x-collapse-ghost{border-top:none;border-bottom:none}.x-collapse-ghost x-collapse-panel .x-collapse-panel-header{border-bottom:none}.x-collapse-ghost x-collapse-panel .x-collapse-panel-body{border-bottom:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
209
209
  }
210
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XCollapseComponent, decorators: [{
210
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XCollapseComponent, decorators: [{
211
211
  type: Component,
212
212
  args: [{ selector: `${XCollapsePrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #collapse class=\"x-collapse\" [class.x-collapse-ghost]=\"ghost()\" [class.x-collapse-bordered]=\"bordered()\">\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: [".x-collapse{margin:0;padding:0}.x-collapse{font-size:var(--x-font-size);box-sizing:border-box;border-top:var(--x-border-width) var(--x-border-style) var(--x-border);border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-collapse x-collapse-panel:last-child .x-collapse-panel-header{border-bottom-color:transparent}.x-collapse x-collapse-panel:last-child .x-collapse-panel-body{border-bottom-color:transparent}.x-collapse-bordered{border-left:var(--x-border-width) var(--x-border-style) var(--x-border);border-right:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius)}.x-collapse-bordered x-collapse-panel .x-collapse-panel-header{padding-left:var(--x-padding-medium);padding-right:var(--x-padding-medium)}.x-collapse-bordered x-collapse-panel .x-collapse-panel-body{padding-left:var(--x-padding-medium);padding-right:var(--x-padding-medium)}.x-collapse-ghost{border-top:none;border-bottom:none}.x-collapse-ghost x-collapse-panel .x-collapse-panel-header{border-bottom:none}.x-collapse-ghost x-collapse-panel .x-collapse-panel-body{border-bottom:none}\n"] }]
213
213
  }] });
@@ -215,10 +215,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImpor
215
215
  class XCollapsePanelComponent extends XCollapsePanelProperty {
216
216
  constructor() {
217
217
  super(...arguments);
218
- this.index = signal(0);
218
+ this.index = signal(0, ...(ngDevMode ? [{ debugName: "index" }] : []));
219
219
  this.collapseComponent = inject(XCollapseComponent, { optional: true, host: true });
220
- this.show = signal(false);
221
- this.activeSignal = signal(false);
220
+ this.show = signal(false, ...(ngDevMode ? [{ debugName: "show" }] : []));
221
+ this.activeSignal = signal(false, ...(ngDevMode ? [{ debugName: "activeSignal" }] : []));
222
222
  }
223
223
  done(event) {
224
224
  if (!event.toState)
@@ -252,20 +252,20 @@ class XCollapsePanelComponent extends XCollapsePanelProperty {
252
252
  else
253
253
  this.collapseComponent.change(this.index(), false);
254
254
  }
255
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XCollapsePanelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
256
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.0", type: XCollapsePanelComponent, isStandalone: true, selector: "x-collapse-panel", usesInheritance: true, ngImport: i0, template: "<div class=\"x-collapse-panel\" [class.x-activated]=\"activeSignal()\" [class.x-collapse-panel-disabled]=\"disabled()\">\r\n <div\r\n class=\"x-collapse-panel-header x-collapse-panel-icon-{{ collapseComponent?.iconPosition() }}\"\r\n (click)=\"!disabled() && headerClick()\"\r\n >\r\n <div class=\"x-collapse-panel-header-title\">\r\n <ng-container *xOutlet=\"label()\">{{ label() }}</ng-container>\r\n </div>\r\n @if (collapseComponent?.showIcon()) {\r\n <ng-container *xOutlet=\"collapseComponent?.icon()\">\r\n <x-icon type=\"fto-chevron-right\"></x-icon>\r\n </ng-container>\r\n }\r\n </div>\r\n @if (show()) {\r\n <div class=\"x-collapse-panel-body\">\r\n <div\r\n class=\"x-collapse-panel-content\"\r\n [@x-drop-animation]=\"activeSignal()\"\r\n (@x-drop-animation.done)=\"done($event)\"\r\n >\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n }\r\n</div>\r\n", styles: [".x-collapse-panel{margin:0;padding:0}.x-collapse-panel{box-sizing:border-box}.x-collapse-panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--x-padding-small) 0;border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border);transition:border-color .3s;cursor:pointer}.x-collapse-panel-header-title{flex:1}.x-collapse-panel-header>.x-icon{margin-right:.125rem;color:var(--x-text-300);transition:transform .3s}.x-collapse-panel-disabled .x-collapse-panel-header-title{color:var(--x-text-400);cursor:not-allowed}.x-collapse-panel-icon-left{flex-direction:row-reverse}.x-collapse-panel-body{overflow:hidden;border-bottom:var(--x-border-width) var(--x-border-style) transparent;transition:border-color .3s}.x-collapse-panel-content{padding-bottom:.625rem}.x-collapse-panel.x-activated .x-collapse-panel-header{border-bottom-color:transparent}.x-collapse-panel.x-activated .x-collapse-panel-header>.x-icon{transform:rotate(90deg)}.x-collapse-panel.x-activated .x-collapse-panel-body{border-bottom-color:var(--x-border-500)}\n"], dependencies: [{ kind: "component", type: XIconComponent, selector: "x-icon" }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], animations: [XDropAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
255
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XCollapsePanelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
256
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.4", type: XCollapsePanelComponent, isStandalone: true, selector: "x-collapse-panel", usesInheritance: true, ngImport: i0, template: "<div class=\"x-collapse-panel\" [class.x-activated]=\"activeSignal()\" [class.x-collapse-panel-disabled]=\"disabled()\">\r\n <div\r\n class=\"x-collapse-panel-header x-collapse-panel-icon-{{ collapseComponent?.iconPosition() }}\"\r\n (click)=\"!disabled() && headerClick()\"\r\n >\r\n <div class=\"x-collapse-panel-header-title\">\r\n <ng-container *xOutlet=\"label()\">{{ label() }}</ng-container>\r\n </div>\r\n @if (collapseComponent?.showIcon()) {\r\n <ng-container *xOutlet=\"collapseComponent?.icon()\">\r\n <x-icon type=\"fto-chevron-right\"></x-icon>\r\n </ng-container>\r\n }\r\n </div>\r\n @if (show()) {\r\n <div class=\"x-collapse-panel-body\">\r\n <div\r\n class=\"x-collapse-panel-content\"\r\n [@x-drop-animation]=\"activeSignal()\"\r\n (@x-drop-animation.done)=\"done($event)\"\r\n >\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n }\r\n</div>\r\n", styles: [".x-collapse-panel{margin:0;padding:0}.x-collapse-panel{box-sizing:border-box}.x-collapse-panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--x-padding-small) 0;border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border);transition:border-color .3s;cursor:pointer}.x-collapse-panel-header-title{flex:1}.x-collapse-panel-header>.x-icon{margin-right:.125rem;color:var(--x-text-300);transition:transform .3s}.x-collapse-panel-disabled .x-collapse-panel-header-title{color:var(--x-text-400);cursor:not-allowed}.x-collapse-panel-icon-left{flex-direction:row-reverse}.x-collapse-panel-body{overflow:hidden;border-bottom:var(--x-border-width) var(--x-border-style) transparent;transition:border-color .3s}.x-collapse-panel-content{padding-bottom:.625rem}.x-collapse-panel.x-activated .x-collapse-panel-header{border-bottom-color:transparent}.x-collapse-panel.x-activated .x-collapse-panel-header>.x-icon{transform:rotate(90deg)}.x-collapse-panel.x-activated .x-collapse-panel-body{border-bottom-color:var(--x-border-500)}\n"], dependencies: [{ kind: "component", type: XIconComponent, selector: "x-icon" }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], animations: [XDropAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
257
257
  }
258
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XCollapsePanelComponent, decorators: [{
258
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XCollapsePanelComponent, decorators: [{
259
259
  type: Component,
260
260
  args: [{ selector: `${XCollapsePanelPrefix}`, imports: [XIconComponent, XOutletDirective], animations: [XDropAnimation], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"x-collapse-panel\" [class.x-activated]=\"activeSignal()\" [class.x-collapse-panel-disabled]=\"disabled()\">\r\n <div\r\n class=\"x-collapse-panel-header x-collapse-panel-icon-{{ collapseComponent?.iconPosition() }}\"\r\n (click)=\"!disabled() && headerClick()\"\r\n >\r\n <div class=\"x-collapse-panel-header-title\">\r\n <ng-container *xOutlet=\"label()\">{{ label() }}</ng-container>\r\n </div>\r\n @if (collapseComponent?.showIcon()) {\r\n <ng-container *xOutlet=\"collapseComponent?.icon()\">\r\n <x-icon type=\"fto-chevron-right\"></x-icon>\r\n </ng-container>\r\n }\r\n </div>\r\n @if (show()) {\r\n <div class=\"x-collapse-panel-body\">\r\n <div\r\n class=\"x-collapse-panel-content\"\r\n [@x-drop-animation]=\"activeSignal()\"\r\n (@x-drop-animation.done)=\"done($event)\"\r\n >\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n }\r\n</div>\r\n", styles: [".x-collapse-panel{margin:0;padding:0}.x-collapse-panel{box-sizing:border-box}.x-collapse-panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--x-padding-small) 0;border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border);transition:border-color .3s;cursor:pointer}.x-collapse-panel-header-title{flex:1}.x-collapse-panel-header>.x-icon{margin-right:.125rem;color:var(--x-text-300);transition:transform .3s}.x-collapse-panel-disabled .x-collapse-panel-header-title{color:var(--x-text-400);cursor:not-allowed}.x-collapse-panel-icon-left{flex-direction:row-reverse}.x-collapse-panel-body{overflow:hidden;border-bottom:var(--x-border-width) var(--x-border-style) transparent;transition:border-color .3s}.x-collapse-panel-content{padding-bottom:.625rem}.x-collapse-panel.x-activated .x-collapse-panel-header{border-bottom-color:transparent}.x-collapse-panel.x-activated .x-collapse-panel-header>.x-icon{transform:rotate(90deg)}.x-collapse-panel.x-activated .x-collapse-panel-body{border-bottom-color:var(--x-border-500)}\n"] }]
261
261
  }] });
262
262
 
263
263
  class XCollapseModule {
264
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XCollapseModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
265
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.0", ngImport: i0, type: XCollapseModule, imports: [XCollapseComponent, XCollapsePanelComponent], exports: [XCollapseComponent, XCollapsePanelComponent] }); }
266
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XCollapseModule, imports: [XCollapsePanelComponent] }); }
264
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XCollapseModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
265
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.2.4", ngImport: i0, type: XCollapseModule, imports: [XCollapseComponent, XCollapsePanelComponent], exports: [XCollapseComponent, XCollapsePanelComponent] }); }
266
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XCollapseModule, imports: [XCollapsePanelComponent] }); }
267
267
  }
268
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XCollapseModule, decorators: [{
268
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XCollapseModule, decorators: [{
269
269
  type: NgModule,
270
270
  args: [{
271
271
  exports: [XCollapseComponent, XCollapsePanelComponent],
@@ -1 +1 @@
1
- {"version":3,"file":"ng-nest-ui-collapse.mjs","sources":["../../../../lib/ng-nest/ui/collapse/collapse.property.ts","../../../../lib/ng-nest/ui/collapse/collapse.component.ts","../../../../lib/ng-nest/ui/collapse/collapse.component.html","../../../../lib/ng-nest/ui/collapse/collapse-panel.component.ts","../../../../lib/ng-nest/ui/collapse/collapse-panel.component.html","../../../../lib/ng-nest/ui/collapse/collapse.module.ts","../../../../lib/ng-nest/ui/collapse/ng-nest-ui-collapse.ts"],"sourcesContent":["import { XProperty, XPropertyFunction, XToBoolean } from '@ng-nest/ui/core';\r\nimport { Component, input } from '@angular/core';\r\nimport type { XTemplate, XBoolean } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * Collapse\r\n * @selector x-collapse\r\n * @decorator component\r\n */\r\nexport const XCollapsePrefix = 'x-collapse';\r\nconst X_COLLAPSE_CONFIG_NAME = 'collapse';\r\n\r\n/**\r\n * Collapse Property\r\n */\r\n@Component({ selector: `${XCollapsePrefix}-property`, template: '' })\r\nexport class XCollapseProperty extends XPropertyFunction(X_COLLAPSE_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 是否以手风琴的方式展示,只展开一个面板\r\n * @en_US Whether to display as an accordion, only expand one panel\r\n * @example\r\n *\r\n * ```html\r\n * <x-collapse accordion>\r\n * <x-collapse-panel label=\"Title 1\"></x-collapse-panel>\r\n * <x-collapse-panel label=\"Title 2\"></x-collapse-panel>\r\n * </x-collapse>\r\n * ```\r\n *\r\n */\r\n readonly accordion = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 显示的图标\r\n * @en_US The icon displayed on the right\r\n * @example\r\n *\r\n * ```html\r\n * <x-collapse [icon]=\"iconTpl\">\r\n * <x-collapse-panel label=\"Title 1\"></x-collapse-panel>\r\n * <x-collapse-panel label=\"Title 2\"></x-collapse-panel>\r\n * </x-collapse>\r\n * <ng-template #iconTpl>\r\n * <x-icon type=\"ado-caret-right\"></x-icon>\r\n * </ng-template>\r\n * ```\r\n *\r\n */\r\n readonly icon = input<XTemplate>();\r\n /**\r\n * @zh_CN 显示/隐藏图标\r\n * @en_US Show / hide icon\r\n * @example\r\n *\r\n * ```html\r\n * <x-collapse showIcon=\"false\">\r\n * <x-collapse-panel label=\"Title 1\"></x-collapse-panel>\r\n * <x-collapse-panel label=\"Title 2\"></x-collapse-panel>\r\n * </x-collapse>\r\n * ```\r\n *\r\n */\r\n readonly showIcon = input<boolean, XBoolean>(this.config?.showIcon ?? true, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 图标位置\r\n * @en_US Icon position\r\n * @example\r\n *\r\n * ```html\r\n * <x-collapse iconPosition=\"left\">\r\n * <x-collapse-panel label=\"Title 1\"></x-collapse-panel>\r\n * <x-collapse-panel label=\"Title 2\"></x-collapse-panel>\r\n * </x-collapse>\r\n * ```\r\n *\r\n */\r\n readonly iconPosition = input<XCollapseIconPosition>(this.config?.iconPosition ?? 'right');\r\n /**\r\n * @zh_CN 幽灵面板\r\n * @en_US Ghost panel\r\n * @example\r\n *\r\n * ```html\r\n * <x-collapse ghost>\r\n * <x-collapse-panel label=\"Title 1\"></x-collapse-panel>\r\n * <x-collapse-panel label=\"Title 2\"></x-collapse-panel>\r\n * </x-collapse>\r\n * ```\r\n *\r\n */\r\n readonly ghost = input<boolean, XBoolean>(this.config?.ghost ?? false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 边框\r\n * @en_US border\r\n * @example\r\n *\r\n * ```html\r\n * <x-collapse bordered>\r\n * <x-collapse-panel label=\"Title 1\"></x-collapse-panel>\r\n * <x-collapse-panel label=\"Title 2\"></x-collapse-panel>\r\n * </x-collapse>\r\n * ```\r\n *\r\n */\r\n readonly bordered = input<boolean, XBoolean>(this.config?.bordered ?? false, { transform: XToBoolean });\r\n}\r\n\r\n/**\r\n * @zh_CN 图标位置\r\n * @en_US Icon position\r\n */\r\nexport type XCollapseIconPosition = 'left' | 'right';\r\n\r\n/**\r\n * Collapse Panel\r\n * @selector x-collapse-panel\r\n * @decorator component\r\n */\r\nexport const XCollapsePanelPrefix = 'x-collapse-panel';\r\n\r\n/**\r\n * Collapse Panel Property\r\n */\r\n@Component({ selector: `${XCollapsePanelPrefix}-property`, template: '' })\r\nexport class XCollapsePanelProperty extends XProperty {\r\n /**\r\n * @zh_CN 标题,支持模板自定义\r\n * @en_US Title, support template customization\r\n * @example\r\n *\r\n * ```html\r\n * <x-collapse>\r\n * <x-collapse-panel label=\"Title 1\"></x-collapse-panel>\r\n * <x-collapse-panel [label]=\"labelTpl\"></x-collapse-panel>\r\n * </x-collapse>\r\n * <ng-template #labelTpl>Title 2</ng-template>\r\n * ```\r\n *\r\n */\r\n readonly label = input<XTemplate>();\r\n /**\r\n * @zh_CN 激活当前面板\r\n * @en_US Activate the current panel\r\n * @example\r\n *\r\n * ```html\r\n * <x-collapse>\r\n * <x-collapse-panel label=\"Title 1\"></x-collapse-panel>\r\n * <x-collapse-panel label=\"Title 2\" active></x-collapse-panel>\r\n * </x-collapse>\r\n * ```\r\n *\r\n */\r\n readonly active = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 禁用\r\n * @en_US disabled\r\n * @example\r\n *\r\n * ```html\r\n * <x-collapse>\r\n * <x-collapse-panel label=\"Title 1\"></x-collapse-panel>\r\n * <x-collapse-panel label=\"Title 2\" disabled></x-collapse-panel>\r\n * </x-collapse>\r\n * ```\r\n *\r\n */\r\n readonly disabled = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n}\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, signal } from '@angular/core';\r\nimport { XCollapsePrefix, XCollapseProperty } from './collapse.property';\r\n\r\n@Component({\r\n selector: `${XCollapsePrefix}`,\r\n templateUrl: './collapse.component.html',\r\n styleUrls: ['./collapse.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XCollapseComponent extends XCollapseProperty {\r\n start = signal(0);\r\n panelChanges = signal<(() => void)[]>([]);\r\n active = signal<number[]>([]);\r\n\r\n change(num: number, add = true) {\r\n const i = this.active().indexOf(num);\r\n if (i === -1) {\r\n if (add) {\r\n this.active.update((x) => [...x, num]);\r\n }\r\n } else {\r\n if (!add) {\r\n this.active.update((x) => {\r\n x.splice(i, 1);\r\n return [...x];\r\n });\r\n }\r\n }\r\n if (this.accordion() && this.active().length === 2) {\r\n const panel = this.panelChanges()[this.active()[0] as number];\r\n panel && panel();\r\n return;\r\n }\r\n }\r\n}\r\n","<div #collapse class=\"x-collapse\" [class.x-collapse-ghost]=\"ghost()\" [class.x-collapse-bordered]=\"bordered()\">\r\n <ng-content></ng-content>\r\n</div>\r\n","import { Component, OnInit, ViewEncapsulation, ChangeDetectionStrategy, inject, signal } from '@angular/core';\r\nimport { XCollapsePanelPrefix, XCollapsePanelProperty } from './collapse.property';\r\nimport { XDropAnimation } from '@ng-nest/ui/core';\r\nimport { XCollapseComponent } from './collapse.component';\r\nimport { XIconComponent } from '@ng-nest/ui/icon';\r\nimport { XOutletDirective } from '@ng-nest/ui/outlet';\r\nimport type { AnimationEvent } from '@angular/animations';\r\n\r\n@Component({\r\n selector: `${XCollapsePanelPrefix}`,\r\n imports: [XIconComponent, XOutletDirective],\r\n templateUrl: './collapse-panel.component.html',\r\n styleUrls: ['./collapse-panel.component.scss'],\r\n animations: [XDropAnimation],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XCollapsePanelComponent extends XCollapsePanelProperty implements OnInit {\r\n index = signal<number>(0);\r\n collapseComponent = inject(XCollapseComponent, { optional: true, host: true });\r\n show = signal(false);\r\n activeSignal = signal(false);\r\n\r\n done(event: AnimationEvent) {\r\n if (!event.toState) this.show.set(false);\r\n }\r\n\r\n ngOnInit() {\r\n if (!this.collapseComponent) return;\r\n this.activeSignal.set(this.active());\r\n this.index.set(this.collapseComponent.start());\r\n this.collapseComponent.start.update((x) => x + 1);\r\n this.collapseComponent.panelChanges.update((x) => {\r\n x.push(() => {\r\n this.headerClick();\r\n });\r\n return [...x];\r\n });\r\n if (this.activeSignal()) {\r\n this.show.set(true);\r\n this.collapseComponent.change(this.index());\r\n }\r\n }\r\n\r\n headerClick() {\r\n this.activeSignal.update((x) => !x);\r\n if (this.activeSignal()) this.show.set(true);\r\n if (!this.collapseComponent) return;\r\n if (this.activeSignal()) this.collapseComponent.change(this.index());\r\n else this.collapseComponent.change(this.index(), false);\r\n }\r\n}\r\n","<div class=\"x-collapse-panel\" [class.x-activated]=\"activeSignal()\" [class.x-collapse-panel-disabled]=\"disabled()\">\r\n <div\r\n class=\"x-collapse-panel-header x-collapse-panel-icon-{{ collapseComponent?.iconPosition() }}\"\r\n (click)=\"!disabled() && headerClick()\"\r\n >\r\n <div class=\"x-collapse-panel-header-title\">\r\n <ng-container *xOutlet=\"label()\">{{ label() }}</ng-container>\r\n </div>\r\n @if (collapseComponent?.showIcon()) {\r\n <ng-container *xOutlet=\"collapseComponent?.icon()\">\r\n <x-icon type=\"fto-chevron-right\"></x-icon>\r\n </ng-container>\r\n }\r\n </div>\r\n @if (show()) {\r\n <div class=\"x-collapse-panel-body\">\r\n <div\r\n class=\"x-collapse-panel-content\"\r\n [@x-drop-animation]=\"activeSignal()\"\r\n (@x-drop-animation.done)=\"done($event)\"\r\n >\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n }\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { XCollapseComponent } from './collapse.component';\r\nimport { XCollapsePanelComponent } from './collapse-panel.component';\r\n\r\n@NgModule({\r\n exports: [XCollapseComponent, XCollapsePanelComponent],\r\n imports: [XCollapseComponent, XCollapsePanelComponent]\r\n})\r\nexport class XCollapseModule {}\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-collapse.mjs","sources":["../../../../lib/ng-nest/ui/collapse/collapse.property.ts","../../../../lib/ng-nest/ui/collapse/collapse.component.ts","../../../../lib/ng-nest/ui/collapse/collapse.component.html","../../../../lib/ng-nest/ui/collapse/collapse-panel.component.ts","../../../../lib/ng-nest/ui/collapse/collapse-panel.component.html","../../../../lib/ng-nest/ui/collapse/collapse.module.ts","../../../../lib/ng-nest/ui/collapse/ng-nest-ui-collapse.ts"],"sourcesContent":["import { XProperty, XPropertyFunction, XToBoolean } from '@ng-nest/ui/core';\r\nimport { Component, input } from '@angular/core';\r\nimport type { XTemplate, XBoolean } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * Collapse\r\n * @selector x-collapse\r\n * @decorator component\r\n */\r\nexport const XCollapsePrefix = 'x-collapse';\r\nconst X_COLLAPSE_CONFIG_NAME = 'collapse';\r\n\r\n/**\r\n * Collapse Property\r\n */\r\n@Component({ selector: `${XCollapsePrefix}-property`, template: '' })\r\nexport class XCollapseProperty extends XPropertyFunction(X_COLLAPSE_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 是否以手风琴的方式展示,只展开一个面板\r\n * @en_US Whether to display as an accordion, only expand one panel\r\n * @example\r\n *\r\n * ```html\r\n * <x-collapse accordion>\r\n * <x-collapse-panel label=\"Title 1\"></x-collapse-panel>\r\n * <x-collapse-panel label=\"Title 2\"></x-collapse-panel>\r\n * </x-collapse>\r\n * ```\r\n *\r\n */\r\n readonly accordion = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 显示的图标\r\n * @en_US The icon displayed on the right\r\n * @example\r\n *\r\n * ```html\r\n * <x-collapse [icon]=\"iconTpl\">\r\n * <x-collapse-panel label=\"Title 1\"></x-collapse-panel>\r\n * <x-collapse-panel label=\"Title 2\"></x-collapse-panel>\r\n * </x-collapse>\r\n * <ng-template #iconTpl>\r\n * <x-icon type=\"ado-caret-right\"></x-icon>\r\n * </ng-template>\r\n * ```\r\n *\r\n */\r\n readonly icon = input<XTemplate>();\r\n /**\r\n * @zh_CN 显示/隐藏图标\r\n * @en_US Show / hide icon\r\n * @example\r\n *\r\n * ```html\r\n * <x-collapse showIcon=\"false\">\r\n * <x-collapse-panel label=\"Title 1\"></x-collapse-panel>\r\n * <x-collapse-panel label=\"Title 2\"></x-collapse-panel>\r\n * </x-collapse>\r\n * ```\r\n *\r\n */\r\n readonly showIcon = input<boolean, XBoolean>(this.config?.showIcon ?? true, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 图标位置\r\n * @en_US Icon position\r\n * @example\r\n *\r\n * ```html\r\n * <x-collapse iconPosition=\"left\">\r\n * <x-collapse-panel label=\"Title 1\"></x-collapse-panel>\r\n * <x-collapse-panel label=\"Title 2\"></x-collapse-panel>\r\n * </x-collapse>\r\n * ```\r\n *\r\n */\r\n readonly iconPosition = input<XCollapseIconPosition>(this.config?.iconPosition ?? 'right');\r\n /**\r\n * @zh_CN 幽灵面板\r\n * @en_US Ghost panel\r\n * @example\r\n *\r\n * ```html\r\n * <x-collapse ghost>\r\n * <x-collapse-panel label=\"Title 1\"></x-collapse-panel>\r\n * <x-collapse-panel label=\"Title 2\"></x-collapse-panel>\r\n * </x-collapse>\r\n * ```\r\n *\r\n */\r\n readonly ghost = input<boolean, XBoolean>(this.config?.ghost ?? false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 边框\r\n * @en_US border\r\n * @example\r\n *\r\n * ```html\r\n * <x-collapse bordered>\r\n * <x-collapse-panel label=\"Title 1\"></x-collapse-panel>\r\n * <x-collapse-panel label=\"Title 2\"></x-collapse-panel>\r\n * </x-collapse>\r\n * ```\r\n *\r\n */\r\n readonly bordered = input<boolean, XBoolean>(this.config?.bordered ?? false, { transform: XToBoolean });\r\n}\r\n\r\n/**\r\n * @zh_CN 图标位置\r\n * @en_US Icon position\r\n */\r\nexport type XCollapseIconPosition = 'left' | 'right';\r\n\r\n/**\r\n * Collapse Panel\r\n * @selector x-collapse-panel\r\n * @decorator component\r\n */\r\nexport const XCollapsePanelPrefix = 'x-collapse-panel';\r\n\r\n/**\r\n * Collapse Panel Property\r\n */\r\n@Component({ selector: `${XCollapsePanelPrefix}-property`, template: '' })\r\nexport class XCollapsePanelProperty extends XProperty {\r\n /**\r\n * @zh_CN 标题,支持模板自定义\r\n * @en_US Title, support template customization\r\n * @example\r\n *\r\n * ```html\r\n * <x-collapse>\r\n * <x-collapse-panel label=\"Title 1\"></x-collapse-panel>\r\n * <x-collapse-panel [label]=\"labelTpl\"></x-collapse-panel>\r\n * </x-collapse>\r\n * <ng-template #labelTpl>Title 2</ng-template>\r\n * ```\r\n *\r\n */\r\n readonly label = input<XTemplate>();\r\n /**\r\n * @zh_CN 激活当前面板\r\n * @en_US Activate the current panel\r\n * @example\r\n *\r\n * ```html\r\n * <x-collapse>\r\n * <x-collapse-panel label=\"Title 1\"></x-collapse-panel>\r\n * <x-collapse-panel label=\"Title 2\" active></x-collapse-panel>\r\n * </x-collapse>\r\n * ```\r\n *\r\n */\r\n readonly active = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 禁用\r\n * @en_US disabled\r\n * @example\r\n *\r\n * ```html\r\n * <x-collapse>\r\n * <x-collapse-panel label=\"Title 1\"></x-collapse-panel>\r\n * <x-collapse-panel label=\"Title 2\" disabled></x-collapse-panel>\r\n * </x-collapse>\r\n * ```\r\n *\r\n */\r\n readonly disabled = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n}\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, signal } from '@angular/core';\r\nimport { XCollapsePrefix, XCollapseProperty } from './collapse.property';\r\n\r\n@Component({\r\n selector: `${XCollapsePrefix}`,\r\n templateUrl: './collapse.component.html',\r\n styleUrls: ['./collapse.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XCollapseComponent extends XCollapseProperty {\r\n start = signal(0);\r\n panelChanges = signal<(() => void)[]>([]);\r\n active = signal<number[]>([]);\r\n\r\n change(num: number, add = true) {\r\n const i = this.active().indexOf(num);\r\n if (i === -1) {\r\n if (add) {\r\n this.active.update((x) => [...x, num]);\r\n }\r\n } else {\r\n if (!add) {\r\n this.active.update((x) => {\r\n x.splice(i, 1);\r\n return [...x];\r\n });\r\n }\r\n }\r\n if (this.accordion() && this.active().length === 2) {\r\n const panel = this.panelChanges()[this.active()[0] as number];\r\n panel && panel();\r\n return;\r\n }\r\n }\r\n}\r\n","<div #collapse class=\"x-collapse\" [class.x-collapse-ghost]=\"ghost()\" [class.x-collapse-bordered]=\"bordered()\">\r\n <ng-content></ng-content>\r\n</div>\r\n","import { Component, OnInit, ViewEncapsulation, ChangeDetectionStrategy, inject, signal } from '@angular/core';\r\nimport { XCollapsePanelPrefix, XCollapsePanelProperty } from './collapse.property';\r\nimport { XDropAnimation } from '@ng-nest/ui/core';\r\nimport { XCollapseComponent } from './collapse.component';\r\nimport { XIconComponent } from '@ng-nest/ui/icon';\r\nimport { XOutletDirective } from '@ng-nest/ui/outlet';\r\nimport type { AnimationEvent } from '@angular/animations';\r\n\r\n@Component({\r\n selector: `${XCollapsePanelPrefix}`,\r\n imports: [XIconComponent, XOutletDirective],\r\n templateUrl: './collapse-panel.component.html',\r\n styleUrls: ['./collapse-panel.component.scss'],\r\n animations: [XDropAnimation],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XCollapsePanelComponent extends XCollapsePanelProperty implements OnInit {\r\n index = signal<number>(0);\r\n collapseComponent = inject(XCollapseComponent, { optional: true, host: true });\r\n show = signal(false);\r\n activeSignal = signal(false);\r\n\r\n done(event: AnimationEvent) {\r\n if (!event.toState) this.show.set(false);\r\n }\r\n\r\n ngOnInit() {\r\n if (!this.collapseComponent) return;\r\n this.activeSignal.set(this.active());\r\n this.index.set(this.collapseComponent.start());\r\n this.collapseComponent.start.update((x) => x + 1);\r\n this.collapseComponent.panelChanges.update((x) => {\r\n x.push(() => {\r\n this.headerClick();\r\n });\r\n return [...x];\r\n });\r\n if (this.activeSignal()) {\r\n this.show.set(true);\r\n this.collapseComponent.change(this.index());\r\n }\r\n }\r\n\r\n headerClick() {\r\n this.activeSignal.update((x) => !x);\r\n if (this.activeSignal()) this.show.set(true);\r\n if (!this.collapseComponent) return;\r\n if (this.activeSignal()) this.collapseComponent.change(this.index());\r\n else this.collapseComponent.change(this.index(), false);\r\n }\r\n}\r\n","<div class=\"x-collapse-panel\" [class.x-activated]=\"activeSignal()\" [class.x-collapse-panel-disabled]=\"disabled()\">\r\n <div\r\n class=\"x-collapse-panel-header x-collapse-panel-icon-{{ collapseComponent?.iconPosition() }}\"\r\n (click)=\"!disabled() && headerClick()\"\r\n >\r\n <div class=\"x-collapse-panel-header-title\">\r\n <ng-container *xOutlet=\"label()\">{{ label() }}</ng-container>\r\n </div>\r\n @if (collapseComponent?.showIcon()) {\r\n <ng-container *xOutlet=\"collapseComponent?.icon()\">\r\n <x-icon type=\"fto-chevron-right\"></x-icon>\r\n </ng-container>\r\n }\r\n </div>\r\n @if (show()) {\r\n <div class=\"x-collapse-panel-body\">\r\n <div\r\n class=\"x-collapse-panel-content\"\r\n [@x-drop-animation]=\"activeSignal()\"\r\n (@x-drop-animation.done)=\"done($event)\"\r\n >\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n }\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { XCollapseComponent } from './collapse.component';\r\nimport { XCollapsePanelComponent } from './collapse-panel.component';\r\n\r\n@NgModule({\r\n exports: [XCollapseComponent, XCollapsePanelComponent],\r\n imports: [XCollapseComponent, XCollapsePanelComponent]\r\n})\r\nexport class XCollapseModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}