@universal-material/web 3.0.99 → 3.0.100
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.
- package/custom-elements.json +511 -502
- package/package.json +1 -1
- package/theme/theme-builder.d.ts +1 -0
- package/theme/theme-builder.d.ts.map +1 -1
- package/theme/theme-builder.js +27 -32
- package/theme/theme-builder.js.map +1 -1
package/custom-elements.json
CHANGED
|
@@ -3461,255 +3461,6 @@
|
|
|
3461
3461
|
}
|
|
3462
3462
|
]
|
|
3463
3463
|
},
|
|
3464
|
-
{
|
|
3465
|
-
"kind": "javascript-module",
|
|
3466
|
-
"path": "src/card/card-content.styles.ts",
|
|
3467
|
-
"declarations": [
|
|
3468
|
-
{
|
|
3469
|
-
"kind": "variable",
|
|
3470
|
-
"name": "styles",
|
|
3471
|
-
"default": "css `\n :host {\n display: block;\n }\n\n :host(:has(slot > *)) {\n display: none;\n }\n\n :host([has-content]) {\n padding: var(--u-card-padding, 16px);\n }\n\n slot {\n border-radius: inherit;\n }\n`"
|
|
3472
|
-
}
|
|
3473
|
-
],
|
|
3474
|
-
"exports": [
|
|
3475
|
-
{
|
|
3476
|
-
"kind": "js",
|
|
3477
|
-
"name": "styles",
|
|
3478
|
-
"declaration": {
|
|
3479
|
-
"name": "styles",
|
|
3480
|
-
"module": "src/card/card-content.styles.ts"
|
|
3481
|
-
}
|
|
3482
|
-
}
|
|
3483
|
-
]
|
|
3484
|
-
},
|
|
3485
|
-
{
|
|
3486
|
-
"kind": "javascript-module",
|
|
3487
|
-
"path": "src/card/card-content.ts",
|
|
3488
|
-
"declarations": [
|
|
3489
|
-
{
|
|
3490
|
-
"kind": "class",
|
|
3491
|
-
"description": "",
|
|
3492
|
-
"name": "UmCardContent",
|
|
3493
|
-
"members": [
|
|
3494
|
-
{
|
|
3495
|
-
"kind": "field",
|
|
3496
|
-
"name": "hasContent",
|
|
3497
|
-
"type": {
|
|
3498
|
-
"text": "boolean"
|
|
3499
|
-
},
|
|
3500
|
-
"default": "false",
|
|
3501
|
-
"attribute": "has-content",
|
|
3502
|
-
"reflects": true
|
|
3503
|
-
},
|
|
3504
|
-
{
|
|
3505
|
-
"kind": "method",
|
|
3506
|
-
"name": "handleSlotChange",
|
|
3507
|
-
"privacy": "private",
|
|
3508
|
-
"parameters": [
|
|
3509
|
-
{
|
|
3510
|
-
"name": "e",
|
|
3511
|
-
"type": {
|
|
3512
|
-
"text": "Event"
|
|
3513
|
-
}
|
|
3514
|
-
}
|
|
3515
|
-
]
|
|
3516
|
-
}
|
|
3517
|
-
],
|
|
3518
|
-
"attributes": [
|
|
3519
|
-
{
|
|
3520
|
-
"name": "has-content",
|
|
3521
|
-
"type": {
|
|
3522
|
-
"text": "boolean"
|
|
3523
|
-
},
|
|
3524
|
-
"default": "false",
|
|
3525
|
-
"fieldName": "hasContent"
|
|
3526
|
-
}
|
|
3527
|
-
],
|
|
3528
|
-
"superclass": {
|
|
3529
|
-
"name": "LitElement",
|
|
3530
|
-
"package": "lit"
|
|
3531
|
-
},
|
|
3532
|
-
"tagName": "u-card-content",
|
|
3533
|
-
"customElement": true
|
|
3534
|
-
}
|
|
3535
|
-
],
|
|
3536
|
-
"exports": [
|
|
3537
|
-
{
|
|
3538
|
-
"kind": "js",
|
|
3539
|
-
"name": "UmCardContent",
|
|
3540
|
-
"declaration": {
|
|
3541
|
-
"name": "UmCardContent",
|
|
3542
|
-
"module": "src/card/card-content.ts"
|
|
3543
|
-
}
|
|
3544
|
-
},
|
|
3545
|
-
{
|
|
3546
|
-
"kind": "custom-element-definition",
|
|
3547
|
-
"name": "u-card-content",
|
|
3548
|
-
"declaration": {
|
|
3549
|
-
"name": "UmCardContent",
|
|
3550
|
-
"module": "src/card/card-content.ts"
|
|
3551
|
-
}
|
|
3552
|
-
}
|
|
3553
|
-
]
|
|
3554
|
-
},
|
|
3555
|
-
{
|
|
3556
|
-
"kind": "javascript-module",
|
|
3557
|
-
"path": "src/card/card-media.styles.ts",
|
|
3558
|
-
"declarations": [
|
|
3559
|
-
{
|
|
3560
|
-
"kind": "variable",
|
|
3561
|
-
"name": "styles",
|
|
3562
|
-
"default": "css `\n :host {\n display: block;\n aspect-ratio: 1;\n border-radius: var(--u-card-shape-corner, var(--u-shape-corner-medium, 12px));\n }\n\n :host([wide]) {\n aspect-ratio: 16/9;\n }\n`"
|
|
3563
|
-
}
|
|
3564
|
-
],
|
|
3565
|
-
"exports": [
|
|
3566
|
-
{
|
|
3567
|
-
"kind": "js",
|
|
3568
|
-
"name": "styles",
|
|
3569
|
-
"declaration": {
|
|
3570
|
-
"name": "styles",
|
|
3571
|
-
"module": "src/card/card-media.styles.ts"
|
|
3572
|
-
}
|
|
3573
|
-
}
|
|
3574
|
-
]
|
|
3575
|
-
},
|
|
3576
|
-
{
|
|
3577
|
-
"kind": "javascript-module",
|
|
3578
|
-
"path": "src/card/card-media.ts",
|
|
3579
|
-
"declarations": [
|
|
3580
|
-
{
|
|
3581
|
-
"kind": "class",
|
|
3582
|
-
"description": "",
|
|
3583
|
-
"name": "UmCardMedia",
|
|
3584
|
-
"members": [
|
|
3585
|
-
{
|
|
3586
|
-
"kind": "field",
|
|
3587
|
-
"name": "wide",
|
|
3588
|
-
"type": {
|
|
3589
|
-
"text": "boolean"
|
|
3590
|
-
},
|
|
3591
|
-
"default": "false",
|
|
3592
|
-
"attribute": "wide",
|
|
3593
|
-
"reflects": true
|
|
3594
|
-
}
|
|
3595
|
-
],
|
|
3596
|
-
"attributes": [
|
|
3597
|
-
{
|
|
3598
|
-
"name": "wide",
|
|
3599
|
-
"type": {
|
|
3600
|
-
"text": "boolean"
|
|
3601
|
-
},
|
|
3602
|
-
"default": "false",
|
|
3603
|
-
"fieldName": "wide"
|
|
3604
|
-
}
|
|
3605
|
-
],
|
|
3606
|
-
"superclass": {
|
|
3607
|
-
"name": "LitElement",
|
|
3608
|
-
"package": "lit"
|
|
3609
|
-
},
|
|
3610
|
-
"tagName": "u-card-media",
|
|
3611
|
-
"customElement": true
|
|
3612
|
-
}
|
|
3613
|
-
],
|
|
3614
|
-
"exports": [
|
|
3615
|
-
{
|
|
3616
|
-
"kind": "js",
|
|
3617
|
-
"name": "UmCardMedia",
|
|
3618
|
-
"declaration": {
|
|
3619
|
-
"name": "UmCardMedia",
|
|
3620
|
-
"module": "src/card/card-media.ts"
|
|
3621
|
-
}
|
|
3622
|
-
},
|
|
3623
|
-
{
|
|
3624
|
-
"kind": "custom-element-definition",
|
|
3625
|
-
"name": "u-card-media",
|
|
3626
|
-
"declaration": {
|
|
3627
|
-
"name": "UmCardMedia",
|
|
3628
|
-
"module": "src/card/card-media.ts"
|
|
3629
|
-
}
|
|
3630
|
-
}
|
|
3631
|
-
]
|
|
3632
|
-
},
|
|
3633
|
-
{
|
|
3634
|
-
"kind": "javascript-module",
|
|
3635
|
-
"path": "src/card/card.styles.ts",
|
|
3636
|
-
"declarations": [
|
|
3637
|
-
{
|
|
3638
|
-
"kind": "variable",
|
|
3639
|
-
"name": "styles",
|
|
3640
|
-
"default": "css `\n :host {\n display: block;\n position: relative;\n border-radius: var(--u-card-shape-corner, var(--u-shape-corner-medium, 12px));\n }\n\n :host([variant=elevated]) {\n --u-current-bg-color: var(--u-card-elevated-bg-color, var(--u-color-surface-container-low, rgb(247, 242, 250)));\n background-color: var(--u-current-bg-color);\n }\n :host([variant=elevated]) u-elevation {\n --u-elevation-level: var(--u-elevated-card-elevation-level, 1);\n }\n\n :host([variant=filled]) {\n --u-current-bg-color: var(--u-card-filled-bg-color, var(--u-color-surface-container-highest, rgb(230, 224, 233)));\n background-color: var(--u-current-bg-color);\n }\n\n :host([variant=outlined]) {\n border: var(--u-outlined-card-outline-width, 1px) solid var(--u-outlined-card-outline-color, var(--u-color-outline-variant, rgb(202, 196, 208)));\n }\n\n u-card-content,\n slot {\n border-radius: inherit;\n }\n`"
|
|
3641
|
-
}
|
|
3642
|
-
],
|
|
3643
|
-
"exports": [
|
|
3644
|
-
{
|
|
3645
|
-
"kind": "js",
|
|
3646
|
-
"name": "styles",
|
|
3647
|
-
"declaration": {
|
|
3648
|
-
"name": "styles",
|
|
3649
|
-
"module": "src/card/card.styles.ts"
|
|
3650
|
-
}
|
|
3651
|
-
}
|
|
3652
|
-
]
|
|
3653
|
-
},
|
|
3654
|
-
{
|
|
3655
|
-
"kind": "javascript-module",
|
|
3656
|
-
"path": "src/card/card.ts",
|
|
3657
|
-
"declarations": [
|
|
3658
|
-
{
|
|
3659
|
-
"kind": "class",
|
|
3660
|
-
"description": "",
|
|
3661
|
-
"name": "UmCard",
|
|
3662
|
-
"members": [
|
|
3663
|
-
{
|
|
3664
|
-
"kind": "field",
|
|
3665
|
-
"name": "variant",
|
|
3666
|
-
"type": {
|
|
3667
|
-
"text": "UmCardVariant"
|
|
3668
|
-
},
|
|
3669
|
-
"default": "'filled'",
|
|
3670
|
-
"description": "The Card variant to render.",
|
|
3671
|
-
"attribute": "variant",
|
|
3672
|
-
"reflects": true
|
|
3673
|
-
}
|
|
3674
|
-
],
|
|
3675
|
-
"attributes": [
|
|
3676
|
-
{
|
|
3677
|
-
"name": "variant",
|
|
3678
|
-
"type": {
|
|
3679
|
-
"text": "UmCardVariant"
|
|
3680
|
-
},
|
|
3681
|
-
"default": "'filled'",
|
|
3682
|
-
"description": "The Card variant to render.",
|
|
3683
|
-
"fieldName": "variant"
|
|
3684
|
-
}
|
|
3685
|
-
],
|
|
3686
|
-
"superclass": {
|
|
3687
|
-
"name": "LitElement",
|
|
3688
|
-
"package": "lit"
|
|
3689
|
-
},
|
|
3690
|
-
"tagName": "u-card",
|
|
3691
|
-
"customElement": true
|
|
3692
|
-
}
|
|
3693
|
-
],
|
|
3694
|
-
"exports": [
|
|
3695
|
-
{
|
|
3696
|
-
"kind": "js",
|
|
3697
|
-
"name": "UmCard",
|
|
3698
|
-
"declaration": {
|
|
3699
|
-
"name": "UmCard",
|
|
3700
|
-
"module": "src/card/card.ts"
|
|
3701
|
-
}
|
|
3702
|
-
},
|
|
3703
|
-
{
|
|
3704
|
-
"kind": "custom-element-definition",
|
|
3705
|
-
"name": "u-card",
|
|
3706
|
-
"declaration": {
|
|
3707
|
-
"name": "UmCard",
|
|
3708
|
-
"module": "src/card/card.ts"
|
|
3709
|
-
}
|
|
3710
|
-
}
|
|
3711
|
-
]
|
|
3712
|
-
},
|
|
3713
3464
|
{
|
|
3714
3465
|
"kind": "javascript-module",
|
|
3715
3466
|
"path": "src/chip/chip-set.styles.ts",
|
|
@@ -4386,8 +4137,257 @@
|
|
|
4386
4137
|
"kind": "custom-element-definition",
|
|
4387
4138
|
"name": "u-chip",
|
|
4388
4139
|
"declaration": {
|
|
4389
|
-
"name": "UmChip",
|
|
4390
|
-
"module": "src/chip/chip.ts"
|
|
4140
|
+
"name": "UmChip",
|
|
4141
|
+
"module": "src/chip/chip.ts"
|
|
4142
|
+
}
|
|
4143
|
+
}
|
|
4144
|
+
]
|
|
4145
|
+
},
|
|
4146
|
+
{
|
|
4147
|
+
"kind": "javascript-module",
|
|
4148
|
+
"path": "src/card/card-content.styles.ts",
|
|
4149
|
+
"declarations": [
|
|
4150
|
+
{
|
|
4151
|
+
"kind": "variable",
|
|
4152
|
+
"name": "styles",
|
|
4153
|
+
"default": "css `\n :host {\n display: block;\n }\n\n :host(:has(slot > *)) {\n display: none;\n }\n\n :host([has-content]) {\n padding: var(--u-card-padding, 16px);\n }\n\n slot {\n border-radius: inherit;\n }\n`"
|
|
4154
|
+
}
|
|
4155
|
+
],
|
|
4156
|
+
"exports": [
|
|
4157
|
+
{
|
|
4158
|
+
"kind": "js",
|
|
4159
|
+
"name": "styles",
|
|
4160
|
+
"declaration": {
|
|
4161
|
+
"name": "styles",
|
|
4162
|
+
"module": "src/card/card-content.styles.ts"
|
|
4163
|
+
}
|
|
4164
|
+
}
|
|
4165
|
+
]
|
|
4166
|
+
},
|
|
4167
|
+
{
|
|
4168
|
+
"kind": "javascript-module",
|
|
4169
|
+
"path": "src/card/card-content.ts",
|
|
4170
|
+
"declarations": [
|
|
4171
|
+
{
|
|
4172
|
+
"kind": "class",
|
|
4173
|
+
"description": "",
|
|
4174
|
+
"name": "UmCardContent",
|
|
4175
|
+
"members": [
|
|
4176
|
+
{
|
|
4177
|
+
"kind": "field",
|
|
4178
|
+
"name": "hasContent",
|
|
4179
|
+
"type": {
|
|
4180
|
+
"text": "boolean"
|
|
4181
|
+
},
|
|
4182
|
+
"default": "false",
|
|
4183
|
+
"attribute": "has-content",
|
|
4184
|
+
"reflects": true
|
|
4185
|
+
},
|
|
4186
|
+
{
|
|
4187
|
+
"kind": "method",
|
|
4188
|
+
"name": "handleSlotChange",
|
|
4189
|
+
"privacy": "private",
|
|
4190
|
+
"parameters": [
|
|
4191
|
+
{
|
|
4192
|
+
"name": "e",
|
|
4193
|
+
"type": {
|
|
4194
|
+
"text": "Event"
|
|
4195
|
+
}
|
|
4196
|
+
}
|
|
4197
|
+
]
|
|
4198
|
+
}
|
|
4199
|
+
],
|
|
4200
|
+
"attributes": [
|
|
4201
|
+
{
|
|
4202
|
+
"name": "has-content",
|
|
4203
|
+
"type": {
|
|
4204
|
+
"text": "boolean"
|
|
4205
|
+
},
|
|
4206
|
+
"default": "false",
|
|
4207
|
+
"fieldName": "hasContent"
|
|
4208
|
+
}
|
|
4209
|
+
],
|
|
4210
|
+
"superclass": {
|
|
4211
|
+
"name": "LitElement",
|
|
4212
|
+
"package": "lit"
|
|
4213
|
+
},
|
|
4214
|
+
"tagName": "u-card-content",
|
|
4215
|
+
"customElement": true
|
|
4216
|
+
}
|
|
4217
|
+
],
|
|
4218
|
+
"exports": [
|
|
4219
|
+
{
|
|
4220
|
+
"kind": "js",
|
|
4221
|
+
"name": "UmCardContent",
|
|
4222
|
+
"declaration": {
|
|
4223
|
+
"name": "UmCardContent",
|
|
4224
|
+
"module": "src/card/card-content.ts"
|
|
4225
|
+
}
|
|
4226
|
+
},
|
|
4227
|
+
{
|
|
4228
|
+
"kind": "custom-element-definition",
|
|
4229
|
+
"name": "u-card-content",
|
|
4230
|
+
"declaration": {
|
|
4231
|
+
"name": "UmCardContent",
|
|
4232
|
+
"module": "src/card/card-content.ts"
|
|
4233
|
+
}
|
|
4234
|
+
}
|
|
4235
|
+
]
|
|
4236
|
+
},
|
|
4237
|
+
{
|
|
4238
|
+
"kind": "javascript-module",
|
|
4239
|
+
"path": "src/card/card-media.styles.ts",
|
|
4240
|
+
"declarations": [
|
|
4241
|
+
{
|
|
4242
|
+
"kind": "variable",
|
|
4243
|
+
"name": "styles",
|
|
4244
|
+
"default": "css `\n :host {\n display: block;\n aspect-ratio: 1;\n border-radius: var(--u-card-shape-corner, var(--u-shape-corner-medium, 12px));\n }\n\n :host([wide]) {\n aspect-ratio: 16/9;\n }\n`"
|
|
4245
|
+
}
|
|
4246
|
+
],
|
|
4247
|
+
"exports": [
|
|
4248
|
+
{
|
|
4249
|
+
"kind": "js",
|
|
4250
|
+
"name": "styles",
|
|
4251
|
+
"declaration": {
|
|
4252
|
+
"name": "styles",
|
|
4253
|
+
"module": "src/card/card-media.styles.ts"
|
|
4254
|
+
}
|
|
4255
|
+
}
|
|
4256
|
+
]
|
|
4257
|
+
},
|
|
4258
|
+
{
|
|
4259
|
+
"kind": "javascript-module",
|
|
4260
|
+
"path": "src/card/card-media.ts",
|
|
4261
|
+
"declarations": [
|
|
4262
|
+
{
|
|
4263
|
+
"kind": "class",
|
|
4264
|
+
"description": "",
|
|
4265
|
+
"name": "UmCardMedia",
|
|
4266
|
+
"members": [
|
|
4267
|
+
{
|
|
4268
|
+
"kind": "field",
|
|
4269
|
+
"name": "wide",
|
|
4270
|
+
"type": {
|
|
4271
|
+
"text": "boolean"
|
|
4272
|
+
},
|
|
4273
|
+
"default": "false",
|
|
4274
|
+
"attribute": "wide",
|
|
4275
|
+
"reflects": true
|
|
4276
|
+
}
|
|
4277
|
+
],
|
|
4278
|
+
"attributes": [
|
|
4279
|
+
{
|
|
4280
|
+
"name": "wide",
|
|
4281
|
+
"type": {
|
|
4282
|
+
"text": "boolean"
|
|
4283
|
+
},
|
|
4284
|
+
"default": "false",
|
|
4285
|
+
"fieldName": "wide"
|
|
4286
|
+
}
|
|
4287
|
+
],
|
|
4288
|
+
"superclass": {
|
|
4289
|
+
"name": "LitElement",
|
|
4290
|
+
"package": "lit"
|
|
4291
|
+
},
|
|
4292
|
+
"tagName": "u-card-media",
|
|
4293
|
+
"customElement": true
|
|
4294
|
+
}
|
|
4295
|
+
],
|
|
4296
|
+
"exports": [
|
|
4297
|
+
{
|
|
4298
|
+
"kind": "js",
|
|
4299
|
+
"name": "UmCardMedia",
|
|
4300
|
+
"declaration": {
|
|
4301
|
+
"name": "UmCardMedia",
|
|
4302
|
+
"module": "src/card/card-media.ts"
|
|
4303
|
+
}
|
|
4304
|
+
},
|
|
4305
|
+
{
|
|
4306
|
+
"kind": "custom-element-definition",
|
|
4307
|
+
"name": "u-card-media",
|
|
4308
|
+
"declaration": {
|
|
4309
|
+
"name": "UmCardMedia",
|
|
4310
|
+
"module": "src/card/card-media.ts"
|
|
4311
|
+
}
|
|
4312
|
+
}
|
|
4313
|
+
]
|
|
4314
|
+
},
|
|
4315
|
+
{
|
|
4316
|
+
"kind": "javascript-module",
|
|
4317
|
+
"path": "src/card/card.styles.ts",
|
|
4318
|
+
"declarations": [
|
|
4319
|
+
{
|
|
4320
|
+
"kind": "variable",
|
|
4321
|
+
"name": "styles",
|
|
4322
|
+
"default": "css `\n :host {\n display: block;\n position: relative;\n border-radius: var(--u-card-shape-corner, var(--u-shape-corner-medium, 12px));\n }\n\n :host([variant=elevated]) {\n --u-current-bg-color: var(--u-card-elevated-bg-color, var(--u-color-surface-container-low, rgb(247, 242, 250)));\n background-color: var(--u-current-bg-color);\n }\n :host([variant=elevated]) u-elevation {\n --u-elevation-level: var(--u-elevated-card-elevation-level, 1);\n }\n\n :host([variant=filled]) {\n --u-current-bg-color: var(--u-card-filled-bg-color, var(--u-color-surface-container-highest, rgb(230, 224, 233)));\n background-color: var(--u-current-bg-color);\n }\n\n :host([variant=outlined]) {\n border: var(--u-outlined-card-outline-width, 1px) solid var(--u-outlined-card-outline-color, var(--u-color-outline-variant, rgb(202, 196, 208)));\n }\n\n u-card-content,\n slot {\n border-radius: inherit;\n }\n`"
|
|
4323
|
+
}
|
|
4324
|
+
],
|
|
4325
|
+
"exports": [
|
|
4326
|
+
{
|
|
4327
|
+
"kind": "js",
|
|
4328
|
+
"name": "styles",
|
|
4329
|
+
"declaration": {
|
|
4330
|
+
"name": "styles",
|
|
4331
|
+
"module": "src/card/card.styles.ts"
|
|
4332
|
+
}
|
|
4333
|
+
}
|
|
4334
|
+
]
|
|
4335
|
+
},
|
|
4336
|
+
{
|
|
4337
|
+
"kind": "javascript-module",
|
|
4338
|
+
"path": "src/card/card.ts",
|
|
4339
|
+
"declarations": [
|
|
4340
|
+
{
|
|
4341
|
+
"kind": "class",
|
|
4342
|
+
"description": "",
|
|
4343
|
+
"name": "UmCard",
|
|
4344
|
+
"members": [
|
|
4345
|
+
{
|
|
4346
|
+
"kind": "field",
|
|
4347
|
+
"name": "variant",
|
|
4348
|
+
"type": {
|
|
4349
|
+
"text": "UmCardVariant"
|
|
4350
|
+
},
|
|
4351
|
+
"default": "'filled'",
|
|
4352
|
+
"description": "The Card variant to render.",
|
|
4353
|
+
"attribute": "variant",
|
|
4354
|
+
"reflects": true
|
|
4355
|
+
}
|
|
4356
|
+
],
|
|
4357
|
+
"attributes": [
|
|
4358
|
+
{
|
|
4359
|
+
"name": "variant",
|
|
4360
|
+
"type": {
|
|
4361
|
+
"text": "UmCardVariant"
|
|
4362
|
+
},
|
|
4363
|
+
"default": "'filled'",
|
|
4364
|
+
"description": "The Card variant to render.",
|
|
4365
|
+
"fieldName": "variant"
|
|
4366
|
+
}
|
|
4367
|
+
],
|
|
4368
|
+
"superclass": {
|
|
4369
|
+
"name": "LitElement",
|
|
4370
|
+
"package": "lit"
|
|
4371
|
+
},
|
|
4372
|
+
"tagName": "u-card",
|
|
4373
|
+
"customElement": true
|
|
4374
|
+
}
|
|
4375
|
+
],
|
|
4376
|
+
"exports": [
|
|
4377
|
+
{
|
|
4378
|
+
"kind": "js",
|
|
4379
|
+
"name": "UmCard",
|
|
4380
|
+
"declaration": {
|
|
4381
|
+
"name": "UmCard",
|
|
4382
|
+
"module": "src/card/card.ts"
|
|
4383
|
+
}
|
|
4384
|
+
},
|
|
4385
|
+
{
|
|
4386
|
+
"kind": "custom-element-definition",
|
|
4387
|
+
"name": "u-card",
|
|
4388
|
+
"declaration": {
|
|
4389
|
+
"name": "UmCard",
|
|
4390
|
+
"module": "src/card/card.ts"
|
|
4391
4391
|
}
|
|
4392
4392
|
}
|
|
4393
4393
|
]
|
|
@@ -15840,6 +15840,15 @@
|
|
|
15840
15840
|
"privacy": "private",
|
|
15841
15841
|
"default": "false"
|
|
15842
15842
|
},
|
|
15843
|
+
{
|
|
15844
|
+
"kind": "field",
|
|
15845
|
+
"name": "scheme",
|
|
15846
|
+
"type": {
|
|
15847
|
+
"text": "SchemeContent | null"
|
|
15848
|
+
},
|
|
15849
|
+
"privacy": "private",
|
|
15850
|
+
"default": "new SchemeContent(Hct.fromInt(argbFromHex(primaryColorHex)), false, 0)"
|
|
15851
|
+
},
|
|
15843
15852
|
{
|
|
15844
15853
|
"kind": "method",
|
|
15845
15854
|
"name": "create",
|
|
@@ -17468,273 +17477,77 @@
|
|
|
17468
17477
|
"module": "src/field/field-base.ts"
|
|
17469
17478
|
}
|
|
17470
17479
|
},
|
|
17471
|
-
{
|
|
17472
|
-
"name": "has-error-text",
|
|
17473
|
-
"type": {
|
|
17474
|
-
"text": "boolean"
|
|
17475
|
-
},
|
|
17476
|
-
"default": "false",
|
|
17477
|
-
"description": "Whether the field has an error text or not\n\n_Note:_ Readonly",
|
|
17478
|
-
"fieldName": "hasErrorText",
|
|
17479
|
-
"inheritedFrom": {
|
|
17480
|
-
"name": "UmFieldBase",
|
|
17481
|
-
"module": "src/field/field-base.ts"
|
|
17482
|
-
}
|
|
17483
|
-
}
|
|
17484
|
-
],
|
|
17485
|
-
"superclass": {
|
|
17486
|
-
"name": "UmTextFieldBase",
|
|
17487
|
-
"module": "/src/shared/text-field-base/text-field-base.js"
|
|
17488
|
-
}
|
|
17489
|
-
}
|
|
17490
|
-
],
|
|
17491
|
-
"exports": [
|
|
17492
|
-
{
|
|
17493
|
-
"kind": "js",
|
|
17494
|
-
"name": "UmNativeTextFieldWrapper",
|
|
17495
|
-
"declaration": {
|
|
17496
|
-
"name": "UmNativeTextFieldWrapper",
|
|
17497
|
-
"module": "src/shared/char-count-text-field/native-text-field-wrapper.ts"
|
|
17498
|
-
}
|
|
17499
|
-
}
|
|
17500
|
-
]
|
|
17501
|
-
},
|
|
17502
|
-
{
|
|
17503
|
-
"kind": "javascript-module",
|
|
17504
|
-
"path": "src/shared/events/dispatch-event.ts",
|
|
17505
|
-
"declarations": [],
|
|
17506
|
-
"exports": []
|
|
17507
|
-
},
|
|
17508
|
-
{
|
|
17509
|
-
"kind": "javascript-module",
|
|
17510
|
-
"path": "src/shared/events/redispatch-event.ts",
|
|
17511
|
-
"declarations": [
|
|
17512
|
-
{
|
|
17513
|
-
"kind": "function",
|
|
17514
|
-
"name": "redispatchEvent",
|
|
17515
|
-
"parameters": [
|
|
17516
|
-
{
|
|
17517
|
-
"name": "element",
|
|
17518
|
-
"type": {
|
|
17519
|
-
"text": "Element"
|
|
17520
|
-
}
|
|
17521
|
-
},
|
|
17522
|
-
{
|
|
17523
|
-
"name": "event",
|
|
17524
|
-
"type": {
|
|
17525
|
-
"text": "Event"
|
|
17526
|
-
}
|
|
17527
|
-
}
|
|
17528
|
-
]
|
|
17529
|
-
}
|
|
17530
|
-
],
|
|
17531
|
-
"exports": [
|
|
17532
|
-
{
|
|
17533
|
-
"kind": "js",
|
|
17534
|
-
"name": "redispatchEvent",
|
|
17535
|
-
"declaration": {
|
|
17536
|
-
"name": "redispatchEvent",
|
|
17537
|
-
"module": "src/shared/events/redispatch-event.ts"
|
|
17538
|
-
}
|
|
17539
|
-
}
|
|
17540
|
-
]
|
|
17541
|
-
},
|
|
17542
|
-
{
|
|
17543
|
-
"kind": "javascript-module",
|
|
17544
|
-
"path": "src/shared/menu-field/menu-field-navigation-controller.ts",
|
|
17545
|
-
"declarations": [
|
|
17546
|
-
{
|
|
17547
|
-
"kind": "class",
|
|
17548
|
-
"description": "",
|
|
17549
|
-
"name": "MenuFieldNavigationController",
|
|
17550
|
-
"members": [
|
|
17551
|
-
{
|
|
17552
|
-
"kind": "field",
|
|
17553
|
-
"name": "#element",
|
|
17554
|
-
"privacy": "private",
|
|
17555
|
-
"type": {
|
|
17556
|
-
"text": "HTMLElement | null"
|
|
17557
|
-
},
|
|
17558
|
-
"default": "null"
|
|
17559
|
-
},
|
|
17560
|
-
{
|
|
17561
|
-
"kind": "field",
|
|
17562
|
-
"name": "focusedMenu",
|
|
17563
|
-
"type": {
|
|
17564
|
-
"text": "TMenuItem | null"
|
|
17565
|
-
},
|
|
17566
|
-
"privacy": "protected",
|
|
17567
|
-
"default": "null"
|
|
17568
|
-
},
|
|
17569
|
-
{
|
|
17570
|
-
"kind": "field",
|
|
17571
|
-
"name": "host",
|
|
17572
|
-
"type": {
|
|
17573
|
-
"text": "TField"
|
|
17574
|
-
},
|
|
17575
|
-
"privacy": "protected",
|
|
17576
|
-
"default": "host"
|
|
17577
|
-
},
|
|
17578
|
-
{
|
|
17579
|
-
"kind": "field",
|
|
17580
|
-
"name": "bindHandleKeyDown",
|
|
17581
|
-
"type": {
|
|
17582
|
-
"text": "(event: KeyboardEvent) => void"
|
|
17583
|
-
},
|
|
17584
|
-
"privacy": "private"
|
|
17585
|
-
},
|
|
17586
|
-
{
|
|
17587
|
-
"kind": "method",
|
|
17588
|
-
"name": "attach",
|
|
17589
|
-
"parameters": [
|
|
17590
|
-
{
|
|
17591
|
-
"name": "element",
|
|
17592
|
-
"type": {
|
|
17593
|
-
"text": "HTMLElement"
|
|
17594
|
-
}
|
|
17595
|
-
}
|
|
17596
|
-
]
|
|
17597
|
-
},
|
|
17598
|
-
{
|
|
17599
|
-
"kind": "method",
|
|
17600
|
-
"name": "detach"
|
|
17601
|
-
},
|
|
17602
|
-
{
|
|
17603
|
-
"kind": "field",
|
|
17604
|
-
"name": "#handleMenuClose",
|
|
17605
|
-
"privacy": "private"
|
|
17606
|
-
},
|
|
17607
|
-
{
|
|
17608
|
-
"kind": "method",
|
|
17609
|
-
"name": "handleKeyDown",
|
|
17610
|
-
"privacy": "protected",
|
|
17611
|
-
"return": {
|
|
17612
|
-
"type": {
|
|
17613
|
-
"text": "boolean"
|
|
17614
|
-
}
|
|
17615
|
-
},
|
|
17616
|
-
"parameters": [
|
|
17617
|
-
{
|
|
17618
|
-
"name": "event",
|
|
17619
|
-
"type": {
|
|
17620
|
-
"text": "KeyboardEvent"
|
|
17621
|
-
}
|
|
17622
|
-
}
|
|
17623
|
-
]
|
|
17624
|
-
},
|
|
17625
|
-
{
|
|
17626
|
-
"kind": "method",
|
|
17627
|
-
"name": "navigate",
|
|
17628
|
-
"privacy": "private",
|
|
17629
|
-
"parameters": [
|
|
17630
|
-
{
|
|
17631
|
-
"name": "event",
|
|
17632
|
-
"type": {
|
|
17633
|
-
"text": "KeyboardEvent"
|
|
17634
|
-
}
|
|
17635
|
-
},
|
|
17636
|
-
{
|
|
17637
|
-
"name": "forwards",
|
|
17638
|
-
"type": {
|
|
17639
|
-
"text": "boolean"
|
|
17640
|
-
}
|
|
17641
|
-
}
|
|
17642
|
-
]
|
|
17643
|
-
},
|
|
17644
|
-
{
|
|
17645
|
-
"kind": "method",
|
|
17646
|
-
"name": "navigateTo",
|
|
17647
|
-
"privacy": "protected",
|
|
17648
|
-
"parameters": [
|
|
17649
|
-
{
|
|
17650
|
-
"name": "event",
|
|
17651
|
-
"type": {
|
|
17652
|
-
"text": "KeyboardEvent"
|
|
17653
|
-
}
|
|
17654
|
-
},
|
|
17655
|
-
{
|
|
17656
|
-
"name": "menu",
|
|
17657
|
-
"type": {
|
|
17658
|
-
"text": "TMenuItem | undefined"
|
|
17659
|
-
}
|
|
17660
|
-
}
|
|
17661
|
-
]
|
|
17662
|
-
},
|
|
17663
|
-
{
|
|
17664
|
-
"kind": "method",
|
|
17665
|
-
"name": "focusMenu",
|
|
17666
|
-
"parameters": [
|
|
17667
|
-
{
|
|
17668
|
-
"name": "menu",
|
|
17669
|
-
"type": {
|
|
17670
|
-
"text": "TMenuItem"
|
|
17671
|
-
}
|
|
17672
|
-
},
|
|
17673
|
-
{
|
|
17674
|
-
"name": "active",
|
|
17675
|
-
"default": "true"
|
|
17676
|
-
},
|
|
17677
|
-
{
|
|
17678
|
-
"name": "scroll",
|
|
17679
|
-
"default": "true"
|
|
17680
|
-
}
|
|
17681
|
-
]
|
|
17682
|
-
},
|
|
17683
|
-
{
|
|
17684
|
-
"kind": "method",
|
|
17685
|
-
"name": "blurMenu"
|
|
17686
|
-
},
|
|
17687
|
-
{
|
|
17688
|
-
"kind": "method",
|
|
17689
|
-
"name": "selectActiveItem",
|
|
17690
|
-
"privacy": "private",
|
|
17691
|
-
"parameters": [
|
|
17692
|
-
{
|
|
17693
|
-
"name": "event",
|
|
17694
|
-
"type": {
|
|
17695
|
-
"text": "KeyboardEvent"
|
|
17696
|
-
}
|
|
17697
|
-
}
|
|
17698
|
-
]
|
|
17699
|
-
},
|
|
17700
|
-
{
|
|
17701
|
-
"kind": "method",
|
|
17702
|
-
"name": "afterFocus",
|
|
17703
|
-
"privacy": "protected",
|
|
17704
|
-
"parameters": [
|
|
17705
|
-
{
|
|
17706
|
-
"name": "_",
|
|
17707
|
-
"type": {
|
|
17708
|
-
"text": "TMenuItem"
|
|
17709
|
-
}
|
|
17710
|
-
}
|
|
17711
|
-
]
|
|
17712
|
-
},
|
|
17713
|
-
{
|
|
17714
|
-
"kind": "method",
|
|
17715
|
-
"name": "afterBlur",
|
|
17716
|
-
"privacy": "protected"
|
|
17480
|
+
{
|
|
17481
|
+
"name": "has-error-text",
|
|
17482
|
+
"type": {
|
|
17483
|
+
"text": "boolean"
|
|
17484
|
+
},
|
|
17485
|
+
"default": "false",
|
|
17486
|
+
"description": "Whether the field has an error text or not\n\n_Note:_ Readonly",
|
|
17487
|
+
"fieldName": "hasErrorText",
|
|
17488
|
+
"inheritedFrom": {
|
|
17489
|
+
"name": "UmFieldBase",
|
|
17490
|
+
"module": "src/field/field-base.ts"
|
|
17491
|
+
}
|
|
17717
17492
|
}
|
|
17718
|
-
]
|
|
17493
|
+
],
|
|
17494
|
+
"superclass": {
|
|
17495
|
+
"name": "UmTextFieldBase",
|
|
17496
|
+
"module": "/src/shared/text-field-base/text-field-base.js"
|
|
17497
|
+
}
|
|
17719
17498
|
}
|
|
17720
17499
|
],
|
|
17721
17500
|
"exports": [
|
|
17722
17501
|
{
|
|
17723
17502
|
"kind": "js",
|
|
17724
|
-
"name": "
|
|
17503
|
+
"name": "UmNativeTextFieldWrapper",
|
|
17725
17504
|
"declaration": {
|
|
17726
|
-
"name": "
|
|
17727
|
-
"module": "src/shared/
|
|
17505
|
+
"name": "UmNativeTextFieldWrapper",
|
|
17506
|
+
"module": "src/shared/char-count-text-field/native-text-field-wrapper.ts"
|
|
17728
17507
|
}
|
|
17729
17508
|
}
|
|
17730
17509
|
]
|
|
17731
17510
|
},
|
|
17732
17511
|
{
|
|
17733
17512
|
"kind": "javascript-module",
|
|
17734
|
-
"path": "src/shared/
|
|
17513
|
+
"path": "src/shared/events/dispatch-event.ts",
|
|
17735
17514
|
"declarations": [],
|
|
17736
17515
|
"exports": []
|
|
17737
17516
|
},
|
|
17517
|
+
{
|
|
17518
|
+
"kind": "javascript-module",
|
|
17519
|
+
"path": "src/shared/events/redispatch-event.ts",
|
|
17520
|
+
"declarations": [
|
|
17521
|
+
{
|
|
17522
|
+
"kind": "function",
|
|
17523
|
+
"name": "redispatchEvent",
|
|
17524
|
+
"parameters": [
|
|
17525
|
+
{
|
|
17526
|
+
"name": "element",
|
|
17527
|
+
"type": {
|
|
17528
|
+
"text": "Element"
|
|
17529
|
+
}
|
|
17530
|
+
},
|
|
17531
|
+
{
|
|
17532
|
+
"name": "event",
|
|
17533
|
+
"type": {
|
|
17534
|
+
"text": "Event"
|
|
17535
|
+
}
|
|
17536
|
+
}
|
|
17537
|
+
]
|
|
17538
|
+
}
|
|
17539
|
+
],
|
|
17540
|
+
"exports": [
|
|
17541
|
+
{
|
|
17542
|
+
"kind": "js",
|
|
17543
|
+
"name": "redispatchEvent",
|
|
17544
|
+
"declaration": {
|
|
17545
|
+
"name": "redispatchEvent",
|
|
17546
|
+
"module": "src/shared/events/redispatch-event.ts"
|
|
17547
|
+
}
|
|
17548
|
+
}
|
|
17549
|
+
]
|
|
17550
|
+
},
|
|
17738
17551
|
{
|
|
17739
17552
|
"kind": "javascript-module",
|
|
17740
17553
|
"path": "src/shared/selection-control/selection-control-list-item.ts",
|
|
@@ -18710,6 +18523,202 @@
|
|
|
18710
18523
|
}
|
|
18711
18524
|
}
|
|
18712
18525
|
]
|
|
18526
|
+
},
|
|
18527
|
+
{
|
|
18528
|
+
"kind": "javascript-module",
|
|
18529
|
+
"path": "src/shared/menu-field/menu-field-navigation-controller.ts",
|
|
18530
|
+
"declarations": [
|
|
18531
|
+
{
|
|
18532
|
+
"kind": "class",
|
|
18533
|
+
"description": "",
|
|
18534
|
+
"name": "MenuFieldNavigationController",
|
|
18535
|
+
"members": [
|
|
18536
|
+
{
|
|
18537
|
+
"kind": "field",
|
|
18538
|
+
"name": "#element",
|
|
18539
|
+
"privacy": "private",
|
|
18540
|
+
"type": {
|
|
18541
|
+
"text": "HTMLElement | null"
|
|
18542
|
+
},
|
|
18543
|
+
"default": "null"
|
|
18544
|
+
},
|
|
18545
|
+
{
|
|
18546
|
+
"kind": "field",
|
|
18547
|
+
"name": "focusedMenu",
|
|
18548
|
+
"type": {
|
|
18549
|
+
"text": "TMenuItem | null"
|
|
18550
|
+
},
|
|
18551
|
+
"privacy": "protected",
|
|
18552
|
+
"default": "null"
|
|
18553
|
+
},
|
|
18554
|
+
{
|
|
18555
|
+
"kind": "field",
|
|
18556
|
+
"name": "host",
|
|
18557
|
+
"type": {
|
|
18558
|
+
"text": "TField"
|
|
18559
|
+
},
|
|
18560
|
+
"privacy": "protected",
|
|
18561
|
+
"default": "host"
|
|
18562
|
+
},
|
|
18563
|
+
{
|
|
18564
|
+
"kind": "field",
|
|
18565
|
+
"name": "bindHandleKeyDown",
|
|
18566
|
+
"type": {
|
|
18567
|
+
"text": "(event: KeyboardEvent) => void"
|
|
18568
|
+
},
|
|
18569
|
+
"privacy": "private"
|
|
18570
|
+
},
|
|
18571
|
+
{
|
|
18572
|
+
"kind": "method",
|
|
18573
|
+
"name": "attach",
|
|
18574
|
+
"parameters": [
|
|
18575
|
+
{
|
|
18576
|
+
"name": "element",
|
|
18577
|
+
"type": {
|
|
18578
|
+
"text": "HTMLElement"
|
|
18579
|
+
}
|
|
18580
|
+
}
|
|
18581
|
+
]
|
|
18582
|
+
},
|
|
18583
|
+
{
|
|
18584
|
+
"kind": "method",
|
|
18585
|
+
"name": "detach"
|
|
18586
|
+
},
|
|
18587
|
+
{
|
|
18588
|
+
"kind": "field",
|
|
18589
|
+
"name": "#handleMenuClose",
|
|
18590
|
+
"privacy": "private"
|
|
18591
|
+
},
|
|
18592
|
+
{
|
|
18593
|
+
"kind": "method",
|
|
18594
|
+
"name": "handleKeyDown",
|
|
18595
|
+
"privacy": "protected",
|
|
18596
|
+
"return": {
|
|
18597
|
+
"type": {
|
|
18598
|
+
"text": "boolean"
|
|
18599
|
+
}
|
|
18600
|
+
},
|
|
18601
|
+
"parameters": [
|
|
18602
|
+
{
|
|
18603
|
+
"name": "event",
|
|
18604
|
+
"type": {
|
|
18605
|
+
"text": "KeyboardEvent"
|
|
18606
|
+
}
|
|
18607
|
+
}
|
|
18608
|
+
]
|
|
18609
|
+
},
|
|
18610
|
+
{
|
|
18611
|
+
"kind": "method",
|
|
18612
|
+
"name": "navigate",
|
|
18613
|
+
"privacy": "private",
|
|
18614
|
+
"parameters": [
|
|
18615
|
+
{
|
|
18616
|
+
"name": "event",
|
|
18617
|
+
"type": {
|
|
18618
|
+
"text": "KeyboardEvent"
|
|
18619
|
+
}
|
|
18620
|
+
},
|
|
18621
|
+
{
|
|
18622
|
+
"name": "forwards",
|
|
18623
|
+
"type": {
|
|
18624
|
+
"text": "boolean"
|
|
18625
|
+
}
|
|
18626
|
+
}
|
|
18627
|
+
]
|
|
18628
|
+
},
|
|
18629
|
+
{
|
|
18630
|
+
"kind": "method",
|
|
18631
|
+
"name": "navigateTo",
|
|
18632
|
+
"privacy": "protected",
|
|
18633
|
+
"parameters": [
|
|
18634
|
+
{
|
|
18635
|
+
"name": "event",
|
|
18636
|
+
"type": {
|
|
18637
|
+
"text": "KeyboardEvent"
|
|
18638
|
+
}
|
|
18639
|
+
},
|
|
18640
|
+
{
|
|
18641
|
+
"name": "menu",
|
|
18642
|
+
"type": {
|
|
18643
|
+
"text": "TMenuItem | undefined"
|
|
18644
|
+
}
|
|
18645
|
+
}
|
|
18646
|
+
]
|
|
18647
|
+
},
|
|
18648
|
+
{
|
|
18649
|
+
"kind": "method",
|
|
18650
|
+
"name": "focusMenu",
|
|
18651
|
+
"parameters": [
|
|
18652
|
+
{
|
|
18653
|
+
"name": "menu",
|
|
18654
|
+
"type": {
|
|
18655
|
+
"text": "TMenuItem"
|
|
18656
|
+
}
|
|
18657
|
+
},
|
|
18658
|
+
{
|
|
18659
|
+
"name": "active",
|
|
18660
|
+
"default": "true"
|
|
18661
|
+
},
|
|
18662
|
+
{
|
|
18663
|
+
"name": "scroll",
|
|
18664
|
+
"default": "true"
|
|
18665
|
+
}
|
|
18666
|
+
]
|
|
18667
|
+
},
|
|
18668
|
+
{
|
|
18669
|
+
"kind": "method",
|
|
18670
|
+
"name": "blurMenu"
|
|
18671
|
+
},
|
|
18672
|
+
{
|
|
18673
|
+
"kind": "method",
|
|
18674
|
+
"name": "selectActiveItem",
|
|
18675
|
+
"privacy": "private",
|
|
18676
|
+
"parameters": [
|
|
18677
|
+
{
|
|
18678
|
+
"name": "event",
|
|
18679
|
+
"type": {
|
|
18680
|
+
"text": "KeyboardEvent"
|
|
18681
|
+
}
|
|
18682
|
+
}
|
|
18683
|
+
]
|
|
18684
|
+
},
|
|
18685
|
+
{
|
|
18686
|
+
"kind": "method",
|
|
18687
|
+
"name": "afterFocus",
|
|
18688
|
+
"privacy": "protected",
|
|
18689
|
+
"parameters": [
|
|
18690
|
+
{
|
|
18691
|
+
"name": "_",
|
|
18692
|
+
"type": {
|
|
18693
|
+
"text": "TMenuItem"
|
|
18694
|
+
}
|
|
18695
|
+
}
|
|
18696
|
+
]
|
|
18697
|
+
},
|
|
18698
|
+
{
|
|
18699
|
+
"kind": "method",
|
|
18700
|
+
"name": "afterBlur",
|
|
18701
|
+
"privacy": "protected"
|
|
18702
|
+
}
|
|
18703
|
+
]
|
|
18704
|
+
}
|
|
18705
|
+
],
|
|
18706
|
+
"exports": [
|
|
18707
|
+
{
|
|
18708
|
+
"kind": "js",
|
|
18709
|
+
"name": "MenuFieldNavigationController",
|
|
18710
|
+
"declaration": {
|
|
18711
|
+
"name": "MenuFieldNavigationController",
|
|
18712
|
+
"module": "src/shared/menu-field/menu-field-navigation-controller.ts"
|
|
18713
|
+
}
|
|
18714
|
+
}
|
|
18715
|
+
]
|
|
18716
|
+
},
|
|
18717
|
+
{
|
|
18718
|
+
"kind": "javascript-module",
|
|
18719
|
+
"path": "src/shared/menu-field/menu-field.ts",
|
|
18720
|
+
"declarations": [],
|
|
18721
|
+
"exports": []
|
|
18713
18722
|
}
|
|
18714
18723
|
]
|
|
18715
18724
|
}
|
package/package.json
CHANGED
package/theme/theme-builder.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ export declare class ThemeBuilder {
|
|
|
6
6
|
neutralColorPalette: TonalPalette;
|
|
7
7
|
neutralVariantColorPalette: TonalPalette;
|
|
8
8
|
private partial;
|
|
9
|
+
private scheme;
|
|
9
10
|
private constructor();
|
|
10
11
|
static create(primaryColorHex: string): ThemeBuilder;
|
|
11
12
|
static createPartial(): ThemeBuilder;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-builder.d.ts","sourceRoot":"","sources":["../../src/theme/theme-builder.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"theme-builder.d.ts","sourceRoot":"","sources":["../../src/theme/theme-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAKnG,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAO9C,qBAAa,YAAY;IACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,UAAU,EAAE,CAAM;IAC1B,mBAAmB,EAAG,YAAY,CAAC;IACnC,0BAA0B,EAAG,YAAY,CAAC;IAE1C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAA8B;IAE5C,OAAO;IAWP,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,GAAG,YAAY;IAIpD,MAAM,CAAC,aAAa,IAAI,YAAY;IAOpC,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,YAAY;IAOxD,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,YAAY;IAatE,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,YAAY;IAStD,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY;IAK3C,OAAO,CAAC,2BAA2B;IAQnC,OAAO,CAAC,iBAAiB;IAkCzB,OAAO,CAAC,mBAAmB;IAoB3B,OAAO,CAAC,0BAA0B;IAQlC,iBAAiB,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM;IAQ3D,OAAO,CAAC,kBAAkB;IAkB1B,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,YAAY;IA6BpB,KAAK,IAAI,MAAM;CAmBhB"}
|
package/theme/theme-builder.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { argbFromHex,
|
|
1
|
+
import { argbFromHex, Hct, SchemeContent, TonalPalette } from '@material/material-color-utilities';
|
|
2
2
|
import { CssVarBuilder } from './css-var-builder.js';
|
|
3
3
|
import { neutralColors, neutralVariantColors } from './neutral-colors.js';
|
|
4
4
|
function getCss(selector, content) {
|
|
@@ -6,14 +6,19 @@ function getCss(selector, content) {
|
|
|
6
6
|
${content}}`;
|
|
7
7
|
}
|
|
8
8
|
export class ThemeBuilder {
|
|
9
|
-
constructor() {
|
|
9
|
+
constructor(primaryColorHex) {
|
|
10
10
|
this.colors = [];
|
|
11
11
|
this.partial = false;
|
|
12
|
+
this.scheme = null;
|
|
12
13
|
this.cssClass = null;
|
|
14
|
+
if (!primaryColorHex) {
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
this.scheme = new SchemeContent(Hct.fromInt(argbFromHex(primaryColorHex)), false, 0);
|
|
18
|
+
this.addColorFromPalette('primary', this.scheme.primaryPalette);
|
|
13
19
|
}
|
|
14
20
|
static create(primaryColorHex) {
|
|
15
|
-
return new ThemeBuilder()
|
|
16
|
-
.addColorFromHex('primary', primaryColorHex);
|
|
21
|
+
return new ThemeBuilder(primaryColorHex);
|
|
17
22
|
}
|
|
18
23
|
static createPartial() {
|
|
19
24
|
const themeBuilder = new ThemeBuilder();
|
|
@@ -55,13 +60,11 @@ export class ThemeBuilder {
|
|
|
55
60
|
this.cssClass = `.${this.cssClass}`;
|
|
56
61
|
}
|
|
57
62
|
ensureThemeColors() {
|
|
58
|
-
const primaryColor = this.colors.find(c => c.name === 'primary');
|
|
59
|
-
const palette = CorePalette.of(primaryColor.tonalPalette.tone(40));
|
|
60
63
|
if (!this.colors.find(c => c.name === 'secondary')) {
|
|
61
|
-
this.addColorFromPalette('secondary',
|
|
64
|
+
this.addColorFromPalette('secondary', this.scheme.secondaryPalette);
|
|
62
65
|
}
|
|
63
66
|
if (!this.colors.find(c => c.name === 'tertiary')) {
|
|
64
|
-
this.addColorFromPalette('tertiary',
|
|
67
|
+
this.addColorFromPalette('tertiary', this.scheme.tertiaryPalette);
|
|
65
68
|
}
|
|
66
69
|
if (!this.colors.find(c => c.name === 'success')) {
|
|
67
70
|
this.addFixedColor('success', '#007e33');
|
|
@@ -76,26 +79,26 @@ export class ThemeBuilder {
|
|
|
76
79
|
this.addColorFromHex('error', '#b3261e');
|
|
77
80
|
}
|
|
78
81
|
if (!this.neutralColorPalette) {
|
|
79
|
-
this.neutralColorPalette =
|
|
82
|
+
this.neutralColorPalette = this.scheme.neutralPalette;
|
|
80
83
|
}
|
|
81
84
|
if (!this.neutralVariantColorPalette) {
|
|
82
|
-
this.neutralVariantColorPalette =
|
|
85
|
+
this.neutralVariantColorPalette = this.scheme.neutralVariantPalette;
|
|
83
86
|
}
|
|
84
87
|
}
|
|
85
88
|
getNeutralVariables(dark) {
|
|
86
89
|
const builder = CssVarBuilder.create();
|
|
87
90
|
this.addColors(builder, neutralColors, this.neutralColorPalette, dark);
|
|
88
91
|
builder
|
|
89
|
-
.add('--u-color-body',
|
|
90
|
-
.add('--u-color-body-rgb',
|
|
91
|
-
.add('--u-color-inverse-body',
|
|
92
|
-
.add('--u-color-inverse-body-rgb',
|
|
93
|
-
.add('--u-color-on-body',
|
|
94
|
-
.add('--u-color-on-body-rgb',
|
|
95
|
-
.add('--u-color-on-inverse-body',
|
|
96
|
-
.add('--u-color-on-inverse-body-rgb',
|
|
97
|
-
.add('--u-current-text-color',
|
|
98
|
-
.add('--u-current-text-color-rgb',
|
|
92
|
+
.add('--u-color-body', 'var(--u-color-surface)')
|
|
93
|
+
.add('--u-color-body-rgb', 'var(--u-color-surface-rgb)')
|
|
94
|
+
.add('--u-color-inverse-body', 'var(--u-color-inverse-surface)')
|
|
95
|
+
.add('--u-color-inverse-body-rgb', 'var(--u-color-inverse-surface-rgb)')
|
|
96
|
+
.add('--u-color-on-body', 'var(--u-color-on-surface)')
|
|
97
|
+
.add('--u-color-on-body-rgb', 'var(--u-color-on-surface-rgb)')
|
|
98
|
+
.add('--u-color-on-inverse-body', 'var(--u-color-on-inverse-surface)')
|
|
99
|
+
.add('--u-color-on-inverse-body-rgb', 'var(--u-color-on-inverse-surface-rgb)')
|
|
100
|
+
.add('--u-current-text-color', 'var(--u-color-on-body)')
|
|
101
|
+
.add('--u-current-text-color-rgb', 'var(--u-color-on-body-rgb)');
|
|
99
102
|
return builder.build();
|
|
100
103
|
}
|
|
101
104
|
getNeutralVariantVariables(dark) {
|
|
@@ -133,20 +136,12 @@ export class ThemeBuilder {
|
|
|
133
136
|
}
|
|
134
137
|
return;
|
|
135
138
|
}
|
|
136
|
-
const tone = dark
|
|
137
|
-
|
|
138
|
-
: color.lightTone;
|
|
139
|
-
const inverseTone = dark
|
|
140
|
-
? color.lightTone
|
|
141
|
-
: color.darkTone;
|
|
139
|
+
const tone = dark ? color.darkTone : color.lightTone;
|
|
140
|
+
const inverseTone = dark ? color.lightTone : color.darkTone;
|
|
142
141
|
const inverseName = `inverse-${color.name}`.replace('inverse-on', 'on-inverse');
|
|
143
|
-
builder
|
|
144
|
-
.addFromArgb(color.name, palette.tone(tone))
|
|
145
|
-
.addFromArgb(inverseName, palette.tone(inverseTone));
|
|
142
|
+
builder.addFromArgb(color.name, palette.tone(tone)).addFromArgb(inverseName, palette.tone(inverseTone));
|
|
146
143
|
if (color.name === 'surface' || color.name === 'on-surface') {
|
|
147
|
-
const prefix = color.name.startsWith('on-')
|
|
148
|
-
? 'on-'
|
|
149
|
-
: '';
|
|
144
|
+
const prefix = color.name.startsWith('on-') ? 'on-' : '';
|
|
150
145
|
builder.addFromArgb(`${prefix}light-surface`, palette.tone(color.lightTone));
|
|
151
146
|
builder.addFromArgb(`${prefix}dark-surface`, palette.tone(color.darkTone));
|
|
152
147
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-builder.js","sourceRoot":"","sources":["../../src/theme/theme-builder.ts"],"names":[],"mappings":"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","sourcesContent":["import { argbFromHex, CorePalette, TonalPalette } from '@material/material-color-utilities';\n\nimport { Color } from './color.js';\nimport { CssVarBuilder } from './css-var-builder.js';\nimport { neutralColors, neutralVariantColors } from './neutral-colors.js';\nimport { ThemeColor } from './theme-color.js';\n\nfunction getCss(selector: string, content: string): string {\n return `${selector} {\n${content}}`;\n}\n\nexport class ThemeBuilder {\n cssClass: string | null;\n colors: ThemeColor[] = [];\n neutralColorPalette!: TonalPalette;\n neutralVariantColorPalette!: TonalPalette;\n\n private partial = false;\n\n private constructor() {\n this.cssClass = null;\n }\n\n static create(primaryColorHex: string): ThemeBuilder {\n return new ThemeBuilder()\n .addColorFromHex('primary', primaryColorHex);\n }\n\n static createPartial(): ThemeBuilder {\n const themeBuilder = new ThemeBuilder();\n themeBuilder.partial = true;\n\n return themeBuilder;\n }\n\n addColorFromHex(name: string, hex: string): ThemeBuilder {\n const palette = TonalPalette.fromInt(argbFromHex(hex));\n\n this.addColorFromPalette(name, palette);\n return this;\n }\n\n addColorFromPalette(name: string, palette: TonalPalette): ThemeBuilder {\n this.colors.push({name, lightTone: 40, darkTone: 80, tonalPalette: palette});\n this.colors.push({name: `on-${name}`, lightTone: 100, darkTone: 20, tonalPalette: palette});\n this.colors.push({name: `${name}-container`, lightTone: 90, darkTone: 30, tonalPalette: palette});\n this.colors.push({name: `on-${name}-container`, lightTone: 10, darkTone: 90, tonalPalette: palette});\n\n this.colors.push({name: `${name}-fixed`, fixedTone: 90, tonalPalette: palette});\n this.colors.push({name: `${name}-fixed-dim`, fixedTone: 80, tonalPalette: palette});\n this.colors.push({name: `on-${name}-fixed`, fixedTone: 10, tonalPalette: palette});\n this.colors.push({name: `on-${name}-fixed-variant`, fixedTone: 30, tonalPalette: palette});\n return this;\n }\n\n addFixedColor(name: string, hex: string): ThemeBuilder {\n const palette = TonalPalette.fromInt(argbFromHex(hex));\n this.colors.push({name, fixedTone: 80, tonalPalette: palette});\n this.colors.push({name: `on-${name}`, fixedTone: 15, tonalPalette: palette});\n this.colors.push({name: `${name}-container`, fixedTone: 90, tonalPalette: palette});\n this.colors.push({name: `on-${name}-container`, fixedTone: 15, tonalPalette: palette});\n return this;\n }\n\n setCssClass(cssClass: string): ThemeBuilder {\n this.cssClass = cssClass;\n return this;\n }\n\n private ensureCssClassStartsWithDot(): void {\n if (!this.cssClass || this.cssClass.startsWith('.')) {\n return;\n }\n\n this.cssClass = `.${this.cssClass}`;\n }\n\n private ensureThemeColors(): void {\n\n const primaryColor = this.colors.find(c => c.name === 'primary')!;\n\n const palette = CorePalette.of(primaryColor.tonalPalette.tone(40));\n\n if (!this.colors.find(c => c.name === 'secondary')) {\n this.addColorFromPalette('secondary', palette.a2);\n }\n\n if (!this.colors.find(c => c.name === 'tertiary')) {\n this.addColorFromPalette('tertiary', palette.a3);\n }\n\n if (!this.colors.find(c => c.name === 'success')) {\n this.addFixedColor('success', '#007e33');\n }\n\n if (!this.colors.find(c => c.name === 'info')) {\n this.addFixedColor('info', '#33b5e5');\n }\n\n if (!this.colors.find(c => c.name === 'warning')) {\n this.addFixedColor('warning', '#ffbb33');\n }\n\n if (!this.colors.find(c => c.name === 'error')) {\n this.addColorFromHex('error', '#b3261e');\n }\n\n if (!this.neutralColorPalette) {\n this.neutralColorPalette = palette.n1;\n }\n\n if (!this.neutralVariantColorPalette) {\n this.neutralVariantColorPalette = palette.n2;\n }\n }\n\n private getNeutralVariables(dark: boolean): string {\n const builder = CssVarBuilder.create();\n\n this.addColors(builder, neutralColors, this.neutralColorPalette, dark);\n\n builder\n .add('--u-color-body', \"var(--u-color-surface)\")\n .add('--u-color-body-rgb', \"var(--u-color-surface-rgb)\")\n .add('--u-color-inverse-body', \"var(--u-color-inverse-surface)\")\n .add('--u-color-inverse-body-rgb', \"var(--u-color-inverse-surface-rgb)\")\n .add('--u-color-on-body', \"var(--u-color-on-surface)\")\n .add('--u-color-on-body-rgb', \"var(--u-color-on-surface-rgb)\")\n .add('--u-color-on-inverse-body', \"var(--u-color-on-inverse-surface)\")\n .add('--u-color-on-inverse-body-rgb', \"var(--u-color-on-inverse-surface-rgb)\")\n .add('--u-current-text-color', \"var(--u-color-on-body)\")\n .add('--u-current-text-color-rgb', \"var(--u-color-on-body-rgb)\");\n\n return builder.build();\n }\n\n private getNeutralVariantVariables(dark: boolean): string {\n const builder = CssVarBuilder.create();\n\n this.addColors(builder, neutralVariantColors, this.neutralColorPalette, dark);\n\n return builder.build()\n }\n\n getColorVariables(color: ThemeColor, dark: boolean): string {\n\n const builder = CssVarBuilder.create();\n\n this.addToneColor(builder, color, color.tonalPalette, dark)\n\n return builder.build();\n }\n\n private getColorsVariables(dark: boolean): string {\n let variables = '';\n\n for (const color of this.colors) {\n variables += this.getColorVariables(color, dark);\n }\n\n if (this.neutralColorPalette) {\n variables += this.getNeutralVariables(dark);\n }\n\n if (this.neutralVariantColorPalette) {\n variables += this.getNeutralVariantVariables(dark);\n }\n\n return variables;\n }\n\n private addColors(builder: CssVarBuilder, colors: Color[], palette: TonalPalette, dark: boolean): void {\n for (const color of colors) {\n this.addToneColor(builder, color, palette, dark);\n }\n }\n\n private addToneColor(builder: CssVarBuilder, color: Color, palette: TonalPalette, dark: boolean): void {\n if (color.fixedTone !== undefined) {\n\n if (!dark) {\n builder.addFromArgb(color.name, palette.tone(color.fixedTone));\n }\n\n return;\n }\n\n const tone = dark\n ? color.darkTone!\n : color.lightTone!;\n\n const inverseTone = dark\n ? color.lightTone!\n : color.darkTone!;\n\n const inverseName = `inverse-${color.name}`.replace('inverse-on', 'on-inverse');\n\n builder\n .addFromArgb(color.name, palette.tone(tone))\n .addFromArgb(inverseName, palette.tone(inverseTone));\n\n if (color.name === 'surface' || color.name === 'on-surface') {\n const prefix = color.name.startsWith('on-')\n ? 'on-'\n : '';\n\n builder.addFromArgb(`${prefix}light-surface`, palette.tone(color.lightTone!))\n builder.addFromArgb(`${prefix}dark-surface`, palette.tone(color.darkTone!))\n }\n\n if (dark) {\n return;\n }\n }\n\n build(): string {\n\n this.ensureCssClassStartsWithDot();\n\n const lightCssClass = this.cssClass ?? ':root';\n const darkCssClass = this.cssClass\n ? `${this.cssClass}.u-dark-mode,\n${this.cssClass} .u-dark-mode`\n : '.u-dark-mode';\n\n if (!this.partial) {\n this.ensureThemeColors();\n }\n\n const variables = `${getCss(lightCssClass, `${this.getColorsVariables(false)}`)}\n\n${getCss(darkCssClass, this.getColorsVariables(true))}\n`;\n return variables;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"theme-builder.js","sourceRoot":"","sources":["../../src/theme/theme-builder.ts"],"names":[],"mappings":"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","sourcesContent":["import { argbFromHex, Hct, SchemeContent, TonalPalette } from '@material/material-color-utilities';\n\nimport { Color } from './color.js';\nimport { CssVarBuilder } from './css-var-builder.js';\nimport { neutralColors, neutralVariantColors } from './neutral-colors.js';\nimport { ThemeColor } from './theme-color.js';\n\nfunction getCss(selector: string, content: string): string {\n return `${selector} {\n${content}}`;\n}\n\nexport class ThemeBuilder {\n cssClass: string | null;\n colors: ThemeColor[] = [];\n neutralColorPalette!: TonalPalette;\n neutralVariantColorPalette!: TonalPalette;\n\n private partial = false;\n private scheme: SchemeContent | null = null;\n\n private constructor(primaryColorHex?: string) {\n this.cssClass = null;\n\n if (!primaryColorHex) {\n return;\n }\n\n this.scheme = new SchemeContent(Hct.fromInt(argbFromHex(primaryColorHex)), false, 0);\n this.addColorFromPalette('primary', this.scheme.primaryPalette);\n }\n\n static create(primaryColorHex: string): ThemeBuilder {\n return new ThemeBuilder(primaryColorHex);\n }\n\n static createPartial(): ThemeBuilder {\n const themeBuilder = new ThemeBuilder();\n themeBuilder.partial = true;\n\n return themeBuilder;\n }\n\n addColorFromHex(name: string, hex: string): ThemeBuilder {\n const palette = TonalPalette.fromInt(argbFromHex(hex));\n\n this.addColorFromPalette(name, palette);\n return this;\n }\n\n addColorFromPalette(name: string, palette: TonalPalette): ThemeBuilder {\n this.colors.push({ name, lightTone: 40, darkTone: 80, tonalPalette: palette });\n this.colors.push({ name: `on-${name}`, lightTone: 100, darkTone: 20, tonalPalette: palette });\n this.colors.push({ name: `${name}-container`, lightTone: 90, darkTone: 30, tonalPalette: palette });\n this.colors.push({ name: `on-${name}-container`, lightTone: 10, darkTone: 90, tonalPalette: palette });\n\n this.colors.push({ name: `${name}-fixed`, fixedTone: 90, tonalPalette: palette });\n this.colors.push({ name: `${name}-fixed-dim`, fixedTone: 80, tonalPalette: palette });\n this.colors.push({ name: `on-${name}-fixed`, fixedTone: 10, tonalPalette: palette });\n this.colors.push({ name: `on-${name}-fixed-variant`, fixedTone: 30, tonalPalette: palette });\n return this;\n }\n\n addFixedColor(name: string, hex: string): ThemeBuilder {\n const palette = TonalPalette.fromInt(argbFromHex(hex));\n this.colors.push({ name, fixedTone: 80, tonalPalette: palette });\n this.colors.push({ name: `on-${name}`, fixedTone: 15, tonalPalette: palette });\n this.colors.push({ name: `${name}-container`, fixedTone: 90, tonalPalette: palette });\n this.colors.push({ name: `on-${name}-container`, fixedTone: 15, tonalPalette: palette });\n return this;\n }\n\n setCssClass(cssClass: string): ThemeBuilder {\n this.cssClass = cssClass;\n return this;\n }\n\n private ensureCssClassStartsWithDot(): void {\n if (!this.cssClass || this.cssClass.startsWith('.')) {\n return;\n }\n\n this.cssClass = `.${this.cssClass}`;\n }\n\n private ensureThemeColors(): void {\n if (!this.colors.find(c => c.name === 'secondary')) {\n this.addColorFromPalette('secondary', this.scheme!.secondaryPalette);\n }\n\n if (!this.colors.find(c => c.name === 'tertiary')) {\n this.addColorFromPalette('tertiary', this.scheme!.tertiaryPalette);\n }\n\n if (!this.colors.find(c => c.name === 'success')) {\n this.addFixedColor('success', '#007e33');\n }\n\n if (!this.colors.find(c => c.name === 'info')) {\n this.addFixedColor('info', '#33b5e5');\n }\n\n if (!this.colors.find(c => c.name === 'warning')) {\n this.addFixedColor('warning', '#ffbb33');\n }\n\n if (!this.colors.find(c => c.name === 'error')) {\n this.addColorFromHex('error', '#b3261e');\n }\n\n if (!this.neutralColorPalette) {\n this.neutralColorPalette = this.scheme!.neutralPalette;\n }\n\n if (!this.neutralVariantColorPalette) {\n this.neutralVariantColorPalette = this.scheme!.neutralVariantPalette;\n }\n }\n\n private getNeutralVariables(dark: boolean): string {\n const builder = CssVarBuilder.create();\n\n this.addColors(builder, neutralColors, this.neutralColorPalette, dark);\n\n builder\n .add('--u-color-body', 'var(--u-color-surface)')\n .add('--u-color-body-rgb', 'var(--u-color-surface-rgb)')\n .add('--u-color-inverse-body', 'var(--u-color-inverse-surface)')\n .add('--u-color-inverse-body-rgb', 'var(--u-color-inverse-surface-rgb)')\n .add('--u-color-on-body', 'var(--u-color-on-surface)')\n .add('--u-color-on-body-rgb', 'var(--u-color-on-surface-rgb)')\n .add('--u-color-on-inverse-body', 'var(--u-color-on-inverse-surface)')\n .add('--u-color-on-inverse-body-rgb', 'var(--u-color-on-inverse-surface-rgb)')\n .add('--u-current-text-color', 'var(--u-color-on-body)')\n .add('--u-current-text-color-rgb', 'var(--u-color-on-body-rgb)');\n\n return builder.build();\n }\n\n private getNeutralVariantVariables(dark: boolean): string {\n const builder = CssVarBuilder.create();\n\n this.addColors(builder, neutralVariantColors, this.neutralColorPalette, dark);\n\n return builder.build();\n }\n\n getColorVariables(color: ThemeColor, dark: boolean): string {\n const builder = CssVarBuilder.create();\n\n this.addToneColor(builder, color, color.tonalPalette, dark);\n\n return builder.build();\n }\n\n private getColorsVariables(dark: boolean): string {\n let variables = '';\n\n for (const color of this.colors) {\n variables += this.getColorVariables(color, dark);\n }\n\n if (this.neutralColorPalette) {\n variables += this.getNeutralVariables(dark);\n }\n\n if (this.neutralVariantColorPalette) {\n variables += this.getNeutralVariantVariables(dark);\n }\n\n return variables;\n }\n\n private addColors(builder: CssVarBuilder, colors: Color[], palette: TonalPalette, dark: boolean): void {\n for (const color of colors) {\n this.addToneColor(builder, color, palette, dark);\n }\n }\n\n private addToneColor(builder: CssVarBuilder, color: Color, palette: TonalPalette, dark: boolean): void {\n if (color.fixedTone !== undefined) {\n if (!dark) {\n builder.addFromArgb(color.name, palette.tone(color.fixedTone));\n }\n\n return;\n }\n\n const tone = dark ? color.darkTone! : color.lightTone!;\n\n const inverseTone = dark ? color.lightTone! : color.darkTone!;\n\n const inverseName = `inverse-${color.name}`.replace('inverse-on', 'on-inverse');\n\n builder.addFromArgb(color.name, palette.tone(tone)).addFromArgb(inverseName, palette.tone(inverseTone));\n\n if (color.name === 'surface' || color.name === 'on-surface') {\n const prefix = color.name.startsWith('on-') ? 'on-' : '';\n\n builder.addFromArgb(`${prefix}light-surface`, palette.tone(color.lightTone!));\n builder.addFromArgb(`${prefix}dark-surface`, palette.tone(color.darkTone!));\n }\n\n if (dark) {\n return;\n }\n }\n\n build(): string {\n this.ensureCssClassStartsWithDot();\n\n const lightCssClass = this.cssClass ?? ':root';\n const darkCssClass = this.cssClass\n ? `${this.cssClass}.u-dark-mode,\n${this.cssClass} .u-dark-mode`\n : '.u-dark-mode';\n\n if (!this.partial) {\n this.ensureThemeColors();\n }\n\n const variables = `${getCss(lightCssClass, `${this.getColorsVariables(false)}`)}\n\n${getCss(darkCssClass, this.getColorsVariables(true))}\n`;\n return variables;\n }\n}\n"]}
|