@ng-nest/ui 21.0.12 → 22.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/ng-nest-ui-affix.mjs +12 -12
- package/fesm2022/ng-nest-ui-affix.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-alert.mjs +46 -34
- package/fesm2022/ng-nest-ui-alert.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-anchor.mjs +43 -31
- package/fesm2022/ng-nest-ui-anchor.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-api.mjs +7 -7
- package/fesm2022/ng-nest-ui-attachments.mjs +74 -48
- package/fesm2022/ng-nest-ui-attachments.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-auto-complete.mjs +114 -70
- package/fesm2022/ng-nest-ui-auto-complete.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-avatar.mjs +47 -32
- package/fesm2022/ng-nest-ui-avatar.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-back-top.mjs +23 -18
- package/fesm2022/ng-nest-ui-back-top.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-badge.mjs +30 -23
- package/fesm2022/ng-nest-ui-badge.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-base-form.mjs +75 -44
- package/fesm2022/ng-nest-ui-base-form.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-bubble.mjs +76 -48
- package/fesm2022/ng-nest-ui-bubble.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-button.mjs +53 -42
- package/fesm2022/ng-nest-ui-button.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-calendar.mjs +30 -20
- package/fesm2022/ng-nest-ui-calendar.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-card.mjs +21 -16
- package/fesm2022/ng-nest-ui-card.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-carousel.mjs +68 -46
- package/fesm2022/ng-nest-ui-carousel.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-cascade.mjs +121 -73
- package/fesm2022/ng-nest-ui-cascade.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-checkbox.mjs +54 -38
- package/fesm2022/ng-nest-ui-checkbox.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-collapse.mjs +38 -30
- package/fesm2022/ng-nest-ui-collapse.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-color-picker.mjs +119 -72
- package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-color.mjs +22 -16
- package/fesm2022/ng-nest-ui-color.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-comment.mjs +23 -21
- package/fesm2022/ng-nest-ui-comment.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-container.mjs +40 -37
- package/fesm2022/ng-nest-ui-container.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-contextmenu.mjs +71 -45
- package/fesm2022/ng-nest-ui-contextmenu.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-core.mjs +24 -21
- package/fesm2022/ng-nest-ui-core.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-coversations.mjs +25 -18
- package/fesm2022/ng-nest-ui-coversations.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-crumb.mjs +15 -13
- package/fesm2022/ng-nest-ui-crumb.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-date-picker.mjs +425 -256
- package/fesm2022/ng-nest-ui-date-picker.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-description.mjs +42 -31
- package/fesm2022/ng-nest-ui-description.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-dialog.mjs +106 -82
- package/fesm2022/ng-nest-ui-dialog.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-divider.mjs +24 -17
- package/fesm2022/ng-nest-ui-divider.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-doc.mjs +7 -7
- package/fesm2022/ng-nest-ui-drag.mjs +10 -10
- package/fesm2022/ng-nest-ui-drawer.mjs +52 -43
- package/fesm2022/ng-nest-ui-drawer.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-dropdown.mjs +94 -58
- package/fesm2022/ng-nest-ui-dropdown.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-empty.mjs +14 -12
- package/fesm2022/ng-nest-ui-empty.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-examples.mjs +7 -7
- package/fesm2022/ng-nest-ui-find.mjs +111 -71
- package/fesm2022/ng-nest-ui-find.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-form.mjs +45 -33
- package/fesm2022/ng-nest-ui-form.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-highlight.mjs +26 -20
- package/fesm2022/ng-nest-ui-highlight.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-i18n.mjs +16 -15
- package/fesm2022/ng-nest-ui-i18n.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-icon.mjs +28 -21
- package/fesm2022/ng-nest-ui-icon.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-image.mjs +57 -51
- package/fesm2022/ng-nest-ui-image.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-inner.mjs +11 -11
- package/fesm2022/ng-nest-ui-inner.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-input-number.mjs +63 -42
- package/fesm2022/ng-nest-ui-input-number.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-input.mjs +130 -85
- package/fesm2022/ng-nest-ui-input.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-keyword.mjs +19 -15
- package/fesm2022/ng-nest-ui-keyword.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-layout.mjs +37 -31
- package/fesm2022/ng-nest-ui-layout.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-link.mjs +23 -18
- package/fesm2022/ng-nest-ui-link.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-list.mjs +137 -89
- package/fesm2022/ng-nest-ui-list.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-loading.mjs +36 -25
- package/fesm2022/ng-nest-ui-loading.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-menu.mjs +68 -45
- package/fesm2022/ng-nest-ui-menu.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-message-box.mjs +10 -10
- package/fesm2022/ng-nest-ui-message.mjs +10 -10
- package/fesm2022/ng-nest-ui-notification.mjs +10 -10
- package/fesm2022/ng-nest-ui-outlet.mjs +11 -9
- package/fesm2022/ng-nest-ui-outlet.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-page-header.mjs +20 -15
- package/fesm2022/ng-nest-ui-page-header.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-pagination.mjs +69 -48
- package/fesm2022/ng-nest-ui-pagination.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-pattern.mjs +7 -7
- package/fesm2022/ng-nest-ui-popconfirm.mjs +40 -27
- package/fesm2022/ng-nest-ui-popconfirm.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-popover.mjs +57 -38
- package/fesm2022/ng-nest-ui-popover.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-portal.mjs +7 -7
- package/fesm2022/ng-nest-ui-progress.mjs +60 -41
- package/fesm2022/ng-nest-ui-progress.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-prompts.mjs +18 -15
- package/fesm2022/ng-nest-ui-prompts.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-radio.mjs +50 -35
- package/fesm2022/ng-nest-ui-radio.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-rate.mjs +43 -29
- package/fesm2022/ng-nest-ui-rate.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-resizable.mjs +18 -16
- package/fesm2022/ng-nest-ui-resizable.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-result.mjs +22 -16
- package/fesm2022/ng-nest-ui-result.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-ripple.mjs +14 -13
- package/fesm2022/ng-nest-ui-ripple.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-scrollable.mjs +41 -24
- package/fesm2022/ng-nest-ui-scrollable.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-select.mjs +196 -117
- package/fesm2022/ng-nest-ui-select.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-sender.mjs +43 -31
- package/fesm2022/ng-nest-ui-sender.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-skeleton.mjs +17 -15
- package/fesm2022/ng-nest-ui-skeleton.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-slider-select.mjs +85 -53
- package/fesm2022/ng-nest-ui-slider-select.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-slider.mjs +58 -37
- package/fesm2022/ng-nest-ui-slider.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-splitter.mjs +32 -24
- package/fesm2022/ng-nest-ui-splitter.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-statistic.mjs +44 -30
- package/fesm2022/ng-nest-ui-statistic.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-steps.mjs +30 -22
- package/fesm2022/ng-nest-ui-steps.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-suggestion.mjs +23 -20
- package/fesm2022/ng-nest-ui-suggestion.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-switch.mjs +35 -25
- package/fesm2022/ng-nest-ui-switch.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-table-view.mjs +78 -69
- package/fesm2022/ng-nest-ui-table-view.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-table.mjs +320 -205
- package/fesm2022/ng-nest-ui-table.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tabs.mjs +74 -56
- package/fesm2022/ng-nest-ui-tabs.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tag.mjs +30 -23
- package/fesm2022/ng-nest-ui-tag.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-text-retract.mjs +19 -15
- package/fesm2022/ng-nest-ui-text-retract.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-textarea.mjs +69 -44
- package/fesm2022/ng-nest-ui-textarea.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-theme.mjs +34 -23
- package/fesm2022/ng-nest-ui-theme.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-thought-chain.mjs +26 -19
- package/fesm2022/ng-nest-ui-thought-chain.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-time-ago.mjs +7 -7
- package/fesm2022/ng-nest-ui-time-picker.mjs +164 -96
- package/fesm2022/ng-nest-ui-time-picker.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-time-range.mjs +7 -7
- package/fesm2022/ng-nest-ui-timeline.mjs +26 -19
- package/fesm2022/ng-nest-ui-timeline.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tooltip.mjs +53 -35
- package/fesm2022/ng-nest-ui-tooltip.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-transfer.mjs +66 -40
- package/fesm2022/ng-nest-ui-transfer.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tree-file.mjs +39 -28
- package/fesm2022/ng-nest-ui-tree-file.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tree-select.mjs +186 -111
- package/fesm2022/ng-nest-ui-tree-select.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tree.mjs +166 -105
- package/fesm2022/ng-nest-ui-tree.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-typography.mjs +16 -13
- package/fesm2022/ng-nest-ui-typography.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-upload.mjs +81 -53
- package/fesm2022/ng-nest-ui-upload.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-watermark.mjs +44 -34
- package/fesm2022/ng-nest-ui-watermark.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-welcome.mjs +22 -16
- package/fesm2022/ng-nest-ui-welcome.mjs.map +1 -1
- package/package.json +3 -2
- package/types/ng-nest-ui-base-form.d.ts +3 -3
- package/types/ng-nest-ui-carousel.d.ts +1 -1
- package/types/ng-nest-ui-container.d.ts +1 -1
- package/types/ng-nest-ui-core.d.ts +1 -1
- package/types/ng-nest-ui-dialog.d.ts +1 -1
- package/types/ng-nest-ui-drawer.d.ts +1 -1
- package/types/ng-nest-ui-form.d.ts +12 -12
- package/types/ng-nest-ui-layout.d.ts +1 -1
- package/types/ng-nest-ui-list.d.ts +1 -1
- package/types/ng-nest-ui-portal.d.ts +3 -3
- package/types/ng-nest-ui-table-view.d.ts +1 -1
- package/types/ng-nest-ui-table.d.ts +1 -1
- package/types/ng-nest-ui-tabs.d.ts +1 -1
- package/types/ng-nest-ui-tree.d.ts +1 -1
|
@@ -30,7 +30,7 @@ class XCollapseProperty extends XPropertyFunction(X_COLLAPSE_CONFIG_NAME) {
|
|
|
30
30
|
* ```
|
|
31
31
|
*
|
|
32
32
|
*/
|
|
33
|
-
this.accordion = input(false, { ...(ngDevMode ? { debugName: "accordion" } : {}), transform: XToBoolean });
|
|
33
|
+
this.accordion = input(false, { ...(ngDevMode ? { debugName: "accordion" } : /* istanbul ignore next */ {}), transform: XToBoolean });
|
|
34
34
|
/**
|
|
35
35
|
* @zh_CN 显示的图标
|
|
36
36
|
* @en_US The icon displayed on the right
|
|
@@ -47,7 +47,8 @@ class XCollapseProperty extends XPropertyFunction(X_COLLAPSE_CONFIG_NAME) {
|
|
|
47
47
|
* ```
|
|
48
48
|
*
|
|
49
49
|
*/
|
|
50
|
-
this.icon = input(
|
|
50
|
+
this.icon = input(/* @ts-ignore */
|
|
51
|
+
...(ngDevMode ? [undefined, { debugName: "icon" }] : /* istanbul ignore next */ []));
|
|
51
52
|
/**
|
|
52
53
|
* @zh_CN 显示/隐藏图标
|
|
53
54
|
* @en_US Show / hide icon
|
|
@@ -61,7 +62,7 @@ class XCollapseProperty extends XPropertyFunction(X_COLLAPSE_CONFIG_NAME) {
|
|
|
61
62
|
* ```
|
|
62
63
|
*
|
|
63
64
|
*/
|
|
64
|
-
this.showIcon = input(this.config?.showIcon ?? true, { ...(ngDevMode ? { debugName: "showIcon" } : {}), transform: XToBoolean });
|
|
65
|
+
this.showIcon = input(this.config?.showIcon ?? true, { ...(ngDevMode ? { debugName: "showIcon" } : /* istanbul ignore next */ {}), transform: XToBoolean });
|
|
65
66
|
/**
|
|
66
67
|
* @zh_CN 图标位置
|
|
67
68
|
* @en_US Icon position
|
|
@@ -75,7 +76,8 @@ class XCollapseProperty extends XPropertyFunction(X_COLLAPSE_CONFIG_NAME) {
|
|
|
75
76
|
* ```
|
|
76
77
|
*
|
|
77
78
|
*/
|
|
78
|
-
this.iconPosition = input(this.config?.iconPosition ?? 'right',
|
|
79
|
+
this.iconPosition = input(this.config?.iconPosition ?? 'right', /* @ts-ignore */
|
|
80
|
+
...(ngDevMode ? [{ debugName: "iconPosition" }] : /* istanbul ignore next */ []));
|
|
79
81
|
/**
|
|
80
82
|
* @zh_CN 幽灵面板
|
|
81
83
|
* @en_US Ghost panel
|
|
@@ -89,7 +91,7 @@ class XCollapseProperty extends XPropertyFunction(X_COLLAPSE_CONFIG_NAME) {
|
|
|
89
91
|
* ```
|
|
90
92
|
*
|
|
91
93
|
*/
|
|
92
|
-
this.ghost = input(this.config?.ghost ?? false, { ...(ngDevMode ? { debugName: "ghost" } : {}), transform: XToBoolean });
|
|
94
|
+
this.ghost = input(this.config?.ghost ?? false, { ...(ngDevMode ? { debugName: "ghost" } : /* istanbul ignore next */ {}), transform: XToBoolean });
|
|
93
95
|
/**
|
|
94
96
|
* @zh_CN 边框
|
|
95
97
|
* @en_US border
|
|
@@ -103,12 +105,12 @@ class XCollapseProperty extends XPropertyFunction(X_COLLAPSE_CONFIG_NAME) {
|
|
|
103
105
|
* ```
|
|
104
106
|
*
|
|
105
107
|
*/
|
|
106
|
-
this.bordered = input(this.config?.bordered ?? false, { ...(ngDevMode ? { debugName: "bordered" } : {}), transform: XToBoolean });
|
|
108
|
+
this.bordered = input(this.config?.bordered ?? false, { ...(ngDevMode ? { debugName: "bordered" } : /* istanbul ignore next */ {}), transform: XToBoolean });
|
|
107
109
|
}
|
|
108
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
109
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "
|
|
110
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XCollapseProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
111
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.1", 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
112
|
}
|
|
111
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
113
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XCollapseProperty, decorators: [{
|
|
112
114
|
type: Component,
|
|
113
115
|
args: [{ selector: `${XCollapsePrefix}-property`, template: '' }]
|
|
114
116
|
}], propDecorators: { accordion: [{ type: i0.Input, args: [{ isSignal: true, alias: "accordion", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], showIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "showIcon", required: false }] }], iconPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "iconPosition", required: false }] }], ghost: [{ type: i0.Input, args: [{ isSignal: true, alias: "ghost", required: false }] }], bordered: [{ type: i0.Input, args: [{ isSignal: true, alias: "bordered", required: false }] }] } });
|
|
@@ -138,7 +140,8 @@ class XCollapsePanelProperty extends XProperty {
|
|
|
138
140
|
* ```
|
|
139
141
|
*
|
|
140
142
|
*/
|
|
141
|
-
this.label = input(
|
|
143
|
+
this.label = input(/* @ts-ignore */
|
|
144
|
+
...(ngDevMode ? [undefined, { debugName: "label" }] : /* istanbul ignore next */ []));
|
|
142
145
|
/**
|
|
143
146
|
* @zh_CN 激活当前面板
|
|
144
147
|
* @en_US Activate the current panel
|
|
@@ -152,7 +155,7 @@ class XCollapsePanelProperty extends XProperty {
|
|
|
152
155
|
* ```
|
|
153
156
|
*
|
|
154
157
|
*/
|
|
155
|
-
this.active = input(false, { ...(ngDevMode ? { debugName: "active" } : {}), transform: XToBoolean });
|
|
158
|
+
this.active = input(false, { ...(ngDevMode ? { debugName: "active" } : /* istanbul ignore next */ {}), transform: XToBoolean });
|
|
156
159
|
/**
|
|
157
160
|
* @zh_CN 禁用
|
|
158
161
|
* @en_US disabled
|
|
@@ -166,12 +169,12 @@ class XCollapsePanelProperty extends XProperty {
|
|
|
166
169
|
* ```
|
|
167
170
|
*
|
|
168
171
|
*/
|
|
169
|
-
this.disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : {}), transform: XToBoolean });
|
|
172
|
+
this.disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: XToBoolean });
|
|
170
173
|
}
|
|
171
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
172
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "
|
|
174
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XCollapsePanelProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
175
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.1", 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
176
|
}
|
|
174
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
177
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XCollapsePanelProperty, decorators: [{
|
|
175
178
|
type: Component,
|
|
176
179
|
args: [{ selector: `${XCollapsePanelPrefix}-property`, template: '' }]
|
|
177
180
|
}], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], active: [{ type: i0.Input, args: [{ isSignal: true, alias: "active", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }] } });
|
|
@@ -179,9 +182,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
|
|
|
179
182
|
class XCollapseComponent extends XCollapseProperty {
|
|
180
183
|
constructor() {
|
|
181
184
|
super(...arguments);
|
|
182
|
-
this.start = signal(0,
|
|
183
|
-
|
|
184
|
-
this.
|
|
185
|
+
this.start = signal(0, /* @ts-ignore */
|
|
186
|
+
...(ngDevMode ? [{ debugName: "start" }] : /* istanbul ignore next */ []));
|
|
187
|
+
this.panelChanges = signal([], /* @ts-ignore */
|
|
188
|
+
...(ngDevMode ? [{ debugName: "panelChanges" }] : /* istanbul ignore next */ []));
|
|
189
|
+
this.active = signal([], /* @ts-ignore */
|
|
190
|
+
...(ngDevMode ? [{ debugName: "active" }] : /* istanbul ignore next */ []));
|
|
185
191
|
}
|
|
186
192
|
change(num, add = true) {
|
|
187
193
|
const i = this.active().indexOf(num);
|
|
@@ -204,10 +210,10 @@ class XCollapseComponent extends XCollapseProperty {
|
|
|
204
210
|
return;
|
|
205
211
|
}
|
|
206
212
|
}
|
|
207
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
208
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
213
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XCollapseComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
214
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.1", 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
215
|
}
|
|
210
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
216
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XCollapseComponent, decorators: [{
|
|
211
217
|
type: Component,
|
|
212
218
|
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
219
|
}] });
|
|
@@ -215,9 +221,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
|
|
|
215
221
|
class XCollapsePanelComponent extends XCollapsePanelProperty {
|
|
216
222
|
constructor() {
|
|
217
223
|
super(...arguments);
|
|
218
|
-
this.index = signal(0,
|
|
224
|
+
this.index = signal(0, /* @ts-ignore */
|
|
225
|
+
...(ngDevMode ? [{ debugName: "index" }] : /* istanbul ignore next */ []));
|
|
219
226
|
this.collapseComponent = inject(XCollapseComponent, { optional: true, host: true });
|
|
220
|
-
this.activeSignal = signal(false,
|
|
227
|
+
this.activeSignal = signal(false, /* @ts-ignore */
|
|
228
|
+
...(ngDevMode ? [{ debugName: "activeSignal" }] : /* istanbul ignore next */ []));
|
|
221
229
|
}
|
|
222
230
|
ngOnInit() {
|
|
223
231
|
if (!this.collapseComponent)
|
|
@@ -244,20 +252,20 @@ class XCollapsePanelComponent extends XCollapsePanelProperty {
|
|
|
244
252
|
else
|
|
245
253
|
this.collapseComponent.change(this.index(), false);
|
|
246
254
|
}
|
|
247
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
248
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
255
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XCollapsePanelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
256
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.1", 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\r\n <div class=\"x-collapse-panel-body\" [class.x-collapse-panel-active]=\"activeSignal()\">\r\n <div class=\"x-collapse-panel-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\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{display:grid;grid-template-rows:0fr;overflow:hidden;border-bottom:var(--x-border-width) var(--x-border-style) transparent;transition:border-color var(--x-animation-duration-base),grid-template-rows var(--x-animation-duration-base);transition-timing-function:ease-in-out}.x-collapse-panel-active{grid-template-rows:1fr}.x-collapse-panel-active .x-collapse-panel-content{padding-bottom:.625rem;visibility:visible;opacity:1}.x-collapse-panel-content{padding-bottom:0;min-height:0;transition:visibility var(--x-animation-duration-base),opacity var(--x-animation-duration-base),padding-bottom var(--x-animation-duration-base);transition-timing-function:ease-in-out;visibility:hidden;overflow:hidden;opacity:0}.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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
249
257
|
}
|
|
250
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
258
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XCollapsePanelComponent, decorators: [{
|
|
251
259
|
type: Component,
|
|
252
260
|
args: [{ selector: `${XCollapsePanelPrefix}`, imports: [XIconComponent, XOutletDirective], 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\r\n <div class=\"x-collapse-panel-body\" [class.x-collapse-panel-active]=\"activeSignal()\">\r\n <div class=\"x-collapse-panel-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\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{display:grid;grid-template-rows:0fr;overflow:hidden;border-bottom:var(--x-border-width) var(--x-border-style) transparent;transition:border-color var(--x-animation-duration-base),grid-template-rows var(--x-animation-duration-base);transition-timing-function:ease-in-out}.x-collapse-panel-active{grid-template-rows:1fr}.x-collapse-panel-active .x-collapse-panel-content{padding-bottom:.625rem;visibility:visible;opacity:1}.x-collapse-panel-content{padding-bottom:0;min-height:0;transition:visibility var(--x-animation-duration-base),opacity var(--x-animation-duration-base),padding-bottom var(--x-animation-duration-base);transition-timing-function:ease-in-out;visibility:hidden;overflow:hidden;opacity:0}.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"] }]
|
|
253
261
|
}] });
|
|
254
262
|
|
|
255
263
|
class XCollapseModule {
|
|
256
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
257
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
258
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
264
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XCollapseModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
265
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.1", ngImport: i0, type: XCollapseModule, imports: [XCollapseComponent, XCollapsePanelComponent], exports: [XCollapseComponent, XCollapsePanelComponent] }); }
|
|
266
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XCollapseModule, imports: [XCollapsePanelComponent] }); }
|
|
259
267
|
}
|
|
260
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
268
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XCollapseModule, decorators: [{
|
|
261
269
|
type: NgModule,
|
|
262
270
|
args: [{
|
|
263
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 { XCollapseComponent } from './collapse.component';\r\nimport { XIconComponent } from '@ng-nest/ui/icon';\r\nimport { XOutletDirective } from '@ng-nest/ui/outlet';\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 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 activeSignal = signal(false);\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.collapseComponent.change(this.index());\r\n }\r\n }\r\n\r\n headerClick() {\r\n this.activeSignal.update((x) => !x);\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\r\n <div class=\"x-collapse-panel-body\" [class.x-collapse-panel-active]=\"activeSignal()\">\r\n <div class=\"x-collapse-panel-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\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 { XCollapseComponent } from './collapse.component';\r\nimport { XIconComponent } from '@ng-nest/ui/icon';\r\nimport { XOutletDirective } from '@ng-nest/ui/outlet';\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 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 activeSignal = signal(false);\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.collapseComponent.change(this.index());\r\n }\r\n }\r\n\r\n headerClick() {\r\n this.activeSignal.update((x) => !x);\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\r\n <div class=\"x-collapse-panel-body\" [class.x-collapse-panel-active]=\"activeSignal()\">\r\n <div class=\"x-collapse-panel-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\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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"}
|