@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.
Files changed (204) hide show
  1. package/fesm2022/ng-nest-ui-affix.mjs +12 -12
  2. package/fesm2022/ng-nest-ui-affix.mjs.map +1 -1
  3. package/fesm2022/ng-nest-ui-alert.mjs +46 -34
  4. package/fesm2022/ng-nest-ui-alert.mjs.map +1 -1
  5. package/fesm2022/ng-nest-ui-anchor.mjs +43 -31
  6. package/fesm2022/ng-nest-ui-anchor.mjs.map +1 -1
  7. package/fesm2022/ng-nest-ui-api.mjs +7 -7
  8. package/fesm2022/ng-nest-ui-attachments.mjs +74 -48
  9. package/fesm2022/ng-nest-ui-attachments.mjs.map +1 -1
  10. package/fesm2022/ng-nest-ui-auto-complete.mjs +114 -70
  11. package/fesm2022/ng-nest-ui-auto-complete.mjs.map +1 -1
  12. package/fesm2022/ng-nest-ui-avatar.mjs +47 -32
  13. package/fesm2022/ng-nest-ui-avatar.mjs.map +1 -1
  14. package/fesm2022/ng-nest-ui-back-top.mjs +23 -18
  15. package/fesm2022/ng-nest-ui-back-top.mjs.map +1 -1
  16. package/fesm2022/ng-nest-ui-badge.mjs +30 -23
  17. package/fesm2022/ng-nest-ui-badge.mjs.map +1 -1
  18. package/fesm2022/ng-nest-ui-base-form.mjs +75 -44
  19. package/fesm2022/ng-nest-ui-base-form.mjs.map +1 -1
  20. package/fesm2022/ng-nest-ui-bubble.mjs +76 -48
  21. package/fesm2022/ng-nest-ui-bubble.mjs.map +1 -1
  22. package/fesm2022/ng-nest-ui-button.mjs +53 -42
  23. package/fesm2022/ng-nest-ui-button.mjs.map +1 -1
  24. package/fesm2022/ng-nest-ui-calendar.mjs +30 -20
  25. package/fesm2022/ng-nest-ui-calendar.mjs.map +1 -1
  26. package/fesm2022/ng-nest-ui-card.mjs +21 -16
  27. package/fesm2022/ng-nest-ui-card.mjs.map +1 -1
  28. package/fesm2022/ng-nest-ui-carousel.mjs +68 -46
  29. package/fesm2022/ng-nest-ui-carousel.mjs.map +1 -1
  30. package/fesm2022/ng-nest-ui-cascade.mjs +121 -73
  31. package/fesm2022/ng-nest-ui-cascade.mjs.map +1 -1
  32. package/fesm2022/ng-nest-ui-checkbox.mjs +54 -38
  33. package/fesm2022/ng-nest-ui-checkbox.mjs.map +1 -1
  34. package/fesm2022/ng-nest-ui-collapse.mjs +38 -30
  35. package/fesm2022/ng-nest-ui-collapse.mjs.map +1 -1
  36. package/fesm2022/ng-nest-ui-color-picker.mjs +119 -72
  37. package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -1
  38. package/fesm2022/ng-nest-ui-color.mjs +22 -16
  39. package/fesm2022/ng-nest-ui-color.mjs.map +1 -1
  40. package/fesm2022/ng-nest-ui-comment.mjs +23 -21
  41. package/fesm2022/ng-nest-ui-comment.mjs.map +1 -1
  42. package/fesm2022/ng-nest-ui-container.mjs +40 -37
  43. package/fesm2022/ng-nest-ui-container.mjs.map +1 -1
  44. package/fesm2022/ng-nest-ui-contextmenu.mjs +71 -45
  45. package/fesm2022/ng-nest-ui-contextmenu.mjs.map +1 -1
  46. package/fesm2022/ng-nest-ui-core.mjs +24 -21
  47. package/fesm2022/ng-nest-ui-core.mjs.map +1 -1
  48. package/fesm2022/ng-nest-ui-coversations.mjs +25 -18
  49. package/fesm2022/ng-nest-ui-coversations.mjs.map +1 -1
  50. package/fesm2022/ng-nest-ui-crumb.mjs +15 -13
  51. package/fesm2022/ng-nest-ui-crumb.mjs.map +1 -1
  52. package/fesm2022/ng-nest-ui-date-picker.mjs +425 -256
  53. package/fesm2022/ng-nest-ui-date-picker.mjs.map +1 -1
  54. package/fesm2022/ng-nest-ui-description.mjs +42 -31
  55. package/fesm2022/ng-nest-ui-description.mjs.map +1 -1
  56. package/fesm2022/ng-nest-ui-dialog.mjs +106 -82
  57. package/fesm2022/ng-nest-ui-dialog.mjs.map +1 -1
  58. package/fesm2022/ng-nest-ui-divider.mjs +24 -17
  59. package/fesm2022/ng-nest-ui-divider.mjs.map +1 -1
  60. package/fesm2022/ng-nest-ui-doc.mjs +7 -7
  61. package/fesm2022/ng-nest-ui-drag.mjs +10 -10
  62. package/fesm2022/ng-nest-ui-drawer.mjs +52 -43
  63. package/fesm2022/ng-nest-ui-drawer.mjs.map +1 -1
  64. package/fesm2022/ng-nest-ui-dropdown.mjs +94 -58
  65. package/fesm2022/ng-nest-ui-dropdown.mjs.map +1 -1
  66. package/fesm2022/ng-nest-ui-empty.mjs +14 -12
  67. package/fesm2022/ng-nest-ui-empty.mjs.map +1 -1
  68. package/fesm2022/ng-nest-ui-examples.mjs +7 -7
  69. package/fesm2022/ng-nest-ui-find.mjs +111 -71
  70. package/fesm2022/ng-nest-ui-find.mjs.map +1 -1
  71. package/fesm2022/ng-nest-ui-form.mjs +45 -33
  72. package/fesm2022/ng-nest-ui-form.mjs.map +1 -1
  73. package/fesm2022/ng-nest-ui-highlight.mjs +26 -20
  74. package/fesm2022/ng-nest-ui-highlight.mjs.map +1 -1
  75. package/fesm2022/ng-nest-ui-i18n.mjs +16 -15
  76. package/fesm2022/ng-nest-ui-i18n.mjs.map +1 -1
  77. package/fesm2022/ng-nest-ui-icon.mjs +28 -21
  78. package/fesm2022/ng-nest-ui-icon.mjs.map +1 -1
  79. package/fesm2022/ng-nest-ui-image.mjs +57 -51
  80. package/fesm2022/ng-nest-ui-image.mjs.map +1 -1
  81. package/fesm2022/ng-nest-ui-inner.mjs +11 -11
  82. package/fesm2022/ng-nest-ui-inner.mjs.map +1 -1
  83. package/fesm2022/ng-nest-ui-input-number.mjs +63 -42
  84. package/fesm2022/ng-nest-ui-input-number.mjs.map +1 -1
  85. package/fesm2022/ng-nest-ui-input.mjs +130 -85
  86. package/fesm2022/ng-nest-ui-input.mjs.map +1 -1
  87. package/fesm2022/ng-nest-ui-keyword.mjs +19 -15
  88. package/fesm2022/ng-nest-ui-keyword.mjs.map +1 -1
  89. package/fesm2022/ng-nest-ui-layout.mjs +37 -31
  90. package/fesm2022/ng-nest-ui-layout.mjs.map +1 -1
  91. package/fesm2022/ng-nest-ui-link.mjs +23 -18
  92. package/fesm2022/ng-nest-ui-link.mjs.map +1 -1
  93. package/fesm2022/ng-nest-ui-list.mjs +137 -89
  94. package/fesm2022/ng-nest-ui-list.mjs.map +1 -1
  95. package/fesm2022/ng-nest-ui-loading.mjs +36 -25
  96. package/fesm2022/ng-nest-ui-loading.mjs.map +1 -1
  97. package/fesm2022/ng-nest-ui-menu.mjs +68 -45
  98. package/fesm2022/ng-nest-ui-menu.mjs.map +1 -1
  99. package/fesm2022/ng-nest-ui-message-box.mjs +10 -10
  100. package/fesm2022/ng-nest-ui-message.mjs +10 -10
  101. package/fesm2022/ng-nest-ui-notification.mjs +10 -10
  102. package/fesm2022/ng-nest-ui-outlet.mjs +11 -9
  103. package/fesm2022/ng-nest-ui-outlet.mjs.map +1 -1
  104. package/fesm2022/ng-nest-ui-page-header.mjs +20 -15
  105. package/fesm2022/ng-nest-ui-page-header.mjs.map +1 -1
  106. package/fesm2022/ng-nest-ui-pagination.mjs +69 -48
  107. package/fesm2022/ng-nest-ui-pagination.mjs.map +1 -1
  108. package/fesm2022/ng-nest-ui-pattern.mjs +7 -7
  109. package/fesm2022/ng-nest-ui-popconfirm.mjs +40 -27
  110. package/fesm2022/ng-nest-ui-popconfirm.mjs.map +1 -1
  111. package/fesm2022/ng-nest-ui-popover.mjs +57 -38
  112. package/fesm2022/ng-nest-ui-popover.mjs.map +1 -1
  113. package/fesm2022/ng-nest-ui-portal.mjs +7 -7
  114. package/fesm2022/ng-nest-ui-progress.mjs +60 -41
  115. package/fesm2022/ng-nest-ui-progress.mjs.map +1 -1
  116. package/fesm2022/ng-nest-ui-prompts.mjs +18 -15
  117. package/fesm2022/ng-nest-ui-prompts.mjs.map +1 -1
  118. package/fesm2022/ng-nest-ui-radio.mjs +50 -35
  119. package/fesm2022/ng-nest-ui-radio.mjs.map +1 -1
  120. package/fesm2022/ng-nest-ui-rate.mjs +43 -29
  121. package/fesm2022/ng-nest-ui-rate.mjs.map +1 -1
  122. package/fesm2022/ng-nest-ui-resizable.mjs +18 -16
  123. package/fesm2022/ng-nest-ui-resizable.mjs.map +1 -1
  124. package/fesm2022/ng-nest-ui-result.mjs +22 -16
  125. package/fesm2022/ng-nest-ui-result.mjs.map +1 -1
  126. package/fesm2022/ng-nest-ui-ripple.mjs +14 -13
  127. package/fesm2022/ng-nest-ui-ripple.mjs.map +1 -1
  128. package/fesm2022/ng-nest-ui-scrollable.mjs +41 -24
  129. package/fesm2022/ng-nest-ui-scrollable.mjs.map +1 -1
  130. package/fesm2022/ng-nest-ui-select.mjs +196 -117
  131. package/fesm2022/ng-nest-ui-select.mjs.map +1 -1
  132. package/fesm2022/ng-nest-ui-sender.mjs +43 -31
  133. package/fesm2022/ng-nest-ui-sender.mjs.map +1 -1
  134. package/fesm2022/ng-nest-ui-skeleton.mjs +17 -15
  135. package/fesm2022/ng-nest-ui-skeleton.mjs.map +1 -1
  136. package/fesm2022/ng-nest-ui-slider-select.mjs +85 -53
  137. package/fesm2022/ng-nest-ui-slider-select.mjs.map +1 -1
  138. package/fesm2022/ng-nest-ui-slider.mjs +58 -37
  139. package/fesm2022/ng-nest-ui-slider.mjs.map +1 -1
  140. package/fesm2022/ng-nest-ui-splitter.mjs +32 -24
  141. package/fesm2022/ng-nest-ui-splitter.mjs.map +1 -1
  142. package/fesm2022/ng-nest-ui-statistic.mjs +44 -30
  143. package/fesm2022/ng-nest-ui-statistic.mjs.map +1 -1
  144. package/fesm2022/ng-nest-ui-steps.mjs +30 -22
  145. package/fesm2022/ng-nest-ui-steps.mjs.map +1 -1
  146. package/fesm2022/ng-nest-ui-suggestion.mjs +23 -20
  147. package/fesm2022/ng-nest-ui-suggestion.mjs.map +1 -1
  148. package/fesm2022/ng-nest-ui-switch.mjs +35 -25
  149. package/fesm2022/ng-nest-ui-switch.mjs.map +1 -1
  150. package/fesm2022/ng-nest-ui-table-view.mjs +78 -69
  151. package/fesm2022/ng-nest-ui-table-view.mjs.map +1 -1
  152. package/fesm2022/ng-nest-ui-table.mjs +320 -205
  153. package/fesm2022/ng-nest-ui-table.mjs.map +1 -1
  154. package/fesm2022/ng-nest-ui-tabs.mjs +74 -56
  155. package/fesm2022/ng-nest-ui-tabs.mjs.map +1 -1
  156. package/fesm2022/ng-nest-ui-tag.mjs +30 -23
  157. package/fesm2022/ng-nest-ui-tag.mjs.map +1 -1
  158. package/fesm2022/ng-nest-ui-text-retract.mjs +19 -15
  159. package/fesm2022/ng-nest-ui-text-retract.mjs.map +1 -1
  160. package/fesm2022/ng-nest-ui-textarea.mjs +69 -44
  161. package/fesm2022/ng-nest-ui-textarea.mjs.map +1 -1
  162. package/fesm2022/ng-nest-ui-theme.mjs +34 -23
  163. package/fesm2022/ng-nest-ui-theme.mjs.map +1 -1
  164. package/fesm2022/ng-nest-ui-thought-chain.mjs +26 -19
  165. package/fesm2022/ng-nest-ui-thought-chain.mjs.map +1 -1
  166. package/fesm2022/ng-nest-ui-time-ago.mjs +7 -7
  167. package/fesm2022/ng-nest-ui-time-picker.mjs +164 -96
  168. package/fesm2022/ng-nest-ui-time-picker.mjs.map +1 -1
  169. package/fesm2022/ng-nest-ui-time-range.mjs +7 -7
  170. package/fesm2022/ng-nest-ui-timeline.mjs +26 -19
  171. package/fesm2022/ng-nest-ui-timeline.mjs.map +1 -1
  172. package/fesm2022/ng-nest-ui-tooltip.mjs +53 -35
  173. package/fesm2022/ng-nest-ui-tooltip.mjs.map +1 -1
  174. package/fesm2022/ng-nest-ui-transfer.mjs +66 -40
  175. package/fesm2022/ng-nest-ui-transfer.mjs.map +1 -1
  176. package/fesm2022/ng-nest-ui-tree-file.mjs +39 -28
  177. package/fesm2022/ng-nest-ui-tree-file.mjs.map +1 -1
  178. package/fesm2022/ng-nest-ui-tree-select.mjs +186 -111
  179. package/fesm2022/ng-nest-ui-tree-select.mjs.map +1 -1
  180. package/fesm2022/ng-nest-ui-tree.mjs +166 -105
  181. package/fesm2022/ng-nest-ui-tree.mjs.map +1 -1
  182. package/fesm2022/ng-nest-ui-typography.mjs +16 -13
  183. package/fesm2022/ng-nest-ui-typography.mjs.map +1 -1
  184. package/fesm2022/ng-nest-ui-upload.mjs +81 -53
  185. package/fesm2022/ng-nest-ui-upload.mjs.map +1 -1
  186. package/fesm2022/ng-nest-ui-watermark.mjs +44 -34
  187. package/fesm2022/ng-nest-ui-watermark.mjs.map +1 -1
  188. package/fesm2022/ng-nest-ui-welcome.mjs +22 -16
  189. package/fesm2022/ng-nest-ui-welcome.mjs.map +1 -1
  190. package/package.json +3 -2
  191. package/types/ng-nest-ui-base-form.d.ts +3 -3
  192. package/types/ng-nest-ui-carousel.d.ts +1 -1
  193. package/types/ng-nest-ui-container.d.ts +1 -1
  194. package/types/ng-nest-ui-core.d.ts +1 -1
  195. package/types/ng-nest-ui-dialog.d.ts +1 -1
  196. package/types/ng-nest-ui-drawer.d.ts +1 -1
  197. package/types/ng-nest-ui-form.d.ts +12 -12
  198. package/types/ng-nest-ui-layout.d.ts +1 -1
  199. package/types/ng-nest-ui-list.d.ts +1 -1
  200. package/types/ng-nest-ui-portal.d.ts +3 -3
  201. package/types/ng-nest-ui-table-view.d.ts +1 -1
  202. package/types/ng-nest-ui-table.d.ts +1 -1
  203. package/types/ng-nest-ui-tabs.d.ts +1 -1
  204. package/types/ng-nest-ui-tree.d.ts +1 -1
@@ -23,32 +23,37 @@ class XStatisticProperty extends XPropertyFunction(X_STATISTIC_CONFIG_NAME) {
23
23
  * @zh_CN 显示值
24
24
  * @en_US Display value
25
25
  */
26
- this.value = input(...(ngDevMode ? [undefined, { debugName: "value" }] : []));
26
+ this.value = input(/* @ts-ignore */
27
+ ...(ngDevMode ? [undefined, { debugName: "value" }] : /* istanbul ignore next */ []));
27
28
  /**
28
29
  * @zh_CN 标题
29
30
  * @en_US Title
30
31
  */
31
- this.label = input(...(ngDevMode ? [undefined, { debugName: "label" }] : []));
32
+ this.label = input(/* @ts-ignore */
33
+ ...(ngDevMode ? [undefined, { debugName: "label" }] : /* istanbul ignore next */ []));
32
34
  /**
33
35
  * @zh_CN 前缀
34
36
  * @en_US Prefix
35
37
  */
36
- this.prefix = input(...(ngDevMode ? [undefined, { debugName: "prefix" }] : []));
38
+ this.prefix = input(/* @ts-ignore */
39
+ ...(ngDevMode ? [undefined, { debugName: "prefix" }] : /* istanbul ignore next */ []));
37
40
  /**
38
41
  * @zh_CN 后缀
39
42
  * @en_US Suffix
40
43
  */
41
- this.suffix = input(...(ngDevMode ? [undefined, { debugName: "suffix" }] : []));
44
+ this.suffix = input(/* @ts-ignore */
45
+ ...(ngDevMode ? [undefined, { debugName: "suffix" }] : /* istanbul ignore next */ []));
42
46
  /**
43
47
  * @zh_CN 显示值样式
44
48
  * @en_US Display value style
45
49
  */
46
- this.valueStyle = input({}, ...(ngDevMode ? [{ debugName: "valueStyle" }] : []));
50
+ this.valueStyle = input({}, /* @ts-ignore */
51
+ ...(ngDevMode ? [{ debugName: "valueStyle" }] : /* istanbul ignore next */ []));
47
52
  }
48
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XStatisticProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
49
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.1", type: XStatisticProperty, isStandalone: true, selector: "x-statistic-property", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, prefix: { classPropertyName: "prefix", publicName: "prefix", isSignal: true, isRequired: false, transformFunction: null }, suffix: { classPropertyName: "suffix", publicName: "suffix", isSignal: true, isRequired: false, transformFunction: null }, valueStyle: { classPropertyName: "valueStyle", publicName: "valueStyle", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
53
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XStatisticProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
54
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.1", type: XStatisticProperty, isStandalone: true, selector: "x-statistic-property", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, prefix: { classPropertyName: "prefix", publicName: "prefix", isSignal: true, isRequired: false, transformFunction: null }, suffix: { classPropertyName: "suffix", publicName: "suffix", isSignal: true, isRequired: false, transformFunction: null }, valueStyle: { classPropertyName: "valueStyle", publicName: "valueStyle", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
50
55
  }
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XStatisticProperty, decorators: [{
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XStatisticProperty, decorators: [{
52
57
  type: Component,
53
58
  args: [{ selector: `${XStatisticPrefix}-property`, template: '' }]
54
59
  }], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], prefix: [{ type: i0.Input, args: [{ isSignal: true, alias: "prefix", required: false }] }], suffix: [{ type: i0.Input, args: [{ isSignal: true, alias: "suffix", required: false }] }], valueStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "valueStyle", required: false }] }] } });
@@ -69,42 +74,48 @@ class XCountdownProperty extends XPropertyFunction(X_COUNTDOWN_CONFIG_NAME) {
69
74
  * @zh_CN 显示值
70
75
  * @en_US Display value
71
76
  */
72
- this.value = input(...(ngDevMode ? [undefined, { debugName: "value" }] : []));
77
+ this.value = input(/* @ts-ignore */
78
+ ...(ngDevMode ? [undefined, { debugName: "value" }] : /* istanbul ignore next */ []));
73
79
  /**
74
80
  * @zh_CN 标题
75
81
  * @en_US Title
76
82
  */
77
- this.label = input(...(ngDevMode ? [undefined, { debugName: "label" }] : []));
83
+ this.label = input(/* @ts-ignore */
84
+ ...(ngDevMode ? [undefined, { debugName: "label" }] : /* istanbul ignore next */ []));
78
85
  /**
79
86
  * @zh_CN 前缀
80
87
  * @en_US Prefix
81
88
  */
82
- this.prefix = input(...(ngDevMode ? [undefined, { debugName: "prefix" }] : []));
89
+ this.prefix = input(/* @ts-ignore */
90
+ ...(ngDevMode ? [undefined, { debugName: "prefix" }] : /* istanbul ignore next */ []));
83
91
  /**
84
92
  * @zh_CN 后缀
85
93
  * @en_US Suffix
86
94
  */
87
- this.suffix = input(...(ngDevMode ? [undefined, { debugName: "suffix" }] : []));
95
+ this.suffix = input(/* @ts-ignore */
96
+ ...(ngDevMode ? [undefined, { debugName: "suffix" }] : /* istanbul ignore next */ []));
88
97
  /**
89
98
  * @zh_CN 显示值样式
90
99
  * @en_US Display value style
91
100
  */
92
- this.valueStyle = input({}, ...(ngDevMode ? [{ debugName: "valueStyle" }] : []));
101
+ this.valueStyle = input({}, /* @ts-ignore */
102
+ ...(ngDevMode ? [{ debugName: "valueStyle" }] : /* istanbul ignore next */ []));
93
103
  /**
94
104
  * @zh_CN 格式化
95
105
  * @en_US Format
96
106
  */
97
- this.format = input(this.config?.format ?? 'HH:mm:ss', ...(ngDevMode ? [{ debugName: "format" }] : []));
107
+ this.format = input(this.config?.format ?? 'HH:mm:ss', /* @ts-ignore */
108
+ ...(ngDevMode ? [{ debugName: "format" }] : /* istanbul ignore next */ []));
98
109
  /**
99
110
  * @zh_CN 倒计时结束的事件
100
111
  * @en_US Event at the end of the countdown
101
112
  */
102
113
  this.finish = output();
103
114
  }
104
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XCountdownProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
105
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.1", type: XCountdownProperty, isStandalone: true, selector: "x-countdown-property", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, prefix: { classPropertyName: "prefix", publicName: "prefix", isSignal: true, isRequired: false, transformFunction: null }, suffix: { classPropertyName: "suffix", publicName: "suffix", isSignal: true, isRequired: false, transformFunction: null }, valueStyle: { classPropertyName: "valueStyle", publicName: "valueStyle", isSignal: true, isRequired: false, transformFunction: null }, format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { finish: "finish" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
115
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XCountdownProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
116
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.1", type: XCountdownProperty, isStandalone: true, selector: "x-countdown-property", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, prefix: { classPropertyName: "prefix", publicName: "prefix", isSignal: true, isRequired: false, transformFunction: null }, suffix: { classPropertyName: "suffix", publicName: "suffix", isSignal: true, isRequired: false, transformFunction: null }, valueStyle: { classPropertyName: "valueStyle", publicName: "valueStyle", isSignal: true, isRequired: false, transformFunction: null }, format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { finish: "finish" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
106
117
  }
107
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XCountdownProperty, decorators: [{
118
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XCountdownProperty, decorators: [{
108
119
  type: Component,
109
120
  args: [{ selector: `${XCountdownPrefix}-property`, template: '' }]
110
121
  }], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], prefix: [{ type: i0.Input, args: [{ isSignal: true, alias: "prefix", required: false }] }], suffix: [{ type: i0.Input, args: [{ isSignal: true, alias: "suffix", required: false }] }], valueStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "valueStyle", required: false }] }], format: [{ type: i0.Input, args: [{ isSignal: true, alias: "format", required: false }] }], finish: [{ type: i0.Output, args: ["finish"] }] } });
@@ -119,7 +130,8 @@ class XStatisticComponent extends XStatisticProperty {
119
130
  const decimalSeparator = '.';
120
131
  const [int, decimal] = value.split(decimalSeparator);
121
132
  return decimal ? `${int}${decimalSeparator}` : int;
122
- }, ...(ngDevMode ? [{ debugName: "displayInt" }] : []));
133
+ }, /* @ts-ignore */
134
+ ...(ngDevMode ? [{ debugName: "displayInt" }] : /* istanbul ignore next */ []));
123
135
  this.displayDecimal = computed(() => {
124
136
  const value = this.value();
125
137
  if (!XIsString(value))
@@ -127,12 +139,13 @@ class XStatisticComponent extends XStatisticProperty {
127
139
  const decimalSeparator = '.';
128
140
  const [_int, decimal] = value.split(decimalSeparator);
129
141
  return decimal;
130
- }, ...(ngDevMode ? [{ debugName: "displayDecimal" }] : []));
142
+ }, /* @ts-ignore */
143
+ ...(ngDevMode ? [{ debugName: "displayDecimal" }] : /* istanbul ignore next */ []));
131
144
  }
132
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XStatisticComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
133
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.1", type: XStatisticComponent, isStandalone: true, selector: "x-statistic", usesInheritance: true, ngImport: i0, template: "<div #statistic class=\"x-statistic\">\r\n @if (label()) {\r\n <div class=\"x-statistic-label\">\r\n <ng-container *xOutlet=\"label()\">{{ label() }}</ng-container>\r\n </div>\r\n }\r\n @if (value()) {\r\n <div class=\"x-statistic-value\" [ngStyle]=\"valueStyle()\">\r\n <ng-container *xOutlet=\"value()\">\r\n @if (prefix()) {\r\n <span class=\"x-statistic-value-prefix\">\r\n <ng-container *xOutlet=\"prefix()\">{{ prefix() }}</ng-container>\r\n </span>\r\n }\r\n @if (displayInt()) {\r\n <span class=\"x-statistic-value-int\">{{ displayInt() }}</span>\r\n }\r\n @if (displayDecimal()) {\r\n <span class=\"x-statistic-value-decimal\">{{ displayDecimal() }}</span>\r\n }\r\n @if (suffix()) {\r\n <span class=\"x-statistic-value-suffix\">\r\n <ng-container *xOutlet=\"suffix()\">{{ suffix() }}</ng-container>\r\n </span>\r\n }\r\n </ng-container>\r\n </div>\r\n }\r\n</div>\r\n", styles: [".x-statistic{margin:0;padding:0}.x-statistic-label{margin-bottom:.25rem;color:var(--x-text-400)}.x-statistic-value{font-size:1.5rem}.x-statistic-value-decimal,.x-statistic-value-suffix{font-size:1rem}.x-statistic-value-suffix{margin-left:.25rem}.x-statistic-value-prefix{margin-right:.25rem}\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
145
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XStatisticComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
146
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.1", type: XStatisticComponent, isStandalone: true, selector: "x-statistic", usesInheritance: true, ngImport: i0, template: "<div #statistic class=\"x-statistic\">\r\n @if (label()) {\r\n <div class=\"x-statistic-label\">\r\n <ng-container *xOutlet=\"label()\">{{ label() }}</ng-container>\r\n </div>\r\n }\r\n @if (value()) {\r\n <div class=\"x-statistic-value\" [ngStyle]=\"valueStyle()\">\r\n <ng-container *xOutlet=\"value()\">\r\n @if (prefix()) {\r\n <span class=\"x-statistic-value-prefix\">\r\n <ng-container *xOutlet=\"prefix()\">{{ prefix() }}</ng-container>\r\n </span>\r\n }\r\n @if (displayInt()) {\r\n <span class=\"x-statistic-value-int\">{{ displayInt() }}</span>\r\n }\r\n @if (displayDecimal()) {\r\n <span class=\"x-statistic-value-decimal\">{{ displayDecimal() }}</span>\r\n }\r\n @if (suffix()) {\r\n <span class=\"x-statistic-value-suffix\">\r\n <ng-container *xOutlet=\"suffix()\">{{ suffix() }}</ng-container>\r\n </span>\r\n }\r\n </ng-container>\r\n </div>\r\n }\r\n</div>\r\n", styles: [".x-statistic{margin:0;padding:0}.x-statistic-label{margin-bottom:.25rem;color:var(--x-text-400)}.x-statistic-value{font-size:1.5rem}.x-statistic-value-decimal,.x-statistic-value-suffix{font-size:1rem}.x-statistic-value-suffix{margin-left:.25rem}.x-statistic-value-prefix{margin-right:.25rem}\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
134
147
  }
135
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XStatisticComponent, decorators: [{
148
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XStatisticComponent, decorators: [{
136
149
  type: Component,
137
150
  args: [{ selector: `${XStatisticPrefix}`, imports: [NgStyle, XOutletDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #statistic class=\"x-statistic\">\r\n @if (label()) {\r\n <div class=\"x-statistic-label\">\r\n <ng-container *xOutlet=\"label()\">{{ label() }}</ng-container>\r\n </div>\r\n }\r\n @if (value()) {\r\n <div class=\"x-statistic-value\" [ngStyle]=\"valueStyle()\">\r\n <ng-container *xOutlet=\"value()\">\r\n @if (prefix()) {\r\n <span class=\"x-statistic-value-prefix\">\r\n <ng-container *xOutlet=\"prefix()\">{{ prefix() }}</ng-container>\r\n </span>\r\n }\r\n @if (displayInt()) {\r\n <span class=\"x-statistic-value-int\">{{ displayInt() }}</span>\r\n }\r\n @if (displayDecimal()) {\r\n <span class=\"x-statistic-value-decimal\">{{ displayDecimal() }}</span>\r\n }\r\n @if (suffix()) {\r\n <span class=\"x-statistic-value-suffix\">\r\n <ng-container *xOutlet=\"suffix()\">{{ suffix() }}</ng-container>\r\n </span>\r\n }\r\n </ng-container>\r\n </div>\r\n }\r\n</div>\r\n", styles: [".x-statistic{margin:0;padding:0}.x-statistic-label{margin-bottom:.25rem;color:var(--x-text-400)}.x-statistic-value{font-size:1.5rem}.x-statistic-value-decimal,.x-statistic-value-suffix{font-size:1rem}.x-statistic-value-suffix{margin-left:.25rem}.x-statistic-value-prefix{margin-right:.25rem}\n"] }]
138
151
  }] });
@@ -140,7 +153,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
140
153
  class XCountdownComponent extends XCountdownProperty {
141
154
  constructor() {
142
155
  super(...arguments);
143
- this.diff = signal('', ...(ngDevMode ? [{ debugName: "diff" }] : []));
156
+ this.diff = signal('', /* @ts-ignore */
157
+ ...(ngDevMode ? [{ debugName: "diff" }] : /* istanbul ignore next */ []));
144
158
  this.period = 1000 / 30;
145
159
  this.platformId = inject(PLATFORM_ID);
146
160
  this.isBrowser = isPlatformBrowser(this.platformId);
@@ -192,20 +206,20 @@ class XCountdownComponent extends XCountdownProperty {
192
206
  this.finish.emit();
193
207
  }
194
208
  }
195
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XCountdownComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
196
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.1", type: XCountdownComponent, isStandalone: true, selector: "x-countdown", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-countdown\">\r\n <x-statistic\r\n [value]=\"diff() | xTimeRange: format()\"\r\n [valueStyle]=\"valueStyle()\"\r\n [prefix]=\"prefix()\"\r\n [suffix]=\"suffix()\"\r\n [label]=\"label()\"\r\n ></x-statistic>\r\n</div>\r\n", styles: ["x-countdown{display:inline-block}\n"], dependencies: [{ kind: "component", type: XStatisticComponent, selector: "x-statistic" }, { kind: "pipe", type: XTimeRangePipe, name: "xTimeRange" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
209
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XCountdownComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
210
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.1", type: XCountdownComponent, isStandalone: true, selector: "x-countdown", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-countdown\">\r\n <x-statistic\r\n [value]=\"diff() | xTimeRange: format()\"\r\n [valueStyle]=\"valueStyle()\"\r\n [prefix]=\"prefix()\"\r\n [suffix]=\"suffix()\"\r\n [label]=\"label()\"\r\n ></x-statistic>\r\n</div>\r\n", styles: ["x-countdown{display:inline-block}\n"], dependencies: [{ kind: "component", type: XStatisticComponent, selector: "x-statistic" }, { kind: "pipe", type: XTimeRangePipe, name: "xTimeRange" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
197
211
  }
198
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XCountdownComponent, decorators: [{
212
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XCountdownComponent, decorators: [{
199
213
  type: Component,
200
214
  args: [{ selector: `${XCountdownPrefix}`, imports: [XStatisticComponent, XTimeRangePipe], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"x-countdown\">\r\n <x-statistic\r\n [value]=\"diff() | xTimeRange: format()\"\r\n [valueStyle]=\"valueStyle()\"\r\n [prefix]=\"prefix()\"\r\n [suffix]=\"suffix()\"\r\n [label]=\"label()\"\r\n ></x-statistic>\r\n</div>\r\n", styles: ["x-countdown{display:inline-block}\n"] }]
201
215
  }] });
202
216
 
203
217
  class XStatisticModule {
204
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XStatisticModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
205
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.1", ngImport: i0, type: XStatisticModule, imports: [XStatisticComponent, XCountdownComponent], exports: [XStatisticComponent, XCountdownComponent] }); }
206
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XStatisticModule }); }
218
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XStatisticModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
219
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.1", ngImport: i0, type: XStatisticModule, imports: [XStatisticComponent, XCountdownComponent], exports: [XStatisticComponent, XCountdownComponent] }); }
220
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XStatisticModule }); }
207
221
  }
208
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XStatisticModule, decorators: [{
222
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XStatisticModule, decorators: [{
209
223
  type: NgModule,
210
224
  args: [{
211
225
  exports: [XStatisticComponent, XCountdownComponent],
@@ -1 +1 @@
1
- {"version":3,"file":"ng-nest-ui-statistic.mjs","sources":["../../../../lib/ng-nest/ui/statistic/statistic.property.ts","../../../../lib/ng-nest/ui/statistic/statistic.component.ts","../../../../lib/ng-nest/ui/statistic/statistic.component.html","../../../../lib/ng-nest/ui/statistic/countdown.component.ts","../../../../lib/ng-nest/ui/statistic/countdown.component.html","../../../../lib/ng-nest/ui/statistic/statistic.module.ts","../../../../lib/ng-nest/ui/statistic/ng-nest-ui-statistic.ts"],"sourcesContent":["import { XPropertyFunction } from '@ng-nest/ui/core';\r\nimport { Component, input, output } from '@angular/core';\r\nimport type { XTemplate, XStyle } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * Statistic\r\n * @selector x-statistic\r\n * @decorator component\r\n */\r\nexport const XStatisticPrefix = 'x-statistic';\r\nconst X_STATISTIC_CONFIG_NAME = 'statistic';\r\n\r\n/**\r\n * Statistic Property\r\n */\r\n@Component({ selector: `${XStatisticPrefix}-property`, template: '' })\r\nexport class XStatisticProperty extends XPropertyFunction(X_STATISTIC_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 显示值\r\n * @en_US Display value\r\n */\r\n readonly value = input<XTemplate>();\r\n /**\r\n * @zh_CN 标题\r\n * @en_US Title\r\n */\r\n readonly label = input<XTemplate>();\r\n /**\r\n * @zh_CN 前缀\r\n * @en_US Prefix\r\n */\r\n readonly prefix = input<XTemplate>();\r\n /**\r\n * @zh_CN 后缀\r\n * @en_US Suffix\r\n */\r\n readonly suffix = input<XTemplate>();\r\n /**\r\n * @zh_CN 显示值样式\r\n * @en_US Display value style\r\n */\r\n readonly valueStyle = input<XStyle>({});\r\n}\r\n\r\n/**\r\n * Countdown\r\n * @selector x-countdown\r\n * @decorator component\r\n */\r\nexport const XCountdownPrefix = 'x-countdown';\r\nconst X_COUNTDOWN_CONFIG_NAME = 'countdown';\r\n\r\n/**\r\n * Countdown Property\r\n */\r\n@Component({ selector: `${XCountdownPrefix}-property`, template: '' })\r\nexport class XCountdownProperty extends XPropertyFunction(X_COUNTDOWN_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 显示值\r\n * @en_US Display value\r\n */\r\n readonly value = input<XTemplate>();\r\n /**\r\n * @zh_CN 标题\r\n * @en_US Title\r\n */\r\n readonly label = input<XTemplate>();\r\n /**\r\n * @zh_CN 前缀\r\n * @en_US Prefix\r\n */\r\n readonly prefix = input<XTemplate>();\r\n /**\r\n * @zh_CN 后缀\r\n * @en_US Suffix\r\n */\r\n readonly suffix = input<XTemplate>();\r\n /**\r\n * @zh_CN 显示值样式\r\n * @en_US Display value style\r\n */\r\n readonly valueStyle = input<XStyle>({});\r\n /**\r\n * @zh_CN 格式化\r\n * @en_US Format\r\n */\r\n readonly format = input<string>(this.config?.format ?? 'HH:mm:ss');\r\n /**\r\n * @zh_CN 倒计时结束的事件\r\n * @en_US Event at the end of the countdown\r\n */\r\n readonly finish = output<void>();\r\n}\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, computed } from '@angular/core';\r\nimport { XStatisticPrefix, XStatisticProperty } from './statistic.property';\r\nimport { XIsString } from '@ng-nest/ui/core';\r\nimport { XOutletDirective } from '@ng-nest/ui/outlet';\r\nimport { NgStyle } from '@angular/common';\r\n\r\n@Component({\r\n selector: `${XStatisticPrefix}`,\r\n imports: [NgStyle, XOutletDirective],\r\n templateUrl: './statistic.component.html',\r\n styleUrls: ['./statistic.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XStatisticComponent extends XStatisticProperty {\r\n displayInt = computed(() => {\r\n const value = this.value();\r\n if (!XIsString(value)) return '';\r\n const decimalSeparator: string = '.';\r\n const [int, decimal] = value.split(decimalSeparator);\r\n return decimal ? `${int}${decimalSeparator}` : int;\r\n });\r\n displayDecimal = computed(() => {\r\n const value = this.value();\r\n if (!XIsString(value)) return '';\r\n const decimalSeparator: string = '.';\r\n const [_int, decimal] = value.split(decimalSeparator);\r\n return decimal;\r\n });\r\n}\r\n","<div #statistic class=\"x-statistic\">\r\n @if (label()) {\r\n <div class=\"x-statistic-label\">\r\n <ng-container *xOutlet=\"label()\">{{ label() }}</ng-container>\r\n </div>\r\n }\r\n @if (value()) {\r\n <div class=\"x-statistic-value\" [ngStyle]=\"valueStyle()\">\r\n <ng-container *xOutlet=\"value()\">\r\n @if (prefix()) {\r\n <span class=\"x-statistic-value-prefix\">\r\n <ng-container *xOutlet=\"prefix()\">{{ prefix() }}</ng-container>\r\n </span>\r\n }\r\n @if (displayInt()) {\r\n <span class=\"x-statistic-value-int\">{{ displayInt() }}</span>\r\n }\r\n @if (displayDecimal()) {\r\n <span class=\"x-statistic-value-decimal\">{{ displayDecimal() }}</span>\r\n }\r\n @if (suffix()) {\r\n <span class=\"x-statistic-value-suffix\">\r\n <ng-container *xOutlet=\"suffix()\">{{ suffix() }}</ng-container>\r\n </span>\r\n }\r\n </ng-container>\r\n </div>\r\n }\r\n</div>\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n SimpleChanges,\r\n OnChanges,\r\n NgZone,\r\n inject,\r\n PLATFORM_ID,\r\n OnDestroy,\r\n signal\r\n} from '@angular/core';\r\nimport { XCountdownPrefix, XCountdownProperty } from './statistic.property';\r\nimport { interval, Subscription } from 'rxjs';\r\nimport { isPlatformBrowser } from '@angular/common';\r\nimport { XTimeRangePipe } from '@ng-nest/ui/time-range';\r\nimport { XStatisticComponent } from './statistic.component';\r\n\r\n@Component({\r\n selector: `${XCountdownPrefix}`,\r\n imports: [XStatisticComponent, XTimeRangePipe],\r\n templateUrl: './countdown.component.html',\r\n styleUrls: ['./countdown.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XCountdownComponent extends XCountdownProperty implements OnInit, OnChanges, OnDestroy {\r\n diff = signal<number | string>('');\r\n period = 1000 / 30;\r\n private _target!: number;\r\n private updater!: Subscription | null;\r\n platformId = inject(PLATFORM_ID);\r\n isBrowser = isPlatformBrowser(this.platformId);\r\n private ngZone = inject(NgZone);\r\n\r\n ngOnInit(): void {\r\n this.syncTimer();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const { value } = changes;\r\n if (value) {\r\n this._target = Number(value.currentValue);\r\n if (!value.isFirstChange()) {\r\n this.syncTimer();\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.stopTimer();\r\n }\r\n\r\n syncTimer(): void {\r\n if (this._target >= Date.now()) {\r\n this.startTimer();\r\n } else {\r\n this.stopTimer();\r\n }\r\n }\r\n\r\n startTimer(): void {\r\n if (!this.isBrowser) return;\r\n this.ngZone.runOutsideAngular(() => {\r\n this.stopTimer();\r\n this.updater = interval(this.period).subscribe(() => {\r\n this.updateValue();\r\n });\r\n });\r\n }\r\n\r\n stopTimer(): void {\r\n if (this.updater) {\r\n this.updater.unsubscribe();\r\n this.updater = null;\r\n }\r\n }\r\n\r\n updateValue(): void {\r\n this.diff.set(Math.max(this._target - Date.now(), 0));\r\n if (this.diff() === 0) {\r\n this.stopTimer();\r\n this.finish.emit();\r\n }\r\n }\r\n}\r\n","<div class=\"x-countdown\">\r\n <x-statistic\r\n [value]=\"diff() | xTimeRange: format()\"\r\n [valueStyle]=\"valueStyle()\"\r\n [prefix]=\"prefix()\"\r\n [suffix]=\"suffix()\"\r\n [label]=\"label()\"\r\n ></x-statistic>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { XStatisticComponent } from './statistic.component';\r\nimport { XCountdownComponent } from './countdown.component';\r\n\r\n@NgModule({\r\n exports: [XStatisticComponent, XCountdownComponent],\r\n imports: [XStatisticComponent, XCountdownComponent]\r\n})\r\nexport class XStatisticModule {}\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-statistic.mjs","sources":["../../../../lib/ng-nest/ui/statistic/statistic.property.ts","../../../../lib/ng-nest/ui/statistic/statistic.component.ts","../../../../lib/ng-nest/ui/statistic/statistic.component.html","../../../../lib/ng-nest/ui/statistic/countdown.component.ts","../../../../lib/ng-nest/ui/statistic/countdown.component.html","../../../../lib/ng-nest/ui/statistic/statistic.module.ts","../../../../lib/ng-nest/ui/statistic/ng-nest-ui-statistic.ts"],"sourcesContent":["import { XPropertyFunction } from '@ng-nest/ui/core';\r\nimport { Component, input, output } from '@angular/core';\r\nimport type { XTemplate, XStyle } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * Statistic\r\n * @selector x-statistic\r\n * @decorator component\r\n */\r\nexport const XStatisticPrefix = 'x-statistic';\r\nconst X_STATISTIC_CONFIG_NAME = 'statistic';\r\n\r\n/**\r\n * Statistic Property\r\n */\r\n@Component({ selector: `${XStatisticPrefix}-property`, template: '' })\r\nexport class XStatisticProperty extends XPropertyFunction(X_STATISTIC_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 显示值\r\n * @en_US Display value\r\n */\r\n readonly value = input<XTemplate>();\r\n /**\r\n * @zh_CN 标题\r\n * @en_US Title\r\n */\r\n readonly label = input<XTemplate>();\r\n /**\r\n * @zh_CN 前缀\r\n * @en_US Prefix\r\n */\r\n readonly prefix = input<XTemplate>();\r\n /**\r\n * @zh_CN 后缀\r\n * @en_US Suffix\r\n */\r\n readonly suffix = input<XTemplate>();\r\n /**\r\n * @zh_CN 显示值样式\r\n * @en_US Display value style\r\n */\r\n readonly valueStyle = input<XStyle>({});\r\n}\r\n\r\n/**\r\n * Countdown\r\n * @selector x-countdown\r\n * @decorator component\r\n */\r\nexport const XCountdownPrefix = 'x-countdown';\r\nconst X_COUNTDOWN_CONFIG_NAME = 'countdown';\r\n\r\n/**\r\n * Countdown Property\r\n */\r\n@Component({ selector: `${XCountdownPrefix}-property`, template: '' })\r\nexport class XCountdownProperty extends XPropertyFunction(X_COUNTDOWN_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 显示值\r\n * @en_US Display value\r\n */\r\n readonly value = input<XTemplate>();\r\n /**\r\n * @zh_CN 标题\r\n * @en_US Title\r\n */\r\n readonly label = input<XTemplate>();\r\n /**\r\n * @zh_CN 前缀\r\n * @en_US Prefix\r\n */\r\n readonly prefix = input<XTemplate>();\r\n /**\r\n * @zh_CN 后缀\r\n * @en_US Suffix\r\n */\r\n readonly suffix = input<XTemplate>();\r\n /**\r\n * @zh_CN 显示值样式\r\n * @en_US Display value style\r\n */\r\n readonly valueStyle = input<XStyle>({});\r\n /**\r\n * @zh_CN 格式化\r\n * @en_US Format\r\n */\r\n readonly format = input<string>(this.config?.format ?? 'HH:mm:ss');\r\n /**\r\n * @zh_CN 倒计时结束的事件\r\n * @en_US Event at the end of the countdown\r\n */\r\n readonly finish = output<void>();\r\n}\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, computed } from '@angular/core';\r\nimport { XStatisticPrefix, XStatisticProperty } from './statistic.property';\r\nimport { XIsString } from '@ng-nest/ui/core';\r\nimport { XOutletDirective } from '@ng-nest/ui/outlet';\r\nimport { NgStyle } from '@angular/common';\r\n\r\n@Component({\r\n selector: `${XStatisticPrefix}`,\r\n imports: [NgStyle, XOutletDirective],\r\n templateUrl: './statistic.component.html',\r\n styleUrls: ['./statistic.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XStatisticComponent extends XStatisticProperty {\r\n displayInt = computed(() => {\r\n const value = this.value();\r\n if (!XIsString(value)) return '';\r\n const decimalSeparator: string = '.';\r\n const [int, decimal] = value.split(decimalSeparator);\r\n return decimal ? `${int}${decimalSeparator}` : int;\r\n });\r\n displayDecimal = computed(() => {\r\n const value = this.value();\r\n if (!XIsString(value)) return '';\r\n const decimalSeparator: string = '.';\r\n const [_int, decimal] = value.split(decimalSeparator);\r\n return decimal;\r\n });\r\n}\r\n","<div #statistic class=\"x-statistic\">\r\n @if (label()) {\r\n <div class=\"x-statistic-label\">\r\n <ng-container *xOutlet=\"label()\">{{ label() }}</ng-container>\r\n </div>\r\n }\r\n @if (value()) {\r\n <div class=\"x-statistic-value\" [ngStyle]=\"valueStyle()\">\r\n <ng-container *xOutlet=\"value()\">\r\n @if (prefix()) {\r\n <span class=\"x-statistic-value-prefix\">\r\n <ng-container *xOutlet=\"prefix()\">{{ prefix() }}</ng-container>\r\n </span>\r\n }\r\n @if (displayInt()) {\r\n <span class=\"x-statistic-value-int\">{{ displayInt() }}</span>\r\n }\r\n @if (displayDecimal()) {\r\n <span class=\"x-statistic-value-decimal\">{{ displayDecimal() }}</span>\r\n }\r\n @if (suffix()) {\r\n <span class=\"x-statistic-value-suffix\">\r\n <ng-container *xOutlet=\"suffix()\">{{ suffix() }}</ng-container>\r\n </span>\r\n }\r\n </ng-container>\r\n </div>\r\n }\r\n</div>\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n SimpleChanges,\r\n OnChanges,\r\n NgZone,\r\n inject,\r\n PLATFORM_ID,\r\n OnDestroy,\r\n signal\r\n} from '@angular/core';\r\nimport { XCountdownPrefix, XCountdownProperty } from './statistic.property';\r\nimport { interval, Subscription } from 'rxjs';\r\nimport { isPlatformBrowser } from '@angular/common';\r\nimport { XTimeRangePipe } from '@ng-nest/ui/time-range';\r\nimport { XStatisticComponent } from './statistic.component';\r\n\r\n@Component({\r\n selector: `${XCountdownPrefix}`,\r\n imports: [XStatisticComponent, XTimeRangePipe],\r\n templateUrl: './countdown.component.html',\r\n styleUrls: ['./countdown.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XCountdownComponent extends XCountdownProperty implements OnInit, OnChanges, OnDestroy {\r\n diff = signal<number | string>('');\r\n period = 1000 / 30;\r\n private _target!: number;\r\n private updater!: Subscription | null;\r\n platformId = inject(PLATFORM_ID);\r\n isBrowser = isPlatformBrowser(this.platformId);\r\n private ngZone = inject(NgZone);\r\n\r\n ngOnInit(): void {\r\n this.syncTimer();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const { value } = changes;\r\n if (value) {\r\n this._target = Number(value.currentValue);\r\n if (!value.isFirstChange()) {\r\n this.syncTimer();\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.stopTimer();\r\n }\r\n\r\n syncTimer(): void {\r\n if (this._target >= Date.now()) {\r\n this.startTimer();\r\n } else {\r\n this.stopTimer();\r\n }\r\n }\r\n\r\n startTimer(): void {\r\n if (!this.isBrowser) return;\r\n this.ngZone.runOutsideAngular(() => {\r\n this.stopTimer();\r\n this.updater = interval(this.period).subscribe(() => {\r\n this.updateValue();\r\n });\r\n });\r\n }\r\n\r\n stopTimer(): void {\r\n if (this.updater) {\r\n this.updater.unsubscribe();\r\n this.updater = null;\r\n }\r\n }\r\n\r\n updateValue(): void {\r\n this.diff.set(Math.max(this._target - Date.now(), 0));\r\n if (this.diff() === 0) {\r\n this.stopTimer();\r\n this.finish.emit();\r\n }\r\n }\r\n}\r\n","<div class=\"x-countdown\">\r\n <x-statistic\r\n [value]=\"diff() | xTimeRange: format()\"\r\n [valueStyle]=\"valueStyle()\"\r\n [prefix]=\"prefix()\"\r\n [suffix]=\"suffix()\"\r\n [label]=\"label()\"\r\n ></x-statistic>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { XStatisticComponent } from './statistic.component';\r\nimport { XCountdownComponent } from './countdown.component';\r\n\r\n@NgModule({\r\n exports: [XStatisticComponent, XCountdownComponent],\r\n imports: [XStatisticComponent, XCountdownComponent]\r\n})\r\nexport class XStatisticModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -22,57 +22,63 @@ class XStepsProperty extends XPropertyFunction(X_STEPS_CONFIG_NAME) {
22
22
  * @zh_CN 节点数据
23
23
  * @en_US Node data
24
24
  */
25
- this.data = input([], { ...(ngDevMode ? { debugName: "data" } : {}), transform: XToDataArray });
25
+ this.data = input([], { ...(ngDevMode ? { debugName: "data" } : /* istanbul ignore next */ {}), transform: XToDataArray });
26
26
  /**
27
27
  * @zh_CN 布局方式
28
28
  * @en_US Layout
29
29
  */
30
- this.layout = input('row', ...(ngDevMode ? [{ debugName: "layout" }] : []));
30
+ this.layout = input('row', /* @ts-ignore */
31
+ ...(ngDevMode ? [{ debugName: "layout" }] : /* istanbul ignore next */ []));
31
32
  /**
32
33
  * @zh_CN 当前激活节点
33
34
  * @en_US Currently active node
34
35
  */
35
- this.activatedIndex = input(0, { ...(ngDevMode ? { debugName: "activatedIndex" } : {}), transform: XToNumber });
36
+ this.activatedIndex = input(0, { ...(ngDevMode ? { debugName: "activatedIndex" } : /* istanbul ignore next */ {}), transform: XToNumber });
36
37
  /**
37
38
  * @zh_CN 步骤开始序号
38
39
  * @en_US Step start number
39
40
  */
40
- this.startIndex = input(0, { ...(ngDevMode ? { debugName: "startIndex" } : {}), transform: XToNumber });
41
+ this.startIndex = input(0, { ...(ngDevMode ? { debugName: "startIndex" } : /* istanbul ignore next */ {}), transform: XToNumber });
41
42
  /**
42
43
  * @zh_CN 当前激活节点状态
43
44
  * @en_US Current active node status
44
45
  */
45
- this.status = input(...(ngDevMode ? [undefined, { debugName: "status" }] : []));
46
+ this.status = input(/* @ts-ignore */
47
+ ...(ngDevMode ? [undefined, { debugName: "status" }] : /* istanbul ignore next */ []));
46
48
  /**
47
49
  * @zh_CN 自定义节点(22 版本将废弃)
48
50
  * @en_US Custom node (will be deprecated in version 22)
49
51
  */
50
- this.customTpl = input(...(ngDevMode ? [undefined, { debugName: "customTpl" }] : []));
52
+ this.customTpl = input(/* @ts-ignore */
53
+ ...(ngDevMode ? [undefined, { debugName: "customTpl" }] : /* istanbul ignore next */ []));
51
54
  /**
52
55
  * @zh_CN 自定义节点图标
53
56
  * @en_US Custom node icon
54
57
  */
55
- this.customIconTpl = input(...(ngDevMode ? [undefined, { debugName: "customIconTpl" }] : []));
58
+ this.customIconTpl = input(/* @ts-ignore */
59
+ ...(ngDevMode ? [undefined, { debugName: "customIconTpl" }] : /* istanbul ignore next */ []));
56
60
  /**
57
61
  * @zh_CN 自定义节点标题
58
62
  * @en_US Custom node label
59
63
  */
60
- this.customLabelTpl = input(...(ngDevMode ? [undefined, { debugName: "customLabelTpl" }] : []));
64
+ this.customLabelTpl = input(/* @ts-ignore */
65
+ ...(ngDevMode ? [undefined, { debugName: "customLabelTpl" }] : /* istanbul ignore next */ []));
61
66
  /**
62
67
  * @zh_CN 自定义节点描述
63
68
  * @en_US Custom node description
64
69
  */
65
- this.customDescriptionTpl = input(...(ngDevMode ? [undefined, { debugName: "customDescriptionTpl" }] : []));
70
+ this.customDescriptionTpl = input(/* @ts-ignore */
71
+ ...(ngDevMode ? [undefined, { debugName: "customDescriptionTpl" }] : /* istanbul ignore next */ []));
66
72
  /**
67
73
  * @zh_CN 节点设置的状态优先,将不会自动计算当前节点,`activatedIndex` 和 `status` 将失效
68
74
  * @en_US the status set by the node takes precedence, and the current node will not be calculated, `activatedIndex` and `status` will be invalidated
69
75
  */
70
- this.nodeStatus = input(false, { ...(ngDevMode ? { debugName: "nodeStatus" } : {}), transform: XToBoolean });
76
+ this.nodeStatus = input(false, { ...(ngDevMode ? { debugName: "nodeStatus" } : /* istanbul ignore next */ {}), transform: XToBoolean });
71
77
  }
72
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XStepsProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
73
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.1", type: XStepsProperty, isStandalone: true, selector: "x-steps-property", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, layout: { classPropertyName: "layout", publicName: "layout", isSignal: true, isRequired: false, transformFunction: null }, activatedIndex: { classPropertyName: "activatedIndex", publicName: "activatedIndex", isSignal: true, isRequired: false, transformFunction: null }, startIndex: { classPropertyName: "startIndex", publicName: "startIndex", isSignal: true, isRequired: false, transformFunction: null }, status: { classPropertyName: "status", publicName: "status", isSignal: true, isRequired: false, transformFunction: null }, customTpl: { classPropertyName: "customTpl", publicName: "customTpl", isSignal: true, isRequired: false, transformFunction: null }, customIconTpl: { classPropertyName: "customIconTpl", publicName: "customIconTpl", isSignal: true, isRequired: false, transformFunction: null }, customLabelTpl: { classPropertyName: "customLabelTpl", publicName: "customLabelTpl", isSignal: true, isRequired: false, transformFunction: null }, customDescriptionTpl: { classPropertyName: "customDescriptionTpl", publicName: "customDescriptionTpl", isSignal: true, isRequired: false, transformFunction: null }, nodeStatus: { classPropertyName: "nodeStatus", publicName: "nodeStatus", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
78
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XStepsProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
79
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.1", type: XStepsProperty, isStandalone: true, selector: "x-steps-property", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, layout: { classPropertyName: "layout", publicName: "layout", isSignal: true, isRequired: false, transformFunction: null }, activatedIndex: { classPropertyName: "activatedIndex", publicName: "activatedIndex", isSignal: true, isRequired: false, transformFunction: null }, startIndex: { classPropertyName: "startIndex", publicName: "startIndex", isSignal: true, isRequired: false, transformFunction: null }, status: { classPropertyName: "status", publicName: "status", isSignal: true, isRequired: false, transformFunction: null }, customTpl: { classPropertyName: "customTpl", publicName: "customTpl", isSignal: true, isRequired: false, transformFunction: null }, customIconTpl: { classPropertyName: "customIconTpl", publicName: "customIconTpl", isSignal: true, isRequired: false, transformFunction: null }, customLabelTpl: { classPropertyName: "customLabelTpl", publicName: "customLabelTpl", isSignal: true, isRequired: false, transformFunction: null }, customDescriptionTpl: { classPropertyName: "customDescriptionTpl", publicName: "customDescriptionTpl", isSignal: true, isRequired: false, transformFunction: null }, nodeStatus: { classPropertyName: "nodeStatus", publicName: "nodeStatus", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
74
80
  }
75
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XStepsProperty, decorators: [{
81
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XStepsProperty, decorators: [{
76
82
  type: Component,
77
83
  args: [{ selector: `${XStepsPrefix}-property`, template: '' }]
78
84
  }], propDecorators: { data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: false }] }], layout: [{ type: i0.Input, args: [{ isSignal: true, alias: "layout", required: false }] }], activatedIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "activatedIndex", required: false }] }], startIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "startIndex", required: false }] }], status: [{ type: i0.Input, args: [{ isSignal: true, alias: "status", required: false }] }], customTpl: [{ type: i0.Input, args: [{ isSignal: true, alias: "customTpl", required: false }] }], customIconTpl: [{ type: i0.Input, args: [{ isSignal: true, alias: "customIconTpl", required: false }] }], customLabelTpl: [{ type: i0.Input, args: [{ isSignal: true, alias: "customLabelTpl", required: false }] }], customDescriptionTpl: [{ type: i0.Input, args: [{ isSignal: true, alias: "customDescriptionTpl", required: false }] }], nodeStatus: [{ type: i0.Input, args: [{ isSignal: true, alias: "nodeStatus", required: false }] }] } });
@@ -103,28 +109,30 @@ class XStepsComponent extends XStepsProperty {
103
109
  }
104
110
  return x;
105
111
  });
106
- }, ...(ngDevMode ? [{ debugName: "nodes" }] : []));
112
+ }, /* @ts-ignore */
113
+ ...(ngDevMode ? [{ debugName: "nodes" }] : /* istanbul ignore next */ []));
107
114
  this.classMap = computed(() => ({
108
115
  [`${XStepsPrefix}-${this.layout()}`]: !XIsEmpty(this.layout())
109
- }), ...(ngDevMode ? [{ debugName: "classMap" }] : []));
116
+ }), /* @ts-ignore */
117
+ ...(ngDevMode ? [{ debugName: "classMap" }] : /* istanbul ignore next */ []));
110
118
  }
111
119
  getIndex(index) {
112
120
  return this.startIndex() + index + 1;
113
121
  }
114
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XStepsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
115
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.1", type: XStepsComponent, isStandalone: true, selector: "x-steps", usesInheritance: true, ngImport: i0, template: "<div #steps class=\"x-steps\" [ngClass]=\"classMap()\">\r\n @for (node of nodes(); track node.id; let i = $index) {\r\n <div class=\"x-steps-node x-steps-{{ node.status }}\">\r\n <div class=\"x-steps-header\">\r\n <ng-container *xOutlet=\"customTpl() ?? customIconTpl(); context: { $node: node, $index: i }\">\r\n <div class=\"x-steps-icon\" [class.x-steps-only-icon]=\"node.icon\">\r\n @if (node.icon) {\r\n <x-icon [type]=\"node.icon\"></x-icon>\r\n } @else {\r\n @switch (node.status) {\r\n @case ('finish') {\r\n <x-icon type=\"fto-check\"></x-icon>\r\n }\r\n @case ('error') {\r\n <x-icon type=\"fto-x\"></x-icon>\r\n }\r\n @default {\r\n <span>{{ getIndex(i) }}</span>\r\n }\r\n }\r\n }\r\n </div>\r\n </ng-container>\r\n @if (layout() === 'column') {\r\n <span class=\"x-steps-line\"></span>\r\n }\r\n </div>\r\n <div class=\"x-steps-content\">\r\n <div class=\"x-steps-title\">\r\n <span class=\"x-steps-label\">\r\n <ng-container *xOutlet=\"customLabelTpl(); context: { $node: node, $index: i }\">{{\r\n node.label\r\n }}</ng-container>\r\n </span>\r\n\r\n @if (layout() === 'row') {\r\n <span class=\"x-steps-line\"></span>\r\n }\r\n </div>\r\n <div class=\"x-steps-description\">\r\n <ng-container *xOutlet=\"customDescriptionTpl(); context: { $node: node, $index: i }\">{{\r\n node.description\r\n }}</ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n</div>\r\n", styles: [".x-steps{margin:0;padding:0}.x-steps{display:flex}.x-steps-node{position:relative;flex:1;display:flex}.x-steps-node:last-child{flex:inherit}.x-steps-node:last-child .x-steps-line{display:none}.x-steps-content{padding:0 .5rem;position:relative;flex:1;display:flex;flex-direction:column}.x-steps-header{display:flex;flex-direction:column;align-items:center}.x-steps-title{display:flex;align-items:center;line-height:2rem;transition:var(--x-animation-duration-base)}.x-steps-label{padding-right:.5rem;white-space:nowrap;transition:var(--x-animation-duration-base)}.x-steps-line{flex:1;border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border);transition:var(--x-animation-duration-base)}.x-steps-icon{height:2rem;width:2rem;border:var(--x-border-width) var(--x-border-style) var(--x-border);background-color:var(--x-background);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:var(--x-animation-duration-base)}.x-steps-icon>.x-icon{font-size:1rem}.x-steps-icon.x-steps-only-icon{border:none}.x-steps-icon.x-steps-only-icon .x-icon{font-size:1.5rem}.x-steps-description{font-size:var(--x-font-size-small);color:var(--x-text-400);max-width:8rem}.x-steps-row{flex-direction:row}.x-steps-column{flex-direction:column}.x-steps-column .x-steps-header{min-height:5rem}.x-steps-column .x-steps-line{border-bottom:none;border-right:var(--x-border-width) var(--x-border-style) var(--x-border);margin:.5rem 0}.x-steps-column .x-steps-content{padding:0 0 .5rem .5rem}.x-steps-column .x-steps-description{max-width:inherit}.x-steps-wait .x-steps-label{color:var(--x-text-400);font-weight:\"\"}.x-steps-wait .x-steps-icon{color:var(--x-text-400);background-color:\"\";border-color:\"\"}.x-steps-wait .x-steps-line{border-color:\"\"}.x-steps-process .x-steps-label{color:var(--x-text-300);font-weight:700}.x-steps-process .x-steps-icon{color:var(--x-white);background-color:var(--x-primary);border-color:var(--x-primary)}.x-steps-process .x-steps-icon.x-steps-only-icon{color:var(--x-primary);background-color:inherit}.x-steps-process .x-steps-line{border-color:\"\"}.x-steps-finish .x-steps-label{color:var(--x-text-400);font-weight:\"\"}.x-steps-finish .x-steps-icon{color:var(--x-primary);background-color:\"\";border-color:\"\"}.x-steps-finish .x-steps-line{border-color:var(--x-primary)}.x-steps-error .x-steps-label{color:var(--x-danger);font-weight:\"\"}.x-steps-error .x-steps-icon{color:var(--x-danger);background-color:\"\";border-color:var(--x-danger)}.x-steps-error .x-steps-line{border-color:\"\"}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: XIconComponent, selector: "x-icon" }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
122
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XStepsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
123
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.1", type: XStepsComponent, isStandalone: true, selector: "x-steps", usesInheritance: true, ngImport: i0, template: "<div #steps class=\"x-steps\" [ngClass]=\"classMap()\">\r\n @for (node of nodes(); track node.id; let i = $index) {\r\n <div class=\"x-steps-node x-steps-{{ node.status }}\">\r\n <div class=\"x-steps-header\">\r\n <ng-container *xOutlet=\"customTpl() ?? customIconTpl(); context: { $node: node, $index: i }\">\r\n <div class=\"x-steps-icon\" [class.x-steps-only-icon]=\"node.icon\">\r\n @if (node.icon) {\r\n <x-icon [type]=\"node.icon\"></x-icon>\r\n } @else {\r\n @switch (node.status) {\r\n @case ('finish') {\r\n <x-icon type=\"fto-check\"></x-icon>\r\n }\r\n @case ('error') {\r\n <x-icon type=\"fto-x\"></x-icon>\r\n }\r\n @default {\r\n <span>{{ getIndex(i) }}</span>\r\n }\r\n }\r\n }\r\n </div>\r\n </ng-container>\r\n @if (layout() === 'column') {\r\n <span class=\"x-steps-line\"></span>\r\n }\r\n </div>\r\n <div class=\"x-steps-content\">\r\n <div class=\"x-steps-title\">\r\n <span class=\"x-steps-label\">\r\n <ng-container *xOutlet=\"customLabelTpl(); context: { $node: node, $index: i }\">{{\r\n node.label\r\n }}</ng-container>\r\n </span>\r\n\r\n @if (layout() === 'row') {\r\n <span class=\"x-steps-line\"></span>\r\n }\r\n </div>\r\n <div class=\"x-steps-description\">\r\n <ng-container *xOutlet=\"customDescriptionTpl(); context: { $node: node, $index: i }\">{{\r\n node.description\r\n }}</ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n</div>\r\n", styles: [".x-steps{margin:0;padding:0}.x-steps{display:flex}.x-steps-node{position:relative;flex:1;display:flex}.x-steps-node:last-child{flex:inherit}.x-steps-node:last-child .x-steps-line{display:none}.x-steps-content{padding:0 .5rem;position:relative;flex:1;display:flex;flex-direction:column}.x-steps-header{display:flex;flex-direction:column;align-items:center}.x-steps-title{display:flex;align-items:center;line-height:2rem;transition:var(--x-animation-duration-base)}.x-steps-label{padding-right:.5rem;white-space:nowrap;transition:var(--x-animation-duration-base)}.x-steps-line{flex:1;border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border);transition:var(--x-animation-duration-base)}.x-steps-icon{height:2rem;width:2rem;border:var(--x-border-width) var(--x-border-style) var(--x-border);background-color:var(--x-background);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:var(--x-animation-duration-base)}.x-steps-icon>.x-icon{font-size:1rem}.x-steps-icon.x-steps-only-icon{border:none}.x-steps-icon.x-steps-only-icon .x-icon{font-size:1.5rem}.x-steps-description{font-size:var(--x-font-size-small);color:var(--x-text-400);max-width:8rem}.x-steps-row{flex-direction:row}.x-steps-column{flex-direction:column}.x-steps-column .x-steps-header{min-height:5rem}.x-steps-column .x-steps-line{border-bottom:none;border-right:var(--x-border-width) var(--x-border-style) var(--x-border);margin:.5rem 0}.x-steps-column .x-steps-content{padding:0 0 .5rem .5rem}.x-steps-column .x-steps-description{max-width:inherit}.x-steps-wait .x-steps-label{color:var(--x-text-400);font-weight:\"\"}.x-steps-wait .x-steps-icon{color:var(--x-text-400);background-color:\"\";border-color:\"\"}.x-steps-wait .x-steps-line{border-color:\"\"}.x-steps-process .x-steps-label{color:var(--x-text-300);font-weight:700}.x-steps-process .x-steps-icon{color:var(--x-white);background-color:var(--x-primary);border-color:var(--x-primary)}.x-steps-process .x-steps-icon.x-steps-only-icon{color:var(--x-primary);background-color:inherit}.x-steps-process .x-steps-line{border-color:\"\"}.x-steps-finish .x-steps-label{color:var(--x-text-400);font-weight:\"\"}.x-steps-finish .x-steps-icon{color:var(--x-primary);background-color:\"\";border-color:\"\"}.x-steps-finish .x-steps-line{border-color:var(--x-primary)}.x-steps-error .x-steps-label{color:var(--x-danger);font-weight:\"\"}.x-steps-error .x-steps-icon{color:var(--x-danger);background-color:\"\";border-color:var(--x-danger)}.x-steps-error .x-steps-line{border-color:\"\"}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: XIconComponent, selector: "x-icon" }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
116
124
  }
117
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XStepsComponent, decorators: [{
125
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XStepsComponent, decorators: [{
118
126
  type: Component,
119
127
  args: [{ selector: `${XStepsPrefix}`, imports: [NgClass, XIconComponent, XOutletDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #steps class=\"x-steps\" [ngClass]=\"classMap()\">\r\n @for (node of nodes(); track node.id; let i = $index) {\r\n <div class=\"x-steps-node x-steps-{{ node.status }}\">\r\n <div class=\"x-steps-header\">\r\n <ng-container *xOutlet=\"customTpl() ?? customIconTpl(); context: { $node: node, $index: i }\">\r\n <div class=\"x-steps-icon\" [class.x-steps-only-icon]=\"node.icon\">\r\n @if (node.icon) {\r\n <x-icon [type]=\"node.icon\"></x-icon>\r\n } @else {\r\n @switch (node.status) {\r\n @case ('finish') {\r\n <x-icon type=\"fto-check\"></x-icon>\r\n }\r\n @case ('error') {\r\n <x-icon type=\"fto-x\"></x-icon>\r\n }\r\n @default {\r\n <span>{{ getIndex(i) }}</span>\r\n }\r\n }\r\n }\r\n </div>\r\n </ng-container>\r\n @if (layout() === 'column') {\r\n <span class=\"x-steps-line\"></span>\r\n }\r\n </div>\r\n <div class=\"x-steps-content\">\r\n <div class=\"x-steps-title\">\r\n <span class=\"x-steps-label\">\r\n <ng-container *xOutlet=\"customLabelTpl(); context: { $node: node, $index: i }\">{{\r\n node.label\r\n }}</ng-container>\r\n </span>\r\n\r\n @if (layout() === 'row') {\r\n <span class=\"x-steps-line\"></span>\r\n }\r\n </div>\r\n <div class=\"x-steps-description\">\r\n <ng-container *xOutlet=\"customDescriptionTpl(); context: { $node: node, $index: i }\">{{\r\n node.description\r\n }}</ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n</div>\r\n", styles: [".x-steps{margin:0;padding:0}.x-steps{display:flex}.x-steps-node{position:relative;flex:1;display:flex}.x-steps-node:last-child{flex:inherit}.x-steps-node:last-child .x-steps-line{display:none}.x-steps-content{padding:0 .5rem;position:relative;flex:1;display:flex;flex-direction:column}.x-steps-header{display:flex;flex-direction:column;align-items:center}.x-steps-title{display:flex;align-items:center;line-height:2rem;transition:var(--x-animation-duration-base)}.x-steps-label{padding-right:.5rem;white-space:nowrap;transition:var(--x-animation-duration-base)}.x-steps-line{flex:1;border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border);transition:var(--x-animation-duration-base)}.x-steps-icon{height:2rem;width:2rem;border:var(--x-border-width) var(--x-border-style) var(--x-border);background-color:var(--x-background);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:var(--x-animation-duration-base)}.x-steps-icon>.x-icon{font-size:1rem}.x-steps-icon.x-steps-only-icon{border:none}.x-steps-icon.x-steps-only-icon .x-icon{font-size:1.5rem}.x-steps-description{font-size:var(--x-font-size-small);color:var(--x-text-400);max-width:8rem}.x-steps-row{flex-direction:row}.x-steps-column{flex-direction:column}.x-steps-column .x-steps-header{min-height:5rem}.x-steps-column .x-steps-line{border-bottom:none;border-right:var(--x-border-width) var(--x-border-style) var(--x-border);margin:.5rem 0}.x-steps-column .x-steps-content{padding:0 0 .5rem .5rem}.x-steps-column .x-steps-description{max-width:inherit}.x-steps-wait .x-steps-label{color:var(--x-text-400);font-weight:\"\"}.x-steps-wait .x-steps-icon{color:var(--x-text-400);background-color:\"\";border-color:\"\"}.x-steps-wait .x-steps-line{border-color:\"\"}.x-steps-process .x-steps-label{color:var(--x-text-300);font-weight:700}.x-steps-process .x-steps-icon{color:var(--x-white);background-color:var(--x-primary);border-color:var(--x-primary)}.x-steps-process .x-steps-icon.x-steps-only-icon{color:var(--x-primary);background-color:inherit}.x-steps-process .x-steps-line{border-color:\"\"}.x-steps-finish .x-steps-label{color:var(--x-text-400);font-weight:\"\"}.x-steps-finish .x-steps-icon{color:var(--x-primary);background-color:\"\";border-color:\"\"}.x-steps-finish .x-steps-line{border-color:var(--x-primary)}.x-steps-error .x-steps-label{color:var(--x-danger);font-weight:\"\"}.x-steps-error .x-steps-icon{color:var(--x-danger);background-color:\"\";border-color:var(--x-danger)}.x-steps-error .x-steps-line{border-color:\"\"}\n"] }]
120
128
  }] });
121
129
 
122
130
  class XStepsModule {
123
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XStepsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
124
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.1", ngImport: i0, type: XStepsModule, imports: [XStepsComponent], exports: [XStepsComponent] }); }
125
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XStepsModule, imports: [XStepsComponent] }); }
131
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XStepsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
132
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.1", ngImport: i0, type: XStepsModule, imports: [XStepsComponent], exports: [XStepsComponent] }); }
133
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XStepsModule, imports: [XStepsComponent] }); }
126
134
  }
127
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XStepsModule, decorators: [{
135
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XStepsModule, decorators: [{
128
136
  type: NgModule,
129
137
  args: [{
130
138
  exports: [XStepsComponent],
@@ -1 +1 @@
1
- {"version":3,"file":"ng-nest-ui-steps.mjs","sources":["../../../../lib/ng-nest/ui/steps/steps.property.ts","../../../../lib/ng-nest/ui/steps/steps.component.ts","../../../../lib/ng-nest/ui/steps/steps.component.html","../../../../lib/ng-nest/ui/steps/steps.module.ts","../../../../lib/ng-nest/ui/steps/ng-nest-ui-steps.ts"],"sourcesContent":["import { XToDataArray, XToNumber, XToBoolean, XPropertyFunction } from '@ng-nest/ui/core';\r\nimport { Component, input, TemplateRef } from '@angular/core';\r\nimport type { XParentIdentityProperty, XNumber, XBoolean, XDataArray } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * Steps\r\n * @selector x-steps\r\n * @decorator component\r\n */\r\nexport const XStepsPrefix = 'x-steps';\r\nconst X_STEPS_CONFIG_NAME = 'steps';\r\n\r\n/**\r\n * Steps Property\r\n */\r\n@Component({ selector: `${XStepsPrefix}-property`, template: '' })\r\nexport class XStepsProperty extends XPropertyFunction(X_STEPS_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 节点数据\r\n * @en_US Node data\r\n */\r\n readonly data = input<XStepsNode[], XDataArray<XStepsNode>>([], { transform: XToDataArray });\r\n /**\r\n * @zh_CN 布局方式\r\n * @en_US Layout\r\n */\r\n readonly layout = input<XStepsLayout>('row');\r\n /**\r\n * @zh_CN 当前激活节点\r\n * @en_US Currently active node\r\n */\r\n readonly activatedIndex = input<number, XNumber>(0, { transform: XToNumber });\r\n /**\r\n * @zh_CN 步骤开始序号\r\n * @en_US Step start number\r\n */\r\n readonly startIndex = input<number, XNumber>(0, { transform: XToNumber });\r\n /**\r\n * @zh_CN 当前激活节点状态\r\n * @en_US Current active node status\r\n */\r\n readonly status = input<XStepsStatus>();\r\n /**\r\n * @zh_CN 自定义节点(22 版本将废弃)\r\n * @en_US Custom node (will be deprecated in version 22)\r\n */\r\n readonly customTpl = input<TemplateRef<any>>();\r\n /**\r\n * @zh_CN 自定义节点图标\r\n * @en_US Custom node icon\r\n */\r\n readonly customIconTpl = input<TemplateRef<any>>();\r\n /**\r\n * @zh_CN 自定义节点标题\r\n * @en_US Custom node label\r\n */\r\n readonly customLabelTpl = input<TemplateRef<any>>();\r\n /**\r\n * @zh_CN 自定义节点描述\r\n * @en_US Custom node description\r\n */\r\n readonly customDescriptionTpl = input<TemplateRef<any>>();\r\n /**\r\n * @zh_CN 节点设置的状态优先,将不会自动计算当前节点,`activatedIndex` 和 `status` 将失效\r\n * @en_US the status set by the node takes precedence, and the current node will not be calculated, `activatedIndex` and `status` will be invalidated\r\n */\r\n readonly nodeStatus = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n}\r\n\r\nexport interface XStepsNode extends XParentIdentityProperty<XStepsNode> {\r\n /**\r\n * @zh_CN 状态\r\n * @en_US Status\r\n */\r\n status?: XStepsStatus;\r\n /**\r\n * @zh_CN 描述\r\n * @en_US Description\r\n */\r\n description?: string;\r\n /**\r\n * @zh_CN 图标\r\n * @en_US Icon\r\n */\r\n icon?: string;\r\n}\r\n\r\n/**\r\n * @zh_CN 布局方式\r\n * @en_US Layout\r\n */\r\nexport type XStepsLayout = 'row' | 'column';\r\n\r\n/**\r\n * @zh_CN 节点状态\r\n * @en_US Node status\r\n */\r\nexport type XStepsStatus = 'wait' | 'process' | 'finish' | 'error';\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, computed } from '@angular/core';\r\nimport { XStepsPrefix, XStepsProperty } from './steps.property';\r\nimport { XIsUndefined, XIsNumber, XIsEmpty } from '@ng-nest/ui/core';\r\nimport { NgClass } from '@angular/common';\r\nimport { XIconComponent } from '@ng-nest/ui/icon';\r\nimport { XOutletDirective } from '@ng-nest/ui/outlet';\r\n\r\n@Component({\r\n selector: `${XStepsPrefix}`,\r\n imports: [NgClass, XIconComponent, XOutletDirective],\r\n templateUrl: './steps.component.html',\r\n styleUrls: ['./steps.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XStepsComponent extends XStepsProperty {\r\n nodes = computed(() => {\r\n const data = this.data();\r\n const activatedIndex = this.activatedIndex();\r\n const status = this.status();\r\n const nodeStatus = this.nodeStatus();\r\n return data.map((x, index) => {\r\n if (nodeStatus) {\r\n if (XIsUndefined(x.status)) {\r\n x.status = 'wait';\r\n }\r\n } else {\r\n if (XIsUndefined(activatedIndex)) {\r\n x.status = 'wait';\r\n } else if (XIsNumber(activatedIndex)) {\r\n x.status = index < activatedIndex ? 'finish' : index === activatedIndex ? 'process' : 'wait';\r\n }\r\n if (status && index === activatedIndex) x.status = status;\r\n }\r\n\r\n return x;\r\n });\r\n });\r\n\r\n classMap = computed(() => ({\r\n [`${XStepsPrefix}-${this.layout()}`]: !XIsEmpty(this.layout())\r\n }));\r\n\r\n getIndex(index: number) {\r\n return this.startIndex() + index + 1;\r\n }\r\n}\r\n","<div #steps class=\"x-steps\" [ngClass]=\"classMap()\">\r\n @for (node of nodes(); track node.id; let i = $index) {\r\n <div class=\"x-steps-node x-steps-{{ node.status }}\">\r\n <div class=\"x-steps-header\">\r\n <ng-container *xOutlet=\"customTpl() ?? customIconTpl(); context: { $node: node, $index: i }\">\r\n <div class=\"x-steps-icon\" [class.x-steps-only-icon]=\"node.icon\">\r\n @if (node.icon) {\r\n <x-icon [type]=\"node.icon\"></x-icon>\r\n } @else {\r\n @switch (node.status) {\r\n @case ('finish') {\r\n <x-icon type=\"fto-check\"></x-icon>\r\n }\r\n @case ('error') {\r\n <x-icon type=\"fto-x\"></x-icon>\r\n }\r\n @default {\r\n <span>{{ getIndex(i) }}</span>\r\n }\r\n }\r\n }\r\n </div>\r\n </ng-container>\r\n @if (layout() === 'column') {\r\n <span class=\"x-steps-line\"></span>\r\n }\r\n </div>\r\n <div class=\"x-steps-content\">\r\n <div class=\"x-steps-title\">\r\n <span class=\"x-steps-label\">\r\n <ng-container *xOutlet=\"customLabelTpl(); context: { $node: node, $index: i }\">{{\r\n node.label\r\n }}</ng-container>\r\n </span>\r\n\r\n @if (layout() === 'row') {\r\n <span class=\"x-steps-line\"></span>\r\n }\r\n </div>\r\n <div class=\"x-steps-description\">\r\n <ng-container *xOutlet=\"customDescriptionTpl(); context: { $node: node, $index: i }\">{{\r\n node.description\r\n }}</ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { XStepsComponent } from './steps.component';\r\n\r\n@NgModule({\r\n exports: [XStepsComponent],\r\n imports: [XStepsComponent]\r\n})\r\nexport class XStepsModule {}\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-steps.mjs","sources":["../../../../lib/ng-nest/ui/steps/steps.property.ts","../../../../lib/ng-nest/ui/steps/steps.component.ts","../../../../lib/ng-nest/ui/steps/steps.component.html","../../../../lib/ng-nest/ui/steps/steps.module.ts","../../../../lib/ng-nest/ui/steps/ng-nest-ui-steps.ts"],"sourcesContent":["import { XToDataArray, XToNumber, XToBoolean, XPropertyFunction } from '@ng-nest/ui/core';\r\nimport { Component, input, TemplateRef } from '@angular/core';\r\nimport type { XParentIdentityProperty, XNumber, XBoolean, XDataArray } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * Steps\r\n * @selector x-steps\r\n * @decorator component\r\n */\r\nexport const XStepsPrefix = 'x-steps';\r\nconst X_STEPS_CONFIG_NAME = 'steps';\r\n\r\n/**\r\n * Steps Property\r\n */\r\n@Component({ selector: `${XStepsPrefix}-property`, template: '' })\r\nexport class XStepsProperty extends XPropertyFunction(X_STEPS_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 节点数据\r\n * @en_US Node data\r\n */\r\n readonly data = input<XStepsNode[], XDataArray<XStepsNode>>([], { transform: XToDataArray });\r\n /**\r\n * @zh_CN 布局方式\r\n * @en_US Layout\r\n */\r\n readonly layout = input<XStepsLayout>('row');\r\n /**\r\n * @zh_CN 当前激活节点\r\n * @en_US Currently active node\r\n */\r\n readonly activatedIndex = input<number, XNumber>(0, { transform: XToNumber });\r\n /**\r\n * @zh_CN 步骤开始序号\r\n * @en_US Step start number\r\n */\r\n readonly startIndex = input<number, XNumber>(0, { transform: XToNumber });\r\n /**\r\n * @zh_CN 当前激活节点状态\r\n * @en_US Current active node status\r\n */\r\n readonly status = input<XStepsStatus>();\r\n /**\r\n * @zh_CN 自定义节点(22 版本将废弃)\r\n * @en_US Custom node (will be deprecated in version 22)\r\n */\r\n readonly customTpl = input<TemplateRef<any>>();\r\n /**\r\n * @zh_CN 自定义节点图标\r\n * @en_US Custom node icon\r\n */\r\n readonly customIconTpl = input<TemplateRef<any>>();\r\n /**\r\n * @zh_CN 自定义节点标题\r\n * @en_US Custom node label\r\n */\r\n readonly customLabelTpl = input<TemplateRef<any>>();\r\n /**\r\n * @zh_CN 自定义节点描述\r\n * @en_US Custom node description\r\n */\r\n readonly customDescriptionTpl = input<TemplateRef<any>>();\r\n /**\r\n * @zh_CN 节点设置的状态优先,将不会自动计算当前节点,`activatedIndex` 和 `status` 将失效\r\n * @en_US the status set by the node takes precedence, and the current node will not be calculated, `activatedIndex` and `status` will be invalidated\r\n */\r\n readonly nodeStatus = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n}\r\n\r\nexport interface XStepsNode extends XParentIdentityProperty<XStepsNode> {\r\n /**\r\n * @zh_CN 状态\r\n * @en_US Status\r\n */\r\n status?: XStepsStatus;\r\n /**\r\n * @zh_CN 描述\r\n * @en_US Description\r\n */\r\n description?: string;\r\n /**\r\n * @zh_CN 图标\r\n * @en_US Icon\r\n */\r\n icon?: string;\r\n}\r\n\r\n/**\r\n * @zh_CN 布局方式\r\n * @en_US Layout\r\n */\r\nexport type XStepsLayout = 'row' | 'column';\r\n\r\n/**\r\n * @zh_CN 节点状态\r\n * @en_US Node status\r\n */\r\nexport type XStepsStatus = 'wait' | 'process' | 'finish' | 'error';\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, computed } from '@angular/core';\r\nimport { XStepsPrefix, XStepsProperty } from './steps.property';\r\nimport { XIsUndefined, XIsNumber, XIsEmpty } from '@ng-nest/ui/core';\r\nimport { NgClass } from '@angular/common';\r\nimport { XIconComponent } from '@ng-nest/ui/icon';\r\nimport { XOutletDirective } from '@ng-nest/ui/outlet';\r\n\r\n@Component({\r\n selector: `${XStepsPrefix}`,\r\n imports: [NgClass, XIconComponent, XOutletDirective],\r\n templateUrl: './steps.component.html',\r\n styleUrls: ['./steps.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XStepsComponent extends XStepsProperty {\r\n nodes = computed(() => {\r\n const data = this.data();\r\n const activatedIndex = this.activatedIndex();\r\n const status = this.status();\r\n const nodeStatus = this.nodeStatus();\r\n return data.map((x, index) => {\r\n if (nodeStatus) {\r\n if (XIsUndefined(x.status)) {\r\n x.status = 'wait';\r\n }\r\n } else {\r\n if (XIsUndefined(activatedIndex)) {\r\n x.status = 'wait';\r\n } else if (XIsNumber(activatedIndex)) {\r\n x.status = index < activatedIndex ? 'finish' : index === activatedIndex ? 'process' : 'wait';\r\n }\r\n if (status && index === activatedIndex) x.status = status;\r\n }\r\n\r\n return x;\r\n });\r\n });\r\n\r\n classMap = computed(() => ({\r\n [`${XStepsPrefix}-${this.layout()}`]: !XIsEmpty(this.layout())\r\n }));\r\n\r\n getIndex(index: number) {\r\n return this.startIndex() + index + 1;\r\n }\r\n}\r\n","<div #steps class=\"x-steps\" [ngClass]=\"classMap()\">\r\n @for (node of nodes(); track node.id; let i = $index) {\r\n <div class=\"x-steps-node x-steps-{{ node.status }}\">\r\n <div class=\"x-steps-header\">\r\n <ng-container *xOutlet=\"customTpl() ?? customIconTpl(); context: { $node: node, $index: i }\">\r\n <div class=\"x-steps-icon\" [class.x-steps-only-icon]=\"node.icon\">\r\n @if (node.icon) {\r\n <x-icon [type]=\"node.icon\"></x-icon>\r\n } @else {\r\n @switch (node.status) {\r\n @case ('finish') {\r\n <x-icon type=\"fto-check\"></x-icon>\r\n }\r\n @case ('error') {\r\n <x-icon type=\"fto-x\"></x-icon>\r\n }\r\n @default {\r\n <span>{{ getIndex(i) }}</span>\r\n }\r\n }\r\n }\r\n </div>\r\n </ng-container>\r\n @if (layout() === 'column') {\r\n <span class=\"x-steps-line\"></span>\r\n }\r\n </div>\r\n <div class=\"x-steps-content\">\r\n <div class=\"x-steps-title\">\r\n <span class=\"x-steps-label\">\r\n <ng-container *xOutlet=\"customLabelTpl(); context: { $node: node, $index: i }\">{{\r\n node.label\r\n }}</ng-container>\r\n </span>\r\n\r\n @if (layout() === 'row') {\r\n <span class=\"x-steps-line\"></span>\r\n }\r\n </div>\r\n <div class=\"x-steps-description\">\r\n <ng-container *xOutlet=\"customDescriptionTpl(); context: { $node: node, $index: i }\">{{\r\n node.description\r\n }}</ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { XStepsComponent } from './steps.component';\r\n\r\n@NgModule({\r\n exports: [XStepsComponent],\r\n imports: [XStepsComponent]\r\n})\r\nexport class XStepsModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}