@ng-nest/ui 21.0.13 → 22.0.1

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 (205) hide show
  1. package/README.md +1 -1
  2. package/fesm2022/ng-nest-ui-affix.mjs +12 -12
  3. package/fesm2022/ng-nest-ui-affix.mjs.map +1 -1
  4. package/fesm2022/ng-nest-ui-alert.mjs +46 -34
  5. package/fesm2022/ng-nest-ui-alert.mjs.map +1 -1
  6. package/fesm2022/ng-nest-ui-anchor.mjs +43 -31
  7. package/fesm2022/ng-nest-ui-anchor.mjs.map +1 -1
  8. package/fesm2022/ng-nest-ui-api.mjs +7 -7
  9. package/fesm2022/ng-nest-ui-attachments.mjs +74 -48
  10. package/fesm2022/ng-nest-ui-attachments.mjs.map +1 -1
  11. package/fesm2022/ng-nest-ui-auto-complete.mjs +114 -70
  12. package/fesm2022/ng-nest-ui-auto-complete.mjs.map +1 -1
  13. package/fesm2022/ng-nest-ui-avatar.mjs +47 -32
  14. package/fesm2022/ng-nest-ui-avatar.mjs.map +1 -1
  15. package/fesm2022/ng-nest-ui-back-top.mjs +23 -18
  16. package/fesm2022/ng-nest-ui-back-top.mjs.map +1 -1
  17. package/fesm2022/ng-nest-ui-badge.mjs +30 -23
  18. package/fesm2022/ng-nest-ui-badge.mjs.map +1 -1
  19. package/fesm2022/ng-nest-ui-base-form.mjs +75 -44
  20. package/fesm2022/ng-nest-ui-base-form.mjs.map +1 -1
  21. package/fesm2022/ng-nest-ui-bubble.mjs +76 -48
  22. package/fesm2022/ng-nest-ui-bubble.mjs.map +1 -1
  23. package/fesm2022/ng-nest-ui-button.mjs +53 -42
  24. package/fesm2022/ng-nest-ui-button.mjs.map +1 -1
  25. package/fesm2022/ng-nest-ui-calendar.mjs +30 -20
  26. package/fesm2022/ng-nest-ui-calendar.mjs.map +1 -1
  27. package/fesm2022/ng-nest-ui-card.mjs +21 -16
  28. package/fesm2022/ng-nest-ui-card.mjs.map +1 -1
  29. package/fesm2022/ng-nest-ui-carousel.mjs +68 -46
  30. package/fesm2022/ng-nest-ui-carousel.mjs.map +1 -1
  31. package/fesm2022/ng-nest-ui-cascade.mjs +121 -73
  32. package/fesm2022/ng-nest-ui-cascade.mjs.map +1 -1
  33. package/fesm2022/ng-nest-ui-checkbox.mjs +54 -38
  34. package/fesm2022/ng-nest-ui-checkbox.mjs.map +1 -1
  35. package/fesm2022/ng-nest-ui-collapse.mjs +38 -30
  36. package/fesm2022/ng-nest-ui-collapse.mjs.map +1 -1
  37. package/fesm2022/ng-nest-ui-color-picker.mjs +119 -72
  38. package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -1
  39. package/fesm2022/ng-nest-ui-color.mjs +22 -16
  40. package/fesm2022/ng-nest-ui-color.mjs.map +1 -1
  41. package/fesm2022/ng-nest-ui-comment.mjs +23 -21
  42. package/fesm2022/ng-nest-ui-comment.mjs.map +1 -1
  43. package/fesm2022/ng-nest-ui-container.mjs +40 -37
  44. package/fesm2022/ng-nest-ui-container.mjs.map +1 -1
  45. package/fesm2022/ng-nest-ui-contextmenu.mjs +71 -45
  46. package/fesm2022/ng-nest-ui-contextmenu.mjs.map +1 -1
  47. package/fesm2022/ng-nest-ui-core.mjs +24 -21
  48. package/fesm2022/ng-nest-ui-core.mjs.map +1 -1
  49. package/fesm2022/ng-nest-ui-coversations.mjs +25 -18
  50. package/fesm2022/ng-nest-ui-coversations.mjs.map +1 -1
  51. package/fesm2022/ng-nest-ui-crumb.mjs +15 -13
  52. package/fesm2022/ng-nest-ui-crumb.mjs.map +1 -1
  53. package/fesm2022/ng-nest-ui-date-picker.mjs +425 -256
  54. package/fesm2022/ng-nest-ui-date-picker.mjs.map +1 -1
  55. package/fesm2022/ng-nest-ui-description.mjs +42 -31
  56. package/fesm2022/ng-nest-ui-description.mjs.map +1 -1
  57. package/fesm2022/ng-nest-ui-dialog.mjs +106 -82
  58. package/fesm2022/ng-nest-ui-dialog.mjs.map +1 -1
  59. package/fesm2022/ng-nest-ui-divider.mjs +24 -17
  60. package/fesm2022/ng-nest-ui-divider.mjs.map +1 -1
  61. package/fesm2022/ng-nest-ui-doc.mjs +7 -7
  62. package/fesm2022/ng-nest-ui-drag.mjs +10 -10
  63. package/fesm2022/ng-nest-ui-drawer.mjs +52 -43
  64. package/fesm2022/ng-nest-ui-drawer.mjs.map +1 -1
  65. package/fesm2022/ng-nest-ui-dropdown.mjs +94 -58
  66. package/fesm2022/ng-nest-ui-dropdown.mjs.map +1 -1
  67. package/fesm2022/ng-nest-ui-empty.mjs +14 -12
  68. package/fesm2022/ng-nest-ui-empty.mjs.map +1 -1
  69. package/fesm2022/ng-nest-ui-examples.mjs +7 -7
  70. package/fesm2022/ng-nest-ui-find.mjs +111 -71
  71. package/fesm2022/ng-nest-ui-find.mjs.map +1 -1
  72. package/fesm2022/ng-nest-ui-form.mjs +45 -33
  73. package/fesm2022/ng-nest-ui-form.mjs.map +1 -1
  74. package/fesm2022/ng-nest-ui-highlight.mjs +26 -20
  75. package/fesm2022/ng-nest-ui-highlight.mjs.map +1 -1
  76. package/fesm2022/ng-nest-ui-i18n.mjs +16 -15
  77. package/fesm2022/ng-nest-ui-i18n.mjs.map +1 -1
  78. package/fesm2022/ng-nest-ui-icon.mjs +28 -21
  79. package/fesm2022/ng-nest-ui-icon.mjs.map +1 -1
  80. package/fesm2022/ng-nest-ui-image.mjs +57 -51
  81. package/fesm2022/ng-nest-ui-image.mjs.map +1 -1
  82. package/fesm2022/ng-nest-ui-inner.mjs +11 -11
  83. package/fesm2022/ng-nest-ui-inner.mjs.map +1 -1
  84. package/fesm2022/ng-nest-ui-input-number.mjs +63 -42
  85. package/fesm2022/ng-nest-ui-input-number.mjs.map +1 -1
  86. package/fesm2022/ng-nest-ui-input.mjs +130 -85
  87. package/fesm2022/ng-nest-ui-input.mjs.map +1 -1
  88. package/fesm2022/ng-nest-ui-keyword.mjs +19 -15
  89. package/fesm2022/ng-nest-ui-keyword.mjs.map +1 -1
  90. package/fesm2022/ng-nest-ui-layout.mjs +37 -31
  91. package/fesm2022/ng-nest-ui-layout.mjs.map +1 -1
  92. package/fesm2022/ng-nest-ui-link.mjs +23 -18
  93. package/fesm2022/ng-nest-ui-link.mjs.map +1 -1
  94. package/fesm2022/ng-nest-ui-list.mjs +137 -89
  95. package/fesm2022/ng-nest-ui-list.mjs.map +1 -1
  96. package/fesm2022/ng-nest-ui-loading.mjs +36 -25
  97. package/fesm2022/ng-nest-ui-loading.mjs.map +1 -1
  98. package/fesm2022/ng-nest-ui-menu.mjs +68 -45
  99. package/fesm2022/ng-nest-ui-menu.mjs.map +1 -1
  100. package/fesm2022/ng-nest-ui-message-box.mjs +10 -10
  101. package/fesm2022/ng-nest-ui-message.mjs +10 -10
  102. package/fesm2022/ng-nest-ui-notification.mjs +10 -10
  103. package/fesm2022/ng-nest-ui-outlet.mjs +11 -9
  104. package/fesm2022/ng-nest-ui-outlet.mjs.map +1 -1
  105. package/fesm2022/ng-nest-ui-page-header.mjs +20 -15
  106. package/fesm2022/ng-nest-ui-page-header.mjs.map +1 -1
  107. package/fesm2022/ng-nest-ui-pagination.mjs +69 -48
  108. package/fesm2022/ng-nest-ui-pagination.mjs.map +1 -1
  109. package/fesm2022/ng-nest-ui-pattern.mjs +7 -7
  110. package/fesm2022/ng-nest-ui-popconfirm.mjs +40 -27
  111. package/fesm2022/ng-nest-ui-popconfirm.mjs.map +1 -1
  112. package/fesm2022/ng-nest-ui-popover.mjs +57 -38
  113. package/fesm2022/ng-nest-ui-popover.mjs.map +1 -1
  114. package/fesm2022/ng-nest-ui-portal.mjs +7 -7
  115. package/fesm2022/ng-nest-ui-progress.mjs +60 -41
  116. package/fesm2022/ng-nest-ui-progress.mjs.map +1 -1
  117. package/fesm2022/ng-nest-ui-prompts.mjs +18 -15
  118. package/fesm2022/ng-nest-ui-prompts.mjs.map +1 -1
  119. package/fesm2022/ng-nest-ui-radio.mjs +50 -35
  120. package/fesm2022/ng-nest-ui-radio.mjs.map +1 -1
  121. package/fesm2022/ng-nest-ui-rate.mjs +43 -29
  122. package/fesm2022/ng-nest-ui-rate.mjs.map +1 -1
  123. package/fesm2022/ng-nest-ui-resizable.mjs +18 -16
  124. package/fesm2022/ng-nest-ui-resizable.mjs.map +1 -1
  125. package/fesm2022/ng-nest-ui-result.mjs +22 -16
  126. package/fesm2022/ng-nest-ui-result.mjs.map +1 -1
  127. package/fesm2022/ng-nest-ui-ripple.mjs +14 -13
  128. package/fesm2022/ng-nest-ui-ripple.mjs.map +1 -1
  129. package/fesm2022/ng-nest-ui-scrollable.mjs +41 -24
  130. package/fesm2022/ng-nest-ui-scrollable.mjs.map +1 -1
  131. package/fesm2022/ng-nest-ui-select.mjs +197 -118
  132. package/fesm2022/ng-nest-ui-select.mjs.map +1 -1
  133. package/fesm2022/ng-nest-ui-sender.mjs +43 -31
  134. package/fesm2022/ng-nest-ui-sender.mjs.map +1 -1
  135. package/fesm2022/ng-nest-ui-skeleton.mjs +17 -15
  136. package/fesm2022/ng-nest-ui-skeleton.mjs.map +1 -1
  137. package/fesm2022/ng-nest-ui-slider-select.mjs +85 -53
  138. package/fesm2022/ng-nest-ui-slider-select.mjs.map +1 -1
  139. package/fesm2022/ng-nest-ui-slider.mjs +58 -37
  140. package/fesm2022/ng-nest-ui-slider.mjs.map +1 -1
  141. package/fesm2022/ng-nest-ui-splitter.mjs +32 -24
  142. package/fesm2022/ng-nest-ui-splitter.mjs.map +1 -1
  143. package/fesm2022/ng-nest-ui-statistic.mjs +44 -30
  144. package/fesm2022/ng-nest-ui-statistic.mjs.map +1 -1
  145. package/fesm2022/ng-nest-ui-steps.mjs +30 -22
  146. package/fesm2022/ng-nest-ui-steps.mjs.map +1 -1
  147. package/fesm2022/ng-nest-ui-suggestion.mjs +23 -20
  148. package/fesm2022/ng-nest-ui-suggestion.mjs.map +1 -1
  149. package/fesm2022/ng-nest-ui-switch.mjs +35 -25
  150. package/fesm2022/ng-nest-ui-switch.mjs.map +1 -1
  151. package/fesm2022/ng-nest-ui-table-view.mjs +78 -69
  152. package/fesm2022/ng-nest-ui-table-view.mjs.map +1 -1
  153. package/fesm2022/ng-nest-ui-table.mjs +320 -205
  154. package/fesm2022/ng-nest-ui-table.mjs.map +1 -1
  155. package/fesm2022/ng-nest-ui-tabs.mjs +74 -56
  156. package/fesm2022/ng-nest-ui-tabs.mjs.map +1 -1
  157. package/fesm2022/ng-nest-ui-tag.mjs +30 -23
  158. package/fesm2022/ng-nest-ui-tag.mjs.map +1 -1
  159. package/fesm2022/ng-nest-ui-text-retract.mjs +19 -15
  160. package/fesm2022/ng-nest-ui-text-retract.mjs.map +1 -1
  161. package/fesm2022/ng-nest-ui-textarea.mjs +69 -44
  162. package/fesm2022/ng-nest-ui-textarea.mjs.map +1 -1
  163. package/fesm2022/ng-nest-ui-theme.mjs +34 -23
  164. package/fesm2022/ng-nest-ui-theme.mjs.map +1 -1
  165. package/fesm2022/ng-nest-ui-thought-chain.mjs +26 -19
  166. package/fesm2022/ng-nest-ui-thought-chain.mjs.map +1 -1
  167. package/fesm2022/ng-nest-ui-time-ago.mjs +7 -7
  168. package/fesm2022/ng-nest-ui-time-picker.mjs +164 -96
  169. package/fesm2022/ng-nest-ui-time-picker.mjs.map +1 -1
  170. package/fesm2022/ng-nest-ui-time-range.mjs +7 -7
  171. package/fesm2022/ng-nest-ui-timeline.mjs +26 -19
  172. package/fesm2022/ng-nest-ui-timeline.mjs.map +1 -1
  173. package/fesm2022/ng-nest-ui-tooltip.mjs +53 -35
  174. package/fesm2022/ng-nest-ui-tooltip.mjs.map +1 -1
  175. package/fesm2022/ng-nest-ui-transfer.mjs +66 -40
  176. package/fesm2022/ng-nest-ui-transfer.mjs.map +1 -1
  177. package/fesm2022/ng-nest-ui-tree-file.mjs +39 -28
  178. package/fesm2022/ng-nest-ui-tree-file.mjs.map +1 -1
  179. package/fesm2022/ng-nest-ui-tree-select.mjs +186 -111
  180. package/fesm2022/ng-nest-ui-tree-select.mjs.map +1 -1
  181. package/fesm2022/ng-nest-ui-tree.mjs +166 -105
  182. package/fesm2022/ng-nest-ui-tree.mjs.map +1 -1
  183. package/fesm2022/ng-nest-ui-typography.mjs +16 -13
  184. package/fesm2022/ng-nest-ui-typography.mjs.map +1 -1
  185. package/fesm2022/ng-nest-ui-upload.mjs +81 -53
  186. package/fesm2022/ng-nest-ui-upload.mjs.map +1 -1
  187. package/fesm2022/ng-nest-ui-watermark.mjs +45 -35
  188. package/fesm2022/ng-nest-ui-watermark.mjs.map +1 -1
  189. package/fesm2022/ng-nest-ui-welcome.mjs +22 -16
  190. package/fesm2022/ng-nest-ui-welcome.mjs.map +1 -1
  191. package/package.json +7 -6
  192. package/types/ng-nest-ui-base-form.d.ts +3 -3
  193. package/types/ng-nest-ui-carousel.d.ts +1 -1
  194. package/types/ng-nest-ui-container.d.ts +1 -1
  195. package/types/ng-nest-ui-core.d.ts +1 -1
  196. package/types/ng-nest-ui-dialog.d.ts +1 -1
  197. package/types/ng-nest-ui-drawer.d.ts +1 -1
  198. package/types/ng-nest-ui-form.d.ts +12 -12
  199. package/types/ng-nest-ui-layout.d.ts +1 -1
  200. package/types/ng-nest-ui-list.d.ts +1 -1
  201. package/types/ng-nest-ui-portal.d.ts +3 -3
  202. package/types/ng-nest-ui-table-view.d.ts +1 -1
  203. package/types/ng-nest-ui-table.d.ts +1 -1
  204. package/types/ng-nest-ui-tabs.d.ts +1 -1
  205. package/types/ng-nest-ui-tree.d.ts +1 -1
@@ -14,112 +14,127 @@ class XFormControlProp extends XProperty {
14
14
  * @zh_CN 初始启用验证,在输入值都自动开启
15
15
  * @en_US Initial enable validation, which is automatically enabled when the input value is
16
16
  */
17
- this.validator = input(false, { ...(ngDevMode ? { debugName: "validator" } : {}), transform: XToBoolean });
17
+ this.validator = input(false, { ...(ngDevMode ? { debugName: "validator" } : /* istanbul ignore next */ {}), transform: XToBoolean });
18
18
  /**
19
19
  * @zh_CN 标签
20
20
  * @en_US Label
21
21
  */
22
- this.label = input('', ...(ngDevMode ? [{ debugName: "label" }] : []));
22
+ this.label = input('', /* @ts-ignore */
23
+ ...(ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []));
23
24
  /**
24
25
  * @zh_CN 标签宽度
25
26
  * @en_US Label width
26
27
  */
27
- this.labelWidth = input('', { ...(ngDevMode ? { debugName: "labelWidth" } : {}), transform: XToCssPixelValue });
28
+ this.labelWidth = input('', { ...(ngDevMode ? { debugName: "labelWidth" } : /* istanbul ignore next */ {}), transform: XToCssPixelValue });
28
29
  /**
29
30
  * @zh_CN 标签文字对齐方式
30
31
  * @en_US Label text alignment method
31
32
  */
32
- this.labelAlign = input('start', ...(ngDevMode ? [{ debugName: "labelAlign" }] : []));
33
+ this.labelAlign = input('start', /* @ts-ignore */
34
+ ...(ngDevMode ? [{ debugName: "labelAlign" }] : /* istanbul ignore next */ []));
33
35
  /**
34
36
  * @zh_CN flex 布局下的子元素水平排列方式
35
37
  * @en_US The level of sub-element level arrangement under flex layout
36
38
  */
37
- this.justify = input('start', ...(ngDevMode ? [{ debugName: "justify" }] : []));
39
+ this.justify = input('start', /* @ts-ignore */
40
+ ...(ngDevMode ? [{ debugName: "justify" }] : /* istanbul ignore next */ []));
38
41
  /**
39
42
  * @zh_CN flex 布局下的子元素垂直排列方式
40
43
  * @en_US sub-element vertical arrangement method under flex layout
41
44
  */
42
- this.align = input('start', ...(ngDevMode ? [{ debugName: "align" }] : []));
45
+ this.align = input('start', /* @ts-ignore */
46
+ ...(ngDevMode ? [{ debugName: "align" }] : /* istanbul ignore next */ []));
43
47
  /**
44
48
  * @zh_CN flex 布局下的子元素排列方向
45
49
  * @en_US The direction of the sub-element arrangement under flex layout
46
50
  */
47
- this.direction = input('column', ...(ngDevMode ? [{ debugName: "direction" }] : []));
51
+ this.direction = input('column', /* @ts-ignore */
52
+ ...(ngDevMode ? [{ debugName: "direction" }] : /* istanbul ignore next */ []));
48
53
  /**
49
54
  * @zh_CN 尺寸
50
55
  * @en_US Size
51
56
  */
52
- this.size = input('medium', ...(ngDevMode ? [{ debugName: "size" }] : []));
57
+ this.size = input('medium', /* @ts-ignore */
58
+ ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
53
59
  /**
54
60
  * @zh_CN 输入提示信息
55
61
  * @en_US Enter prompt information
56
62
  */
57
- this.placeholder = input('', ...(ngDevMode ? [{ debugName: "placeholder" }] : []));
63
+ this.placeholder = input('', /* @ts-ignore */
64
+ ...(ngDevMode ? [{ debugName: "placeholder" }] : /* istanbul ignore next */ []));
58
65
  /**
59
66
  * @zh_CN 禁用
60
67
  * @en_US Disabled
61
68
  */
62
- this.disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : {}), transform: XToBoolean });
69
+ this.disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: XToBoolean });
63
70
  /**
64
71
  * @zh_CN 必填
65
72
  * @en_US Required
66
73
  */
67
- this.required = input(false, { ...(ngDevMode ? { debugName: "required" } : {}), transform: XToBoolean });
74
+ this.required = input(false, { ...(ngDevMode ? { debugName: "required" } : /* istanbul ignore next */ {}), transform: XToBoolean });
68
75
  /**
69
76
  * @zh_CN 只读
70
77
  * @en_US Readonly
71
78
  */
72
- this.readonly = input(false, { ...(ngDevMode ? { debugName: "readonly" } : {}), transform: XToBoolean });
79
+ this.readonly = input(false, { ...(ngDevMode ? { debugName: "readonly" } : /* istanbul ignore next */ {}), transform: XToBoolean });
73
80
  /**
74
81
  * @zh_CN 值模板
75
82
  * @en_US Node template
76
83
  */
77
- this.valueTpl = input(...(ngDevMode ? [undefined, { debugName: "valueTpl" }] : []));
84
+ this.valueTpl = input(/* @ts-ignore */
85
+ ...(ngDevMode ? [undefined, { debugName: "valueTpl" }] : /* istanbul ignore next */ []));
78
86
  /**
79
87
  * @zh_CN 值模板参数
80
88
  * @en_US Node template
81
89
  */
82
- this.valueTplContext = input(...(ngDevMode ? [undefined, { debugName: "valueTplContext" }] : []));
90
+ this.valueTplContext = input(/* @ts-ignore */
91
+ ...(ngDevMode ? [undefined, { debugName: "valueTplContext" }] : /* istanbul ignore next */ []));
83
92
  /**
84
93
  * @zh_CN 前置标签
85
94
  * @en_US Before label
86
95
  */
87
- this.before = input(...(ngDevMode ? [undefined, { debugName: "before" }] : []));
96
+ this.before = input(/* @ts-ignore */
97
+ ...(ngDevMode ? [undefined, { debugName: "before" }] : /* istanbul ignore next */ []));
88
98
  /**
89
99
  * @zh_CN 后置标签
90
100
  * @en_US After label
91
101
  */
92
- this.after = input(...(ngDevMode ? [undefined, { debugName: "after" }] : []));
102
+ this.after = input(/* @ts-ignore */
103
+ ...(ngDevMode ? [undefined, { debugName: "after" }] : /* istanbul ignore next */ []));
93
104
  /**
94
105
  * @zh_CN 正则验证规则
95
106
  * @en_US Regular verification rules
96
107
  */
97
- this.pattern = input(null, ...(ngDevMode ? [{ debugName: "pattern" }] : []));
108
+ this.pattern = input(null, /* @ts-ignore */
109
+ ...(ngDevMode ? [{ debugName: "pattern" }] : /* istanbul ignore next */ []));
98
110
  /**
99
111
  * @zh_CN 验证不通过提示文字
100
112
  * @en_US Verify not pass the prompt text
101
113
  */
102
- this.message = input('', ...(ngDevMode ? [{ debugName: "message" }] : []));
114
+ this.message = input('', /* @ts-ignore */
115
+ ...(ngDevMode ? [{ debugName: "message" }] : /* istanbul ignore next */ []));
103
116
  /**
104
117
  * @zh_CN 激活状态
105
118
  * @en_US Activation state
106
119
  */
107
- this.active = model(false, ...(ngDevMode ? [{ debugName: "active" }] : []));
120
+ this.active = model(false, /* @ts-ignore */
121
+ ...(ngDevMode ? [{ debugName: "active" }] : /* istanbul ignore next */ []));
108
122
  /**
109
123
  * @zh_CN 输入框点击样式
110
124
  * @en_US Enter box click style
111
125
  */
112
- this.pointer = input(false, { ...(ngDevMode ? { debugName: "pointer" } : {}), transform: XToBoolean });
126
+ this.pointer = input(false, { ...(ngDevMode ? { debugName: "pointer" } : /* istanbul ignore next */ {}), transform: XToBoolean });
113
127
  /**
114
128
  * @zh_CN 输入验证函数
115
129
  * @en_US Enter the verification function
116
130
  */
117
- this.inputValidator = input(...(ngDevMode ? [undefined, { debugName: "inputValidator" }] : []));
131
+ this.inputValidator = input(/* @ts-ignore */
132
+ ...(ngDevMode ? [undefined, { debugName: "inputValidator" }] : /* istanbul ignore next */ []));
118
133
  }
119
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XFormControlProp, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
120
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.1", type: XFormControlProp, isStandalone: true, selector: "x-formcontrol-prop", inputs: { validator: { classPropertyName: "validator", publicName: "validator", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, labelWidth: { classPropertyName: "labelWidth", publicName: "labelWidth", isSignal: true, isRequired: false, transformFunction: null }, labelAlign: { classPropertyName: "labelAlign", publicName: "labelAlign", isSignal: true, isRequired: false, transformFunction: null }, justify: { classPropertyName: "justify", publicName: "justify", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, valueTpl: { classPropertyName: "valueTpl", publicName: "valueTpl", isSignal: true, isRequired: false, transformFunction: null }, valueTplContext: { classPropertyName: "valueTplContext", publicName: "valueTplContext", isSignal: true, isRequired: false, transformFunction: null }, before: { classPropertyName: "before", publicName: "before", isSignal: true, isRequired: false, transformFunction: null }, after: { classPropertyName: "after", publicName: "after", isSignal: true, isRequired: false, transformFunction: null }, pattern: { classPropertyName: "pattern", publicName: "pattern", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: false, transformFunction: null }, active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null }, pointer: { classPropertyName: "pointer", publicName: "pointer", isSignal: true, isRequired: false, transformFunction: null }, inputValidator: { classPropertyName: "inputValidator", publicName: "inputValidator", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { active: "activeChange" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
134
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XFormControlProp, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
135
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.1", type: XFormControlProp, isStandalone: true, selector: "x-formcontrol-prop", inputs: { validator: { classPropertyName: "validator", publicName: "validator", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, labelWidth: { classPropertyName: "labelWidth", publicName: "labelWidth", isSignal: true, isRequired: false, transformFunction: null }, labelAlign: { classPropertyName: "labelAlign", publicName: "labelAlign", isSignal: true, isRequired: false, transformFunction: null }, justify: { classPropertyName: "justify", publicName: "justify", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, valueTpl: { classPropertyName: "valueTpl", publicName: "valueTpl", isSignal: true, isRequired: false, transformFunction: null }, valueTplContext: { classPropertyName: "valueTplContext", publicName: "valueTplContext", isSignal: true, isRequired: false, transformFunction: null }, before: { classPropertyName: "before", publicName: "before", isSignal: true, isRequired: false, transformFunction: null }, after: { classPropertyName: "after", publicName: "after", isSignal: true, isRequired: false, transformFunction: null }, pattern: { classPropertyName: "pattern", publicName: "pattern", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: false, transformFunction: null }, active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null }, pointer: { classPropertyName: "pointer", publicName: "pointer", isSignal: true, isRequired: false, transformFunction: null }, inputValidator: { classPropertyName: "inputValidator", publicName: "inputValidator", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { active: "activeChange" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
121
136
  }
122
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XFormControlProp, decorators: [{
137
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XFormControlProp, decorators: [{
123
138
  type: Component,
124
139
  args: [{ selector: 'x-formcontrol-prop', template: '' }]
125
140
  }], propDecorators: { validator: [{ type: i0.Input, args: [{ isSignal: true, alias: "validator", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], labelWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "labelWidth", required: false }] }], labelAlign: [{ type: i0.Input, args: [{ isSignal: true, alias: "labelAlign", required: false }] }], justify: [{ type: i0.Input, args: [{ isSignal: true, alias: "justify", required: false }] }], align: [{ type: i0.Input, args: [{ isSignal: true, alias: "align", required: false }] }], direction: [{ type: i0.Input, args: [{ isSignal: true, alias: "direction", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], valueTpl: [{ type: i0.Input, args: [{ isSignal: true, alias: "valueTpl", required: false }] }], valueTplContext: [{ type: i0.Input, args: [{ isSignal: true, alias: "valueTplContext", required: false }] }], before: [{ type: i0.Input, args: [{ isSignal: true, alias: "before", required: false }] }], after: [{ type: i0.Input, args: [{ isSignal: true, alias: "after", required: false }] }], pattern: [{ type: i0.Input, args: [{ isSignal: true, alias: "pattern", required: false }] }], message: [{ type: i0.Input, args: [{ isSignal: true, alias: "message", required: false }] }], active: [{ type: i0.Input, args: [{ isSignal: true, alias: "active", required: false }] }, { type: i0.Output, args: ["activeChange"] }], pointer: [{ type: i0.Input, args: [{ isSignal: true, alias: "pointer", required: false }] }], inputValidator: [{ type: i0.Input, args: [{ isSignal: true, alias: "inputValidator", required: false }] }] } });
@@ -142,7 +157,8 @@ function XFormControlFunction(configName) {
142
157
  this.invalid = computed(() => {
143
158
  return (this.validatorComputed() &&
144
159
  ((!XIsEmpty(this.value()) && this.invalidPattern()) || this.requiredIsEmpty() || this.invalidInputValidator()));
145
- }, ...(ngDevMode ? [{ debugName: "invalid" }] : []));
160
+ }, /* @ts-ignore */
161
+ ...(ngDevMode ? [{ debugName: "invalid" }] : /* istanbul ignore next */ []));
146
162
  this.invalidPattern = computed(() => {
147
163
  const pattern = this.patternComputed();
148
164
  if (!this.validatorComputed() || XIsUndefined(pattern) || XIsNull(pattern))
@@ -152,26 +168,38 @@ function XFormControlFunction(configName) {
152
168
  result = !new RegExp(pattern).test(this.value());
153
169
  }
154
170
  return result;
155
- }, ...(ngDevMode ? [{ debugName: "invalidPattern" }] : []));
171
+ }, /* @ts-ignore */
172
+ ...(ngDevMode ? [{ debugName: "invalidPattern" }] : /* istanbul ignore next */ []));
156
173
  this.requiredIsEmpty = computed(() => {
157
174
  return this.validatorComputed() && this.requiredComputed() && XIsEmpty(this.value());
158
- }, ...(ngDevMode ? [{ debugName: "requiredIsEmpty" }] : []));
175
+ }, /* @ts-ignore */
176
+ ...(ngDevMode ? [{ debugName: "requiredIsEmpty" }] : /* istanbul ignore next */ []));
159
177
  this.invalidMessage = computed(() => {
160
178
  if (!this.validatorComputed())
161
179
  return '';
162
180
  const message = this.messageComputed();
163
181
  return message;
164
- }, ...(ngDevMode ? [{ debugName: "invalidMessage" }] : []));
165
- this.value = signal(undefined, ...(ngDevMode ? [{ debugName: "value" }] : []));
182
+ }, /* @ts-ignore */
183
+ ...(ngDevMode ? [{ debugName: "invalidMessage" }] : /* istanbul ignore next */ []));
184
+ this.value = signal(undefined, /* @ts-ignore */
185
+ ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
166
186
  this.valueObservable = toObservable(this.value);
167
- this.validatorSignal = signal(false, ...(ngDevMode ? [{ debugName: "validatorSignal" }] : []));
168
- this.disabledSignal = signal(false, ...(ngDevMode ? [{ debugName: "disabledSignal" }] : []));
169
- this.requiredSignal = signal(false, ...(ngDevMode ? [{ debugName: "requiredSignal" }] : []));
170
- this.patternSignal = signal(null, ...(ngDevMode ? [{ debugName: "patternSignal" }] : []));
171
- this.messageSignal = signal('', ...(ngDevMode ? [{ debugName: "messageSignal" }] : []));
172
- this.requiredComputed = computed(() => this.requiredSignal() || this.required(), ...(ngDevMode ? [{ debugName: "requiredComputed" }] : []));
173
- this.disabledComputed = computed(() => this.disabledSignal() || this.disabled(), ...(ngDevMode ? [{ debugName: "disabledComputed" }] : []));
174
- this.validatorComputed = computed(() => this.validatorSignal() || this.validator(), ...(ngDevMode ? [{ debugName: "validatorComputed" }] : []));
187
+ this.validatorSignal = signal(false, /* @ts-ignore */
188
+ ...(ngDevMode ? [{ debugName: "validatorSignal" }] : /* istanbul ignore next */ []));
189
+ this.disabledSignal = signal(false, /* @ts-ignore */
190
+ ...(ngDevMode ? [{ debugName: "disabledSignal" }] : /* istanbul ignore next */ []));
191
+ this.requiredSignal = signal(false, /* @ts-ignore */
192
+ ...(ngDevMode ? [{ debugName: "requiredSignal" }] : /* istanbul ignore next */ []));
193
+ this.patternSignal = signal(null, /* @ts-ignore */
194
+ ...(ngDevMode ? [{ debugName: "patternSignal" }] : /* istanbul ignore next */ []));
195
+ this.messageSignal = signal('', /* @ts-ignore */
196
+ ...(ngDevMode ? [{ debugName: "messageSignal" }] : /* istanbul ignore next */ []));
197
+ this.requiredComputed = computed(() => this.requiredSignal() || this.required(), /* @ts-ignore */
198
+ ...(ngDevMode ? [{ debugName: "requiredComputed" }] : /* istanbul ignore next */ []));
199
+ this.disabledComputed = computed(() => this.disabledSignal() || this.disabled(), /* @ts-ignore */
200
+ ...(ngDevMode ? [{ debugName: "disabledComputed" }] : /* istanbul ignore next */ []));
201
+ this.validatorComputed = computed(() => this.validatorSignal() || this.validator(), /* @ts-ignore */
202
+ ...(ngDevMode ? [{ debugName: "validatorComputed" }] : /* istanbul ignore next */ []));
175
203
  this.patternComputed = computed(() => {
176
204
  const pattern = this.pattern();
177
205
  if (Array.isArray(pattern) && pattern.length === 0) {
@@ -193,14 +221,17 @@ function XFormControlFunction(configName) {
193
221
  else {
194
222
  return this.patternSignal();
195
223
  }
196
- }, ...(ngDevMode ? [{ debugName: "patternComputed" }] : []));
224
+ }, /* @ts-ignore */
225
+ ...(ngDevMode ? [{ debugName: "patternComputed" }] : /* istanbul ignore next */ []));
197
226
  this.messageComputed = computed(() => {
198
227
  if (XIsEmpty(this.messageSignal()))
199
228
  return this.message();
200
229
  else
201
230
  return this.messageSignal();
202
- }, ...(ngDevMode ? [{ debugName: "messageComputed" }] : []));
203
- this.invalidInputValidator = signal(false, ...(ngDevMode ? [{ debugName: "invalidInputValidator" }] : []));
231
+ }, /* @ts-ignore */
232
+ ...(ngDevMode ? [{ debugName: "messageComputed" }] : /* istanbul ignore next */ []));
233
+ this.invalidInputValidator = signal(false, /* @ts-ignore */
234
+ ...(ngDevMode ? [{ debugName: "invalidInputValidator" }] : /* istanbul ignore next */ []));
204
235
  }
205
236
  writeValue(value) {
206
237
  this.value.set(value);
@@ -221,11 +252,11 @@ function XFormControlFunction(configName) {
221
252
  }
222
253
 
223
254
  class XBaseFormModule {
224
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XBaseFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
225
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.1", ngImport: i0, type: XBaseFormModule }); }
226
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XBaseFormModule }); }
255
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XBaseFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
256
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.1", ngImport: i0, type: XBaseFormModule }); }
257
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XBaseFormModule }); }
227
258
  }
228
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: XBaseFormModule, decorators: [{
259
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: XBaseFormModule, decorators: [{
229
260
  type: NgModule,
230
261
  args: [{
231
262
  imports: [],
@@ -1 +1 @@
1
- {"version":3,"file":"ng-nest-ui-base-form.mjs","sources":["../../../../lib/ng-nest/ui/base-form/base-form.property.ts","../../../../lib/ng-nest/ui/base-form/base-form.component.ts","../../../../lib/ng-nest/ui/base-form/base-form.module.ts","../../../../lib/ng-nest/ui/base-form/ng-nest-ui-base-form.ts"],"sourcesContent":["import { Component, TemplateRef, input, model } from '@angular/core';\r\nimport {\r\n XAlign,\r\n XBoolean,\r\n XDirection,\r\n XJustify,\r\n XNumber,\r\n XProperty,\r\n XSize,\r\n XTemplate,\r\n XToBoolean,\r\n XToCssPixelValue\r\n} from '@ng-nest/ui/core';\r\n\r\n/**\r\n * 表单对象共有的参数\r\n */\r\nexport interface XFormOption {\r\n /**\r\n * 标签\r\n */\r\n label?: any;\r\n /**\r\n * 标签宽度\r\n */\r\n labelWidth?: string;\r\n /**\r\n * 标签文字对齐方式\r\n */\r\n labelAlign?: XAlign;\r\n /**\r\n * flex 布局下的子元素水平排列方式\r\n */\r\n justify?: XJustify;\r\n /**\r\n * flex 布局下的子元素垂直排列方式\r\n */\r\n align?: XAlign;\r\n /**\r\n * flex 布局下的子元素排列方向\r\n */\r\n direction?: XDirection;\r\n /**\r\n * 尺寸\r\n */\r\n size?: XSize;\r\n /**\r\n * 输入提示信息\r\n */\r\n placeholder?: string | string[];\r\n /**\r\n * 禁用\r\n */\r\n disabled?: boolean;\r\n /**\r\n * 必填\r\n */\r\n required?: boolean;\r\n /**\r\n * 正则验证规则\r\n */\r\n pattern?: RegExp;\r\n /**\r\n * 验证不通过提示文字\r\n */\r\n message?: string;\r\n /**\r\n * 激活状态\r\n */\r\n active?: boolean;\r\n /**\r\n * 输入框点击样式\r\n */\r\n pointer?: boolean;\r\n /**\r\n * 输入验证函数\r\n */\r\n inputValidator?: (value: any) => boolean;\r\n}\r\n\r\n/**\r\n * 表单对象共有的参数\r\n */\r\n@Component({ selector: 'x-formcontrol-prop', template: '' })\r\nexport class XFormControlProp extends XProperty {\r\n /**\r\n * @zh_CN 初始启用验证,在输入值都自动开启\r\n * @en_US Initial enable validation, which is automatically enabled when the input value is\r\n */\r\n readonly validator = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 标签\r\n * @en_US Label\r\n */\r\n readonly label = input<XTemplate>('');\r\n /**\r\n * @zh_CN 标签宽度\r\n * @en_US Label width\r\n */\r\n readonly labelWidth = input<string, XNumber>('', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 标签文字对齐方式\r\n * @en_US Label text alignment method\r\n */\r\n readonly labelAlign = input<XAlign>('start');\r\n /**\r\n * @zh_CN flex 布局下的子元素水平排列方式\r\n * @en_US The level of sub-element level arrangement under flex layout\r\n */\r\n readonly justify = input<XJustify>('start');\r\n /**\r\n * @zh_CN flex 布局下的子元素垂直排列方式\r\n * @en_US sub-element vertical arrangement method under flex layout\r\n */\r\n readonly align = input<XAlign>('start');\r\n /**\r\n * @zh_CN flex 布局下的子元素排列方向\r\n * @en_US The direction of the sub-element arrangement under flex layout\r\n */\r\n readonly direction = input<XDirection>('column');\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n readonly size = input<XSize>('medium');\r\n /**\r\n * @zh_CN 输入提示信息\r\n * @en_US Enter prompt information\r\n */\r\n readonly placeholder = input<string | string[]>('');\r\n /**\r\n * @zh_CN 禁用\r\n * @en_US Disabled\r\n */\r\n readonly disabled = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 必填\r\n * @en_US Required\r\n */\r\n readonly required = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 只读\r\n * @en_US Readonly\r\n */\r\n readonly readonly = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 值模板\r\n * @en_US Node template\r\n */\r\n readonly valueTpl = input<TemplateRef<any>>();\r\n /**\r\n * @zh_CN 值模板参数\r\n * @en_US Node template\r\n */\r\n readonly valueTplContext = input();\r\n /**\r\n * @zh_CN 前置标签\r\n * @en_US Before label\r\n */\r\n readonly before = input<XTemplate>();\r\n /**\r\n * @zh_CN 后置标签\r\n * @en_US After label\r\n */\r\n readonly after = input<XTemplate>();\r\n /**\r\n * @zh_CN 正则验证规则\r\n * @en_US Regular verification rules\r\n */\r\n readonly pattern = input<RegExp | null>(null);\r\n /**\r\n * @zh_CN 验证不通过提示文字\r\n * @en_US Verify not pass the prompt text\r\n */\r\n readonly message = input<string>('');\r\n /**\r\n * @zh_CN 激活状态\r\n * @en_US Activation state\r\n */\r\n readonly active = model<boolean>(false);\r\n /**\r\n * @zh_CN 输入框点击样式\r\n * @en_US Enter box click style\r\n */\r\n readonly pointer = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 输入验证函数\r\n * @en_US Enter the verification function\r\n */\r\n readonly inputValidator = input<(value: any) => boolean>();\r\n}\r\n","import {\r\n AbstractControl,\r\n ControlValueAccessor,\r\n NG_VALUE_ACCESSOR,\r\n ValidationErrors,\r\n ValidatorFn\r\n} from '@angular/forms';\r\nimport { ChangeDetectorRef, computed, forwardRef, inject, signal, Type } from '@angular/core';\r\nimport { XIsEmpty, XIsUndefined, XComponentConfigKey, XConfigService, XIsNull } from '@ng-nest/ui/core';\r\nimport { XFormControlProp } from './base-form.property';\r\nimport { toObservable } from '@angular/core/rxjs-interop';\r\n\r\nexport function XValueAccessor<T>(component: Type<T>) {\r\n return { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => component), multi: true };\r\n}\r\n\r\nexport function XFormInputValidator(func: (value: any) => boolean): ValidatorFn {\r\n return (control: AbstractControl): ValidationErrors | null => {\r\n const invalid = func ? !func(control.value) : null;\r\n return invalid ? { inputValidator: true } : null;\r\n };\r\n}\r\n\r\nexport function XFormControlFunction<C extends XComponentConfigKey>(configName: C) {\r\n return class XFormControlFun extends XFormControlProp implements ControlValueAccessor {\r\n config = inject(XConfigService).getConfigForComponent(configName);\r\n cdr = inject(ChangeDetectorRef);\r\n invalid = computed(() => {\r\n return (\r\n this.validatorComputed() &&\r\n ((!XIsEmpty(this.value()) && this.invalidPattern()) || this.requiredIsEmpty() || this.invalidInputValidator())\r\n );\r\n });\r\n invalidPattern = computed(() => {\r\n const pattern = this.patternComputed();\r\n if (!this.validatorComputed() || XIsUndefined(pattern) || XIsNull(pattern)) return false;\r\n let result = false;\r\n\r\n if (pattern && pattern !== null) {\r\n result = !new RegExp(pattern as RegExp).test(this.value() as any);\r\n }\r\n\r\n return result;\r\n });\r\n requiredIsEmpty = computed(() => {\r\n return this.validatorComputed() && this.requiredComputed() && XIsEmpty(this.value());\r\n });\r\n invalidMessage = computed(() => {\r\n if (!this.validatorComputed()) return '';\r\n const message = this.messageComputed();\r\n return message as string;\r\n });\r\n value = signal<any | undefined>(undefined);\r\n valueObservable = toObservable(this.value);\r\n validatorSignal = signal(false);\r\n disabledSignal = signal(false);\r\n requiredSignal = signal(false);\r\n patternSignal = signal<any>(null);\r\n messageSignal = signal<string>('');\r\n\r\n requiredComputed = computed(() => this.requiredSignal() || this.required());\r\n disabledComputed = computed(() => this.disabledSignal() || this.disabled());\r\n validatorComputed = computed(() => this.validatorSignal() || this.validator());\r\n patternComputed = computed(() => {\r\n const pattern = this.pattern();\r\n\r\n if (Array.isArray(pattern) && pattern.length === 0) {\r\n return null;\r\n }\r\n\r\n if (XIsEmpty(this.patternSignal())) {\r\n if (Array.isArray(pattern)) {\r\n if (pattern.length === 1) {\r\n return pattern[0];\r\n } else if (pattern.length > 1) {\r\n const sources = pattern.map((regex) => `(${regex.source})`);\r\n const combinedPattern = sources.join('|');\r\n return new RegExp(combinedPattern);\r\n }\r\n }\r\n return pattern;\r\n } else {\r\n return this.patternSignal();\r\n }\r\n });\r\n messageComputed = computed(() => {\r\n if (XIsEmpty(this.messageSignal())) return this.message();\r\n else return this.messageSignal();\r\n });\r\n\r\n invalidInputValidator = signal(false);\r\n onChange!: (value: any) => void;\r\n onTouched!: () => void;\r\n writeValue(value: any): void {\r\n this.value.set(value);\r\n }\r\n registerOnChange(fn: (value: any) => void): void {\r\n this.onChange = fn;\r\n }\r\n registerOnTouched(fn: () => void): void {\r\n this.onTouched = fn;\r\n }\r\n setDisabledState(disabled: boolean) {\r\n this.disabledSignal.set(disabled);\r\n }\r\n formControlValidator() {\r\n this.validatorSignal.set(true);\r\n }\r\n };\r\n}\r\n","import { NgModule } from '@angular/core';\r\n\r\n@NgModule({\r\n imports: [],\r\n exports: []\r\n})\r\nexport class XBaseFormModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;AAgFA;;AAEG;AAEG,MAAO,gBAAiB,SAAQ,SAAS,CAAA;AAD/C,IAAA,WAAA,GAAA;;AAEE;;;AAGG;QACM,IAAA,CAAA,SAAS,GAAG,KAAK,CAAoB,KAAK,sDAAI,SAAS,EAAE,UAAU,EAAA,CAAG;AAC/E;;;AAGG;AACM,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAY,EAAE,iDAAC;AACrC;;;AAGG;QACM,IAAA,CAAA,UAAU,GAAG,KAAK,CAAkB,EAAE,uDAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AACjF;;;AAGG;AACM,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAS,OAAO,sDAAC;AAC5C;;;AAGG;AACM,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAW,OAAO,mDAAC;AAC3C;;;AAGG;AACM,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAS,OAAO,iDAAC;AACvC;;;AAGG;AACM,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAa,QAAQ,qDAAC;AAChD;;;AAGG;AACM,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAQ,QAAQ,gDAAC;AACtC;;;AAGG;AACM,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAAoB,EAAE,uDAAC;AACnD;;;AAGG;QACM,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAoB,KAAK,qDAAI,SAAS,EAAE,UAAU,EAAA,CAAG;AAC9E;;;AAGG;QACM,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAoB,KAAK,qDAAI,SAAS,EAAE,UAAU,EAAA,CAAG;AAC9E;;;AAGG;QACM,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAoB,KAAK,qDAAI,SAAS,EAAE,UAAU,EAAA,CAAG;AAC9E;;;AAGG;QACM,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,UAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAoB;AAC7C;;;AAGG;QACM,IAAA,CAAA,eAAe,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAE;AAClC;;;AAGG;QACM,IAAA,CAAA,MAAM,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,QAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAa;AACpC;;;AAGG;QACM,IAAA,CAAA,KAAK,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAa;AACnC;;;AAGG;AACM,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAgB,IAAI,mDAAC;AAC7C;;;AAGG;AACM,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAS,EAAE,mDAAC;AACpC;;;AAGG;AACM,QAAA,IAAA,CAAA,MAAM,GAAG,KAAK,CAAU,KAAK,kDAAC;AACvC;;;AAGG;QACM,IAAA,CAAA,OAAO,GAAG,KAAK,CAAoB,KAAK,oDAAI,SAAS,EAAE,UAAU,EAAA,CAAG;AAC7E;;;AAGG;QACM,IAAA,CAAA,cAAc,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAA2B;AAC3D,IAAA;iIA1GY,gBAAgB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,8yFAD0B,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;;2FAC5C,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAD5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA,EAAE,QAAQ,EAAE,oBAAoB,EAAE,QAAQ,EAAE,EAAE,EAAE;;;ACvErD,SAAU,cAAc,CAAI,SAAkB,EAAA;AAClD,IAAA,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,UAAU,CAAC,MAAM,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;AAC9F;AAEM,SAAU,mBAAmB,CAAC,IAA6B,EAAA;IAC/D,OAAO,CAAC,OAAwB,KAA6B;AAC3D,QAAA,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI;AAClD,QAAA,OAAO,OAAO,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,GAAG,IAAI;AAClD,IAAA,CAAC;AACH;AAEM,SAAU,oBAAoB,CAAgC,UAAa,EAAA;IAC/E,OAAO,MAAM,eAAgB,SAAQ,gBAAgB,CAAA;AAA9C,QAAA,WAAA,GAAA;;YACL,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,qBAAqB,CAAC,UAAU,CAAC;AACjE,YAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAC/B,YAAA,IAAA,CAAA,OAAO,GAAG,QAAQ,CAAC,MAAK;AACtB,gBAAA,QACE,IAAI,CAAC,iBAAiB,EAAE;qBACvB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,KAAK,IAAI,CAAC,eAAe,EAAE,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;AAElH,YAAA,CAAC,mDAAC;AACF,YAAA,IAAA,CAAA,cAAc,GAAG,QAAQ,CAAC,MAAK;AAC7B,gBAAA,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE;AACtC,gBAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,YAAY,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC;AAAE,oBAAA,OAAO,KAAK;gBACxF,IAAI,MAAM,GAAG,KAAK;AAElB,gBAAA,IAAI,OAAO,IAAI,OAAO,KAAK,IAAI,EAAE;AAC/B,oBAAA,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,OAAiB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAS,CAAC;gBACnE;AAEA,gBAAA,OAAO,MAAM;AACf,YAAA,CAAC,0DAAC;AACF,YAAA,IAAA,CAAA,eAAe,GAAG,QAAQ,CAAC,MAAK;AAC9B,gBAAA,OAAO,IAAI,CAAC,iBAAiB,EAAE,IAAI,IAAI,CAAC,gBAAgB,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;AACtF,YAAA,CAAC,2DAAC;AACF,YAAA,IAAA,CAAA,cAAc,GAAG,QAAQ,CAAC,MAAK;AAC7B,gBAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;AAAE,oBAAA,OAAO,EAAE;AACxC,gBAAA,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE;AACtC,gBAAA,OAAO,OAAiB;AAC1B,YAAA,CAAC,0DAAC;AACF,YAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAkB,SAAS,iDAAC;AAC1C,YAAA,IAAA,CAAA,eAAe,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;AAC1C,YAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,KAAK,2DAAC;AAC/B,YAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,KAAK,0DAAC;AAC9B,YAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,KAAK,0DAAC;AAC9B,YAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAM,IAAI,yDAAC;AACjC,YAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAS,EAAE,yDAAC;AAElC,YAAA,IAAA,CAAA,gBAAgB,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,4DAAC;AAC3E,YAAA,IAAA,CAAA,gBAAgB,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,4DAAC;AAC3E,YAAA,IAAA,CAAA,iBAAiB,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,eAAe,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,6DAAC;AAC9E,YAAA,IAAA,CAAA,eAAe,GAAG,QAAQ,CAAC,MAAK;AAC9B,gBAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE;AAE9B,gBAAA,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;AAClD,oBAAA,OAAO,IAAI;gBACb;gBAEA,IAAI,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE;AAClC,oBAAA,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;AAC1B,wBAAA,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;AACxB,4BAAA,OAAO,OAAO,CAAC,CAAC,CAAC;wBACnB;AAAO,6BAAA,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;AAC7B,4BAAA,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,CAAA,CAAA,EAAI,KAAK,CAAC,MAAM,CAAA,CAAA,CAAG,CAAC;4BAC3D,MAAM,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;AACzC,4BAAA,OAAO,IAAI,MAAM,CAAC,eAAe,CAAC;wBACpC;oBACF;AACA,oBAAA,OAAO,OAAO;gBAChB;qBAAO;AACL,oBAAA,OAAO,IAAI,CAAC,aAAa,EAAE;gBAC7B;AACF,YAAA,CAAC,2DAAC;AACF,YAAA,IAAA,CAAA,eAAe,GAAG,QAAQ,CAAC,MAAK;AAC9B,gBAAA,IAAI,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;AAAE,oBAAA,OAAO,IAAI,CAAC,OAAO,EAAE;;AACpD,oBAAA,OAAO,IAAI,CAAC,aAAa,EAAE;AAClC,YAAA,CAAC,2DAAC;AAEF,YAAA,IAAA,CAAA,qBAAqB,GAAG,MAAM,CAAC,KAAK,iEAAC;QAkBvC;AAfE,QAAA,UAAU,CAAC,KAAU,EAAA;AACnB,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;QACvB;AACA,QAAA,gBAAgB,CAAC,EAAwB,EAAA;AACvC,YAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;QACpB;AACA,QAAA,iBAAiB,CAAC,EAAc,EAAA;AAC9B,YAAA,IAAI,CAAC,SAAS,GAAG,EAAE;QACrB;AACA,QAAA,gBAAgB,CAAC,QAAiB,EAAA;AAChC,YAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC;QACnC;QACA,oBAAoB,GAAA;AAClB,YAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;QAChC;KACD;AACH;;MCvGa,eAAe,CAAA;iIAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;kIAAf,eAAe,EAAA,CAAA,CAAA;kIAAf,eAAe,EAAA,CAAA,CAAA;;2FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAJ3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,EAAE;AACX,oBAAA,OAAO,EAAE;AACV,iBAAA;;;ACLD;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-nest-ui-base-form.mjs","sources":["../../../../lib/ng-nest/ui/base-form/base-form.property.ts","../../../../lib/ng-nest/ui/base-form/base-form.component.ts","../../../../lib/ng-nest/ui/base-form/base-form.module.ts","../../../../lib/ng-nest/ui/base-form/ng-nest-ui-base-form.ts"],"sourcesContent":["import { Component, TemplateRef, input, model } from '@angular/core';\r\nimport {\r\n XAlign,\r\n XBoolean,\r\n XDirection,\r\n XJustify,\r\n XNumber,\r\n XProperty,\r\n XSize,\r\n XTemplate,\r\n XToBoolean,\r\n XToCssPixelValue\r\n} from '@ng-nest/ui/core';\r\n\r\n/**\r\n * 表单对象共有的参数\r\n */\r\nexport interface XFormOption {\r\n /**\r\n * 标签\r\n */\r\n label?: any;\r\n /**\r\n * 标签宽度\r\n */\r\n labelWidth?: string;\r\n /**\r\n * 标签文字对齐方式\r\n */\r\n labelAlign?: XAlign;\r\n /**\r\n * flex 布局下的子元素水平排列方式\r\n */\r\n justify?: XJustify;\r\n /**\r\n * flex 布局下的子元素垂直排列方式\r\n */\r\n align?: XAlign;\r\n /**\r\n * flex 布局下的子元素排列方向\r\n */\r\n direction?: XDirection;\r\n /**\r\n * 尺寸\r\n */\r\n size?: XSize;\r\n /**\r\n * 输入提示信息\r\n */\r\n placeholder?: string | string[];\r\n /**\r\n * 禁用\r\n */\r\n disabled?: boolean;\r\n /**\r\n * 必填\r\n */\r\n required?: boolean;\r\n /**\r\n * 正则验证规则\r\n */\r\n pattern?: RegExp;\r\n /**\r\n * 验证不通过提示文字\r\n */\r\n message?: string;\r\n /**\r\n * 激活状态\r\n */\r\n active?: boolean;\r\n /**\r\n * 输入框点击样式\r\n */\r\n pointer?: boolean;\r\n /**\r\n * 输入验证函数\r\n */\r\n inputValidator?: (value: any) => boolean;\r\n}\r\n\r\n/**\r\n * 表单对象共有的参数\r\n */\r\n@Component({ selector: 'x-formcontrol-prop', template: '' })\r\nexport class XFormControlProp extends XProperty {\r\n /**\r\n * @zh_CN 初始启用验证,在输入值都自动开启\r\n * @en_US Initial enable validation, which is automatically enabled when the input value is\r\n */\r\n readonly validator = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 标签\r\n * @en_US Label\r\n */\r\n readonly label = input<XTemplate>('');\r\n /**\r\n * @zh_CN 标签宽度\r\n * @en_US Label width\r\n */\r\n readonly labelWidth = input<string, XNumber>('', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 标签文字对齐方式\r\n * @en_US Label text alignment method\r\n */\r\n readonly labelAlign = input<XAlign>('start');\r\n /**\r\n * @zh_CN flex 布局下的子元素水平排列方式\r\n * @en_US The level of sub-element level arrangement under flex layout\r\n */\r\n readonly justify = input<XJustify>('start');\r\n /**\r\n * @zh_CN flex 布局下的子元素垂直排列方式\r\n * @en_US sub-element vertical arrangement method under flex layout\r\n */\r\n readonly align = input<XAlign>('start');\r\n /**\r\n * @zh_CN flex 布局下的子元素排列方向\r\n * @en_US The direction of the sub-element arrangement under flex layout\r\n */\r\n readonly direction = input<XDirection>('column');\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n readonly size = input<XSize>('medium');\r\n /**\r\n * @zh_CN 输入提示信息\r\n * @en_US Enter prompt information\r\n */\r\n readonly placeholder = input<string | string[]>('');\r\n /**\r\n * @zh_CN 禁用\r\n * @en_US Disabled\r\n */\r\n readonly disabled = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 必填\r\n * @en_US Required\r\n */\r\n readonly required = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 只读\r\n * @en_US Readonly\r\n */\r\n readonly readonly = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 值模板\r\n * @en_US Node template\r\n */\r\n readonly valueTpl = input<TemplateRef<any>>();\r\n /**\r\n * @zh_CN 值模板参数\r\n * @en_US Node template\r\n */\r\n readonly valueTplContext = input();\r\n /**\r\n * @zh_CN 前置标签\r\n * @en_US Before label\r\n */\r\n readonly before = input<XTemplate>();\r\n /**\r\n * @zh_CN 后置标签\r\n * @en_US After label\r\n */\r\n readonly after = input<XTemplate>();\r\n /**\r\n * @zh_CN 正则验证规则\r\n * @en_US Regular verification rules\r\n */\r\n readonly pattern = input<RegExp | null>(null);\r\n /**\r\n * @zh_CN 验证不通过提示文字\r\n * @en_US Verify not pass the prompt text\r\n */\r\n readonly message = input<string>('');\r\n /**\r\n * @zh_CN 激活状态\r\n * @en_US Activation state\r\n */\r\n readonly active = model<boolean>(false);\r\n /**\r\n * @zh_CN 输入框点击样式\r\n * @en_US Enter box click style\r\n */\r\n readonly pointer = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 输入验证函数\r\n * @en_US Enter the verification function\r\n */\r\n readonly inputValidator = input<(value: any) => boolean>();\r\n}\r\n","import {\r\n AbstractControl,\r\n ControlValueAccessor,\r\n NG_VALUE_ACCESSOR,\r\n ValidationErrors,\r\n ValidatorFn\r\n} from '@angular/forms';\r\nimport { ChangeDetectorRef, computed, forwardRef, inject, signal, Type } from '@angular/core';\r\nimport { XIsEmpty, XIsUndefined, XComponentConfigKey, XConfigService, XIsNull } from '@ng-nest/ui/core';\r\nimport { XFormControlProp } from './base-form.property';\r\nimport { toObservable } from '@angular/core/rxjs-interop';\r\n\r\nexport function XValueAccessor<T>(component: Type<T>) {\r\n return { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => component), multi: true };\r\n}\r\n\r\nexport function XFormInputValidator(func: (value: any) => boolean): ValidatorFn {\r\n return (control: AbstractControl): ValidationErrors | null => {\r\n const invalid = func ? !func(control.value) : null;\r\n return invalid ? { inputValidator: true } : null;\r\n };\r\n}\r\n\r\nexport function XFormControlFunction<C extends XComponentConfigKey>(configName: C) {\r\n return class XFormControlFun extends XFormControlProp implements ControlValueAccessor {\r\n config = inject(XConfigService).getConfigForComponent(configName);\r\n cdr = inject(ChangeDetectorRef);\r\n invalid = computed(() => {\r\n return (\r\n this.validatorComputed() &&\r\n ((!XIsEmpty(this.value()) && this.invalidPattern()) || this.requiredIsEmpty() || this.invalidInputValidator())\r\n );\r\n });\r\n invalidPattern = computed(() => {\r\n const pattern = this.patternComputed();\r\n if (!this.validatorComputed() || XIsUndefined(pattern) || XIsNull(pattern)) return false;\r\n let result = false;\r\n\r\n if (pattern && pattern !== null) {\r\n result = !new RegExp(pattern as RegExp).test(this.value() as any);\r\n }\r\n\r\n return result;\r\n });\r\n requiredIsEmpty = computed(() => {\r\n return this.validatorComputed() && this.requiredComputed() && XIsEmpty(this.value());\r\n });\r\n invalidMessage = computed(() => {\r\n if (!this.validatorComputed()) return '';\r\n const message = this.messageComputed();\r\n return message as string;\r\n });\r\n value = signal<any | undefined>(undefined);\r\n valueObservable = toObservable(this.value);\r\n validatorSignal = signal(false);\r\n disabledSignal = signal(false);\r\n requiredSignal = signal(false);\r\n patternSignal = signal<any>(null);\r\n messageSignal = signal<string>('');\r\n\r\n requiredComputed = computed(() => this.requiredSignal() || this.required());\r\n disabledComputed = computed(() => this.disabledSignal() || this.disabled());\r\n validatorComputed = computed(() => this.validatorSignal() || this.validator());\r\n patternComputed = computed(() => {\r\n const pattern = this.pattern();\r\n\r\n if (Array.isArray(pattern) && pattern.length === 0) {\r\n return null;\r\n }\r\n\r\n if (XIsEmpty(this.patternSignal())) {\r\n if (Array.isArray(pattern)) {\r\n if (pattern.length === 1) {\r\n return pattern[0];\r\n } else if (pattern.length > 1) {\r\n const sources = pattern.map((regex) => `(${regex.source})`);\r\n const combinedPattern = sources.join('|');\r\n return new RegExp(combinedPattern);\r\n }\r\n }\r\n return pattern;\r\n } else {\r\n return this.patternSignal();\r\n }\r\n });\r\n messageComputed = computed(() => {\r\n if (XIsEmpty(this.messageSignal())) return this.message();\r\n else return this.messageSignal();\r\n });\r\n\r\n invalidInputValidator = signal(false);\r\n onChange!: (value: any) => void;\r\n onTouched!: () => void;\r\n writeValue(value: any): void {\r\n this.value.set(value);\r\n }\r\n registerOnChange(fn: (value: any) => void): void {\r\n this.onChange = fn;\r\n }\r\n registerOnTouched(fn: () => void): void {\r\n this.onTouched = fn;\r\n }\r\n setDisabledState(disabled: boolean) {\r\n this.disabledSignal.set(disabled);\r\n }\r\n formControlValidator() {\r\n this.validatorSignal.set(true);\r\n }\r\n };\r\n}\r\n","import { NgModule } from '@angular/core';\r\n\r\n@NgModule({\r\n imports: [],\r\n exports: []\r\n})\r\nexport class XBaseFormModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}