@ng-nest/ui 20.0.6 → 20.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (209) hide show
  1. package/auto-complete/index.d.ts +72 -9
  2. package/base-form/index.d.ts +3 -3
  3. package/calendar/index.d.ts +1 -2
  4. package/cascade/index.d.ts +48 -8
  5. package/checkbox/index.d.ts +4 -4
  6. package/color-picker/index.d.ts +49 -8
  7. package/core/index.d.ts +68 -6
  8. package/date-picker/index.d.ts +82 -12
  9. package/dropdown/index.d.ts +4 -4
  10. package/fesm2022/ng-nest-ui-affix.mjs +12 -12
  11. package/fesm2022/ng-nest-ui-affix.mjs.map +1 -1
  12. package/fesm2022/ng-nest-ui-alert.mjs +35 -35
  13. package/fesm2022/ng-nest-ui-alert.mjs.map +1 -1
  14. package/fesm2022/ng-nest-ui-anchor.mjs +31 -31
  15. package/fesm2022/ng-nest-ui-anchor.mjs.map +1 -1
  16. package/fesm2022/ng-nest-ui-api.mjs +7 -7
  17. package/fesm2022/ng-nest-ui-api.mjs.map +1 -1
  18. package/fesm2022/ng-nest-ui-auto-complete.mjs +108 -62
  19. package/fesm2022/ng-nest-ui-auto-complete.mjs.map +1 -1
  20. package/fesm2022/ng-nest-ui-avatar.mjs +31 -31
  21. package/fesm2022/ng-nest-ui-avatar.mjs.map +1 -1
  22. package/fesm2022/ng-nest-ui-back-top.mjs +18 -18
  23. package/fesm2022/ng-nest-ui-back-top.mjs.map +1 -1
  24. package/fesm2022/ng-nest-ui-badge.mjs +23 -23
  25. package/fesm2022/ng-nest-ui-badge.mjs.map +1 -1
  26. package/fesm2022/ng-nest-ui-base-form.mjs +45 -45
  27. package/fesm2022/ng-nest-ui-base-form.mjs.map +1 -1
  28. package/fesm2022/ng-nest-ui-button.mjs +42 -42
  29. package/fesm2022/ng-nest-ui-button.mjs.map +1 -1
  30. package/fesm2022/ng-nest-ui-calendar.mjs +20 -20
  31. package/fesm2022/ng-nest-ui-calendar.mjs.map +1 -1
  32. package/fesm2022/ng-nest-ui-card.mjs +15 -15
  33. package/fesm2022/ng-nest-ui-card.mjs.map +1 -1
  34. package/fesm2022/ng-nest-ui-carousel.mjs +46 -46
  35. package/fesm2022/ng-nest-ui-carousel.mjs.map +1 -1
  36. package/fesm2022/ng-nest-ui-cascade.mjs +92 -76
  37. package/fesm2022/ng-nest-ui-cascade.mjs.map +1 -1
  38. package/fesm2022/ng-nest-ui-checkbox.mjs +39 -39
  39. package/fesm2022/ng-nest-ui-checkbox.mjs.map +1 -1
  40. package/fesm2022/ng-nest-ui-collapse.mjs +31 -31
  41. package/fesm2022/ng-nest-ui-collapse.mjs.map +1 -1
  42. package/fesm2022/ng-nest-ui-color-picker.mjs +95 -71
  43. package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -1
  44. package/fesm2022/ng-nest-ui-color.mjs +16 -16
  45. package/fesm2022/ng-nest-ui-color.mjs.map +1 -1
  46. package/fesm2022/ng-nest-ui-comment.mjs +21 -21
  47. package/fesm2022/ng-nest-ui-comment.mjs.map +1 -1
  48. package/fesm2022/ng-nest-ui-container.mjs +37 -37
  49. package/fesm2022/ng-nest-ui-container.mjs.map +1 -1
  50. package/fesm2022/ng-nest-ui-core.mjs +38 -22
  51. package/fesm2022/ng-nest-ui-core.mjs.map +1 -1
  52. package/fesm2022/ng-nest-ui-crumb.mjs +13 -13
  53. package/fesm2022/ng-nest-ui-crumb.mjs.map +1 -1
  54. package/fesm2022/ng-nest-ui-date-picker.mjs +284 -254
  55. package/fesm2022/ng-nest-ui-date-picker.mjs.map +1 -1
  56. package/fesm2022/ng-nest-ui-description.mjs +31 -31
  57. package/fesm2022/ng-nest-ui-description.mjs.map +1 -1
  58. package/fesm2022/ng-nest-ui-dialog.mjs +81 -81
  59. package/fesm2022/ng-nest-ui-dialog.mjs.map +1 -1
  60. package/fesm2022/ng-nest-ui-doc.mjs +7 -7
  61. package/fesm2022/ng-nest-ui-doc.mjs.map +1 -1
  62. package/fesm2022/ng-nest-ui-drag.mjs +10 -10
  63. package/fesm2022/ng-nest-ui-drag.mjs.map +1 -1
  64. package/fesm2022/ng-nest-ui-drawer.mjs +42 -42
  65. package/fesm2022/ng-nest-ui-drawer.mjs.map +1 -1
  66. package/fesm2022/ng-nest-ui-dropdown.mjs +49 -49
  67. package/fesm2022/ng-nest-ui-dropdown.mjs.map +1 -1
  68. package/fesm2022/ng-nest-ui-empty.mjs +12 -12
  69. package/fesm2022/ng-nest-ui-empty.mjs.map +1 -1
  70. package/fesm2022/ng-nest-ui-examples.mjs +7 -7
  71. package/fesm2022/ng-nest-ui-examples.mjs.map +1 -1
  72. package/fesm2022/ng-nest-ui-find.mjs +79 -77
  73. package/fesm2022/ng-nest-ui-find.mjs.map +1 -1
  74. package/fesm2022/ng-nest-ui-form.mjs +33 -33
  75. package/fesm2022/ng-nest-ui-form.mjs.map +1 -1
  76. package/fesm2022/ng-nest-ui-highlight.mjs +20 -20
  77. package/fesm2022/ng-nest-ui-highlight.mjs.map +1 -1
  78. package/fesm2022/ng-nest-ui-i18n.mjs +15 -15
  79. package/fesm2022/ng-nest-ui-i18n.mjs.map +1 -1
  80. package/fesm2022/ng-nest-ui-icon.mjs +21 -21
  81. package/fesm2022/ng-nest-ui-icon.mjs.map +1 -1
  82. package/fesm2022/ng-nest-ui-image.mjs +39 -39
  83. package/fesm2022/ng-nest-ui-image.mjs.map +1 -1
  84. package/fesm2022/ng-nest-ui-inner.mjs +11 -11
  85. package/fesm2022/ng-nest-ui-inner.mjs.map +1 -1
  86. package/fesm2022/ng-nest-ui-input-number.mjs +47 -42
  87. package/fesm2022/ng-nest-ui-input-number.mjs.map +1 -1
  88. package/fesm2022/ng-nest-ui-input.mjs +106 -80
  89. package/fesm2022/ng-nest-ui-input.mjs.map +1 -1
  90. package/fesm2022/ng-nest-ui-keyword.mjs +15 -15
  91. package/fesm2022/ng-nest-ui-keyword.mjs.map +1 -1
  92. package/fesm2022/ng-nest-ui-layout.mjs +31 -31
  93. package/fesm2022/ng-nest-ui-layout.mjs.map +1 -1
  94. package/fesm2022/ng-nest-ui-link.mjs +18 -18
  95. package/fesm2022/ng-nest-ui-link.mjs.map +1 -1
  96. package/fesm2022/ng-nest-ui-list.mjs +80 -80
  97. package/fesm2022/ng-nest-ui-list.mjs.map +1 -1
  98. package/fesm2022/ng-nest-ui-loading.mjs +22 -22
  99. package/fesm2022/ng-nest-ui-loading.mjs.map +1 -1
  100. package/fesm2022/ng-nest-ui-menu.mjs +45 -45
  101. package/fesm2022/ng-nest-ui-menu.mjs.map +1 -1
  102. package/fesm2022/ng-nest-ui-message-box.mjs +10 -10
  103. package/fesm2022/ng-nest-ui-message-box.mjs.map +1 -1
  104. package/fesm2022/ng-nest-ui-message.mjs +10 -10
  105. package/fesm2022/ng-nest-ui-message.mjs.map +1 -1
  106. package/fesm2022/ng-nest-ui-notification.mjs +10 -10
  107. package/fesm2022/ng-nest-ui-notification.mjs.map +1 -1
  108. package/fesm2022/ng-nest-ui-outlet.mjs +9 -9
  109. package/fesm2022/ng-nest-ui-outlet.mjs.map +1 -1
  110. package/fesm2022/ng-nest-ui-page-header.mjs +15 -15
  111. package/fesm2022/ng-nest-ui-page-header.mjs.map +1 -1
  112. package/fesm2022/ng-nest-ui-pagination.mjs +53 -53
  113. package/fesm2022/ng-nest-ui-pagination.mjs.map +1 -1
  114. package/fesm2022/ng-nest-ui-pattern.mjs +7 -7
  115. package/fesm2022/ng-nest-ui-pattern.mjs.map +1 -1
  116. package/fesm2022/ng-nest-ui-popconfirm.mjs +27 -27
  117. package/fesm2022/ng-nest-ui-popconfirm.mjs.map +1 -1
  118. package/fesm2022/ng-nest-ui-popover.mjs +38 -38
  119. package/fesm2022/ng-nest-ui-popover.mjs.map +1 -1
  120. package/fesm2022/ng-nest-ui-portal.mjs +7 -7
  121. package/fesm2022/ng-nest-ui-portal.mjs.map +1 -1
  122. package/fesm2022/ng-nest-ui-progress.mjs +38 -38
  123. package/fesm2022/ng-nest-ui-progress.mjs.map +1 -1
  124. package/fesm2022/ng-nest-ui-radio.mjs +36 -36
  125. package/fesm2022/ng-nest-ui-radio.mjs.map +1 -1
  126. package/fesm2022/ng-nest-ui-rate.mjs +30 -30
  127. package/fesm2022/ng-nest-ui-rate.mjs.map +1 -1
  128. package/fesm2022/ng-nest-ui-resizable.mjs +16 -16
  129. package/fesm2022/ng-nest-ui-resizable.mjs.map +1 -1
  130. package/fesm2022/ng-nest-ui-result.mjs +16 -16
  131. package/fesm2022/ng-nest-ui-result.mjs.map +1 -1
  132. package/fesm2022/ng-nest-ui-ripple.mjs +13 -13
  133. package/fesm2022/ng-nest-ui-ripple.mjs.map +1 -1
  134. package/fesm2022/ng-nest-ui-scrollable.mjs +219 -0
  135. package/fesm2022/ng-nest-ui-scrollable.mjs.map +1 -0
  136. package/fesm2022/ng-nest-ui-select.mjs +125 -110
  137. package/fesm2022/ng-nest-ui-select.mjs.map +1 -1
  138. package/fesm2022/ng-nest-ui-skeleton.mjs +15 -15
  139. package/fesm2022/ng-nest-ui-skeleton.mjs.map +1 -1
  140. package/fesm2022/ng-nest-ui-slider-select.mjs +54 -54
  141. package/fesm2022/ng-nest-ui-slider-select.mjs.map +1 -1
  142. package/fesm2022/ng-nest-ui-slider.mjs +39 -39
  143. package/fesm2022/ng-nest-ui-slider.mjs.map +1 -1
  144. package/fesm2022/ng-nest-ui-statistic.mjs +30 -30
  145. package/fesm2022/ng-nest-ui-statistic.mjs.map +1 -1
  146. package/fesm2022/ng-nest-ui-steps.mjs +19 -19
  147. package/fesm2022/ng-nest-ui-steps.mjs.map +1 -1
  148. package/fesm2022/ng-nest-ui-switch.mjs +26 -26
  149. package/fesm2022/ng-nest-ui-switch.mjs.map +1 -1
  150. package/fesm2022/ng-nest-ui-table-view.mjs +593 -0
  151. package/fesm2022/ng-nest-ui-table-view.mjs.map +1 -0
  152. package/fesm2022/ng-nest-ui-table.mjs +222 -222
  153. package/fesm2022/ng-nest-ui-table.mjs.map +1 -1
  154. package/fesm2022/ng-nest-ui-tabs.mjs +58 -58
  155. package/fesm2022/ng-nest-ui-tabs.mjs.map +1 -1
  156. package/fesm2022/ng-nest-ui-tag.mjs +22 -22
  157. package/fesm2022/ng-nest-ui-tag.mjs.map +1 -1
  158. package/fesm2022/ng-nest-ui-text-retract.mjs +15 -15
  159. package/fesm2022/ng-nest-ui-text-retract.mjs.map +1 -1
  160. package/fesm2022/ng-nest-ui-textarea.mjs +45 -40
  161. package/fesm2022/ng-nest-ui-textarea.mjs.map +1 -1
  162. package/fesm2022/ng-nest-ui-theme.mjs +23 -23
  163. package/fesm2022/ng-nest-ui-theme.mjs.map +1 -1
  164. package/fesm2022/ng-nest-ui-time-ago.mjs +7 -7
  165. package/fesm2022/ng-nest-ui-time-ago.mjs.map +1 -1
  166. package/fesm2022/ng-nest-ui-time-picker.mjs +113 -92
  167. package/fesm2022/ng-nest-ui-time-picker.mjs.map +1 -1
  168. package/fesm2022/ng-nest-ui-time-range.mjs +7 -7
  169. package/fesm2022/ng-nest-ui-time-range.mjs.map +1 -1
  170. package/fesm2022/ng-nest-ui-timeline.mjs +15 -15
  171. package/fesm2022/ng-nest-ui-timeline.mjs.map +1 -1
  172. package/fesm2022/ng-nest-ui-tooltip.mjs +38 -38
  173. package/fesm2022/ng-nest-ui-tooltip.mjs.map +1 -1
  174. package/fesm2022/ng-nest-ui-transfer.mjs +40 -40
  175. package/fesm2022/ng-nest-ui-transfer.mjs.map +1 -1
  176. package/fesm2022/ng-nest-ui-tree-file.mjs +28 -28
  177. package/fesm2022/ng-nest-ui-tree-file.mjs.map +1 -1
  178. package/fesm2022/ng-nest-ui-tree-select.mjs +147 -110
  179. package/fesm2022/ng-nest-ui-tree-select.mjs.map +1 -1
  180. package/fesm2022/ng-nest-ui-tree.mjs +107 -107
  181. package/fesm2022/ng-nest-ui-tree.mjs.map +1 -1
  182. package/fesm2022/ng-nest-ui-typography.mjs +13 -13
  183. package/fesm2022/ng-nest-ui-typography.mjs.map +1 -1
  184. package/fesm2022/ng-nest-ui-upload.mjs +37 -37
  185. package/fesm2022/ng-nest-ui-upload.mjs.map +1 -1
  186. package/fesm2022/ng-nest-ui.mjs +2 -0
  187. package/fesm2022/ng-nest-ui.mjs.map +1 -1
  188. package/find/index.d.ts +5 -5
  189. package/form/index.d.ts +1 -1
  190. package/index.d.ts +2 -0
  191. package/input/index.d.ts +47 -5
  192. package/input-number/index.d.ts +22 -7
  193. package/list/index.d.ts +2 -2
  194. package/message-box/index.d.ts +4 -5
  195. package/package.json +28 -20
  196. package/radio/index.d.ts +4 -4
  197. package/rate/index.d.ts +5 -5
  198. package/scrollable/index.d.ts +49 -0
  199. package/select/index.d.ts +53 -8
  200. package/slider-select/index.d.ts +3 -3
  201. package/steps/index.d.ts +1 -2
  202. package/switch/index.d.ts +3 -3
  203. package/table-view/index.d.ts +148 -0
  204. package/textarea/index.d.ts +20 -5
  205. package/theme/index.d.ts +1 -1
  206. package/time-picker/index.d.ts +53 -8
  207. package/transfer/index.d.ts +1 -1
  208. package/tree-select/index.d.ts +70 -9
  209. package/upload/index.d.ts +2 -2
@@ -35,157 +35,172 @@ class XDatePickerProperty extends XFormControlFunction(X_DATA_PICKER_CONFIG_NAME
35
35
  * @zh_CN 选择类型
36
36
  * @en_US Select type
37
37
  */
38
- this.type = input('date');
38
+ this.type = input('date', ...(ngDevMode ? [{ debugName: "type" }] : []));
39
+ /**
40
+ * @zh_CN 形态变体
41
+ * @en_US Input variant
42
+ */
43
+ this.variant = input(this.config?.variant ?? 'outlined', ...(ngDevMode ? [{ debugName: "variant" }] : []));
39
44
  /**
40
45
  * @zh_CN 格式化类型
41
46
  * @en_US Format type
42
47
  */
43
- this.format = input(this.config?.format ?? 'yyyy-MM-dd');
48
+ this.format = input(this.config?.format ?? 'yyyy-MM-dd', ...(ngDevMode ? [{ debugName: "format" }] : []));
44
49
  /**
45
50
  * @zh_CN 清除按钮
46
51
  * @en_US Clear button
47
52
  */
48
- this.clearable = input(this.config?.clearable ?? true, { transform: XToBoolean });
53
+ this.clearable = input(this.config?.clearable ?? true, ...(ngDevMode ? [{ debugName: "clearable", transform: XToBoolean }] : [{ transform: XToBoolean }]));
49
54
  /**
50
55
  * @zh_CN 展示方位
51
56
  * @en_US Display position
52
57
  */
53
- this.placement = input(this.config?.placement ?? 'bottom-start');
58
+ this.placement = input(this.config?.placement ?? 'bottom-start', ...(ngDevMode ? [{ debugName: "placement" }] : []));
54
59
  /**
55
60
  * @zh_CN 显示边框
56
61
  * @en_US Display Border
57
62
  */
58
- this.bordered = input(this.config?.bordered ?? true, { transform: XToBoolean });
63
+ this.bordered = input(this.config?.bordered ?? true, ...(ngDevMode ? [{ debugName: "bordered", transform: XToBoolean }] : [{ transform: XToBoolean }]));
59
64
  /**
60
65
  * @zh_CN 快捷选择按钮,自定义或直接设置今天(today),昨天(yesterday),明天(tomorrow)
61
66
  * @en_US Quick selection button, support today, yesterday, tomorrow
62
67
  */
63
- this.preset = input([], { transform: XToDataConvert });
68
+ this.preset = input([], ...(ngDevMode ? [{ debugName: "preset", transform: XToDataConvert }] : [{ transform: XToDataConvert }]));
64
69
  /**
65
70
  * @zh_CN 页脚
66
71
  * @en_US Footer
67
72
  */
68
- this.extraFooter = input();
73
+ this.extraFooter = input(...(ngDevMode ? [undefined, { debugName: "extraFooter" }] : []));
69
74
  /**
70
75
  * @zh_CN 禁用的日期
71
76
  * @en_US Disabled date
72
77
  */
73
- this.disabledDate = input();
78
+ this.disabledDate = input(...(ngDevMode ? [undefined, { debugName: "disabledDate" }] : []));
74
79
  /**
75
80
  * @zh_CN 禁用的时间
76
81
  * @en_US Disabled time
77
82
  */
78
- this.disabledTime = input();
83
+ this.disabledTime = input(...(ngDevMode ? [undefined, { debugName: "disabledTime" }] : []));
84
+ /**
85
+ * @zh_CN 浮动标签
86
+ * @en_US Float label
87
+ */
88
+ this.floatLabel = input(this.config?.floatLabel ?? null, ...(ngDevMode ? [{ debugName: "floatLabel" }] : []));
89
+ /**
90
+ * @zh_CN 固定浮动标签
91
+ * @en_US Fixed float label
92
+ */
93
+ this.floatFixed = input(this.config?.floatFixed ?? false, ...(ngDevMode ? [{ debugName: "floatFixed", transform: XToBoolean }] : [{ transform: XToBoolean }]));
79
94
  /**
80
95
  * @zh_CN 尺寸
81
96
  * @en_US Size
82
97
  */
83
- this.size = input(this.config?.size ?? 'medium');
98
+ this.size = input(this.config?.size ?? 'medium', ...(ngDevMode ? [{ debugName: "size" }] : []));
84
99
  /**
85
100
  * @zh_CN 输入框点击样式
86
101
  * @en_US Input pointer
87
102
  */
88
- this.pointer = input(false, { transform: XToBoolean });
103
+ this.pointer = input(false, ...(ngDevMode ? [{ debugName: "pointer", transform: XToBoolean }] : [{ transform: XToBoolean }]));
89
104
  /**
90
105
  * @zh_CN 标签
91
106
  * @en_US Label
92
107
  */
93
- this.label = input('');
108
+ this.label = input('', ...(ngDevMode ? [{ debugName: "label" }] : []));
94
109
  /**
95
110
  * @zh_CN 标签宽度
96
111
  * @en_US Label width
97
112
  */
98
- this.labelWidth = input('', { transform: XToCssPixelValue });
113
+ this.labelWidth = input('', ...(ngDevMode ? [{ debugName: "labelWidth", transform: XToCssPixelValue }] : [{ transform: XToCssPixelValue }]));
99
114
  /**
100
115
  * @zh_CN 标签文字对齐方式
101
116
  * @en_US Label text alignment method
102
117
  */
103
- this.labelAlign = input('start');
118
+ this.labelAlign = input('start', ...(ngDevMode ? [{ debugName: "labelAlign" }] : []));
104
119
  /**
105
120
  * @zh_CN flex 布局下的子元素水平排列方式
106
121
  * @en_US The level of sub-element level arrangement under flex layout
107
122
  */
108
- this.justify = input('start');
123
+ this.justify = input('start', ...(ngDevMode ? [{ debugName: "justify" }] : []));
109
124
  /**
110
125
  * @zh_CN flex 布局下的子元素垂直排列方式
111
126
  * @en_US sub-element vertical arrangement method under flex layout
112
127
  */
113
- this.align = input('start');
128
+ this.align = input('start', ...(ngDevMode ? [{ debugName: "align" }] : []));
114
129
  /**
115
130
  * @zh_CN flex 布局下的子元素排列方向
116
131
  * @en_US The direction of the sub-element arrangement under flex layout
117
132
  */
118
- this.direction = input('column');
133
+ this.direction = input('column', ...(ngDevMode ? [{ debugName: "direction" }] : []));
119
134
  /**
120
135
  * @zh_CN 输入提示信息
121
136
  * @en_US Enter prompt information
122
137
  */
123
- this.placeholder = input('');
138
+ this.placeholder = input('', ...(ngDevMode ? [{ debugName: "placeholder" }] : []));
124
139
  /**
125
140
  * @zh_CN 禁用
126
141
  * @en_US Disabled
127
142
  */
128
- this.disabled = input(false, { transform: XToBoolean });
143
+ this.disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled", transform: XToBoolean }] : [{ transform: XToBoolean }]));
129
144
  /**
130
145
  * @zh_CN 必填
131
146
  * @en_US Required
132
147
  */
133
- this.required = input(false, { transform: XToBoolean });
148
+ this.required = input(false, ...(ngDevMode ? [{ debugName: "required", transform: XToBoolean }] : [{ transform: XToBoolean }]));
134
149
  /**
135
150
  * @zh_CN 只读
136
151
  * @en_US Readonly
137
152
  */
138
- this.readonly = input(false, { transform: XToBoolean });
153
+ this.readonly = input(false, ...(ngDevMode ? [{ debugName: "readonly", transform: XToBoolean }] : [{ transform: XToBoolean }]));
139
154
  /**
140
155
  * @zh_CN 值模板
141
156
  * @en_US Node template
142
157
  */
143
- this.valueTpl = input();
158
+ this.valueTpl = input(...(ngDevMode ? [undefined, { debugName: "valueTpl" }] : []));
144
159
  /**
145
160
  * @zh_CN 值模板参数
146
161
  * @en_US Node template
147
162
  */
148
- this.valueTplContext = input();
163
+ this.valueTplContext = input(...(ngDevMode ? [undefined, { debugName: "valueTplContext" }] : []));
149
164
  /**
150
165
  * @zh_CN 前置标签
151
166
  * @en_US Before label
152
167
  */
153
- this.before = input();
168
+ this.before = input(...(ngDevMode ? [undefined, { debugName: "before" }] : []));
154
169
  /**
155
170
  * @zh_CN 后置标签
156
171
  * @en_US After label
157
172
  */
158
- this.after = input();
173
+ this.after = input(...(ngDevMode ? [undefined, { debugName: "after" }] : []));
159
174
  /**
160
175
  * @zh_CN 正则验证规则
161
176
  * @en_US Regular verification rules
162
177
  */
163
- this.pattern = input(null);
178
+ this.pattern = input(null, ...(ngDevMode ? [{ debugName: "pattern" }] : []));
164
179
  /**
165
180
  * @zh_CN 验证不通过提示文字
166
181
  * @en_US Verify not pass the prompt text
167
182
  */
168
- this.message = input([]);
183
+ this.message = input([], ...(ngDevMode ? [{ debugName: "message" }] : []));
169
184
  /**
170
185
  * @zh_CN 激活状态
171
186
  * @en_US Activation state
172
187
  */
173
- this.active = model(false);
188
+ this.active = model(false, ...(ngDevMode ? [{ debugName: "active" }] : []));
174
189
  /**
175
190
  * @zh_CN 输入验证函数
176
191
  * @en_US Enter the verification function
177
192
  */
178
- this.inputValidator = input();
193
+ this.inputValidator = input(...(ngDevMode ? [undefined, { debugName: "inputValidator" }] : []));
179
194
  /**
180
195
  * @zh_CN 节点点击的事件
181
196
  * @en_US Node click event
182
197
  */
183
198
  this.nodeEmit = output();
184
199
  }
185
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XDatePickerProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
186
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.0", type: XDatePickerProperty, isStandalone: true, selector: "x-date-picker-property", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: false, transformFunction: null }, clearable: { classPropertyName: "clearable", publicName: "clearable", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, bordered: { classPropertyName: "bordered", publicName: "bordered", isSignal: true, isRequired: false, transformFunction: null }, preset: { classPropertyName: "preset", publicName: "preset", isSignal: true, isRequired: false, transformFunction: null }, extraFooter: { classPropertyName: "extraFooter", publicName: "extraFooter", isSignal: true, isRequired: false, transformFunction: null }, disabledDate: { classPropertyName: "disabledDate", publicName: "disabledDate", isSignal: true, isRequired: false, transformFunction: null }, disabledTime: { classPropertyName: "disabledTime", publicName: "disabledTime", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, pointer: { classPropertyName: "pointer", publicName: "pointer", 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 }, 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 }, inputValidator: { classPropertyName: "inputValidator", publicName: "inputValidator", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { active: "activeChange", nodeEmit: "nodeEmit" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
200
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XDatePickerProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
201
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.2.4", type: XDatePickerProperty, isStandalone: true, selector: "x-date-picker-property", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: false, transformFunction: null }, clearable: { classPropertyName: "clearable", publicName: "clearable", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, bordered: { classPropertyName: "bordered", publicName: "bordered", isSignal: true, isRequired: false, transformFunction: null }, preset: { classPropertyName: "preset", publicName: "preset", isSignal: true, isRequired: false, transformFunction: null }, extraFooter: { classPropertyName: "extraFooter", publicName: "extraFooter", isSignal: true, isRequired: false, transformFunction: null }, disabledDate: { classPropertyName: "disabledDate", publicName: "disabledDate", isSignal: true, isRequired: false, transformFunction: null }, disabledTime: { classPropertyName: "disabledTime", publicName: "disabledTime", isSignal: true, isRequired: false, transformFunction: null }, floatLabel: { classPropertyName: "floatLabel", publicName: "floatLabel", isSignal: true, isRequired: false, transformFunction: null }, floatFixed: { classPropertyName: "floatFixed", publicName: "floatFixed", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, pointer: { classPropertyName: "pointer", publicName: "pointer", 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 }, 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 }, inputValidator: { classPropertyName: "inputValidator", publicName: "inputValidator", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { active: "activeChange", nodeEmit: "nodeEmit" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
187
202
  }
188
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XDatePickerProperty, decorators: [{
203
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XDatePickerProperty, decorators: [{
189
204
  type: Component,
190
205
  args: [{ selector: `${XDatePickerPrefix}-property`, template: '' }]
191
206
  }] });
@@ -206,142 +221,157 @@ class XDateRangeProperty extends XFormControlFunction(X_DATA_RANGE_CONFIG_NAME)
206
221
  * @zh_CN 选择类型
207
222
  * @en_US Select type
208
223
  */
209
- this.type = input('date');
224
+ this.type = input('date', ...(ngDevMode ? [{ debugName: "type" }] : []));
225
+ /**
226
+ * @zh_CN 形态变体
227
+ * @en_US Input variant
228
+ */
229
+ this.variant = input(this.config?.variant ?? 'outlined', ...(ngDevMode ? [{ debugName: "variant" }] : []));
210
230
  /**
211
231
  * @zh_CN 格式化类型
212
232
  * @en_US Format type
213
233
  */
214
- this.format = input(this.config?.format ?? 'yyyy-MM-dd');
234
+ this.format = input(this.config?.format ?? 'yyyy-MM-dd', ...(ngDevMode ? [{ debugName: "format" }] : []));
215
235
  /**
216
236
  * @zh_CN 清除按钮
217
237
  * @en_US Clear button
218
238
  */
219
- this.clearable = input(this.config?.clearable ?? true, { transform: XToBoolean });
239
+ this.clearable = input(this.config?.clearable ?? true, ...(ngDevMode ? [{ debugName: "clearable", transform: XToBoolean }] : [{ transform: XToBoolean }]));
220
240
  /**
221
241
  * @zh_CN 展示方位
222
242
  * @en_US Display position
223
243
  */
224
- this.placement = input(this.config?.placement ?? 'bottom-start');
244
+ this.placement = input(this.config?.placement ?? 'bottom-start', ...(ngDevMode ? [{ debugName: "placement" }] : []));
225
245
  /**
226
246
  * @zh_CN 显示边框
227
247
  * @en_US Display Border
228
248
  */
229
- this.bordered = input(this.config?.bordered ?? true, { transform: XToBoolean });
249
+ this.bordered = input(this.config?.bordered ?? true, ...(ngDevMode ? [{ debugName: "bordered", transform: XToBoolean }] : [{ transform: XToBoolean }]));
230
250
  /**
231
251
  * @zh_CN 快捷选择按钮,自定义或直接设置本周(thisWeek)、上周(lastWeek)、下周(nextWeek)、本月(thisMonth)、上一月(lastMonth)、下一月(nextMonth)、本年(thisYear)、去年(lastYear)、明年(nextYear)
232
252
  * @en_US Quick selection button, support thisWeek, lastWeek, nextWeek, thisMonth, lastMonth, nextMonth, thisYear, lastYear, nextYear
233
253
  */
234
- this.preset = input([], { transform: XToDataConvert });
254
+ this.preset = input([], ...(ngDevMode ? [{ debugName: "preset", transform: XToDataConvert }] : [{ transform: XToDataConvert }]));
235
255
  /**
236
256
  * @zh_CN 页脚
237
257
  * @en_US Footer
238
258
  */
239
- this.extraFooter = input();
259
+ this.extraFooter = input(...(ngDevMode ? [undefined, { debugName: "extraFooter" }] : []));
240
260
  /**
241
261
  * @zh_CN 禁用的日期
242
262
  * @en_US Disabled date
243
263
  */
244
- this.disabledDate = input();
264
+ this.disabledDate = input(...(ngDevMode ? [undefined, { debugName: "disabledDate" }] : []));
245
265
  /**
246
266
  * @zh_CN 禁用的时间
247
267
  * @en_US Disabled time
248
268
  */
249
- this.disabledTime = input();
269
+ this.disabledTime = input(...(ngDevMode ? [undefined, { debugName: "disabledTime" }] : []));
270
+ /**
271
+ * @zh_CN 浮动标签
272
+ * @en_US Float label
273
+ */
274
+ this.floatLabel = input(this.config?.floatLabel ?? null, ...(ngDevMode ? [{ debugName: "floatLabel" }] : []));
275
+ /**
276
+ * @zh_CN 固定浮动标签
277
+ * @en_US Fixed float label
278
+ */
279
+ this.floatFixed = input(this.config?.floatFixed ?? false, ...(ngDevMode ? [{ debugName: "floatFixed", transform: XToBoolean }] : [{ transform: XToBoolean }]));
250
280
  /**
251
281
  * @zh_CN 尺寸
252
282
  * @en_US Size
253
283
  */
254
- this.size = input(this.config?.size ?? 'medium');
284
+ this.size = input(this.config?.size ?? 'medium', ...(ngDevMode ? [{ debugName: "size" }] : []));
255
285
  /**
256
286
  * @zh_CN 输入框点击样式
257
287
  * @en_US Input pointer
258
288
  */
259
- this.pointer = input(false, { transform: XToBoolean });
289
+ this.pointer = input(false, ...(ngDevMode ? [{ debugName: "pointer", transform: XToBoolean }] : [{ transform: XToBoolean }]));
260
290
  /**
261
291
  * @zh_CN 标签
262
292
  * @en_US Label
263
293
  */
264
- this.label = input('');
294
+ this.label = input('', ...(ngDevMode ? [{ debugName: "label" }] : []));
265
295
  /**
266
296
  * @zh_CN 标签宽度
267
297
  * @en_US Label width
268
298
  */
269
- this.labelWidth = input('', { transform: XToCssPixelValue });
299
+ this.labelWidth = input('', ...(ngDevMode ? [{ debugName: "labelWidth", transform: XToCssPixelValue }] : [{ transform: XToCssPixelValue }]));
270
300
  /**
271
301
  * @zh_CN 标签文字对齐方式
272
302
  * @en_US Label text alignment method
273
303
  */
274
- this.labelAlign = input('start');
304
+ this.labelAlign = input('start', ...(ngDevMode ? [{ debugName: "labelAlign" }] : []));
275
305
  /**
276
306
  * @zh_CN flex 布局下的子元素水平排列方式
277
307
  * @en_US The level of sub-element level arrangement under flex layout
278
308
  */
279
- this.justify = input('start');
309
+ this.justify = input('start', ...(ngDevMode ? [{ debugName: "justify" }] : []));
280
310
  /**
281
311
  * @zh_CN flex 布局下的子元素垂直排列方式
282
312
  * @en_US sub-element vertical arrangement method under flex layout
283
313
  */
284
- this.align = input('start');
314
+ this.align = input('start', ...(ngDevMode ? [{ debugName: "align" }] : []));
285
315
  /**
286
316
  * @zh_CN flex 布局下的子元素排列方向
287
317
  * @en_US The direction of the sub-element arrangement under flex layout
288
318
  */
289
- this.direction = input('column');
319
+ this.direction = input('column', ...(ngDevMode ? [{ debugName: "direction" }] : []));
290
320
  /**
291
321
  * @zh_CN 输入提示信息
292
322
  * @en_US Enter prompt information
293
323
  */
294
- this.placeholder = input('');
324
+ this.placeholder = input('', ...(ngDevMode ? [{ debugName: "placeholder" }] : []));
295
325
  /**
296
326
  * @zh_CN 禁用
297
327
  * @en_US Disabled
298
328
  */
299
- this.disabled = input(false, { transform: XToBoolean });
329
+ this.disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled", transform: XToBoolean }] : [{ transform: XToBoolean }]));
300
330
  /**
301
331
  * @zh_CN 必填
302
332
  * @en_US Required
303
333
  */
304
- this.required = input(false, { transform: XToBoolean });
334
+ this.required = input(false, ...(ngDevMode ? [{ debugName: "required", transform: XToBoolean }] : [{ transform: XToBoolean }]));
305
335
  /**
306
336
  * @zh_CN 只读
307
337
  * @en_US Readonly
308
338
  */
309
- this.readonly = input(false, { transform: XToBoolean });
339
+ this.readonly = input(false, ...(ngDevMode ? [{ debugName: "readonly", transform: XToBoolean }] : [{ transform: XToBoolean }]));
310
340
  /**
311
341
  * @zh_CN 前置标签
312
342
  * @en_US Before label
313
343
  */
314
- this.before = input();
344
+ this.before = input(...(ngDevMode ? [undefined, { debugName: "before" }] : []));
315
345
  /**
316
346
  * @zh_CN 后置标签
317
347
  * @en_US After label
318
348
  */
319
- this.after = input();
349
+ this.after = input(...(ngDevMode ? [undefined, { debugName: "after" }] : []));
320
350
  /**
321
351
  * @zh_CN 正则验证规则
322
352
  * @en_US Regular verification rules
323
353
  */
324
- this.pattern = input(null);
354
+ this.pattern = input(null, ...(ngDevMode ? [{ debugName: "pattern" }] : []));
325
355
  /**
326
356
  * @zh_CN 验证不通过提示文字
327
357
  * @en_US Verify not pass the prompt text
328
358
  */
329
- this.message = input([]);
359
+ this.message = input([], ...(ngDevMode ? [{ debugName: "message" }] : []));
330
360
  /**
331
361
  * @zh_CN 输入验证函数
332
362
  * @en_US Enter the verification function
333
363
  */
334
- this.inputValidator = input();
364
+ this.inputValidator = input(...(ngDevMode ? [undefined, { debugName: "inputValidator" }] : []));
335
365
  /**
336
366
  * @zh_CN 节点点击的事件
337
367
  * @en_US Node click event
338
368
  */
339
369
  this.nodeEmit = output();
340
370
  }
341
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XDateRangeProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
342
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.0", type: XDateRangeProperty, isStandalone: true, selector: "x-date-range-property", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: false, transformFunction: null }, clearable: { classPropertyName: "clearable", publicName: "clearable", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, bordered: { classPropertyName: "bordered", publicName: "bordered", isSignal: true, isRequired: false, transformFunction: null }, preset: { classPropertyName: "preset", publicName: "preset", isSignal: true, isRequired: false, transformFunction: null }, extraFooter: { classPropertyName: "extraFooter", publicName: "extraFooter", isSignal: true, isRequired: false, transformFunction: null }, disabledDate: { classPropertyName: "disabledDate", publicName: "disabledDate", isSignal: true, isRequired: false, transformFunction: null }, disabledTime: { classPropertyName: "disabledTime", publicName: "disabledTime", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, pointer: { classPropertyName: "pointer", publicName: "pointer", 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 }, 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 }, 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 }, inputValidator: { classPropertyName: "inputValidator", publicName: "inputValidator", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { nodeEmit: "nodeEmit" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
371
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XDateRangeProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
372
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.2.4", type: XDateRangeProperty, isStandalone: true, selector: "x-date-range-property", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: false, transformFunction: null }, clearable: { classPropertyName: "clearable", publicName: "clearable", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, bordered: { classPropertyName: "bordered", publicName: "bordered", isSignal: true, isRequired: false, transformFunction: null }, preset: { classPropertyName: "preset", publicName: "preset", isSignal: true, isRequired: false, transformFunction: null }, extraFooter: { classPropertyName: "extraFooter", publicName: "extraFooter", isSignal: true, isRequired: false, transformFunction: null }, disabledDate: { classPropertyName: "disabledDate", publicName: "disabledDate", isSignal: true, isRequired: false, transformFunction: null }, disabledTime: { classPropertyName: "disabledTime", publicName: "disabledTime", isSignal: true, isRequired: false, transformFunction: null }, floatLabel: { classPropertyName: "floatLabel", publicName: "floatLabel", isSignal: true, isRequired: false, transformFunction: null }, floatFixed: { classPropertyName: "floatFixed", publicName: "floatFixed", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, pointer: { classPropertyName: "pointer", publicName: "pointer", 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 }, 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 }, 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 }, inputValidator: { classPropertyName: "inputValidator", publicName: "inputValidator", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { nodeEmit: "nodeEmit" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
343
373
  }
344
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XDateRangeProperty, decorators: [{
374
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XDateRangeProperty, decorators: [{
345
375
  type: Component,
346
376
  args: [{ selector: `${XDateRangePrefix}-property`, template: '' }]
347
377
  }] });
@@ -373,72 +403,72 @@ class XPickerDateProperty extends XProperty {
373
403
  * @zh_CN 选择类型
374
404
  * @en_US Select type
375
405
  */
376
- this.type = model('date');
406
+ this.type = model('date', ...(ngDevMode ? [{ debugName: "type" }] : []));
377
407
  /**
378
408
  * @zh_CN 显示的日期
379
409
  * @en_US Date displayed
380
410
  */
381
- this.display = model(new Date());
411
+ this.display = model(new Date(), ...(ngDevMode ? [{ debugName: "display" }] : []));
382
412
  /**
383
413
  * @zh_CN 选中的日期
384
414
  * @en_US Selected date
385
415
  */
386
- this.model = model();
416
+ this.model = model(...(ngDevMode ? [undefined, { debugName: "model" }] : []));
387
417
  /**
388
418
  * @zh_CN 日期显示模板
389
419
  * @en_US Date display template
390
420
  */
391
- this.dateTemp = input();
421
+ this.dateTemp = input(...(ngDevMode ? [undefined, { debugName: "dateTemp" }] : []));
392
422
  /**
393
423
  * @zh_CN 显示切换按钮
394
424
  * @en_US Display switch button
395
425
  */
396
- this.showHeader = input(true, { transform: XToBoolean });
426
+ this.showHeader = input(true, ...(ngDevMode ? [{ debugName: "showHeader", transform: XToBoolean }] : [{ transform: XToBoolean }]));
397
427
  /**
398
428
  * @zh_CN 范围选择
399
429
  * @en_US Range picker
400
430
  */
401
- this.rangePicker = input(false, { transform: XToBoolean });
431
+ this.rangePicker = input(false, ...(ngDevMode ? [{ debugName: "rangePicker", transform: XToBoolean }] : [{ transform: XToBoolean }]));
402
432
  /**
403
433
  * @zh_CN 上一年
404
434
  * @en_US Last year
405
435
  */
406
- this.lastYearBtn = input(true, { transform: XToBoolean });
436
+ this.lastYearBtn = input(true, ...(ngDevMode ? [{ debugName: "lastYearBtn", transform: XToBoolean }] : [{ transform: XToBoolean }]));
407
437
  /**
408
438
  * @zh_CN 上月
409
439
  * @en_US Last month
410
440
  */
411
- this.lastMonthBtn = input(true, { transform: XToBoolean });
441
+ this.lastMonthBtn = input(true, ...(ngDevMode ? [{ debugName: "lastMonthBtn", transform: XToBoolean }] : [{ transform: XToBoolean }]));
412
442
  /**
413
443
  * @zh_CN 下一年
414
444
  * @en_US Next year
415
445
  */
416
- this.nextYearBtn = input(true, { transform: XToBoolean });
446
+ this.nextYearBtn = input(true, ...(ngDevMode ? [{ debugName: "nextYearBtn", transform: XToBoolean }] : [{ transform: XToBoolean }]));
417
447
  /**
418
448
  * @zh_CN 上月
419
449
  * @en_US Next month
420
450
  */
421
- this.nextMonthBtn = input(true, { transform: XToBoolean });
451
+ this.nextMonthBtn = input(true, ...(ngDevMode ? [{ debugName: "nextMonthBtn", transform: XToBoolean }] : [{ transform: XToBoolean }]));
422
452
  /**
423
453
  * @zh_CN 范围 hover 效果
424
454
  * @en_US Range hover style
425
455
  */
426
- this.rangeHover = input(true, { transform: XToBoolean });
456
+ this.rangeHover = input(true, ...(ngDevMode ? [{ debugName: "rangeHover", transform: XToBoolean }] : [{ transform: XToBoolean }]));
427
457
  /**
428
458
  * @zh_CN 范围日期
429
459
  * @en_US Range date
430
460
  */
431
- this.rangeValue = input([]);
461
+ this.rangeValue = input([], ...(ngDevMode ? [{ debugName: "rangeValue" }] : []));
432
462
  /**
433
463
  * @zh_CN 当前选择的是开始/结束日期
434
464
  * @en_US The current choice is the start / end date
435
465
  */
436
- this.rangeType = input();
466
+ this.rangeType = input(...(ngDevMode ? [undefined, { debugName: "rangeType" }] : []));
437
467
  /**
438
468
  * @zh_CN 禁用的日期
439
469
  * @en_US Disabled date
440
470
  */
441
- this.disabledDate = input();
471
+ this.disabledDate = input(...(ngDevMode ? [undefined, { debugName: "disabledDate" }] : []));
442
472
  /**
443
473
  * @zh_CN 范围变化的事件
444
474
  * @en_US Scope change event
@@ -465,10 +495,10 @@ class XPickerDateProperty extends XProperty {
465
495
  */
466
496
  this.rangeTdMouseleave = output();
467
497
  }
468
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XPickerDateProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
469
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.0", type: XPickerDateProperty, isStandalone: true, selector: "x-picker-date-property", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, display: { classPropertyName: "display", publicName: "display", isSignal: true, isRequired: false, transformFunction: null }, model: { classPropertyName: "model", publicName: "model", isSignal: true, isRequired: false, transformFunction: null }, dateTemp: { classPropertyName: "dateTemp", publicName: "dateTemp", isSignal: true, isRequired: false, transformFunction: null }, showHeader: { classPropertyName: "showHeader", publicName: "showHeader", isSignal: true, isRequired: false, transformFunction: null }, rangePicker: { classPropertyName: "rangePicker", publicName: "rangePicker", isSignal: true, isRequired: false, transformFunction: null }, lastYearBtn: { classPropertyName: "lastYearBtn", publicName: "lastYearBtn", isSignal: true, isRequired: false, transformFunction: null }, lastMonthBtn: { classPropertyName: "lastMonthBtn", publicName: "lastMonthBtn", isSignal: true, isRequired: false, transformFunction: null }, nextYearBtn: { classPropertyName: "nextYearBtn", publicName: "nextYearBtn", isSignal: true, isRequired: false, transformFunction: null }, nextMonthBtn: { classPropertyName: "nextMonthBtn", publicName: "nextMonthBtn", isSignal: true, isRequired: false, transformFunction: null }, rangeHover: { classPropertyName: "rangeHover", publicName: "rangeHover", isSignal: true, isRequired: false, transformFunction: null }, rangeValue: { classPropertyName: "rangeValue", publicName: "rangeValue", isSignal: true, isRequired: false, transformFunction: null }, rangeType: { classPropertyName: "rangeType", publicName: "rangeType", isSignal: true, isRequired: false, transformFunction: null }, disabledDate: { classPropertyName: "disabledDate", publicName: "disabledDate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { type: "typeChange", display: "displayChange", model: "modelChange", rangeChange: "rangeChange", yearChange: "yearChange", monthChange: "monthChange", rangeTdMouseenter: "rangeTdMouseenter", rangeTdMouseleave: "rangeTdMouseleave" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
498
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XPickerDateProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
499
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.2.4", type: XPickerDateProperty, isStandalone: true, selector: "x-picker-date-property", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, display: { classPropertyName: "display", publicName: "display", isSignal: true, isRequired: false, transformFunction: null }, model: { classPropertyName: "model", publicName: "model", isSignal: true, isRequired: false, transformFunction: null }, dateTemp: { classPropertyName: "dateTemp", publicName: "dateTemp", isSignal: true, isRequired: false, transformFunction: null }, showHeader: { classPropertyName: "showHeader", publicName: "showHeader", isSignal: true, isRequired: false, transformFunction: null }, rangePicker: { classPropertyName: "rangePicker", publicName: "rangePicker", isSignal: true, isRequired: false, transformFunction: null }, lastYearBtn: { classPropertyName: "lastYearBtn", publicName: "lastYearBtn", isSignal: true, isRequired: false, transformFunction: null }, lastMonthBtn: { classPropertyName: "lastMonthBtn", publicName: "lastMonthBtn", isSignal: true, isRequired: false, transformFunction: null }, nextYearBtn: { classPropertyName: "nextYearBtn", publicName: "nextYearBtn", isSignal: true, isRequired: false, transformFunction: null }, nextMonthBtn: { classPropertyName: "nextMonthBtn", publicName: "nextMonthBtn", isSignal: true, isRequired: false, transformFunction: null }, rangeHover: { classPropertyName: "rangeHover", publicName: "rangeHover", isSignal: true, isRequired: false, transformFunction: null }, rangeValue: { classPropertyName: "rangeValue", publicName: "rangeValue", isSignal: true, isRequired: false, transformFunction: null }, rangeType: { classPropertyName: "rangeType", publicName: "rangeType", isSignal: true, isRequired: false, transformFunction: null }, disabledDate: { classPropertyName: "disabledDate", publicName: "disabledDate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { type: "typeChange", display: "displayChange", model: "modelChange", rangeChange: "rangeChange", yearChange: "yearChange", monthChange: "monthChange", rangeTdMouseenter: "rangeTdMouseenter", rangeTdMouseleave: "rangeTdMouseleave" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
470
500
  }
471
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XPickerDateProperty, decorators: [{
501
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XPickerDateProperty, decorators: [{
472
502
  type: Component,
473
503
  args: [{ selector: `${XPickerDatePrefix}-property`, template: '' }]
474
504
  }] });
@@ -488,57 +518,57 @@ class XPickerMonthProperty extends XProperty {
488
518
  * @zh_CN 选择类型
489
519
  * @en_US Select type
490
520
  */
491
- this.type = model('date');
521
+ this.type = model('date', ...(ngDevMode ? [{ debugName: "type" }] : []));
492
522
  /**
493
523
  * @zh_CN 显示的日期
494
524
  * @en_US Date displayed
495
525
  */
496
- this.display = model(new Date());
526
+ this.display = model(new Date(), ...(ngDevMode ? [{ debugName: "display" }] : []));
497
527
  /**
498
528
  * @zh_CN 选中的日期
499
529
  * @en_US Selected date
500
530
  */
501
- this.model = model();
531
+ this.model = model(...(ngDevMode ? [undefined, { debugName: "model" }] : []));
502
532
  /**
503
533
  * @zh_CN 月份显示模板
504
534
  * @en_US Month display template
505
535
  */
506
- this.monthTemp = input();
536
+ this.monthTemp = input(...(ngDevMode ? [undefined, { debugName: "monthTemp" }] : []));
507
537
  /**
508
538
  * @zh_CN 显示切换按钮
509
539
  * @en_US Display switch button
510
540
  */
511
- this.showHeader = input(true, { transform: XToBoolean });
541
+ this.showHeader = input(true, ...(ngDevMode ? [{ debugName: "showHeader", transform: XToBoolean }] : [{ transform: XToBoolean }]));
512
542
  /**
513
543
  * @zh_CN 范围选择
514
544
  * @en_US Range picker
515
545
  */
516
- this.rangePicker = input(false, { transform: XToBoolean });
546
+ this.rangePicker = input(false, ...(ngDevMode ? [{ debugName: "rangePicker", transform: XToBoolean }] : [{ transform: XToBoolean }]));
517
547
  /**
518
548
  * @zh_CN 上一年
519
549
  * @en_US Last year
520
550
  */
521
- this.lastYearBtn = input(true, { transform: XToBoolean });
551
+ this.lastYearBtn = input(true, ...(ngDevMode ? [{ debugName: "lastYearBtn", transform: XToBoolean }] : [{ transform: XToBoolean }]));
522
552
  /**
523
553
  * @zh_CN 下一年
524
554
  * @en_US Next year
525
555
  */
526
- this.nextYearBtn = input(true, { transform: XToBoolean });
556
+ this.nextYearBtn = input(true, ...(ngDevMode ? [{ debugName: "nextYearBtn", transform: XToBoolean }] : [{ transform: XToBoolean }]));
527
557
  /**
528
558
  * @zh_CN 范围月份
529
559
  * @en_US Range date
530
560
  */
531
- this.rangeValue = input([]);
561
+ this.rangeValue = input([], ...(ngDevMode ? [{ debugName: "rangeValue" }] : []));
532
562
  /**
533
563
  * @zh_CN 当前选择的是开始/结束日期
534
564
  * @en_US The current choice is the start / end date
535
565
  */
536
- this.rangeType = input();
566
+ this.rangeType = input(...(ngDevMode ? [undefined, { debugName: "rangeType" }] : []));
537
567
  /**
538
568
  * @zh_CN 禁用的日期
539
569
  * @en_US Disabled date
540
570
  */
541
- this.disabledDate = input();
571
+ this.disabledDate = input(...(ngDevMode ? [undefined, { debugName: "disabledDate" }] : []));
542
572
  /**
543
573
  * @zh_CN 范围变化的事件
544
574
  * @en_US Scope change event
@@ -565,10 +595,10 @@ class XPickerMonthProperty extends XProperty {
565
595
  */
566
596
  this.rangeTdMouseleave = output();
567
597
  }
568
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XPickerMonthProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
569
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.0", type: XPickerMonthProperty, isStandalone: true, selector: "x-picker-month-property", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, display: { classPropertyName: "display", publicName: "display", isSignal: true, isRequired: false, transformFunction: null }, model: { classPropertyName: "model", publicName: "model", isSignal: true, isRequired: false, transformFunction: null }, monthTemp: { classPropertyName: "monthTemp", publicName: "monthTemp", isSignal: true, isRequired: false, transformFunction: null }, showHeader: { classPropertyName: "showHeader", publicName: "showHeader", isSignal: true, isRequired: false, transformFunction: null }, rangePicker: { classPropertyName: "rangePicker", publicName: "rangePicker", isSignal: true, isRequired: false, transformFunction: null }, lastYearBtn: { classPropertyName: "lastYearBtn", publicName: "lastYearBtn", isSignal: true, isRequired: false, transformFunction: null }, nextYearBtn: { classPropertyName: "nextYearBtn", publicName: "nextYearBtn", isSignal: true, isRequired: false, transformFunction: null }, rangeValue: { classPropertyName: "rangeValue", publicName: "rangeValue", isSignal: true, isRequired: false, transformFunction: null }, rangeType: { classPropertyName: "rangeType", publicName: "rangeType", isSignal: true, isRequired: false, transformFunction: null }, disabledDate: { classPropertyName: "disabledDate", publicName: "disabledDate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { type: "typeChange", display: "displayChange", model: "modelChange", rangeChange: "rangeChange", yearChange: "yearChange", monthChange: "monthChange", rangeTdMouseenter: "rangeTdMouseenter", rangeTdMouseleave: "rangeTdMouseleave" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
598
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XPickerMonthProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
599
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.2.4", type: XPickerMonthProperty, isStandalone: true, selector: "x-picker-month-property", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, display: { classPropertyName: "display", publicName: "display", isSignal: true, isRequired: false, transformFunction: null }, model: { classPropertyName: "model", publicName: "model", isSignal: true, isRequired: false, transformFunction: null }, monthTemp: { classPropertyName: "monthTemp", publicName: "monthTemp", isSignal: true, isRequired: false, transformFunction: null }, showHeader: { classPropertyName: "showHeader", publicName: "showHeader", isSignal: true, isRequired: false, transformFunction: null }, rangePicker: { classPropertyName: "rangePicker", publicName: "rangePicker", isSignal: true, isRequired: false, transformFunction: null }, lastYearBtn: { classPropertyName: "lastYearBtn", publicName: "lastYearBtn", isSignal: true, isRequired: false, transformFunction: null }, nextYearBtn: { classPropertyName: "nextYearBtn", publicName: "nextYearBtn", isSignal: true, isRequired: false, transformFunction: null }, rangeValue: { classPropertyName: "rangeValue", publicName: "rangeValue", isSignal: true, isRequired: false, transformFunction: null }, rangeType: { classPropertyName: "rangeType", publicName: "rangeType", isSignal: true, isRequired: false, transformFunction: null }, disabledDate: { classPropertyName: "disabledDate", publicName: "disabledDate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { type: "typeChange", display: "displayChange", model: "modelChange", rangeChange: "rangeChange", yearChange: "yearChange", monthChange: "monthChange", rangeTdMouseenter: "rangeTdMouseenter", rangeTdMouseleave: "rangeTdMouseleave" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
570
600
  }
571
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XPickerMonthProperty, decorators: [{
601
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XPickerMonthProperty, decorators: [{
572
602
  type: Component,
573
603
  args: [{ selector: `${XPickerMonthPrefix}-property`, template: '' }]
574
604
  }] });
@@ -588,57 +618,57 @@ class XPickerQuarterProperty extends XProperty {
588
618
  * @zh_CN 选择类型
589
619
  * @en_US Select type
590
620
  */
591
- this.type = model('date');
621
+ this.type = model('date', ...(ngDevMode ? [{ debugName: "type" }] : []));
592
622
  /**
593
623
  * @zh_CN 显示的日期
594
624
  * @en_US Date displayed
595
625
  */
596
- this.display = model(new Date());
626
+ this.display = model(new Date(), ...(ngDevMode ? [{ debugName: "display" }] : []));
597
627
  /**
598
628
  * @zh_CN 选中的日期
599
629
  * @en_US Selected date
600
630
  */
601
- this.model = model();
631
+ this.model = model(...(ngDevMode ? [undefined, { debugName: "model" }] : []));
602
632
  /**
603
633
  * @zh_CN 季度显示模板
604
634
  * @en_US Month display template
605
635
  */
606
- this.quarterTemp = input();
636
+ this.quarterTemp = input(...(ngDevMode ? [undefined, { debugName: "quarterTemp" }] : []));
607
637
  /**
608
638
  * @zh_CN 显示切换按钮
609
639
  * @en_US Display switch button
610
640
  */
611
- this.showHeader = input(true, { transform: XToBoolean });
641
+ this.showHeader = input(true, ...(ngDevMode ? [{ debugName: "showHeader", transform: XToBoolean }] : [{ transform: XToBoolean }]));
612
642
  /**
613
643
  * @zh_CN 范围选择
614
644
  * @en_US Range picker
615
645
  */
616
- this.rangePicker = input(false, { transform: XToBoolean });
646
+ this.rangePicker = input(false, ...(ngDevMode ? [{ debugName: "rangePicker", transform: XToBoolean }] : [{ transform: XToBoolean }]));
617
647
  /**
618
648
  * @zh_CN 上一年
619
649
  * @en_US Last year
620
650
  */
621
- this.lastYearBtn = input(true, { transform: XToBoolean });
651
+ this.lastYearBtn = input(true, ...(ngDevMode ? [{ debugName: "lastYearBtn", transform: XToBoolean }] : [{ transform: XToBoolean }]));
622
652
  /**
623
653
  * @zh_CN 下一年
624
654
  * @en_US Next year
625
655
  */
626
- this.nextYearBtn = input(true, { transform: XToBoolean });
656
+ this.nextYearBtn = input(true, ...(ngDevMode ? [{ debugName: "nextYearBtn", transform: XToBoolean }] : [{ transform: XToBoolean }]));
627
657
  /**
628
658
  * @zh_CN 范围月份
629
659
  * @en_US Range date
630
660
  */
631
- this.rangeValue = input([]);
661
+ this.rangeValue = input([], ...(ngDevMode ? [{ debugName: "rangeValue" }] : []));
632
662
  /**
633
663
  * @zh_CN 当前选择的是开始/结束日期
634
664
  * @en_US The current choice is the start / end date
635
665
  */
636
- this.rangeType = input();
666
+ this.rangeType = input(...(ngDevMode ? [undefined, { debugName: "rangeType" }] : []));
637
667
  /**
638
668
  * @zh_CN 禁用的日期
639
669
  * @en_US Disabled date
640
670
  */
641
- this.disabledDate = input();
671
+ this.disabledDate = input(...(ngDevMode ? [undefined, { debugName: "disabledDate" }] : []));
642
672
  /**
643
673
  * @zh_CN 范围变化的事件
644
674
  * @en_US Scope change event
@@ -665,10 +695,10 @@ class XPickerQuarterProperty extends XProperty {
665
695
  */
666
696
  this.rangeTdMouseleave = output();
667
697
  }
668
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XPickerQuarterProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
669
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.0", type: XPickerQuarterProperty, isStandalone: true, selector: "x-picker-quarter-property", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, display: { classPropertyName: "display", publicName: "display", isSignal: true, isRequired: false, transformFunction: null }, model: { classPropertyName: "model", publicName: "model", isSignal: true, isRequired: false, transformFunction: null }, quarterTemp: { classPropertyName: "quarterTemp", publicName: "quarterTemp", isSignal: true, isRequired: false, transformFunction: null }, showHeader: { classPropertyName: "showHeader", publicName: "showHeader", isSignal: true, isRequired: false, transformFunction: null }, rangePicker: { classPropertyName: "rangePicker", publicName: "rangePicker", isSignal: true, isRequired: false, transformFunction: null }, lastYearBtn: { classPropertyName: "lastYearBtn", publicName: "lastYearBtn", isSignal: true, isRequired: false, transformFunction: null }, nextYearBtn: { classPropertyName: "nextYearBtn", publicName: "nextYearBtn", isSignal: true, isRequired: false, transformFunction: null }, rangeValue: { classPropertyName: "rangeValue", publicName: "rangeValue", isSignal: true, isRequired: false, transformFunction: null }, rangeType: { classPropertyName: "rangeType", publicName: "rangeType", isSignal: true, isRequired: false, transformFunction: null }, disabledDate: { classPropertyName: "disabledDate", publicName: "disabledDate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { type: "typeChange", display: "displayChange", model: "modelChange", rangeChange: "rangeChange", yearChange: "yearChange", monthChange: "monthChange", rangeTdMouseenter: "rangeTdMouseenter", rangeTdMouseleave: "rangeTdMouseleave" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
698
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XPickerQuarterProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
699
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.2.4", type: XPickerQuarterProperty, isStandalone: true, selector: "x-picker-quarter-property", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, display: { classPropertyName: "display", publicName: "display", isSignal: true, isRequired: false, transformFunction: null }, model: { classPropertyName: "model", publicName: "model", isSignal: true, isRequired: false, transformFunction: null }, quarterTemp: { classPropertyName: "quarterTemp", publicName: "quarterTemp", isSignal: true, isRequired: false, transformFunction: null }, showHeader: { classPropertyName: "showHeader", publicName: "showHeader", isSignal: true, isRequired: false, transformFunction: null }, rangePicker: { classPropertyName: "rangePicker", publicName: "rangePicker", isSignal: true, isRequired: false, transformFunction: null }, lastYearBtn: { classPropertyName: "lastYearBtn", publicName: "lastYearBtn", isSignal: true, isRequired: false, transformFunction: null }, nextYearBtn: { classPropertyName: "nextYearBtn", publicName: "nextYearBtn", isSignal: true, isRequired: false, transformFunction: null }, rangeValue: { classPropertyName: "rangeValue", publicName: "rangeValue", isSignal: true, isRequired: false, transformFunction: null }, rangeType: { classPropertyName: "rangeType", publicName: "rangeType", isSignal: true, isRequired: false, transformFunction: null }, disabledDate: { classPropertyName: "disabledDate", publicName: "disabledDate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { type: "typeChange", display: "displayChange", model: "modelChange", rangeChange: "rangeChange", yearChange: "yearChange", monthChange: "monthChange", rangeTdMouseenter: "rangeTdMouseenter", rangeTdMouseleave: "rangeTdMouseleave" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
670
700
  }
671
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XPickerQuarterProperty, decorators: [{
701
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XPickerQuarterProperty, decorators: [{
672
702
  type: Component,
673
703
  args: [{ selector: `${XPickerQuarterPrefix}-property`, template: '' }]
674
704
  }] });
@@ -694,57 +724,57 @@ class XPickerYearProperty extends XProperty {
694
724
  * @zh_CN 选择类型
695
725
  * @en_US Select type
696
726
  */
697
- this.type = model('date');
727
+ this.type = model('date', ...(ngDevMode ? [{ debugName: "type" }] : []));
698
728
  /**
699
729
  * @zh_CN 显示的日期
700
730
  * @en_US Date displayed
701
731
  */
702
- this.display = model(new Date());
732
+ this.display = model(new Date(), ...(ngDevMode ? [{ debugName: "display" }] : []));
703
733
  /**
704
734
  * @zh_CN 选中的日期
705
735
  * @en_US Selected date
706
736
  */
707
- this.model = model();
737
+ this.model = model(...(ngDevMode ? [undefined, { debugName: "model" }] : []));
708
738
  /**
709
739
  * @zh_CN 年份显示模板
710
740
  * @en_US Month display template
711
741
  */
712
- this.yearTemp = input();
742
+ this.yearTemp = input(...(ngDevMode ? [undefined, { debugName: "yearTemp" }] : []));
713
743
  /**
714
744
  * @zh_CN 显示切换按钮
715
745
  * @en_US Display switch button
716
746
  */
717
- this.showHeader = input(true, { transform: XToBoolean });
747
+ this.showHeader = input(true, ...(ngDevMode ? [{ debugName: "showHeader", transform: XToBoolean }] : [{ transform: XToBoolean }]));
718
748
  /**
719
749
  * @zh_CN 范围选择
720
750
  * @en_US Range picker
721
751
  */
722
- this.rangePicker = input(false, { transform: XToBoolean });
752
+ this.rangePicker = input(false, ...(ngDevMode ? [{ debugName: "rangePicker", transform: XToBoolean }] : [{ transform: XToBoolean }]));
723
753
  /**
724
754
  * @zh_CN 上一年
725
755
  * @en_US Last year
726
756
  */
727
- this.lastYearBtn = input(true, { transform: XToBoolean });
757
+ this.lastYearBtn = input(true, ...(ngDevMode ? [{ debugName: "lastYearBtn", transform: XToBoolean }] : [{ transform: XToBoolean }]));
728
758
  /**
729
759
  * @zh_CN 下一年
730
760
  * @en_US Next year
731
761
  */
732
- this.nextYearBtn = input(true, { transform: XToBoolean });
762
+ this.nextYearBtn = input(true, ...(ngDevMode ? [{ debugName: "nextYearBtn", transform: XToBoolean }] : [{ transform: XToBoolean }]));
733
763
  /**
734
764
  * @zh_CN 范围年份
735
765
  * @en_US Range date
736
766
  */
737
- this.rangeValue = input([]);
767
+ this.rangeValue = input([], ...(ngDevMode ? [{ debugName: "rangeValue" }] : []));
738
768
  /**
739
769
  * @zh_CN 当前选择的是开始/结束日期
740
770
  * @en_US The current choice is the start / end date
741
771
  */
742
- this.rangeType = input();
772
+ this.rangeType = input(...(ngDevMode ? [undefined, { debugName: "rangeType" }] : []));
743
773
  /**
744
774
  * @zh_CN 禁用的日期
745
775
  * @en_US Disabled date
746
776
  */
747
- this.disabledDate = input();
777
+ this.disabledDate = input(...(ngDevMode ? [undefined, { debugName: "disabledDate" }] : []));
748
778
  /**
749
779
  * @zh_CN 开始年份变化的事件
750
780
  * @en_US Start year change event
@@ -776,10 +806,10 @@ class XPickerYearProperty extends XProperty {
776
806
  */
777
807
  this.rangeTdMouseleave = output();
778
808
  }
779
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XPickerYearProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
780
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.0", type: XPickerYearProperty, isStandalone: true, selector: "x-picker-year-property", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, display: { classPropertyName: "display", publicName: "display", isSignal: true, isRequired: false, transformFunction: null }, model: { classPropertyName: "model", publicName: "model", isSignal: true, isRequired: false, transformFunction: null }, yearTemp: { classPropertyName: "yearTemp", publicName: "yearTemp", isSignal: true, isRequired: false, transformFunction: null }, showHeader: { classPropertyName: "showHeader", publicName: "showHeader", isSignal: true, isRequired: false, transformFunction: null }, rangePicker: { classPropertyName: "rangePicker", publicName: "rangePicker", isSignal: true, isRequired: false, transformFunction: null }, lastYearBtn: { classPropertyName: "lastYearBtn", publicName: "lastYearBtn", isSignal: true, isRequired: false, transformFunction: null }, nextYearBtn: { classPropertyName: "nextYearBtn", publicName: "nextYearBtn", isSignal: true, isRequired: false, transformFunction: null }, rangeValue: { classPropertyName: "rangeValue", publicName: "rangeValue", isSignal: true, isRequired: false, transformFunction: null }, rangeType: { classPropertyName: "rangeType", publicName: "rangeType", isSignal: true, isRequired: false, transformFunction: null }, disabledDate: { classPropertyName: "disabledDate", publicName: "disabledDate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { type: "typeChange", display: "displayChange", model: "modelChange", startChange: "startChange", rangeChange: "rangeChange", yearChange: "yearChange", monthChange: "monthChange", rangeTdMouseenter: "rangeTdMouseenter", rangeTdMouseleave: "rangeTdMouseleave" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
809
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XPickerYearProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
810
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.2.4", type: XPickerYearProperty, isStandalone: true, selector: "x-picker-year-property", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, display: { classPropertyName: "display", publicName: "display", isSignal: true, isRequired: false, transformFunction: null }, model: { classPropertyName: "model", publicName: "model", isSignal: true, isRequired: false, transformFunction: null }, yearTemp: { classPropertyName: "yearTemp", publicName: "yearTemp", isSignal: true, isRequired: false, transformFunction: null }, showHeader: { classPropertyName: "showHeader", publicName: "showHeader", isSignal: true, isRequired: false, transformFunction: null }, rangePicker: { classPropertyName: "rangePicker", publicName: "rangePicker", isSignal: true, isRequired: false, transformFunction: null }, lastYearBtn: { classPropertyName: "lastYearBtn", publicName: "lastYearBtn", isSignal: true, isRequired: false, transformFunction: null }, nextYearBtn: { classPropertyName: "nextYearBtn", publicName: "nextYearBtn", isSignal: true, isRequired: false, transformFunction: null }, rangeValue: { classPropertyName: "rangeValue", publicName: "rangeValue", isSignal: true, isRequired: false, transformFunction: null }, rangeType: { classPropertyName: "rangeType", publicName: "rangeType", isSignal: true, isRequired: false, transformFunction: null }, disabledDate: { classPropertyName: "disabledDate", publicName: "disabledDate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { type: "typeChange", display: "displayChange", model: "modelChange", startChange: "startChange", rangeChange: "rangeChange", yearChange: "yearChange", monthChange: "monthChange", rangeTdMouseenter: "rangeTdMouseenter", rangeTdMouseleave: "rangeTdMouseleave" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
781
811
  }
782
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XPickerYearProperty, decorators: [{
812
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XPickerYearProperty, decorators: [{
783
813
  type: Component,
784
814
  args: [{ selector: `${XPickerYearPrefix}-property`, template: '' }]
785
815
  }] });
@@ -799,10 +829,10 @@ class XPickerDateComponent extends XPickerDateProperty {
799
829
  'datePicker.friday',
800
830
  'datePicker.saturday',
801
831
  'datePicker.sunday'
802
- ]);
832
+ ], ...(ngDevMode ? [{ debugName: "titles" }] : []));
803
833
  this.now = new Date();
804
- this.dates = signal([]);
805
- this.weekDates = signal([]);
834
+ this.dates = signal([], ...(ngDevMode ? [{ debugName: "dates" }] : []));
835
+ this.weekDates = signal([], ...(ngDevMode ? [{ debugName: "weekDates" }] : []));
806
836
  this.locale = toSignal(this.i18n.localeChange.pipe(map((x) => x.datePicker)), {
807
837
  initialValue: zh_CN.datePicker
808
838
  });
@@ -811,22 +841,22 @@ class XPickerDateComponent extends XPickerDateProperty {
811
841
  return this.rangeValue()[0];
812
842
  }
813
843
  return '';
814
- });
844
+ }, ...(ngDevMode ? [{ debugName: "rangeStart" }] : []));
815
845
  this.rangeEnd = computed(() => {
816
846
  if (this.rangeValue() && this.rangeValue().length > 1) {
817
847
  return this.rangeValue()[1];
818
848
  }
819
849
  return '';
820
- });
850
+ }, ...(ngDevMode ? [{ debugName: "rangeEnd" }] : []));
821
851
  this.isWeek = computed(() => {
822
852
  return this.type() === 'week';
823
- });
853
+ }, ...(ngDevMode ? [{ debugName: "isWeek" }] : []));
824
854
  this.isWeekRange = computed(() => {
825
855
  return this.type() === 'week' && this.rangePicker();
826
- });
856
+ }, ...(ngDevMode ? [{ debugName: "isWeekRange" }] : []));
827
857
  this.isNotWeekRange = computed(() => {
828
858
  return this.type() !== 'week' && this.rangePicker();
829
- });
859
+ }, ...(ngDevMode ? [{ debugName: "isNotWeekRange" }] : []));
830
860
  }
831
861
  isDisabled(date) {
832
862
  const disabledDate = this.disabledDate();
@@ -1101,12 +1131,12 @@ class XPickerDateComponent extends XPickerDateProperty {
1101
1131
  typeOnChange(type) {
1102
1132
  this.type.set(type);
1103
1133
  }
1104
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XPickerDateComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1105
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.0", type: XPickerDateComponent, isStandalone: true, selector: "x-picker-date", providers: [DatePipe, LowerCasePipe], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-picker-date\" [class.x-date-picker-datetemp]=\"dateTemp()\">\r\n @if (showHeader()) {\r\n <div class=\"x-picker-date-header\">\r\n <x-link icon=\"fto-chevrons-left\" (click)=\"nextYear(-1)\" [class.x-visibility]=\"!lastYearBtn()\"></x-link>\r\n <x-link icon=\"fto-chevron-left\" (click)=\"nextMonth(-1)\" [class.x-visibility]=\"!lastMonthBtn()\"></x-link>\r\n <div class=\"x-picker-date-year-month\">\r\n <x-link (click)=\"typeOnChange('year')\">{{ display() | date: 'yyyy' }}{{ locale().year }}</x-link>\r\n <x-link (click)=\"typeOnChange('month')\">{{ getLocaleMonth(display()) }}</x-link>\r\n </div>\r\n <x-link icon=\"fto-chevron-right\" (click)=\"nextMonth(1)\" [class.x-visibility]=\"!nextMonthBtn()\"></x-link>\r\n <x-link icon=\"fto-chevrons-right\" (click)=\"nextYear(1)\" [class.x-visibility]=\"!nextYearBtn()\"></x-link>\r\n </div>\r\n }\r\n <div class=\"x-picker-date-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n <thead>\r\n <tr>\r\n @for (title of titles(); track title) {\r\n <th>{{ title | xI18n }}</th>\r\n }\r\n </tr>\r\n </thead>\r\n <tbody>\r\n @for (weeks of weekDates(); track $index) {\r\n <tr\r\n [class.x-date-week-active]=\"!rangePicker() && isWeek() && isWeekActive(weeks)\"\r\n [class.x-date-week-start-active]=\"isWeekRange() && isStartWeek(weeks)\"\r\n [class.x-date-week-end-active]=\"isWeekRange() && isEndWeek(weeks)\"\r\n [class.x-date-week-in-range]=\"isWeekRange() && isInRangeWeek(weeks)\"\r\n >\r\n @for (week of weeks; track week.date) {\r\n <td\r\n class=\"x-picker-date-item\"\r\n [class.x-date-week]=\"week.type === 'week'\"\r\n [class.x-date-disabled]=\"week.isDisabled\"\r\n [class.x-date-last-or-next]=\"week.isLastOrNext\"\r\n [class.x-date-now]=\"week.isNow\"\r\n [class.x-date-first-day]=\"week.isFirstDay\"\r\n [class.x-date-last-day]=\"week.isLastDay\"\r\n [class.x-date-range-start]=\"isNotWeekRange() && isStartDate(week.date!)\"\r\n [class.x-date-range-end]=\"isNotWeekRange() && isEndDate(week.date!)\"\r\n [class.x-date-range-start-left]=\"isNotWeekRange() && week.isRangeStartLeft\"\r\n [class.x-date-range-start-right]=\"isNotWeekRange() && week.isRangeStartRight\"\r\n [class.x-date-range-end-left]=\"isNotWeekRange() && week.isRangeEndLeft\"\r\n [class.x-date-range-end-right]=\"isNotWeekRange() && week.isRangeEndRight\"\r\n [class.x-date-range-hover]=\"isNotWeekRange() && week.isRangeHover\"\r\n [class.x-date-range-hover-start-left]=\"isNotWeekRange() && week.isRangeHoverStartLeft\"\r\n [class.x-date-range-hover-start-right]=\"isNotWeekRange() && week.isRangeHoverStartRight\"\r\n [class.x-date-range-hover-end-left]=\"isNotWeekRange() && week.isRangeHoverEndLeft\"\r\n [class.x-date-range-hover-end-right]=\"isNotWeekRange() && week.isRangeHoverEndRight\"\r\n [class.x-date-range-hover-start]=\"isNotWeekRange() && week.isRangeHoverStart\"\r\n [class.x-date-range-hover-end]=\"isNotWeekRange() && week.isRangeHoverEnd\"\r\n [class.x-date-in-range]=\"isNotWeekRange() && week.isInRange\"\r\n [class.x-date-in-range-hover]=\"isNotWeekRange() && week.isInRangeHover\"\r\n [class.x-date-active]=\"\r\n !rangePicker() &&\r\n week.type !== 'week' &&\r\n (week.date | date: 'yyyyMMdd') === (model() | date: 'yyyyMMdd')\r\n \"\r\n [title]=\"week.date | date: 'yyyy-MM-dd'\"\r\n (click)=\"week.type !== 'week' && !week.isDisabled && dateClick(week)\"\r\n (mouseenter)=\"\r\n week.type !== 'week' && !week.isDisabled && rangePicker() && rangeHover() && onTdMouseenter(week)\r\n \"\r\n (mouseleave)=\"\r\n week.type !== 'week' && !week.isDisabled && rangePicker() && rangeHover() && onTdMouseleave(week)\r\n \"\r\n >\r\n @if (dateTemp()) {\r\n <ng-container *ngTemplateOutlet=\"dateTemp()!; context: { date$: week.date }\"></ng-container>\r\n } @else {\r\n <div class=\"x-date-text\">\r\n @switch (week.type) {\r\n @case ('week') {\r\n {{ week.week }}\r\n }\r\n @default {\r\n {{ week.date | date: 'd' }}\r\n }\r\n }\r\n </div>\r\n }\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </tbody>\r\n </table>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-picker-date{margin:0;padding:0}.x-picker-date-header{display:flex;align-items:center;justify-content:space-between;padding:0 .5rem;height:2.5rem;border-bottom:var(--x-border-width) solid var(--x-border);color:var(--x-text-500);font-size:var(--x-font-size-medium)}.x-picker-date-header x-link{height:100%;-webkit-user-select:none;user-select:none}.x-picker-date-header .x-link{padding:0 .25rem}.x-picker-date-year-month{flex:1;text-align:center;color:var(--x-text);font-size:var(--x-font-size)}.x-picker-date-body{padding:.1375rem .5rem}.x-picker-date-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-date-body>table tr{display:flex;align-items:center;justify-content:center}.x-picker-date-body>table tr.x-date-week-active .x-picker-date-item,.x-picker-date-body>table tr.x-date-week-active .x-picker-date-item.x-date-now:not(.x-date-active):not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next) .x-date-text,.x-picker-date-body>table tr.x-date-week-start-active .x-picker-date-item,.x-picker-date-body>table tr.x-date-week-start-active .x-picker-date-item.x-date-now:not(.x-date-active):not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next) .x-date-text,.x-picker-date-body>table tr.x-date-week-end-active .x-picker-date-item,.x-picker-date-body>table tr.x-date-week-end-active .x-picker-date-item.x-date-now:not(.x-date-active):not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next) .x-date-text{background-color:var(--x-primary);color:var(--x-background-100)}.x-picker-date-body>table tbody tr{padding:.125rem 0}.x-picker-date-body>table th{flex:1;font-weight:400;height:2rem;line-height:2rem;color:var(--x-text-400);-webkit-user-select:none;user-select:none}.x-picker-date-body>table td{padding:.125rem 0;flex:1;-webkit-user-select:none;user-select:none}.x-picker-date-body>table td:first-child{border-top-left-radius:var(--x-border-radius);border-bottom-left-radius:var(--x-border-radius)}.x-picker-date-body>table td:last-child{border-top-right-radius:var(--x-border-radius);border-bottom-right-radius:var(--x-border-radius)}.x-picker-date-body .x-picker-date-item{text-align:center;cursor:pointer;color:var(--x-text-300);position:relative;transition:var(--x-animation-duration-base)}.x-picker-date-body .x-picker-date-item .x-date-text{width:1.75rem;height:1.625rem;display:flex;align-items:center;justify-content:center;margin:0 auto;border:var(--x-border-width) var(--x-border-style) transparent;border-radius:var(--x-border-radius);transition:var(--x-animation-duration-base);position:relative}.x-picker-date-body .x-picker-date-item:after,.x-picker-date-body .x-picker-date-item:before{height:1.625rem}.x-picker-date-body .x-picker-date-item:hover:not(.x-date-in-range) .x-date-text{background-color:var(--x-background-a200)}.x-picker-date-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next){color:var(--x-background-100)}.x-picker-date-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next) .x-date-text{background-color:var(--x-primary);border-color:var(--x-primary)}.x-picker-date-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover{color:var(--x-background-100)}.x-picker-date-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover .x-date-text{background-color:var(--x-primary)}.x-picker-date-body .x-picker-date-item.x-date-last-or-next{color:var(--x-text-700)}.x-picker-date-body .x-picker-date-item.x-date-now:not(.x-date-active):not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next) .x-date-text{color:var(--x-primary);border-color:var(--x-primary)}.x-picker-date-body .x-picker-date-item.x-date-range-hover:first-child:not(.x-date-last-or-next).x-date-range-hover-end:before,.x-picker-date-body .x-picker-date-item.x-date-range-hover.x-date-first-day.x-date-range-hover-end:before{width:1.75rem}.x-picker-date-body .x-picker-date-item.x-date-range-hover:last-child:not(.x-date-last-or-next).x-date-range-hover-start:before,.x-picker-date-body .x-picker-date-item.x-date-range-hover.x-date-last-day.x-date-range-hover-start:before{width:1.75rem}.x-picker-date-body .x-picker-date-item.x-date-range-hover.x-date-first-day:last-child:not(.x-date-last-or-next):before,.x-picker-date-body .x-picker-date-item.x-date-range-hover.x-date-last-day:first-child:not(.x-date-last-or-next):before{width:1.75rem}.x-picker-date-body .x-picker-date-item.x-date-disabled{cursor:default;background-color:var(--x-background-a200);color:var(--x-text-700)}.x-picker-date .x-visibility{visibility:hidden}\n"], dependencies: [{ kind: "pipe", type: DatePipe, name: "date" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: XLinkComponent, selector: "x-link" }, { kind: "pipe", type: XI18nPipe, name: "xI18n" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1134
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XPickerDateComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1135
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.4", type: XPickerDateComponent, isStandalone: true, selector: "x-picker-date", providers: [DatePipe, LowerCasePipe], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-picker-date\" [class.x-date-picker-datetemp]=\"dateTemp()\">\r\n @if (showHeader()) {\r\n <div class=\"x-picker-date-header\">\r\n <x-link icon=\"fto-chevrons-left\" (click)=\"nextYear(-1)\" [class.x-visibility]=\"!lastYearBtn()\"></x-link>\r\n <x-link icon=\"fto-chevron-left\" (click)=\"nextMonth(-1)\" [class.x-visibility]=\"!lastMonthBtn()\"></x-link>\r\n <div class=\"x-picker-date-year-month\">\r\n <x-link (click)=\"typeOnChange('year')\">{{ display() | date: 'yyyy' }}{{ locale().year }}</x-link>\r\n <x-link (click)=\"typeOnChange('month')\">{{ getLocaleMonth(display()) }}</x-link>\r\n </div>\r\n <x-link icon=\"fto-chevron-right\" (click)=\"nextMonth(1)\" [class.x-visibility]=\"!nextMonthBtn()\"></x-link>\r\n <x-link icon=\"fto-chevrons-right\" (click)=\"nextYear(1)\" [class.x-visibility]=\"!nextYearBtn()\"></x-link>\r\n </div>\r\n }\r\n <div class=\"x-picker-date-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n <thead>\r\n <tr>\r\n @for (title of titles(); track title) {\r\n <th>{{ title | xI18n }}</th>\r\n }\r\n </tr>\r\n </thead>\r\n <tbody>\r\n @for (weeks of weekDates(); track $index) {\r\n <tr\r\n [class.x-date-week-active]=\"!rangePicker() && isWeek() && isWeekActive(weeks)\"\r\n [class.x-date-week-start-active]=\"isWeekRange() && isStartWeek(weeks)\"\r\n [class.x-date-week-end-active]=\"isWeekRange() && isEndWeek(weeks)\"\r\n [class.x-date-week-in-range]=\"isWeekRange() && isInRangeWeek(weeks)\"\r\n >\r\n @for (week of weeks; track week.date) {\r\n <td\r\n class=\"x-picker-date-item\"\r\n [class.x-date-week]=\"week.type === 'week'\"\r\n [class.x-date-disabled]=\"week.isDisabled\"\r\n [class.x-date-last-or-next]=\"week.isLastOrNext\"\r\n [class.x-date-now]=\"week.isNow\"\r\n [class.x-date-first-day]=\"week.isFirstDay\"\r\n [class.x-date-last-day]=\"week.isLastDay\"\r\n [class.x-date-range-start]=\"isNotWeekRange() && isStartDate(week.date!)\"\r\n [class.x-date-range-end]=\"isNotWeekRange() && isEndDate(week.date!)\"\r\n [class.x-date-range-start-left]=\"isNotWeekRange() && week.isRangeStartLeft\"\r\n [class.x-date-range-start-right]=\"isNotWeekRange() && week.isRangeStartRight\"\r\n [class.x-date-range-end-left]=\"isNotWeekRange() && week.isRangeEndLeft\"\r\n [class.x-date-range-end-right]=\"isNotWeekRange() && week.isRangeEndRight\"\r\n [class.x-date-range-hover]=\"isNotWeekRange() && week.isRangeHover\"\r\n [class.x-date-range-hover-start-left]=\"isNotWeekRange() && week.isRangeHoverStartLeft\"\r\n [class.x-date-range-hover-start-right]=\"isNotWeekRange() && week.isRangeHoverStartRight\"\r\n [class.x-date-range-hover-end-left]=\"isNotWeekRange() && week.isRangeHoverEndLeft\"\r\n [class.x-date-range-hover-end-right]=\"isNotWeekRange() && week.isRangeHoverEndRight\"\r\n [class.x-date-range-hover-start]=\"isNotWeekRange() && week.isRangeHoverStart\"\r\n [class.x-date-range-hover-end]=\"isNotWeekRange() && week.isRangeHoverEnd\"\r\n [class.x-date-in-range]=\"isNotWeekRange() && week.isInRange\"\r\n [class.x-date-in-range-hover]=\"isNotWeekRange() && week.isInRangeHover\"\r\n [class.x-date-active]=\"\r\n !rangePicker() &&\r\n week.type !== 'week' &&\r\n (week.date | date: 'yyyyMMdd') === (model() | date: 'yyyyMMdd')\r\n \"\r\n [title]=\"week.date | date: 'yyyy-MM-dd'\"\r\n (click)=\"week.type !== 'week' && !week.isDisabled && dateClick(week)\"\r\n (mouseenter)=\"\r\n week.type !== 'week' && !week.isDisabled && rangePicker() && rangeHover() && onTdMouseenter(week)\r\n \"\r\n (mouseleave)=\"\r\n week.type !== 'week' && !week.isDisabled && rangePicker() && rangeHover() && onTdMouseleave(week)\r\n \"\r\n >\r\n @if (dateTemp()) {\r\n <ng-container *ngTemplateOutlet=\"dateTemp()!; context: { date$: week.date }\"></ng-container>\r\n } @else {\r\n <div class=\"x-date-text\">\r\n @switch (week.type) {\r\n @case ('week') {\r\n {{ week.week }}\r\n }\r\n @default {\r\n {{ week.date | date: 'd' }}\r\n }\r\n }\r\n </div>\r\n }\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </tbody>\r\n </table>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-picker-date{margin:0;padding:0}.x-picker-date-header{display:flex;align-items:center;justify-content:space-between;padding:0 .5rem;height:2.5rem;border-bottom:var(--x-border-width) solid var(--x-border);color:var(--x-text-500);font-size:var(--x-font-size-medium)}.x-picker-date-header x-link{height:100%;-webkit-user-select:none;user-select:none}.x-picker-date-header .x-link{padding:0 .25rem}.x-picker-date-year-month{flex:1;text-align:center;color:var(--x-text);font-size:var(--x-font-size)}.x-picker-date-body{padding:.1375rem .5rem}.x-picker-date-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-date-body>table tr{display:flex;align-items:center;justify-content:center}.x-picker-date-body>table tr.x-date-week-active .x-picker-date-item,.x-picker-date-body>table tr.x-date-week-active .x-picker-date-item.x-date-now:not(.x-date-active):not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next) .x-date-text,.x-picker-date-body>table tr.x-date-week-start-active .x-picker-date-item,.x-picker-date-body>table tr.x-date-week-start-active .x-picker-date-item.x-date-now:not(.x-date-active):not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next) .x-date-text,.x-picker-date-body>table tr.x-date-week-end-active .x-picker-date-item,.x-picker-date-body>table tr.x-date-week-end-active .x-picker-date-item.x-date-now:not(.x-date-active):not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next) .x-date-text{background-color:var(--x-primary);color:var(--x-background-100)}.x-picker-date-body>table tbody tr{padding:.125rem 0}.x-picker-date-body>table th{flex:1;font-weight:400;height:2rem;line-height:2rem;color:var(--x-text-400);-webkit-user-select:none;user-select:none}.x-picker-date-body>table td{padding:.125rem 0;flex:1;-webkit-user-select:none;user-select:none}.x-picker-date-body>table td:first-child{border-top-left-radius:var(--x-border-radius);border-bottom-left-radius:var(--x-border-radius)}.x-picker-date-body>table td:last-child{border-top-right-radius:var(--x-border-radius);border-bottom-right-radius:var(--x-border-radius)}.x-picker-date-body .x-picker-date-item{text-align:center;cursor:pointer;color:var(--x-text-300);position:relative;transition:var(--x-animation-duration-base)}.x-picker-date-body .x-picker-date-item .x-date-text{width:1.75rem;height:1.625rem;display:flex;align-items:center;justify-content:center;margin:0 auto;border:var(--x-border-width) var(--x-border-style) transparent;border-radius:var(--x-border-radius);transition:var(--x-animation-duration-base);position:relative}.x-picker-date-body .x-picker-date-item:after,.x-picker-date-body .x-picker-date-item:before{height:1.625rem}.x-picker-date-body .x-picker-date-item:hover:not(.x-date-in-range) .x-date-text{background-color:var(--x-background-a200)}.x-picker-date-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next){color:var(--x-background-100)}.x-picker-date-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next) .x-date-text{background-color:var(--x-primary);border-color:var(--x-primary)}.x-picker-date-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover{color:var(--x-background-100)}.x-picker-date-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover .x-date-text{background-color:var(--x-primary)}.x-picker-date-body .x-picker-date-item.x-date-last-or-next{color:var(--x-text-700)}.x-picker-date-body .x-picker-date-item.x-date-now:not(.x-date-active):not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next) .x-date-text{color:var(--x-primary);border-color:var(--x-primary)}.x-picker-date-body .x-picker-date-item.x-date-range-hover:first-child:not(.x-date-last-or-next).x-date-range-hover-end:before,.x-picker-date-body .x-picker-date-item.x-date-range-hover.x-date-first-day.x-date-range-hover-end:before{width:1.75rem}.x-picker-date-body .x-picker-date-item.x-date-range-hover:last-child:not(.x-date-last-or-next).x-date-range-hover-start:before,.x-picker-date-body .x-picker-date-item.x-date-range-hover.x-date-last-day.x-date-range-hover-start:before{width:1.75rem}.x-picker-date-body .x-picker-date-item.x-date-range-hover.x-date-first-day:last-child:not(.x-date-last-or-next):before,.x-picker-date-body .x-picker-date-item.x-date-range-hover.x-date-last-day:first-child:not(.x-date-last-or-next):before{width:1.75rem}.x-picker-date-body .x-picker-date-item.x-date-disabled{cursor:default;background-color:var(--x-background-a300);color:var(--x-text-700)}.x-picker-date .x-visibility{visibility:hidden}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: XLinkComponent, selector: "x-link" }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "pipe", type: XI18nPipe, name: "xI18n" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1106
1136
  }
1107
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XPickerDateComponent, decorators: [{
1137
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XPickerDateComponent, decorators: [{
1108
1138
  type: Component,
1109
- args: [{ selector: `${XPickerDatePrefix}`, imports: [DatePipe, NgTemplateOutlet, XLinkComponent, XI18nPipe], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [DatePipe, LowerCasePipe], template: "<div class=\"x-picker-date\" [class.x-date-picker-datetemp]=\"dateTemp()\">\r\n @if (showHeader()) {\r\n <div class=\"x-picker-date-header\">\r\n <x-link icon=\"fto-chevrons-left\" (click)=\"nextYear(-1)\" [class.x-visibility]=\"!lastYearBtn()\"></x-link>\r\n <x-link icon=\"fto-chevron-left\" (click)=\"nextMonth(-1)\" [class.x-visibility]=\"!lastMonthBtn()\"></x-link>\r\n <div class=\"x-picker-date-year-month\">\r\n <x-link (click)=\"typeOnChange('year')\">{{ display() | date: 'yyyy' }}{{ locale().year }}</x-link>\r\n <x-link (click)=\"typeOnChange('month')\">{{ getLocaleMonth(display()) }}</x-link>\r\n </div>\r\n <x-link icon=\"fto-chevron-right\" (click)=\"nextMonth(1)\" [class.x-visibility]=\"!nextMonthBtn()\"></x-link>\r\n <x-link icon=\"fto-chevrons-right\" (click)=\"nextYear(1)\" [class.x-visibility]=\"!nextYearBtn()\"></x-link>\r\n </div>\r\n }\r\n <div class=\"x-picker-date-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n <thead>\r\n <tr>\r\n @for (title of titles(); track title) {\r\n <th>{{ title | xI18n }}</th>\r\n }\r\n </tr>\r\n </thead>\r\n <tbody>\r\n @for (weeks of weekDates(); track $index) {\r\n <tr\r\n [class.x-date-week-active]=\"!rangePicker() && isWeek() && isWeekActive(weeks)\"\r\n [class.x-date-week-start-active]=\"isWeekRange() && isStartWeek(weeks)\"\r\n [class.x-date-week-end-active]=\"isWeekRange() && isEndWeek(weeks)\"\r\n [class.x-date-week-in-range]=\"isWeekRange() && isInRangeWeek(weeks)\"\r\n >\r\n @for (week of weeks; track week.date) {\r\n <td\r\n class=\"x-picker-date-item\"\r\n [class.x-date-week]=\"week.type === 'week'\"\r\n [class.x-date-disabled]=\"week.isDisabled\"\r\n [class.x-date-last-or-next]=\"week.isLastOrNext\"\r\n [class.x-date-now]=\"week.isNow\"\r\n [class.x-date-first-day]=\"week.isFirstDay\"\r\n [class.x-date-last-day]=\"week.isLastDay\"\r\n [class.x-date-range-start]=\"isNotWeekRange() && isStartDate(week.date!)\"\r\n [class.x-date-range-end]=\"isNotWeekRange() && isEndDate(week.date!)\"\r\n [class.x-date-range-start-left]=\"isNotWeekRange() && week.isRangeStartLeft\"\r\n [class.x-date-range-start-right]=\"isNotWeekRange() && week.isRangeStartRight\"\r\n [class.x-date-range-end-left]=\"isNotWeekRange() && week.isRangeEndLeft\"\r\n [class.x-date-range-end-right]=\"isNotWeekRange() && week.isRangeEndRight\"\r\n [class.x-date-range-hover]=\"isNotWeekRange() && week.isRangeHover\"\r\n [class.x-date-range-hover-start-left]=\"isNotWeekRange() && week.isRangeHoverStartLeft\"\r\n [class.x-date-range-hover-start-right]=\"isNotWeekRange() && week.isRangeHoverStartRight\"\r\n [class.x-date-range-hover-end-left]=\"isNotWeekRange() && week.isRangeHoverEndLeft\"\r\n [class.x-date-range-hover-end-right]=\"isNotWeekRange() && week.isRangeHoverEndRight\"\r\n [class.x-date-range-hover-start]=\"isNotWeekRange() && week.isRangeHoverStart\"\r\n [class.x-date-range-hover-end]=\"isNotWeekRange() && week.isRangeHoverEnd\"\r\n [class.x-date-in-range]=\"isNotWeekRange() && week.isInRange\"\r\n [class.x-date-in-range-hover]=\"isNotWeekRange() && week.isInRangeHover\"\r\n [class.x-date-active]=\"\r\n !rangePicker() &&\r\n week.type !== 'week' &&\r\n (week.date | date: 'yyyyMMdd') === (model() | date: 'yyyyMMdd')\r\n \"\r\n [title]=\"week.date | date: 'yyyy-MM-dd'\"\r\n (click)=\"week.type !== 'week' && !week.isDisabled && dateClick(week)\"\r\n (mouseenter)=\"\r\n week.type !== 'week' && !week.isDisabled && rangePicker() && rangeHover() && onTdMouseenter(week)\r\n \"\r\n (mouseleave)=\"\r\n week.type !== 'week' && !week.isDisabled && rangePicker() && rangeHover() && onTdMouseleave(week)\r\n \"\r\n >\r\n @if (dateTemp()) {\r\n <ng-container *ngTemplateOutlet=\"dateTemp()!; context: { date$: week.date }\"></ng-container>\r\n } @else {\r\n <div class=\"x-date-text\">\r\n @switch (week.type) {\r\n @case ('week') {\r\n {{ week.week }}\r\n }\r\n @default {\r\n {{ week.date | date: 'd' }}\r\n }\r\n }\r\n </div>\r\n }\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </tbody>\r\n </table>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-picker-date{margin:0;padding:0}.x-picker-date-header{display:flex;align-items:center;justify-content:space-between;padding:0 .5rem;height:2.5rem;border-bottom:var(--x-border-width) solid var(--x-border);color:var(--x-text-500);font-size:var(--x-font-size-medium)}.x-picker-date-header x-link{height:100%;-webkit-user-select:none;user-select:none}.x-picker-date-header .x-link{padding:0 .25rem}.x-picker-date-year-month{flex:1;text-align:center;color:var(--x-text);font-size:var(--x-font-size)}.x-picker-date-body{padding:.1375rem .5rem}.x-picker-date-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-date-body>table tr{display:flex;align-items:center;justify-content:center}.x-picker-date-body>table tr.x-date-week-active .x-picker-date-item,.x-picker-date-body>table tr.x-date-week-active .x-picker-date-item.x-date-now:not(.x-date-active):not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next) .x-date-text,.x-picker-date-body>table tr.x-date-week-start-active .x-picker-date-item,.x-picker-date-body>table tr.x-date-week-start-active .x-picker-date-item.x-date-now:not(.x-date-active):not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next) .x-date-text,.x-picker-date-body>table tr.x-date-week-end-active .x-picker-date-item,.x-picker-date-body>table tr.x-date-week-end-active .x-picker-date-item.x-date-now:not(.x-date-active):not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next) .x-date-text{background-color:var(--x-primary);color:var(--x-background-100)}.x-picker-date-body>table tbody tr{padding:.125rem 0}.x-picker-date-body>table th{flex:1;font-weight:400;height:2rem;line-height:2rem;color:var(--x-text-400);-webkit-user-select:none;user-select:none}.x-picker-date-body>table td{padding:.125rem 0;flex:1;-webkit-user-select:none;user-select:none}.x-picker-date-body>table td:first-child{border-top-left-radius:var(--x-border-radius);border-bottom-left-radius:var(--x-border-radius)}.x-picker-date-body>table td:last-child{border-top-right-radius:var(--x-border-radius);border-bottom-right-radius:var(--x-border-radius)}.x-picker-date-body .x-picker-date-item{text-align:center;cursor:pointer;color:var(--x-text-300);position:relative;transition:var(--x-animation-duration-base)}.x-picker-date-body .x-picker-date-item .x-date-text{width:1.75rem;height:1.625rem;display:flex;align-items:center;justify-content:center;margin:0 auto;border:var(--x-border-width) var(--x-border-style) transparent;border-radius:var(--x-border-radius);transition:var(--x-animation-duration-base);position:relative}.x-picker-date-body .x-picker-date-item:after,.x-picker-date-body .x-picker-date-item:before{height:1.625rem}.x-picker-date-body .x-picker-date-item:hover:not(.x-date-in-range) .x-date-text{background-color:var(--x-background-a200)}.x-picker-date-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next){color:var(--x-background-100)}.x-picker-date-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next) .x-date-text{background-color:var(--x-primary);border-color:var(--x-primary)}.x-picker-date-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover{color:var(--x-background-100)}.x-picker-date-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover .x-date-text{background-color:var(--x-primary)}.x-picker-date-body .x-picker-date-item.x-date-last-or-next{color:var(--x-text-700)}.x-picker-date-body .x-picker-date-item.x-date-now:not(.x-date-active):not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next) .x-date-text{color:var(--x-primary);border-color:var(--x-primary)}.x-picker-date-body .x-picker-date-item.x-date-range-hover:first-child:not(.x-date-last-or-next).x-date-range-hover-end:before,.x-picker-date-body .x-picker-date-item.x-date-range-hover.x-date-first-day.x-date-range-hover-end:before{width:1.75rem}.x-picker-date-body .x-picker-date-item.x-date-range-hover:last-child:not(.x-date-last-or-next).x-date-range-hover-start:before,.x-picker-date-body .x-picker-date-item.x-date-range-hover.x-date-last-day.x-date-range-hover-start:before{width:1.75rem}.x-picker-date-body .x-picker-date-item.x-date-range-hover.x-date-first-day:last-child:not(.x-date-last-or-next):before,.x-picker-date-body .x-picker-date-item.x-date-range-hover.x-date-last-day:first-child:not(.x-date-last-or-next):before{width:1.75rem}.x-picker-date-body .x-picker-date-item.x-date-disabled{cursor:default;background-color:var(--x-background-a200);color:var(--x-text-700)}.x-picker-date .x-visibility{visibility:hidden}\n"] }]
1139
+ args: [{ selector: `${XPickerDatePrefix}`, imports: [DatePipe, NgTemplateOutlet, XLinkComponent, XI18nPipe], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [DatePipe, LowerCasePipe], template: "<div class=\"x-picker-date\" [class.x-date-picker-datetemp]=\"dateTemp()\">\r\n @if (showHeader()) {\r\n <div class=\"x-picker-date-header\">\r\n <x-link icon=\"fto-chevrons-left\" (click)=\"nextYear(-1)\" [class.x-visibility]=\"!lastYearBtn()\"></x-link>\r\n <x-link icon=\"fto-chevron-left\" (click)=\"nextMonth(-1)\" [class.x-visibility]=\"!lastMonthBtn()\"></x-link>\r\n <div class=\"x-picker-date-year-month\">\r\n <x-link (click)=\"typeOnChange('year')\">{{ display() | date: 'yyyy' }}{{ locale().year }}</x-link>\r\n <x-link (click)=\"typeOnChange('month')\">{{ getLocaleMonth(display()) }}</x-link>\r\n </div>\r\n <x-link icon=\"fto-chevron-right\" (click)=\"nextMonth(1)\" [class.x-visibility]=\"!nextMonthBtn()\"></x-link>\r\n <x-link icon=\"fto-chevrons-right\" (click)=\"nextYear(1)\" [class.x-visibility]=\"!nextYearBtn()\"></x-link>\r\n </div>\r\n }\r\n <div class=\"x-picker-date-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n <thead>\r\n <tr>\r\n @for (title of titles(); track title) {\r\n <th>{{ title | xI18n }}</th>\r\n }\r\n </tr>\r\n </thead>\r\n <tbody>\r\n @for (weeks of weekDates(); track $index) {\r\n <tr\r\n [class.x-date-week-active]=\"!rangePicker() && isWeek() && isWeekActive(weeks)\"\r\n [class.x-date-week-start-active]=\"isWeekRange() && isStartWeek(weeks)\"\r\n [class.x-date-week-end-active]=\"isWeekRange() && isEndWeek(weeks)\"\r\n [class.x-date-week-in-range]=\"isWeekRange() && isInRangeWeek(weeks)\"\r\n >\r\n @for (week of weeks; track week.date) {\r\n <td\r\n class=\"x-picker-date-item\"\r\n [class.x-date-week]=\"week.type === 'week'\"\r\n [class.x-date-disabled]=\"week.isDisabled\"\r\n [class.x-date-last-or-next]=\"week.isLastOrNext\"\r\n [class.x-date-now]=\"week.isNow\"\r\n [class.x-date-first-day]=\"week.isFirstDay\"\r\n [class.x-date-last-day]=\"week.isLastDay\"\r\n [class.x-date-range-start]=\"isNotWeekRange() && isStartDate(week.date!)\"\r\n [class.x-date-range-end]=\"isNotWeekRange() && isEndDate(week.date!)\"\r\n [class.x-date-range-start-left]=\"isNotWeekRange() && week.isRangeStartLeft\"\r\n [class.x-date-range-start-right]=\"isNotWeekRange() && week.isRangeStartRight\"\r\n [class.x-date-range-end-left]=\"isNotWeekRange() && week.isRangeEndLeft\"\r\n [class.x-date-range-end-right]=\"isNotWeekRange() && week.isRangeEndRight\"\r\n [class.x-date-range-hover]=\"isNotWeekRange() && week.isRangeHover\"\r\n [class.x-date-range-hover-start-left]=\"isNotWeekRange() && week.isRangeHoverStartLeft\"\r\n [class.x-date-range-hover-start-right]=\"isNotWeekRange() && week.isRangeHoverStartRight\"\r\n [class.x-date-range-hover-end-left]=\"isNotWeekRange() && week.isRangeHoverEndLeft\"\r\n [class.x-date-range-hover-end-right]=\"isNotWeekRange() && week.isRangeHoverEndRight\"\r\n [class.x-date-range-hover-start]=\"isNotWeekRange() && week.isRangeHoverStart\"\r\n [class.x-date-range-hover-end]=\"isNotWeekRange() && week.isRangeHoverEnd\"\r\n [class.x-date-in-range]=\"isNotWeekRange() && week.isInRange\"\r\n [class.x-date-in-range-hover]=\"isNotWeekRange() && week.isInRangeHover\"\r\n [class.x-date-active]=\"\r\n !rangePicker() &&\r\n week.type !== 'week' &&\r\n (week.date | date: 'yyyyMMdd') === (model() | date: 'yyyyMMdd')\r\n \"\r\n [title]=\"week.date | date: 'yyyy-MM-dd'\"\r\n (click)=\"week.type !== 'week' && !week.isDisabled && dateClick(week)\"\r\n (mouseenter)=\"\r\n week.type !== 'week' && !week.isDisabled && rangePicker() && rangeHover() && onTdMouseenter(week)\r\n \"\r\n (mouseleave)=\"\r\n week.type !== 'week' && !week.isDisabled && rangePicker() && rangeHover() && onTdMouseleave(week)\r\n \"\r\n >\r\n @if (dateTemp()) {\r\n <ng-container *ngTemplateOutlet=\"dateTemp()!; context: { date$: week.date }\"></ng-container>\r\n } @else {\r\n <div class=\"x-date-text\">\r\n @switch (week.type) {\r\n @case ('week') {\r\n {{ week.week }}\r\n }\r\n @default {\r\n {{ week.date | date: 'd' }}\r\n }\r\n }\r\n </div>\r\n }\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </tbody>\r\n </table>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-picker-date{margin:0;padding:0}.x-picker-date-header{display:flex;align-items:center;justify-content:space-between;padding:0 .5rem;height:2.5rem;border-bottom:var(--x-border-width) solid var(--x-border);color:var(--x-text-500);font-size:var(--x-font-size-medium)}.x-picker-date-header x-link{height:100%;-webkit-user-select:none;user-select:none}.x-picker-date-header .x-link{padding:0 .25rem}.x-picker-date-year-month{flex:1;text-align:center;color:var(--x-text);font-size:var(--x-font-size)}.x-picker-date-body{padding:.1375rem .5rem}.x-picker-date-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-date-body>table tr{display:flex;align-items:center;justify-content:center}.x-picker-date-body>table tr.x-date-week-active .x-picker-date-item,.x-picker-date-body>table tr.x-date-week-active .x-picker-date-item.x-date-now:not(.x-date-active):not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next) .x-date-text,.x-picker-date-body>table tr.x-date-week-start-active .x-picker-date-item,.x-picker-date-body>table tr.x-date-week-start-active .x-picker-date-item.x-date-now:not(.x-date-active):not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next) .x-date-text,.x-picker-date-body>table tr.x-date-week-end-active .x-picker-date-item,.x-picker-date-body>table tr.x-date-week-end-active .x-picker-date-item.x-date-now:not(.x-date-active):not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next) .x-date-text{background-color:var(--x-primary);color:var(--x-background-100)}.x-picker-date-body>table tbody tr{padding:.125rem 0}.x-picker-date-body>table th{flex:1;font-weight:400;height:2rem;line-height:2rem;color:var(--x-text-400);-webkit-user-select:none;user-select:none}.x-picker-date-body>table td{padding:.125rem 0;flex:1;-webkit-user-select:none;user-select:none}.x-picker-date-body>table td:first-child{border-top-left-radius:var(--x-border-radius);border-bottom-left-radius:var(--x-border-radius)}.x-picker-date-body>table td:last-child{border-top-right-radius:var(--x-border-radius);border-bottom-right-radius:var(--x-border-radius)}.x-picker-date-body .x-picker-date-item{text-align:center;cursor:pointer;color:var(--x-text-300);position:relative;transition:var(--x-animation-duration-base)}.x-picker-date-body .x-picker-date-item .x-date-text{width:1.75rem;height:1.625rem;display:flex;align-items:center;justify-content:center;margin:0 auto;border:var(--x-border-width) var(--x-border-style) transparent;border-radius:var(--x-border-radius);transition:var(--x-animation-duration-base);position:relative}.x-picker-date-body .x-picker-date-item:after,.x-picker-date-body .x-picker-date-item:before{height:1.625rem}.x-picker-date-body .x-picker-date-item:hover:not(.x-date-in-range) .x-date-text{background-color:var(--x-background-a200)}.x-picker-date-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next){color:var(--x-background-100)}.x-picker-date-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next) .x-date-text{background-color:var(--x-primary);border-color:var(--x-primary)}.x-picker-date-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover{color:var(--x-background-100)}.x-picker-date-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover .x-date-text{background-color:var(--x-primary)}.x-picker-date-body .x-picker-date-item.x-date-last-or-next{color:var(--x-text-700)}.x-picker-date-body .x-picker-date-item.x-date-now:not(.x-date-active):not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next) .x-date-text{color:var(--x-primary);border-color:var(--x-primary)}.x-picker-date-body .x-picker-date-item.x-date-range-hover:first-child:not(.x-date-last-or-next).x-date-range-hover-end:before,.x-picker-date-body .x-picker-date-item.x-date-range-hover.x-date-first-day.x-date-range-hover-end:before{width:1.75rem}.x-picker-date-body .x-picker-date-item.x-date-range-hover:last-child:not(.x-date-last-or-next).x-date-range-hover-start:before,.x-picker-date-body .x-picker-date-item.x-date-range-hover.x-date-last-day.x-date-range-hover-start:before{width:1.75rem}.x-picker-date-body .x-picker-date-item.x-date-range-hover.x-date-first-day:last-child:not(.x-date-last-or-next):before,.x-picker-date-body .x-picker-date-item.x-date-range-hover.x-date-last-day:first-child:not(.x-date-last-or-next):before{width:1.75rem}.x-picker-date-body .x-picker-date-item.x-date-disabled{cursor:default;background-color:var(--x-background-a300);color:var(--x-text-700)}.x-picker-date .x-visibility{visibility:hidden}\n"] }]
1110
1140
  }] });
1111
1141
 
1112
1142
  class XPickerMonthComponent extends XPickerMonthProperty {
@@ -1117,8 +1147,8 @@ class XPickerMonthComponent extends XPickerMonthProperty {
1117
1147
  this.i18n = inject(XI18nService);
1118
1148
  this.cdr = inject(ChangeDetectorRef);
1119
1149
  this.now = new Date();
1120
- this.dates = signal([]);
1121
- this.chunkDates = signal([]);
1150
+ this.dates = signal([], ...(ngDevMode ? [{ debugName: "dates" }] : []));
1151
+ this.chunkDates = signal([], ...(ngDevMode ? [{ debugName: "chunkDates" }] : []));
1122
1152
  this.locale = toSignal(this.i18n.localeChange.pipe(map((x) => x.datePicker)), {
1123
1153
  initialValue: zh_CN.datePicker
1124
1154
  });
@@ -1127,13 +1157,13 @@ class XPickerMonthComponent extends XPickerMonthProperty {
1127
1157
  return this.rangeValue()[0];
1128
1158
  }
1129
1159
  return '';
1130
- });
1160
+ }, ...(ngDevMode ? [{ debugName: "rangeStart" }] : []));
1131
1161
  this.rangeEnd = computed(() => {
1132
1162
  if (this.rangeValue() && this.rangeValue().length > 1) {
1133
1163
  return this.rangeValue()[1];
1134
1164
  }
1135
1165
  return '';
1136
- });
1166
+ }, ...(ngDevMode ? [{ debugName: "rangeEnd" }] : []));
1137
1167
  }
1138
1168
  isDisabled(date) {
1139
1169
  const disabledDate = this.disabledDate();
@@ -1324,12 +1354,12 @@ class XPickerMonthComponent extends XPickerMonthProperty {
1324
1354
  typeOnChange(type) {
1325
1355
  this.type.set(type);
1326
1356
  }
1327
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XPickerMonthComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1328
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.0", type: XPickerMonthComponent, isStandalone: true, selector: "x-picker-month", providers: [DatePipe, LowerCasePipe], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-picker-month\" [class.x-date-picker-monthtemp]=\"monthTemp()\">\r\n @if (showHeader()) {\r\n <div class=\"x-picker-month-header\">\r\n <x-link [class.x-visibility]=\"!lastYearBtn\" icon=\"fto-chevrons-left\" (click)=\"nextYear(-1)\"></x-link>\r\n <div class=\"x-picker-month-year-month\">\r\n <x-link (click)=\"typeOnChange('year')\">{{ display() | date: 'yyyy' }}{{ locale().year }}</x-link>\r\n </div>\r\n <x-link [class.x-visibility]=\"!nextYearBtn()\" icon=\"fto-chevrons-right\" (click)=\"nextYear(1)\"></x-link>\r\n </div>\r\n }\r\n <div class=\"x-picker-month-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n @for (months of chunkDates(); track $index) {\r\n <tr>\r\n @for (month of months; track month.date) {\r\n <td\r\n class=\"x-picker-date-item\"\r\n [class.x-date-disabled]=\"month.isDisabled\"\r\n [class.x-date-last-or-next]=\"month.isLastOrNext\"\r\n [class.x-date-now]=\"month.isNow\"\r\n [class.x-date-first-day]=\"month.isFirstDay\"\r\n [class.x-date-last-day]=\"month.isLastDay\"\r\n [class.x-date-range-start]=\"rangePicker() && isStartMonth(month.date!)\"\r\n [class.x-date-range-end]=\"rangePicker() && isEndMonth(month.date!)\"\r\n [class.x-date-range-start-left]=\"rangePicker() && month.isRangeStartLeft\"\r\n [class.x-date-range-start-right]=\"rangePicker() && month.isRangeStartRight\"\r\n [class.x-date-range-end-left]=\"rangePicker() && month.isRangeEndLeft\"\r\n [class.x-date-range-end-right]=\"rangePicker() && month.isRangeEndRight\"\r\n [class.x-date-range-hover]=\"rangePicker() && month.isRangeHover\"\r\n [class.x-date-range-hover-start-left]=\"rangePicker() && month.isRangeHoverStartLeft\"\r\n [class.x-date-range-hover-start-right]=\"rangePicker() && month.isRangeHoverStartRight\"\r\n [class.x-date-range-hover-end-left]=\"rangePicker() && month.isRangeHoverEndLeft\"\r\n [class.x-date-range-hover-end-right]=\"rangePicker() && month.isRangeHoverEndRight\"\r\n [class.x-date-range-hover-start]=\"rangePicker() && month.isRangeHoverStart\"\r\n [class.x-date-range-hover-end]=\"rangePicker() && month.isRangeHoverEnd\"\r\n [class.x-date-in-range]=\"rangePicker() && month.isInRange\"\r\n [class.x-date-in-range-hover]=\"rangePicker() && month.isInRangeHover\"\r\n [class.x-date-active]=\"!rangePicker() && (month.date | date: 'yyyyMM') === (model() | date: 'yyyyMM')\"\r\n [title]=\"month.date | date: 'yyyy-MM'\"\r\n (click)=\"!month.isDisabled && monthClick(month)\"\r\n (mouseenter)=\"!month.isDisabled && rangePicker() && onTdMouseenter(month)\"\r\n (mouseleave)=\"!month.isDisabled && rangePicker() && onTdMouseleave(month)\"\r\n >\r\n @if (monthTemp()) {\r\n <ng-container *ngTemplateOutlet=\"monthTemp()!; context: { date$: month.date }\"></ng-container>\r\n } @else {\r\n <div class=\"x-date-text\">\r\n {{ getLocaleMonth(month.date!) }}\r\n </div>\r\n }\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </table>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-picker-month{margin:0;padding:0}.x-picker-month-header{display:flex;align-items:center;justify-content:space-between;padding:0 .5rem;height:2.5rem;border-bottom:var(--x-border-width) solid var(--x-border);color:var(--x-text-500);font-size:var(--x-font-size-medium)}.x-picker-month-header x-link{height:100%;-webkit-user-select:none;user-select:none}.x-picker-month-header .x-link{padding:0 .25rem}.x-picker-month-year-month{flex:1;text-align:center;color:var(--x-text);font-size:var(--x-font-size)}.x-picker-month-body{padding:.1375rem .5rem}.x-picker-month-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-month-body>table tr{padding:.125rem 0;display:flex;align-items:center;justify-content:center}.x-picker-month-body>table td{flex:1;padding:.125rem 0;-webkit-user-select:none;user-select:none}.x-picker-month-body .x-picker-date-item{text-align:center;cursor:pointer;color:var(--x-text-300);position:relative}.x-picker-month-body .x-picker-date-item .x-date-text{width:3.5rem;height:3.25rem;display:flex;align-items:center;justify-content:center;margin:0 auto;border:var(--x-border-width) var(--x-border-style) transparent;border-radius:var(--x-border-radius);transition:var(--x-animation-duration-base);position:relative}.x-picker-month-body .x-picker-date-item:after,.x-picker-month-body .x-picker-date-item:before{height:3.25rem}.x-picker-month-body .x-picker-date-item:hover:not(.x-date-in-range) .x-date-text{background-color:var(--x-background-a200)}.x-picker-month-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next){color:var(--x-background-100)}.x-picker-month-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next) .x-date-text{background-color:var(--x-primary);border-color:var(--x-primary)}.x-picker-month-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover{color:var(--x-background-100)}.x-picker-month-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover .x-date-text{background-color:var(--x-primary)}.x-picker-month-body .x-picker-date-item.x-date-last-or-next{color:var(--x-text-700)}.x-picker-month-body .x-picker-date-item.x-date-now:not(.x-date-active):not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next) .x-date-text{color:var(--x-primary);border-color:var(--x-primary)}.x-picker-month-body .x-picker-date-item.x-date-range-hover:first-child:not(.x-date-last-or-next).x-date-range-hover-end:before,.x-picker-month-body .x-picker-date-item.x-date-range-hover.x-date-first-day.x-date-range-hover-end:before{width:3.5rem}.x-picker-month-body .x-picker-date-item.x-date-range-hover:last-child:not(.x-date-last-or-next).x-date-range-hover-start:before,.x-picker-month-body .x-picker-date-item.x-date-range-hover.x-date-last-day.x-date-range-hover-start:before{width:3.5rem}.x-picker-month-body .x-picker-date-item.x-date-range-hover.x-date-first-day:last-child:not(.x-date-last-or-next):before,.x-picker-month-body .x-picker-date-item.x-date-range-hover.x-date-last-day:first-child:not(.x-date-last-or-next):before{width:3.5rem}.x-picker-month-body .x-picker-date-item.x-date-disabled{cursor:default;background-color:var(--x-background-a200);color:var(--x-text-700)}.x-picker-month .x-visibility{visibility:hidden}\n"], dependencies: [{ kind: "pipe", type: DatePipe, name: "date" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: XLinkComponent, selector: "x-link" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1357
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XPickerMonthComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1358
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.4", type: XPickerMonthComponent, isStandalone: true, selector: "x-picker-month", providers: [DatePipe, LowerCasePipe], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-picker-month\" [class.x-date-picker-monthtemp]=\"monthTemp()\">\r\n @if (showHeader()) {\r\n <div class=\"x-picker-month-header\">\r\n <x-link [class.x-visibility]=\"!lastYearBtn()\" icon=\"fto-chevrons-left\" (click)=\"nextYear(-1)\"></x-link>\r\n <div class=\"x-picker-month-year-month\">\r\n <x-link (click)=\"typeOnChange('year')\">{{ display() | date: 'yyyy' }}{{ locale().year }}</x-link>\r\n </div>\r\n <x-link [class.x-visibility]=\"!nextYearBtn()\" icon=\"fto-chevrons-right\" (click)=\"nextYear(1)\"></x-link>\r\n </div>\r\n }\r\n <div class=\"x-picker-month-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n @for (months of chunkDates(); track $index) {\r\n <tr>\r\n @for (month of months; track month.date) {\r\n <td\r\n class=\"x-picker-date-item\"\r\n [class.x-date-disabled]=\"month.isDisabled\"\r\n [class.x-date-last-or-next]=\"month.isLastOrNext\"\r\n [class.x-date-now]=\"month.isNow\"\r\n [class.x-date-first-day]=\"month.isFirstDay\"\r\n [class.x-date-last-day]=\"month.isLastDay\"\r\n [class.x-date-range-start]=\"rangePicker() && isStartMonth(month.date!)\"\r\n [class.x-date-range-end]=\"rangePicker() && isEndMonth(month.date!)\"\r\n [class.x-date-range-start-left]=\"rangePicker() && month.isRangeStartLeft\"\r\n [class.x-date-range-start-right]=\"rangePicker() && month.isRangeStartRight\"\r\n [class.x-date-range-end-left]=\"rangePicker() && month.isRangeEndLeft\"\r\n [class.x-date-range-end-right]=\"rangePicker() && month.isRangeEndRight\"\r\n [class.x-date-range-hover]=\"rangePicker() && month.isRangeHover\"\r\n [class.x-date-range-hover-start-left]=\"rangePicker() && month.isRangeHoverStartLeft\"\r\n [class.x-date-range-hover-start-right]=\"rangePicker() && month.isRangeHoverStartRight\"\r\n [class.x-date-range-hover-end-left]=\"rangePicker() && month.isRangeHoverEndLeft\"\r\n [class.x-date-range-hover-end-right]=\"rangePicker() && month.isRangeHoverEndRight\"\r\n [class.x-date-range-hover-start]=\"rangePicker() && month.isRangeHoverStart\"\r\n [class.x-date-range-hover-end]=\"rangePicker() && month.isRangeHoverEnd\"\r\n [class.x-date-in-range]=\"rangePicker() && month.isInRange\"\r\n [class.x-date-in-range-hover]=\"rangePicker() && month.isInRangeHover\"\r\n [class.x-date-active]=\"!rangePicker() && (month.date | date: 'yyyyMM') === (model() | date: 'yyyyMM')\"\r\n [title]=\"month.date | date: 'yyyy-MM'\"\r\n (click)=\"!month.isDisabled && monthClick(month)\"\r\n (mouseenter)=\"!month.isDisabled && rangePicker() && onTdMouseenter(month)\"\r\n (mouseleave)=\"!month.isDisabled && rangePicker() && onTdMouseleave(month)\"\r\n >\r\n @if (monthTemp()) {\r\n <ng-container *ngTemplateOutlet=\"monthTemp()!; context: { date$: month.date }\"></ng-container>\r\n } @else {\r\n <div class=\"x-date-text\">\r\n {{ getLocaleMonth(month.date!) }}\r\n </div>\r\n }\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </table>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-picker-month{margin:0;padding:0}.x-picker-month-header{display:flex;align-items:center;justify-content:space-between;padding:0 .5rem;height:2.5rem;border-bottom:var(--x-border-width) solid var(--x-border);color:var(--x-text-500);font-size:var(--x-font-size-medium)}.x-picker-month-header x-link{height:100%;-webkit-user-select:none;user-select:none}.x-picker-month-header .x-link{padding:0 .25rem}.x-picker-month-year-month{flex:1;text-align:center;color:var(--x-text);font-size:var(--x-font-size)}.x-picker-month-body{padding:.1375rem .5rem}.x-picker-month-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-month-body>table tr{padding:.125rem 0;display:flex;align-items:center;justify-content:center}.x-picker-month-body>table td{flex:1;padding:.125rem 0;-webkit-user-select:none;user-select:none}.x-picker-month-body .x-picker-date-item{text-align:center;cursor:pointer;color:var(--x-text-300);position:relative}.x-picker-month-body .x-picker-date-item .x-date-text{width:3.5rem;height:3.25rem;display:flex;align-items:center;justify-content:center;margin:0 auto;border:var(--x-border-width) var(--x-border-style) transparent;border-radius:var(--x-border-radius);transition:var(--x-animation-duration-base);position:relative}.x-picker-month-body .x-picker-date-item:after,.x-picker-month-body .x-picker-date-item:before{height:3.25rem}.x-picker-month-body .x-picker-date-item:hover:not(.x-date-in-range) .x-date-text{background-color:var(--x-background-a200)}.x-picker-month-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next){color:var(--x-background-100)}.x-picker-month-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next) .x-date-text{background-color:var(--x-primary);border-color:var(--x-primary)}.x-picker-month-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover{color:var(--x-background-100)}.x-picker-month-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover .x-date-text{background-color:var(--x-primary)}.x-picker-month-body .x-picker-date-item.x-date-last-or-next{color:var(--x-text-700)}.x-picker-month-body .x-picker-date-item.x-date-now:not(.x-date-active):not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next) .x-date-text{color:var(--x-primary);border-color:var(--x-primary)}.x-picker-month-body .x-picker-date-item.x-date-range-hover:first-child:not(.x-date-last-or-next).x-date-range-hover-end:before,.x-picker-month-body .x-picker-date-item.x-date-range-hover.x-date-first-day.x-date-range-hover-end:before{width:3.5rem}.x-picker-month-body .x-picker-date-item.x-date-range-hover:last-child:not(.x-date-last-or-next).x-date-range-hover-start:before,.x-picker-month-body .x-picker-date-item.x-date-range-hover.x-date-last-day.x-date-range-hover-start:before{width:3.5rem}.x-picker-month-body .x-picker-date-item.x-date-range-hover.x-date-first-day:last-child:not(.x-date-last-or-next):before,.x-picker-month-body .x-picker-date-item.x-date-range-hover.x-date-last-day:first-child:not(.x-date-last-or-next):before{width:3.5rem}.x-picker-month-body .x-picker-date-item.x-date-disabled{cursor:default;background-color:var(--x-background-a300);color:var(--x-text-700)}.x-picker-month .x-visibility{visibility:hidden}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: XLinkComponent, selector: "x-link" }, { kind: "pipe", type: DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1329
1359
  }
1330
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XPickerMonthComponent, decorators: [{
1360
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XPickerMonthComponent, decorators: [{
1331
1361
  type: Component,
1332
- args: [{ selector: 'x-picker-month', imports: [DatePipe, NgTemplateOutlet, XLinkComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [DatePipe, LowerCasePipe], template: "<div class=\"x-picker-month\" [class.x-date-picker-monthtemp]=\"monthTemp()\">\r\n @if (showHeader()) {\r\n <div class=\"x-picker-month-header\">\r\n <x-link [class.x-visibility]=\"!lastYearBtn\" icon=\"fto-chevrons-left\" (click)=\"nextYear(-1)\"></x-link>\r\n <div class=\"x-picker-month-year-month\">\r\n <x-link (click)=\"typeOnChange('year')\">{{ display() | date: 'yyyy' }}{{ locale().year }}</x-link>\r\n </div>\r\n <x-link [class.x-visibility]=\"!nextYearBtn()\" icon=\"fto-chevrons-right\" (click)=\"nextYear(1)\"></x-link>\r\n </div>\r\n }\r\n <div class=\"x-picker-month-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n @for (months of chunkDates(); track $index) {\r\n <tr>\r\n @for (month of months; track month.date) {\r\n <td\r\n class=\"x-picker-date-item\"\r\n [class.x-date-disabled]=\"month.isDisabled\"\r\n [class.x-date-last-or-next]=\"month.isLastOrNext\"\r\n [class.x-date-now]=\"month.isNow\"\r\n [class.x-date-first-day]=\"month.isFirstDay\"\r\n [class.x-date-last-day]=\"month.isLastDay\"\r\n [class.x-date-range-start]=\"rangePicker() && isStartMonth(month.date!)\"\r\n [class.x-date-range-end]=\"rangePicker() && isEndMonth(month.date!)\"\r\n [class.x-date-range-start-left]=\"rangePicker() && month.isRangeStartLeft\"\r\n [class.x-date-range-start-right]=\"rangePicker() && month.isRangeStartRight\"\r\n [class.x-date-range-end-left]=\"rangePicker() && month.isRangeEndLeft\"\r\n [class.x-date-range-end-right]=\"rangePicker() && month.isRangeEndRight\"\r\n [class.x-date-range-hover]=\"rangePicker() && month.isRangeHover\"\r\n [class.x-date-range-hover-start-left]=\"rangePicker() && month.isRangeHoverStartLeft\"\r\n [class.x-date-range-hover-start-right]=\"rangePicker() && month.isRangeHoverStartRight\"\r\n [class.x-date-range-hover-end-left]=\"rangePicker() && month.isRangeHoverEndLeft\"\r\n [class.x-date-range-hover-end-right]=\"rangePicker() && month.isRangeHoverEndRight\"\r\n [class.x-date-range-hover-start]=\"rangePicker() && month.isRangeHoverStart\"\r\n [class.x-date-range-hover-end]=\"rangePicker() && month.isRangeHoverEnd\"\r\n [class.x-date-in-range]=\"rangePicker() && month.isInRange\"\r\n [class.x-date-in-range-hover]=\"rangePicker() && month.isInRangeHover\"\r\n [class.x-date-active]=\"!rangePicker() && (month.date | date: 'yyyyMM') === (model() | date: 'yyyyMM')\"\r\n [title]=\"month.date | date: 'yyyy-MM'\"\r\n (click)=\"!month.isDisabled && monthClick(month)\"\r\n (mouseenter)=\"!month.isDisabled && rangePicker() && onTdMouseenter(month)\"\r\n (mouseleave)=\"!month.isDisabled && rangePicker() && onTdMouseleave(month)\"\r\n >\r\n @if (monthTemp()) {\r\n <ng-container *ngTemplateOutlet=\"monthTemp()!; context: { date$: month.date }\"></ng-container>\r\n } @else {\r\n <div class=\"x-date-text\">\r\n {{ getLocaleMonth(month.date!) }}\r\n </div>\r\n }\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </table>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-picker-month{margin:0;padding:0}.x-picker-month-header{display:flex;align-items:center;justify-content:space-between;padding:0 .5rem;height:2.5rem;border-bottom:var(--x-border-width) solid var(--x-border);color:var(--x-text-500);font-size:var(--x-font-size-medium)}.x-picker-month-header x-link{height:100%;-webkit-user-select:none;user-select:none}.x-picker-month-header .x-link{padding:0 .25rem}.x-picker-month-year-month{flex:1;text-align:center;color:var(--x-text);font-size:var(--x-font-size)}.x-picker-month-body{padding:.1375rem .5rem}.x-picker-month-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-month-body>table tr{padding:.125rem 0;display:flex;align-items:center;justify-content:center}.x-picker-month-body>table td{flex:1;padding:.125rem 0;-webkit-user-select:none;user-select:none}.x-picker-month-body .x-picker-date-item{text-align:center;cursor:pointer;color:var(--x-text-300);position:relative}.x-picker-month-body .x-picker-date-item .x-date-text{width:3.5rem;height:3.25rem;display:flex;align-items:center;justify-content:center;margin:0 auto;border:var(--x-border-width) var(--x-border-style) transparent;border-radius:var(--x-border-radius);transition:var(--x-animation-duration-base);position:relative}.x-picker-month-body .x-picker-date-item:after,.x-picker-month-body .x-picker-date-item:before{height:3.25rem}.x-picker-month-body .x-picker-date-item:hover:not(.x-date-in-range) .x-date-text{background-color:var(--x-background-a200)}.x-picker-month-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next){color:var(--x-background-100)}.x-picker-month-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next) .x-date-text{background-color:var(--x-primary);border-color:var(--x-primary)}.x-picker-month-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover{color:var(--x-background-100)}.x-picker-month-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover .x-date-text{background-color:var(--x-primary)}.x-picker-month-body .x-picker-date-item.x-date-last-or-next{color:var(--x-text-700)}.x-picker-month-body .x-picker-date-item.x-date-now:not(.x-date-active):not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next) .x-date-text{color:var(--x-primary);border-color:var(--x-primary)}.x-picker-month-body .x-picker-date-item.x-date-range-hover:first-child:not(.x-date-last-or-next).x-date-range-hover-end:before,.x-picker-month-body .x-picker-date-item.x-date-range-hover.x-date-first-day.x-date-range-hover-end:before{width:3.5rem}.x-picker-month-body .x-picker-date-item.x-date-range-hover:last-child:not(.x-date-last-or-next).x-date-range-hover-start:before,.x-picker-month-body .x-picker-date-item.x-date-range-hover.x-date-last-day.x-date-range-hover-start:before{width:3.5rem}.x-picker-month-body .x-picker-date-item.x-date-range-hover.x-date-first-day:last-child:not(.x-date-last-or-next):before,.x-picker-month-body .x-picker-date-item.x-date-range-hover.x-date-last-day:first-child:not(.x-date-last-or-next):before{width:3.5rem}.x-picker-month-body .x-picker-date-item.x-date-disabled{cursor:default;background-color:var(--x-background-a200);color:var(--x-text-700)}.x-picker-month .x-visibility{visibility:hidden}\n"] }]
1362
+ args: [{ selector: 'x-picker-month', imports: [DatePipe, NgTemplateOutlet, XLinkComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [DatePipe, LowerCasePipe], template: "<div class=\"x-picker-month\" [class.x-date-picker-monthtemp]=\"monthTemp()\">\r\n @if (showHeader()) {\r\n <div class=\"x-picker-month-header\">\r\n <x-link [class.x-visibility]=\"!lastYearBtn()\" icon=\"fto-chevrons-left\" (click)=\"nextYear(-1)\"></x-link>\r\n <div class=\"x-picker-month-year-month\">\r\n <x-link (click)=\"typeOnChange('year')\">{{ display() | date: 'yyyy' }}{{ locale().year }}</x-link>\r\n </div>\r\n <x-link [class.x-visibility]=\"!nextYearBtn()\" icon=\"fto-chevrons-right\" (click)=\"nextYear(1)\"></x-link>\r\n </div>\r\n }\r\n <div class=\"x-picker-month-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n @for (months of chunkDates(); track $index) {\r\n <tr>\r\n @for (month of months; track month.date) {\r\n <td\r\n class=\"x-picker-date-item\"\r\n [class.x-date-disabled]=\"month.isDisabled\"\r\n [class.x-date-last-or-next]=\"month.isLastOrNext\"\r\n [class.x-date-now]=\"month.isNow\"\r\n [class.x-date-first-day]=\"month.isFirstDay\"\r\n [class.x-date-last-day]=\"month.isLastDay\"\r\n [class.x-date-range-start]=\"rangePicker() && isStartMonth(month.date!)\"\r\n [class.x-date-range-end]=\"rangePicker() && isEndMonth(month.date!)\"\r\n [class.x-date-range-start-left]=\"rangePicker() && month.isRangeStartLeft\"\r\n [class.x-date-range-start-right]=\"rangePicker() && month.isRangeStartRight\"\r\n [class.x-date-range-end-left]=\"rangePicker() && month.isRangeEndLeft\"\r\n [class.x-date-range-end-right]=\"rangePicker() && month.isRangeEndRight\"\r\n [class.x-date-range-hover]=\"rangePicker() && month.isRangeHover\"\r\n [class.x-date-range-hover-start-left]=\"rangePicker() && month.isRangeHoverStartLeft\"\r\n [class.x-date-range-hover-start-right]=\"rangePicker() && month.isRangeHoverStartRight\"\r\n [class.x-date-range-hover-end-left]=\"rangePicker() && month.isRangeHoverEndLeft\"\r\n [class.x-date-range-hover-end-right]=\"rangePicker() && month.isRangeHoverEndRight\"\r\n [class.x-date-range-hover-start]=\"rangePicker() && month.isRangeHoverStart\"\r\n [class.x-date-range-hover-end]=\"rangePicker() && month.isRangeHoverEnd\"\r\n [class.x-date-in-range]=\"rangePicker() && month.isInRange\"\r\n [class.x-date-in-range-hover]=\"rangePicker() && month.isInRangeHover\"\r\n [class.x-date-active]=\"!rangePicker() && (month.date | date: 'yyyyMM') === (model() | date: 'yyyyMM')\"\r\n [title]=\"month.date | date: 'yyyy-MM'\"\r\n (click)=\"!month.isDisabled && monthClick(month)\"\r\n (mouseenter)=\"!month.isDisabled && rangePicker() && onTdMouseenter(month)\"\r\n (mouseleave)=\"!month.isDisabled && rangePicker() && onTdMouseleave(month)\"\r\n >\r\n @if (monthTemp()) {\r\n <ng-container *ngTemplateOutlet=\"monthTemp()!; context: { date$: month.date }\"></ng-container>\r\n } @else {\r\n <div class=\"x-date-text\">\r\n {{ getLocaleMonth(month.date!) }}\r\n </div>\r\n }\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </table>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-picker-month{margin:0;padding:0}.x-picker-month-header{display:flex;align-items:center;justify-content:space-between;padding:0 .5rem;height:2.5rem;border-bottom:var(--x-border-width) solid var(--x-border);color:var(--x-text-500);font-size:var(--x-font-size-medium)}.x-picker-month-header x-link{height:100%;-webkit-user-select:none;user-select:none}.x-picker-month-header .x-link{padding:0 .25rem}.x-picker-month-year-month{flex:1;text-align:center;color:var(--x-text);font-size:var(--x-font-size)}.x-picker-month-body{padding:.1375rem .5rem}.x-picker-month-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-month-body>table tr{padding:.125rem 0;display:flex;align-items:center;justify-content:center}.x-picker-month-body>table td{flex:1;padding:.125rem 0;-webkit-user-select:none;user-select:none}.x-picker-month-body .x-picker-date-item{text-align:center;cursor:pointer;color:var(--x-text-300);position:relative}.x-picker-month-body .x-picker-date-item .x-date-text{width:3.5rem;height:3.25rem;display:flex;align-items:center;justify-content:center;margin:0 auto;border:var(--x-border-width) var(--x-border-style) transparent;border-radius:var(--x-border-radius);transition:var(--x-animation-duration-base);position:relative}.x-picker-month-body .x-picker-date-item:after,.x-picker-month-body .x-picker-date-item:before{height:3.25rem}.x-picker-month-body .x-picker-date-item:hover:not(.x-date-in-range) .x-date-text{background-color:var(--x-background-a200)}.x-picker-month-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next){color:var(--x-background-100)}.x-picker-month-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next) .x-date-text{background-color:var(--x-primary);border-color:var(--x-primary)}.x-picker-month-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover{color:var(--x-background-100)}.x-picker-month-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover .x-date-text{background-color:var(--x-primary)}.x-picker-month-body .x-picker-date-item.x-date-last-or-next{color:var(--x-text-700)}.x-picker-month-body .x-picker-date-item.x-date-now:not(.x-date-active):not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next) .x-date-text{color:var(--x-primary);border-color:var(--x-primary)}.x-picker-month-body .x-picker-date-item.x-date-range-hover:first-child:not(.x-date-last-or-next).x-date-range-hover-end:before,.x-picker-month-body .x-picker-date-item.x-date-range-hover.x-date-first-day.x-date-range-hover-end:before{width:3.5rem}.x-picker-month-body .x-picker-date-item.x-date-range-hover:last-child:not(.x-date-last-or-next).x-date-range-hover-start:before,.x-picker-month-body .x-picker-date-item.x-date-range-hover.x-date-last-day.x-date-range-hover-start:before{width:3.5rem}.x-picker-month-body .x-picker-date-item.x-date-range-hover.x-date-first-day:last-child:not(.x-date-last-or-next):before,.x-picker-month-body .x-picker-date-item.x-date-range-hover.x-date-last-day:first-child:not(.x-date-last-or-next):before{width:3.5rem}.x-picker-month-body .x-picker-date-item.x-date-disabled{cursor:default;background-color:var(--x-background-a300);color:var(--x-text-700)}.x-picker-month .x-visibility{visibility:hidden}\n"] }]
1333
1363
  }] });
1334
1364
 
1335
1365
  class XDateQuarterPipe {
@@ -1339,10 +1369,10 @@ class XDateQuarterPipe {
1339
1369
  return '';
1340
1370
  return !includeYear ? XDateQuarter(input) : XDateYearQuarter(input);
1341
1371
  }
1342
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XDateQuarterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
1343
- /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.0.0", ngImport: i0, type: XDateQuarterPipe, isStandalone: true, name: "xDateQuarter" }); }
1372
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XDateQuarterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
1373
+ /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.2.4", ngImport: i0, type: XDateQuarterPipe, isStandalone: true, name: "xDateQuarter" }); }
1344
1374
  }
1345
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XDateQuarterPipe, decorators: [{
1375
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XDateQuarterPipe, decorators: [{
1346
1376
  type: Pipe,
1347
1377
  args: [{ name: `${XDateQuarterPrefix}`, standalone: true }]
1348
1378
  }], ctorParameters: () => [] });
@@ -1355,8 +1385,8 @@ class XPickerQuarterComponent extends XPickerQuarterProperty {
1355
1385
  this.i18n = inject(XI18nService);
1356
1386
  this.cdr = inject(ChangeDetectorRef);
1357
1387
  this.now = new Date();
1358
- this.dates = signal([]);
1359
- this.chunkDates = signal([]);
1388
+ this.dates = signal([], ...(ngDevMode ? [{ debugName: "dates" }] : []));
1389
+ this.chunkDates = signal([], ...(ngDevMode ? [{ debugName: "chunkDates" }] : []));
1360
1390
  this.locale = toSignal(this.i18n.localeChange.pipe(map((x) => x.datePicker)), {
1361
1391
  initialValue: zh_CN.datePicker
1362
1392
  });
@@ -1365,13 +1395,13 @@ class XPickerQuarterComponent extends XPickerQuarterProperty {
1365
1395
  return this.rangeValue()[0];
1366
1396
  }
1367
1397
  return '';
1368
- });
1398
+ }, ...(ngDevMode ? [{ debugName: "rangeStart" }] : []));
1369
1399
  this.rangeEnd = computed(() => {
1370
1400
  if (this.rangeValue() && this.rangeValue().length > 1) {
1371
1401
  return this.rangeValue()[1];
1372
1402
  }
1373
1403
  return '';
1374
- });
1404
+ }, ...(ngDevMode ? [{ debugName: "rangeEnd" }] : []));
1375
1405
  }
1376
1406
  isDisabled(date) {
1377
1407
  const disabledDate = this.disabledDate();
@@ -1566,12 +1596,12 @@ class XPickerQuarterComponent extends XPickerQuarterProperty {
1566
1596
  typeOnChange(type) {
1567
1597
  this.type.set(type);
1568
1598
  }
1569
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XPickerQuarterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1570
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.0", type: XPickerQuarterComponent, isStandalone: true, selector: "x-picker-quarter", providers: [DatePipe, LowerCasePipe, XDateQuarterPipe], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-picker-quarter\" [class.x-date-picker-quartertemp]=\"quarterTemp()\">\r\n @if (showHeader()) {\r\n <div class=\"x-picker-quarter-header\">\r\n <x-link [class.x-visibility]=\"!lastYearBtn()\" icon=\"fto-chevrons-left\" (click)=\"nextYear(-1)\"></x-link>\r\n <div class=\"x-picker-quarter-year-quarter\">\r\n <x-link (click)=\"typeOnChange('year')\">{{ display() | date: 'yyyy' }}{{ locale().year }}</x-link>\r\n </div>\r\n <x-link [class.x-visibility]=\"!nextYearBtn()\" icon=\"fto-chevrons-right\" (click)=\"nextYear(1)\"></x-link>\r\n </div>\r\n }\r\n <div class=\"x-picker-quarter-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n @for (quarters of chunkDates(); track $index) {\r\n <tr>\r\n @for (quarter of quarters; track quarter.date) {\r\n <td\r\n class=\"x-picker-date-item\"\r\n [class.x-date-disabled]=\"quarter.isDisabled\"\r\n [class.x-date-last-or-next]=\"quarter.isLastOrNext\"\r\n [class.x-date-now]=\"quarter.isNow\"\r\n [class.x-date-first-day]=\"quarter.isFirstDay\"\r\n [class.x-date-last-day]=\"quarter.isLastDay\"\r\n [class.x-date-range-start]=\"rangePicker() && isStartQuarter(quarter.date!)\"\r\n [class.x-date-range-end]=\"rangePicker() && isEndQuarter(quarter.date!)\"\r\n [class.x-date-range-start-left]=\"rangePicker() && quarter.isRangeStartLeft\"\r\n [class.x-date-range-start-right]=\"rangePicker() && quarter.isRangeStartRight\"\r\n [class.x-date-range-end-left]=\"rangePicker() && quarter.isRangeEndLeft\"\r\n [class.x-date-range-end-right]=\"rangePicker() && quarter.isRangeEndRight\"\r\n [class.x-date-range-hover]=\"rangePicker() && quarter.isRangeHover\"\r\n [class.x-date-range-hover-start-left]=\"rangePicker() && quarter.isRangeHoverStartLeft\"\r\n [class.x-date-range-hover-start-right]=\"rangePicker() && quarter.isRangeHoverStartRight\"\r\n [class.x-date-range-hover-end-left]=\"rangePicker() && quarter.isRangeHoverEndLeft\"\r\n [class.x-date-range-hover-end-right]=\"rangePicker() && quarter.isRangeHoverEndRight\"\r\n [class.x-date-range-hover-start]=\"rangePicker() && quarter.isRangeHoverStart\"\r\n [class.x-date-range-hover-end]=\"rangePicker() && quarter.isRangeHoverEnd\"\r\n [class.x-date-in-range]=\"rangePicker() && quarter.isInRange\"\r\n [class.x-date-in-range-hover]=\"rangePicker() && quarter.isInRangeHover\"\r\n [class.x-date-active]=\"!rangePicker && (quarter.date | date: 'yyyyMM') === (model() | date: 'yyyyMM')\"\r\n [title]=\"quarter.date | xDateQuarter: true\"\r\n (click)=\"!quarter.isDisabled && quarterClick(quarter)\"\r\n (mouseenter)=\"!quarter.isDisabled && rangePicker() && onTdMouseenter(quarter)\"\r\n (mouseleave)=\"!quarter.isDisabled && rangePicker() && onTdMouseleave(quarter)\"\r\n >\r\n @if (quarterTemp()) {\r\n <ng-container *ngTemplateOutlet=\"quarterTemp()!; context: { date$: quarter.date }\"></ng-container>\r\n } @else {\r\n <div class=\"x-date-text\">\r\n {{ quarter.date | xDateQuarter }}\r\n </div>\r\n }\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </table>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-picker-quarter{margin:0;padding:0}.x-picker-quarter-header{display:flex;align-items:center;justify-content:space-between;padding:0 .5rem;height:2.5rem;border-bottom:var(--x-border-width) solid var(--x-border);color:var(--x-text-500);font-size:var(--x-font-size-medium)}.x-picker-quarter-header x-link{height:100%;-webkit-user-select:none;user-select:none}.x-picker-quarter-header .x-link{padding:0 .25rem}.x-picker-quarter-year-quarter{flex:1;text-align:center;color:var(--x-text);font-size:var(--x-font-size)}.x-picker-quarter-body{padding:.1375rem .5rem}.x-picker-quarter-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-quarter-body>table tr{padding:.125rem 0;display:flex;align-items:center;justify-content:center}.x-picker-quarter-body>table td{flex:1;padding:.125rem 0;-webkit-user-select:none;user-select:none}.x-picker-quarter-body .x-picker-date-item{text-align:center;cursor:pointer;color:var(--x-text-300);position:relative}.x-picker-quarter-body .x-picker-date-item .x-date-text{width:3.5rem;height:3.25rem;display:flex;align-items:center;justify-content:center;margin:0 auto;border:var(--x-border-width) var(--x-border-style) transparent;border-radius:var(--x-border-radius);transition:var(--x-animation-duration-base);position:relative}.x-picker-quarter-body .x-picker-date-item:after,.x-picker-quarter-body .x-picker-date-item:before{height:3.25rem}.x-picker-quarter-body .x-picker-date-item:hover:not(.x-date-in-range) .x-date-text{background-color:var(--x-background-a200)}.x-picker-quarter-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next){color:var(--x-background-100)}.x-picker-quarter-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next) .x-date-text{background-color:var(--x-primary);border-color:var(--x-primary)}.x-picker-quarter-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover{color:var(--x-background-100)}.x-picker-quarter-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover .x-date-text{background-color:var(--x-primary)}.x-picker-quarter-body .x-picker-date-item.x-date-last-or-next{color:var(--x-text-700)}.x-picker-quarter-body .x-picker-date-item.x-date-now:not(.x-date-active):not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next) .x-date-text{color:var(--x-primary);border-color:var(--x-primary)}.x-picker-quarter-body .x-picker-date-item.x-date-range-hover:first-child:not(.x-date-last-or-next).x-date-range-hover-end:before,.x-picker-quarter-body .x-picker-date-item.x-date-range-hover.x-date-first-day.x-date-range-hover-end:before{width:3.5rem}.x-picker-quarter-body .x-picker-date-item.x-date-range-hover:last-child:not(.x-date-last-or-next).x-date-range-hover-start:before,.x-picker-quarter-body .x-picker-date-item.x-date-range-hover.x-date-last-day.x-date-range-hover-start:before{width:3.5rem}.x-picker-quarter-body .x-picker-date-item.x-date-range-hover.x-date-first-day:last-child:not(.x-date-last-or-next):before,.x-picker-quarter-body .x-picker-date-item.x-date-range-hover.x-date-last-day:first-child:not(.x-date-last-or-next):before{width:3.5rem}.x-picker-quarter-body .x-picker-date-item.x-date-disabled{cursor:default;background-color:var(--x-background-a200);color:var(--x-text-700)}.x-picker-quarter .x-visibility{visibility:hidden}\n"], dependencies: [{ kind: "pipe", type: DatePipe, name: "date" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: XLinkComponent, selector: "x-link" }, { kind: "pipe", type: XDateQuarterPipe, name: "xDateQuarter" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1599
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XPickerQuarterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1600
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.4", type: XPickerQuarterComponent, isStandalone: true, selector: "x-picker-quarter", providers: [DatePipe, LowerCasePipe, XDateQuarterPipe], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-picker-quarter\" [class.x-date-picker-quartertemp]=\"quarterTemp()\">\r\n @if (showHeader()) {\r\n <div class=\"x-picker-quarter-header\">\r\n <x-link [class.x-visibility]=\"!lastYearBtn()\" icon=\"fto-chevrons-left\" (click)=\"nextYear(-1)\"></x-link>\r\n <div class=\"x-picker-quarter-year-quarter\">\r\n <x-link (click)=\"typeOnChange('year')\">{{ display() | date: 'yyyy' }}{{ locale().year }}</x-link>\r\n </div>\r\n <x-link [class.x-visibility]=\"!nextYearBtn()\" icon=\"fto-chevrons-right\" (click)=\"nextYear(1)\"></x-link>\r\n </div>\r\n }\r\n <div class=\"x-picker-quarter-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n @for (quarters of chunkDates(); track $index) {\r\n <tr>\r\n @for (quarter of quarters; track quarter.date) {\r\n <td\r\n class=\"x-picker-date-item\"\r\n [class.x-date-disabled]=\"quarter.isDisabled\"\r\n [class.x-date-last-or-next]=\"quarter.isLastOrNext\"\r\n [class.x-date-now]=\"quarter.isNow\"\r\n [class.x-date-first-day]=\"quarter.isFirstDay\"\r\n [class.x-date-last-day]=\"quarter.isLastDay\"\r\n [class.x-date-range-start]=\"rangePicker() && isStartQuarter(quarter.date!)\"\r\n [class.x-date-range-end]=\"rangePicker() && isEndQuarter(quarter.date!)\"\r\n [class.x-date-range-start-left]=\"rangePicker() && quarter.isRangeStartLeft\"\r\n [class.x-date-range-start-right]=\"rangePicker() && quarter.isRangeStartRight\"\r\n [class.x-date-range-end-left]=\"rangePicker() && quarter.isRangeEndLeft\"\r\n [class.x-date-range-end-right]=\"rangePicker() && quarter.isRangeEndRight\"\r\n [class.x-date-range-hover]=\"rangePicker() && quarter.isRangeHover\"\r\n [class.x-date-range-hover-start-left]=\"rangePicker() && quarter.isRangeHoverStartLeft\"\r\n [class.x-date-range-hover-start-right]=\"rangePicker() && quarter.isRangeHoverStartRight\"\r\n [class.x-date-range-hover-end-left]=\"rangePicker() && quarter.isRangeHoverEndLeft\"\r\n [class.x-date-range-hover-end-right]=\"rangePicker() && quarter.isRangeHoverEndRight\"\r\n [class.x-date-range-hover-start]=\"rangePicker() && quarter.isRangeHoverStart\"\r\n [class.x-date-range-hover-end]=\"rangePicker() && quarter.isRangeHoverEnd\"\r\n [class.x-date-in-range]=\"rangePicker() && quarter.isInRange\"\r\n [class.x-date-in-range-hover]=\"rangePicker() && quarter.isInRangeHover\"\r\n [class.x-date-active]=\"!rangePicker && (quarter.date | date: 'yyyyMM') === (model() | date: 'yyyyMM')\"\r\n [title]=\"quarter.date | xDateQuarter: true\"\r\n (click)=\"!quarter.isDisabled && quarterClick(quarter)\"\r\n (mouseenter)=\"!quarter.isDisabled && rangePicker() && onTdMouseenter(quarter)\"\r\n (mouseleave)=\"!quarter.isDisabled && rangePicker() && onTdMouseleave(quarter)\"\r\n >\r\n @if (quarterTemp()) {\r\n <ng-container *ngTemplateOutlet=\"quarterTemp()!; context: { date$: quarter.date }\"></ng-container>\r\n } @else {\r\n <div class=\"x-date-text\">\r\n {{ quarter.date | xDateQuarter }}\r\n </div>\r\n }\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </table>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-picker-quarter{margin:0;padding:0}.x-picker-quarter-header{display:flex;align-items:center;justify-content:space-between;padding:0 .5rem;height:2.5rem;border-bottom:var(--x-border-width) solid var(--x-border);color:var(--x-text-500);font-size:var(--x-font-size-medium)}.x-picker-quarter-header x-link{height:100%;-webkit-user-select:none;user-select:none}.x-picker-quarter-header .x-link{padding:0 .25rem}.x-picker-quarter-year-quarter{flex:1;text-align:center;color:var(--x-text);font-size:var(--x-font-size)}.x-picker-quarter-body{padding:.1375rem .5rem}.x-picker-quarter-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-quarter-body>table tr{padding:.125rem 0;display:flex;align-items:center;justify-content:center}.x-picker-quarter-body>table td{flex:1;padding:.125rem 0;-webkit-user-select:none;user-select:none}.x-picker-quarter-body .x-picker-date-item{text-align:center;cursor:pointer;color:var(--x-text-300);position:relative}.x-picker-quarter-body .x-picker-date-item .x-date-text{width:3.5rem;height:3.25rem;display:flex;align-items:center;justify-content:center;margin:0 auto;border:var(--x-border-width) var(--x-border-style) transparent;border-radius:var(--x-border-radius);transition:var(--x-animation-duration-base);position:relative}.x-picker-quarter-body .x-picker-date-item:after,.x-picker-quarter-body .x-picker-date-item:before{height:3.25rem}.x-picker-quarter-body .x-picker-date-item:hover:not(.x-date-in-range) .x-date-text{background-color:var(--x-background-a200)}.x-picker-quarter-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next){color:var(--x-background-100)}.x-picker-quarter-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next) .x-date-text{background-color:var(--x-primary);border-color:var(--x-primary)}.x-picker-quarter-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover{color:var(--x-background-100)}.x-picker-quarter-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover .x-date-text{background-color:var(--x-primary)}.x-picker-quarter-body .x-picker-date-item.x-date-last-or-next{color:var(--x-text-700)}.x-picker-quarter-body .x-picker-date-item.x-date-now:not(.x-date-active):not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next) .x-date-text{color:var(--x-primary);border-color:var(--x-primary)}.x-picker-quarter-body .x-picker-date-item.x-date-range-hover:first-child:not(.x-date-last-or-next).x-date-range-hover-end:before,.x-picker-quarter-body .x-picker-date-item.x-date-range-hover.x-date-first-day.x-date-range-hover-end:before{width:3.5rem}.x-picker-quarter-body .x-picker-date-item.x-date-range-hover:last-child:not(.x-date-last-or-next).x-date-range-hover-start:before,.x-picker-quarter-body .x-picker-date-item.x-date-range-hover.x-date-last-day.x-date-range-hover-start:before{width:3.5rem}.x-picker-quarter-body .x-picker-date-item.x-date-range-hover.x-date-first-day:last-child:not(.x-date-last-or-next):before,.x-picker-quarter-body .x-picker-date-item.x-date-range-hover.x-date-last-day:first-child:not(.x-date-last-or-next):before{width:3.5rem}.x-picker-quarter-body .x-picker-date-item.x-date-disabled{cursor:default;background-color:var(--x-background-a300);color:var(--x-text-700)}.x-picker-quarter .x-visibility{visibility:hidden}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: XLinkComponent, selector: "x-link" }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "pipe", type: XDateQuarterPipe, name: "xDateQuarter" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1571
1601
  }
1572
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XPickerQuarterComponent, decorators: [{
1602
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XPickerQuarterComponent, decorators: [{
1573
1603
  type: Component,
1574
- args: [{ selector: 'x-picker-quarter', imports: [DatePipe, NgTemplateOutlet, XLinkComponent, XDateQuarterPipe], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [DatePipe, LowerCasePipe, XDateQuarterPipe], template: "<div class=\"x-picker-quarter\" [class.x-date-picker-quartertemp]=\"quarterTemp()\">\r\n @if (showHeader()) {\r\n <div class=\"x-picker-quarter-header\">\r\n <x-link [class.x-visibility]=\"!lastYearBtn()\" icon=\"fto-chevrons-left\" (click)=\"nextYear(-1)\"></x-link>\r\n <div class=\"x-picker-quarter-year-quarter\">\r\n <x-link (click)=\"typeOnChange('year')\">{{ display() | date: 'yyyy' }}{{ locale().year }}</x-link>\r\n </div>\r\n <x-link [class.x-visibility]=\"!nextYearBtn()\" icon=\"fto-chevrons-right\" (click)=\"nextYear(1)\"></x-link>\r\n </div>\r\n }\r\n <div class=\"x-picker-quarter-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n @for (quarters of chunkDates(); track $index) {\r\n <tr>\r\n @for (quarter of quarters; track quarter.date) {\r\n <td\r\n class=\"x-picker-date-item\"\r\n [class.x-date-disabled]=\"quarter.isDisabled\"\r\n [class.x-date-last-or-next]=\"quarter.isLastOrNext\"\r\n [class.x-date-now]=\"quarter.isNow\"\r\n [class.x-date-first-day]=\"quarter.isFirstDay\"\r\n [class.x-date-last-day]=\"quarter.isLastDay\"\r\n [class.x-date-range-start]=\"rangePicker() && isStartQuarter(quarter.date!)\"\r\n [class.x-date-range-end]=\"rangePicker() && isEndQuarter(quarter.date!)\"\r\n [class.x-date-range-start-left]=\"rangePicker() && quarter.isRangeStartLeft\"\r\n [class.x-date-range-start-right]=\"rangePicker() && quarter.isRangeStartRight\"\r\n [class.x-date-range-end-left]=\"rangePicker() && quarter.isRangeEndLeft\"\r\n [class.x-date-range-end-right]=\"rangePicker() && quarter.isRangeEndRight\"\r\n [class.x-date-range-hover]=\"rangePicker() && quarter.isRangeHover\"\r\n [class.x-date-range-hover-start-left]=\"rangePicker() && quarter.isRangeHoverStartLeft\"\r\n [class.x-date-range-hover-start-right]=\"rangePicker() && quarter.isRangeHoverStartRight\"\r\n [class.x-date-range-hover-end-left]=\"rangePicker() && quarter.isRangeHoverEndLeft\"\r\n [class.x-date-range-hover-end-right]=\"rangePicker() && quarter.isRangeHoverEndRight\"\r\n [class.x-date-range-hover-start]=\"rangePicker() && quarter.isRangeHoverStart\"\r\n [class.x-date-range-hover-end]=\"rangePicker() && quarter.isRangeHoverEnd\"\r\n [class.x-date-in-range]=\"rangePicker() && quarter.isInRange\"\r\n [class.x-date-in-range-hover]=\"rangePicker() && quarter.isInRangeHover\"\r\n [class.x-date-active]=\"!rangePicker && (quarter.date | date: 'yyyyMM') === (model() | date: 'yyyyMM')\"\r\n [title]=\"quarter.date | xDateQuarter: true\"\r\n (click)=\"!quarter.isDisabled && quarterClick(quarter)\"\r\n (mouseenter)=\"!quarter.isDisabled && rangePicker() && onTdMouseenter(quarter)\"\r\n (mouseleave)=\"!quarter.isDisabled && rangePicker() && onTdMouseleave(quarter)\"\r\n >\r\n @if (quarterTemp()) {\r\n <ng-container *ngTemplateOutlet=\"quarterTemp()!; context: { date$: quarter.date }\"></ng-container>\r\n } @else {\r\n <div class=\"x-date-text\">\r\n {{ quarter.date | xDateQuarter }}\r\n </div>\r\n }\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </table>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-picker-quarter{margin:0;padding:0}.x-picker-quarter-header{display:flex;align-items:center;justify-content:space-between;padding:0 .5rem;height:2.5rem;border-bottom:var(--x-border-width) solid var(--x-border);color:var(--x-text-500);font-size:var(--x-font-size-medium)}.x-picker-quarter-header x-link{height:100%;-webkit-user-select:none;user-select:none}.x-picker-quarter-header .x-link{padding:0 .25rem}.x-picker-quarter-year-quarter{flex:1;text-align:center;color:var(--x-text);font-size:var(--x-font-size)}.x-picker-quarter-body{padding:.1375rem .5rem}.x-picker-quarter-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-quarter-body>table tr{padding:.125rem 0;display:flex;align-items:center;justify-content:center}.x-picker-quarter-body>table td{flex:1;padding:.125rem 0;-webkit-user-select:none;user-select:none}.x-picker-quarter-body .x-picker-date-item{text-align:center;cursor:pointer;color:var(--x-text-300);position:relative}.x-picker-quarter-body .x-picker-date-item .x-date-text{width:3.5rem;height:3.25rem;display:flex;align-items:center;justify-content:center;margin:0 auto;border:var(--x-border-width) var(--x-border-style) transparent;border-radius:var(--x-border-radius);transition:var(--x-animation-duration-base);position:relative}.x-picker-quarter-body .x-picker-date-item:after,.x-picker-quarter-body .x-picker-date-item:before{height:3.25rem}.x-picker-quarter-body .x-picker-date-item:hover:not(.x-date-in-range) .x-date-text{background-color:var(--x-background-a200)}.x-picker-quarter-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next){color:var(--x-background-100)}.x-picker-quarter-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next) .x-date-text{background-color:var(--x-primary);border-color:var(--x-primary)}.x-picker-quarter-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover{color:var(--x-background-100)}.x-picker-quarter-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover .x-date-text{background-color:var(--x-primary)}.x-picker-quarter-body .x-picker-date-item.x-date-last-or-next{color:var(--x-text-700)}.x-picker-quarter-body .x-picker-date-item.x-date-now:not(.x-date-active):not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next) .x-date-text{color:var(--x-primary);border-color:var(--x-primary)}.x-picker-quarter-body .x-picker-date-item.x-date-range-hover:first-child:not(.x-date-last-or-next).x-date-range-hover-end:before,.x-picker-quarter-body .x-picker-date-item.x-date-range-hover.x-date-first-day.x-date-range-hover-end:before{width:3.5rem}.x-picker-quarter-body .x-picker-date-item.x-date-range-hover:last-child:not(.x-date-last-or-next).x-date-range-hover-start:before,.x-picker-quarter-body .x-picker-date-item.x-date-range-hover.x-date-last-day.x-date-range-hover-start:before{width:3.5rem}.x-picker-quarter-body .x-picker-date-item.x-date-range-hover.x-date-first-day:last-child:not(.x-date-last-or-next):before,.x-picker-quarter-body .x-picker-date-item.x-date-range-hover.x-date-last-day:first-child:not(.x-date-last-or-next):before{width:3.5rem}.x-picker-quarter-body .x-picker-date-item.x-date-disabled{cursor:default;background-color:var(--x-background-a200);color:var(--x-text-700)}.x-picker-quarter .x-visibility{visibility:hidden}\n"] }]
1604
+ args: [{ selector: 'x-picker-quarter', imports: [DatePipe, NgTemplateOutlet, XLinkComponent, XDateQuarterPipe], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [DatePipe, LowerCasePipe, XDateQuarterPipe], template: "<div class=\"x-picker-quarter\" [class.x-date-picker-quartertemp]=\"quarterTemp()\">\r\n @if (showHeader()) {\r\n <div class=\"x-picker-quarter-header\">\r\n <x-link [class.x-visibility]=\"!lastYearBtn()\" icon=\"fto-chevrons-left\" (click)=\"nextYear(-1)\"></x-link>\r\n <div class=\"x-picker-quarter-year-quarter\">\r\n <x-link (click)=\"typeOnChange('year')\">{{ display() | date: 'yyyy' }}{{ locale().year }}</x-link>\r\n </div>\r\n <x-link [class.x-visibility]=\"!nextYearBtn()\" icon=\"fto-chevrons-right\" (click)=\"nextYear(1)\"></x-link>\r\n </div>\r\n }\r\n <div class=\"x-picker-quarter-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n @for (quarters of chunkDates(); track $index) {\r\n <tr>\r\n @for (quarter of quarters; track quarter.date) {\r\n <td\r\n class=\"x-picker-date-item\"\r\n [class.x-date-disabled]=\"quarter.isDisabled\"\r\n [class.x-date-last-or-next]=\"quarter.isLastOrNext\"\r\n [class.x-date-now]=\"quarter.isNow\"\r\n [class.x-date-first-day]=\"quarter.isFirstDay\"\r\n [class.x-date-last-day]=\"quarter.isLastDay\"\r\n [class.x-date-range-start]=\"rangePicker() && isStartQuarter(quarter.date!)\"\r\n [class.x-date-range-end]=\"rangePicker() && isEndQuarter(quarter.date!)\"\r\n [class.x-date-range-start-left]=\"rangePicker() && quarter.isRangeStartLeft\"\r\n [class.x-date-range-start-right]=\"rangePicker() && quarter.isRangeStartRight\"\r\n [class.x-date-range-end-left]=\"rangePicker() && quarter.isRangeEndLeft\"\r\n [class.x-date-range-end-right]=\"rangePicker() && quarter.isRangeEndRight\"\r\n [class.x-date-range-hover]=\"rangePicker() && quarter.isRangeHover\"\r\n [class.x-date-range-hover-start-left]=\"rangePicker() && quarter.isRangeHoverStartLeft\"\r\n [class.x-date-range-hover-start-right]=\"rangePicker() && quarter.isRangeHoverStartRight\"\r\n [class.x-date-range-hover-end-left]=\"rangePicker() && quarter.isRangeHoverEndLeft\"\r\n [class.x-date-range-hover-end-right]=\"rangePicker() && quarter.isRangeHoverEndRight\"\r\n [class.x-date-range-hover-start]=\"rangePicker() && quarter.isRangeHoverStart\"\r\n [class.x-date-range-hover-end]=\"rangePicker() && quarter.isRangeHoverEnd\"\r\n [class.x-date-in-range]=\"rangePicker() && quarter.isInRange\"\r\n [class.x-date-in-range-hover]=\"rangePicker() && quarter.isInRangeHover\"\r\n [class.x-date-active]=\"!rangePicker && (quarter.date | date: 'yyyyMM') === (model() | date: 'yyyyMM')\"\r\n [title]=\"quarter.date | xDateQuarter: true\"\r\n (click)=\"!quarter.isDisabled && quarterClick(quarter)\"\r\n (mouseenter)=\"!quarter.isDisabled && rangePicker() && onTdMouseenter(quarter)\"\r\n (mouseleave)=\"!quarter.isDisabled && rangePicker() && onTdMouseleave(quarter)\"\r\n >\r\n @if (quarterTemp()) {\r\n <ng-container *ngTemplateOutlet=\"quarterTemp()!; context: { date$: quarter.date }\"></ng-container>\r\n } @else {\r\n <div class=\"x-date-text\">\r\n {{ quarter.date | xDateQuarter }}\r\n </div>\r\n }\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </table>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-picker-quarter{margin:0;padding:0}.x-picker-quarter-header{display:flex;align-items:center;justify-content:space-between;padding:0 .5rem;height:2.5rem;border-bottom:var(--x-border-width) solid var(--x-border);color:var(--x-text-500);font-size:var(--x-font-size-medium)}.x-picker-quarter-header x-link{height:100%;-webkit-user-select:none;user-select:none}.x-picker-quarter-header .x-link{padding:0 .25rem}.x-picker-quarter-year-quarter{flex:1;text-align:center;color:var(--x-text);font-size:var(--x-font-size)}.x-picker-quarter-body{padding:.1375rem .5rem}.x-picker-quarter-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-quarter-body>table tr{padding:.125rem 0;display:flex;align-items:center;justify-content:center}.x-picker-quarter-body>table td{flex:1;padding:.125rem 0;-webkit-user-select:none;user-select:none}.x-picker-quarter-body .x-picker-date-item{text-align:center;cursor:pointer;color:var(--x-text-300);position:relative}.x-picker-quarter-body .x-picker-date-item .x-date-text{width:3.5rem;height:3.25rem;display:flex;align-items:center;justify-content:center;margin:0 auto;border:var(--x-border-width) var(--x-border-style) transparent;border-radius:var(--x-border-radius);transition:var(--x-animation-duration-base);position:relative}.x-picker-quarter-body .x-picker-date-item:after,.x-picker-quarter-body .x-picker-date-item:before{height:3.25rem}.x-picker-quarter-body .x-picker-date-item:hover:not(.x-date-in-range) .x-date-text{background-color:var(--x-background-a200)}.x-picker-quarter-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next){color:var(--x-background-100)}.x-picker-quarter-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next) .x-date-text{background-color:var(--x-primary);border-color:var(--x-primary)}.x-picker-quarter-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover{color:var(--x-background-100)}.x-picker-quarter-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover .x-date-text{background-color:var(--x-primary)}.x-picker-quarter-body .x-picker-date-item.x-date-last-or-next{color:var(--x-text-700)}.x-picker-quarter-body .x-picker-date-item.x-date-now:not(.x-date-active):not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next) .x-date-text{color:var(--x-primary);border-color:var(--x-primary)}.x-picker-quarter-body .x-picker-date-item.x-date-range-hover:first-child:not(.x-date-last-or-next).x-date-range-hover-end:before,.x-picker-quarter-body .x-picker-date-item.x-date-range-hover.x-date-first-day.x-date-range-hover-end:before{width:3.5rem}.x-picker-quarter-body .x-picker-date-item.x-date-range-hover:last-child:not(.x-date-last-or-next).x-date-range-hover-start:before,.x-picker-quarter-body .x-picker-date-item.x-date-range-hover.x-date-last-day.x-date-range-hover-start:before{width:3.5rem}.x-picker-quarter-body .x-picker-date-item.x-date-range-hover.x-date-first-day:last-child:not(.x-date-last-or-next):before,.x-picker-quarter-body .x-picker-date-item.x-date-range-hover.x-date-last-day:first-child:not(.x-date-last-or-next):before{width:3.5rem}.x-picker-quarter-body .x-picker-date-item.x-date-disabled{cursor:default;background-color:var(--x-background-a300);color:var(--x-text-700)}.x-picker-quarter .x-visibility{visibility:hidden}\n"] }]
1575
1605
  }] });
1576
1606
 
1577
1607
  class XPickerYearComponent extends XPickerYearProperty {
@@ -1580,22 +1610,22 @@ class XPickerYearComponent extends XPickerYearProperty {
1580
1610
  this.datePipe = inject(DatePipe);
1581
1611
  this.cdr = inject(ChangeDetectorRef);
1582
1612
  this.now = new Date();
1583
- this.dates = signal([]);
1584
- this.chunkDates = signal([]);
1585
- this.start = signal(null);
1586
- this.end = signal(null);
1613
+ this.dates = signal([], ...(ngDevMode ? [{ debugName: "dates" }] : []));
1614
+ this.chunkDates = signal([], ...(ngDevMode ? [{ debugName: "chunkDates" }] : []));
1615
+ this.start = signal(null, ...(ngDevMode ? [{ debugName: "start" }] : []));
1616
+ this.end = signal(null, ...(ngDevMode ? [{ debugName: "end" }] : []));
1587
1617
  this.rangeStart = computed(() => {
1588
1618
  if (this.rangeValue() && this.rangeValue().length > 0) {
1589
1619
  return this.rangeValue()[0];
1590
1620
  }
1591
1621
  return '';
1592
- });
1622
+ }, ...(ngDevMode ? [{ debugName: "rangeStart" }] : []));
1593
1623
  this.rangeEnd = computed(() => {
1594
1624
  if (this.rangeValue() && this.rangeValue().length > 1) {
1595
1625
  return this.rangeValue()[1];
1596
1626
  }
1597
1627
  return '';
1598
- });
1628
+ }, ...(ngDevMode ? [{ debugName: "rangeEnd" }] : []));
1599
1629
  }
1600
1630
  isDisabled(date) {
1601
1631
  const disabledDate = this.disabledDate();
@@ -1793,40 +1823,40 @@ class XPickerYearComponent extends XPickerYearProperty {
1793
1823
  this.setDisplay(date);
1794
1824
  this.yearChange.emit(num);
1795
1825
  }
1796
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XPickerYearComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1797
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.0", type: XPickerYearComponent, isStandalone: true, selector: "x-picker-year", providers: [DatePipe], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-picker-year\">\r\n @if (showHeader()) {\r\n <div class=\"x-picker-year-header\">\r\n <x-link [class.x-visibility]=\"!lastYearBtn()\" icon=\"fto-chevrons-left\" (click)=\"nextYears(-10)\"></x-link>\r\n <div class=\"x-picker-year-year-month\">\r\n <x-link>{{ start() }}</x-link> -\r\n <x-link>{{ end() }}</x-link>\r\n </div>\r\n <x-link [class.x-visibility]=\"!nextYearBtn()\" icon=\"fto-chevrons-right\" (click)=\"nextYears(10)\"></x-link>\r\n </div>\r\n }\r\n <div class=\"x-picker-year-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n @for (years of chunkDates(); track $index) {\r\n <tr>\r\n @for (year of years; track year.date) {\r\n <td\r\n class=\"x-picker-date-item\"\r\n [class.x-date-disabled]=\"year.isDisabled\"\r\n [class.x-date-last-or-next]=\"year.isLastOrNext\"\r\n [class.x-date-now]=\"year.isNow\"\r\n [class.x-date-first-day]=\"year.isFirstDay\"\r\n [class.x-date-last-day]=\"year.isLastDay\"\r\n [class.x-date-range-start]=\"rangePicker() && isStartYear(year.date!)\"\r\n [class.x-date-range-end]=\"rangePicker() && isEndYear(year.date!)\"\r\n [class.x-date-range-start-left]=\"rangePicker() && year.isRangeStartLeft\"\r\n [class.x-date-range-start-right]=\"rangePicker() && year.isRangeStartRight\"\r\n [class.x-date-range-end-left]=\"rangePicker() && year.isRangeEndLeft\"\r\n [class.x-date-range-end-right]=\"rangePicker() && year.isRangeEndRight\"\r\n [class.x-date-range-hover]=\"rangePicker() && year.isRangeHover\"\r\n [class.x-date-range-hover-start-left]=\"rangePicker() && year.isRangeHoverStartLeft\"\r\n [class.x-date-range-hover-start-right]=\"rangePicker() && year.isRangeHoverStartRight\"\r\n [class.x-date-range-hover-end-left]=\"rangePicker() && year.isRangeHoverEndLeft\"\r\n [class.x-date-range-hover-end-right]=\"rangePicker() && year.isRangeHoverEndRight\"\r\n [class.x-date-range-hover-start]=\"rangePicker() && year.isRangeHoverStart\"\r\n [class.x-date-range-hover-end]=\"rangePicker() && year.isRangeHoverEnd\"\r\n [class.x-date-in-range]=\"rangePicker() && year.isInRange\"\r\n [class.x-date-in-range-hover]=\"rangePicker() && year.isInRangeHover\"\r\n [class.x-date-active]=\"!rangePicker() && (year.date | date: 'yyyy') === (model() | date: 'yyyy')\"\r\n [title]=\"year.date | date: 'yyyy'\"\r\n (click)=\"!year.isDisabled && yearClick(year)\"\r\n (mouseenter)=\"!year.isDisabled && rangePicker() && onTdMouseenter(year)\"\r\n (mouseleave)=\"!year.isDisabled && rangePicker() && onTdMouseleave(year)\"\r\n >\r\n @if (yearTemp()) {\r\n <ng-container *ngTemplateOutlet=\"yearTemp()!; context: { date$: year.date }\"></ng-container>\r\n } @else {\r\n <div class=\"x-date-text\">\r\n {{ year.date | date: 'yyyy' }}\r\n </div>\r\n }\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </table>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-picker-year{margin:0;padding:0}.x-picker-year-header{display:flex;align-items:center;justify-content:space-between;padding:0 .5rem;height:2.5rem;border-bottom:var(--x-border-width) solid var(--x-border);color:var(--x-text-500);font-size:var(--x-font-size-medium)}.x-picker-year-header x-link{height:100%;-webkit-user-select:none;user-select:none}.x-picker-year-header .x-link{padding:0 .25rem}.x-picker-year-year-month{flex:1;text-align:center;color:var(--x-text);font-size:var(--x-font-size)}.x-picker-year-body{padding:.1375rem .5rem}.x-picker-year-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-year-body>table tr{padding:.125rem 0;display:flex;align-items:center;justify-content:center}.x-picker-year-body>table td{flex:1;padding:.125rem 0;-webkit-user-select:none;user-select:none}.x-picker-year-body .x-picker-date-item{text-align:center;cursor:pointer;color:var(--x-text-300);position:relative}.x-picker-year-body .x-picker-date-item .x-date-text{width:3.5rem;height:3.25rem;display:flex;align-items:center;justify-content:center;margin:0 auto;border:var(--x-border-width) var(--x-border-style) transparent;border-radius:var(--x-border-radius);transition:var(--x-animation-duration-base);position:relative}.x-picker-year-body .x-picker-date-item:after,.x-picker-year-body .x-picker-date-item:before{height:3.25rem}.x-picker-year-body .x-picker-date-item:hover:not(.x-date-in-range) .x-date-text{background-color:var(--x-background-a200)}.x-picker-year-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next){color:var(--x-background-100)}.x-picker-year-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next) .x-date-text{background-color:var(--x-primary);border-color:var(--x-primary)}.x-picker-year-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover{color:var(--x-background-100)}.x-picker-year-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover .x-date-text{background-color:var(--x-primary)}.x-picker-year-body .x-picker-date-item.x-date-last-or-next{color:var(--x-text-700)}.x-picker-year-body .x-picker-date-item.x-date-now:not(.x-date-active):not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next) .x-date-text{color:var(--x-primary);border-color:var(--x-primary)}.x-picker-year-body .x-picker-date-item.x-date-range-hover:first-child:not(.x-date-last-or-next).x-date-range-hover-end:before,.x-picker-year-body .x-picker-date-item.x-date-range-hover.x-date-first-day.x-date-range-hover-end:before{width:3.5rem}.x-picker-year-body .x-picker-date-item.x-date-range-hover:last-child:not(.x-date-last-or-next).x-date-range-hover-start:before,.x-picker-year-body .x-picker-date-item.x-date-range-hover.x-date-last-day.x-date-range-hover-start:before{width:3.5rem}.x-picker-year-body .x-picker-date-item.x-date-range-hover.x-date-first-day:last-child:not(.x-date-last-or-next):before,.x-picker-year-body .x-picker-date-item.x-date-range-hover.x-date-last-day:first-child:not(.x-date-last-or-next):before{width:3.5rem}.x-picker-year-body .x-picker-date-item.x-date-disabled{cursor:default;background-color:var(--x-background-a200);color:var(--x-text-700)}.x-picker-year .x-visibility{visibility:hidden}\n"], dependencies: [{ kind: "pipe", type: DatePipe, name: "date" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: XLinkComponent, selector: "x-link" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1826
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XPickerYearComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1827
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.4", type: XPickerYearComponent, isStandalone: true, selector: "x-picker-year", providers: [DatePipe], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-picker-year\">\r\n @if (showHeader()) {\r\n <div class=\"x-picker-year-header\">\r\n <x-link [class.x-visibility]=\"!lastYearBtn()\" icon=\"fto-chevrons-left\" (click)=\"nextYears(-10)\"></x-link>\r\n <div class=\"x-picker-year-year-month\">\r\n <x-link>{{ start() }}</x-link> -\r\n <x-link>{{ end() }}</x-link>\r\n </div>\r\n <x-link [class.x-visibility]=\"!nextYearBtn()\" icon=\"fto-chevrons-right\" (click)=\"nextYears(10)\"></x-link>\r\n </div>\r\n }\r\n <div class=\"x-picker-year-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n @for (years of chunkDates(); track $index) {\r\n <tr>\r\n @for (year of years; track year.date) {\r\n <td\r\n class=\"x-picker-date-item\"\r\n [class.x-date-disabled]=\"year.isDisabled\"\r\n [class.x-date-last-or-next]=\"year.isLastOrNext\"\r\n [class.x-date-now]=\"year.isNow\"\r\n [class.x-date-first-day]=\"year.isFirstDay\"\r\n [class.x-date-last-day]=\"year.isLastDay\"\r\n [class.x-date-range-start]=\"rangePicker() && isStartYear(year.date!)\"\r\n [class.x-date-range-end]=\"rangePicker() && isEndYear(year.date!)\"\r\n [class.x-date-range-start-left]=\"rangePicker() && year.isRangeStartLeft\"\r\n [class.x-date-range-start-right]=\"rangePicker() && year.isRangeStartRight\"\r\n [class.x-date-range-end-left]=\"rangePicker() && year.isRangeEndLeft\"\r\n [class.x-date-range-end-right]=\"rangePicker() && year.isRangeEndRight\"\r\n [class.x-date-range-hover]=\"rangePicker() && year.isRangeHover\"\r\n [class.x-date-range-hover-start-left]=\"rangePicker() && year.isRangeHoverStartLeft\"\r\n [class.x-date-range-hover-start-right]=\"rangePicker() && year.isRangeHoverStartRight\"\r\n [class.x-date-range-hover-end-left]=\"rangePicker() && year.isRangeHoverEndLeft\"\r\n [class.x-date-range-hover-end-right]=\"rangePicker() && year.isRangeHoverEndRight\"\r\n [class.x-date-range-hover-start]=\"rangePicker() && year.isRangeHoverStart\"\r\n [class.x-date-range-hover-end]=\"rangePicker() && year.isRangeHoverEnd\"\r\n [class.x-date-in-range]=\"rangePicker() && year.isInRange\"\r\n [class.x-date-in-range-hover]=\"rangePicker() && year.isInRangeHover\"\r\n [class.x-date-active]=\"!rangePicker() && (year.date | date: 'yyyy') === (model() | date: 'yyyy')\"\r\n [title]=\"year.date | date: 'yyyy'\"\r\n (click)=\"!year.isDisabled && yearClick(year)\"\r\n (mouseenter)=\"!year.isDisabled && rangePicker() && onTdMouseenter(year)\"\r\n (mouseleave)=\"!year.isDisabled && rangePicker() && onTdMouseleave(year)\"\r\n >\r\n @if (yearTemp()) {\r\n <ng-container *ngTemplateOutlet=\"yearTemp()!; context: { date$: year.date }\"></ng-container>\r\n } @else {\r\n <div class=\"x-date-text\">\r\n {{ year.date | date: 'yyyy' }}\r\n </div>\r\n }\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </table>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-picker-year{margin:0;padding:0}.x-picker-year-header{display:flex;align-items:center;justify-content:space-between;padding:0 .5rem;height:2.5rem;border-bottom:var(--x-border-width) solid var(--x-border);color:var(--x-text-500);font-size:var(--x-font-size-medium)}.x-picker-year-header x-link{height:100%;-webkit-user-select:none;user-select:none}.x-picker-year-header .x-link{padding:0 .25rem}.x-picker-year-year-month{flex:1;text-align:center;color:var(--x-text);font-size:var(--x-font-size)}.x-picker-year-body{padding:.1375rem .5rem}.x-picker-year-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-year-body>table tr{padding:.125rem 0;display:flex;align-items:center;justify-content:center}.x-picker-year-body>table td{flex:1;padding:.125rem 0;-webkit-user-select:none;user-select:none}.x-picker-year-body .x-picker-date-item{text-align:center;cursor:pointer;color:var(--x-text-300);position:relative}.x-picker-year-body .x-picker-date-item .x-date-text{width:3.5rem;height:3.25rem;display:flex;align-items:center;justify-content:center;margin:0 auto;border:var(--x-border-width) var(--x-border-style) transparent;border-radius:var(--x-border-radius);transition:var(--x-animation-duration-base);position:relative}.x-picker-year-body .x-picker-date-item:after,.x-picker-year-body .x-picker-date-item:before{height:3.25rem}.x-picker-year-body .x-picker-date-item:hover:not(.x-date-in-range) .x-date-text{background-color:var(--x-background-a200)}.x-picker-year-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next){color:var(--x-background-100)}.x-picker-year-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next) .x-date-text{background-color:var(--x-primary);border-color:var(--x-primary)}.x-picker-year-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover{color:var(--x-background-100)}.x-picker-year-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover .x-date-text{background-color:var(--x-primary)}.x-picker-year-body .x-picker-date-item.x-date-last-or-next{color:var(--x-text-700)}.x-picker-year-body .x-picker-date-item.x-date-now:not(.x-date-active):not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next) .x-date-text{color:var(--x-primary);border-color:var(--x-primary)}.x-picker-year-body .x-picker-date-item.x-date-range-hover:first-child:not(.x-date-last-or-next).x-date-range-hover-end:before,.x-picker-year-body .x-picker-date-item.x-date-range-hover.x-date-first-day.x-date-range-hover-end:before{width:3.5rem}.x-picker-year-body .x-picker-date-item.x-date-range-hover:last-child:not(.x-date-last-or-next).x-date-range-hover-start:before,.x-picker-year-body .x-picker-date-item.x-date-range-hover.x-date-last-day.x-date-range-hover-start:before{width:3.5rem}.x-picker-year-body .x-picker-date-item.x-date-range-hover.x-date-first-day:last-child:not(.x-date-last-or-next):before,.x-picker-year-body .x-picker-date-item.x-date-range-hover.x-date-last-day:first-child:not(.x-date-last-or-next):before{width:3.5rem}.x-picker-year-body .x-picker-date-item.x-date-disabled{cursor:default;background-color:var(--x-background-a300);color:var(--x-text-700)}.x-picker-year .x-visibility{visibility:hidden}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: XLinkComponent, selector: "x-link" }, { kind: "pipe", type: DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1798
1828
  }
1799
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XPickerYearComponent, decorators: [{
1829
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XPickerYearComponent, decorators: [{
1800
1830
  type: Component,
1801
- args: [{ selector: 'x-picker-year', imports: [DatePipe, NgTemplateOutlet, XLinkComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [DatePipe], template: "<div class=\"x-picker-year\">\r\n @if (showHeader()) {\r\n <div class=\"x-picker-year-header\">\r\n <x-link [class.x-visibility]=\"!lastYearBtn()\" icon=\"fto-chevrons-left\" (click)=\"nextYears(-10)\"></x-link>\r\n <div class=\"x-picker-year-year-month\">\r\n <x-link>{{ start() }}</x-link> -\r\n <x-link>{{ end() }}</x-link>\r\n </div>\r\n <x-link [class.x-visibility]=\"!nextYearBtn()\" icon=\"fto-chevrons-right\" (click)=\"nextYears(10)\"></x-link>\r\n </div>\r\n }\r\n <div class=\"x-picker-year-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n @for (years of chunkDates(); track $index) {\r\n <tr>\r\n @for (year of years; track year.date) {\r\n <td\r\n class=\"x-picker-date-item\"\r\n [class.x-date-disabled]=\"year.isDisabled\"\r\n [class.x-date-last-or-next]=\"year.isLastOrNext\"\r\n [class.x-date-now]=\"year.isNow\"\r\n [class.x-date-first-day]=\"year.isFirstDay\"\r\n [class.x-date-last-day]=\"year.isLastDay\"\r\n [class.x-date-range-start]=\"rangePicker() && isStartYear(year.date!)\"\r\n [class.x-date-range-end]=\"rangePicker() && isEndYear(year.date!)\"\r\n [class.x-date-range-start-left]=\"rangePicker() && year.isRangeStartLeft\"\r\n [class.x-date-range-start-right]=\"rangePicker() && year.isRangeStartRight\"\r\n [class.x-date-range-end-left]=\"rangePicker() && year.isRangeEndLeft\"\r\n [class.x-date-range-end-right]=\"rangePicker() && year.isRangeEndRight\"\r\n [class.x-date-range-hover]=\"rangePicker() && year.isRangeHover\"\r\n [class.x-date-range-hover-start-left]=\"rangePicker() && year.isRangeHoverStartLeft\"\r\n [class.x-date-range-hover-start-right]=\"rangePicker() && year.isRangeHoverStartRight\"\r\n [class.x-date-range-hover-end-left]=\"rangePicker() && year.isRangeHoverEndLeft\"\r\n [class.x-date-range-hover-end-right]=\"rangePicker() && year.isRangeHoverEndRight\"\r\n [class.x-date-range-hover-start]=\"rangePicker() && year.isRangeHoverStart\"\r\n [class.x-date-range-hover-end]=\"rangePicker() && year.isRangeHoverEnd\"\r\n [class.x-date-in-range]=\"rangePicker() && year.isInRange\"\r\n [class.x-date-in-range-hover]=\"rangePicker() && year.isInRangeHover\"\r\n [class.x-date-active]=\"!rangePicker() && (year.date | date: 'yyyy') === (model() | date: 'yyyy')\"\r\n [title]=\"year.date | date: 'yyyy'\"\r\n (click)=\"!year.isDisabled && yearClick(year)\"\r\n (mouseenter)=\"!year.isDisabled && rangePicker() && onTdMouseenter(year)\"\r\n (mouseleave)=\"!year.isDisabled && rangePicker() && onTdMouseleave(year)\"\r\n >\r\n @if (yearTemp()) {\r\n <ng-container *ngTemplateOutlet=\"yearTemp()!; context: { date$: year.date }\"></ng-container>\r\n } @else {\r\n <div class=\"x-date-text\">\r\n {{ year.date | date: 'yyyy' }}\r\n </div>\r\n }\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </table>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-picker-year{margin:0;padding:0}.x-picker-year-header{display:flex;align-items:center;justify-content:space-between;padding:0 .5rem;height:2.5rem;border-bottom:var(--x-border-width) solid var(--x-border);color:var(--x-text-500);font-size:var(--x-font-size-medium)}.x-picker-year-header x-link{height:100%;-webkit-user-select:none;user-select:none}.x-picker-year-header .x-link{padding:0 .25rem}.x-picker-year-year-month{flex:1;text-align:center;color:var(--x-text);font-size:var(--x-font-size)}.x-picker-year-body{padding:.1375rem .5rem}.x-picker-year-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-year-body>table tr{padding:.125rem 0;display:flex;align-items:center;justify-content:center}.x-picker-year-body>table td{flex:1;padding:.125rem 0;-webkit-user-select:none;user-select:none}.x-picker-year-body .x-picker-date-item{text-align:center;cursor:pointer;color:var(--x-text-300);position:relative}.x-picker-year-body .x-picker-date-item .x-date-text{width:3.5rem;height:3.25rem;display:flex;align-items:center;justify-content:center;margin:0 auto;border:var(--x-border-width) var(--x-border-style) transparent;border-radius:var(--x-border-radius);transition:var(--x-animation-duration-base);position:relative}.x-picker-year-body .x-picker-date-item:after,.x-picker-year-body .x-picker-date-item:before{height:3.25rem}.x-picker-year-body .x-picker-date-item:hover:not(.x-date-in-range) .x-date-text{background-color:var(--x-background-a200)}.x-picker-year-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next){color:var(--x-background-100)}.x-picker-year-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next) .x-date-text{background-color:var(--x-primary);border-color:var(--x-primary)}.x-picker-year-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover{color:var(--x-background-100)}.x-picker-year-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover .x-date-text{background-color:var(--x-primary)}.x-picker-year-body .x-picker-date-item.x-date-last-or-next{color:var(--x-text-700)}.x-picker-year-body .x-picker-date-item.x-date-now:not(.x-date-active):not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next) .x-date-text{color:var(--x-primary);border-color:var(--x-primary)}.x-picker-year-body .x-picker-date-item.x-date-range-hover:first-child:not(.x-date-last-or-next).x-date-range-hover-end:before,.x-picker-year-body .x-picker-date-item.x-date-range-hover.x-date-first-day.x-date-range-hover-end:before{width:3.5rem}.x-picker-year-body .x-picker-date-item.x-date-range-hover:last-child:not(.x-date-last-or-next).x-date-range-hover-start:before,.x-picker-year-body .x-picker-date-item.x-date-range-hover.x-date-last-day.x-date-range-hover-start:before{width:3.5rem}.x-picker-year-body .x-picker-date-item.x-date-range-hover.x-date-first-day:last-child:not(.x-date-last-or-next):before,.x-picker-year-body .x-picker-date-item.x-date-range-hover.x-date-last-day:first-child:not(.x-date-last-or-next):before{width:3.5rem}.x-picker-year-body .x-picker-date-item.x-date-disabled{cursor:default;background-color:var(--x-background-a200);color:var(--x-text-700)}.x-picker-year .x-visibility{visibility:hidden}\n"] }]
1831
+ args: [{ selector: 'x-picker-year', imports: [DatePipe, NgTemplateOutlet, XLinkComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [DatePipe], template: "<div class=\"x-picker-year\">\r\n @if (showHeader()) {\r\n <div class=\"x-picker-year-header\">\r\n <x-link [class.x-visibility]=\"!lastYearBtn()\" icon=\"fto-chevrons-left\" (click)=\"nextYears(-10)\"></x-link>\r\n <div class=\"x-picker-year-year-month\">\r\n <x-link>{{ start() }}</x-link> -\r\n <x-link>{{ end() }}</x-link>\r\n </div>\r\n <x-link [class.x-visibility]=\"!nextYearBtn()\" icon=\"fto-chevrons-right\" (click)=\"nextYears(10)\"></x-link>\r\n </div>\r\n }\r\n <div class=\"x-picker-year-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n @for (years of chunkDates(); track $index) {\r\n <tr>\r\n @for (year of years; track year.date) {\r\n <td\r\n class=\"x-picker-date-item\"\r\n [class.x-date-disabled]=\"year.isDisabled\"\r\n [class.x-date-last-or-next]=\"year.isLastOrNext\"\r\n [class.x-date-now]=\"year.isNow\"\r\n [class.x-date-first-day]=\"year.isFirstDay\"\r\n [class.x-date-last-day]=\"year.isLastDay\"\r\n [class.x-date-range-start]=\"rangePicker() && isStartYear(year.date!)\"\r\n [class.x-date-range-end]=\"rangePicker() && isEndYear(year.date!)\"\r\n [class.x-date-range-start-left]=\"rangePicker() && year.isRangeStartLeft\"\r\n [class.x-date-range-start-right]=\"rangePicker() && year.isRangeStartRight\"\r\n [class.x-date-range-end-left]=\"rangePicker() && year.isRangeEndLeft\"\r\n [class.x-date-range-end-right]=\"rangePicker() && year.isRangeEndRight\"\r\n [class.x-date-range-hover]=\"rangePicker() && year.isRangeHover\"\r\n [class.x-date-range-hover-start-left]=\"rangePicker() && year.isRangeHoverStartLeft\"\r\n [class.x-date-range-hover-start-right]=\"rangePicker() && year.isRangeHoverStartRight\"\r\n [class.x-date-range-hover-end-left]=\"rangePicker() && year.isRangeHoverEndLeft\"\r\n [class.x-date-range-hover-end-right]=\"rangePicker() && year.isRangeHoverEndRight\"\r\n [class.x-date-range-hover-start]=\"rangePicker() && year.isRangeHoverStart\"\r\n [class.x-date-range-hover-end]=\"rangePicker() && year.isRangeHoverEnd\"\r\n [class.x-date-in-range]=\"rangePicker() && year.isInRange\"\r\n [class.x-date-in-range-hover]=\"rangePicker() && year.isInRangeHover\"\r\n [class.x-date-active]=\"!rangePicker() && (year.date | date: 'yyyy') === (model() | date: 'yyyy')\"\r\n [title]=\"year.date | date: 'yyyy'\"\r\n (click)=\"!year.isDisabled && yearClick(year)\"\r\n (mouseenter)=\"!year.isDisabled && rangePicker() && onTdMouseenter(year)\"\r\n (mouseleave)=\"!year.isDisabled && rangePicker() && onTdMouseleave(year)\"\r\n >\r\n @if (yearTemp()) {\r\n <ng-container *ngTemplateOutlet=\"yearTemp()!; context: { date$: year.date }\"></ng-container>\r\n } @else {\r\n <div class=\"x-date-text\">\r\n {{ year.date | date: 'yyyy' }}\r\n </div>\r\n }\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </table>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-picker-year{margin:0;padding:0}.x-picker-year-header{display:flex;align-items:center;justify-content:space-between;padding:0 .5rem;height:2.5rem;border-bottom:var(--x-border-width) solid var(--x-border);color:var(--x-text-500);font-size:var(--x-font-size-medium)}.x-picker-year-header x-link{height:100%;-webkit-user-select:none;user-select:none}.x-picker-year-header .x-link{padding:0 .25rem}.x-picker-year-year-month{flex:1;text-align:center;color:var(--x-text);font-size:var(--x-font-size)}.x-picker-year-body{padding:.1375rem .5rem}.x-picker-year-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-year-body>table tr{padding:.125rem 0;display:flex;align-items:center;justify-content:center}.x-picker-year-body>table td{flex:1;padding:.125rem 0;-webkit-user-select:none;user-select:none}.x-picker-year-body .x-picker-date-item{text-align:center;cursor:pointer;color:var(--x-text-300);position:relative}.x-picker-year-body .x-picker-date-item .x-date-text{width:3.5rem;height:3.25rem;display:flex;align-items:center;justify-content:center;margin:0 auto;border:var(--x-border-width) var(--x-border-style) transparent;border-radius:var(--x-border-radius);transition:var(--x-animation-duration-base);position:relative}.x-picker-year-body .x-picker-date-item:after,.x-picker-year-body .x-picker-date-item:before{height:3.25rem}.x-picker-year-body .x-picker-date-item:hover:not(.x-date-in-range) .x-date-text{background-color:var(--x-background-a200)}.x-picker-year-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next){color:var(--x-background-100)}.x-picker-year-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next) .x-date-text{background-color:var(--x-primary);border-color:var(--x-primary)}.x-picker-year-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover{color:var(--x-background-100)}.x-picker-year-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover .x-date-text{background-color:var(--x-primary)}.x-picker-year-body .x-picker-date-item.x-date-last-or-next{color:var(--x-text-700)}.x-picker-year-body .x-picker-date-item.x-date-now:not(.x-date-active):not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next) .x-date-text{color:var(--x-primary);border-color:var(--x-primary)}.x-picker-year-body .x-picker-date-item.x-date-range-hover:first-child:not(.x-date-last-or-next).x-date-range-hover-end:before,.x-picker-year-body .x-picker-date-item.x-date-range-hover.x-date-first-day.x-date-range-hover-end:before{width:3.5rem}.x-picker-year-body .x-picker-date-item.x-date-range-hover:last-child:not(.x-date-last-or-next).x-date-range-hover-start:before,.x-picker-year-body .x-picker-date-item.x-date-range-hover.x-date-last-day.x-date-range-hover-start:before{width:3.5rem}.x-picker-year-body .x-picker-date-item.x-date-range-hover.x-date-first-day:last-child:not(.x-date-last-or-next):before,.x-picker-year-body .x-picker-date-item.x-date-range-hover.x-date-last-day:first-child:not(.x-date-last-or-next):before{width:3.5rem}.x-picker-year-body .x-picker-date-item.x-date-disabled{cursor:default;background-color:var(--x-background-a300);color:var(--x-text-700)}.x-picker-year .x-visibility{visibility:hidden}\n"] }]
1802
1832
  }] });
1803
1833
 
1804
1834
  class XDatePickerPortalComponent {
1805
1835
  constructor() {
1806
1836
  this.i18n = inject(XI18nService);
1807
- this._type = signal('date');
1808
- this.destroy = signal(false);
1837
+ this._type = signal('date', ...(ngDevMode ? [{ debugName: "_type" }] : []));
1838
+ this.destroy = signal(false, ...(ngDevMode ? [{ debugName: "destroy" }] : []));
1809
1839
  this.destroyRef = inject(DestroyRef);
1810
- this.timePickerFrame = viewChild('timePickerFrame', { read: XTimePickerFrameComponent });
1811
- this.value = input();
1812
- this.type = model('date');
1813
- this.preset = input([]);
1814
- this.extraFooter = input();
1815
- this.placement = input();
1816
- this.inputCom = input();
1817
- this.disabledDate = input();
1818
- this.disabledTime = input();
1840
+ this.timePickerFrame = viewChild('timePickerFrame', ...(ngDevMode ? [{ debugName: "timePickerFrame", read: XTimePickerFrameComponent }] : [{ read: XTimePickerFrameComponent }]));
1841
+ this.value = input(...(ngDevMode ? [undefined, { debugName: "value" }] : []));
1842
+ this.type = model('date', ...(ngDevMode ? [{ debugName: "type" }] : []));
1843
+ this.preset = input([], ...(ngDevMode ? [{ debugName: "preset" }] : []));
1844
+ this.extraFooter = input(...(ngDevMode ? [undefined, { debugName: "extraFooter" }] : []));
1845
+ this.placement = input(...(ngDevMode ? [undefined, { debugName: "placement" }] : []));
1846
+ this.inputCom = input(...(ngDevMode ? [undefined, { debugName: "inputCom" }] : []));
1847
+ this.disabledDate = input(...(ngDevMode ? [undefined, { debugName: "disabledDate" }] : []));
1848
+ this.disabledTime = input(...(ngDevMode ? [undefined, { debugName: "disabledTime" }] : []));
1819
1849
  this.animating = output();
1820
1850
  this.nodeClick = output();
1821
- this.display = signal(new Date());
1822
- this.model = signal(null);
1851
+ this.display = signal(new Date(), ...(ngDevMode ? [{ debugName: "display" }] : []));
1852
+ this.model = signal(null, ...(ngDevMode ? [{ debugName: "model" }] : []));
1823
1853
  this.locale = toSignal(this.i18n.localeChange.pipe(map((x) => x.datePicker)), {
1824
1854
  initialValue: zh_CN.datePicker
1825
1855
  });
1826
- this.time = signal(null);
1856
+ this.time = signal(null, ...(ngDevMode ? [{ debugName: "time" }] : []));
1827
1857
  this.isDatePicker = computed(() => {
1828
1858
  return ['date', 'month', 'year'].includes(this.type());
1829
- });
1859
+ }, ...(ngDevMode ? [{ debugName: "isDatePicker" }] : []));
1830
1860
  this.sureDisabled = computed(() => {
1831
1861
  let res = XIsUndefined(this.time());
1832
1862
  let timePickerFrame = this.timePickerFrame();
@@ -1840,7 +1870,7 @@ class XDatePickerPortalComponent {
1840
1870
  timePickerFrame.setDisabled('seconds', seconds));
1841
1871
  }
1842
1872
  return res;
1843
- });
1873
+ }, ...(ngDevMode ? [{ debugName: "sureDisabled" }] : []));
1844
1874
  }
1845
1875
  get getPlacement() {
1846
1876
  return this.placement();
@@ -1952,10 +1982,10 @@ class XDatePickerPortalComponent {
1952
1982
  this.model.set(new Date(date.getFullYear(), date.getMonth(), date.getDate(), time.getHours(), time.getMinutes(), time.getSeconds()));
1953
1983
  return this.model();
1954
1984
  }
1955
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XDatePickerPortalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1956
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.0", type: XDatePickerPortalComponent, isStandalone: true, selector: "x-date-picker-portal", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, preset: { classPropertyName: "preset", publicName: "preset", isSignal: true, isRequired: false, transformFunction: null }, extraFooter: { classPropertyName: "extraFooter", publicName: "extraFooter", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, inputCom: { classPropertyName: "inputCom", publicName: "inputCom", isSignal: true, isRequired: false, transformFunction: null }, disabledDate: { classPropertyName: "disabledDate", publicName: "disabledDate", isSignal: true, isRequired: false, transformFunction: null }, disabledTime: { classPropertyName: "disabledTime", publicName: "disabledTime", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { type: "typeChange", animating: "animating", nodeClick: "nodeClick" }, host: { listeners: { "@x-connect-base-animation.done": "done($event)", "@x-connect-base-animation.start": "start($event)" }, properties: { "@x-connect-base-animation": "this.getPlacement" } }, providers: [DatePipe, LowerCasePipe], viewQueries: [{ propertyName: "timePickerFrame", first: true, predicate: ["timePickerFrame"], descendants: true, read: XTimePickerFrameComponent, isSignal: true }], ngImport: i0, template: "<div class=\"x-date-picker-portal {{ type() }}\" (click)=\"inputCom()?.inputFocus('focus')\">\r\n @switch (type()) {\r\n @case ('date') {\r\n <x-picker-date\r\n [(display)]=\"display\"\r\n [(model)]=\"model\"\r\n [(type)]=\"type\"\r\n (modelChange)=\"dateChange($event!)\"\r\n [disabledDate]=\"disabledDate()\"\r\n ></x-picker-date>\r\n }\r\n @case ('week') {\r\n <x-picker-date\r\n [(display)]=\"display\"\r\n [(model)]=\"model\"\r\n [(type)]=\"type\"\r\n (modelChange)=\"dateChange($event!)\"\r\n [disabledDate]=\"disabledDate()\"\r\n ></x-picker-date>\r\n }\r\n @case ('month') {\r\n <x-picker-month\r\n [(display)]=\"display\"\r\n [(model)]=\"model\"\r\n [(type)]=\"type\"\r\n (modelChange)=\"monthChange($event!)\"\r\n [disabledDate]=\"disabledDate()\"\r\n ></x-picker-month>\r\n }\r\n @case ('quarter') {\r\n <x-picker-quarter\r\n [(display)]=\"display\"\r\n [(model)]=\"model\"\r\n [(type)]=\"type\"\r\n (modelChange)=\"quarterChange($event!)\"\r\n [disabledDate]=\"disabledDate()\"\r\n ></x-picker-quarter>\r\n }\r\n @case ('year') {\r\n <x-picker-year\r\n [(display)]=\"display\"\r\n [(model)]=\"model\"\r\n [(type)]=\"type\"\r\n (modelChange)=\"yearChange($event!)\"\r\n [disabledDate]=\"disabledDate()\"\r\n ></x-picker-year>\r\n }\r\n @case ('date-time') {\r\n <ng-container\r\n *ngTemplateOutlet=\"dateTimeHourMinuteTpl; context: { timeFormat: 'HH:mm:ss', timeType: 'time' }\"\r\n ></ng-container>\r\n }\r\n @case ('date-hour') {\r\n <ng-container\r\n *ngTemplateOutlet=\"dateTimeHourMinuteTpl; context: { timeFormat: 'HH', timeType: 'hour' }\"\r\n ></ng-container>\r\n }\r\n @case ('date-minute') {\r\n <ng-container\r\n *ngTemplateOutlet=\"dateTimeHourMinuteTpl; context: { timeFormat: 'HH:mm', timeType: 'minute' }\"\r\n ></ng-container>\r\n }\r\n @case ('month') {}\r\n }\r\n @if (isDatePicker()) {\r\n @if (extraFooter()) {\r\n <div class=\"x-date-picker-portal-extra-footer\">\r\n <ng-container *xOutlet=\"extraFooter()\">{{ extraFooter() }}</ng-container>\r\n </div>\r\n }\r\n <ng-container *ngTemplateOutlet=\"presetTpl\"></ng-container>\r\n }\r\n</div>\r\n\r\n<ng-template #dateTimeHourMinuteTpl let-timeFormat=\"timeFormat\" let-timeType=\"timeType\">\r\n <div class=\"x-date-picker-portal-content\">\r\n <div class=\"x-date-picker-portal-date\">\r\n <x-picker-date\r\n [(display)]=\"display\"\r\n [(type)]=\"type\"\r\n [(model)]=\"model\"\r\n (modelChange)=\"dateChange($event!)\"\r\n [disabledDate]=\"disabledDate()\"\r\n ></x-picker-date>\r\n </div>\r\n <div class=\"x-date-picker-portal-time\">\r\n <div class=\"x-date-picker-portal-time-label\">\r\n {{ time() | date: timeFormat }}\r\n </div>\r\n <x-time-picker-frame\r\n #timePickerFrameD\r\n [type]=\"timeType\"\r\n [value]=\"time()\"\r\n (nodeEmit)=\"selectTime($event)\"\r\n [disabledTime]=\"disabledTime()\"\r\n [defaultNow]=\"false\"\r\n ></x-time-picker-frame>\r\n </div>\r\n </div>\r\n @if (!isDatePicker() && extraFooter()) {\r\n <div class=\"x-date-picker-portal-extra-footer\">\r\n <ng-container *xOutlet=\"extraFooter()\">{{ extraFooter() }}</ng-container>\r\n </div>\r\n }\r\n <div class=\"x-date-picker-portal-footer\">\r\n <div class=\"x-date-picker-portal-footer-left\">\r\n @if (!isDatePicker() && preset()) {\r\n <ng-container *ngTemplateOutlet=\"presetTpl\"></ng-container>\r\n }\r\n </div>\r\n <x-button\r\n type=\"primary\"\r\n text\r\n (click)=\"!sureDisabled() && nodeClick.emit({ date: model()!, sure: true })\"\r\n size=\"small\"\r\n [disabled]=\"sureDisabled()\"\r\n >{{ locale().sure }}</x-button\r\n >\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #presetTpl>\r\n @if (preset()) {\r\n <div class=\"x-date-picker-portal-preset\">\r\n @for (item of preset(); track item) {\r\n @switch (item.id) {\r\n @case ('yesterday') {\r\n <x-link (click)=\"onYesterday()\">{{ locale().yesterday }}</x-link>\r\n }\r\n @case ('today') {\r\n <x-link (click)=\"onToday()\">{{ locale().today }}</x-link>\r\n }\r\n @case ('tomorrow') {\r\n <x-link (click)=\"onTomorrow()\">{{ locale().tomorrow }}</x-link>\r\n }\r\n }\r\n @if (!!item.func) {\r\n <x-link (click)=\"onPresetFunc(item)\">{{ item.label }}</x-link>\r\n }\r\n }\r\n </div>\r\n }\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";.x-date-picker-portal{margin:.0625rem 0;font-size:var(--x-font-size);color:var(--x-text);border-radius:var(--x-border-small-radius);box-shadow:var(--x-box-shadow);background-color:var(--x-background-100);width:16rem;display:flex;flex-direction:column}.x-date-picker-portal.week{width:18.125rem}.x-date-picker-portal.week .x-picker-date-body .x-picker-date-item:not(.x-date-in-range):not(.x-date-active) .x-date-text{background-color:transparent}.x-date-picker-portal.week .x-picker-date-body tbody tr:not(.x-date-week-active):hover .x-picker-date-item:not(.x-date-in-range){background-color:var(--x-background-a200)}.x-date-picker-portal.week .x-picker-date-body tbody tr:not(.x-date-week-active):hover .x-picker-date-item:not(.x-date-in-range):first-child{border-top-left-radius:var(--x-border-radius);border-bottom-left-radius:var(--x-border-radius)}.x-date-picker-portal.week .x-picker-date-body tbody tr:not(.x-date-week-active):hover .x-picker-date-item:not(.x-date-in-range):last-child{border-top-right-radius:var(--x-border-radius);border-bottom-right-radius:var(--x-border-radius)}.x-date-picker-portal.date-time{width:27rem}.x-date-picker-portal.date-hour{width:19.75rem}.x-date-picker-portal.date-minute{width:23.375rem}.x-date-picker-portal-preset{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;border-top:var(--x-border-width) solid var(--x-border)}.x-date-picker-portal-preset>x-link{padding:.25rem}.x-date-picker-portal-preset>x-link:not(:first-child){margin-left:1rem}.x-date-picker-portal-body{padding:.4rem}.x-date-picker-portal-content{display:flex}.x-date-picker-portal-footer{display:flex;align-items:center;justify-content:space-between;border-top:var(--x-border-width) var(--x-border-style) var(--x-border);padding:.5rem}.x-date-picker-portal-footer .x-date-picker-portal-preset{border-top:none}.x-date-picker-portal-footer .x-date-picker-portal-preset>x-link{padding:0 .25rem}.x-date-picker-portal-extra-footer{display:flex;align-items:center;border-top:var(--x-border-width) var(--x-border-style) var(--x-border);padding:.5rem}.x-date-picker-portal-date{flex:1}.x-date-picker-portal-time{display:flex;flex-direction:column;border-left:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-date-picker-portal-time-label{display:flex;align-items:center;justify-content:center;padding:0 .5rem;height:2.5rem;border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-date-picker-portal-time .x-time-picker-frame{border-width:0;box-shadow:none;margin:0}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "component", type: XPickerDateComponent, selector: "x-picker-date" }, { kind: "component", type: XPickerMonthComponent, selector: "x-picker-month" }, { kind: "component", type: XPickerQuarterComponent, selector: "x-picker-quarter" }, { kind: "component", type: XPickerYearComponent, selector: "x-picker-year" }, { kind: "ngmodule", type: XTimePickerModule }, { kind: "component", type: i1.XTimePickerFrameComponent, selector: "x-time-picker-frame", inputs: ["type", "value", "use12Hours", "hourStep", "minuteStep", "secondStep", "defaultNow", "disabledTime", "disabledTimeParam"], outputs: ["nodeEmit"] }, { kind: "component", type: XButtonComponent, selector: "x-button" }, { kind: "component", type: XLinkComponent, selector: "x-link" }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], animations: [XConnectBaseAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1985
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XDatePickerPortalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1986
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.4", type: XDatePickerPortalComponent, isStandalone: true, selector: "x-date-picker-portal", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, preset: { classPropertyName: "preset", publicName: "preset", isSignal: true, isRequired: false, transformFunction: null }, extraFooter: { classPropertyName: "extraFooter", publicName: "extraFooter", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, inputCom: { classPropertyName: "inputCom", publicName: "inputCom", isSignal: true, isRequired: false, transformFunction: null }, disabledDate: { classPropertyName: "disabledDate", publicName: "disabledDate", isSignal: true, isRequired: false, transformFunction: null }, disabledTime: { classPropertyName: "disabledTime", publicName: "disabledTime", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { type: "typeChange", animating: "animating", nodeClick: "nodeClick" }, host: { listeners: { "@x-connect-base-animation.done": "done($event)", "@x-connect-base-animation.start": "start($event)" }, properties: { "@x-connect-base-animation": "this.getPlacement" } }, providers: [DatePipe, LowerCasePipe], viewQueries: [{ propertyName: "timePickerFrame", first: true, predicate: ["timePickerFrame"], descendants: true, read: XTimePickerFrameComponent, isSignal: true }], ngImport: i0, template: "<div class=\"x-date-picker-portal {{ type() }}\" (click)=\"inputCom()?.inputFocus('focus')\">\r\n @switch (type()) {\r\n @case ('date') {\r\n <x-picker-date\r\n [(display)]=\"display\"\r\n [(model)]=\"model\"\r\n [(type)]=\"type\"\r\n (modelChange)=\"dateChange($event!)\"\r\n [disabledDate]=\"disabledDate()\"\r\n ></x-picker-date>\r\n }\r\n @case ('week') {\r\n <x-picker-date\r\n [(display)]=\"display\"\r\n [(model)]=\"model\"\r\n [(type)]=\"type\"\r\n (modelChange)=\"dateChange($event!)\"\r\n [disabledDate]=\"disabledDate()\"\r\n ></x-picker-date>\r\n }\r\n @case ('month') {\r\n <x-picker-month\r\n [(display)]=\"display\"\r\n [(model)]=\"model\"\r\n [(type)]=\"type\"\r\n (modelChange)=\"monthChange($event!)\"\r\n [disabledDate]=\"disabledDate()\"\r\n ></x-picker-month>\r\n }\r\n @case ('quarter') {\r\n <x-picker-quarter\r\n [(display)]=\"display\"\r\n [(model)]=\"model\"\r\n [(type)]=\"type\"\r\n (modelChange)=\"quarterChange($event!)\"\r\n [disabledDate]=\"disabledDate()\"\r\n ></x-picker-quarter>\r\n }\r\n @case ('year') {\r\n <x-picker-year\r\n [(display)]=\"display\"\r\n [(model)]=\"model\"\r\n [(type)]=\"type\"\r\n (modelChange)=\"yearChange($event!)\"\r\n [disabledDate]=\"disabledDate()\"\r\n ></x-picker-year>\r\n }\r\n @case ('date-time') {\r\n <ng-container\r\n *ngTemplateOutlet=\"dateTimeHourMinuteTpl; context: { timeFormat: 'HH:mm:ss', timeType: 'time' }\"\r\n ></ng-container>\r\n }\r\n @case ('date-hour') {\r\n <ng-container\r\n *ngTemplateOutlet=\"dateTimeHourMinuteTpl; context: { timeFormat: 'HH', timeType: 'hour' }\"\r\n ></ng-container>\r\n }\r\n @case ('date-minute') {\r\n <ng-container\r\n *ngTemplateOutlet=\"dateTimeHourMinuteTpl; context: { timeFormat: 'HH:mm', timeType: 'minute' }\"\r\n ></ng-container>\r\n }\r\n @case ('month') {}\r\n }\r\n @if (isDatePicker()) {\r\n @if (extraFooter()) {\r\n <div class=\"x-date-picker-portal-extra-footer\">\r\n <ng-container *xOutlet=\"extraFooter()\">{{ extraFooter() }}</ng-container>\r\n </div>\r\n }\r\n <ng-container *ngTemplateOutlet=\"presetTpl\"></ng-container>\r\n }\r\n</div>\r\n\r\n<ng-template #dateTimeHourMinuteTpl let-timeFormat=\"timeFormat\" let-timeType=\"timeType\">\r\n <div class=\"x-date-picker-portal-content\">\r\n <div class=\"x-date-picker-portal-date\">\r\n <x-picker-date\r\n [(display)]=\"display\"\r\n [(type)]=\"type\"\r\n [(model)]=\"model\"\r\n (modelChange)=\"dateChange($event!)\"\r\n [disabledDate]=\"disabledDate()\"\r\n ></x-picker-date>\r\n </div>\r\n <div class=\"x-date-picker-portal-time\">\r\n <div class=\"x-date-picker-portal-time-label\">\r\n {{ time() | date: timeFormat }}\r\n </div>\r\n <x-time-picker-frame\r\n #timePickerFrameD\r\n [type]=\"timeType\"\r\n [value]=\"time()\"\r\n (nodeEmit)=\"selectTime($event)\"\r\n [disabledTime]=\"disabledTime()\"\r\n [defaultNow]=\"false\"\r\n ></x-time-picker-frame>\r\n </div>\r\n </div>\r\n @if (!isDatePicker() && extraFooter()) {\r\n <div class=\"x-date-picker-portal-extra-footer\">\r\n <ng-container *xOutlet=\"extraFooter()\">{{ extraFooter() }}</ng-container>\r\n </div>\r\n }\r\n <div class=\"x-date-picker-portal-footer\">\r\n <div class=\"x-date-picker-portal-footer-left\">\r\n @if (!isDatePicker() && preset()) {\r\n <ng-container *ngTemplateOutlet=\"presetTpl\"></ng-container>\r\n }\r\n </div>\r\n <x-button\r\n type=\"primary\"\r\n text\r\n (click)=\"!sureDisabled() && nodeClick.emit({ date: model()!, sure: true })\"\r\n size=\"small\"\r\n [disabled]=\"sureDisabled()\"\r\n >{{ locale().sure }}</x-button\r\n >\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #presetTpl>\r\n @if (preset()) {\r\n <div class=\"x-date-picker-portal-preset\">\r\n @for (item of preset(); track item) {\r\n @switch (item.id) {\r\n @case ('yesterday') {\r\n <x-link (click)=\"onYesterday()\">{{ locale().yesterday }}</x-link>\r\n }\r\n @case ('today') {\r\n <x-link (click)=\"onToday()\">{{ locale().today }}</x-link>\r\n }\r\n @case ('tomorrow') {\r\n <x-link (click)=\"onTomorrow()\">{{ locale().tomorrow }}</x-link>\r\n }\r\n }\r\n @if (!!item.func) {\r\n <x-link (click)=\"onPresetFunc(item)\">{{ item.label }}</x-link>\r\n }\r\n }\r\n </div>\r\n }\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";.x-date-picker-portal{margin:.0625rem 0;font-size:var(--x-font-size);color:var(--x-text);border-radius:var(--x-border-small-radius);box-shadow:var(--x-box-shadow);background-color:var(--x-background-100);width:16rem;display:flex;flex-direction:column}.x-date-picker-portal.week{width:18.125rem}.x-date-picker-portal.week .x-picker-date-body .x-picker-date-item:not(.x-date-in-range):not(.x-date-active) .x-date-text{background-color:transparent}.x-date-picker-portal.week .x-picker-date-body tbody tr:not(.x-date-week-active):hover .x-picker-date-item:not(.x-date-in-range){background-color:var(--x-background-a200)}.x-date-picker-portal.week .x-picker-date-body tbody tr:not(.x-date-week-active):hover .x-picker-date-item:not(.x-date-in-range):first-child{border-top-left-radius:var(--x-border-radius);border-bottom-left-radius:var(--x-border-radius)}.x-date-picker-portal.week .x-picker-date-body tbody tr:not(.x-date-week-active):hover .x-picker-date-item:not(.x-date-in-range):last-child{border-top-right-radius:var(--x-border-radius);border-bottom-right-radius:var(--x-border-radius)}.x-date-picker-portal.date-time{width:27rem}.x-date-picker-portal.date-hour{width:19.75rem}.x-date-picker-portal.date-minute{width:23.375rem}.x-date-picker-portal-preset{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;border-top:var(--x-border-width) solid var(--x-border)}.x-date-picker-portal-preset>x-link{padding:.25rem}.x-date-picker-portal-preset>x-link:not(:first-child){margin-left:1rem}.x-date-picker-portal-body{padding:.4rem}.x-date-picker-portal-content{display:flex}.x-date-picker-portal-footer{display:flex;align-items:center;justify-content:space-between;border-top:var(--x-border-width) var(--x-border-style) var(--x-border);padding:.5rem}.x-date-picker-portal-footer .x-date-picker-portal-preset{border-top:none}.x-date-picker-portal-footer .x-date-picker-portal-preset>x-link{padding:0 .25rem}.x-date-picker-portal-extra-footer{display:flex;align-items:center;border-top:var(--x-border-width) var(--x-border-style) var(--x-border);padding:.5rem}.x-date-picker-portal-date{flex:1}.x-date-picker-portal-time{display:flex;flex-direction:column;border-left:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-date-picker-portal-time-label{display:flex;align-items:center;justify-content:center;padding:0 .5rem;height:2.5rem;border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-date-picker-portal-time .x-time-picker-frame{border-width:0;box-shadow:none;margin:0}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: XPickerDateComponent, selector: "x-picker-date" }, { kind: "component", type: XPickerMonthComponent, selector: "x-picker-month" }, { kind: "component", type: XPickerQuarterComponent, selector: "x-picker-quarter" }, { kind: "component", type: XPickerYearComponent, selector: "x-picker-year" }, { kind: "ngmodule", type: XTimePickerModule }, { kind: "component", type: i1.XTimePickerFrameComponent, selector: "x-time-picker-frame", inputs: ["type", "value", "use12Hours", "hourStep", "minuteStep", "secondStep", "defaultNow", "disabledTime", "disabledTimeParam"], outputs: ["nodeEmit"] }, { kind: "component", type: XButtonComponent, selector: "x-button" }, { kind: "component", type: XLinkComponent, selector: "x-link" }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { kind: "pipe", type: DatePipe, name: "date" }], animations: [XConnectBaseAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1957
1987
  }
1958
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XDatePickerPortalComponent, decorators: [{
1988
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XDatePickerPortalComponent, decorators: [{
1959
1989
  type: Component,
1960
1990
  args: [{ selector: `${XDatePickerPortalPrefix}`, imports: [
1961
1991
  NgTemplateOutlet,
@@ -2010,23 +2040,23 @@ class XDatePickerComponent extends XDatePickerProperty {
2010
2040
  this.elementRef = inject(ElementRef);
2011
2041
  this.overlay = inject(Overlay);
2012
2042
  this.inputCom = viewChild.required('inputCom', { read: XInputComponent });
2013
- this.modelType = signal('date');
2014
- this.numberValue = signal(null);
2015
- this.isInput = signal(false);
2016
- this.enter = signal(false);
2017
- this.inputClearable = signal(false);
2018
- this.animating = signal(false);
2019
- this.displayValue = signal('');
2020
- this.icon = signal('fto-calendar');
2043
+ this.modelType = signal('date', ...(ngDevMode ? [{ debugName: "modelType" }] : []));
2044
+ this.numberValue = signal(null, ...(ngDevMode ? [{ debugName: "numberValue" }] : []));
2045
+ this.isInput = signal(false, ...(ngDevMode ? [{ debugName: "isInput" }] : []));
2046
+ this.enter = signal(false, ...(ngDevMode ? [{ debugName: "enter" }] : []));
2047
+ this.inputClearable = signal(false, ...(ngDevMode ? [{ debugName: "inputClearable" }] : []));
2048
+ this.animating = signal(false, ...(ngDevMode ? [{ debugName: "animating" }] : []));
2049
+ this.displayValue = signal('', ...(ngDevMode ? [{ debugName: "displayValue" }] : []));
2050
+ this.icon = signal('fto-calendar', ...(ngDevMode ? [{ debugName: "icon" }] : []));
2021
2051
  this.closeSubject = new Subject();
2022
2052
  this.locale = toSignal(this.i18n.localeChange.pipe(map((x) => x.datePicker)), {
2023
2053
  initialValue: zh_CN.datePicker
2024
2054
  });
2025
2055
  this.document = inject(DOCUMENT);
2026
2056
  this.unSubject = new Subject();
2027
- this.realPlacement = signal(null);
2028
- this.portalComponent = signal(null);
2029
- this.portalOverlayRef = signal(null);
2057
+ this.realPlacement = signal(null, ...(ngDevMode ? [{ debugName: "realPlacement" }] : []));
2058
+ this.portalComponent = signal(null, ...(ngDevMode ? [{ debugName: "portalComponent" }] : []));
2059
+ this.portalOverlayRef = signal(null, ...(ngDevMode ? [{ debugName: "portalOverlayRef" }] : []));
2030
2060
  this.placeholderSignal = computed(() => {
2031
2061
  if (this.placeholder())
2032
2062
  return this.placeholder();
@@ -2045,7 +2075,7 @@ class XDatePickerComponent extends XDatePickerProperty {
2045
2075
  else {
2046
2076
  return this.locale().selectDate;
2047
2077
  }
2048
- });
2078
+ }, ...(ngDevMode ? [{ debugName: "placeholderSignal" }] : []));
2049
2079
  this.formatSignal = computed(() => {
2050
2080
  if (this.format() !== 'yyyy-MM-dd')
2051
2081
  return this.format();
@@ -2071,7 +2101,7 @@ class XDatePickerComponent extends XDatePickerProperty {
2071
2101
  return 'yyyy-MM-dd HH:mm';
2072
2102
  }
2073
2103
  return this.format();
2074
- });
2104
+ }, ...(ngDevMode ? [{ debugName: "formatSignal" }] : []));
2075
2105
  effect(() => this.portalComponent()?.setInput('value', this.numberValue()));
2076
2106
  effect(() => this.portalComponent()?.setInput('placement', this.realPlacement()));
2077
2107
  effect(() => this.portalComponent()?.setInput('type', this.type()));
@@ -2273,12 +2303,12 @@ class XDatePickerComponent extends XDatePickerProperty {
2273
2303
  formControlChanges() {
2274
2304
  this.ngOnInit();
2275
2305
  }
2276
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XDatePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2277
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.0.0", type: XDatePickerComponent, isStandalone: true, selector: "x-date-picker", providers: [XValueAccessor(XDatePickerComponent), DatePipe], viewQueries: [{ propertyName: "inputCom", first: true, predicate: ["inputCom"], descendants: true, read: XInputComponent, isSignal: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #datePicker class=\"x-date-picker\">\r\n <div class=\"x-date-picker-row\">\r\n <x-input\r\n #inputCom\r\n type=\"text\"\r\n [label]=\"label()\"\r\n [labelWidth]=\"labelWidth()\"\r\n [labelAlign]=\"labelAlign()\"\r\n [justify]=\"justify()\"\r\n [align]=\"align()\"\r\n [direction]=\"direction()\"\r\n [disabled]=\"disabledComputed()\"\r\n [required]=\"requiredComputed()\"\r\n [validator]=\"validatorComputed()\"\r\n [inputValidator]=\"inputValidator()\"\r\n [icon]=\"icon()\"\r\n [placeholder]=\"placeholderSignal()!\"\r\n [readonly]=\"readonly()\"\r\n [clearable]=\"clearable() && inputClearable()\"\r\n [(ngModel)]=\"value\"\r\n [valueTpl]=\"valueTpl() ? valueTpl() : valueTemplate\"\r\n [valueTplContext]=\"valueTplContext()\"\r\n [size]=\"size()\"\r\n [bordered]=\"bordered()\"\r\n [before]=\"before()\"\r\n [after]=\"after()\"\r\n [pattern]=\"patternComputed()\"\r\n [message]=\"messageComputed()\"\r\n [pointer]=\"pointer()\"\r\n [(active)]=\"active\"\r\n (clearEmit)=\"clearEmit()\"\r\n (xInput)=\"onInput()\"\r\n (xClick)=\"showPortal()\"\r\n (xMouseenter)=\"menter()\"\r\n (xMouseleave)=\"mleave()\"\r\n ></x-input>\r\n\r\n <ng-template #valueTemplate>\r\n {{ displayValue() }}\r\n </ng-template>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-date-picker{display:inline-block;width:12rem}.x-date-picker{margin:0;padding:0}.x-date-picker{width:100%}.x-date-picker x-input{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: XInputComponent, selector: "x-input" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
2306
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XDatePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2307
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.2.4", type: XDatePickerComponent, isStandalone: true, selector: "x-date-picker", providers: [XValueAccessor(XDatePickerComponent), DatePipe], viewQueries: [{ propertyName: "inputCom", first: true, predicate: ["inputCom"], descendants: true, read: XInputComponent, isSignal: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #datePicker class=\"x-date-picker\">\r\n <div class=\"x-date-picker-row\">\r\n <x-input\r\n #inputCom\r\n type=\"text\"\r\n [label]=\"label()\"\r\n [labelWidth]=\"labelWidth()\"\r\n [labelAlign]=\"labelAlign()\"\r\n [justify]=\"justify()\"\r\n [align]=\"align()\"\r\n [direction]=\"direction()\"\r\n [disabled]=\"disabledComputed()\"\r\n [required]=\"requiredComputed()\"\r\n [validator]=\"validatorComputed()\"\r\n [inputValidator]=\"inputValidator()\"\r\n [icon]=\"icon()\"\r\n [placeholder]=\"placeholderSignal()!\"\r\n [readonly]=\"readonly()\"\r\n [clearable]=\"clearable() && inputClearable()\"\r\n [(ngModel)]=\"value\"\r\n [valueTpl]=\"valueTpl() ? valueTpl() : valueTemplate\"\r\n [valueTplContext]=\"valueTplContext()\"\r\n [size]=\"size()\"\r\n [bordered]=\"bordered()\"\r\n [before]=\"before()\"\r\n [after]=\"after()\"\r\n [pattern]=\"patternComputed()\"\r\n [message]=\"messageComputed()\"\r\n [pointer]=\"pointer()\"\r\n [variant]=\"variant()\"\r\n [floatLabel]=\"floatLabel()\"\r\n [floatFixed]=\"floatFixed()\"\r\n [(active)]=\"active\"\r\n (clearEmit)=\"clearEmit()\"\r\n (xInput)=\"onInput()\"\r\n (xClick)=\"showPortal()\"\r\n (xMouseenter)=\"menter()\"\r\n (xMouseleave)=\"mleave()\"\r\n ></x-input>\r\n\r\n <ng-template #valueTemplate>\r\n {{ displayValue() }}\r\n </ng-template>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-date-picker{display:inline-block;width:12rem}.x-date-picker{margin:0;padding:0}.x-date-picker{width:100%}.x-date-picker x-input{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: XInputComponent, selector: "x-input" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
2278
2308
  }
2279
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XDatePickerComponent, decorators: [{
2309
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XDatePickerComponent, decorators: [{
2280
2310
  type: Component,
2281
- args: [{ selector: `${XDatePickerPrefix}`, imports: [FormsModule, ReactiveFormsModule, XInputComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XDatePickerComponent), DatePipe], template: "<div #datePicker class=\"x-date-picker\">\r\n <div class=\"x-date-picker-row\">\r\n <x-input\r\n #inputCom\r\n type=\"text\"\r\n [label]=\"label()\"\r\n [labelWidth]=\"labelWidth()\"\r\n [labelAlign]=\"labelAlign()\"\r\n [justify]=\"justify()\"\r\n [align]=\"align()\"\r\n [direction]=\"direction()\"\r\n [disabled]=\"disabledComputed()\"\r\n [required]=\"requiredComputed()\"\r\n [validator]=\"validatorComputed()\"\r\n [inputValidator]=\"inputValidator()\"\r\n [icon]=\"icon()\"\r\n [placeholder]=\"placeholderSignal()!\"\r\n [readonly]=\"readonly()\"\r\n [clearable]=\"clearable() && inputClearable()\"\r\n [(ngModel)]=\"value\"\r\n [valueTpl]=\"valueTpl() ? valueTpl() : valueTemplate\"\r\n [valueTplContext]=\"valueTplContext()\"\r\n [size]=\"size()\"\r\n [bordered]=\"bordered()\"\r\n [before]=\"before()\"\r\n [after]=\"after()\"\r\n [pattern]=\"patternComputed()\"\r\n [message]=\"messageComputed()\"\r\n [pointer]=\"pointer()\"\r\n [(active)]=\"active\"\r\n (clearEmit)=\"clearEmit()\"\r\n (xInput)=\"onInput()\"\r\n (xClick)=\"showPortal()\"\r\n (xMouseenter)=\"menter()\"\r\n (xMouseleave)=\"mleave()\"\r\n ></x-input>\r\n\r\n <ng-template #valueTemplate>\r\n {{ displayValue() }}\r\n </ng-template>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-date-picker{display:inline-block;width:12rem}.x-date-picker{margin:0;padding:0}.x-date-picker{width:100%}.x-date-picker x-input{width:100%}\n"] }]
2311
+ args: [{ selector: `${XDatePickerPrefix}`, imports: [FormsModule, ReactiveFormsModule, XInputComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XDatePickerComponent), DatePipe], template: "<div #datePicker class=\"x-date-picker\">\r\n <div class=\"x-date-picker-row\">\r\n <x-input\r\n #inputCom\r\n type=\"text\"\r\n [label]=\"label()\"\r\n [labelWidth]=\"labelWidth()\"\r\n [labelAlign]=\"labelAlign()\"\r\n [justify]=\"justify()\"\r\n [align]=\"align()\"\r\n [direction]=\"direction()\"\r\n [disabled]=\"disabledComputed()\"\r\n [required]=\"requiredComputed()\"\r\n [validator]=\"validatorComputed()\"\r\n [inputValidator]=\"inputValidator()\"\r\n [icon]=\"icon()\"\r\n [placeholder]=\"placeholderSignal()!\"\r\n [readonly]=\"readonly()\"\r\n [clearable]=\"clearable() && inputClearable()\"\r\n [(ngModel)]=\"value\"\r\n [valueTpl]=\"valueTpl() ? valueTpl() : valueTemplate\"\r\n [valueTplContext]=\"valueTplContext()\"\r\n [size]=\"size()\"\r\n [bordered]=\"bordered()\"\r\n [before]=\"before()\"\r\n [after]=\"after()\"\r\n [pattern]=\"patternComputed()\"\r\n [message]=\"messageComputed()\"\r\n [pointer]=\"pointer()\"\r\n [variant]=\"variant()\"\r\n [floatLabel]=\"floatLabel()\"\r\n [floatFixed]=\"floatFixed()\"\r\n [(active)]=\"active\"\r\n (clearEmit)=\"clearEmit()\"\r\n (xInput)=\"onInput()\"\r\n (xClick)=\"showPortal()\"\r\n (xMouseenter)=\"menter()\"\r\n (xMouseleave)=\"mleave()\"\r\n ></x-input>\r\n\r\n <ng-template #valueTemplate>\r\n {{ displayValue() }}\r\n </ng-template>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-date-picker{display:inline-block;width:12rem}.x-date-picker{margin:0;padding:0}.x-date-picker{width:100%}.x-date-picker x-input{width:100%}\n"] }]
2282
2312
  }], ctorParameters: () => [] });
2283
2313
 
2284
2314
  class XDateRangePortalComponent {
@@ -2286,41 +2316,41 @@ class XDateRangePortalComponent {
2286
2316
  this.datePipe = inject(DatePipe);
2287
2317
  this.lowerCasePipe = inject(LowerCasePipe);
2288
2318
  this.i18n = inject(XI18nService);
2289
- this.startPicker = viewChild('startPicker');
2290
- this.endPicker = viewChild('endPicker');
2291
- this.timePickerFrame = viewChild('timePickerFrame');
2292
- this.value = model([]);
2293
- this.placement = input();
2294
- this.type = model('date');
2295
- this.preset = input([]);
2296
- this.extraFooter = input();
2297
- this.disabledDate = input();
2298
- this.disabledTime = input();
2299
- this.activeType = input('start');
2319
+ this.startPicker = viewChild('startPicker', ...(ngDevMode ? [{ debugName: "startPicker" }] : []));
2320
+ this.endPicker = viewChild('endPicker', ...(ngDevMode ? [{ debugName: "endPicker" }] : []));
2321
+ this.timePickerFrame = viewChild('timePickerFrame', ...(ngDevMode ? [{ debugName: "timePickerFrame" }] : []));
2322
+ this.value = model([], ...(ngDevMode ? [{ debugName: "value" }] : []));
2323
+ this.placement = input(...(ngDevMode ? [undefined, { debugName: "placement" }] : []));
2324
+ this.type = model('date', ...(ngDevMode ? [{ debugName: "type" }] : []));
2325
+ this.preset = input([], ...(ngDevMode ? [{ debugName: "preset" }] : []));
2326
+ this.extraFooter = input(...(ngDevMode ? [undefined, { debugName: "extraFooter" }] : []));
2327
+ this.disabledDate = input(...(ngDevMode ? [undefined, { debugName: "disabledDate" }] : []));
2328
+ this.disabledTime = input(...(ngDevMode ? [undefined, { debugName: "disabledTime" }] : []));
2329
+ this.activeType = input('start', ...(ngDevMode ? [{ debugName: "activeType" }] : []));
2300
2330
  this.animating = output();
2301
2331
  this.nodeClick = output();
2302
2332
  this.startNodeChanged = output();
2303
2333
  this.endNodeChanged = output();
2304
- this.display = signal(new Date());
2305
- this.model = signal(null);
2306
- this.startModel = signal(null);
2307
- this.endModel = signal(null);
2308
- this.startYear = signal(null);
2309
- this.startDisplay = signal(new Date());
2310
- this.endDisplay = signal(XAddMonths(this.startDisplay(), 1));
2334
+ this.display = signal(new Date(), ...(ngDevMode ? [{ debugName: "display" }] : []));
2335
+ this.model = signal(null, ...(ngDevMode ? [{ debugName: "model" }] : []));
2336
+ this.startModel = signal(null, ...(ngDevMode ? [{ debugName: "startModel" }] : []));
2337
+ this.endModel = signal(null, ...(ngDevMode ? [{ debugName: "endModel" }] : []));
2338
+ this.startYear = signal(null, ...(ngDevMode ? [{ debugName: "startYear" }] : []));
2339
+ this.startDisplay = signal(new Date(), ...(ngDevMode ? [{ debugName: "startDisplay" }] : []));
2340
+ this.endDisplay = signal(XAddMonths(this.startDisplay(), 1), ...(ngDevMode ? [{ debugName: "endDisplay" }] : []));
2311
2341
  this.locale = toSignal(this.i18n.localeChange.pipe(map((x) => x.datePicker)), {
2312
2342
  initialValue: zh_CN.datePicker
2313
2343
  });
2314
- this.time = signal(null);
2315
- this.timeDisplay = signal(new Date());
2316
- this.timeModel = signal(null);
2317
- this.timeHover = signal(false);
2318
- this.nodeClickCount = signal(0);
2319
- this.destroy = signal(false);
2344
+ this.time = signal(null, ...(ngDevMode ? [{ debugName: "time" }] : []));
2345
+ this.timeDisplay = signal(new Date(), ...(ngDevMode ? [{ debugName: "timeDisplay" }] : []));
2346
+ this.timeModel = signal(null, ...(ngDevMode ? [{ debugName: "timeModel" }] : []));
2347
+ this.timeHover = signal(false, ...(ngDevMode ? [{ debugName: "timeHover" }] : []));
2348
+ this.nodeClickCount = signal(0, ...(ngDevMode ? [{ debugName: "nodeClickCount" }] : []));
2349
+ this.destroy = signal(false, ...(ngDevMode ? [{ debugName: "destroy" }] : []));
2320
2350
  this.destroyRef = inject(DestroyRef);
2321
2351
  this.isDatePicker = computed(() => {
2322
2352
  return ['date', 'quarter', 'week', 'month', 'year'].includes(this.type());
2323
- });
2353
+ }, ...(ngDevMode ? [{ debugName: "isDatePicker" }] : []));
2324
2354
  this.sureDisabled = computed(() => {
2325
2355
  if (this.timePickerFrame() && !XIsEmpty(this.time())) {
2326
2356
  const dt = new Date(this.time());
@@ -2334,7 +2364,7 @@ class XDateRangePortalComponent {
2334
2364
  else {
2335
2365
  return true;
2336
2366
  }
2337
- });
2367
+ }, ...(ngDevMode ? [{ debugName: "sureDisabled" }] : []));
2338
2368
  }
2339
2369
  get getPlacement() {
2340
2370
  return this.placement();
@@ -2585,10 +2615,10 @@ class XDateRangePortalComponent {
2585
2615
  this.nodeClick.emit({ date: value, close: true });
2586
2616
  }
2587
2617
  }
2588
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XDateRangePortalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2589
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.0", type: XDateRangePortalComponent, isStandalone: true, selector: "x-date-range-portal", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, preset: { classPropertyName: "preset", publicName: "preset", isSignal: true, isRequired: false, transformFunction: null }, extraFooter: { classPropertyName: "extraFooter", publicName: "extraFooter", isSignal: true, isRequired: false, transformFunction: null }, disabledDate: { classPropertyName: "disabledDate", publicName: "disabledDate", isSignal: true, isRequired: false, transformFunction: null }, disabledTime: { classPropertyName: "disabledTime", publicName: "disabledTime", isSignal: true, isRequired: false, transformFunction: null }, activeType: { classPropertyName: "activeType", publicName: "activeType", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", type: "typeChange", animating: "animating", nodeClick: "nodeClick", startNodeChanged: "startNodeChanged", endNodeChanged: "endNodeChanged" }, host: { listeners: { "@x-connect-base-animation.done": "done($event)", "@x-connect-base-animation.start": "start($event)" }, properties: { "@x-connect-base-animation": "this.getPlacement" } }, providers: [DatePipe, LowerCasePipe], viewQueries: [{ propertyName: "startPicker", first: true, predicate: ["startPicker"], descendants: true, isSignal: true }, { propertyName: "endPicker", first: true, predicate: ["endPicker"], descendants: true, isSignal: true }, { propertyName: "timePickerFrame", first: true, predicate: ["timePickerFrame"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"x-date-range-portal {{ type() }}\">\r\n <div class=\"x-date-range-portal-body\">\r\n @switch (type()) {\r\n @case ('date') {\r\n <x-picker-date\r\n #startPicker\r\n class=\"x-date-range-portal-start\"\r\n [(display)]=\"startDisplay\"\r\n [(model)]=\"startModel\"\r\n [rangeValue]=\"value()\"\r\n [rangeType]=\"activeType()\"\r\n [nextYearBtn]=\"false\"\r\n [nextMonthBtn]=\"false\"\r\n [disabledDate]=\"disabledDate()\"\r\n (modelChange)=\"dateChange($event!)\"\r\n (yearChange)=\"yearChange($event, 'start')\"\r\n (monthChange)=\"monthChange($event, 'start')\"\r\n (rangeTdMouseenter)=\"setDatesState($event)\"\r\n rangePicker\r\n ></x-picker-date>\r\n <x-picker-date\r\n #endPicker\r\n class=\"x-date-range-portal-end\"\r\n [(display)]=\"endDisplay\"\r\n [(model)]=\"endModel\"\r\n [rangeValue]=\"value()\"\r\n [rangeType]=\"activeType()\"\r\n [lastYearBtn]=\"false\"\r\n [lastMonthBtn]=\"false\"\r\n [disabledDate]=\"disabledDate()\"\r\n (modelChange)=\"dateChange($event!)\"\r\n (yearChange)=\"yearChange($event, 'end')\"\r\n (monthChange)=\"monthChange($event, 'end')\"\r\n (rangeTdMouseenter)=\"setDatesState($event)\"\r\n rangePicker\r\n ></x-picker-date>\r\n }\r\n @case ('week') {\r\n <x-picker-date\r\n #startPicker\r\n class=\"x-date-range-portal-start\"\r\n type=\"week\"\r\n [(display)]=\"startDisplay\"\r\n [(model)]=\"startModel\"\r\n [rangeValue]=\"value()\"\r\n [rangeType]=\"activeType()\"\r\n [nextYearBtn]=\"false\"\r\n [nextMonthBtn]=\"false\"\r\n [disabledDate]=\"disabledDate()\"\r\n (modelChange)=\"dateChange($event!)\"\r\n (yearChange)=\"yearChange($event, 'start')\"\r\n (monthChange)=\"monthChange($event, 'start')\"\r\n (rangeTdMouseenter)=\"setDatesState($event)\"\r\n rangePicker\r\n ></x-picker-date>\r\n <x-picker-date\r\n #endPicker\r\n class=\"x-date-range-portal-end\"\r\n type=\"week\"\r\n [(display)]=\"endDisplay\"\r\n [(model)]=\"endModel\"\r\n [rangeValue]=\"value()\"\r\n [rangeType]=\"activeType()\"\r\n [lastYearBtn]=\"false\"\r\n [lastMonthBtn]=\"false\"\r\n [disabledDate]=\"disabledDate()\"\r\n (modelChange)=\"dateChange($event!)\"\r\n (yearChange)=\"yearChange($event, 'end')\"\r\n (monthChange)=\"monthChange($event, 'end')\"\r\n (rangeTdMouseenter)=\"setDatesState($event)\"\r\n rangePicker\r\n ></x-picker-date>\r\n }\r\n @case ('month') {\r\n <x-picker-month\r\n #startPicker\r\n class=\"x-date-range-portal-start\"\r\n [(display)]=\"startDisplay\"\r\n [(model)]=\"startModel\"\r\n [rangeValue]=\"value()\"\r\n [rangeType]=\"activeType()\"\r\n [nextYearBtn]=\"false\"\r\n [disabledDate]=\"disabledDate()\"\r\n (modelChange)=\"dateChange($event!)\"\r\n (yearChange)=\"yearChange($event, 'start')\"\r\n (monthChange)=\"monthChange($event, 'start')\"\r\n (rangeTdMouseenter)=\"setDatesState($event)\"\r\n rangePicker\r\n ></x-picker-month>\r\n <x-picker-month\r\n #endPicker\r\n class=\"x-date-range-portal-end\"\r\n [(display)]=\"endDisplay\"\r\n [(model)]=\"endModel\"\r\n [rangeValue]=\"value()\"\r\n [rangeType]=\"activeType()\"\r\n [lastYearBtn]=\"false\"\r\n [disabledDate]=\"disabledDate()\"\r\n (modelChange)=\"dateChange($event!)\"\r\n (yearChange)=\"yearChange($event, 'end')\"\r\n (monthChange)=\"monthChange($event, 'end')\"\r\n (rangeTdMouseenter)=\"setDatesState($event)\"\r\n rangePicker\r\n ></x-picker-month>\r\n }\r\n @case ('quarter') {\r\n <x-picker-quarter\r\n #startPicker\r\n class=\"x-date-range-portal-start\"\r\n [(display)]=\"startDisplay\"\r\n [(model)]=\"startModel\"\r\n [rangeValue]=\"value()\"\r\n [rangeType]=\"activeType()\"\r\n [nextYearBtn]=\"false\"\r\n [disabledDate]=\"disabledDate()\"\r\n (modelChange)=\"dateChange($event!)\"\r\n (yearChange)=\"yearChange($event, 'start')\"\r\n (monthChange)=\"monthChange($event, 'start')\"\r\n (rangeTdMouseenter)=\"setDatesState($event)\"\r\n rangePicker\r\n ></x-picker-quarter>\r\n <x-picker-quarter\r\n #endPicker\r\n class=\"x-date-range-portal-end\"\r\n [(display)]=\"endDisplay\"\r\n [(model)]=\"endModel\"\r\n [rangeValue]=\"value()\"\r\n [rangeType]=\"activeType()\"\r\n [lastYearBtn]=\"false\"\r\n [disabledDate]=\"disabledDate()\"\r\n (modelChange)=\"dateChange($event!)\"\r\n (yearChange)=\"yearChange($event, 'end')\"\r\n (monthChange)=\"monthChange($event, 'end')\"\r\n (rangeTdMouseenter)=\"setDatesState($event)\"\r\n rangePicker\r\n ></x-picker-quarter>\r\n }\r\n @case ('year') {\r\n <x-picker-year\r\n #startPicker\r\n class=\"x-date-range-portal-start\"\r\n [(display)]=\"startDisplay\"\r\n [(model)]=\"startModel\"\r\n [rangeValue]=\"value()\"\r\n [rangeType]=\"activeType()\"\r\n [nextYearBtn]=\"false\"\r\n [disabledDate]=\"disabledDate()\"\r\n (modelChange)=\"dateChange($event!)\"\r\n (yearChange)=\"yearChange($event, 'start')\"\r\n (monthChange)=\"monthChange($event, 'start')\"\r\n (rangeTdMouseenter)=\"setDatesState($event)\"\r\n rangePicker\r\n ></x-picker-year>\r\n <x-picker-year\r\n #endPicker\r\n class=\"x-date-range-portal-end\"\r\n [(display)]=\"endDisplay\"\r\n [(model)]=\"endModel\"\r\n [rangeValue]=\"value()\"\r\n [rangeType]=\"activeType()\"\r\n [lastYearBtn]=\"false\"\r\n [disabledDate]=\"disabledDate()\"\r\n (modelChange)=\"dateChange($event!)\"\r\n (yearChange)=\"yearChange($event, 'end')\"\r\n (monthChange)=\"monthChange($event, 'end')\"\r\n (rangeTdMouseenter)=\"setDatesState($event)\"\r\n rangePicker\r\n ></x-picker-year>\r\n }\r\n @case ('date-time') {\r\n <ng-container\r\n *ngTemplateOutlet=\"dateTimeHourMinuteTpl; context: { timeFormat: 'HH:mm:ss', timeType: 'time' }\"\r\n ></ng-container>\r\n }\r\n @case ('date-hour') {\r\n <ng-container\r\n *ngTemplateOutlet=\"dateTimeHourMinuteTpl; context: { timeFormat: 'HH', timeType: 'hour' }\"\r\n ></ng-container>\r\n }\r\n @case ('date-minute') {\r\n <ng-container\r\n *ngTemplateOutlet=\"dateTimeHourMinuteTpl; context: { timeFormat: 'HH:mm', timeType: 'minute' }\"\r\n ></ng-container>\r\n }\r\n }\r\n </div>\r\n @if (isDatePicker()) {\r\n @if (extraFooter()) {\r\n <div class=\"x-date-range-portal-extra-footer\">\r\n <ng-container *xOutlet=\"extraFooter()\">{{ extraFooter() }}</ng-container>\r\n </div>\r\n }\r\n <ng-container *ngTemplateOutlet=\"presetTpl\"></ng-container>\r\n }\r\n</div>\r\n\r\n<ng-template #dateTimeHourMinuteTpl let-timeFormat=\"timeFormat\" let-timeType=\"timeType\">\r\n <div class=\"x-date-range-portal-content\">\r\n <div class=\"x-date-range-portal-date\">\r\n <x-picker-date\r\n [class.x-date-range-portal-start]=\"activeType() === 'start'\"\r\n [class.x-date-range-portal-end]=\"activeType() === 'end'\"\r\n [(display)]=\"timeDisplay\"\r\n [(model)]=\"timeModel\"\r\n [rangeHover]=\"timeHover()\"\r\n [rangeValue]=\"value()\"\r\n [rangeType]=\"activeType()\"\r\n [disabledDate]=\"disabledDate()\"\r\n (modelChange)=\"dateChange($event!)\"\r\n rangePicker\r\n ></x-picker-date>\r\n </div>\r\n <div class=\"x-date-range-portal-time\">\r\n <div class=\"x-date-range-portal-time-label\">\r\n {{ time() | date: timeFormat }}\r\n </div>\r\n <x-time-picker-frame\r\n #timePickerFrame\r\n [type]=\"timeType\"\r\n [value]=\"time()\"\r\n (nodeEmit)=\"selectTime($event)\"\r\n [disabledTimeParam]=\"activeType()\"\r\n [disabledTime]=\"disabledTime()\"\r\n [defaultNow]=\"false\"\r\n ></x-time-picker-frame>\r\n </div>\r\n </div>\r\n @if (!isDatePicker() && extraFooter()) {\r\n <ng-container *xOutlet=\"extraFooter()\">{{ extraFooter() }}</ng-container>\r\n }\r\n <div class=\"x-date-range-portal-footer\">\r\n <div class=\"x-date-range-portal-footer-left\">\r\n @if (!isDatePicker()) {\r\n <ng-container *ngTemplateOutlet=\"presetTpl\"></ng-container>\r\n }\r\n </div>\r\n <x-button type=\"primary\" text (click)=\"!sureDisabled() && sureTime()\" size=\"small\" [disabled]=\"sureDisabled()!\">{{\r\n locale().sure\r\n }}</x-button>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #presetTpl>\r\n @if (preset()) {\r\n <div class=\"x-date-range-portal-preset\">\r\n @for (item of preset(); track item) {\r\n @switch (item.id) {\r\n @case ('thisWeek') {\r\n <x-link (click)=\"onPreset('week', 0)\">{{ locale().thisWeek }}</x-link>\r\n }\r\n @case ('lastWeek') {\r\n <x-link (click)=\"onPreset('week', -1)\">{{ locale().lastWeek }}</x-link>\r\n }\r\n @case ('nextWeek') {\r\n <x-link (click)=\"onPreset('week', 1)\">{{ locale().nextWeek }}</x-link>\r\n }\r\n @case ('thisMonth') {\r\n <x-link (click)=\"onPreset('month', 0)\">{{ locale().thisMonth }}</x-link>\r\n }\r\n @case ('lastMonth') {\r\n <x-link (click)=\"onPreset('month', -1)\">{{ locale().lastMonth }}</x-link>\r\n }\r\n @case ('nextMonth') {\r\n <x-link (click)=\"onPreset('month', 1)\">{{ locale().nextMonth }}</x-link>\r\n }\r\n @case ('thisYear') {\r\n <x-link (click)=\"onPreset('year', 0)\">{{ locale().thisYear }}</x-link>\r\n }\r\n @case ('lastYear') {\r\n <x-link (click)=\"onPreset('year', -1)\">{{ locale().lastYear }}</x-link>\r\n }\r\n @case ('nextYear') {\r\n <x-link (click)=\"onPreset('year', 1)\">{{ locale().nextYear }}</x-link>\r\n }\r\n }\r\n @if (!!item.func) {\r\n <x-link (click)=\"onPresetFunc(item)\">{{ item.label }}</x-link>\r\n }\r\n }\r\n </div>\r\n }\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";.x-date-range-portal{margin:.0625rem 0;font-size:var(--x-font-size);color:var(--x-text);border-radius:var(--x-border-small-radius);box-shadow:var(--x-box-shadow);background-color:var(--x-background-100);width:34rem;display:flex;flex-direction:column}.x-date-range-portal.week .x-picker-date-body .x-picker-date-item:not(.x-date-in-range):not(.x-date-active) .x-date-text{background-color:transparent}.x-date-range-portal.week .x-picker-date-body tbody tr.x-date-week-in-range:not(.x-date-week-start-active):not(.x-date-week-end-active) .x-picker-date-item{background-color:var(--x-primary-800)}.x-date-range-portal.week .x-picker-date-body tbody tr:not(.x-date-week-active):not(.x-date-week-start-active):not(.x-date-week-end-active):not(.x-date-week-in-range):hover .x-picker-date-item{background-color:var(--x-background-a200)}.x-date-range-portal.week .x-picker-date-body tbody tr:not(.x-date-week-active):not(.x-date-week-start-active):not(.x-date-week-end-active):not(.x-date-week-in-range):hover .x-picker-date-item:first-child{border-top-left-radius:var(--x-border-radius);border-bottom-left-radius:var(--x-border-radius)}.x-date-range-portal.week .x-picker-date-body tbody tr:not(.x-date-week-active):not(.x-date-week-start-active):not(.x-date-week-end-active):not(.x-date-week-in-range):hover .x-picker-date-item:last-child{border-top-right-radius:var(--x-border-radius);border-bottom-right-radius:var(--x-border-radius)}.x-date-range-portal.date-time{width:27rem}.x-date-range-portal.date-time .x-date-range-portal-body{flex-direction:column}.x-date-range-portal.date-hour{width:19.75rem}.x-date-range-portal.date-hour .x-date-range-portal-body{flex-direction:column}.x-date-range-portal.date-minute{width:23.375rem}.x-date-range-portal.date-minute .x-date-range-portal-body{flex-direction:column}.x-date-range-portal-content{display:flex}.x-date-range-portal-preset{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;border-top:var(--x-border-width) solid var(--x-border)}.x-date-range-portal-preset>x-link{padding:.25rem}.x-date-range-portal-preset>x-link:not(:first-child){margin-left:1rem}.x-date-range-portal-extra-footer{display:flex;align-items:center;border-top:var(--x-border-width) var(--x-border-style) var(--x-border);padding:.5rem}.x-date-range-portal-year-month{flex:1;text-align:center}.x-date-range-portal-body{display:flex}.x-date-range-portal-body .x-picker-date-item:before,.x-date-range-portal-body .x-picker-date-item:after{position:absolute;top:50%;right:0;left:0;z-index:1;border:var(--x-border-width) dashed transparent;transform:translateY(-50%);transition:var(--x-animation-duration-base);content:\"\"}.x-date-range-portal-body .x-picker-date-item.x-date-range-start:not(.x-date-last-or-next),.x-date-range-portal-body .x-picker-date-item.x-date-range-end:not(.x-date-last-or-next){color:var(--x-background-100)}.x-date-range-portal-body .x-picker-date-item.x-date-range-start:not(.x-date-last-or-next) .x-date-text,.x-date-range-portal-body .x-picker-date-item.x-date-range-end:not(.x-date-last-or-next) .x-date-text{background-color:var(--x-primary);border-color:var(--x-primary)}.x-date-range-portal-body .x-picker-date-item.x-date-range-start:not(.x-date-last-or-next):hover,.x-date-range-portal-body .x-picker-date-item.x-date-range-end:not(.x-date-last-or-next):hover{color:var(--x-background-100)}.x-date-range-portal-body .x-picker-date-item.x-date-range-start:not(.x-date-last-or-next):hover .x-date-text,.x-date-range-portal-body .x-picker-date-item.x-date-range-end:not(.x-date-last-or-next):hover .x-date-text{background-color:var(--x-primary)}.x-date-range-portal-body .x-picker-date-item.x-date-range-end-left:not(.x-date-last-or-next):not(.x-date-first-day):not(:first-child) .x-date-text{z-index:1}.x-date-range-portal-body .x-picker-date-item.x-date-range-end-left:not(.x-date-last-or-next):not(.x-date-first-day):not(:first-child):after{background-color:var(--x-primary-800);transform:translate(-.25rem,-50%);border-top-right-radius:var(--x-border-radius);border-bottom-right-radius:var(--x-border-radius);z-index:0}.x-date-range-portal-body .x-picker-date-item.x-date-range-end-left:not(.x-date-last-or-next):not(.x-date-first-day):not(:first-child).x-date-in-range-hover:after{background-color:var(--x-primary-700)}.x-date-range-portal-body .x-picker-date-item.x-date-range-start-right:not(.x-date-last-or-next):not(.x-date-last-day):not(:last-child) .x-date-text{z-index:1}.x-date-range-portal-body .x-picker-date-item.x-date-range-start-right:not(.x-date-last-or-next):not(.x-date-last-day):not(:last-child):after{background-color:var(--x-primary-800);transform:translate(.25rem,-50%);border-top-left-radius:var(--x-border-radius);border-bottom-left-radius:var(--x-border-radius);z-index:0}.x-date-range-portal-body .x-picker-date-item.x-date-range-start-right:not(.x-date-last-or-next):not(.x-date-last-day):not(:last-child).x-date-in-range-hover:after{background-color:var(--x-primary-700)}.x-date-range-portal-body .x-picker-date-item.x-date-range-start.x-date-range-end.x-date-range-start-right:not(.x-date-last-or-next):not(.x-date-last-day):not(:last-child):after{display:none}.x-date-range-portal-body .x-picker-date-item.x-date-in-range:not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next) .x-date-text{position:relative;z-index:1}.x-date-range-portal-body .x-picker-date-item.x-date-in-range:not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next):before{background-color:var(--x-primary-800);z-index:0}.x-date-range-portal-body .x-picker-date-item.x-date-in-range:not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next):first-child:before{transform:translate(.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-in-range:not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next):last-child:before{transform:translate(-.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-in-range:not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next).x-date-in-range-hover-left:before{transform:translate(-.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-in-range:not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next).x-date-in-range-hover-right:before{transform:translate(.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-in-range:not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next).x-date-in-range-hover:before{background-color:var(--x-primary-700)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover:not(.x-date-last-or-next):before{border-color:var(--x-primary);border-left-color:transparent;border-right-color:transparent;transform:translate(-.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover:first-child:not(.x-date-last-or-next):before,.x-date-range-portal-body .x-picker-date-item.x-date-range-hover.x-date-first-day:before{border-left-color:var(--x-primary);transform:translate(.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover:first-child:not(.x-date-last-or-next).x-date-range-hover-end:before,.x-date-range-portal-body .x-picker-date-item.x-date-range-hover.x-date-first-day.x-date-range-hover-end:before{transform:translate(.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover.x-date-first-day:last-child:not(.x-date-last-or-next):before{transform:translate(.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover:last-child:not(.x-date-last-or-next):before,.x-date-range-portal-body .x-picker-date-item.x-date-range-hover.x-date-last-day:before{border-right-color:var(--x-primary);transform:translate(-.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover:last-child:not(.x-date-last-or-next).x-date-range-hover-start:before,.x-date-range-portal-body .x-picker-date-item.x-date-range-hover.x-date-last-day.x-date-range-hover-start:before{transform:translate(.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover-start:not(.x-date-last-or-next):before{border-left-color:var(--x-primary);transform:translate(.25rem,-50%);border-top-left-radius:var(--x-border-radius);border-bottom-left-radius:var(--x-border-radius)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover.x-date-range-hover-start:not(.x-date-last-or-next):before{transform:translate(.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover-end:not(.x-date-last-or-next):before{border-right-color:var(--x-primary);transform:translate(-.25rem,-50%);border-top-right-radius:var(--x-border-radius);border-bottom-right-radius:var(--x-border-radius)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover-start-left:not(:first-child):not(.x-date-last-or-next):not(.x-date-first-day):before,.x-date-range-portal-body .x-picker-date-item.x-date-range-hover-end-left:not(:first-child):not(.x-date-last-or-next):not(.x-date-first-day):before{border-top-color:var(--x-primary);border-bottom-color:var(--x-primary);transform:translate(-.3125rem,-50%);border-top-right-radius:var(--x-border-radius);border-bottom-right-radius:var(--x-border-radius)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover-start-right:not(:last-child):not(.x-date-last-or-next):not(.x-date-last-day):before,.x-date-range-portal-body .x-picker-date-item.x-date-range-hover-end-right:not(:last-child):not(.x-date-last-or-next):not(.x-date-last-day):before{border-top-color:var(--x-primary);border-bottom-color:var(--x-primary);transform:translate(.3125rem,-50%);border-top-left-radius:var(--x-border-radius);border-bottom-left-radius:var(--x-border-radius)}.x-date-range-portal-start,.x-date-range-portal-end{flex:1}.x-date-range-portal-footer{display:flex;align-items:center;justify-content:space-between;border-top:var(--x-border-width) var(--x-border-style) var(--x-border);padding:.5rem}.x-date-range-portal-footer .x-date-range-portal-preset{border-top:none}.x-date-range-portal-footer .x-date-range-portal-preset>x-link{padding:0 .25rem}.x-date-range-portal-date{flex:1}.x-date-range-portal-time{display:flex;flex-direction:column;border-left:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-date-range-portal-time-label{display:flex;align-items:center;justify-content:center;padding:0 .5rem;height:2.5rem;border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-date-range-portal-time .x-time-picker-frame{border-width:0;box-shadow:none;margin:0}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "component", type: XPickerDateComponent, selector: "x-picker-date" }, { kind: "component", type: XPickerMonthComponent, selector: "x-picker-month" }, { kind: "component", type: XPickerYearComponent, selector: "x-picker-year" }, { kind: "component", type: XPickerQuarterComponent, selector: "x-picker-quarter" }, { kind: "ngmodule", type: XTimePickerModule }, { kind: "component", type: i1.XTimePickerFrameComponent, selector: "x-time-picker-frame", inputs: ["type", "value", "use12Hours", "hourStep", "minuteStep", "secondStep", "defaultNow", "disabledTime", "disabledTimeParam"], outputs: ["nodeEmit"] }, { kind: "component", type: XButtonComponent, selector: "x-button" }, { kind: "component", type: XLinkComponent, selector: "x-link" }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], animations: [XConnectBaseAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
2618
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XDateRangePortalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2619
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.4", type: XDateRangePortalComponent, isStandalone: true, selector: "x-date-range-portal", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, preset: { classPropertyName: "preset", publicName: "preset", isSignal: true, isRequired: false, transformFunction: null }, extraFooter: { classPropertyName: "extraFooter", publicName: "extraFooter", isSignal: true, isRequired: false, transformFunction: null }, disabledDate: { classPropertyName: "disabledDate", publicName: "disabledDate", isSignal: true, isRequired: false, transformFunction: null }, disabledTime: { classPropertyName: "disabledTime", publicName: "disabledTime", isSignal: true, isRequired: false, transformFunction: null }, activeType: { classPropertyName: "activeType", publicName: "activeType", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", type: "typeChange", animating: "animating", nodeClick: "nodeClick", startNodeChanged: "startNodeChanged", endNodeChanged: "endNodeChanged" }, host: { listeners: { "@x-connect-base-animation.done": "done($event)", "@x-connect-base-animation.start": "start($event)" }, properties: { "@x-connect-base-animation": "this.getPlacement" } }, providers: [DatePipe, LowerCasePipe], viewQueries: [{ propertyName: "startPicker", first: true, predicate: ["startPicker"], descendants: true, isSignal: true }, { propertyName: "endPicker", first: true, predicate: ["endPicker"], descendants: true, isSignal: true }, { propertyName: "timePickerFrame", first: true, predicate: ["timePickerFrame"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"x-date-range-portal {{ type() }}\">\r\n <div class=\"x-date-range-portal-body\">\r\n @switch (type()) {\r\n @case ('date') {\r\n <x-picker-date\r\n #startPicker\r\n class=\"x-date-range-portal-start\"\r\n [(display)]=\"startDisplay\"\r\n [(model)]=\"startModel\"\r\n [rangeValue]=\"value()\"\r\n [rangeType]=\"activeType()\"\r\n [nextYearBtn]=\"false\"\r\n [nextMonthBtn]=\"false\"\r\n [disabledDate]=\"disabledDate()\"\r\n (modelChange)=\"dateChange($event!)\"\r\n (yearChange)=\"yearChange($event, 'start')\"\r\n (monthChange)=\"monthChange($event, 'start')\"\r\n (rangeTdMouseenter)=\"setDatesState($event)\"\r\n rangePicker\r\n ></x-picker-date>\r\n <x-picker-date\r\n #endPicker\r\n class=\"x-date-range-portal-end\"\r\n [(display)]=\"endDisplay\"\r\n [(model)]=\"endModel\"\r\n [rangeValue]=\"value()\"\r\n [rangeType]=\"activeType()\"\r\n [lastYearBtn]=\"false\"\r\n [lastMonthBtn]=\"false\"\r\n [disabledDate]=\"disabledDate()\"\r\n (modelChange)=\"dateChange($event!)\"\r\n (yearChange)=\"yearChange($event, 'end')\"\r\n (monthChange)=\"monthChange($event, 'end')\"\r\n (rangeTdMouseenter)=\"setDatesState($event)\"\r\n rangePicker\r\n ></x-picker-date>\r\n }\r\n @case ('week') {\r\n <x-picker-date\r\n #startPicker\r\n class=\"x-date-range-portal-start\"\r\n type=\"week\"\r\n [(display)]=\"startDisplay\"\r\n [(model)]=\"startModel\"\r\n [rangeValue]=\"value()\"\r\n [rangeType]=\"activeType()\"\r\n [nextYearBtn]=\"false\"\r\n [nextMonthBtn]=\"false\"\r\n [disabledDate]=\"disabledDate()\"\r\n (modelChange)=\"dateChange($event!)\"\r\n (yearChange)=\"yearChange($event, 'start')\"\r\n (monthChange)=\"monthChange($event, 'start')\"\r\n (rangeTdMouseenter)=\"setDatesState($event)\"\r\n rangePicker\r\n ></x-picker-date>\r\n <x-picker-date\r\n #endPicker\r\n class=\"x-date-range-portal-end\"\r\n type=\"week\"\r\n [(display)]=\"endDisplay\"\r\n [(model)]=\"endModel\"\r\n [rangeValue]=\"value()\"\r\n [rangeType]=\"activeType()\"\r\n [lastYearBtn]=\"false\"\r\n [lastMonthBtn]=\"false\"\r\n [disabledDate]=\"disabledDate()\"\r\n (modelChange)=\"dateChange($event!)\"\r\n (yearChange)=\"yearChange($event, 'end')\"\r\n (monthChange)=\"monthChange($event, 'end')\"\r\n (rangeTdMouseenter)=\"setDatesState($event)\"\r\n rangePicker\r\n ></x-picker-date>\r\n }\r\n @case ('month') {\r\n <x-picker-month\r\n #startPicker\r\n class=\"x-date-range-portal-start\"\r\n [(display)]=\"startDisplay\"\r\n [(model)]=\"startModel\"\r\n [rangeValue]=\"value()\"\r\n [rangeType]=\"activeType()\"\r\n [nextYearBtn]=\"false\"\r\n [disabledDate]=\"disabledDate()\"\r\n (modelChange)=\"dateChange($event!)\"\r\n (yearChange)=\"yearChange($event, 'start')\"\r\n (monthChange)=\"monthChange($event, 'start')\"\r\n (rangeTdMouseenter)=\"setDatesState($event)\"\r\n rangePicker\r\n ></x-picker-month>\r\n <x-picker-month\r\n #endPicker\r\n class=\"x-date-range-portal-end\"\r\n [(display)]=\"endDisplay\"\r\n [(model)]=\"endModel\"\r\n [rangeValue]=\"value()\"\r\n [rangeType]=\"activeType()\"\r\n [lastYearBtn]=\"false\"\r\n [disabledDate]=\"disabledDate()\"\r\n (modelChange)=\"dateChange($event!)\"\r\n (yearChange)=\"yearChange($event, 'end')\"\r\n (monthChange)=\"monthChange($event, 'end')\"\r\n (rangeTdMouseenter)=\"setDatesState($event)\"\r\n rangePicker\r\n ></x-picker-month>\r\n }\r\n @case ('quarter') {\r\n <x-picker-quarter\r\n #startPicker\r\n class=\"x-date-range-portal-start\"\r\n [(display)]=\"startDisplay\"\r\n [(model)]=\"startModel\"\r\n [rangeValue]=\"value()\"\r\n [rangeType]=\"activeType()\"\r\n [nextYearBtn]=\"false\"\r\n [disabledDate]=\"disabledDate()\"\r\n (modelChange)=\"dateChange($event!)\"\r\n (yearChange)=\"yearChange($event, 'start')\"\r\n (monthChange)=\"monthChange($event, 'start')\"\r\n (rangeTdMouseenter)=\"setDatesState($event)\"\r\n rangePicker\r\n ></x-picker-quarter>\r\n <x-picker-quarter\r\n #endPicker\r\n class=\"x-date-range-portal-end\"\r\n [(display)]=\"endDisplay\"\r\n [(model)]=\"endModel\"\r\n [rangeValue]=\"value()\"\r\n [rangeType]=\"activeType()\"\r\n [lastYearBtn]=\"false\"\r\n [disabledDate]=\"disabledDate()\"\r\n (modelChange)=\"dateChange($event!)\"\r\n (yearChange)=\"yearChange($event, 'end')\"\r\n (monthChange)=\"monthChange($event, 'end')\"\r\n (rangeTdMouseenter)=\"setDatesState($event)\"\r\n rangePicker\r\n ></x-picker-quarter>\r\n }\r\n @case ('year') {\r\n <x-picker-year\r\n #startPicker\r\n class=\"x-date-range-portal-start\"\r\n [(display)]=\"startDisplay\"\r\n [(model)]=\"startModel\"\r\n [rangeValue]=\"value()\"\r\n [rangeType]=\"activeType()\"\r\n [nextYearBtn]=\"false\"\r\n [disabledDate]=\"disabledDate()\"\r\n (modelChange)=\"dateChange($event!)\"\r\n (yearChange)=\"yearChange($event, 'start')\"\r\n (monthChange)=\"monthChange($event, 'start')\"\r\n (rangeTdMouseenter)=\"setDatesState($event)\"\r\n rangePicker\r\n ></x-picker-year>\r\n <x-picker-year\r\n #endPicker\r\n class=\"x-date-range-portal-end\"\r\n [(display)]=\"endDisplay\"\r\n [(model)]=\"endModel\"\r\n [rangeValue]=\"value()\"\r\n [rangeType]=\"activeType()\"\r\n [lastYearBtn]=\"false\"\r\n [disabledDate]=\"disabledDate()\"\r\n (modelChange)=\"dateChange($event!)\"\r\n (yearChange)=\"yearChange($event, 'end')\"\r\n (monthChange)=\"monthChange($event, 'end')\"\r\n (rangeTdMouseenter)=\"setDatesState($event)\"\r\n rangePicker\r\n ></x-picker-year>\r\n }\r\n @case ('date-time') {\r\n <ng-container\r\n *ngTemplateOutlet=\"dateTimeHourMinuteTpl; context: { timeFormat: 'HH:mm:ss', timeType: 'time' }\"\r\n ></ng-container>\r\n }\r\n @case ('date-hour') {\r\n <ng-container\r\n *ngTemplateOutlet=\"dateTimeHourMinuteTpl; context: { timeFormat: 'HH', timeType: 'hour' }\"\r\n ></ng-container>\r\n }\r\n @case ('date-minute') {\r\n <ng-container\r\n *ngTemplateOutlet=\"dateTimeHourMinuteTpl; context: { timeFormat: 'HH:mm', timeType: 'minute' }\"\r\n ></ng-container>\r\n }\r\n }\r\n </div>\r\n @if (isDatePicker()) {\r\n @if (extraFooter()) {\r\n <div class=\"x-date-range-portal-extra-footer\">\r\n <ng-container *xOutlet=\"extraFooter()\">{{ extraFooter() }}</ng-container>\r\n </div>\r\n }\r\n <ng-container *ngTemplateOutlet=\"presetTpl\"></ng-container>\r\n }\r\n</div>\r\n\r\n<ng-template #dateTimeHourMinuteTpl let-timeFormat=\"timeFormat\" let-timeType=\"timeType\">\r\n <div class=\"x-date-range-portal-content\">\r\n <div class=\"x-date-range-portal-date\">\r\n <x-picker-date\r\n [class.x-date-range-portal-start]=\"activeType() === 'start'\"\r\n [class.x-date-range-portal-end]=\"activeType() === 'end'\"\r\n [(display)]=\"timeDisplay\"\r\n [(model)]=\"timeModel\"\r\n [rangeHover]=\"timeHover()\"\r\n [rangeValue]=\"value()\"\r\n [rangeType]=\"activeType()\"\r\n [disabledDate]=\"disabledDate()\"\r\n (modelChange)=\"dateChange($event!)\"\r\n rangePicker\r\n ></x-picker-date>\r\n </div>\r\n <div class=\"x-date-range-portal-time\">\r\n <div class=\"x-date-range-portal-time-label\">\r\n {{ time() | date: timeFormat }}\r\n </div>\r\n <x-time-picker-frame\r\n #timePickerFrame\r\n [type]=\"timeType\"\r\n [value]=\"time()\"\r\n (nodeEmit)=\"selectTime($event)\"\r\n [disabledTimeParam]=\"activeType()\"\r\n [disabledTime]=\"disabledTime()\"\r\n [defaultNow]=\"false\"\r\n ></x-time-picker-frame>\r\n </div>\r\n </div>\r\n @if (!isDatePicker() && extraFooter()) {\r\n <ng-container *xOutlet=\"extraFooter()\">{{ extraFooter() }}</ng-container>\r\n }\r\n <div class=\"x-date-range-portal-footer\">\r\n <div class=\"x-date-range-portal-footer-left\">\r\n @if (!isDatePicker()) {\r\n <ng-container *ngTemplateOutlet=\"presetTpl\"></ng-container>\r\n }\r\n </div>\r\n <x-button type=\"primary\" text (click)=\"!sureDisabled() && sureTime()\" size=\"small\" [disabled]=\"sureDisabled()!\">{{\r\n locale().sure\r\n }}</x-button>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #presetTpl>\r\n @if (preset()) {\r\n <div class=\"x-date-range-portal-preset\">\r\n @for (item of preset(); track item) {\r\n @switch (item.id) {\r\n @case ('thisWeek') {\r\n <x-link (click)=\"onPreset('week', 0)\">{{ locale().thisWeek }}</x-link>\r\n }\r\n @case ('lastWeek') {\r\n <x-link (click)=\"onPreset('week', -1)\">{{ locale().lastWeek }}</x-link>\r\n }\r\n @case ('nextWeek') {\r\n <x-link (click)=\"onPreset('week', 1)\">{{ locale().nextWeek }}</x-link>\r\n }\r\n @case ('thisMonth') {\r\n <x-link (click)=\"onPreset('month', 0)\">{{ locale().thisMonth }}</x-link>\r\n }\r\n @case ('lastMonth') {\r\n <x-link (click)=\"onPreset('month', -1)\">{{ locale().lastMonth }}</x-link>\r\n }\r\n @case ('nextMonth') {\r\n <x-link (click)=\"onPreset('month', 1)\">{{ locale().nextMonth }}</x-link>\r\n }\r\n @case ('thisYear') {\r\n <x-link (click)=\"onPreset('year', 0)\">{{ locale().thisYear }}</x-link>\r\n }\r\n @case ('lastYear') {\r\n <x-link (click)=\"onPreset('year', -1)\">{{ locale().lastYear }}</x-link>\r\n }\r\n @case ('nextYear') {\r\n <x-link (click)=\"onPreset('year', 1)\">{{ locale().nextYear }}</x-link>\r\n }\r\n }\r\n @if (!!item.func) {\r\n <x-link (click)=\"onPresetFunc(item)\">{{ item.label }}</x-link>\r\n }\r\n }\r\n </div>\r\n }\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";.x-date-range-portal{margin:.0625rem 0;font-size:var(--x-font-size);color:var(--x-text);border-radius:var(--x-border-small-radius);box-shadow:var(--x-box-shadow);background-color:var(--x-background-100);width:34rem;display:flex;flex-direction:column}.x-date-range-portal.week .x-picker-date-body .x-picker-date-item:not(.x-date-in-range):not(.x-date-active) .x-date-text{background-color:transparent}.x-date-range-portal.week .x-picker-date-body tbody tr.x-date-week-in-range:not(.x-date-week-start-active):not(.x-date-week-end-active) .x-picker-date-item{background-color:var(--x-primary-800)}.x-date-range-portal.week .x-picker-date-body tbody tr:not(.x-date-week-active):not(.x-date-week-start-active):not(.x-date-week-end-active):not(.x-date-week-in-range):hover .x-picker-date-item{background-color:var(--x-background-a200)}.x-date-range-portal.week .x-picker-date-body tbody tr:not(.x-date-week-active):not(.x-date-week-start-active):not(.x-date-week-end-active):not(.x-date-week-in-range):hover .x-picker-date-item:first-child{border-top-left-radius:var(--x-border-radius);border-bottom-left-radius:var(--x-border-radius)}.x-date-range-portal.week .x-picker-date-body tbody tr:not(.x-date-week-active):not(.x-date-week-start-active):not(.x-date-week-end-active):not(.x-date-week-in-range):hover .x-picker-date-item:last-child{border-top-right-radius:var(--x-border-radius);border-bottom-right-radius:var(--x-border-radius)}.x-date-range-portal.date-time{width:27rem}.x-date-range-portal.date-time .x-date-range-portal-body{flex-direction:column}.x-date-range-portal.date-hour{width:19.75rem}.x-date-range-portal.date-hour .x-date-range-portal-body{flex-direction:column}.x-date-range-portal.date-minute{width:23.375rem}.x-date-range-portal.date-minute .x-date-range-portal-body{flex-direction:column}.x-date-range-portal-content{display:flex}.x-date-range-portal-preset{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;border-top:var(--x-border-width) solid var(--x-border)}.x-date-range-portal-preset>x-link{padding:.25rem}.x-date-range-portal-preset>x-link:not(:first-child){margin-left:1rem}.x-date-range-portal-extra-footer{display:flex;align-items:center;border-top:var(--x-border-width) var(--x-border-style) var(--x-border);padding:.5rem}.x-date-range-portal-year-month{flex:1;text-align:center}.x-date-range-portal-body{display:flex}.x-date-range-portal-body .x-picker-date-item:before,.x-date-range-portal-body .x-picker-date-item:after{position:absolute;top:50%;right:0;left:0;z-index:1;border:var(--x-border-width) dashed transparent;transform:translateY(-50%);transition:var(--x-animation-duration-base);content:\"\"}.x-date-range-portal-body .x-picker-date-item.x-date-range-start:not(.x-date-last-or-next),.x-date-range-portal-body .x-picker-date-item.x-date-range-end:not(.x-date-last-or-next){color:var(--x-background-100)}.x-date-range-portal-body .x-picker-date-item.x-date-range-start:not(.x-date-last-or-next) .x-date-text,.x-date-range-portal-body .x-picker-date-item.x-date-range-end:not(.x-date-last-or-next) .x-date-text{background-color:var(--x-primary);border-color:var(--x-primary)}.x-date-range-portal-body .x-picker-date-item.x-date-range-start:not(.x-date-last-or-next):hover,.x-date-range-portal-body .x-picker-date-item.x-date-range-end:not(.x-date-last-or-next):hover{color:var(--x-background-100)}.x-date-range-portal-body .x-picker-date-item.x-date-range-start:not(.x-date-last-or-next):hover .x-date-text,.x-date-range-portal-body .x-picker-date-item.x-date-range-end:not(.x-date-last-or-next):hover .x-date-text{background-color:var(--x-primary)}.x-date-range-portal-body .x-picker-date-item.x-date-range-end-left:not(.x-date-last-or-next):not(.x-date-first-day):not(:first-child) .x-date-text{z-index:1}.x-date-range-portal-body .x-picker-date-item.x-date-range-end-left:not(.x-date-last-or-next):not(.x-date-first-day):not(:first-child):after{background-color:var(--x-primary-800);transform:translate(-.25rem,-50%);border-top-right-radius:var(--x-border-radius);border-bottom-right-radius:var(--x-border-radius);z-index:0}.x-date-range-portal-body .x-picker-date-item.x-date-range-end-left:not(.x-date-last-or-next):not(.x-date-first-day):not(:first-child).x-date-in-range-hover:after{background-color:var(--x-primary-700)}.x-date-range-portal-body .x-picker-date-item.x-date-range-start-right:not(.x-date-last-or-next):not(.x-date-last-day):not(:last-child) .x-date-text{z-index:1}.x-date-range-portal-body .x-picker-date-item.x-date-range-start-right:not(.x-date-last-or-next):not(.x-date-last-day):not(:last-child):after{background-color:var(--x-primary-800);transform:translate(.25rem,-50%);border-top-left-radius:var(--x-border-radius);border-bottom-left-radius:var(--x-border-radius);z-index:0}.x-date-range-portal-body .x-picker-date-item.x-date-range-start-right:not(.x-date-last-or-next):not(.x-date-last-day):not(:last-child).x-date-in-range-hover:after{background-color:var(--x-primary-700)}.x-date-range-portal-body .x-picker-date-item.x-date-range-start.x-date-range-end.x-date-range-start-right:not(.x-date-last-or-next):not(.x-date-last-day):not(:last-child):after{display:none}.x-date-range-portal-body .x-picker-date-item.x-date-in-range:not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next) .x-date-text{position:relative;z-index:1}.x-date-range-portal-body .x-picker-date-item.x-date-in-range:not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next):before{background-color:var(--x-primary-800);z-index:0}.x-date-range-portal-body .x-picker-date-item.x-date-in-range:not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next):first-child:before{transform:translate(.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-in-range:not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next):last-child:before{transform:translate(-.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-in-range:not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next).x-date-in-range-hover-left:before{transform:translate(-.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-in-range:not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next).x-date-in-range-hover-right:before{transform:translate(.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-in-range:not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next).x-date-in-range-hover:before{background-color:var(--x-primary-700)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover:not(.x-date-last-or-next):before{border-color:var(--x-primary);border-left-color:transparent;border-right-color:transparent;transform:translate(-.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover:first-child:not(.x-date-last-or-next):before,.x-date-range-portal-body .x-picker-date-item.x-date-range-hover.x-date-first-day:before{border-left-color:var(--x-primary);transform:translate(.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover:first-child:not(.x-date-last-or-next).x-date-range-hover-end:before,.x-date-range-portal-body .x-picker-date-item.x-date-range-hover.x-date-first-day.x-date-range-hover-end:before{transform:translate(.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover.x-date-first-day:last-child:not(.x-date-last-or-next):before{transform:translate(.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover:last-child:not(.x-date-last-or-next):before,.x-date-range-portal-body .x-picker-date-item.x-date-range-hover.x-date-last-day:before{border-right-color:var(--x-primary);transform:translate(-.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover:last-child:not(.x-date-last-or-next).x-date-range-hover-start:before,.x-date-range-portal-body .x-picker-date-item.x-date-range-hover.x-date-last-day.x-date-range-hover-start:before{transform:translate(.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover-start:not(.x-date-last-or-next):before{border-left-color:var(--x-primary);transform:translate(.25rem,-50%);border-top-left-radius:var(--x-border-radius);border-bottom-left-radius:var(--x-border-radius)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover.x-date-range-hover-start:not(.x-date-last-or-next):before{transform:translate(.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover-end:not(.x-date-last-or-next):before{border-right-color:var(--x-primary);transform:translate(-.25rem,-50%);border-top-right-radius:var(--x-border-radius);border-bottom-right-radius:var(--x-border-radius)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover-start-left:not(:first-child):not(.x-date-last-or-next):not(.x-date-first-day):before,.x-date-range-portal-body .x-picker-date-item.x-date-range-hover-end-left:not(:first-child):not(.x-date-last-or-next):not(.x-date-first-day):before{border-top-color:var(--x-primary);border-bottom-color:var(--x-primary);transform:translate(-.3125rem,-50%);border-top-right-radius:var(--x-border-radius);border-bottom-right-radius:var(--x-border-radius)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover-start-right:not(:last-child):not(.x-date-last-or-next):not(.x-date-last-day):before,.x-date-range-portal-body .x-picker-date-item.x-date-range-hover-end-right:not(:last-child):not(.x-date-last-or-next):not(.x-date-last-day):before{border-top-color:var(--x-primary);border-bottom-color:var(--x-primary);transform:translate(.3125rem,-50%);border-top-left-radius:var(--x-border-radius);border-bottom-left-radius:var(--x-border-radius)}.x-date-range-portal-start,.x-date-range-portal-end{flex:1}.x-date-range-portal-footer{display:flex;align-items:center;justify-content:space-between;border-top:var(--x-border-width) var(--x-border-style) var(--x-border);padding:.5rem}.x-date-range-portal-footer .x-date-range-portal-preset{border-top:none}.x-date-range-portal-footer .x-date-range-portal-preset>x-link{padding:0 .25rem}.x-date-range-portal-date{flex:1}.x-date-range-portal-time{display:flex;flex-direction:column;border-left:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-date-range-portal-time-label{display:flex;align-items:center;justify-content:center;padding:0 .5rem;height:2.5rem;border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-date-range-portal-time .x-time-picker-frame{border-width:0;box-shadow:none;margin:0}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: XPickerDateComponent, selector: "x-picker-date" }, { kind: "component", type: XPickerMonthComponent, selector: "x-picker-month" }, { kind: "component", type: XPickerYearComponent, selector: "x-picker-year" }, { kind: "component", type: XPickerQuarterComponent, selector: "x-picker-quarter" }, { kind: "ngmodule", type: XTimePickerModule }, { kind: "component", type: i1.XTimePickerFrameComponent, selector: "x-time-picker-frame", inputs: ["type", "value", "use12Hours", "hourStep", "minuteStep", "secondStep", "defaultNow", "disabledTime", "disabledTimeParam"], outputs: ["nodeEmit"] }, { kind: "component", type: XButtonComponent, selector: "x-button" }, { kind: "component", type: XLinkComponent, selector: "x-link" }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { kind: "pipe", type: DatePipe, name: "date" }], animations: [XConnectBaseAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
2590
2620
  }
2591
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XDateRangePortalComponent, decorators: [{
2621
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XDateRangePortalComponent, decorators: [{
2592
2622
  type: Component,
2593
2623
  args: [{ selector: `${XDateRangePortalPrefix}`, imports: [
2594
2624
  NgTemplateOutlet,
@@ -2684,19 +2714,19 @@ class XDateRangeComponent extends XDateRangeProperty {
2684
2714
  this.inputGroup = viewChild.required('inputGroup', { read: XInputGroupComponent });
2685
2715
  this.inputStartCom = viewChild.required('inputStartCom', { read: XInputComponent });
2686
2716
  this.inputEndCom = viewChild.required('inputEndCom', { read: XInputComponent });
2687
- this.modelType = signal('date');
2688
- this.numberValue = signal([]);
2689
- this.isInput = signal(false);
2690
- this.showClearable = signal(false);
2691
- this.enter = signal(false);
2692
- this.inputClearable = signal(false);
2693
- this.animating = signal(false);
2694
- this.displayValue = signal([]);
2695
- this.icon = signal('fto-calendar');
2717
+ this.modelType = signal('date', ...(ngDevMode ? [{ debugName: "modelType" }] : []));
2718
+ this.numberValue = signal([], ...(ngDevMode ? [{ debugName: "numberValue" }] : []));
2719
+ this.isInput = signal(false, ...(ngDevMode ? [{ debugName: "isInput" }] : []));
2720
+ this.showClearable = signal(false, ...(ngDevMode ? [{ debugName: "showClearable" }] : []));
2721
+ this.enter = signal(false, ...(ngDevMode ? [{ debugName: "enter" }] : []));
2722
+ this.inputClearable = signal(false, ...(ngDevMode ? [{ debugName: "inputClearable" }] : []));
2723
+ this.animating = signal(false, ...(ngDevMode ? [{ debugName: "animating" }] : []));
2724
+ this.displayValue = signal([], ...(ngDevMode ? [{ debugName: "displayValue" }] : []));
2725
+ this.icon = signal('fto-calendar', ...(ngDevMode ? [{ debugName: "icon" }] : []));
2696
2726
  this.closeSubject = new Subject();
2697
- this.startDisplay = signal('');
2698
- this.endDisplay = signal('');
2699
- this.activeType = signal('start');
2727
+ this.startDisplay = signal('', ...(ngDevMode ? [{ debugName: "startDisplay" }] : []));
2728
+ this.endDisplay = signal('', ...(ngDevMode ? [{ debugName: "endDisplay" }] : []));
2729
+ this.activeType = signal('start', ...(ngDevMode ? [{ debugName: "activeType" }] : []));
2700
2730
  this.unSubject = new Subject();
2701
2731
  this.document = inject(DOCUMENT);
2702
2732
  this.elementRef = inject(ElementRef);
@@ -2713,10 +2743,10 @@ class XDateRangeComponent extends XDateRangeProperty {
2713
2743
  [`x-justify-${this.justify()}`]: !!this.justify(),
2714
2744
  [`x-align-${this.align()}`]: !!this.align(),
2715
2745
  [`x-direction-${this.direction()}`]: !!this.direction()
2716
- }));
2746
+ }), ...(ngDevMode ? [{ debugName: "classMap" }] : []));
2717
2747
  this.labelMapSignal = computed(() => ({
2718
2748
  [`x-text-align-${this.labelAlign()}`]: !!this.labelAlign()
2719
- }));
2749
+ }), ...(ngDevMode ? [{ debugName: "labelMapSignal" }] : []));
2720
2750
  this.formatSignal = computed(() => {
2721
2751
  if (this.format() !== 'yyyy-MM-dd')
2722
2752
  return this.format();
@@ -2739,24 +2769,24 @@ class XDateRangeComponent extends XDateRangeProperty {
2739
2769
  return 'yyyy-MM-dd HH:mm';
2740
2770
  }
2741
2771
  return this.format();
2742
- });
2772
+ }, ...(ngDevMode ? [{ debugName: "formatSignal" }] : []));
2743
2773
  this.getValue = computed(() => {
2744
2774
  return this.modelType() === 'date'
2745
2775
  ? this.numberValue().map((x) => new Date(x))
2746
2776
  : this.modelType() === 'string'
2747
2777
  ? this.numberValue().map((x) => this.datePipe.transform(x, this.formatSignal()))
2748
2778
  : this.numberValue();
2749
- });
2779
+ }, ...(ngDevMode ? [{ debugName: "getValue" }] : []));
2750
2780
  this.getNumberValue = computed(() => {
2751
2781
  return this.modelType() === 'date'
2752
2782
  ? this.value().map((x) => x.getTime())
2753
2783
  : this.modelType() === 'string'
2754
2784
  ? this.value().map((x) => new Date(x).getTime())
2755
2785
  : this.value();
2756
- });
2757
- this.realPlacement = signal(null);
2758
- this.portalComponent = signal(null);
2759
- this.portalOverlayRef = signal(null);
2786
+ }, ...(ngDevMode ? [{ debugName: "getNumberValue" }] : []));
2787
+ this.realPlacement = signal(null, ...(ngDevMode ? [{ debugName: "realPlacement" }] : []));
2788
+ this.portalComponent = signal(null, ...(ngDevMode ? [{ debugName: "portalComponent" }] : []));
2789
+ this.portalOverlayRef = signal(null, ...(ngDevMode ? [{ debugName: "portalOverlayRef" }] : []));
2760
2790
  effect(() => this.portalComponent()?.setInput('value', this.numberValue()));
2761
2791
  effect(() => this.portalComponent()?.setInput('placement', this.realPlacement()));
2762
2792
  effect(() => this.portalComponent()?.setInput('activeType', this.activeType()));
@@ -3018,23 +3048,23 @@ class XDateRangeComponent extends XDateRangeProperty {
3018
3048
  formControlChanges() {
3019
3049
  this.ngOnInit();
3020
3050
  }
3021
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XDateRangeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3022
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.0", type: XDateRangeComponent, isStandalone: true, selector: "x-date-range", host: { properties: { "class": "this.className" } }, providers: [XValueAccessor(XDateRangeComponent), DatePipe], viewQueries: [{ propertyName: "dateRange", first: true, predicate: ["dateRange"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "inputGroup", first: true, predicate: ["inputGroup"], descendants: true, read: XInputGroupComponent, isSignal: true }, { propertyName: "inputStartCom", first: true, predicate: ["inputStartCom"], descendants: true, read: XInputComponent, isSignal: true }, { propertyName: "inputEndCom", first: true, predicate: ["inputEndCom"], descendants: true, read: XInputComponent, isSignal: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\r\n #dateRange\r\n class=\"x-date-range\"\r\n [ngClass]=\"classMap()\"\r\n [class.x-flex]=\"justify() || align() || direction()\"\r\n [class.x-checked]=\"value()\"\r\n [class.x-disabled]=\"disabledComputed()\"\r\n [class.x-required]=\"requiredIsEmpty()\"\r\n [class.x-invalid]=\"invalid()\"\r\n [class.x-date-range-bordered]=\"bordered()\"\r\n [class.x-date-range-active]=\"active()\"\r\n [class.x-date-range-active-start]=\"activeType() === 'start'\"\r\n [class.x-date-range-active-end]=\"activeType() === 'end'\"\r\n>\r\n @if (label()) {\r\n <label [class.x-date-range-label-required]=\"required()\" [style.width]=\"labelWidth()\" [ngClass]=\"labelMapSignal()\">{{\r\n label()\r\n }}</label>\r\n }\r\n <div class=\"x-date-range-row\">\r\n <x-input-group\r\n #inputGroup\r\n class=\"x-date-range-group\"\r\n (mouseenter)=\"menter()\"\r\n (mouseleave)=\"mleave()\"\r\n (click)=\"showPortal($event)\"\r\n >\r\n <x-input\r\n #inputStartCom\r\n class=\"x-date-range-input x-date-range-input-start\"\r\n type=\"text\"\r\n bordered=\"false\"\r\n [before]=\"before()\"\r\n [size]=\"size()\"\r\n [disabled]=\"disabledComputed()\"\r\n [placeholder]=\"startPlaceholder()!\"\r\n [pointer]=\"pointer()\"\r\n [required]=\"required()\"\r\n [readonly]=\"readonly()\"\r\n (xFocus)=\"onFocus('start')\"\r\n (xClick)=\"showPortal($event, 'start')\"\r\n [(ngModel)]=\"startDisplay\"\r\n icon=\"fto-arrow-right\"\r\n ></x-input>\r\n <x-input\r\n #inputEndCom\r\n class=\"x-date-range-input x-date-range-input-end\"\r\n type=\"text\"\r\n bordered=\"false\"\r\n [size]=\"size()\"\r\n [disabled]=\"disabledComputed()\"\r\n [placeholder]=\"endPlaceholder()!\"\r\n [pointer]=\"pointer()\"\r\n [required]=\"required()\"\r\n [readonly]=\"readonly()\"\r\n (xFocus)=\"onFocus('end')\"\r\n (xClick)=\"showPortal($event, 'end')\"\r\n [(ngModel)]=\"endDisplay\"\r\n [icon]=\"icon()\"\r\n (clearEmit)=\"clearEmit()\"\r\n [clearable]=\"showClearable()\"\r\n [after]=\"after()\"\r\n ></x-input>\r\n @if (active()) {\r\n <div class=\"x-date-range-active-bar\"></div>\r\n }\r\n </x-input-group>\r\n @if (invalid()) {\r\n <span class=\"x-date-range-error-message\">{{ invalidMessage() }}</span>\r\n }\r\n @if (requiredIsEmpty() || invalid()) {\r\n <div class=\"x-border-error x-top-left\"></div>\r\n <div class=\"x-border-error x-top-right\"></div>\r\n <div class=\"x-border-error x-bottom-left\"></div>\r\n <div class=\"x-border-error x-bottom-right\"></div>\r\n }\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-date-range{display:inline-block;width:18rem}x-date-range.x-date-range-date-time{width:26rem}x-date-range.x-date-range-date-minute{width:21rem}x-date-range.x-date-range-date-hour{width:19rem}.x-date-range{margin:0;padding:0}.x-date-range{width:100%}.x-date-range.x-flex{display:flex}.x-date-range.x-justify-start{justify-content:flex-start}.x-date-range.x-justify-center{justify-content:center}.x-date-range.x-justify-end{justify-content:flex-end}.x-date-range.x-justify-space-between{justify-content:space-between}.x-date-range.x-justify-space-around{justify-content:space-around}.x-date-range.x-align-start{align-items:flex-start}.x-date-range.x-align-center{align-items:center}.x-date-range.x-align-end{align-items:flex-end}.x-date-range.x-direction-column{flex-direction:column}.x-date-range.x-direction-column-reverse{flex-direction:column-reverse}.x-date-range.x-direction-row{flex-direction:row}.x-date-range.x-direction-row-reverse{flex-direction:row-reverse}.x-date-range>label{display:inline-block;white-space:nowrap;position:relative;color:var(--x-text-300);font-weight:600}.x-date-range>label.x-text-align-start{text-align:start}.x-date-range>label.x-text-align-center{text-align:center}.x-date-range>label.x-text-align-end{text-align:end}.x-date-range.x-direction-row>label{padding:0 .5rem 0 0}.x-date-range.x-direction-row-reverse>label{padding:0 0 0 .5rem}.x-date-range.x-direction-column,.x-date-range.x-direction-column-reverse{align-items:inherit}.x-date-range-label-required:before{display:inline-block;margin-right:.25rem;color:var(--x-danger);line-height:1;font-size:var(--x-font-size-small);content:\"*\"}.x-date-range-error-message{position:absolute;bottom:0;left:0;font-size:var(--x-font-size)-.125rem;color:var(--x-danger);margin-bottom:calc((var(--x-font-size)) * -2);width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-date-range.x-invalid>label,.x-date-range.x-required>label{color:var(--x-danger)}.x-date-range.x-invalid .x-date-range-input x-icon,.x-date-range.x-required .x-date-range-input x-icon{color:var(--x-danger)}.x-date-range.x-invalid .x-date-range-row .x-border-error,.x-date-range.x-required .x-date-range-row .x-border-error{position:absolute;height:.75rem;width:.75rem;z-index:10}.x-date-range.x-invalid .x-date-range-row .x-border-error.x-top-left,.x-date-range.x-required .x-date-range-row .x-border-error.x-top-left{border-top-left-radius:var(--x-border-radius);top:0;left:0;border-top:var(--x-border-width) solid var(--x-danger);border-left:var(--x-border-width) solid var(--x-danger)}.x-date-range.x-invalid .x-date-range-row .x-border-error.x-top-right,.x-date-range.x-required .x-date-range-row .x-border-error.x-top-right{border-top-right-radius:var(--x-border-radius);top:0;right:0;border-top:var(--x-border-width) solid var(--x-danger);border-right:var(--x-border-width) solid var(--x-danger)}.x-date-range.x-invalid .x-date-range-row .x-border-error.x-bottom-left,.x-date-range.x-required .x-date-range-row .x-border-error.x-bottom-left{border-bottom-left-radius:var(--x-border-radius);bottom:0;left:0;border-bottom:var(--x-border-width) solid var(--x-danger);border-left:var(--x-border-width) solid var(--x-danger)}.x-date-range.x-invalid .x-date-range-row .x-border-error.x-bottom-right,.x-date-range.x-required .x-date-range-row .x-border-error.x-bottom-right{border-bottom-right-radius:var(--x-border-radius);bottom:0;right:0;border-bottom:var(--x-border-width) solid var(--x-danger);border-right:var(--x-border-width) solid var(--x-danger)}.x-date-range-row{flex:1;display:flex;align-items:center;position:relative}.x-date-range-group{width:100%;font-size:var(--x-font-size);background-image:none;box-shadow:var(--x-box-shadow) transparent;transition:all var(--x-animation-duration-slow);border-radius:var(--x-border-radius)}.x-date-range-group .x-input-group{display:flex;align-items:center;position:relative}.x-date-range-group .x-input-group>x-input{flex:1;width:50%}.x-date-range-group .x-input-group>x-input input{padding-left:var(--x-padding-medium)!important;padding-right:var(--x-padding-medium)!important}.x-date-range-group .x-input-group>x-input .x-input-row>.x-input-input>input{box-shadow:none}.x-date-range-bordered .x-date-range-group{border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius)}.x-date-range-bordered .x-date-range-group .x-input-group>x-input input{background-color:transparent}.x-date-range-bordered:not(.x-disabled) .x-date-range-group:hover{border-color:var(--x-primary-300)}.x-date-range-active-bar{position:absolute;height:.125rem;margin-left:.4rem;bottom:-.0625rem;width:calc(50% - 2.2rem);background-color:var(--x-primary);transition:var(--x-animation-duration-base)}.x-date-range-active .x-date-range-group{border-color:var(--x-primary)}.x-date-range-active-start .x-date-range-active-bar{left:0}.x-date-range-active-end .x-date-range-active-bar{left:50%}.x-date-range-input-start .x-input-row>.x-input-input>input{border-top-right-radius:0;border-bottom-right-radius:0}.x-date-range-input-end .x-input-row>.x-input-input>input{border-top-left-radius:0;border-bottom-left-radius:0}.x-date-range-big>.x-date-range-row .x-date-range-input input{height:var(--x-height-big);line-height:var(--x-height-big)}.x-date-range-big>.x-date-range-row{height:var(--x-height-big);line-height:var(--x-height-big)}.x-date-range-big>label{height:var(--x-height-big);line-height:var(--x-height-big)}.x-date-range-large>.x-date-range-row .x-date-range-input input{height:var(--x-height-large);line-height:var(--x-height-large)}.x-date-range-large>.x-date-range-row{height:var(--x-height-large);line-height:var(--x-height-large)}.x-date-range-large>label{height:var(--x-height-large);line-height:var(--x-height-large)}.x-date-range-medium>.x-date-range-row .x-date-range-input input{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-date-range-medium>.x-date-range-row{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-date-range-medium>label{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-date-range-small>.x-date-range-row .x-date-range-input input{height:var(--x-height-small);line-height:var(--x-height-small)}.x-date-range-small>.x-date-range-row{height:var(--x-height-small);line-height:var(--x-height-small)}.x-date-range-small>label{height:var(--x-height-small);line-height:var(--x-height-small)}.x-date-range-mini>.x-date-range-row .x-date-range-input input{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-date-range-mini>.x-date-range-row{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-date-range-mini>label{height:var(--x-height-mini);line-height:var(--x-height-mini)}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: XInputComponent, selector: "x-input" }, { kind: "component", type: XInputGroupComponent, selector: "x-input-group" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
3051
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XDateRangeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3052
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.4", type: XDateRangeComponent, isStandalone: true, selector: "x-date-range", host: { properties: { "class": "this.className" } }, providers: [XValueAccessor(XDateRangeComponent), DatePipe], viewQueries: [{ propertyName: "dateRange", first: true, predicate: ["dateRange"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "inputGroup", first: true, predicate: ["inputGroup"], descendants: true, read: XInputGroupComponent, isSignal: true }, { propertyName: "inputStartCom", first: true, predicate: ["inputStartCom"], descendants: true, read: XInputComponent, isSignal: true }, { propertyName: "inputEndCom", first: true, predicate: ["inputEndCom"], descendants: true, read: XInputComponent, isSignal: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\r\n #dateRange\r\n class=\"x-date-range\"\r\n [ngClass]=\"classMap()\"\r\n [class.x-flex]=\"justify() || align() || direction()\"\r\n [class.x-checked]=\"value()\"\r\n [class.x-disabled]=\"disabledComputed()\"\r\n [class.x-required]=\"requiredIsEmpty()\"\r\n [class.x-invalid]=\"invalid()\"\r\n [class.x-date-range-bordered]=\"bordered()\"\r\n [class.x-date-range-filled]=\"variant() === 'filled'\"\r\n [class.x-date-range-borderless]=\"variant() === 'borderless' || (variant() === 'outlined' && !bordered())\"\r\n [class.x-date-range-underlined]=\"variant() === 'underlined'\"\r\n [class.x-date-range-active]=\"active()\"\r\n [class.x-date-range-active-start]=\"activeType() === 'start'\"\r\n [class.x-date-range-active-end]=\"activeType() === 'end'\"\r\n>\r\n @if (label()) {\r\n <label\r\n [class.x-date-range-label-required]=\"required()\"\r\n [style.width]=\"labelWidth()\"\r\n [ngClass]=\"labelMapSignal()\"\r\n *xOutlet=\"label()\"\r\n >{{ label() }}</label\r\n >\r\n }\r\n <div class=\"x-date-range-row\">\r\n <x-input-group\r\n #inputGroup\r\n class=\"x-date-range-group\"\r\n (mouseenter)=\"menter()\"\r\n (mouseleave)=\"mleave()\"\r\n (click)=\"showPortal($event)\"\r\n >\r\n <x-input\r\n #inputStartCom\r\n class=\"x-date-range-input x-date-range-input-start\"\r\n type=\"text\"\r\n bordered=\"false\"\r\n [before]=\"before()\"\r\n [label]=\"!!floatLabel() ? startPlaceholder()! : ''\"\r\n [size]=\"size()\"\r\n [disabled]=\"disabledComputed()\"\r\n [placeholder]=\"startPlaceholder()!\"\r\n [pointer]=\"pointer()\"\r\n [required]=\"required()\"\r\n [readonly]=\"readonly()\"\r\n [floatLabel]=\"floatLabel()\"\r\n [floatFixed]=\"floatFixed()\"\r\n (xFocus)=\"onFocus('start')\"\r\n (xClick)=\"showPortal($event, 'start')\"\r\n [(ngModel)]=\"startDisplay\"\r\n icon=\"fto-arrow-right\"\r\n ></x-input>\r\n <x-input\r\n #inputEndCom\r\n class=\"x-date-range-input x-date-range-input-end\"\r\n type=\"text\"\r\n bordered=\"false\"\r\n [label]=\"!!floatLabel() ? endPlaceholder()! : ''\"\r\n [size]=\"size()\"\r\n [disabled]=\"disabledComputed()\"\r\n [placeholder]=\"endPlaceholder()!\"\r\n [pointer]=\"pointer()\"\r\n [required]=\"required()\"\r\n [readonly]=\"readonly()\"\r\n [floatLabel]=\"floatLabel()\"\r\n [floatFixed]=\"floatFixed()\"\r\n (xFocus)=\"onFocus('end')\"\r\n (xClick)=\"showPortal($event, 'end')\"\r\n [(ngModel)]=\"endDisplay\"\r\n [icon]=\"icon()\"\r\n (clearEmit)=\"clearEmit()\"\r\n [clearable]=\"showClearable()\"\r\n [after]=\"after()\"\r\n ></x-input>\r\n @if (active()) {\r\n <div class=\"x-date-range-active-bar\"></div>\r\n }\r\n </x-input-group>\r\n @if (invalid()) {\r\n <span class=\"x-date-range-error-message\">{{ invalidMessage() }}</span>\r\n }\r\n @if (requiredIsEmpty() || invalid()) {\r\n <div class=\"x-border-error x-top-left\"></div>\r\n <div class=\"x-border-error x-top-right\"></div>\r\n <div class=\"x-border-error x-bottom-left\"></div>\r\n <div class=\"x-border-error x-bottom-right\"></div>\r\n }\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-date-range{display:inline-block;width:18rem}x-date-range.x-date-range-date-time{width:26rem}x-date-range.x-date-range-date-minute{width:21rem}x-date-range.x-date-range-date-hour{width:19rem}.x-date-range{margin:0;padding:0}.x-date-range{width:100%}.x-date-range.x-flex{display:flex}.x-date-range.x-justify-start{justify-content:flex-start}.x-date-range.x-justify-center{justify-content:center}.x-date-range.x-justify-end{justify-content:flex-end}.x-date-range.x-justify-space-between{justify-content:space-between}.x-date-range.x-justify-space-around{justify-content:space-around}.x-date-range.x-align-start{align-items:flex-start}.x-date-range.x-align-center{align-items:center}.x-date-range.x-align-end{align-items:flex-end}.x-date-range.x-direction-column{flex-direction:column}.x-date-range.x-direction-column-reverse{flex-direction:column-reverse}.x-date-range.x-direction-row{flex-direction:row}.x-date-range.x-direction-row-reverse{flex-direction:row-reverse}.x-date-range>label{display:inline-block;white-space:nowrap;position:relative;color:var(--x-text-300);font-weight:500}.x-date-range>label.x-text-align-start{text-align:start}.x-date-range>label.x-text-align-center{text-align:center}.x-date-range>label.x-text-align-end{text-align:end}.x-date-range.x-direction-row>label{padding:0 .5rem 0 0}.x-date-range.x-direction-row-reverse>label{padding:0 0 0 .5rem}.x-date-range.x-direction-column,.x-date-range.x-direction-column-reverse{align-items:inherit}.x-date-range-label-required:before{display:inline-block;margin-right:.25rem;color:var(--x-danger);line-height:1;font-size:var(--x-font-size-small);content:\"*\"}.x-date-range-error-message{position:absolute;bottom:0;left:0;font-size:var(--x-font-size)-.125rem;color:var(--x-danger);margin-bottom:calc((var(--x-font-size)) * -2);width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-date-range.x-invalid>label,.x-date-range.x-required>label{color:var(--x-danger)}.x-date-range.x-invalid .x-date-range-input x-icon,.x-date-range.x-required .x-date-range-input x-icon{color:var(--x-danger)}.x-date-range.x-invalid .x-date-range-row .x-border-error,.x-date-range.x-required .x-date-range-row .x-border-error{position:absolute;height:.75rem;width:.75rem;z-index:10}.x-date-range.x-invalid .x-date-range-row .x-border-error.x-top-left,.x-date-range.x-required .x-date-range-row .x-border-error.x-top-left{border-top-left-radius:var(--x-border-radius);top:0;left:0;border-top:var(--x-border-width) solid var(--x-danger);border-left:var(--x-border-width) solid var(--x-danger)}.x-date-range.x-invalid .x-date-range-row .x-border-error.x-top-right,.x-date-range.x-required .x-date-range-row .x-border-error.x-top-right{border-top-right-radius:var(--x-border-radius);top:0;right:0;border-top:var(--x-border-width) solid var(--x-danger);border-right:var(--x-border-width) solid var(--x-danger)}.x-date-range.x-invalid .x-date-range-row .x-border-error.x-bottom-left,.x-date-range.x-required .x-date-range-row .x-border-error.x-bottom-left{border-bottom-left-radius:var(--x-border-radius);bottom:0;left:0;border-bottom:var(--x-border-width) solid var(--x-danger);border-left:var(--x-border-width) solid var(--x-danger)}.x-date-range.x-invalid .x-date-range-row .x-border-error.x-bottom-right,.x-date-range.x-required .x-date-range-row .x-border-error.x-bottom-right{border-bottom-right-radius:var(--x-border-radius);bottom:0;right:0;border-bottom:var(--x-border-width) solid var(--x-danger);border-right:var(--x-border-width) solid var(--x-danger)}.x-date-range-row{flex:1;display:flex;align-items:center;position:relative}.x-date-range-group{width:100%;font-size:var(--x-font-size);background-image:none;box-shadow:var(--x-box-shadow) transparent;transition:all var(--x-animation-duration-slow);border-radius:var(--x-border-radius)}.x-date-range-group .x-input-group{display:flex;align-items:center;position:relative}.x-date-range-group .x-input-group>x-input{flex:1;width:50%}.x-date-range-group .x-input-group>x-input input{padding-left:.75rem!important;padding-right:.75rem!important}.x-date-range-group .x-input-group>x-input .x-input-row>.x-input-input>input{box-shadow:none}.x-date-range-bordered .x-date-range-group{border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius)}.x-date-range-bordered .x-date-range-group .x-input-group>x-input input{background-color:transparent}.x-date-range-bordered:not(.x-disabled) .x-date-range-group:hover{border-color:var(--x-primary-300)}.x-date-range-filled .x-date-range-group{border-color:transparent;background-color:var(--x-background-a200)}.x-date-range-filled:not(.x-disabled) .x-date-range-group:hover{background-color:var(--x-background-a300)}.x-date-range-filled:not(.x-disabled).x-date-range-active .x-date-range-group{border-color:var(--x-primary);background-color:var(--x-background)}.x-date-range-borderless .x-date-range-group{border:none}.x-date-range-underlined .x-date-range-group{border-width:0 0 var(--x-border-width);border-radius:0}.x-date-range-active-bar{position:absolute;height:.125rem;margin-left:.4rem;bottom:-.0625rem;width:calc(50% - 2.2rem);background-color:var(--x-primary);transition:var(--x-animation-duration-base)}.x-date-range-active .x-date-range-group{border-color:var(--x-primary)}.x-date-range-active-start .x-date-range-active-bar{left:0}.x-date-range-active-end .x-date-range-active-bar{left:50%}.x-date-range-input-start .x-input-row>.x-input-input>input{border-top-right-radius:0;border-bottom-right-radius:0}.x-date-range-input-end .x-input-row>.x-input-input>input{border-top-left-radius:0;border-bottom-left-radius:0}.x-date-range .x-input-mini.x-input-float-label-over.x-input-focus>label,.x-date-range .x-input-mini.x-input-float-label-over.x-input-has-value>label,.x-date-range .x-input-mini.x-input-float-label-over.x-input-active>label,.x-date-range .x-input-mini.x-input-float-label-on.x-input-focus>label,.x-date-range .x-input-mini.x-input-float-label-on.x-input-has-value>label,.x-date-range .x-input-mini.x-input-float-label-on.x-input-active>label,.x-date-range .x-input-mini.x-input-float-label-in.x-input-focus>label,.x-date-range .x-input-mini.x-input-float-label-in.x-input-has-value>label,.x-date-range .x-input-mini.x-input-float-label-in.x-input-active>label,.x-date-range .x-input-small.x-input-float-label-over.x-input-focus>label,.x-date-range .x-input-small.x-input-float-label-over.x-input-has-value>label,.x-date-range .x-input-small.x-input-float-label-over.x-input-active>label,.x-date-range .x-input-small.x-input-float-label-on.x-input-focus>label,.x-date-range .x-input-small.x-input-float-label-on.x-input-has-value>label,.x-date-range .x-input-small.x-input-float-label-on.x-input-active>label,.x-date-range .x-input-small.x-input-float-label-in.x-input-focus>label,.x-date-range .x-input-small.x-input-float-label-in.x-input-has-value>label,.x-date-range .x-input-small.x-input-float-label-in.x-input-active>label,.x-date-range .x-input-medium.x-input-float-label-over.x-input-focus>label,.x-date-range .x-input-medium.x-input-float-label-over.x-input-has-value>label,.x-date-range .x-input-medium.x-input-float-label-over.x-input-active>label,.x-date-range .x-input-medium.x-input-float-label-on.x-input-focus>label,.x-date-range .x-input-medium.x-input-float-label-on.x-input-has-value>label,.x-date-range .x-input-medium.x-input-float-label-on.x-input-active>label,.x-date-range .x-input-medium.x-input-float-label-in.x-input-focus>label,.x-date-range .x-input-medium.x-input-float-label-in.x-input-has-value>label,.x-date-range .x-input-medium.x-input-float-label-in.x-input-active>label,.x-date-range .x-input-large.x-input-float-label-over.x-input-focus>label,.x-date-range .x-input-large.x-input-float-label-over.x-input-has-value>label,.x-date-range .x-input-large.x-input-float-label-over.x-input-active>label,.x-date-range .x-input-large.x-input-float-label-on.x-input-focus>label,.x-date-range .x-input-large.x-input-float-label-on.x-input-has-value>label,.x-date-range .x-input-large.x-input-float-label-on.x-input-active>label,.x-date-range .x-input-large.x-input-float-label-in.x-input-focus>label,.x-date-range .x-input-large.x-input-float-label-in.x-input-has-value>label,.x-date-range .x-input-large.x-input-float-label-in.x-input-active>label,.x-date-range .x-input-big.x-input-float-label-over.x-input-focus>label,.x-date-range .x-input-big.x-input-float-label-over.x-input-has-value>label,.x-date-range .x-input-big.x-input-float-label-over.x-input-active>label,.x-date-range .x-input-big.x-input-float-label-on.x-input-focus>label,.x-date-range .x-input-big.x-input-float-label-on.x-input-has-value>label,.x-date-range .x-input-big.x-input-float-label-on.x-input-active>label,.x-date-range .x-input-big.x-input-float-label-in.x-input-focus>label,.x-date-range .x-input-big.x-input-float-label-in.x-input-has-value>label,.x-date-range .x-input-big.x-input-float-label-in.x-input-active>label{margin-left:.75rem!important}.x-date-range-big>.x-date-range-row .x-date-range-input input{height:var(--x-height-big);line-height:var(--x-height-big)}.x-date-range-big>.x-date-range-row{height:var(--x-height-big);line-height:var(--x-height-big)}.x-date-range-big>label{height:var(--x-height-big);line-height:var(--x-height-big)}.x-date-range-large>.x-date-range-row .x-date-range-input input{height:var(--x-height-large);line-height:var(--x-height-large)}.x-date-range-large>.x-date-range-row{height:var(--x-height-large);line-height:var(--x-height-large)}.x-date-range-large>label{height:var(--x-height-large);line-height:var(--x-height-large)}.x-date-range-medium>.x-date-range-row .x-date-range-input input{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-date-range-medium>.x-date-range-row{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-date-range-medium>label{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-date-range-small>.x-date-range-row .x-date-range-input input{height:var(--x-height-small);line-height:var(--x-height-small)}.x-date-range-small>.x-date-range-row{height:var(--x-height-small);line-height:var(--x-height-small)}.x-date-range-small>label{height:var(--x-height-small);line-height:var(--x-height-small)}.x-date-range-mini>.x-date-range-row .x-date-range-input input{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-date-range-mini>.x-date-range-row{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-date-range-mini>label{height:var(--x-height-mini);line-height:var(--x-height-mini)}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: XInputComponent, selector: "x-input" }, { kind: "component", type: XInputGroupComponent, selector: "x-input-group" }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
3023
3053
  }
3024
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XDateRangeComponent, decorators: [{
3054
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XDateRangeComponent, decorators: [{
3025
3055
  type: Component,
3026
- args: [{ selector: `${XDateRangePrefix}`, imports: [NgClass, FormsModule, XInputComponent, XInputGroupComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XDateRangeComponent), DatePipe], template: "<div\r\n #dateRange\r\n class=\"x-date-range\"\r\n [ngClass]=\"classMap()\"\r\n [class.x-flex]=\"justify() || align() || direction()\"\r\n [class.x-checked]=\"value()\"\r\n [class.x-disabled]=\"disabledComputed()\"\r\n [class.x-required]=\"requiredIsEmpty()\"\r\n [class.x-invalid]=\"invalid()\"\r\n [class.x-date-range-bordered]=\"bordered()\"\r\n [class.x-date-range-active]=\"active()\"\r\n [class.x-date-range-active-start]=\"activeType() === 'start'\"\r\n [class.x-date-range-active-end]=\"activeType() === 'end'\"\r\n>\r\n @if (label()) {\r\n <label [class.x-date-range-label-required]=\"required()\" [style.width]=\"labelWidth()\" [ngClass]=\"labelMapSignal()\">{{\r\n label()\r\n }}</label>\r\n }\r\n <div class=\"x-date-range-row\">\r\n <x-input-group\r\n #inputGroup\r\n class=\"x-date-range-group\"\r\n (mouseenter)=\"menter()\"\r\n (mouseleave)=\"mleave()\"\r\n (click)=\"showPortal($event)\"\r\n >\r\n <x-input\r\n #inputStartCom\r\n class=\"x-date-range-input x-date-range-input-start\"\r\n type=\"text\"\r\n bordered=\"false\"\r\n [before]=\"before()\"\r\n [size]=\"size()\"\r\n [disabled]=\"disabledComputed()\"\r\n [placeholder]=\"startPlaceholder()!\"\r\n [pointer]=\"pointer()\"\r\n [required]=\"required()\"\r\n [readonly]=\"readonly()\"\r\n (xFocus)=\"onFocus('start')\"\r\n (xClick)=\"showPortal($event, 'start')\"\r\n [(ngModel)]=\"startDisplay\"\r\n icon=\"fto-arrow-right\"\r\n ></x-input>\r\n <x-input\r\n #inputEndCom\r\n class=\"x-date-range-input x-date-range-input-end\"\r\n type=\"text\"\r\n bordered=\"false\"\r\n [size]=\"size()\"\r\n [disabled]=\"disabledComputed()\"\r\n [placeholder]=\"endPlaceholder()!\"\r\n [pointer]=\"pointer()\"\r\n [required]=\"required()\"\r\n [readonly]=\"readonly()\"\r\n (xFocus)=\"onFocus('end')\"\r\n (xClick)=\"showPortal($event, 'end')\"\r\n [(ngModel)]=\"endDisplay\"\r\n [icon]=\"icon()\"\r\n (clearEmit)=\"clearEmit()\"\r\n [clearable]=\"showClearable()\"\r\n [after]=\"after()\"\r\n ></x-input>\r\n @if (active()) {\r\n <div class=\"x-date-range-active-bar\"></div>\r\n }\r\n </x-input-group>\r\n @if (invalid()) {\r\n <span class=\"x-date-range-error-message\">{{ invalidMessage() }}</span>\r\n }\r\n @if (requiredIsEmpty() || invalid()) {\r\n <div class=\"x-border-error x-top-left\"></div>\r\n <div class=\"x-border-error x-top-right\"></div>\r\n <div class=\"x-border-error x-bottom-left\"></div>\r\n <div class=\"x-border-error x-bottom-right\"></div>\r\n }\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-date-range{display:inline-block;width:18rem}x-date-range.x-date-range-date-time{width:26rem}x-date-range.x-date-range-date-minute{width:21rem}x-date-range.x-date-range-date-hour{width:19rem}.x-date-range{margin:0;padding:0}.x-date-range{width:100%}.x-date-range.x-flex{display:flex}.x-date-range.x-justify-start{justify-content:flex-start}.x-date-range.x-justify-center{justify-content:center}.x-date-range.x-justify-end{justify-content:flex-end}.x-date-range.x-justify-space-between{justify-content:space-between}.x-date-range.x-justify-space-around{justify-content:space-around}.x-date-range.x-align-start{align-items:flex-start}.x-date-range.x-align-center{align-items:center}.x-date-range.x-align-end{align-items:flex-end}.x-date-range.x-direction-column{flex-direction:column}.x-date-range.x-direction-column-reverse{flex-direction:column-reverse}.x-date-range.x-direction-row{flex-direction:row}.x-date-range.x-direction-row-reverse{flex-direction:row-reverse}.x-date-range>label{display:inline-block;white-space:nowrap;position:relative;color:var(--x-text-300);font-weight:600}.x-date-range>label.x-text-align-start{text-align:start}.x-date-range>label.x-text-align-center{text-align:center}.x-date-range>label.x-text-align-end{text-align:end}.x-date-range.x-direction-row>label{padding:0 .5rem 0 0}.x-date-range.x-direction-row-reverse>label{padding:0 0 0 .5rem}.x-date-range.x-direction-column,.x-date-range.x-direction-column-reverse{align-items:inherit}.x-date-range-label-required:before{display:inline-block;margin-right:.25rem;color:var(--x-danger);line-height:1;font-size:var(--x-font-size-small);content:\"*\"}.x-date-range-error-message{position:absolute;bottom:0;left:0;font-size:var(--x-font-size)-.125rem;color:var(--x-danger);margin-bottom:calc((var(--x-font-size)) * -2);width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-date-range.x-invalid>label,.x-date-range.x-required>label{color:var(--x-danger)}.x-date-range.x-invalid .x-date-range-input x-icon,.x-date-range.x-required .x-date-range-input x-icon{color:var(--x-danger)}.x-date-range.x-invalid .x-date-range-row .x-border-error,.x-date-range.x-required .x-date-range-row .x-border-error{position:absolute;height:.75rem;width:.75rem;z-index:10}.x-date-range.x-invalid .x-date-range-row .x-border-error.x-top-left,.x-date-range.x-required .x-date-range-row .x-border-error.x-top-left{border-top-left-radius:var(--x-border-radius);top:0;left:0;border-top:var(--x-border-width) solid var(--x-danger);border-left:var(--x-border-width) solid var(--x-danger)}.x-date-range.x-invalid .x-date-range-row .x-border-error.x-top-right,.x-date-range.x-required .x-date-range-row .x-border-error.x-top-right{border-top-right-radius:var(--x-border-radius);top:0;right:0;border-top:var(--x-border-width) solid var(--x-danger);border-right:var(--x-border-width) solid var(--x-danger)}.x-date-range.x-invalid .x-date-range-row .x-border-error.x-bottom-left,.x-date-range.x-required .x-date-range-row .x-border-error.x-bottom-left{border-bottom-left-radius:var(--x-border-radius);bottom:0;left:0;border-bottom:var(--x-border-width) solid var(--x-danger);border-left:var(--x-border-width) solid var(--x-danger)}.x-date-range.x-invalid .x-date-range-row .x-border-error.x-bottom-right,.x-date-range.x-required .x-date-range-row .x-border-error.x-bottom-right{border-bottom-right-radius:var(--x-border-radius);bottom:0;right:0;border-bottom:var(--x-border-width) solid var(--x-danger);border-right:var(--x-border-width) solid var(--x-danger)}.x-date-range-row{flex:1;display:flex;align-items:center;position:relative}.x-date-range-group{width:100%;font-size:var(--x-font-size);background-image:none;box-shadow:var(--x-box-shadow) transparent;transition:all var(--x-animation-duration-slow);border-radius:var(--x-border-radius)}.x-date-range-group .x-input-group{display:flex;align-items:center;position:relative}.x-date-range-group .x-input-group>x-input{flex:1;width:50%}.x-date-range-group .x-input-group>x-input input{padding-left:var(--x-padding-medium)!important;padding-right:var(--x-padding-medium)!important}.x-date-range-group .x-input-group>x-input .x-input-row>.x-input-input>input{box-shadow:none}.x-date-range-bordered .x-date-range-group{border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius)}.x-date-range-bordered .x-date-range-group .x-input-group>x-input input{background-color:transparent}.x-date-range-bordered:not(.x-disabled) .x-date-range-group:hover{border-color:var(--x-primary-300)}.x-date-range-active-bar{position:absolute;height:.125rem;margin-left:.4rem;bottom:-.0625rem;width:calc(50% - 2.2rem);background-color:var(--x-primary);transition:var(--x-animation-duration-base)}.x-date-range-active .x-date-range-group{border-color:var(--x-primary)}.x-date-range-active-start .x-date-range-active-bar{left:0}.x-date-range-active-end .x-date-range-active-bar{left:50%}.x-date-range-input-start .x-input-row>.x-input-input>input{border-top-right-radius:0;border-bottom-right-radius:0}.x-date-range-input-end .x-input-row>.x-input-input>input{border-top-left-radius:0;border-bottom-left-radius:0}.x-date-range-big>.x-date-range-row .x-date-range-input input{height:var(--x-height-big);line-height:var(--x-height-big)}.x-date-range-big>.x-date-range-row{height:var(--x-height-big);line-height:var(--x-height-big)}.x-date-range-big>label{height:var(--x-height-big);line-height:var(--x-height-big)}.x-date-range-large>.x-date-range-row .x-date-range-input input{height:var(--x-height-large);line-height:var(--x-height-large)}.x-date-range-large>.x-date-range-row{height:var(--x-height-large);line-height:var(--x-height-large)}.x-date-range-large>label{height:var(--x-height-large);line-height:var(--x-height-large)}.x-date-range-medium>.x-date-range-row .x-date-range-input input{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-date-range-medium>.x-date-range-row{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-date-range-medium>label{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-date-range-small>.x-date-range-row .x-date-range-input input{height:var(--x-height-small);line-height:var(--x-height-small)}.x-date-range-small>.x-date-range-row{height:var(--x-height-small);line-height:var(--x-height-small)}.x-date-range-small>label{height:var(--x-height-small);line-height:var(--x-height-small)}.x-date-range-mini>.x-date-range-row .x-date-range-input input{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-date-range-mini>.x-date-range-row{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-date-range-mini>label{height:var(--x-height-mini);line-height:var(--x-height-mini)}\n"] }]
3056
+ args: [{ selector: `${XDateRangePrefix}`, imports: [NgClass, FormsModule, XInputComponent, XInputGroupComponent, XOutletDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XDateRangeComponent), DatePipe], template: "<div\r\n #dateRange\r\n class=\"x-date-range\"\r\n [ngClass]=\"classMap()\"\r\n [class.x-flex]=\"justify() || align() || direction()\"\r\n [class.x-checked]=\"value()\"\r\n [class.x-disabled]=\"disabledComputed()\"\r\n [class.x-required]=\"requiredIsEmpty()\"\r\n [class.x-invalid]=\"invalid()\"\r\n [class.x-date-range-bordered]=\"bordered()\"\r\n [class.x-date-range-filled]=\"variant() === 'filled'\"\r\n [class.x-date-range-borderless]=\"variant() === 'borderless' || (variant() === 'outlined' && !bordered())\"\r\n [class.x-date-range-underlined]=\"variant() === 'underlined'\"\r\n [class.x-date-range-active]=\"active()\"\r\n [class.x-date-range-active-start]=\"activeType() === 'start'\"\r\n [class.x-date-range-active-end]=\"activeType() === 'end'\"\r\n>\r\n @if (label()) {\r\n <label\r\n [class.x-date-range-label-required]=\"required()\"\r\n [style.width]=\"labelWidth()\"\r\n [ngClass]=\"labelMapSignal()\"\r\n *xOutlet=\"label()\"\r\n >{{ label() }}</label\r\n >\r\n }\r\n <div class=\"x-date-range-row\">\r\n <x-input-group\r\n #inputGroup\r\n class=\"x-date-range-group\"\r\n (mouseenter)=\"menter()\"\r\n (mouseleave)=\"mleave()\"\r\n (click)=\"showPortal($event)\"\r\n >\r\n <x-input\r\n #inputStartCom\r\n class=\"x-date-range-input x-date-range-input-start\"\r\n type=\"text\"\r\n bordered=\"false\"\r\n [before]=\"before()\"\r\n [label]=\"!!floatLabel() ? startPlaceholder()! : ''\"\r\n [size]=\"size()\"\r\n [disabled]=\"disabledComputed()\"\r\n [placeholder]=\"startPlaceholder()!\"\r\n [pointer]=\"pointer()\"\r\n [required]=\"required()\"\r\n [readonly]=\"readonly()\"\r\n [floatLabel]=\"floatLabel()\"\r\n [floatFixed]=\"floatFixed()\"\r\n (xFocus)=\"onFocus('start')\"\r\n (xClick)=\"showPortal($event, 'start')\"\r\n [(ngModel)]=\"startDisplay\"\r\n icon=\"fto-arrow-right\"\r\n ></x-input>\r\n <x-input\r\n #inputEndCom\r\n class=\"x-date-range-input x-date-range-input-end\"\r\n type=\"text\"\r\n bordered=\"false\"\r\n [label]=\"!!floatLabel() ? endPlaceholder()! : ''\"\r\n [size]=\"size()\"\r\n [disabled]=\"disabledComputed()\"\r\n [placeholder]=\"endPlaceholder()!\"\r\n [pointer]=\"pointer()\"\r\n [required]=\"required()\"\r\n [readonly]=\"readonly()\"\r\n [floatLabel]=\"floatLabel()\"\r\n [floatFixed]=\"floatFixed()\"\r\n (xFocus)=\"onFocus('end')\"\r\n (xClick)=\"showPortal($event, 'end')\"\r\n [(ngModel)]=\"endDisplay\"\r\n [icon]=\"icon()\"\r\n (clearEmit)=\"clearEmit()\"\r\n [clearable]=\"showClearable()\"\r\n [after]=\"after()\"\r\n ></x-input>\r\n @if (active()) {\r\n <div class=\"x-date-range-active-bar\"></div>\r\n }\r\n </x-input-group>\r\n @if (invalid()) {\r\n <span class=\"x-date-range-error-message\">{{ invalidMessage() }}</span>\r\n }\r\n @if (requiredIsEmpty() || invalid()) {\r\n <div class=\"x-border-error x-top-left\"></div>\r\n <div class=\"x-border-error x-top-right\"></div>\r\n <div class=\"x-border-error x-bottom-left\"></div>\r\n <div class=\"x-border-error x-bottom-right\"></div>\r\n }\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-date-range{display:inline-block;width:18rem}x-date-range.x-date-range-date-time{width:26rem}x-date-range.x-date-range-date-minute{width:21rem}x-date-range.x-date-range-date-hour{width:19rem}.x-date-range{margin:0;padding:0}.x-date-range{width:100%}.x-date-range.x-flex{display:flex}.x-date-range.x-justify-start{justify-content:flex-start}.x-date-range.x-justify-center{justify-content:center}.x-date-range.x-justify-end{justify-content:flex-end}.x-date-range.x-justify-space-between{justify-content:space-between}.x-date-range.x-justify-space-around{justify-content:space-around}.x-date-range.x-align-start{align-items:flex-start}.x-date-range.x-align-center{align-items:center}.x-date-range.x-align-end{align-items:flex-end}.x-date-range.x-direction-column{flex-direction:column}.x-date-range.x-direction-column-reverse{flex-direction:column-reverse}.x-date-range.x-direction-row{flex-direction:row}.x-date-range.x-direction-row-reverse{flex-direction:row-reverse}.x-date-range>label{display:inline-block;white-space:nowrap;position:relative;color:var(--x-text-300);font-weight:500}.x-date-range>label.x-text-align-start{text-align:start}.x-date-range>label.x-text-align-center{text-align:center}.x-date-range>label.x-text-align-end{text-align:end}.x-date-range.x-direction-row>label{padding:0 .5rem 0 0}.x-date-range.x-direction-row-reverse>label{padding:0 0 0 .5rem}.x-date-range.x-direction-column,.x-date-range.x-direction-column-reverse{align-items:inherit}.x-date-range-label-required:before{display:inline-block;margin-right:.25rem;color:var(--x-danger);line-height:1;font-size:var(--x-font-size-small);content:\"*\"}.x-date-range-error-message{position:absolute;bottom:0;left:0;font-size:var(--x-font-size)-.125rem;color:var(--x-danger);margin-bottom:calc((var(--x-font-size)) * -2);width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-date-range.x-invalid>label,.x-date-range.x-required>label{color:var(--x-danger)}.x-date-range.x-invalid .x-date-range-input x-icon,.x-date-range.x-required .x-date-range-input x-icon{color:var(--x-danger)}.x-date-range.x-invalid .x-date-range-row .x-border-error,.x-date-range.x-required .x-date-range-row .x-border-error{position:absolute;height:.75rem;width:.75rem;z-index:10}.x-date-range.x-invalid .x-date-range-row .x-border-error.x-top-left,.x-date-range.x-required .x-date-range-row .x-border-error.x-top-left{border-top-left-radius:var(--x-border-radius);top:0;left:0;border-top:var(--x-border-width) solid var(--x-danger);border-left:var(--x-border-width) solid var(--x-danger)}.x-date-range.x-invalid .x-date-range-row .x-border-error.x-top-right,.x-date-range.x-required .x-date-range-row .x-border-error.x-top-right{border-top-right-radius:var(--x-border-radius);top:0;right:0;border-top:var(--x-border-width) solid var(--x-danger);border-right:var(--x-border-width) solid var(--x-danger)}.x-date-range.x-invalid .x-date-range-row .x-border-error.x-bottom-left,.x-date-range.x-required .x-date-range-row .x-border-error.x-bottom-left{border-bottom-left-radius:var(--x-border-radius);bottom:0;left:0;border-bottom:var(--x-border-width) solid var(--x-danger);border-left:var(--x-border-width) solid var(--x-danger)}.x-date-range.x-invalid .x-date-range-row .x-border-error.x-bottom-right,.x-date-range.x-required .x-date-range-row .x-border-error.x-bottom-right{border-bottom-right-radius:var(--x-border-radius);bottom:0;right:0;border-bottom:var(--x-border-width) solid var(--x-danger);border-right:var(--x-border-width) solid var(--x-danger)}.x-date-range-row{flex:1;display:flex;align-items:center;position:relative}.x-date-range-group{width:100%;font-size:var(--x-font-size);background-image:none;box-shadow:var(--x-box-shadow) transparent;transition:all var(--x-animation-duration-slow);border-radius:var(--x-border-radius)}.x-date-range-group .x-input-group{display:flex;align-items:center;position:relative}.x-date-range-group .x-input-group>x-input{flex:1;width:50%}.x-date-range-group .x-input-group>x-input input{padding-left:.75rem!important;padding-right:.75rem!important}.x-date-range-group .x-input-group>x-input .x-input-row>.x-input-input>input{box-shadow:none}.x-date-range-bordered .x-date-range-group{border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius)}.x-date-range-bordered .x-date-range-group .x-input-group>x-input input{background-color:transparent}.x-date-range-bordered:not(.x-disabled) .x-date-range-group:hover{border-color:var(--x-primary-300)}.x-date-range-filled .x-date-range-group{border-color:transparent;background-color:var(--x-background-a200)}.x-date-range-filled:not(.x-disabled) .x-date-range-group:hover{background-color:var(--x-background-a300)}.x-date-range-filled:not(.x-disabled).x-date-range-active .x-date-range-group{border-color:var(--x-primary);background-color:var(--x-background)}.x-date-range-borderless .x-date-range-group{border:none}.x-date-range-underlined .x-date-range-group{border-width:0 0 var(--x-border-width);border-radius:0}.x-date-range-active-bar{position:absolute;height:.125rem;margin-left:.4rem;bottom:-.0625rem;width:calc(50% - 2.2rem);background-color:var(--x-primary);transition:var(--x-animation-duration-base)}.x-date-range-active .x-date-range-group{border-color:var(--x-primary)}.x-date-range-active-start .x-date-range-active-bar{left:0}.x-date-range-active-end .x-date-range-active-bar{left:50%}.x-date-range-input-start .x-input-row>.x-input-input>input{border-top-right-radius:0;border-bottom-right-radius:0}.x-date-range-input-end .x-input-row>.x-input-input>input{border-top-left-radius:0;border-bottom-left-radius:0}.x-date-range .x-input-mini.x-input-float-label-over.x-input-focus>label,.x-date-range .x-input-mini.x-input-float-label-over.x-input-has-value>label,.x-date-range .x-input-mini.x-input-float-label-over.x-input-active>label,.x-date-range .x-input-mini.x-input-float-label-on.x-input-focus>label,.x-date-range .x-input-mini.x-input-float-label-on.x-input-has-value>label,.x-date-range .x-input-mini.x-input-float-label-on.x-input-active>label,.x-date-range .x-input-mini.x-input-float-label-in.x-input-focus>label,.x-date-range .x-input-mini.x-input-float-label-in.x-input-has-value>label,.x-date-range .x-input-mini.x-input-float-label-in.x-input-active>label,.x-date-range .x-input-small.x-input-float-label-over.x-input-focus>label,.x-date-range .x-input-small.x-input-float-label-over.x-input-has-value>label,.x-date-range .x-input-small.x-input-float-label-over.x-input-active>label,.x-date-range .x-input-small.x-input-float-label-on.x-input-focus>label,.x-date-range .x-input-small.x-input-float-label-on.x-input-has-value>label,.x-date-range .x-input-small.x-input-float-label-on.x-input-active>label,.x-date-range .x-input-small.x-input-float-label-in.x-input-focus>label,.x-date-range .x-input-small.x-input-float-label-in.x-input-has-value>label,.x-date-range .x-input-small.x-input-float-label-in.x-input-active>label,.x-date-range .x-input-medium.x-input-float-label-over.x-input-focus>label,.x-date-range .x-input-medium.x-input-float-label-over.x-input-has-value>label,.x-date-range .x-input-medium.x-input-float-label-over.x-input-active>label,.x-date-range .x-input-medium.x-input-float-label-on.x-input-focus>label,.x-date-range .x-input-medium.x-input-float-label-on.x-input-has-value>label,.x-date-range .x-input-medium.x-input-float-label-on.x-input-active>label,.x-date-range .x-input-medium.x-input-float-label-in.x-input-focus>label,.x-date-range .x-input-medium.x-input-float-label-in.x-input-has-value>label,.x-date-range .x-input-medium.x-input-float-label-in.x-input-active>label,.x-date-range .x-input-large.x-input-float-label-over.x-input-focus>label,.x-date-range .x-input-large.x-input-float-label-over.x-input-has-value>label,.x-date-range .x-input-large.x-input-float-label-over.x-input-active>label,.x-date-range .x-input-large.x-input-float-label-on.x-input-focus>label,.x-date-range .x-input-large.x-input-float-label-on.x-input-has-value>label,.x-date-range .x-input-large.x-input-float-label-on.x-input-active>label,.x-date-range .x-input-large.x-input-float-label-in.x-input-focus>label,.x-date-range .x-input-large.x-input-float-label-in.x-input-has-value>label,.x-date-range .x-input-large.x-input-float-label-in.x-input-active>label,.x-date-range .x-input-big.x-input-float-label-over.x-input-focus>label,.x-date-range .x-input-big.x-input-float-label-over.x-input-has-value>label,.x-date-range .x-input-big.x-input-float-label-over.x-input-active>label,.x-date-range .x-input-big.x-input-float-label-on.x-input-focus>label,.x-date-range .x-input-big.x-input-float-label-on.x-input-has-value>label,.x-date-range .x-input-big.x-input-float-label-on.x-input-active>label,.x-date-range .x-input-big.x-input-float-label-in.x-input-focus>label,.x-date-range .x-input-big.x-input-float-label-in.x-input-has-value>label,.x-date-range .x-input-big.x-input-float-label-in.x-input-active>label{margin-left:.75rem!important}.x-date-range-big>.x-date-range-row .x-date-range-input input{height:var(--x-height-big);line-height:var(--x-height-big)}.x-date-range-big>.x-date-range-row{height:var(--x-height-big);line-height:var(--x-height-big)}.x-date-range-big>label{height:var(--x-height-big);line-height:var(--x-height-big)}.x-date-range-large>.x-date-range-row .x-date-range-input input{height:var(--x-height-large);line-height:var(--x-height-large)}.x-date-range-large>.x-date-range-row{height:var(--x-height-large);line-height:var(--x-height-large)}.x-date-range-large>label{height:var(--x-height-large);line-height:var(--x-height-large)}.x-date-range-medium>.x-date-range-row .x-date-range-input input{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-date-range-medium>.x-date-range-row{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-date-range-medium>label{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-date-range-small>.x-date-range-row .x-date-range-input input{height:var(--x-height-small);line-height:var(--x-height-small)}.x-date-range-small>.x-date-range-row{height:var(--x-height-small);line-height:var(--x-height-small)}.x-date-range-small>label{height:var(--x-height-small);line-height:var(--x-height-small)}.x-date-range-mini>.x-date-range-row .x-date-range-input input{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-date-range-mini>.x-date-range-row{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-date-range-mini>label{height:var(--x-height-mini);line-height:var(--x-height-mini)}\n"] }]
3027
3057
  }], ctorParameters: () => [], propDecorators: { className: [{
3028
3058
  type: HostBinding,
3029
3059
  args: ['class']
3030
3060
  }] } });
3031
3061
 
3032
3062
  class XDatePickerModule {
3033
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XDatePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3034
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.0", ngImport: i0, type: XDatePickerModule, imports: [XDatePickerComponent, XDateRangeComponent], exports: [XDatePickerComponent, XDateRangeComponent] }); }
3035
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XDatePickerModule, imports: [XDatePickerComponent, XDateRangeComponent] }); }
3063
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XDatePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3064
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.2.4", ngImport: i0, type: XDatePickerModule, imports: [XDatePickerComponent, XDateRangeComponent], exports: [XDatePickerComponent, XDateRangeComponent] }); }
3065
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XDatePickerModule, imports: [XDatePickerComponent, XDateRangeComponent] }); }
3036
3066
  }
3037
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: XDatePickerModule, decorators: [{
3067
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XDatePickerModule, decorators: [{
3038
3068
  type: NgModule,
3039
3069
  args: [{
3040
3070
  exports: [XDatePickerComponent, XDateRangeComponent],