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