@twentyfirstmedia/elements 0.6.0 → 0.8.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.
@@ -3272,6 +3272,3915 @@
3272
3272
  "events": [],
3273
3273
  "slots": []
3274
3274
  },
3275
+ {
3276
+ "kind": "class",
3277
+ "customElement": true,
3278
+ "name": "TfHabitTrackerElement",
3279
+ "tagName": "tf-habit-tracker",
3280
+ "description": "Habits with their last days as a row of marks: done, missed or no entry, today's mark a toggle.",
3281
+ "superclass": {
3282
+ "name": "HTMLElement"
3283
+ },
3284
+ "attributes": [
3285
+ {
3286
+ "name": "habits",
3287
+ "fieldName": "habits",
3288
+ "type": {
3289
+ "text": "Habit[]"
3290
+ }
3291
+ },
3292
+ {
3293
+ "name": "day-labels",
3294
+ "fieldName": "dayLabels",
3295
+ "type": {
3296
+ "text": "string[]"
3297
+ },
3298
+ "description": "Labels of the day columns, oldest first (default: weekday initials ending today)."
3299
+ },
3300
+ {
3301
+ "name": "label",
3302
+ "fieldName": "label",
3303
+ "type": {
3304
+ "text": "string"
3305
+ },
3306
+ "description": "Accessible name of the list (default \"Habits\")."
3307
+ }
3308
+ ],
3309
+ "members": [
3310
+ {
3311
+ "kind": "field",
3312
+ "name": "habits",
3313
+ "type": {
3314
+ "text": "Habit[]"
3315
+ },
3316
+ "attribute": "habits"
3317
+ },
3318
+ {
3319
+ "kind": "field",
3320
+ "name": "dayLabels",
3321
+ "type": {
3322
+ "text": "string[]"
3323
+ },
3324
+ "description": "Labels of the day columns, oldest first (default: weekday initials ending today).",
3325
+ "attribute": "day-labels"
3326
+ },
3327
+ {
3328
+ "kind": "field",
3329
+ "name": "label",
3330
+ "type": {
3331
+ "text": "string"
3332
+ },
3333
+ "description": "Accessible name of the list (default \"Habits\").",
3334
+ "attribute": "label"
3335
+ }
3336
+ ],
3337
+ "events": [
3338
+ {
3339
+ "name": "toggle",
3340
+ "type": {
3341
+ "text": "CustomEvent"
3342
+ },
3343
+ "description": "Today's box of a habit was toggled. From `onToggle: (id: string, done: boolean) => void`; `event.detail` holds the arguments as an array."
3344
+ }
3345
+ ],
3346
+ "slots": []
3347
+ },
3348
+ {
3349
+ "kind": "class",
3350
+ "customElement": true,
3351
+ "name": "TfMoodPickerElement",
3352
+ "tagName": "tf-mood-picker",
3353
+ "description": "A five-step mood scale with faces and words, as a radio group.",
3354
+ "superclass": {
3355
+ "name": "HTMLElement"
3356
+ },
3357
+ "attributes": [
3358
+ {
3359
+ "name": "value",
3360
+ "fieldName": "value",
3361
+ "type": {
3362
+ "text": "MoodLevel | null"
3363
+ }
3364
+ },
3365
+ {
3366
+ "name": "default-value",
3367
+ "fieldName": "defaultValue",
3368
+ "type": {
3369
+ "text": "MoodLevel | null"
3370
+ }
3371
+ },
3372
+ {
3373
+ "name": "label",
3374
+ "fieldName": "label",
3375
+ "type": {
3376
+ "text": "ReactNode"
3377
+ },
3378
+ "description": "The question (default \"How are you feeling?\")."
3379
+ },
3380
+ {
3381
+ "name": "levels",
3382
+ "fieldName": "levels",
3383
+ "type": {
3384
+ "text": "[string, string, string, string, string]"
3385
+ },
3386
+ "description": "Words for the five levels, lowest first (default Awful, Low, Okay, Good, Great)."
3387
+ },
3388
+ {
3389
+ "name": "compact",
3390
+ "fieldName": "compact",
3391
+ "type": {
3392
+ "text": "boolean"
3393
+ },
3394
+ "description": "Only the faces; the words stay as accessible names."
3395
+ }
3396
+ ],
3397
+ "members": [
3398
+ {
3399
+ "kind": "field",
3400
+ "name": "value",
3401
+ "type": {
3402
+ "text": "MoodLevel | null"
3403
+ },
3404
+ "attribute": "value"
3405
+ },
3406
+ {
3407
+ "kind": "field",
3408
+ "name": "defaultValue",
3409
+ "type": {
3410
+ "text": "MoodLevel | null"
3411
+ },
3412
+ "attribute": "default-value"
3413
+ },
3414
+ {
3415
+ "kind": "field",
3416
+ "name": "label",
3417
+ "type": {
3418
+ "text": "ReactNode"
3419
+ },
3420
+ "description": "The question (default \"How are you feeling?\").",
3421
+ "attribute": "label"
3422
+ },
3423
+ {
3424
+ "kind": "field",
3425
+ "name": "levels",
3426
+ "type": {
3427
+ "text": "[string, string, string, string, string]"
3428
+ },
3429
+ "description": "Words for the five levels, lowest first (default Awful, Low, Okay, Good, Great).",
3430
+ "attribute": "levels"
3431
+ },
3432
+ {
3433
+ "kind": "field",
3434
+ "name": "compact",
3435
+ "type": {
3436
+ "text": "boolean"
3437
+ },
3438
+ "description": "Only the faces; the words stay as accessible names.",
3439
+ "attribute": "compact"
3440
+ }
3441
+ ],
3442
+ "events": [
3443
+ {
3444
+ "name": "change",
3445
+ "type": {
3446
+ "text": "CustomEvent"
3447
+ },
3448
+ "description": "From `onChange: (mood: MoodLevel) => void`; `event.detail` holds the argument."
3449
+ }
3450
+ ],
3451
+ "slots": [
3452
+ {
3453
+ "name": "label",
3454
+ "description": "The question (default \"How are you feeling?\")."
3455
+ }
3456
+ ]
3457
+ },
3458
+ {
3459
+ "kind": "class",
3460
+ "customElement": true,
3461
+ "name": "TfVitalTileElement",
3462
+ "tagName": "tf-vital-tile",
3463
+ "description": "One health value with its healthy range: the value, a band with the normal zone and a marker, a status in words (in range, below, above) and an optional trend.",
3464
+ "superclass": {
3465
+ "name": "HTMLElement"
3466
+ },
3467
+ "attributes": [
3468
+ {
3469
+ "name": "surface",
3470
+ "fieldName": "surface",
3471
+ "type": {
3472
+ "text": "Surface"
3473
+ },
3474
+ "description": "`\"glass\"`: translucent glass over a backdrop (`Ambient`, a photo, a map); `\"solid\"` opts out inside a glass `UIProvider`."
3475
+ },
3476
+ {
3477
+ "name": "label",
3478
+ "fieldName": "label",
3479
+ "type": {
3480
+ "text": "string"
3481
+ }
3482
+ },
3483
+ {
3484
+ "name": "value",
3485
+ "fieldName": "value",
3486
+ "type": {
3487
+ "text": "number"
3488
+ }
3489
+ },
3490
+ {
3491
+ "name": "unit",
3492
+ "fieldName": "unit",
3493
+ "type": {
3494
+ "text": "string"
3495
+ }
3496
+ },
3497
+ {
3498
+ "name": "icon",
3499
+ "fieldName": "icon",
3500
+ "type": {
3501
+ "text": "IconName"
3502
+ }
3503
+ },
3504
+ {
3505
+ "name": "normal",
3506
+ "fieldName": "normal",
3507
+ "type": {
3508
+ "text": "[number, number]"
3509
+ },
3510
+ "description": "The healthy range [low, high]; the tile says whether the value is below, in or above it."
3511
+ },
3512
+ {
3513
+ "name": "scale",
3514
+ "fieldName": "scale",
3515
+ "type": {
3516
+ "text": "[number, number]"
3517
+ },
3518
+ "description": "The whole scale of the band [min, max] (default: the normal range with room on both sides)."
3519
+ },
3520
+ {
3521
+ "name": "trend",
3522
+ "fieldName": "trend",
3523
+ "type": {
3524
+ "text": "number[]"
3525
+ },
3526
+ "description": "Recent values, oldest first, drawn as a sparkline."
3527
+ },
3528
+ {
3529
+ "name": "caption",
3530
+ "fieldName": "caption",
3531
+ "type": {
3532
+ "text": "ReactNode"
3533
+ },
3534
+ "description": "Under the value: when it was measured, the source …"
3535
+ },
3536
+ {
3537
+ "name": "digits",
3538
+ "fieldName": "digits",
3539
+ "type": {
3540
+ "text": "number"
3541
+ },
3542
+ "description": "Digits after the decimal point (default 0)."
3543
+ }
3544
+ ],
3545
+ "members": [
3546
+ {
3547
+ "kind": "field",
3548
+ "name": "surface",
3549
+ "type": {
3550
+ "text": "Surface"
3551
+ },
3552
+ "description": "`\"glass\"`: translucent glass over a backdrop (`Ambient`, a photo, a map); `\"solid\"` opts out inside a glass `UIProvider`.",
3553
+ "attribute": "surface"
3554
+ },
3555
+ {
3556
+ "kind": "field",
3557
+ "name": "label",
3558
+ "type": {
3559
+ "text": "string"
3560
+ },
3561
+ "attribute": "label"
3562
+ },
3563
+ {
3564
+ "kind": "field",
3565
+ "name": "value",
3566
+ "type": {
3567
+ "text": "number"
3568
+ },
3569
+ "attribute": "value"
3570
+ },
3571
+ {
3572
+ "kind": "field",
3573
+ "name": "unit",
3574
+ "type": {
3575
+ "text": "string"
3576
+ },
3577
+ "attribute": "unit"
3578
+ },
3579
+ {
3580
+ "kind": "field",
3581
+ "name": "icon",
3582
+ "type": {
3583
+ "text": "IconName"
3584
+ },
3585
+ "attribute": "icon"
3586
+ },
3587
+ {
3588
+ "kind": "field",
3589
+ "name": "normal",
3590
+ "type": {
3591
+ "text": "[number, number]"
3592
+ },
3593
+ "description": "The healthy range [low, high]; the tile says whether the value is below, in or above it.",
3594
+ "attribute": "normal"
3595
+ },
3596
+ {
3597
+ "kind": "field",
3598
+ "name": "scale",
3599
+ "type": {
3600
+ "text": "[number, number]"
3601
+ },
3602
+ "description": "The whole scale of the band [min, max] (default: the normal range with room on both sides).",
3603
+ "attribute": "scale"
3604
+ },
3605
+ {
3606
+ "kind": "field",
3607
+ "name": "trend",
3608
+ "type": {
3609
+ "text": "number[]"
3610
+ },
3611
+ "description": "Recent values, oldest first, drawn as a sparkline.",
3612
+ "attribute": "trend"
3613
+ },
3614
+ {
3615
+ "kind": "field",
3616
+ "name": "caption",
3617
+ "type": {
3618
+ "text": "ReactNode"
3619
+ },
3620
+ "description": "Under the value: when it was measured, the source …",
3621
+ "attribute": "caption"
3622
+ },
3623
+ {
3624
+ "kind": "field",
3625
+ "name": "digits",
3626
+ "type": {
3627
+ "text": "number"
3628
+ },
3629
+ "description": "Digits after the decimal point (default 0).",
3630
+ "attribute": "digits"
3631
+ }
3632
+ ],
3633
+ "events": [],
3634
+ "slots": [
3635
+ {
3636
+ "name": "caption",
3637
+ "description": "Under the value: when it was measured, the source …"
3638
+ }
3639
+ ]
3640
+ },
3641
+ {
3642
+ "kind": "class",
3643
+ "customElement": true,
3644
+ "name": "TfActivityRingsElement",
3645
+ "tagName": "tf-activity-rings",
3646
+ "description": "Concentric progress rings for daily goals (move, exercise, stand, steps, water) with a legend.",
3647
+ "superclass": {
3648
+ "name": "HTMLElement"
3649
+ },
3650
+ "attributes": [
3651
+ {
3652
+ "name": "rings",
3653
+ "fieldName": "rings",
3654
+ "type": {
3655
+ "text": "ActivityRing[]"
3656
+ },
3657
+ "description": "Outer ring first."
3658
+ },
3659
+ {
3660
+ "name": "size",
3661
+ "fieldName": "size",
3662
+ "type": {
3663
+ "text": "number"
3664
+ },
3665
+ "description": "Diameter of the rings (default 132)."
3666
+ },
3667
+ {
3668
+ "name": "legend",
3669
+ "fieldName": "legend",
3670
+ "type": {
3671
+ "text": "boolean"
3672
+ },
3673
+ "description": "Hide the legend beside the rings."
3674
+ },
3675
+ {
3676
+ "name": "label",
3677
+ "fieldName": "label",
3678
+ "type": {
3679
+ "text": "string"
3680
+ },
3681
+ "description": "Accessible name (default \"Activity\")."
3682
+ }
3683
+ ],
3684
+ "members": [
3685
+ {
3686
+ "kind": "field",
3687
+ "name": "rings",
3688
+ "type": {
3689
+ "text": "ActivityRing[]"
3690
+ },
3691
+ "description": "Outer ring first.",
3692
+ "attribute": "rings"
3693
+ },
3694
+ {
3695
+ "kind": "field",
3696
+ "name": "size",
3697
+ "type": {
3698
+ "text": "number"
3699
+ },
3700
+ "description": "Diameter of the rings (default 132).",
3701
+ "attribute": "size"
3702
+ },
3703
+ {
3704
+ "kind": "field",
3705
+ "name": "legend",
3706
+ "type": {
3707
+ "text": "boolean"
3708
+ },
3709
+ "description": "Hide the legend beside the rings.",
3710
+ "attribute": "legend"
3711
+ },
3712
+ {
3713
+ "kind": "field",
3714
+ "name": "label",
3715
+ "type": {
3716
+ "text": "string"
3717
+ },
3718
+ "description": "Accessible name (default \"Activity\").",
3719
+ "attribute": "label"
3720
+ }
3721
+ ],
3722
+ "events": [],
3723
+ "slots": []
3724
+ },
3725
+ {
3726
+ "kind": "class",
3727
+ "customElement": true,
3728
+ "name": "TfSleepChartElement",
3729
+ "tagName": "tf-sleep-chart",
3730
+ "description": "A night as sleep stages over time, one lane per stage (awake, REM, light, deep), with the time asleep and the time per stage.",
3731
+ "superclass": {
3732
+ "name": "HTMLElement"
3733
+ },
3734
+ "attributes": [
3735
+ {
3736
+ "name": "segments",
3737
+ "fieldName": "segments",
3738
+ "type": {
3739
+ "text": "SleepSegment[]"
3740
+ },
3741
+ "description": "The night in order, from falling asleep to getting up."
3742
+ },
3743
+ {
3744
+ "name": "label",
3745
+ "fieldName": "label",
3746
+ "type": {
3747
+ "text": "string"
3748
+ },
3749
+ "description": "Accessible name (default \"Sleep stages\")."
3750
+ },
3751
+ {
3752
+ "name": "summary",
3753
+ "fieldName": "summary",
3754
+ "type": {
3755
+ "text": "boolean"
3756
+ },
3757
+ "description": "Hide the totals per stage under the chart."
3758
+ }
3759
+ ],
3760
+ "members": [
3761
+ {
3762
+ "kind": "field",
3763
+ "name": "segments",
3764
+ "type": {
3765
+ "text": "SleepSegment[]"
3766
+ },
3767
+ "description": "The night in order, from falling asleep to getting up.",
3768
+ "attribute": "segments"
3769
+ },
3770
+ {
3771
+ "kind": "field",
3772
+ "name": "label",
3773
+ "type": {
3774
+ "text": "string"
3775
+ },
3776
+ "description": "Accessible name (default \"Sleep stages\").",
3777
+ "attribute": "label"
3778
+ },
3779
+ {
3780
+ "kind": "field",
3781
+ "name": "summary",
3782
+ "type": {
3783
+ "text": "boolean"
3784
+ },
3785
+ "description": "Hide the totals per stage under the chart.",
3786
+ "attribute": "summary"
3787
+ }
3788
+ ],
3789
+ "events": [],
3790
+ "slots": []
3791
+ },
3792
+ {
3793
+ "kind": "class",
3794
+ "customElement": true,
3795
+ "name": "TfMedicationListElement",
3796
+ "tagName": "tf-medication-list",
3797
+ "description": "Today's doses in order, each with its time, name, dose, a status in words and a \"taken\" button.",
3798
+ "superclass": {
3799
+ "name": "HTMLElement"
3800
+ },
3801
+ "attributes": [
3802
+ {
3803
+ "name": "items",
3804
+ "fieldName": "items",
3805
+ "type": {
3806
+ "text": "MedicationItem[]"
3807
+ }
3808
+ },
3809
+ {
3810
+ "name": "label",
3811
+ "fieldName": "label",
3812
+ "type": {
3813
+ "text": "string"
3814
+ },
3815
+ "description": "Accessible name (default \"Medication\")."
3816
+ }
3817
+ ],
3818
+ "members": [
3819
+ {
3820
+ "kind": "field",
3821
+ "name": "items",
3822
+ "type": {
3823
+ "text": "MedicationItem[]"
3824
+ },
3825
+ "attribute": "items"
3826
+ },
3827
+ {
3828
+ "kind": "field",
3829
+ "name": "label",
3830
+ "type": {
3831
+ "text": "string"
3832
+ },
3833
+ "description": "Accessible name (default \"Medication\").",
3834
+ "attribute": "label"
3835
+ }
3836
+ ],
3837
+ "events": [
3838
+ {
3839
+ "name": "take",
3840
+ "type": {
3841
+ "text": "CustomEvent"
3842
+ },
3843
+ "description": "\"Mark as taken\" was pressed. From `onTake: (id: string) => void`; `event.detail` holds the argument."
3844
+ }
3845
+ ],
3846
+ "slots": []
3847
+ },
3848
+ {
3849
+ "kind": "class",
3850
+ "customElement": true,
3851
+ "name": "TfJournalEntryElement",
3852
+ "tagName": "tf-journal-entry",
3853
+ "description": "A journal or diary entry: the date, the mood of the day, a title, the text and tags, with room for actions such as edit or share.",
3854
+ "superclass": {
3855
+ "name": "HTMLElement"
3856
+ },
3857
+ "attributes": [
3858
+ {
3859
+ "name": "surface",
3860
+ "fieldName": "surface",
3861
+ "type": {
3862
+ "text": "Surface"
3863
+ },
3864
+ "description": "`\"glass\"`: translucent glass over a backdrop (`Ambient`, a photo, a map); `\"solid\"` opts out inside a glass `UIProvider`."
3865
+ },
3866
+ {
3867
+ "name": "date",
3868
+ "fieldName": "date",
3869
+ "type": {
3870
+ "text": "Date | string | number"
3871
+ }
3872
+ },
3873
+ {
3874
+ "name": "title",
3875
+ "fieldName": "title",
3876
+ "type": {
3877
+ "text": "string"
3878
+ }
3879
+ },
3880
+ {
3881
+ "name": "mood",
3882
+ "fieldName": "mood",
3883
+ "type": {
3884
+ "text": "MoodLevel"
3885
+ }
3886
+ },
3887
+ {
3888
+ "name": "tags",
3889
+ "fieldName": "tags",
3890
+ "type": {
3891
+ "text": "string[]"
3892
+ }
3893
+ },
3894
+ {
3895
+ "name": "actions",
3896
+ "fieldName": "actions",
3897
+ "type": {
3898
+ "text": "ReactNode"
3899
+ },
3900
+ "description": "Buttons at the end (edit, share …)."
3901
+ }
3902
+ ],
3903
+ "members": [
3904
+ {
3905
+ "kind": "field",
3906
+ "name": "surface",
3907
+ "type": {
3908
+ "text": "Surface"
3909
+ },
3910
+ "description": "`\"glass\"`: translucent glass over a backdrop (`Ambient`, a photo, a map); `\"solid\"` opts out inside a glass `UIProvider`.",
3911
+ "attribute": "surface"
3912
+ },
3913
+ {
3914
+ "kind": "field",
3915
+ "name": "date",
3916
+ "type": {
3917
+ "text": "Date | string | number"
3918
+ },
3919
+ "attribute": "date"
3920
+ },
3921
+ {
3922
+ "kind": "field",
3923
+ "name": "title",
3924
+ "type": {
3925
+ "text": "string"
3926
+ },
3927
+ "attribute": "title"
3928
+ },
3929
+ {
3930
+ "kind": "field",
3931
+ "name": "mood",
3932
+ "type": {
3933
+ "text": "MoodLevel"
3934
+ },
3935
+ "attribute": "mood"
3936
+ },
3937
+ {
3938
+ "kind": "field",
3939
+ "name": "tags",
3940
+ "type": {
3941
+ "text": "string[]"
3942
+ },
3943
+ "attribute": "tags"
3944
+ },
3945
+ {
3946
+ "kind": "field",
3947
+ "name": "actions",
3948
+ "type": {
3949
+ "text": "ReactNode"
3950
+ },
3951
+ "description": "Buttons at the end (edit, share …).",
3952
+ "attribute": "actions"
3953
+ }
3954
+ ],
3955
+ "events": [],
3956
+ "slots": [
3957
+ {
3958
+ "name": "",
3959
+ "description": "Content (any HTML or tf-* elements)."
3960
+ },
3961
+ {
3962
+ "name": "actions",
3963
+ "description": "Buttons at the end (edit, share …)."
3964
+ }
3965
+ ]
3966
+ },
3967
+ {
3968
+ "kind": "class",
3969
+ "customElement": true,
3970
+ "name": "TfGoalCardElement",
3971
+ "tagName": "tf-goal-card",
3972
+ "description": "A goal with its progress toward a target, a due date, milestones and a note.",
3973
+ "superclass": {
3974
+ "name": "HTMLElement"
3975
+ },
3976
+ "attributes": [
3977
+ {
3978
+ "name": "surface",
3979
+ "fieldName": "surface",
3980
+ "type": {
3981
+ "text": "Surface"
3982
+ },
3983
+ "description": "`\"glass\"`: translucent glass over a backdrop (`Ambient`, a photo, a map); `\"solid\"` opts out inside a glass `UIProvider`."
3984
+ },
3985
+ {
3986
+ "name": "title",
3987
+ "fieldName": "title",
3988
+ "type": {
3989
+ "text": "string"
3990
+ }
3991
+ },
3992
+ {
3993
+ "name": "value",
3994
+ "fieldName": "value",
3995
+ "type": {
3996
+ "text": "number"
3997
+ }
3998
+ },
3999
+ {
4000
+ "name": "target",
4001
+ "fieldName": "target",
4002
+ "type": {
4003
+ "text": "number"
4004
+ }
4005
+ },
4006
+ {
4007
+ "name": "format",
4008
+ "fieldName": "format",
4009
+ "type": {
4010
+ "text": "\"number\" | \"money\" | \"percent\""
4011
+ },
4012
+ "description": "How to show value and target (default number)."
4013
+ },
4014
+ {
4015
+ "name": "unit",
4016
+ "fieldName": "unit",
4017
+ "type": {
4018
+ "text": "string"
4019
+ },
4020
+ "description": "Unit after numbers (\"km\", \"books\")."
4021
+ },
4022
+ {
4023
+ "name": "currency",
4024
+ "fieldName": "currency",
4025
+ "type": {
4026
+ "text": "string"
4027
+ }
4028
+ },
4029
+ {
4030
+ "name": "due",
4031
+ "fieldName": "due",
4032
+ "type": {
4033
+ "text": "Date | string | number"
4034
+ }
4035
+ },
4036
+ {
4037
+ "name": "icon",
4038
+ "fieldName": "icon",
4039
+ "type": {
4040
+ "text": "IconName"
4041
+ }
4042
+ },
4043
+ {
4044
+ "name": "tint",
4045
+ "fieldName": "tint",
4046
+ "type": {
4047
+ "text": "Tint"
4048
+ }
4049
+ },
4050
+ {
4051
+ "name": "milestones",
4052
+ "fieldName": "milestones",
4053
+ "type": {
4054
+ "text": "{ label: string; done?: boolean }[]"
4055
+ }
4056
+ },
4057
+ {
4058
+ "name": "note",
4059
+ "fieldName": "note",
4060
+ "type": {
4061
+ "text": "ReactNode"
4062
+ },
4063
+ "description": "A note under the progress (\"€250 a month keeps you on track\")."
4064
+ }
4065
+ ],
4066
+ "members": [
4067
+ {
4068
+ "kind": "field",
4069
+ "name": "surface",
4070
+ "type": {
4071
+ "text": "Surface"
4072
+ },
4073
+ "description": "`\"glass\"`: translucent glass over a backdrop (`Ambient`, a photo, a map); `\"solid\"` opts out inside a glass `UIProvider`.",
4074
+ "attribute": "surface"
4075
+ },
4076
+ {
4077
+ "kind": "field",
4078
+ "name": "title",
4079
+ "type": {
4080
+ "text": "string"
4081
+ },
4082
+ "attribute": "title"
4083
+ },
4084
+ {
4085
+ "kind": "field",
4086
+ "name": "value",
4087
+ "type": {
4088
+ "text": "number"
4089
+ },
4090
+ "attribute": "value"
4091
+ },
4092
+ {
4093
+ "kind": "field",
4094
+ "name": "target",
4095
+ "type": {
4096
+ "text": "number"
4097
+ },
4098
+ "attribute": "target"
4099
+ },
4100
+ {
4101
+ "kind": "field",
4102
+ "name": "format",
4103
+ "type": {
4104
+ "text": "\"number\" | \"money\" | \"percent\""
4105
+ },
4106
+ "description": "How to show value and target (default number).",
4107
+ "attribute": "format"
4108
+ },
4109
+ {
4110
+ "kind": "field",
4111
+ "name": "unit",
4112
+ "type": {
4113
+ "text": "string"
4114
+ },
4115
+ "description": "Unit after numbers (\"km\", \"books\").",
4116
+ "attribute": "unit"
4117
+ },
4118
+ {
4119
+ "kind": "field",
4120
+ "name": "currency",
4121
+ "type": {
4122
+ "text": "string"
4123
+ },
4124
+ "attribute": "currency"
4125
+ },
4126
+ {
4127
+ "kind": "field",
4128
+ "name": "due",
4129
+ "type": {
4130
+ "text": "Date | string | number"
4131
+ },
4132
+ "attribute": "due"
4133
+ },
4134
+ {
4135
+ "kind": "field",
4136
+ "name": "icon",
4137
+ "type": {
4138
+ "text": "IconName"
4139
+ },
4140
+ "attribute": "icon"
4141
+ },
4142
+ {
4143
+ "kind": "field",
4144
+ "name": "tint",
4145
+ "type": {
4146
+ "text": "Tint"
4147
+ },
4148
+ "attribute": "tint"
4149
+ },
4150
+ {
4151
+ "kind": "field",
4152
+ "name": "milestones",
4153
+ "type": {
4154
+ "text": "{ label: string; done?: boolean }[]"
4155
+ },
4156
+ "attribute": "milestones"
4157
+ },
4158
+ {
4159
+ "kind": "field",
4160
+ "name": "note",
4161
+ "type": {
4162
+ "text": "ReactNode"
4163
+ },
4164
+ "description": "A note under the progress (\"€250 a month keeps you on track\").",
4165
+ "attribute": "note"
4166
+ }
4167
+ ],
4168
+ "events": [],
4169
+ "slots": [
4170
+ {
4171
+ "name": "note",
4172
+ "description": "A note under the progress (\"€250 a month keeps you on track\")."
4173
+ }
4174
+ ]
4175
+ },
4176
+ {
4177
+ "kind": "class",
4178
+ "customElement": true,
4179
+ "name": "TfInsightCardElement",
4180
+ "tagName": "tf-insight-card",
4181
+ "description": "Something the assistant noticed: what, where it comes from, why it is shown and what to do.",
4182
+ "superclass": {
4183
+ "name": "HTMLElement"
4184
+ },
4185
+ "attributes": [
4186
+ {
4187
+ "name": "surface",
4188
+ "fieldName": "surface",
4189
+ "type": {
4190
+ "text": "Surface"
4191
+ },
4192
+ "description": "`\"glass\"`: translucent glass over a backdrop (`Ambient`, a photo, a map); `\"solid\"` opts out inside a glass `UIProvider`."
4193
+ },
4194
+ {
4195
+ "name": "title",
4196
+ "fieldName": "title",
4197
+ "type": {
4198
+ "text": "string"
4199
+ }
4200
+ },
4201
+ {
4202
+ "name": "icon",
4203
+ "fieldName": "icon",
4204
+ "type": {
4205
+ "text": "IconName"
4206
+ }
4207
+ },
4208
+ {
4209
+ "name": "tone",
4210
+ "fieldName": "tone",
4211
+ "type": {
4212
+ "text": "\"info\" | \"success\" | \"warning\" | \"highlight\""
4213
+ }
4214
+ },
4215
+ {
4216
+ "name": "meta",
4217
+ "fieldName": "meta",
4218
+ "type": {
4219
+ "text": "ReactNode"
4220
+ },
4221
+ "description": "Above the title: area and time (\"Money · 2 h ago\")."
4222
+ },
4223
+ {
4224
+ "name": "sources",
4225
+ "fieldName": "sources",
4226
+ "type": {
4227
+ "text": "Source[]"
4228
+ },
4229
+ "description": "Where the insight comes from, as chips (like chat sources)."
4230
+ },
4231
+ {
4232
+ "name": "why",
4233
+ "fieldName": "why",
4234
+ "type": {
4235
+ "text": "ReactNode"
4236
+ },
4237
+ "description": "Why the assistant shows it; folded away behind \"Why am I seeing this?\"."
4238
+ },
4239
+ {
4240
+ "name": "accept-label",
4241
+ "fieldName": "acceptLabel",
4242
+ "type": {
4243
+ "text": "string"
4244
+ }
4245
+ }
4246
+ ],
4247
+ "members": [
4248
+ {
4249
+ "kind": "field",
4250
+ "name": "surface",
4251
+ "type": {
4252
+ "text": "Surface"
4253
+ },
4254
+ "description": "`\"glass\"`: translucent glass over a backdrop (`Ambient`, a photo, a map); `\"solid\"` opts out inside a glass `UIProvider`.",
4255
+ "attribute": "surface"
4256
+ },
4257
+ {
4258
+ "kind": "field",
4259
+ "name": "title",
4260
+ "type": {
4261
+ "text": "string"
4262
+ },
4263
+ "attribute": "title"
4264
+ },
4265
+ {
4266
+ "kind": "field",
4267
+ "name": "icon",
4268
+ "type": {
4269
+ "text": "IconName"
4270
+ },
4271
+ "attribute": "icon"
4272
+ },
4273
+ {
4274
+ "kind": "field",
4275
+ "name": "tone",
4276
+ "type": {
4277
+ "text": "\"info\" | \"success\" | \"warning\" | \"highlight\""
4278
+ },
4279
+ "attribute": "tone"
4280
+ },
4281
+ {
4282
+ "kind": "field",
4283
+ "name": "meta",
4284
+ "type": {
4285
+ "text": "ReactNode"
4286
+ },
4287
+ "description": "Above the title: area and time (\"Money · 2 h ago\").",
4288
+ "attribute": "meta"
4289
+ },
4290
+ {
4291
+ "kind": "field",
4292
+ "name": "sources",
4293
+ "type": {
4294
+ "text": "Source[]"
4295
+ },
4296
+ "description": "Where the insight comes from, as chips (like chat sources).",
4297
+ "attribute": "sources"
4298
+ },
4299
+ {
4300
+ "kind": "field",
4301
+ "name": "why",
4302
+ "type": {
4303
+ "text": "ReactNode"
4304
+ },
4305
+ "description": "Why the assistant shows it; folded away behind \"Why am I seeing this?\".",
4306
+ "attribute": "why"
4307
+ },
4308
+ {
4309
+ "kind": "field",
4310
+ "name": "acceptLabel",
4311
+ "type": {
4312
+ "text": "string"
4313
+ },
4314
+ "attribute": "accept-label"
4315
+ }
4316
+ ],
4317
+ "events": [
4318
+ {
4319
+ "name": "accept",
4320
+ "type": {
4321
+ "text": "CustomEvent"
4322
+ },
4323
+ "description": "From `onAccept: () => void`; `event.detail` holds null."
4324
+ },
4325
+ {
4326
+ "name": "snooze",
4327
+ "type": {
4328
+ "text": "CustomEvent"
4329
+ },
4330
+ "description": "From `onSnooze: () => void`; `event.detail` holds null."
4331
+ },
4332
+ {
4333
+ "name": "dismiss",
4334
+ "type": {
4335
+ "text": "CustomEvent"
4336
+ },
4337
+ "description": "From `onDismiss: () => void`; `event.detail` holds null."
4338
+ }
4339
+ ],
4340
+ "slots": [
4341
+ {
4342
+ "name": "",
4343
+ "description": "Content (any HTML or tf-* elements)."
4344
+ },
4345
+ {
4346
+ "name": "meta",
4347
+ "description": "Above the title: area and time (\"Money · 2 h ago\")."
4348
+ },
4349
+ {
4350
+ "name": "why",
4351
+ "description": "Why the assistant shows it; folded away behind \"Why am I seeing this?\"."
4352
+ }
4353
+ ]
4354
+ },
4355
+ {
4356
+ "kind": "class",
4357
+ "customElement": true,
4358
+ "name": "TfConsentListElement",
4359
+ "tagName": "tf-consent-list",
4360
+ "description": "What each connected source lets the assistant read or do: one card per source with its purpose, last use and a switch per scope, plus \"Revoke access\".",
4361
+ "superclass": {
4362
+ "name": "HTMLElement"
4363
+ },
4364
+ "attributes": [
4365
+ {
4366
+ "name": "surface",
4367
+ "fieldName": "surface",
4368
+ "type": {
4369
+ "text": "Surface"
4370
+ },
4371
+ "description": "`\"glass\"`: translucent glass over a backdrop (`Ambient`, a photo, a map); `\"solid\"` opts out inside a glass `UIProvider`."
4372
+ },
4373
+ {
4374
+ "name": "connectors",
4375
+ "fieldName": "connectors",
4376
+ "type": {
4377
+ "text": "ConsentConnector[]"
4378
+ }
4379
+ },
4380
+ {
4381
+ "name": "label",
4382
+ "fieldName": "label",
4383
+ "type": {
4384
+ "text": "string"
4385
+ },
4386
+ "description": "Accessible name (default \"Data access\")."
4387
+ }
4388
+ ],
4389
+ "members": [
4390
+ {
4391
+ "kind": "field",
4392
+ "name": "surface",
4393
+ "type": {
4394
+ "text": "Surface"
4395
+ },
4396
+ "description": "`\"glass\"`: translucent glass over a backdrop (`Ambient`, a photo, a map); `\"solid\"` opts out inside a glass `UIProvider`.",
4397
+ "attribute": "surface"
4398
+ },
4399
+ {
4400
+ "kind": "field",
4401
+ "name": "connectors",
4402
+ "type": {
4403
+ "text": "ConsentConnector[]"
4404
+ },
4405
+ "attribute": "connectors"
4406
+ },
4407
+ {
4408
+ "kind": "field",
4409
+ "name": "label",
4410
+ "type": {
4411
+ "text": "string"
4412
+ },
4413
+ "description": "Accessible name (default \"Data access\").",
4414
+ "attribute": "label"
4415
+ }
4416
+ ],
4417
+ "events": [
4418
+ {
4419
+ "name": "scopechange",
4420
+ "type": {
4421
+ "text": "CustomEvent"
4422
+ },
4423
+ "description": "From `onScopeChange: (connectorId: string, scopeId: string, granted: boolean) => void`; `event.detail` holds the arguments as an array."
4424
+ },
4425
+ {
4426
+ "name": "revoke",
4427
+ "type": {
4428
+ "text": "CustomEvent"
4429
+ },
4430
+ "description": "From `onRevoke: (connectorId: string) => void`; `event.detail` holds the argument."
4431
+ }
4432
+ ],
4433
+ "slots": []
4434
+ },
4435
+ {
4436
+ "kind": "class",
4437
+ "customElement": true,
4438
+ "name": "TfBudgetListElement",
4439
+ "tagName": "tf-budget-list",
4440
+ "description": "Spending per category against its limit: spent and limit, a bar, and what is left or over in words.",
4441
+ "superclass": {
4442
+ "name": "HTMLElement"
4443
+ },
4444
+ "attributes": [
4445
+ {
4446
+ "name": "categories",
4447
+ "fieldName": "categories",
4448
+ "type": {
4449
+ "text": "BudgetCategory[]"
4450
+ }
4451
+ },
4452
+ {
4453
+ "name": "currency",
4454
+ "fieldName": "currency",
4455
+ "type": {
4456
+ "text": "string"
4457
+ }
4458
+ },
4459
+ {
4460
+ "name": "label",
4461
+ "fieldName": "label",
4462
+ "type": {
4463
+ "text": "string"
4464
+ },
4465
+ "description": "Accessible name (default \"Budgets\")."
4466
+ }
4467
+ ],
4468
+ "members": [
4469
+ {
4470
+ "kind": "field",
4471
+ "name": "categories",
4472
+ "type": {
4473
+ "text": "BudgetCategory[]"
4474
+ },
4475
+ "attribute": "categories"
4476
+ },
4477
+ {
4478
+ "kind": "field",
4479
+ "name": "currency",
4480
+ "type": {
4481
+ "text": "string"
4482
+ },
4483
+ "attribute": "currency"
4484
+ },
4485
+ {
4486
+ "kind": "field",
4487
+ "name": "label",
4488
+ "type": {
4489
+ "text": "string"
4490
+ },
4491
+ "description": "Accessible name (default \"Budgets\").",
4492
+ "attribute": "label"
4493
+ }
4494
+ ],
4495
+ "events": [
4496
+ {
4497
+ "name": "select",
4498
+ "type": {
4499
+ "text": "CustomEvent"
4500
+ },
4501
+ "description": "A category was picked (to show its transactions). From `onSelect: (id: string) => void`; `event.detail` holds the argument."
4502
+ }
4503
+ ],
4504
+ "slots": []
4505
+ },
4506
+ {
4507
+ "kind": "class",
4508
+ "customElement": true,
4509
+ "name": "TfSubscriptionListElement",
4510
+ "tagName": "tf-subscription-list",
4511
+ "description": "Recurring payments with their next charge, trial and cancelled states, and what they cost together a month and a year.",
4512
+ "superclass": {
4513
+ "name": "HTMLElement"
4514
+ },
4515
+ "attributes": [
4516
+ {
4517
+ "name": "items",
4518
+ "fieldName": "items",
4519
+ "type": {
4520
+ "text": "Subscription[]"
4521
+ }
4522
+ },
4523
+ {
4524
+ "name": "currency",
4525
+ "fieldName": "currency",
4526
+ "type": {
4527
+ "text": "string"
4528
+ }
4529
+ },
4530
+ {
4531
+ "name": "totals",
4532
+ "fieldName": "totals",
4533
+ "type": {
4534
+ "text": "boolean"
4535
+ },
4536
+ "description": "Hide the monthly and yearly totals."
4537
+ },
4538
+ {
4539
+ "name": "label",
4540
+ "fieldName": "label",
4541
+ "type": {
4542
+ "text": "string"
4543
+ },
4544
+ "description": "Accessible name (default \"Subscriptions\")."
4545
+ }
4546
+ ],
4547
+ "members": [
4548
+ {
4549
+ "kind": "field",
4550
+ "name": "items",
4551
+ "type": {
4552
+ "text": "Subscription[]"
4553
+ },
4554
+ "attribute": "items"
4555
+ },
4556
+ {
4557
+ "kind": "field",
4558
+ "name": "currency",
4559
+ "type": {
4560
+ "text": "string"
4561
+ },
4562
+ "attribute": "currency"
4563
+ },
4564
+ {
4565
+ "kind": "field",
4566
+ "name": "totals",
4567
+ "type": {
4568
+ "text": "boolean"
4569
+ },
4570
+ "description": "Hide the monthly and yearly totals.",
4571
+ "attribute": "totals"
4572
+ },
4573
+ {
4574
+ "kind": "field",
4575
+ "name": "label",
4576
+ "type": {
4577
+ "text": "string"
4578
+ },
4579
+ "description": "Accessible name (default \"Subscriptions\").",
4580
+ "attribute": "label"
4581
+ }
4582
+ ],
4583
+ "events": [
4584
+ {
4585
+ "name": "manage",
4586
+ "type": {
4587
+ "text": "CustomEvent"
4588
+ },
4589
+ "description": "\"Manage\" on a subscription (cancel, change plan …). From `onManage: (id: string) => void`; `event.detail` holds the argument."
4590
+ }
4591
+ ],
4592
+ "slots": []
4593
+ },
4594
+ {
4595
+ "kind": "class",
4596
+ "customElement": true,
4597
+ "name": "TfNetWorthCardElement",
4598
+ "tagName": "tf-net-worth-card",
4599
+ "description": "What you own minus what you owe: the total, its change and trend, and the assets and liabilities behind it.",
4600
+ "superclass": {
4601
+ "name": "HTMLElement"
4602
+ },
4603
+ "attributes": [
4604
+ {
4605
+ "name": "surface",
4606
+ "fieldName": "surface",
4607
+ "type": {
4608
+ "text": "Surface"
4609
+ },
4610
+ "description": "`\"glass\"`: translucent glass over a backdrop (`Ambient`, a photo, a map); `\"solid\"` opts out inside a glass `UIProvider`."
4611
+ },
4612
+ {
4613
+ "name": "assets",
4614
+ "fieldName": "assets",
4615
+ "type": {
4616
+ "text": "{ label: string; value: number; icon?: IconName }[]"
4617
+ }
4618
+ },
4619
+ {
4620
+ "name": "liabilities",
4621
+ "fieldName": "liabilities",
4622
+ "type": {
4623
+ "text": "{ label: string; value: number; icon?: IconName }[]"
4624
+ }
4625
+ },
4626
+ {
4627
+ "name": "history",
4628
+ "fieldName": "history",
4629
+ "type": {
4630
+ "text": "number[]"
4631
+ },
4632
+ "description": "Net worth over time, oldest first."
4633
+ },
4634
+ {
4635
+ "name": "change",
4636
+ "fieldName": "change",
4637
+ "type": {
4638
+ "text": "number"
4639
+ },
4640
+ "description": "Change over `changeLabel` (e.g. +1,240 \"since October\")."
4641
+ },
4642
+ {
4643
+ "name": "change-label",
4644
+ "fieldName": "changeLabel",
4645
+ "type": {
4646
+ "text": "string"
4647
+ }
4648
+ },
4649
+ {
4650
+ "name": "currency",
4651
+ "fieldName": "currency",
4652
+ "type": {
4653
+ "text": "string"
4654
+ }
4655
+ },
4656
+ {
4657
+ "name": "title",
4658
+ "fieldName": "title",
4659
+ "type": {
4660
+ "text": "string"
4661
+ }
4662
+ }
4663
+ ],
4664
+ "members": [
4665
+ {
4666
+ "kind": "field",
4667
+ "name": "surface",
4668
+ "type": {
4669
+ "text": "Surface"
4670
+ },
4671
+ "description": "`\"glass\"`: translucent glass over a backdrop (`Ambient`, a photo, a map); `\"solid\"` opts out inside a glass `UIProvider`.",
4672
+ "attribute": "surface"
4673
+ },
4674
+ {
4675
+ "kind": "field",
4676
+ "name": "assets",
4677
+ "type": {
4678
+ "text": "{ label: string; value: number; icon?: IconName }[]"
4679
+ },
4680
+ "attribute": "assets"
4681
+ },
4682
+ {
4683
+ "kind": "field",
4684
+ "name": "liabilities",
4685
+ "type": {
4686
+ "text": "{ label: string; value: number; icon?: IconName }[]"
4687
+ },
4688
+ "attribute": "liabilities"
4689
+ },
4690
+ {
4691
+ "kind": "field",
4692
+ "name": "history",
4693
+ "type": {
4694
+ "text": "number[]"
4695
+ },
4696
+ "description": "Net worth over time, oldest first.",
4697
+ "attribute": "history"
4698
+ },
4699
+ {
4700
+ "kind": "field",
4701
+ "name": "change",
4702
+ "type": {
4703
+ "text": "number"
4704
+ },
4705
+ "description": "Change over `changeLabel` (e.g. +1,240 \"since October\").",
4706
+ "attribute": "change"
4707
+ },
4708
+ {
4709
+ "kind": "field",
4710
+ "name": "changeLabel",
4711
+ "type": {
4712
+ "text": "string"
4713
+ },
4714
+ "attribute": "change-label"
4715
+ },
4716
+ {
4717
+ "kind": "field",
4718
+ "name": "currency",
4719
+ "type": {
4720
+ "text": "string"
4721
+ },
4722
+ "attribute": "currency"
4723
+ },
4724
+ {
4725
+ "kind": "field",
4726
+ "name": "title",
4727
+ "type": {
4728
+ "text": "string"
4729
+ },
4730
+ "attribute": "title"
4731
+ }
4732
+ ],
4733
+ "events": [],
4734
+ "slots": []
4735
+ },
4736
+ {
4737
+ "kind": "class",
4738
+ "customElement": true,
4739
+ "name": "TfDeadlineListElement",
4740
+ "tagName": "tf-deadline-list",
4741
+ "description": "Bills, renewals, notice periods and expiring documents in date order, each with \"Today\", \"In 12 days\" or \"Overdue by 3 days\" in words.",
4742
+ "superclass": {
4743
+ "name": "HTMLElement"
4744
+ },
4745
+ "attributes": [
4746
+ {
4747
+ "name": "items",
4748
+ "fieldName": "items",
4749
+ "type": {
4750
+ "text": "DeadlineItem[]"
4751
+ }
4752
+ },
4753
+ {
4754
+ "name": "today",
4755
+ "fieldName": "today",
4756
+ "type": {
4757
+ "text": "Date | string | number"
4758
+ },
4759
+ "description": "The day to count from (default: now). Set it for server rendering and stable output."
4760
+ },
4761
+ {
4762
+ "name": "soon",
4763
+ "fieldName": "soon",
4764
+ "type": {
4765
+ "text": "number"
4766
+ },
4767
+ "description": "Days ahead that count as soon (default 14)."
4768
+ },
4769
+ {
4770
+ "name": "currency",
4771
+ "fieldName": "currency",
4772
+ "type": {
4773
+ "text": "string"
4774
+ }
4775
+ },
4776
+ {
4777
+ "name": "label",
4778
+ "fieldName": "label",
4779
+ "type": {
4780
+ "text": "string"
4781
+ },
4782
+ "description": "Accessible name (default \"Deadlines\")."
4783
+ }
4784
+ ],
4785
+ "members": [
4786
+ {
4787
+ "kind": "field",
4788
+ "name": "items",
4789
+ "type": {
4790
+ "text": "DeadlineItem[]"
4791
+ },
4792
+ "attribute": "items"
4793
+ },
4794
+ {
4795
+ "kind": "field",
4796
+ "name": "today",
4797
+ "type": {
4798
+ "text": "Date | string | number"
4799
+ },
4800
+ "description": "The day to count from (default: now). Set it for server rendering and stable output.",
4801
+ "attribute": "today"
4802
+ },
4803
+ {
4804
+ "kind": "field",
4805
+ "name": "soon",
4806
+ "type": {
4807
+ "text": "number"
4808
+ },
4809
+ "description": "Days ahead that count as soon (default 14).",
4810
+ "attribute": "soon"
4811
+ },
4812
+ {
4813
+ "kind": "field",
4814
+ "name": "currency",
4815
+ "type": {
4816
+ "text": "string"
4817
+ },
4818
+ "attribute": "currency"
4819
+ },
4820
+ {
4821
+ "kind": "field",
4822
+ "name": "label",
4823
+ "type": {
4824
+ "text": "string"
4825
+ },
4826
+ "description": "Accessible name (default \"Deadlines\").",
4827
+ "attribute": "label"
4828
+ }
4829
+ ],
4830
+ "events": [
4831
+ {
4832
+ "name": "done",
4833
+ "type": {
4834
+ "text": "CustomEvent"
4835
+ },
4836
+ "description": "From `onDone: (id: string) => void`; `event.detail` holds the argument."
4837
+ }
4838
+ ],
4839
+ "slots": []
4840
+ },
4841
+ {
4842
+ "kind": "class",
4843
+ "customElement": true,
4844
+ "name": "TfPolicyCardElement",
4845
+ "tagName": "tf-policy-card",
4846
+ "description": "One insurance policy: type and insurer, sum insured, premium, deductible, policy number, renewal date and status (active, pending, expiring, lapsed), with room for actions.",
4847
+ "superclass": {
4848
+ "name": "HTMLElement"
4849
+ },
4850
+ "attributes": [
4851
+ {
4852
+ "name": "surface",
4853
+ "fieldName": "surface",
4854
+ "type": {
4855
+ "text": "Surface"
4856
+ },
4857
+ "description": "`\"glass\"`: translucent glass over a backdrop (`Ambient`, a photo, a map); `\"solid\"` opts out inside a glass `UIProvider`."
4858
+ },
4859
+ {
4860
+ "name": "type",
4861
+ "fieldName": "type",
4862
+ "type": {
4863
+ "text": "string"
4864
+ },
4865
+ "description": "The kind of insurance: \"Household contents\", \"Liability\" …"
4866
+ },
4867
+ {
4868
+ "name": "insurer",
4869
+ "fieldName": "insurer",
4870
+ "type": {
4871
+ "text": "string"
4872
+ }
4873
+ },
4874
+ {
4875
+ "name": "icon",
4876
+ "fieldName": "icon",
4877
+ "type": {
4878
+ "text": "IconName"
4879
+ }
4880
+ },
4881
+ {
4882
+ "name": "tint",
4883
+ "fieldName": "tint",
4884
+ "type": {
4885
+ "text": "Tint"
4886
+ }
4887
+ },
4888
+ {
4889
+ "name": "policy-number",
4890
+ "fieldName": "policyNumber",
4891
+ "type": {
4892
+ "text": "string"
4893
+ }
4894
+ },
4895
+ {
4896
+ "name": "mask-number",
4897
+ "fieldName": "maskNumber",
4898
+ "type": {
4899
+ "text": "boolean"
4900
+ },
4901
+ "description": "Show only the last four characters of the policy number."
4902
+ },
4903
+ {
4904
+ "name": "coverage",
4905
+ "fieldName": "coverage",
4906
+ "type": {
4907
+ "text": "number | ReactNode"
4908
+ },
4909
+ "description": "Sum insured: a number (money) or text (\"unlimited\")."
4910
+ },
4911
+ {
4912
+ "name": "premium",
4913
+ "fieldName": "premium",
4914
+ "type": {
4915
+ "text": "{ amount: number; period: \"month\" | \"quarter\" | \"year\" }"
4916
+ }
4917
+ },
4918
+ {
4919
+ "name": "deductible",
4920
+ "fieldName": "deductible",
4921
+ "type": {
4922
+ "text": "number"
4923
+ }
4924
+ },
4925
+ {
4926
+ "name": "renews",
4927
+ "fieldName": "renews",
4928
+ "type": {
4929
+ "text": "Date | string | number"
4930
+ }
4931
+ },
4932
+ {
4933
+ "name": "status",
4934
+ "fieldName": "status",
4935
+ "type": {
4936
+ "text": "\"active\" | \"pending\" | \"expiring\" | \"lapsed\""
4937
+ }
4938
+ },
4939
+ {
4940
+ "name": "currency",
4941
+ "fieldName": "currency",
4942
+ "type": {
4943
+ "text": "string"
4944
+ }
4945
+ },
4946
+ {
4947
+ "name": "actions",
4948
+ "fieldName": "actions",
4949
+ "type": {
4950
+ "text": "ReactNode"
4951
+ },
4952
+ "description": "Buttons at the foot (documents, report a claim …)."
4953
+ }
4954
+ ],
4955
+ "members": [
4956
+ {
4957
+ "kind": "field",
4958
+ "name": "surface",
4959
+ "type": {
4960
+ "text": "Surface"
4961
+ },
4962
+ "description": "`\"glass\"`: translucent glass over a backdrop (`Ambient`, a photo, a map); `\"solid\"` opts out inside a glass `UIProvider`.",
4963
+ "attribute": "surface"
4964
+ },
4965
+ {
4966
+ "kind": "field",
4967
+ "name": "type",
4968
+ "type": {
4969
+ "text": "string"
4970
+ },
4971
+ "description": "The kind of insurance: \"Household contents\", \"Liability\" …",
4972
+ "attribute": "type"
4973
+ },
4974
+ {
4975
+ "kind": "field",
4976
+ "name": "insurer",
4977
+ "type": {
4978
+ "text": "string"
4979
+ },
4980
+ "attribute": "insurer"
4981
+ },
4982
+ {
4983
+ "kind": "field",
4984
+ "name": "icon",
4985
+ "type": {
4986
+ "text": "IconName"
4987
+ },
4988
+ "attribute": "icon"
4989
+ },
4990
+ {
4991
+ "kind": "field",
4992
+ "name": "tint",
4993
+ "type": {
4994
+ "text": "Tint"
4995
+ },
4996
+ "attribute": "tint"
4997
+ },
4998
+ {
4999
+ "kind": "field",
5000
+ "name": "policyNumber",
5001
+ "type": {
5002
+ "text": "string"
5003
+ },
5004
+ "attribute": "policy-number"
5005
+ },
5006
+ {
5007
+ "kind": "field",
5008
+ "name": "maskNumber",
5009
+ "type": {
5010
+ "text": "boolean"
5011
+ },
5012
+ "description": "Show only the last four characters of the policy number.",
5013
+ "attribute": "mask-number"
5014
+ },
5015
+ {
5016
+ "kind": "field",
5017
+ "name": "coverage",
5018
+ "type": {
5019
+ "text": "number | ReactNode"
5020
+ },
5021
+ "description": "Sum insured: a number (money) or text (\"unlimited\").",
5022
+ "attribute": "coverage"
5023
+ },
5024
+ {
5025
+ "kind": "field",
5026
+ "name": "premium",
5027
+ "type": {
5028
+ "text": "{ amount: number; period: \"month\" | \"quarter\" | \"year\" }"
5029
+ },
5030
+ "attribute": "premium"
5031
+ },
5032
+ {
5033
+ "kind": "field",
5034
+ "name": "deductible",
5035
+ "type": {
5036
+ "text": "number"
5037
+ },
5038
+ "attribute": "deductible"
5039
+ },
5040
+ {
5041
+ "kind": "field",
5042
+ "name": "renews",
5043
+ "type": {
5044
+ "text": "Date | string | number"
5045
+ },
5046
+ "attribute": "renews"
5047
+ },
5048
+ {
5049
+ "kind": "field",
5050
+ "name": "status",
5051
+ "type": {
5052
+ "text": "\"active\" | \"pending\" | \"expiring\" | \"lapsed\""
5053
+ },
5054
+ "attribute": "status"
5055
+ },
5056
+ {
5057
+ "kind": "field",
5058
+ "name": "currency",
5059
+ "type": {
5060
+ "text": "string"
5061
+ },
5062
+ "attribute": "currency"
5063
+ },
5064
+ {
5065
+ "kind": "field",
5066
+ "name": "actions",
5067
+ "type": {
5068
+ "text": "ReactNode"
5069
+ },
5070
+ "description": "Buttons at the foot (documents, report a claim …).",
5071
+ "attribute": "actions"
5072
+ }
5073
+ ],
5074
+ "events": [],
5075
+ "slots": [
5076
+ {
5077
+ "name": "coverage",
5078
+ "description": "Sum insured: a number (money) or text (\"unlimited\")."
5079
+ },
5080
+ {
5081
+ "name": "actions",
5082
+ "description": "Buttons at the foot (documents, report a claim …)."
5083
+ }
5084
+ ]
5085
+ },
5086
+ {
5087
+ "kind": "class",
5088
+ "customElement": true,
5089
+ "name": "TfCoverageMatrixElement",
5090
+ "tagName": "tf-coverage-matrix",
5091
+ "description": "Life risks and whether a policy covers them: covered, partly or not covered, with the policy and a note, and a count of each above the table.",
5092
+ "superclass": {
5093
+ "name": "HTMLElement"
5094
+ },
5095
+ "attributes": [
5096
+ {
5097
+ "name": "rows",
5098
+ "fieldName": "rows",
5099
+ "type": {
5100
+ "text": "CoverageRow[]"
5101
+ }
5102
+ },
5103
+ {
5104
+ "name": "label",
5105
+ "fieldName": "label",
5106
+ "type": {
5107
+ "text": "string"
5108
+ },
5109
+ "description": "Accessible name and caption (default \"Coverage\")."
5110
+ }
5111
+ ],
5112
+ "members": [
5113
+ {
5114
+ "kind": "field",
5115
+ "name": "rows",
5116
+ "type": {
5117
+ "text": "CoverageRow[]"
5118
+ },
5119
+ "attribute": "rows"
5120
+ },
5121
+ {
5122
+ "kind": "field",
5123
+ "name": "label",
5124
+ "type": {
5125
+ "text": "string"
5126
+ },
5127
+ "description": "Accessible name and caption (default \"Coverage\").",
5128
+ "attribute": "label"
5129
+ }
5130
+ ],
5131
+ "events": [],
5132
+ "slots": []
5133
+ },
5134
+ {
5135
+ "kind": "class",
5136
+ "customElement": true,
5137
+ "name": "TfClaimTimelineElement",
5138
+ "tagName": "tf-claim-timeline",
5139
+ "description": "An insurance claim from report to payout: steps that are done, current, still to come or failed, with dates and notes, and the amount claimed.",
5140
+ "superclass": {
5141
+ "name": "HTMLElement"
5142
+ },
5143
+ "attributes": [
5144
+ {
5145
+ "name": "title",
5146
+ "fieldName": "title",
5147
+ "type": {
5148
+ "text": "string"
5149
+ }
5150
+ },
5151
+ {
5152
+ "name": "meta",
5153
+ "fieldName": "meta",
5154
+ "type": {
5155
+ "text": "ReactNode"
5156
+ },
5157
+ "description": "Reference and insurer under the title."
5158
+ },
5159
+ {
5160
+ "name": "amount",
5161
+ "fieldName": "amount",
5162
+ "type": {
5163
+ "text": "number"
5164
+ }
5165
+ },
5166
+ {
5167
+ "name": "currency",
5168
+ "fieldName": "currency",
5169
+ "type": {
5170
+ "text": "string"
5171
+ }
5172
+ },
5173
+ {
5174
+ "name": "steps",
5175
+ "fieldName": "steps",
5176
+ "type": {
5177
+ "text": "ClaimStep[]"
5178
+ }
5179
+ }
5180
+ ],
5181
+ "members": [
5182
+ {
5183
+ "kind": "field",
5184
+ "name": "title",
5185
+ "type": {
5186
+ "text": "string"
5187
+ },
5188
+ "attribute": "title"
5189
+ },
5190
+ {
5191
+ "kind": "field",
5192
+ "name": "meta",
5193
+ "type": {
5194
+ "text": "ReactNode"
5195
+ },
5196
+ "description": "Reference and insurer under the title.",
5197
+ "attribute": "meta"
5198
+ },
5199
+ {
5200
+ "kind": "field",
5201
+ "name": "amount",
5202
+ "type": {
5203
+ "text": "number"
5204
+ },
5205
+ "attribute": "amount"
5206
+ },
5207
+ {
5208
+ "kind": "field",
5209
+ "name": "currency",
5210
+ "type": {
5211
+ "text": "string"
5212
+ },
5213
+ "attribute": "currency"
5214
+ },
5215
+ {
5216
+ "kind": "field",
5217
+ "name": "steps",
5218
+ "type": {
5219
+ "text": "ClaimStep[]"
5220
+ },
5221
+ "attribute": "steps"
5222
+ }
5223
+ ],
5224
+ "events": [],
5225
+ "slots": [
5226
+ {
5227
+ "name": "meta",
5228
+ "description": "Reference and insurer under the title."
5229
+ }
5230
+ ]
5231
+ },
5232
+ {
5233
+ "kind": "class",
5234
+ "customElement": true,
5235
+ "name": "TfDocumentListElement",
5236
+ "tagName": "tf-document-list",
5237
+ "description": "Important papers (IDs, contracts, policies, certificates) with category, holder and expiry: \"Expired\", \"Expires in 19 days\" or \"Valid until May 2031\".",
5238
+ "superclass": {
5239
+ "name": "HTMLElement"
5240
+ },
5241
+ "attributes": [
5242
+ {
5243
+ "name": "documents",
5244
+ "fieldName": "documents",
5245
+ "type": {
5246
+ "text": "LifeDocument[]"
5247
+ }
5248
+ },
5249
+ {
5250
+ "name": "today",
5251
+ "fieldName": "today",
5252
+ "type": {
5253
+ "text": "Date | string | number"
5254
+ },
5255
+ "description": "The day to count expiry from (default: now)."
5256
+ },
5257
+ {
5258
+ "name": "soon",
5259
+ "fieldName": "soon",
5260
+ "type": {
5261
+ "text": "number"
5262
+ },
5263
+ "description": "Days ahead that count as expiring soon (default 60)."
5264
+ },
5265
+ {
5266
+ "name": "label",
5267
+ "fieldName": "label",
5268
+ "type": {
5269
+ "text": "string"
5270
+ },
5271
+ "description": "Accessible name (default \"Documents\")."
5272
+ }
5273
+ ],
5274
+ "members": [
5275
+ {
5276
+ "kind": "field",
5277
+ "name": "documents",
5278
+ "type": {
5279
+ "text": "LifeDocument[]"
5280
+ },
5281
+ "attribute": "documents"
5282
+ },
5283
+ {
5284
+ "kind": "field",
5285
+ "name": "today",
5286
+ "type": {
5287
+ "text": "Date | string | number"
5288
+ },
5289
+ "description": "The day to count expiry from (default: now).",
5290
+ "attribute": "today"
5291
+ },
5292
+ {
5293
+ "kind": "field",
5294
+ "name": "soon",
5295
+ "type": {
5296
+ "text": "number"
5297
+ },
5298
+ "description": "Days ahead that count as expiring soon (default 60).",
5299
+ "attribute": "soon"
5300
+ },
5301
+ {
5302
+ "kind": "field",
5303
+ "name": "label",
5304
+ "type": {
5305
+ "text": "string"
5306
+ },
5307
+ "description": "Accessible name (default \"Documents\").",
5308
+ "attribute": "label"
5309
+ }
5310
+ ],
5311
+ "events": [
5312
+ {
5313
+ "name": "open",
5314
+ "type": {
5315
+ "text": "CustomEvent"
5316
+ },
5317
+ "description": "From `onOpen: (id: string) => void`; `event.detail` holds the argument."
5318
+ }
5319
+ ],
5320
+ "slots": []
5321
+ },
5322
+ {
5323
+ "kind": "class",
5324
+ "customElement": true,
5325
+ "name": "TfServiceMarkElement",
5326
+ "tagName": "tf-service-mark",
5327
+ "description": "A connected service's mark: its brand logo from the icon library (brandGmail, brandTesla …), your own logo, or a monogram for a service without a logo (\"KS\" for a local nursery).",
5328
+ "superclass": {
5329
+ "name": "HTMLElement"
5330
+ },
5331
+ "attributes": [
5332
+ {
5333
+ "name": "name",
5334
+ "fieldName": "name",
5335
+ "type": {
5336
+ "text": "string"
5337
+ },
5338
+ "description": "The service's name: the accessible name, and the monogram when there is no icon or logo."
5339
+ },
5340
+ {
5341
+ "name": "icon",
5342
+ "fieldName": "icon",
5343
+ "type": {
5344
+ "text": "IconName"
5345
+ },
5346
+ "description": "A brand logo (`brandGmail` …) or a line icon."
5347
+ },
5348
+ {
5349
+ "name": "logo",
5350
+ "fieldName": "logo",
5351
+ "type": {
5352
+ "text": "ReactNode"
5353
+ },
5354
+ "description": "Your own logo (an `<img>` or `<svg>`) instead of the icon."
5355
+ },
5356
+ {
5357
+ "name": "monogram",
5358
+ "fieldName": "monogram",
5359
+ "type": {
5360
+ "text": "string"
5361
+ },
5362
+ "description": "Letters for the monogram (default: the initials of `name`)."
5363
+ },
5364
+ {
5365
+ "name": "size",
5366
+ "fieldName": "size",
5367
+ "type": {
5368
+ "text": "\"sm\" | \"md\" | \"lg\""
5369
+ },
5370
+ "description": "24, 36 (default) or 48 px."
5371
+ },
5372
+ {
5373
+ "name": "tint",
5374
+ "fieldName": "tint",
5375
+ "type": {
5376
+ "text": "Tint | \"plain\""
5377
+ }
5378
+ },
5379
+ {
5380
+ "name": "status",
5381
+ "fieldName": "status",
5382
+ "type": {
5383
+ "text": "ServiceState"
5384
+ },
5385
+ "description": "A dot in the corner with the state in words for screen readers."
5386
+ },
5387
+ {
5388
+ "name": "decorative",
5389
+ "fieldName": "decorative",
5390
+ "type": {
5391
+ "text": "boolean"
5392
+ },
5393
+ "description": "Hidden from screen readers when the name is written next to it."
5394
+ }
5395
+ ],
5396
+ "members": [
5397
+ {
5398
+ "kind": "field",
5399
+ "name": "name",
5400
+ "type": {
5401
+ "text": "string"
5402
+ },
5403
+ "description": "The service's name: the accessible name, and the monogram when there is no icon or logo.",
5404
+ "attribute": "name"
5405
+ },
5406
+ {
5407
+ "kind": "field",
5408
+ "name": "icon",
5409
+ "type": {
5410
+ "text": "IconName"
5411
+ },
5412
+ "description": "A brand logo (`brandGmail` …) or a line icon.",
5413
+ "attribute": "icon"
5414
+ },
5415
+ {
5416
+ "kind": "field",
5417
+ "name": "logo",
5418
+ "type": {
5419
+ "text": "ReactNode"
5420
+ },
5421
+ "description": "Your own logo (an `<img>` or `<svg>`) instead of the icon.",
5422
+ "attribute": "logo"
5423
+ },
5424
+ {
5425
+ "kind": "field",
5426
+ "name": "monogram",
5427
+ "type": {
5428
+ "text": "string"
5429
+ },
5430
+ "description": "Letters for the monogram (default: the initials of `name`).",
5431
+ "attribute": "monogram"
5432
+ },
5433
+ {
5434
+ "kind": "field",
5435
+ "name": "size",
5436
+ "type": {
5437
+ "text": "\"sm\" | \"md\" | \"lg\""
5438
+ },
5439
+ "description": "24, 36 (default) or 48 px.",
5440
+ "attribute": "size"
5441
+ },
5442
+ {
5443
+ "kind": "field",
5444
+ "name": "tint",
5445
+ "type": {
5446
+ "text": "Tint | \"plain\""
5447
+ },
5448
+ "attribute": "tint"
5449
+ },
5450
+ {
5451
+ "kind": "field",
5452
+ "name": "status",
5453
+ "type": {
5454
+ "text": "ServiceState"
5455
+ },
5456
+ "description": "A dot in the corner with the state in words for screen readers.",
5457
+ "attribute": "status"
5458
+ },
5459
+ {
5460
+ "kind": "field",
5461
+ "name": "decorative",
5462
+ "type": {
5463
+ "text": "boolean"
5464
+ },
5465
+ "description": "Hidden from screen readers when the name is written next to it.",
5466
+ "attribute": "decorative"
5467
+ }
5468
+ ],
5469
+ "events": [],
5470
+ "slots": [
5471
+ {
5472
+ "name": "logo",
5473
+ "description": "Your own logo (an `<img>` or `<svg>`) instead of the icon."
5474
+ }
5475
+ ]
5476
+ },
5477
+ {
5478
+ "kind": "class",
5479
+ "customElement": true,
5480
+ "name": "TfConnectorGalleryElement",
5481
+ "tagName": "tf-connector-gallery",
5482
+ "description": "Every service an assistant can connect to, grouped by category, with a search field and category chips.",
5483
+ "superclass": {
5484
+ "name": "HTMLElement"
5485
+ },
5486
+ "attributes": [
5487
+ {
5488
+ "name": "connectors",
5489
+ "fieldName": "connectors",
5490
+ "type": {
5491
+ "text": "Connector[]"
5492
+ }
5493
+ },
5494
+ {
5495
+ "name": "categories",
5496
+ "fieldName": "categories",
5497
+ "type": {
5498
+ "text": "string[]"
5499
+ },
5500
+ "description": "Order of the groups; categories not listed follow in the order they appear."
5501
+ },
5502
+ {
5503
+ "name": "filters",
5504
+ "fieldName": "filters",
5505
+ "type": {
5506
+ "text": "boolean"
5507
+ },
5508
+ "description": "A search field and category chips above the grid (default true)."
5509
+ },
5510
+ {
5511
+ "name": "label",
5512
+ "fieldName": "label",
5513
+ "type": {
5514
+ "text": "string"
5515
+ },
5516
+ "description": "Accessible name (default \"Connectors\")."
5517
+ }
5518
+ ],
5519
+ "members": [
5520
+ {
5521
+ "kind": "field",
5522
+ "name": "connectors",
5523
+ "type": {
5524
+ "text": "Connector[]"
5525
+ },
5526
+ "attribute": "connectors"
5527
+ },
5528
+ {
5529
+ "kind": "field",
5530
+ "name": "categories",
5531
+ "type": {
5532
+ "text": "string[]"
5533
+ },
5534
+ "description": "Order of the groups; categories not listed follow in the order they appear.",
5535
+ "attribute": "categories"
5536
+ },
5537
+ {
5538
+ "kind": "field",
5539
+ "name": "filters",
5540
+ "type": {
5541
+ "text": "boolean"
5542
+ },
5543
+ "description": "A search field and category chips above the grid (default true).",
5544
+ "attribute": "filters"
5545
+ },
5546
+ {
5547
+ "kind": "field",
5548
+ "name": "label",
5549
+ "type": {
5550
+ "text": "string"
5551
+ },
5552
+ "description": "Accessible name (default \"Connectors\").",
5553
+ "attribute": "label"
5554
+ }
5555
+ ],
5556
+ "events": [
5557
+ {
5558
+ "name": "connect",
5559
+ "type": {
5560
+ "text": "CustomEvent"
5561
+ },
5562
+ "description": "From `onConnect: (id: string) => void`; `event.detail` holds the argument."
5563
+ },
5564
+ {
5565
+ "name": "open",
5566
+ "type": {
5567
+ "text": "CustomEvent"
5568
+ },
5569
+ "description": "Opens a connected (or failing) connector. From `onOpen: (id: string) => void`; `event.detail` holds the argument."
5570
+ }
5571
+ ],
5572
+ "slots": []
5573
+ },
5574
+ {
5575
+ "kind": "class",
5576
+ "customElement": true,
5577
+ "name": "TfConnectionListElement",
5578
+ "tagName": "tf-connection-list",
5579
+ "description": "The services you are connected to: mark with state dot, the connected account, how fresh the data is (a compact SyncStatus) and Manage, or Reconnect for a connection that needs attention.",
5580
+ "superclass": {
5581
+ "name": "HTMLElement"
5582
+ },
5583
+ "attributes": [
5584
+ {
5585
+ "name": "items",
5586
+ "fieldName": "items",
5587
+ "type": {
5588
+ "text": "ConnectionItem[]"
5589
+ }
5590
+ },
5591
+ {
5592
+ "name": "now",
5593
+ "fieldName": "now",
5594
+ "type": {
5595
+ "text": "Date | string | number"
5596
+ },
5597
+ "description": "\"Now\" for the relative times; pass it so server and client render the same."
5598
+ },
5599
+ {
5600
+ "name": "label",
5601
+ "fieldName": "label",
5602
+ "type": {
5603
+ "text": "string"
5604
+ },
5605
+ "description": "Accessible name (default \"Connections\")."
5606
+ }
5607
+ ],
5608
+ "members": [
5609
+ {
5610
+ "kind": "field",
5611
+ "name": "items",
5612
+ "type": {
5613
+ "text": "ConnectionItem[]"
5614
+ },
5615
+ "attribute": "items"
5616
+ },
5617
+ {
5618
+ "kind": "field",
5619
+ "name": "now",
5620
+ "type": {
5621
+ "text": "Date | string | number"
5622
+ },
5623
+ "description": "\"Now\" for the relative times; pass it so server and client render the same.",
5624
+ "attribute": "now"
5625
+ },
5626
+ {
5627
+ "kind": "field",
5628
+ "name": "label",
5629
+ "type": {
5630
+ "text": "string"
5631
+ },
5632
+ "description": "Accessible name (default \"Connections\").",
5633
+ "attribute": "label"
5634
+ }
5635
+ ],
5636
+ "events": [
5637
+ {
5638
+ "name": "manage",
5639
+ "type": {
5640
+ "text": "CustomEvent"
5641
+ },
5642
+ "description": "From `onManage: (id: string) => void`; `event.detail` holds the argument."
5643
+ },
5644
+ {
5645
+ "name": "reconnect",
5646
+ "type": {
5647
+ "text": "CustomEvent"
5648
+ },
5649
+ "description": "Shown instead of \"Manage\" on connections in the `error` state. From `onReconnect: (id: string) => void`; `event.detail` holds the argument."
5650
+ }
5651
+ ],
5652
+ "slots": []
5653
+ },
5654
+ {
5655
+ "kind": "class",
5656
+ "customElement": true,
5657
+ "name": "TfSyncStatusElement",
5658
+ "tagName": "tf-sync-status",
5659
+ "description": "When a connected service last synced, in words (\"Synced 6 minutes ago\"), when it syncs next, what the last sync brought (\"1,204 emails\") and why a sync failed, with \"Sync now\".",
5660
+ "superclass": {
5661
+ "name": "HTMLElement"
5662
+ },
5663
+ "attributes": [
5664
+ {
5665
+ "name": "state",
5666
+ "fieldName": "state",
5667
+ "type": {
5668
+ "text": "\"synced\" | \"syncing\" | \"error\" | \"paused\" | \"never\""
5669
+ }
5670
+ },
5671
+ {
5672
+ "name": "last",
5673
+ "fieldName": "last",
5674
+ "type": {
5675
+ "text": "Date | string | number"
5676
+ },
5677
+ "description": "The last successful sync."
5678
+ },
5679
+ {
5680
+ "name": "next",
5681
+ "fieldName": "next",
5682
+ "type": {
5683
+ "text": "Date | string | number"
5684
+ },
5685
+ "description": "The next planned sync."
5686
+ },
5687
+ {
5688
+ "name": "now",
5689
+ "fieldName": "now",
5690
+ "type": {
5691
+ "text": "Date | string | number"
5692
+ },
5693
+ "description": "\"Now\" for the relative times; pass it so server and client render the same."
5694
+ },
5695
+ {
5696
+ "name": "counts",
5697
+ "fieldName": "counts",
5698
+ "type": {
5699
+ "text": "{ label: string; value: number }[]"
5700
+ },
5701
+ "description": "What the last sync brought: `{ label: \"emails\", value: 1204 }`."
5702
+ },
5703
+ {
5704
+ "name": "error",
5705
+ "fieldName": "error",
5706
+ "type": {
5707
+ "text": "ReactNode"
5708
+ },
5709
+ "description": "Why the sync failed."
5710
+ },
5711
+ {
5712
+ "name": "compact",
5713
+ "fieldName": "compact",
5714
+ "type": {
5715
+ "text": "boolean"
5716
+ },
5717
+ "description": "One line: state and time only."
5718
+ }
5719
+ ],
5720
+ "members": [
5721
+ {
5722
+ "kind": "field",
5723
+ "name": "state",
5724
+ "type": {
5725
+ "text": "\"synced\" | \"syncing\" | \"error\" | \"paused\" | \"never\""
5726
+ },
5727
+ "attribute": "state"
5728
+ },
5729
+ {
5730
+ "kind": "field",
5731
+ "name": "last",
5732
+ "type": {
5733
+ "text": "Date | string | number"
5734
+ },
5735
+ "description": "The last successful sync.",
5736
+ "attribute": "last"
5737
+ },
5738
+ {
5739
+ "kind": "field",
5740
+ "name": "next",
5741
+ "type": {
5742
+ "text": "Date | string | number"
5743
+ },
5744
+ "description": "The next planned sync.",
5745
+ "attribute": "next"
5746
+ },
5747
+ {
5748
+ "kind": "field",
5749
+ "name": "now",
5750
+ "type": {
5751
+ "text": "Date | string | number"
5752
+ },
5753
+ "description": "\"Now\" for the relative times; pass it so server and client render the same.",
5754
+ "attribute": "now"
5755
+ },
5756
+ {
5757
+ "kind": "field",
5758
+ "name": "counts",
5759
+ "type": {
5760
+ "text": "{ label: string; value: number }[]"
5761
+ },
5762
+ "description": "What the last sync brought: `{ label: \"emails\", value: 1204 }`.",
5763
+ "attribute": "counts"
5764
+ },
5765
+ {
5766
+ "kind": "field",
5767
+ "name": "error",
5768
+ "type": {
5769
+ "text": "ReactNode"
5770
+ },
5771
+ "description": "Why the sync failed.",
5772
+ "attribute": "error"
5773
+ },
5774
+ {
5775
+ "kind": "field",
5776
+ "name": "compact",
5777
+ "type": {
5778
+ "text": "boolean"
5779
+ },
5780
+ "description": "One line: state and time only.",
5781
+ "attribute": "compact"
5782
+ }
5783
+ ],
5784
+ "events": [
5785
+ {
5786
+ "name": "sync",
5787
+ "type": {
5788
+ "text": "CustomEvent"
5789
+ },
5790
+ "description": "From `onSync: () => void`; `event.detail` holds null."
5791
+ }
5792
+ ],
5793
+ "slots": [
5794
+ {
5795
+ "name": "error",
5796
+ "description": "Why the sync failed."
5797
+ }
5798
+ ]
5799
+ },
5800
+ {
5801
+ "kind": "class",
5802
+ "customElement": true,
5803
+ "name": "TfAgentActivityElement",
5804
+ "tagName": "tf-agent-activity",
5805
+ "description": "What agents did with your connected services, newest first and grouped by day: each action with its service, agent and time, whether it read something, changed something or touched money, and its state (waiting for you, declined, undone, fa",
5806
+ "superclass": {
5807
+ "name": "HTMLElement"
5808
+ },
5809
+ "attributes": [
5810
+ {
5811
+ "name": "items",
5812
+ "fieldName": "items",
5813
+ "type": {
5814
+ "text": "AgentAction[]"
5815
+ }
5816
+ },
5817
+ {
5818
+ "name": "now",
5819
+ "fieldName": "now",
5820
+ "type": {
5821
+ "text": "Date | string | number"
5822
+ },
5823
+ "description": "\"Now\" for the day headings; pass it so server and client render the same."
5824
+ },
5825
+ {
5826
+ "name": "label",
5827
+ "fieldName": "label",
5828
+ "type": {
5829
+ "text": "string"
5830
+ },
5831
+ "description": "Accessible name (default \"Agent activity\")."
5832
+ }
5833
+ ],
5834
+ "members": [
5835
+ {
5836
+ "kind": "field",
5837
+ "name": "items",
5838
+ "type": {
5839
+ "text": "AgentAction[]"
5840
+ },
5841
+ "attribute": "items"
5842
+ },
5843
+ {
5844
+ "kind": "field",
5845
+ "name": "now",
5846
+ "type": {
5847
+ "text": "Date | string | number"
5848
+ },
5849
+ "description": "\"Now\" for the day headings; pass it so server and client render the same.",
5850
+ "attribute": "now"
5851
+ },
5852
+ {
5853
+ "kind": "field",
5854
+ "name": "label",
5855
+ "type": {
5856
+ "text": "string"
5857
+ },
5858
+ "description": "Accessible name (default \"Agent activity\").",
5859
+ "attribute": "label"
5860
+ }
5861
+ ],
5862
+ "events": [
5863
+ {
5864
+ "name": "undo",
5865
+ "type": {
5866
+ "text": "CustomEvent"
5867
+ },
5868
+ "description": "Offers \"Undo\" on finished actions that changed something. From `onUndo: (id: string) => void`; `event.detail` holds the argument."
5869
+ },
5870
+ {
5871
+ "name": "review",
5872
+ "type": {
5873
+ "text": "CustomEvent"
5874
+ },
5875
+ "description": "Opens an action that waits for your approval. From `onReview: (id: string) => void`; `event.detail` holds the argument."
5876
+ }
5877
+ ],
5878
+ "slots": []
5879
+ },
5880
+ {
5881
+ "kind": "class",
5882
+ "customElement": true,
5883
+ "name": "TfDeviceTileElement",
5884
+ "tagName": "tf-device-tile",
5885
+ "description": "A smart-home device (from Google Home, Apple Home, SmartThings, tado°, Dyson, eufy, Dreame …): its reading, its state and the controls its kind needs.",
5886
+ "superclass": {
5887
+ "name": "HTMLElement"
5888
+ },
5889
+ "attributes": [
5890
+ {
5891
+ "name": "name",
5892
+ "fieldName": "name",
5893
+ "type": {
5894
+ "text": "string"
5895
+ }
5896
+ },
5897
+ {
5898
+ "name": "room",
5899
+ "fieldName": "room",
5900
+ "type": {
5901
+ "text": "string"
5902
+ }
5903
+ },
5904
+ {
5905
+ "name": "icon",
5906
+ "fieldName": "icon",
5907
+ "type": {
5908
+ "text": "IconName"
5909
+ }
5910
+ },
5911
+ {
5912
+ "name": "kind",
5913
+ "fieldName": "kind",
5914
+ "type": {
5915
+ "text": "\"switch\" | \"light\" | \"thermostat\" | \"vacuum\" | \"purifier\" | \"camera\" | \"lock\" | \"sensor\""
5916
+ },
5917
+ "description": "The kind sets the default icon and which controls appear."
5918
+ },
5919
+ {
5920
+ "name": "on",
5921
+ "fieldName": "on",
5922
+ "type": {
5923
+ "text": "boolean"
5924
+ },
5925
+ "description": "On or off; with `onToggle` a switch."
5926
+ },
5927
+ {
5928
+ "name": "value",
5929
+ "fieldName": "value",
5930
+ "type": {
5931
+ "text": "ReactNode"
5932
+ },
5933
+ "description": "The main reading: \"21.5 °C\", \"Cleaning\", \"AQI 12\"."
5934
+ },
5935
+ {
5936
+ "name": "status",
5937
+ "fieldName": "status",
5938
+ "type": {
5939
+ "text": "ReactNode"
5940
+ },
5941
+ "description": "A line under the value: \"Heating to 22 °C\", \"Kitchen · 18 m² left\"."
5942
+ },
5943
+ {
5944
+ "name": "target",
5945
+ "fieldName": "target",
5946
+ "type": {
5947
+ "text": "number"
5948
+ },
5949
+ "description": "Thermostat target in °C; with `onTarget` a − / + stepper (steps of `step`, default 0.5)."
5950
+ },
5951
+ {
5952
+ "name": "step",
5953
+ "fieldName": "step",
5954
+ "type": {
5955
+ "text": "number"
5956
+ }
5957
+ },
5958
+ {
5959
+ "name": "battery",
5960
+ "fieldName": "battery",
5961
+ "type": {
5962
+ "text": "number"
5963
+ },
5964
+ "description": "Battery in percent (vacuums, sensors, locks)."
5965
+ },
5966
+ {
5967
+ "name": "actions",
5968
+ "fieldName": "actions",
5969
+ "type": {
5970
+ "text": "{ label: string; icon?: IconName; onClick?: () => void }[]"
5971
+ },
5972
+ "description": "Quick actions: \"Start\", \"Dock\", \"Boost\"."
5973
+ },
5974
+ {
5975
+ "name": "offline",
5976
+ "fieldName": "offline",
5977
+ "type": {
5978
+ "text": "boolean"
5979
+ },
5980
+ "description": "The device does not answer."
5981
+ },
5982
+ {
5983
+ "name": "service",
5984
+ "fieldName": "service",
5985
+ "type": {
5986
+ "text": "ServiceRef"
5987
+ }
5988
+ }
5989
+ ],
5990
+ "members": [
5991
+ {
5992
+ "kind": "field",
5993
+ "name": "name",
5994
+ "type": {
5995
+ "text": "string"
5996
+ },
5997
+ "attribute": "name"
5998
+ },
5999
+ {
6000
+ "kind": "field",
6001
+ "name": "room",
6002
+ "type": {
6003
+ "text": "string"
6004
+ },
6005
+ "attribute": "room"
6006
+ },
6007
+ {
6008
+ "kind": "field",
6009
+ "name": "icon",
6010
+ "type": {
6011
+ "text": "IconName"
6012
+ },
6013
+ "attribute": "icon"
6014
+ },
6015
+ {
6016
+ "kind": "field",
6017
+ "name": "kind",
6018
+ "type": {
6019
+ "text": "\"switch\" | \"light\" | \"thermostat\" | \"vacuum\" | \"purifier\" | \"camera\" | \"lock\" | \"sensor\""
6020
+ },
6021
+ "description": "The kind sets the default icon and which controls appear.",
6022
+ "attribute": "kind"
6023
+ },
6024
+ {
6025
+ "kind": "field",
6026
+ "name": "on",
6027
+ "type": {
6028
+ "text": "boolean"
6029
+ },
6030
+ "description": "On or off; with `onToggle` a switch.",
6031
+ "attribute": "on"
6032
+ },
6033
+ {
6034
+ "kind": "field",
6035
+ "name": "value",
6036
+ "type": {
6037
+ "text": "ReactNode"
6038
+ },
6039
+ "description": "The main reading: \"21.5 °C\", \"Cleaning\", \"AQI 12\".",
6040
+ "attribute": "value"
6041
+ },
6042
+ {
6043
+ "kind": "field",
6044
+ "name": "status",
6045
+ "type": {
6046
+ "text": "ReactNode"
6047
+ },
6048
+ "description": "A line under the value: \"Heating to 22 °C\", \"Kitchen · 18 m² left\".",
6049
+ "attribute": "status"
6050
+ },
6051
+ {
6052
+ "kind": "field",
6053
+ "name": "target",
6054
+ "type": {
6055
+ "text": "number"
6056
+ },
6057
+ "description": "Thermostat target in °C; with `onTarget` a − / + stepper (steps of `step`, default 0.5).",
6058
+ "attribute": "target"
6059
+ },
6060
+ {
6061
+ "kind": "field",
6062
+ "name": "step",
6063
+ "type": {
6064
+ "text": "number"
6065
+ },
6066
+ "attribute": "step"
6067
+ },
6068
+ {
6069
+ "kind": "field",
6070
+ "name": "battery",
6071
+ "type": {
6072
+ "text": "number"
6073
+ },
6074
+ "description": "Battery in percent (vacuums, sensors, locks).",
6075
+ "attribute": "battery"
6076
+ },
6077
+ {
6078
+ "kind": "field",
6079
+ "name": "actions",
6080
+ "type": {
6081
+ "text": "{ label: string; icon?: IconName; onClick?: () => void }[]"
6082
+ },
6083
+ "description": "Quick actions: \"Start\", \"Dock\", \"Boost\".",
6084
+ "attribute": "actions"
6085
+ },
6086
+ {
6087
+ "kind": "field",
6088
+ "name": "offline",
6089
+ "type": {
6090
+ "text": "boolean"
6091
+ },
6092
+ "description": "The device does not answer.",
6093
+ "attribute": "offline"
6094
+ },
6095
+ {
6096
+ "kind": "field",
6097
+ "name": "service",
6098
+ "type": {
6099
+ "text": "ServiceRef"
6100
+ },
6101
+ "attribute": "service"
6102
+ }
6103
+ ],
6104
+ "events": [
6105
+ {
6106
+ "name": "toggle",
6107
+ "type": {
6108
+ "text": "CustomEvent"
6109
+ },
6110
+ "description": "From `onToggle: (on: boolean) => void`; `event.detail` holds the argument."
6111
+ },
6112
+ {
6113
+ "name": "target",
6114
+ "type": {
6115
+ "text": "CustomEvent"
6116
+ },
6117
+ "description": "From `onTarget: (value: number) => void`; `event.detail` holds the argument."
6118
+ }
6119
+ ],
6120
+ "slots": [
6121
+ {
6122
+ "name": "value",
6123
+ "description": "The main reading: \"21.5 °C\", \"Cleaning\", \"AQI 12\"."
6124
+ },
6125
+ {
6126
+ "name": "status",
6127
+ "description": "A line under the value: \"Heating to 22 °C\", \"Kitchen · 18 m² left\"."
6128
+ }
6129
+ ]
6130
+ },
6131
+ {
6132
+ "kind": "class",
6133
+ "customElement": true,
6134
+ "name": "TfVehicleCardElement",
6135
+ "tagName": "tf-vehicle-card",
6136
+ "description": "An electric car: charge in percent with the limit marked on the bar, range, charging state with power and when it is done, lock and climate as buttons, the inside temperature and where it is.",
6137
+ "superclass": {
6138
+ "name": "HTMLElement"
6139
+ },
6140
+ "attributes": [
6141
+ {
6142
+ "name": "name",
6143
+ "fieldName": "name",
6144
+ "type": {
6145
+ "text": "string"
6146
+ }
6147
+ },
6148
+ {
6149
+ "name": "model",
6150
+ "fieldName": "model",
6151
+ "type": {
6152
+ "text": "string"
6153
+ }
6154
+ },
6155
+ {
6156
+ "name": "battery",
6157
+ "fieldName": "battery",
6158
+ "type": {
6159
+ "text": "number"
6160
+ },
6161
+ "description": "Battery (or tank) in percent."
6162
+ },
6163
+ {
6164
+ "name": "range",
6165
+ "fieldName": "range",
6166
+ "type": {
6167
+ "text": "number"
6168
+ },
6169
+ "description": "Range in km."
6170
+ },
6171
+ {
6172
+ "name": "limit",
6173
+ "fieldName": "limit",
6174
+ "type": {
6175
+ "text": "number"
6176
+ },
6177
+ "description": "The charge limit in percent, marked on the bar."
6178
+ },
6179
+ {
6180
+ "name": "charging",
6181
+ "fieldName": "charging",
6182
+ "type": {
6183
+ "text": "\"charging\" | \"complete\" | \"plugged\" | \"unplugged\""
6184
+ }
6185
+ },
6186
+ {
6187
+ "name": "power",
6188
+ "fieldName": "power",
6189
+ "type": {
6190
+ "text": "number"
6191
+ },
6192
+ "description": "Charging power in kW while charging."
6193
+ },
6194
+ {
6195
+ "name": "until",
6196
+ "fieldName": "until",
6197
+ "type": {
6198
+ "text": "Date | string | number"
6199
+ },
6200
+ "description": "When charging reaches the limit."
6201
+ },
6202
+ {
6203
+ "name": "locked",
6204
+ "fieldName": "locked",
6205
+ "type": {
6206
+ "text": "boolean"
6207
+ }
6208
+ },
6209
+ {
6210
+ "name": "inside",
6211
+ "fieldName": "inside",
6212
+ "type": {
6213
+ "text": "number"
6214
+ },
6215
+ "description": "Inside temperature in °C."
6216
+ },
6217
+ {
6218
+ "name": "climate-on",
6219
+ "fieldName": "climateOn",
6220
+ "type": {
6221
+ "text": "boolean"
6222
+ }
6223
+ },
6224
+ {
6225
+ "name": "location",
6226
+ "fieldName": "location",
6227
+ "type": {
6228
+ "text": "ReactNode"
6229
+ }
6230
+ },
6231
+ {
6232
+ "name": "service",
6233
+ "fieldName": "service",
6234
+ "type": {
6235
+ "text": "ServiceRef"
6236
+ }
6237
+ }
6238
+ ],
6239
+ "members": [
6240
+ {
6241
+ "kind": "field",
6242
+ "name": "name",
6243
+ "type": {
6244
+ "text": "string"
6245
+ },
6246
+ "attribute": "name"
6247
+ },
6248
+ {
6249
+ "kind": "field",
6250
+ "name": "model",
6251
+ "type": {
6252
+ "text": "string"
6253
+ },
6254
+ "attribute": "model"
6255
+ },
6256
+ {
6257
+ "kind": "field",
6258
+ "name": "battery",
6259
+ "type": {
6260
+ "text": "number"
6261
+ },
6262
+ "description": "Battery (or tank) in percent.",
6263
+ "attribute": "battery"
6264
+ },
6265
+ {
6266
+ "kind": "field",
6267
+ "name": "range",
6268
+ "type": {
6269
+ "text": "number"
6270
+ },
6271
+ "description": "Range in km.",
6272
+ "attribute": "range"
6273
+ },
6274
+ {
6275
+ "kind": "field",
6276
+ "name": "limit",
6277
+ "type": {
6278
+ "text": "number"
6279
+ },
6280
+ "description": "The charge limit in percent, marked on the bar.",
6281
+ "attribute": "limit"
6282
+ },
6283
+ {
6284
+ "kind": "field",
6285
+ "name": "charging",
6286
+ "type": {
6287
+ "text": "\"charging\" | \"complete\" | \"plugged\" | \"unplugged\""
6288
+ },
6289
+ "attribute": "charging"
6290
+ },
6291
+ {
6292
+ "kind": "field",
6293
+ "name": "power",
6294
+ "type": {
6295
+ "text": "number"
6296
+ },
6297
+ "description": "Charging power in kW while charging.",
6298
+ "attribute": "power"
6299
+ },
6300
+ {
6301
+ "kind": "field",
6302
+ "name": "until",
6303
+ "type": {
6304
+ "text": "Date | string | number"
6305
+ },
6306
+ "description": "When charging reaches the limit.",
6307
+ "attribute": "until"
6308
+ },
6309
+ {
6310
+ "kind": "field",
6311
+ "name": "locked",
6312
+ "type": {
6313
+ "text": "boolean"
6314
+ },
6315
+ "attribute": "locked"
6316
+ },
6317
+ {
6318
+ "kind": "field",
6319
+ "name": "inside",
6320
+ "type": {
6321
+ "text": "number"
6322
+ },
6323
+ "description": "Inside temperature in °C.",
6324
+ "attribute": "inside"
6325
+ },
6326
+ {
6327
+ "kind": "field",
6328
+ "name": "climateOn",
6329
+ "type": {
6330
+ "text": "boolean"
6331
+ },
6332
+ "attribute": "climate-on"
6333
+ },
6334
+ {
6335
+ "kind": "field",
6336
+ "name": "location",
6337
+ "type": {
6338
+ "text": "ReactNode"
6339
+ },
6340
+ "attribute": "location"
6341
+ },
6342
+ {
6343
+ "kind": "field",
6344
+ "name": "service",
6345
+ "type": {
6346
+ "text": "ServiceRef"
6347
+ },
6348
+ "attribute": "service"
6349
+ }
6350
+ ],
6351
+ "events": [
6352
+ {
6353
+ "name": "lock",
6354
+ "type": {
6355
+ "text": "CustomEvent"
6356
+ },
6357
+ "description": "From `onLock: (locked: boolean) => void`; `event.detail` holds the argument."
6358
+ },
6359
+ {
6360
+ "name": "climate",
6361
+ "type": {
6362
+ "text": "CustomEvent"
6363
+ },
6364
+ "description": "From `onClimate: (on: boolean) => void`; `event.detail` holds the argument."
6365
+ }
6366
+ ],
6367
+ "slots": [
6368
+ {
6369
+ "name": "location",
6370
+ "description": "Content of the `location` prop."
6371
+ }
6372
+ ]
6373
+ },
6374
+ {
6375
+ "kind": "class",
6376
+ "customElement": true,
6377
+ "name": "TfNowPlayingElement",
6378
+ "tagName": "tf-now-playing",
6379
+ "description": "What is playing (Spotify, a speaker, a podcast app): cover, title and artist, the device, progress with times and previous / play-pause / next.",
6380
+ "superclass": {
6381
+ "name": "HTMLElement"
6382
+ },
6383
+ "attributes": [
6384
+ {
6385
+ "name": "title",
6386
+ "fieldName": "title",
6387
+ "type": {
6388
+ "text": "string"
6389
+ }
6390
+ },
6391
+ {
6392
+ "name": "artist",
6393
+ "fieldName": "artist",
6394
+ "type": {
6395
+ "text": "string"
6396
+ }
6397
+ },
6398
+ {
6399
+ "name": "album",
6400
+ "fieldName": "album",
6401
+ "type": {
6402
+ "text": "string"
6403
+ }
6404
+ },
6405
+ {
6406
+ "name": "art",
6407
+ "fieldName": "art",
6408
+ "type": {
6409
+ "text": "ReactNode"
6410
+ },
6411
+ "description": "Cover art: an `<img>`."
6412
+ },
6413
+ {
6414
+ "name": "position",
6415
+ "fieldName": "position",
6416
+ "type": {
6417
+ "text": "number"
6418
+ },
6419
+ "description": "Position and length in seconds."
6420
+ },
6421
+ {
6422
+ "name": "duration",
6423
+ "fieldName": "duration",
6424
+ "type": {
6425
+ "text": "number"
6426
+ }
6427
+ },
6428
+ {
6429
+ "name": "playing",
6430
+ "fieldName": "playing",
6431
+ "type": {
6432
+ "text": "boolean"
6433
+ }
6434
+ },
6435
+ {
6436
+ "name": "device",
6437
+ "fieldName": "device",
6438
+ "type": {
6439
+ "text": "string"
6440
+ },
6441
+ "description": "Where it plays: \"Living room speaker\"."
6442
+ },
6443
+ {
6444
+ "name": "service",
6445
+ "fieldName": "service",
6446
+ "type": {
6447
+ "text": "ServiceRef"
6448
+ }
6449
+ }
6450
+ ],
6451
+ "members": [
6452
+ {
6453
+ "kind": "field",
6454
+ "name": "title",
6455
+ "type": {
6456
+ "text": "string"
6457
+ },
6458
+ "attribute": "title"
6459
+ },
6460
+ {
6461
+ "kind": "field",
6462
+ "name": "artist",
6463
+ "type": {
6464
+ "text": "string"
6465
+ },
6466
+ "attribute": "artist"
6467
+ },
6468
+ {
6469
+ "kind": "field",
6470
+ "name": "album",
6471
+ "type": {
6472
+ "text": "string"
6473
+ },
6474
+ "attribute": "album"
6475
+ },
6476
+ {
6477
+ "kind": "field",
6478
+ "name": "art",
6479
+ "type": {
6480
+ "text": "ReactNode"
6481
+ },
6482
+ "description": "Cover art: an `<img>`.",
6483
+ "attribute": "art"
6484
+ },
6485
+ {
6486
+ "kind": "field",
6487
+ "name": "position",
6488
+ "type": {
6489
+ "text": "number"
6490
+ },
6491
+ "description": "Position and length in seconds.",
6492
+ "attribute": "position"
6493
+ },
6494
+ {
6495
+ "kind": "field",
6496
+ "name": "duration",
6497
+ "type": {
6498
+ "text": "number"
6499
+ },
6500
+ "attribute": "duration"
6501
+ },
6502
+ {
6503
+ "kind": "field",
6504
+ "name": "playing",
6505
+ "type": {
6506
+ "text": "boolean"
6507
+ },
6508
+ "attribute": "playing"
6509
+ },
6510
+ {
6511
+ "kind": "field",
6512
+ "name": "device",
6513
+ "type": {
6514
+ "text": "string"
6515
+ },
6516
+ "description": "Where it plays: \"Living room speaker\".",
6517
+ "attribute": "device"
6518
+ },
6519
+ {
6520
+ "kind": "field",
6521
+ "name": "service",
6522
+ "type": {
6523
+ "text": "ServiceRef"
6524
+ },
6525
+ "attribute": "service"
6526
+ }
6527
+ ],
6528
+ "events": [
6529
+ {
6530
+ "name": "playpause",
6531
+ "type": {
6532
+ "text": "CustomEvent"
6533
+ },
6534
+ "description": "From `onPlayPause: () => void`; `event.detail` holds null."
6535
+ },
6536
+ {
6537
+ "name": "next",
6538
+ "type": {
6539
+ "text": "CustomEvent"
6540
+ },
6541
+ "description": "From `onNext: () => void`; `event.detail` holds null."
6542
+ },
6543
+ {
6544
+ "name": "previous",
6545
+ "type": {
6546
+ "text": "CustomEvent"
6547
+ },
6548
+ "description": "From `onPrevious: () => void`; `event.detail` holds null."
6549
+ }
6550
+ ],
6551
+ "slots": [
6552
+ {
6553
+ "name": "art",
6554
+ "description": "Cover art: an `<img>`."
6555
+ }
6556
+ ]
6557
+ },
6558
+ {
6559
+ "kind": "class",
6560
+ "customElement": true,
6561
+ "name": "TfWorkoutCardElement",
6562
+ "tagName": "tf-workout-card",
6563
+ "description": "One workout from Apple Fitness, Strava, Garmin or a golf app: type, time, duration, distance, calories, average heart rate and minutes in each heart-rate zone as a bar with a legend in words.",
6564
+ "superclass": {
6565
+ "name": "HTMLElement"
6566
+ },
6567
+ "attributes": [
6568
+ {
6569
+ "name": "type",
6570
+ "fieldName": "type",
6571
+ "type": {
6572
+ "text": "string"
6573
+ },
6574
+ "description": "\"Run\", \"Ride\", \"Strength\", \"Golf\" …"
6575
+ },
6576
+ {
6577
+ "name": "icon",
6578
+ "fieldName": "icon",
6579
+ "type": {
6580
+ "text": "IconName"
6581
+ }
6582
+ },
6583
+ {
6584
+ "name": "date",
6585
+ "fieldName": "date",
6586
+ "type": {
6587
+ "text": "Date | string | number"
6588
+ }
6589
+ },
6590
+ {
6591
+ "name": "duration",
6592
+ "fieldName": "duration",
6593
+ "type": {
6594
+ "text": "number"
6595
+ },
6596
+ "description": "Minutes."
6597
+ },
6598
+ {
6599
+ "name": "distance",
6600
+ "fieldName": "distance",
6601
+ "type": {
6602
+ "text": "number"
6603
+ },
6604
+ "description": "Kilometres."
6605
+ },
6606
+ {
6607
+ "name": "calories",
6608
+ "fieldName": "calories",
6609
+ "type": {
6610
+ "text": "number"
6611
+ }
6612
+ },
6613
+ {
6614
+ "name": "heart-rate",
6615
+ "fieldName": "heartRate",
6616
+ "type": {
6617
+ "text": "number"
6618
+ },
6619
+ "description": "Average heart rate in bpm."
6620
+ },
6621
+ {
6622
+ "name": "zones",
6623
+ "fieldName": "zones",
6624
+ "type": {
6625
+ "text": "number[]"
6626
+ },
6627
+ "description": "Minutes in heart-rate zones 1–5."
6628
+ },
6629
+ {
6630
+ "name": "service",
6631
+ "fieldName": "service",
6632
+ "type": {
6633
+ "text": "ServiceRef"
6634
+ }
6635
+ }
6636
+ ],
6637
+ "members": [
6638
+ {
6639
+ "kind": "field",
6640
+ "name": "type",
6641
+ "type": {
6642
+ "text": "string"
6643
+ },
6644
+ "description": "\"Run\", \"Ride\", \"Strength\", \"Golf\" …",
6645
+ "attribute": "type"
6646
+ },
6647
+ {
6648
+ "kind": "field",
6649
+ "name": "icon",
6650
+ "type": {
6651
+ "text": "IconName"
6652
+ },
6653
+ "attribute": "icon"
6654
+ },
6655
+ {
6656
+ "kind": "field",
6657
+ "name": "date",
6658
+ "type": {
6659
+ "text": "Date | string | number"
6660
+ },
6661
+ "attribute": "date"
6662
+ },
6663
+ {
6664
+ "kind": "field",
6665
+ "name": "duration",
6666
+ "type": {
6667
+ "text": "number"
6668
+ },
6669
+ "description": "Minutes.",
6670
+ "attribute": "duration"
6671
+ },
6672
+ {
6673
+ "kind": "field",
6674
+ "name": "distance",
6675
+ "type": {
6676
+ "text": "number"
6677
+ },
6678
+ "description": "Kilometres.",
6679
+ "attribute": "distance"
6680
+ },
6681
+ {
6682
+ "kind": "field",
6683
+ "name": "calories",
6684
+ "type": {
6685
+ "text": "number"
6686
+ },
6687
+ "attribute": "calories"
6688
+ },
6689
+ {
6690
+ "kind": "field",
6691
+ "name": "heartRate",
6692
+ "type": {
6693
+ "text": "number"
6694
+ },
6695
+ "description": "Average heart rate in bpm.",
6696
+ "attribute": "heart-rate"
6697
+ },
6698
+ {
6699
+ "kind": "field",
6700
+ "name": "zones",
6701
+ "type": {
6702
+ "text": "number[]"
6703
+ },
6704
+ "description": "Minutes in heart-rate zones 1–5.",
6705
+ "attribute": "zones"
6706
+ },
6707
+ {
6708
+ "kind": "field",
6709
+ "name": "service",
6710
+ "type": {
6711
+ "text": "ServiceRef"
6712
+ },
6713
+ "attribute": "service"
6714
+ }
6715
+ ],
6716
+ "events": [],
6717
+ "slots": []
6718
+ },
6719
+ {
6720
+ "kind": "class",
6721
+ "customElement": true,
6722
+ "name": "TfCallLogElement",
6723
+ "tagName": "tf-call-log",
6724
+ "description": "Your calls grouped by day: incoming, outgoing and missed with time and length, and what the call was about when an assistant summarised it.",
6725
+ "superclass": {
6726
+ "name": "HTMLElement"
6727
+ },
6728
+ "attributes": [
6729
+ {
6730
+ "name": "calls",
6731
+ "fieldName": "calls",
6732
+ "type": {
6733
+ "text": "CallItem[]"
6734
+ }
6735
+ },
6736
+ {
6737
+ "name": "now",
6738
+ "fieldName": "now",
6739
+ "type": {
6740
+ "text": "Date | string | number"
6741
+ },
6742
+ "description": "\"Now\" for the day headings."
6743
+ },
6744
+ {
6745
+ "name": "label",
6746
+ "fieldName": "label",
6747
+ "type": {
6748
+ "text": "string"
6749
+ },
6750
+ "description": "Accessible name (default \"Calls\")."
6751
+ }
6752
+ ],
6753
+ "members": [
6754
+ {
6755
+ "kind": "field",
6756
+ "name": "calls",
6757
+ "type": {
6758
+ "text": "CallItem[]"
6759
+ },
6760
+ "attribute": "calls"
6761
+ },
6762
+ {
6763
+ "kind": "field",
6764
+ "name": "now",
6765
+ "type": {
6766
+ "text": "Date | string | number"
6767
+ },
6768
+ "description": "\"Now\" for the day headings.",
6769
+ "attribute": "now"
6770
+ },
6771
+ {
6772
+ "kind": "field",
6773
+ "name": "label",
6774
+ "type": {
6775
+ "text": "string"
6776
+ },
6777
+ "description": "Accessible name (default \"Calls\").",
6778
+ "attribute": "label"
6779
+ }
6780
+ ],
6781
+ "events": [
6782
+ {
6783
+ "name": "call",
6784
+ "type": {
6785
+ "text": "CustomEvent"
6786
+ },
6787
+ "description": "From `onCall: (id: string) => void`; `event.detail` holds the argument."
6788
+ },
6789
+ {
6790
+ "name": "open",
6791
+ "type": {
6792
+ "text": "CustomEvent"
6793
+ },
6794
+ "description": "From `onOpen: (id: string) => void`; `event.detail` holds the argument."
6795
+ }
6796
+ ],
6797
+ "slots": []
6798
+ },
6799
+ {
6800
+ "kind": "class",
6801
+ "customElement": true,
6802
+ "name": "TfReservationCardElement",
6803
+ "tagName": "tf-reservation-card",
6804
+ "description": "A booking or order: a stay, flight, train, ride, delivery or ticket with its dates, place, booking number and status (confirmed, pending, delayed, on the way, delivered, cancelled) plus a note like \"+25 min\".",
6805
+ "superclass": {
6806
+ "name": "HTMLElement"
6807
+ },
6808
+ "attributes": [
6809
+ {
6810
+ "name": "kind",
6811
+ "fieldName": "kind",
6812
+ "type": {
6813
+ "text": "\"stay\" | \"flight\" | \"train\" | \"ride\" | \"order\" | \"event\""
6814
+ }
6815
+ },
6816
+ {
6817
+ "name": "title",
6818
+ "fieldName": "title",
6819
+ "type": {
6820
+ "text": "string"
6821
+ }
6822
+ },
6823
+ {
6824
+ "name": "subtitle",
6825
+ "fieldName": "subtitle",
6826
+ "type": {
6827
+ "text": "ReactNode"
6828
+ },
6829
+ "description": "\"Hotel Atlantic · 2 nights\", \"LH 2024 · Seat 14A\"."
6830
+ },
6831
+ {
6832
+ "name": "start",
6833
+ "fieldName": "start",
6834
+ "type": {
6835
+ "text": "Date | string | number"
6836
+ }
6837
+ },
6838
+ {
6839
+ "name": "end",
6840
+ "fieldName": "end",
6841
+ "type": {
6842
+ "text": "Date | string | number"
6843
+ }
6844
+ },
6845
+ {
6846
+ "name": "place",
6847
+ "fieldName": "place",
6848
+ "type": {
6849
+ "text": "ReactNode"
6850
+ },
6851
+ "description": "Where: an address, airport codes, a restaurant."
6852
+ },
6853
+ {
6854
+ "name": "code",
6855
+ "fieldName": "code",
6856
+ "type": {
6857
+ "text": "string"
6858
+ },
6859
+ "description": "Booking or order number."
6860
+ },
6861
+ {
6862
+ "name": "status",
6863
+ "fieldName": "status",
6864
+ "type": {
6865
+ "text": "\"confirmed\" | \"pending\" | \"cancelled\" | \"delayed\" | \"onTheWay\" | \"delivered\""
6866
+ }
6867
+ },
6868
+ {
6869
+ "name": "status-text",
6870
+ "fieldName": "statusText",
6871
+ "type": {
6872
+ "text": "string"
6873
+ },
6874
+ "description": "Extra words for the status: \"+25 min\", \"Arrives 19:40\"."
6875
+ },
6876
+ {
6877
+ "name": "service",
6878
+ "fieldName": "service",
6879
+ "type": {
6880
+ "text": "ServiceRef"
6881
+ }
6882
+ },
6883
+ {
6884
+ "name": "actions",
6885
+ "fieldName": "actions",
6886
+ "type": {
6887
+ "text": "ReactNode"
6888
+ }
6889
+ }
6890
+ ],
6891
+ "members": [
6892
+ {
6893
+ "kind": "field",
6894
+ "name": "kind",
6895
+ "type": {
6896
+ "text": "\"stay\" | \"flight\" | \"train\" | \"ride\" | \"order\" | \"event\""
6897
+ },
6898
+ "attribute": "kind"
6899
+ },
6900
+ {
6901
+ "kind": "field",
6902
+ "name": "title",
6903
+ "type": {
6904
+ "text": "string"
6905
+ },
6906
+ "attribute": "title"
6907
+ },
6908
+ {
6909
+ "kind": "field",
6910
+ "name": "subtitle",
6911
+ "type": {
6912
+ "text": "ReactNode"
6913
+ },
6914
+ "description": "\"Hotel Atlantic · 2 nights\", \"LH 2024 · Seat 14A\".",
6915
+ "attribute": "subtitle"
6916
+ },
6917
+ {
6918
+ "kind": "field",
6919
+ "name": "start",
6920
+ "type": {
6921
+ "text": "Date | string | number"
6922
+ },
6923
+ "attribute": "start"
6924
+ },
6925
+ {
6926
+ "kind": "field",
6927
+ "name": "end",
6928
+ "type": {
6929
+ "text": "Date | string | number"
6930
+ },
6931
+ "attribute": "end"
6932
+ },
6933
+ {
6934
+ "kind": "field",
6935
+ "name": "place",
6936
+ "type": {
6937
+ "text": "ReactNode"
6938
+ },
6939
+ "description": "Where: an address, airport codes, a restaurant.",
6940
+ "attribute": "place"
6941
+ },
6942
+ {
6943
+ "kind": "field",
6944
+ "name": "code",
6945
+ "type": {
6946
+ "text": "string"
6947
+ },
6948
+ "description": "Booking or order number.",
6949
+ "attribute": "code"
6950
+ },
6951
+ {
6952
+ "kind": "field",
6953
+ "name": "status",
6954
+ "type": {
6955
+ "text": "\"confirmed\" | \"pending\" | \"cancelled\" | \"delayed\" | \"onTheWay\" | \"delivered\""
6956
+ },
6957
+ "attribute": "status"
6958
+ },
6959
+ {
6960
+ "kind": "field",
6961
+ "name": "statusText",
6962
+ "type": {
6963
+ "text": "string"
6964
+ },
6965
+ "description": "Extra words for the status: \"+25 min\", \"Arrives 19:40\".",
6966
+ "attribute": "status-text"
6967
+ },
6968
+ {
6969
+ "kind": "field",
6970
+ "name": "service",
6971
+ "type": {
6972
+ "text": "ServiceRef"
6973
+ },
6974
+ "attribute": "service"
6975
+ },
6976
+ {
6977
+ "kind": "field",
6978
+ "name": "actions",
6979
+ "type": {
6980
+ "text": "ReactNode"
6981
+ },
6982
+ "attribute": "actions"
6983
+ }
6984
+ ],
6985
+ "events": [],
6986
+ "slots": [
6987
+ {
6988
+ "name": "subtitle",
6989
+ "description": "\"Hotel Atlantic · 2 nights\", \"LH 2024 · Seat 14A\"."
6990
+ },
6991
+ {
6992
+ "name": "place",
6993
+ "description": "Where: an address, airport codes, a restaurant."
6994
+ },
6995
+ {
6996
+ "name": "actions",
6997
+ "description": "Content of the `actions` prop."
6998
+ }
6999
+ ]
7000
+ },
7001
+ {
7002
+ "kind": "class",
7003
+ "customElement": true,
7004
+ "name": "TfScorecardElement",
7005
+ "tagName": "tf-scorecard",
7006
+ "description": "A round of golf: par and strokes for each hole in the usual marks (circle for a birdie, double circle for an eagle, square for a bogey, double square for worse), putts, Out, In and the total against par.",
7007
+ "superclass": {
7008
+ "name": "HTMLElement"
7009
+ },
7010
+ "attributes": [
7011
+ {
7012
+ "name": "course",
7013
+ "fieldName": "course",
7014
+ "type": {
7015
+ "text": "string"
7016
+ }
7017
+ },
7018
+ {
7019
+ "name": "date",
7020
+ "fieldName": "date",
7021
+ "type": {
7022
+ "text": "Date | string | number"
7023
+ }
7024
+ },
7025
+ {
7026
+ "name": "holes",
7027
+ "fieldName": "holes",
7028
+ "type": {
7029
+ "text": "GolfHole[]"
7030
+ },
7031
+ "description": "9 or 18 holes."
7032
+ },
7033
+ {
7034
+ "name": "tee",
7035
+ "fieldName": "tee",
7036
+ "type": {
7037
+ "text": "string"
7038
+ },
7039
+ "description": "Tee and course rating: \"Yellow · CR 71.2 / SR 128\"."
7040
+ },
7041
+ {
7042
+ "name": "service",
7043
+ "fieldName": "service",
7044
+ "type": {
7045
+ "text": "ServiceRef"
7046
+ }
7047
+ }
7048
+ ],
7049
+ "members": [
7050
+ {
7051
+ "kind": "field",
7052
+ "name": "course",
7053
+ "type": {
7054
+ "text": "string"
7055
+ },
7056
+ "attribute": "course"
7057
+ },
7058
+ {
7059
+ "kind": "field",
7060
+ "name": "date",
7061
+ "type": {
7062
+ "text": "Date | string | number"
7063
+ },
7064
+ "attribute": "date"
7065
+ },
7066
+ {
7067
+ "kind": "field",
7068
+ "name": "holes",
7069
+ "type": {
7070
+ "text": "GolfHole[]"
7071
+ },
7072
+ "description": "9 or 18 holes.",
7073
+ "attribute": "holes"
7074
+ },
7075
+ {
7076
+ "kind": "field",
7077
+ "name": "tee",
7078
+ "type": {
7079
+ "text": "string"
7080
+ },
7081
+ "description": "Tee and course rating: \"Yellow · CR 71.2 / SR 128\".",
7082
+ "attribute": "tee"
7083
+ },
7084
+ {
7085
+ "kind": "field",
7086
+ "name": "service",
7087
+ "type": {
7088
+ "text": "ServiceRef"
7089
+ },
7090
+ "attribute": "service"
7091
+ }
7092
+ ],
7093
+ "events": [],
7094
+ "slots": []
7095
+ },
7096
+ {
7097
+ "kind": "class",
7098
+ "customElement": true,
7099
+ "name": "TfHoldingsListElement",
7100
+ "tagName": "tf-holdings-list",
7101
+ "description": "Positions in a portfolio: name and ISIN or ticker, value, change over a period (arrow, sign and colour) and the share of the portfolio as a bar.",
7102
+ "superclass": {
7103
+ "name": "HTMLElement"
7104
+ },
7105
+ "attributes": [
7106
+ {
7107
+ "name": "holdings",
7108
+ "fieldName": "holdings",
7109
+ "type": {
7110
+ "text": "Holding[]"
7111
+ }
7112
+ },
7113
+ {
7114
+ "name": "currency",
7115
+ "fieldName": "currency",
7116
+ "type": {
7117
+ "text": "string"
7118
+ }
7119
+ },
7120
+ {
7121
+ "name": "period",
7122
+ "fieldName": "period",
7123
+ "type": {
7124
+ "text": "string"
7125
+ },
7126
+ "description": "The period of `change` (\"today\", \"1 year\")."
7127
+ },
7128
+ {
7129
+ "name": "label",
7130
+ "fieldName": "label",
7131
+ "type": {
7132
+ "text": "string"
7133
+ },
7134
+ "description": "Accessible name (default \"Holdings\")."
7135
+ }
7136
+ ],
7137
+ "members": [
7138
+ {
7139
+ "kind": "field",
7140
+ "name": "holdings",
7141
+ "type": {
7142
+ "text": "Holding[]"
7143
+ },
7144
+ "attribute": "holdings"
7145
+ },
7146
+ {
7147
+ "kind": "field",
7148
+ "name": "currency",
7149
+ "type": {
7150
+ "text": "string"
7151
+ },
7152
+ "attribute": "currency"
7153
+ },
7154
+ {
7155
+ "kind": "field",
7156
+ "name": "period",
7157
+ "type": {
7158
+ "text": "string"
7159
+ },
7160
+ "description": "The period of `change` (\"today\", \"1 year\").",
7161
+ "attribute": "period"
7162
+ },
7163
+ {
7164
+ "kind": "field",
7165
+ "name": "label",
7166
+ "type": {
7167
+ "text": "string"
7168
+ },
7169
+ "description": "Accessible name (default \"Holdings\").",
7170
+ "attribute": "label"
7171
+ }
7172
+ ],
7173
+ "events": [
7174
+ {
7175
+ "name": "select",
7176
+ "type": {
7177
+ "text": "CustomEvent"
7178
+ },
7179
+ "description": "From `onSelect: (id: string) => void`; `event.detail` holds the argument."
7180
+ }
7181
+ ],
7182
+ "slots": []
7183
+ },
3275
7184
  {
3276
7185
  "kind": "class",
3277
7186
  "customElement": true,
@@ -25651,6 +29560,254 @@
25651
29560
  "module": "dist/elements.js"
25652
29561
  }
25653
29562
  },
29563
+ {
29564
+ "kind": "custom-element-definition",
29565
+ "name": "tf-habit-tracker",
29566
+ "declaration": {
29567
+ "name": "TfHabitTrackerElement",
29568
+ "module": "dist/elements.js"
29569
+ }
29570
+ },
29571
+ {
29572
+ "kind": "custom-element-definition",
29573
+ "name": "tf-mood-picker",
29574
+ "declaration": {
29575
+ "name": "TfMoodPickerElement",
29576
+ "module": "dist/elements.js"
29577
+ }
29578
+ },
29579
+ {
29580
+ "kind": "custom-element-definition",
29581
+ "name": "tf-vital-tile",
29582
+ "declaration": {
29583
+ "name": "TfVitalTileElement",
29584
+ "module": "dist/elements.js"
29585
+ }
29586
+ },
29587
+ {
29588
+ "kind": "custom-element-definition",
29589
+ "name": "tf-activity-rings",
29590
+ "declaration": {
29591
+ "name": "TfActivityRingsElement",
29592
+ "module": "dist/elements.js"
29593
+ }
29594
+ },
29595
+ {
29596
+ "kind": "custom-element-definition",
29597
+ "name": "tf-sleep-chart",
29598
+ "declaration": {
29599
+ "name": "TfSleepChartElement",
29600
+ "module": "dist/elements.js"
29601
+ }
29602
+ },
29603
+ {
29604
+ "kind": "custom-element-definition",
29605
+ "name": "tf-medication-list",
29606
+ "declaration": {
29607
+ "name": "TfMedicationListElement",
29608
+ "module": "dist/elements.js"
29609
+ }
29610
+ },
29611
+ {
29612
+ "kind": "custom-element-definition",
29613
+ "name": "tf-journal-entry",
29614
+ "declaration": {
29615
+ "name": "TfJournalEntryElement",
29616
+ "module": "dist/elements.js"
29617
+ }
29618
+ },
29619
+ {
29620
+ "kind": "custom-element-definition",
29621
+ "name": "tf-goal-card",
29622
+ "declaration": {
29623
+ "name": "TfGoalCardElement",
29624
+ "module": "dist/elements.js"
29625
+ }
29626
+ },
29627
+ {
29628
+ "kind": "custom-element-definition",
29629
+ "name": "tf-insight-card",
29630
+ "declaration": {
29631
+ "name": "TfInsightCardElement",
29632
+ "module": "dist/elements.js"
29633
+ }
29634
+ },
29635
+ {
29636
+ "kind": "custom-element-definition",
29637
+ "name": "tf-consent-list",
29638
+ "declaration": {
29639
+ "name": "TfConsentListElement",
29640
+ "module": "dist/elements.js"
29641
+ }
29642
+ },
29643
+ {
29644
+ "kind": "custom-element-definition",
29645
+ "name": "tf-budget-list",
29646
+ "declaration": {
29647
+ "name": "TfBudgetListElement",
29648
+ "module": "dist/elements.js"
29649
+ }
29650
+ },
29651
+ {
29652
+ "kind": "custom-element-definition",
29653
+ "name": "tf-subscription-list",
29654
+ "declaration": {
29655
+ "name": "TfSubscriptionListElement",
29656
+ "module": "dist/elements.js"
29657
+ }
29658
+ },
29659
+ {
29660
+ "kind": "custom-element-definition",
29661
+ "name": "tf-net-worth-card",
29662
+ "declaration": {
29663
+ "name": "TfNetWorthCardElement",
29664
+ "module": "dist/elements.js"
29665
+ }
29666
+ },
29667
+ {
29668
+ "kind": "custom-element-definition",
29669
+ "name": "tf-deadline-list",
29670
+ "declaration": {
29671
+ "name": "TfDeadlineListElement",
29672
+ "module": "dist/elements.js"
29673
+ }
29674
+ },
29675
+ {
29676
+ "kind": "custom-element-definition",
29677
+ "name": "tf-policy-card",
29678
+ "declaration": {
29679
+ "name": "TfPolicyCardElement",
29680
+ "module": "dist/elements.js"
29681
+ }
29682
+ },
29683
+ {
29684
+ "kind": "custom-element-definition",
29685
+ "name": "tf-coverage-matrix",
29686
+ "declaration": {
29687
+ "name": "TfCoverageMatrixElement",
29688
+ "module": "dist/elements.js"
29689
+ }
29690
+ },
29691
+ {
29692
+ "kind": "custom-element-definition",
29693
+ "name": "tf-claim-timeline",
29694
+ "declaration": {
29695
+ "name": "TfClaimTimelineElement",
29696
+ "module": "dist/elements.js"
29697
+ }
29698
+ },
29699
+ {
29700
+ "kind": "custom-element-definition",
29701
+ "name": "tf-document-list",
29702
+ "declaration": {
29703
+ "name": "TfDocumentListElement",
29704
+ "module": "dist/elements.js"
29705
+ }
29706
+ },
29707
+ {
29708
+ "kind": "custom-element-definition",
29709
+ "name": "tf-service-mark",
29710
+ "declaration": {
29711
+ "name": "TfServiceMarkElement",
29712
+ "module": "dist/elements.js"
29713
+ }
29714
+ },
29715
+ {
29716
+ "kind": "custom-element-definition",
29717
+ "name": "tf-connector-gallery",
29718
+ "declaration": {
29719
+ "name": "TfConnectorGalleryElement",
29720
+ "module": "dist/elements.js"
29721
+ }
29722
+ },
29723
+ {
29724
+ "kind": "custom-element-definition",
29725
+ "name": "tf-connection-list",
29726
+ "declaration": {
29727
+ "name": "TfConnectionListElement",
29728
+ "module": "dist/elements.js"
29729
+ }
29730
+ },
29731
+ {
29732
+ "kind": "custom-element-definition",
29733
+ "name": "tf-sync-status",
29734
+ "declaration": {
29735
+ "name": "TfSyncStatusElement",
29736
+ "module": "dist/elements.js"
29737
+ }
29738
+ },
29739
+ {
29740
+ "kind": "custom-element-definition",
29741
+ "name": "tf-agent-activity",
29742
+ "declaration": {
29743
+ "name": "TfAgentActivityElement",
29744
+ "module": "dist/elements.js"
29745
+ }
29746
+ },
29747
+ {
29748
+ "kind": "custom-element-definition",
29749
+ "name": "tf-device-tile",
29750
+ "declaration": {
29751
+ "name": "TfDeviceTileElement",
29752
+ "module": "dist/elements.js"
29753
+ }
29754
+ },
29755
+ {
29756
+ "kind": "custom-element-definition",
29757
+ "name": "tf-vehicle-card",
29758
+ "declaration": {
29759
+ "name": "TfVehicleCardElement",
29760
+ "module": "dist/elements.js"
29761
+ }
29762
+ },
29763
+ {
29764
+ "kind": "custom-element-definition",
29765
+ "name": "tf-now-playing",
29766
+ "declaration": {
29767
+ "name": "TfNowPlayingElement",
29768
+ "module": "dist/elements.js"
29769
+ }
29770
+ },
29771
+ {
29772
+ "kind": "custom-element-definition",
29773
+ "name": "tf-workout-card",
29774
+ "declaration": {
29775
+ "name": "TfWorkoutCardElement",
29776
+ "module": "dist/elements.js"
29777
+ }
29778
+ },
29779
+ {
29780
+ "kind": "custom-element-definition",
29781
+ "name": "tf-call-log",
29782
+ "declaration": {
29783
+ "name": "TfCallLogElement",
29784
+ "module": "dist/elements.js"
29785
+ }
29786
+ },
29787
+ {
29788
+ "kind": "custom-element-definition",
29789
+ "name": "tf-reservation-card",
29790
+ "declaration": {
29791
+ "name": "TfReservationCardElement",
29792
+ "module": "dist/elements.js"
29793
+ }
29794
+ },
29795
+ {
29796
+ "kind": "custom-element-definition",
29797
+ "name": "tf-scorecard",
29798
+ "declaration": {
29799
+ "name": "TfScorecardElement",
29800
+ "module": "dist/elements.js"
29801
+ }
29802
+ },
29803
+ {
29804
+ "kind": "custom-element-definition",
29805
+ "name": "tf-holdings-list",
29806
+ "declaration": {
29807
+ "name": "TfHoldingsListElement",
29808
+ "module": "dist/elements.js"
29809
+ }
29810
+ },
25654
29811
  {
25655
29812
  "kind": "custom-element-definition",
25656
29813
  "name": "tf-agent-card",