• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (c) 2021-2023 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 *     http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16/**
17 * Defines the struct of DatePickerResult.
18 *
19 * @interface DatePickerResult
20 * @syscap SystemCapability.ArkUI.ArkUI.Full
21 * @since 8
22 */
23/**
24 * Defines the struct of DatePickerResult.
25 *
26 * @interface DatePickerResult
27 * @syscap SystemCapability.ArkUI.ArkUI.Full
28 * @crossplatform
29 * @since 10
30 */
31declare interface DatePickerResult {
32  /**
33   * Application year
34   *
35   * @type { ?number }
36   * @syscap SystemCapability.ArkUI.ArkUI.Full
37   * @since 8
38   */
39  /**
40   * Application year
41   *
42   * @type { ?number }
43   * @syscap SystemCapability.ArkUI.ArkUI.Full
44   * @crossplatform
45   * @since 10
46   */
47  year?: number;
48
49  /**
50   * Application month
51   *
52   * @type { ?number }
53   * @syscap SystemCapability.ArkUI.ArkUI.Full
54   * @since 8
55   */
56  /**
57   * Application month
58   *
59   * @type { ?number }
60   * @syscap SystemCapability.ArkUI.ArkUI.Full
61   * @crossplatform
62   * @since 10
63   */
64  month?: number;
65
66  /**
67   * Application day
68   *
69   * @type { ?number }
70   * @syscap SystemCapability.ArkUI.ArkUI.Full
71   * @since 8
72   */
73  /**
74   * Application day
75   *
76   * @type { ?number }
77   * @syscap SystemCapability.ArkUI.ArkUI.Full
78   * @crossplatform
79   * @since 10
80   */
81  day?: number;
82}
83
84/**
85 * Defines the options of DatePicker.
86 *
87 * @interface DatePickerOptions
88 * @syscap SystemCapability.ArkUI.ArkUI.Full
89 * @since 8
90 */
91/**
92 * Defines the options of DatePicker.
93 *
94 * @interface DatePickerOptions
95 * @syscap SystemCapability.ArkUI.ArkUI.Full
96 * @crossplatform
97 * @since 10
98 */
99declare interface DatePickerOptions {
100  /**
101   * Specifies the start date of the date selector.
102   *
103   * @type { ?Date }
104   * @syscap SystemCapability.ArkUI.ArkUI.Full
105   * @since 8
106   */
107  /**
108   * Specifies the start date of the date selector.
109   *
110   * @type { ?Date }
111   * @syscap SystemCapability.ArkUI.ArkUI.Full
112   * @crossplatform
113   * @since 10
114   */
115  start?: Date;
116
117  /**
118   * Specifies the end date for the date selector.
119   *
120   * @type { ?Date }
121   * @syscap SystemCapability.ArkUI.ArkUI.Full
122   * @since 8
123   */
124  /**
125   * Specifies the end date for the date selector.
126   *
127   * @type { ?Date }
128   * @syscap SystemCapability.ArkUI.ArkUI.Full
129   * @crossplatform
130   * @since 10
131   */
132  end?: Date;
133
134  /**
135   * Specifies the date selector check date or time selector check time.
136   *
137   * @type { ?Date }
138   * @syscap SystemCapability.ArkUI.ArkUI.Full
139   * @since 8
140   */
141  /**
142   * Specifies the date selector check date or time selector check time.
143   *
144   * @type { ?Date }
145   * @syscap SystemCapability.ArkUI.ArkUI.Full
146   * @crossplatform
147   * @since 10
148   */
149  selected?: Date;
150}
151
152/**
153 * Defines the DatePicker Component.
154 *
155 * @interface DatePickerInterface
156 * @syscap SystemCapability.ArkUI.ArkUI.Full
157 * @since 8
158 */
159/**
160 * Defines the DatePicker Component.
161 *
162 * @interface DatePickerInterface
163 * @syscap SystemCapability.ArkUI.ArkUI.Full
164 * @crossplatform
165 * @since 10
166 */
167interface DatePickerInterface {
168  /**
169   * Defines the DatePicker constructor.
170   *
171   * @param { DatePickerOptions } options
172   * @returns { DatePickerAttribute }
173   * @syscap SystemCapability.ArkUI.ArkUI.Full
174   * @since 8
175   */
176  /**
177   * Defines the DatePicker constructor.
178   *
179   * @param { DatePickerOptions } options
180   * @returns { DatePickerAttribute }
181   * @syscap SystemCapability.ArkUI.ArkUI.Full
182   * @crossplatform
183   * @since 10
184   */
185  (options?: DatePickerOptions): DatePickerAttribute;
186}
187
188/**
189 * Defines the DatePicker attribute functions.
190 *
191 * @extends CommonMethod
192 * @syscap SystemCapability.ArkUI.ArkUI.Full
193 * @since 8
194 */
195/**
196 * Defines the DatePicker attribute functions.
197 *
198 * @extends CommonMethod
199 * @syscap SystemCapability.ArkUI.ArkUI.Full
200 * @crossplatform
201 * @since 10
202 */
203declare class DatePickerAttribute extends CommonMethod<DatePickerAttribute> {
204  /**
205   * Date selector: true: displays the lunar calendar. false: The lunar calendar is not displayed.
206   *
207   * @param { boolean } value
208   * @returns { DatePickerAttribute }
209   * @syscap SystemCapability.ArkUI.ArkUI.Full
210   * @since 8
211   */
212  /**
213   * Date selector: true: displays the lunar calendar. false: The lunar calendar is not displayed.
214   *
215   * @param { boolean } value
216   * @returns { DatePickerAttribute }
217   * @syscap SystemCapability.ArkUI.ArkUI.Full
218   * @crossplatform
219   * @since 10
220   */
221  lunar(value: boolean): DatePickerAttribute;
222
223  /**
224   * Sets the text style of disappearing items
225   *
226   * @param { PickerTextStyle } value - indicates the text style of disappearing items.
227   * @returns { DatePickerAttribute }
228   * @syscap SystemCapability.ArkUI.ArkUI.Full
229   * @crossplatform
230   * @since 10
231   */
232  disappearTextStyle(value: PickerTextStyle): DatePickerAttribute;
233
234  /**
235   * Sets the text style of normal items
236   *
237   * @param { PickerTextStyle } value - indicates the text style of normal items.
238   * @returns { DatePickerAttribute }
239   * @syscap SystemCapability.ArkUI.ArkUI.Full
240   * @crossplatform
241   * @since 10
242   */
243  textStyle(value: PickerTextStyle): DatePickerAttribute;
244
245  /**
246   * Sets the text style of selected items
247   *
248   * @param { PickerTextStyle } value - indicates the text style of selected items.
249   * @returns { DatePickerAttribute }
250   * @syscap SystemCapability.ArkUI.ArkUI.Full
251   * @crossplatform
252   * @since 10
253   */
254  selectedTextStyle(value: PickerTextStyle): DatePickerAttribute;
255
256  /**
257   * This event is triggered when a DatePicker date or time is selected.
258   *
259   * @param { function } callback
260   * @returns { DatePickerAttribute }
261   * @syscap SystemCapability.ArkUI.ArkUI.Full
262   * @since 8
263   * @deprecated since 10
264   * @useinstead datePicker/DatePickerAttribute#onDateChange
265   */
266  onChange(callback: (value: DatePickerResult) => void): DatePickerAttribute;
267
268  /**
269   * This event is triggered when a DatePicker date or time is selected.
270   *
271   * @param { function } callback
272   * @returns { DatePickerAttribute }
273   * @syscap SystemCapability.ArkUI.ArkUI.Full
274   * @crossplatform
275   * @since 10
276   */
277  onDateChange(callback: (value: Date) => void): DatePickerAttribute;
278}
279
280/**
281 * Defines the DatePickerDialogOptions for Data Picker Dialog.
282 *
283 * @interface DatePickerDialogOptions
284 * @syscap SystemCapability.ArkUI.ArkUI.Full
285 * @since 8
286 */
287/**
288 * Defines the DatePickerDialogOptions for Data Picker Dialog.
289 *
290 * @interface DatePickerDialogOptions
291 * @syscap SystemCapability.ArkUI.ArkUI.Full
292 * @crossplatform
293 * @since 10
294 */
295declare interface DatePickerDialogOptions extends DatePickerOptions {
296  /**
297   * Date selector: true: displays the lunar calendar. false: The lunar calendar is not displayed.
298   *
299   * @type { ?boolean }
300   * @syscap SystemCapability.ArkUI.ArkUI.Full
301   * @since 8
302   */
303  /**
304   * Date selector: true: displays the lunar calendar. false: The lunar calendar is not displayed.
305   *
306   * @type { ?boolean }
307   * @syscap SystemCapability.ArkUI.ArkUI.Full
308   * @crossplatform
309   * @since 10
310   */
311  lunar?: boolean;
312
313  /**
314   * Whether to show the switch to display the lunar.
315   *
316   * @type { ?boolean } value - indicates whether to show the switch to display the lunar
317   * @syscap SystemCapability.ArkUI.ArkUI.Full
318   * @crossplatform
319   * @since 10
320   */
321  lunarSwitch?: boolean;
322
323  /**
324   * Indicates whether to show the time selector.
325   *
326   * @type { ?boolean }
327   * @syscap SystemCapability.ArkUI.ArkUI.Full
328   * @crossplatform
329   * @since 10
330   */
331  showTime?: boolean;
332
333  /**
334   * Indicates whether to display the 24-hour clock.
335   *
336   * @type { ?boolean }
337   * @syscap SystemCapability.ArkUI.ArkUI.Full
338   * @crossplatform
339   * @since 10
340   */
341  useMilitaryTime?: boolean;
342
343  /**
344   * Text style of disappearing items
345   *
346   * @type { ?PickerTextStyle }
347   * @syscap SystemCapability.ArkUI.ArkUI.Full
348   * @crossplatform
349   * @since 10
350   */
351  disappearTextStyle?: PickerTextStyle;
352
353  /**
354   * Text style of normal items
355   *
356   * @type { ?PickerTextStyle }
357   * @syscap SystemCapability.ArkUI.ArkUI.Full
358   * @crossplatform
359   * @since 10
360   */
361  textStyle?: PickerTextStyle;
362
363  /**
364   * Text style of selected items
365   *
366   * @type { ?PickerTextStyle }
367   * @syscap SystemCapability.ArkUI.ArkUI.Full
368   * @crossplatform
369   * @since 10
370   */
371  selectedTextStyle?: PickerTextStyle;
372
373  /**
374   * Mask Region of dialog. The size cannot exceed the main window.
375   *
376   * @type { ?Rectangle }
377   * @syscap SystemCapability.ArkUI.ArkUI.Full
378   * @crossplatform
379   * @since 10
380   */
381  maskRect?: Rectangle;
382
383  /**
384   * Defines the dialog alignment of the screen.
385   *
386   * @type { ?DialogAlignment }
387   * @syscap SystemCapability.ArkUI.ArkUI.Full
388   * @crossplatform
389   * @since 10
390   */
391  alignment?: DialogAlignment;
392
393  /**
394   * Defines the dialog offset.
395   *
396   * @type { ?Offset }
397   * @syscap SystemCapability.ArkUI.ArkUI.Full
398   * @crossplatform
399   * @since 10
400   */
401  offset?: Offset;
402
403  /**
404   * Called when the OK button in the dialog is clicked.
405   *
406   * @type { ?function }
407   * @syscap SystemCapability.ArkUI.ArkUI.Full
408   * @since 8
409   * @deprecated since 10
410   * @useinstead datePicker/DatePickerDialogOptions#onDateAccept
411   */
412  onAccept?: (value: DatePickerResult) => void;
413
414  /**
415   * Called when the Cancel button in the dialog is clicked.
416   *
417   * @type { ?function }
418   * @syscap SystemCapability.ArkUI.ArkUI.Full
419   * @since 8
420   */
421  /**
422   * Called when the Cancel button in the dialog is clicked.
423   *
424   * @type { ?function }
425   * @syscap SystemCapability.ArkUI.ArkUI.Full
426   * @crossplatform
427   * @since 10
428   */
429  onCancel?: () => void;
430
431  /**
432   * This event is triggered when a DatePicker date or time is selected in dialog.
433   *
434   * @type { ?function }
435   * @syscap SystemCapability.ArkUI.ArkUI.Full
436   * @since 8
437   * @deprecated since 10
438   * @useinstead datePicker/DatePickerDialogOptions#onDateChange
439   */
440  onChange?: (value: DatePickerResult) => void;
441
442  /**
443   * Called when the OK button in the dialog is clicked.
444   *
445   * @type { ?function }
446   * @syscap SystemCapability.ArkUI.ArkUI.Full
447   * @crossplatform
448   * @since 10
449   */
450  onDateAccept?: (value: Date) => void;
451
452  /**
453   * This event is triggered when a DatePicker date or time is selected in dialog.
454   *
455   * @type { ?function }
456   * @syscap SystemCapability.ArkUI.ArkUI.Full
457   * @crossplatform
458   * @since 10
459   */
460  onDateChange?: (value: Date) => void;
461}
462
463/**
464 * Defines DatePickerDialog which uses show method to show DatePicker dialog.
465 *
466 * @syscap SystemCapability.ArkUI.ArkUI.Full
467 * @since 8
468 */
469/**
470 * Defines DatePickerDialog which uses show method to show DatePicker dialog.
471 *
472 * @syscap SystemCapability.ArkUI.ArkUI.Full
473 * @crossplatform
474 * @since 10
475 */
476declare class DatePickerDialog {
477  /**
478   * Invoking method display.
479   *
480   * @param { DatePickerDialogOptions } options
481   * @syscap SystemCapability.ArkUI.ArkUI.Full
482   * @since 8
483   */
484  /**
485   * Invoking method display.
486   *
487   * @param { DatePickerDialogOptions } options
488   * @syscap SystemCapability.ArkUI.ArkUI.Full
489   * @crossplatform
490   * @since 10
491   */
492  static show(options?: DatePickerDialogOptions);
493}
494
495/**
496 * Defines DatePicker Component.
497 *
498 * @syscap SystemCapability.ArkUI.ArkUI.Full
499 * @since 8
500 */
501/**
502 * Defines DatePicker Component.
503 *
504 * @syscap SystemCapability.ArkUI.ArkUI.Full
505 * @crossplatform
506 * @since 10
507 */
508declare const DatePicker: DatePickerInterface;
509
510/**
511 * Defines DatePicker Component instance.
512 *
513 * @syscap SystemCapability.ArkUI.ArkUI.Full
514 * @since 8
515 */
516/**
517 * Defines DatePicker Component instance.
518 *
519 * @syscap SystemCapability.ArkUI.ArkUI.Full
520 * @crossplatform
521 * @since 10
522 */
523declare const DatePickerInstance: DatePickerAttribute;
524
525declare module "DatePickerDialogParam" {
526  module "DatePickerDialogParam"{
527    // @ts-ignore
528    export { DatePickerDialogOptions };
529  }
530}
531