@quartzds/core 1.0.0-beta.124 → 1.0.0-beta.125

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/components/{p-D5u-bDNf.js → p-2tdMcXmA.js} +3 -3
  3. package/components/{p-D5u-bDNf.js.map → p-2tdMcXmA.js.map} +1 -1
  4. package/components/{p-BxrR19WD.js → p-BRpaYGSM.js} +3 -3
  5. package/components/{p-BxrR19WD.js.map → p-BRpaYGSM.js.map} +1 -1
  6. package/components/{p-BGAgQ6J5.js → p-B_CYrw-t.js} +3 -3
  7. package/components/{p-BGAgQ6J5.js.map → p-B_CYrw-t.js.map} +1 -1
  8. package/components/{p-BPNu4xuI.js → p-BuCcV5P1.js} +5 -5
  9. package/components/p-BuCcV5P1.js.map +1 -0
  10. package/components/{p-DVXvtEPn.js → p-CG_jPYOl.js} +5 -5
  11. package/components/{p-DVXvtEPn.js.map → p-CG_jPYOl.js.map} +1 -1
  12. package/components/p-CaibVX_2.js +3539 -0
  13. package/components/p-CaibVX_2.js.map +1 -0
  14. package/components/{p-CsIsG3ra.js → p-CgQQYnEy.js} +5 -5
  15. package/components/p-CgQQYnEy.js.map +1 -0
  16. package/components/{p-De7cAKF1.js → p-DTMrBXCl.js} +3 -3
  17. package/components/{p-De7cAKF1.js.map → p-DTMrBXCl.js.map} +1 -1
  18. package/components/{p-Vtb6GsBy.js → p-ox2syNht.js} +3 -3
  19. package/components/{p-Vtb6GsBy.js.map → p-ox2syNht.js.map} +1 -1
  20. package/components/qds-action-item.js +2 -2
  21. package/components/qds-breadcrumb-item.js +2 -2
  22. package/components/qds-button.js +3 -3
  23. package/components/qds-checkbox.js +1 -1
  24. package/components/qds-chip.js +4 -4
  25. package/components/qds-chip.js.map +1 -1
  26. package/components/qds-dialog.js +4 -4
  27. package/components/qds-dialog.js.map +1 -1
  28. package/components/qds-dropdown.js +1 -1
  29. package/components/qds-icon-button.js +1 -1
  30. package/components/qds-icon-tab.js +3 -3
  31. package/components/qds-inline-link.js +1 -1
  32. package/components/qds-input.js +3 -3
  33. package/components/qds-label.js +2 -2
  34. package/components/qds-list-item.js +6 -6
  35. package/components/qds-menu-item.js +4 -4
  36. package/components/qds-menu-item.js.map +1 -1
  37. package/components/qds-mini-button.js +1 -1
  38. package/components/qds-radio.js +1 -1
  39. package/components/qds-select.js +2 -2
  40. package/components/qds-standalone-link.js +1 -1
  41. package/components/qds-switch.js +2 -2
  42. package/components/qds-switch.js.map +1 -1
  43. package/components/qds-tab.js +3 -3
  44. package/components/qds-tabbar.js +6 -6
  45. package/components/qds-tabbar.js.map +1 -1
  46. package/components/qds-tag.js +1 -1
  47. package/components/qds-textarea.js +1 -1
  48. package/components/qds-title.js +1 -1
  49. package/components/qds-tooltip.js +1 -1
  50. package/dist/cjs/helpers-DjUgyTKn.js +3559 -0
  51. package/dist/cjs/helpers-DjUgyTKn.js.map +1 -0
  52. package/dist/cjs/qds-action-item.cjs.entry.js +1 -1
  53. package/dist/cjs/qds-avatar-media.qds-checkbox.qds-radio.entry.cjs.js.map +1 -1
  54. package/dist/cjs/qds-avatar-media_3.cjs.entry.js +3 -3
  55. package/dist/cjs/qds-breadcrumb-item.cjs.entry.js +1 -1
  56. package/dist/cjs/qds-button.cjs.entry.js +2 -2
  57. package/dist/cjs/qds-chip.cjs.entry.js +2 -2
  58. package/dist/cjs/qds-chip.entry.cjs.js.map +1 -1
  59. package/dist/cjs/qds-dialog.cjs.entry.js +2 -2
  60. package/dist/cjs/qds-dialog.entry.cjs.js.map +1 -1
  61. package/dist/cjs/qds-divider_2.cjs.entry.js +2 -2
  62. package/dist/cjs/qds-dropdown.cjs.entry.js +1 -1
  63. package/dist/cjs/qds-icon-tab.cjs.entry.js +1 -1
  64. package/dist/cjs/qds-inline-link.cjs.entry.js +1 -1
  65. package/dist/cjs/qds-input.cjs.entry.js +2 -2
  66. package/dist/cjs/qds-label.cjs.entry.js +1 -1
  67. package/dist/cjs/qds-list-item.cjs.entry.js +1 -1
  68. package/dist/cjs/qds-menu-item.cjs.entry.js +2 -2
  69. package/dist/cjs/qds-menu-item.entry.cjs.js.map +1 -1
  70. package/dist/cjs/qds-mini-button.cjs.entry.js +1 -1
  71. package/dist/cjs/qds-select.cjs.entry.js +2 -2
  72. package/dist/cjs/qds-standalone-link.cjs.entry.js +1 -1
  73. package/dist/cjs/qds-switch.cjs.entry.js +2 -2
  74. package/dist/cjs/qds-switch.entry.cjs.js.map +1 -1
  75. package/dist/cjs/qds-tab.cjs.entry.js +1 -1
  76. package/dist/cjs/qds-tabbar.cjs.entry.js +4 -4
  77. package/dist/cjs/qds-tabbar.entry.cjs.js.map +1 -1
  78. package/dist/cjs/qds-tag.cjs.entry.js +1 -1
  79. package/dist/cjs/qds-textarea.cjs.entry.js +1 -1
  80. package/dist/cjs/qds-title.cjs.entry.js +1 -1
  81. package/dist/cjs/qds-tooltip.cjs.entry.js +1 -1
  82. package/dist/docs.json +1 -1
  83. package/dist/esm/helpers-mPQzhx-O.js +3539 -0
  84. package/dist/esm/helpers-mPQzhx-O.js.map +1 -0
  85. package/dist/esm/qds-action-item.entry.js +1 -1
  86. package/dist/esm/qds-avatar-media.qds-checkbox.qds-radio.entry.js.map +1 -1
  87. package/dist/esm/qds-avatar-media_3.entry.js +3 -3
  88. package/dist/esm/qds-breadcrumb-item.entry.js +1 -1
  89. package/dist/esm/qds-button.entry.js +2 -2
  90. package/dist/esm/qds-chip.entry.js +2 -2
  91. package/dist/esm/qds-chip.entry.js.map +1 -1
  92. package/dist/esm/qds-dialog.entry.js +2 -2
  93. package/dist/esm/qds-dialog.entry.js.map +1 -1
  94. package/dist/esm/qds-divider_2.entry.js +2 -2
  95. package/dist/esm/qds-dropdown.entry.js +1 -1
  96. package/dist/esm/qds-icon-tab.entry.js +1 -1
  97. package/dist/esm/qds-inline-link.entry.js +1 -1
  98. package/dist/esm/qds-input.entry.js +2 -2
  99. package/dist/esm/qds-label.entry.js +1 -1
  100. package/dist/esm/qds-list-item.entry.js +1 -1
  101. package/dist/esm/qds-menu-item.entry.js +2 -2
  102. package/dist/esm/qds-menu-item.entry.js.map +1 -1
  103. package/dist/esm/qds-mini-button.entry.js +1 -1
  104. package/dist/esm/qds-select.entry.js +2 -2
  105. package/dist/esm/qds-standalone-link.entry.js +1 -1
  106. package/dist/esm/qds-switch.entry.js +2 -2
  107. package/dist/esm/qds-switch.entry.js.map +1 -1
  108. package/dist/esm/qds-tab.entry.js +1 -1
  109. package/dist/esm/qds-tabbar.entry.js +4 -4
  110. package/dist/esm/qds-tabbar.entry.js.map +1 -1
  111. package/dist/esm/qds-tag.entry.js +1 -1
  112. package/dist/esm/qds-textarea.entry.js +1 -1
  113. package/dist/esm/qds-title.entry.js +1 -1
  114. package/dist/esm/qds-tooltip.entry.js +1 -1
  115. package/hydrate/index.js +3270 -25
  116. package/hydrate/index.mjs +3270 -25
  117. package/package.json +2 -1
  118. package/components/p-BPNu4xuI.js.map +0 -1
  119. package/components/p-Bm_hrsjc.js +0 -294
  120. package/components/p-Bm_hrsjc.js.map +0 -1
  121. package/components/p-CsIsG3ra.js.map +0 -1
  122. package/dist/cjs/helpers-CPSgo4Ef.js +0 -314
  123. package/dist/cjs/helpers-CPSgo4Ef.js.map +0 -1
  124. package/dist/esm/helpers-JWnSavo8.js +0 -294
  125. package/dist/esm/helpers-JWnSavo8.js.map +0 -1
package/hydrate/index.mjs CHANGED
@@ -3362,6 +3362,3221 @@ var setScopedSSR = (opts) => {
3362
3362
  var needsScopedSSR = () => scopedSSR;
3363
3363
  var scopedSSR = false;
3364
3364
 
3365
+ // Generated by scripts/generate-bidi-data.ts from scripts/unicode/DerivedBidiClass-17.0.0.txt.
3366
+ // Do not edit by hand. Regenerate with `bun run generate:bidi-data`.
3367
+ // Formatting and isolate controls are projected onto `BN` because the rich
3368
+ // bidi helper consumes a simplified class set and does not model UBA isolates.
3369
+ const latin1BidiTypes = [
3370
+ 'BN',
3371
+ 'BN',
3372
+ 'BN',
3373
+ 'BN',
3374
+ 'BN',
3375
+ 'BN',
3376
+ 'BN',
3377
+ 'BN',
3378
+ 'BN',
3379
+ 'S',
3380
+ 'B',
3381
+ 'S',
3382
+ 'WS',
3383
+ 'B',
3384
+ 'BN',
3385
+ 'BN',
3386
+ 'BN',
3387
+ 'BN',
3388
+ 'BN',
3389
+ 'BN',
3390
+ 'BN',
3391
+ 'BN',
3392
+ 'BN',
3393
+ 'BN',
3394
+ 'BN',
3395
+ 'BN',
3396
+ 'BN',
3397
+ 'BN',
3398
+ 'B',
3399
+ 'B',
3400
+ 'B',
3401
+ 'S',
3402
+ 'WS',
3403
+ 'ON',
3404
+ 'ON',
3405
+ 'ET',
3406
+ 'ET',
3407
+ 'ET',
3408
+ 'ON',
3409
+ 'ON',
3410
+ 'ON',
3411
+ 'ON',
3412
+ 'ON',
3413
+ 'ES',
3414
+ 'CS',
3415
+ 'ES',
3416
+ 'CS',
3417
+ 'CS',
3418
+ 'EN',
3419
+ 'EN',
3420
+ 'EN',
3421
+ 'EN',
3422
+ 'EN',
3423
+ 'EN',
3424
+ 'EN',
3425
+ 'EN',
3426
+ 'EN',
3427
+ 'EN',
3428
+ 'CS',
3429
+ 'ON',
3430
+ 'ON',
3431
+ 'ON',
3432
+ 'ON',
3433
+ 'ON',
3434
+ 'ON',
3435
+ 'L',
3436
+ 'L',
3437
+ 'L',
3438
+ 'L',
3439
+ 'L',
3440
+ 'L',
3441
+ 'L',
3442
+ 'L',
3443
+ 'L',
3444
+ 'L',
3445
+ 'L',
3446
+ 'L',
3447
+ 'L',
3448
+ 'L',
3449
+ 'L',
3450
+ 'L',
3451
+ 'L',
3452
+ 'L',
3453
+ 'L',
3454
+ 'L',
3455
+ 'L',
3456
+ 'L',
3457
+ 'L',
3458
+ 'L',
3459
+ 'L',
3460
+ 'L',
3461
+ 'ON',
3462
+ 'ON',
3463
+ 'ON',
3464
+ 'ON',
3465
+ 'ON',
3466
+ 'ON',
3467
+ 'L',
3468
+ 'L',
3469
+ 'L',
3470
+ 'L',
3471
+ 'L',
3472
+ 'L',
3473
+ 'L',
3474
+ 'L',
3475
+ 'L',
3476
+ 'L',
3477
+ 'L',
3478
+ 'L',
3479
+ 'L',
3480
+ 'L',
3481
+ 'L',
3482
+ 'L',
3483
+ 'L',
3484
+ 'L',
3485
+ 'L',
3486
+ 'L',
3487
+ 'L',
3488
+ 'L',
3489
+ 'L',
3490
+ 'L',
3491
+ 'L',
3492
+ 'L',
3493
+ 'ON',
3494
+ 'ON',
3495
+ 'ON',
3496
+ 'ON',
3497
+ 'BN',
3498
+ 'BN',
3499
+ 'BN',
3500
+ 'BN',
3501
+ 'BN',
3502
+ 'BN',
3503
+ 'B',
3504
+ 'BN',
3505
+ 'BN',
3506
+ 'BN',
3507
+ 'BN',
3508
+ 'BN',
3509
+ 'BN',
3510
+ 'BN',
3511
+ 'BN',
3512
+ 'BN',
3513
+ 'BN',
3514
+ 'BN',
3515
+ 'BN',
3516
+ 'BN',
3517
+ 'BN',
3518
+ 'BN',
3519
+ 'BN',
3520
+ 'BN',
3521
+ 'BN',
3522
+ 'BN',
3523
+ 'BN',
3524
+ 'BN',
3525
+ 'BN',
3526
+ 'BN',
3527
+ 'BN',
3528
+ 'BN',
3529
+ 'BN',
3530
+ 'CS',
3531
+ 'ON',
3532
+ 'ET',
3533
+ 'ET',
3534
+ 'ET',
3535
+ 'ET',
3536
+ 'ON',
3537
+ 'ON',
3538
+ 'ON',
3539
+ 'ON',
3540
+ 'L',
3541
+ 'ON',
3542
+ 'ON',
3543
+ 'BN',
3544
+ 'ON',
3545
+ 'ON',
3546
+ 'ET',
3547
+ 'ET',
3548
+ 'EN',
3549
+ 'EN',
3550
+ 'ON',
3551
+ 'L',
3552
+ 'ON',
3553
+ 'ON',
3554
+ 'ON',
3555
+ 'EN',
3556
+ 'L',
3557
+ 'ON',
3558
+ 'ON',
3559
+ 'ON',
3560
+ 'ON',
3561
+ 'ON',
3562
+ 'L',
3563
+ 'L',
3564
+ 'L',
3565
+ 'L',
3566
+ 'L',
3567
+ 'L',
3568
+ 'L',
3569
+ 'L',
3570
+ 'L',
3571
+ 'L',
3572
+ 'L',
3573
+ 'L',
3574
+ 'L',
3575
+ 'L',
3576
+ 'L',
3577
+ 'L',
3578
+ 'L',
3579
+ 'L',
3580
+ 'L',
3581
+ 'L',
3582
+ 'L',
3583
+ 'L',
3584
+ 'L',
3585
+ 'ON',
3586
+ 'L',
3587
+ 'L',
3588
+ 'L',
3589
+ 'L',
3590
+ 'L',
3591
+ 'L',
3592
+ 'L',
3593
+ 'L',
3594
+ 'L',
3595
+ 'L',
3596
+ 'L',
3597
+ 'L',
3598
+ 'L',
3599
+ 'L',
3600
+ 'L',
3601
+ 'L',
3602
+ 'L',
3603
+ 'L',
3604
+ 'L',
3605
+ 'L',
3606
+ 'L',
3607
+ 'L',
3608
+ 'L',
3609
+ 'L',
3610
+ 'L',
3611
+ 'L',
3612
+ 'L',
3613
+ 'L',
3614
+ 'L',
3615
+ 'L',
3616
+ 'L',
3617
+ 'ON',
3618
+ 'L',
3619
+ 'L',
3620
+ 'L',
3621
+ 'L',
3622
+ 'L',
3623
+ 'L',
3624
+ 'L',
3625
+ 'L',
3626
+ ];
3627
+ const nonLatin1BidiRanges = [
3628
+ [0x2B9, 0x2BA, 'ON'],
3629
+ [0x2C2, 0x2CF, 'ON'],
3630
+ [0x2D2, 0x2DF, 'ON'],
3631
+ [0x2E5, 0x2ED, 'ON'],
3632
+ [0x2EF, 0x2FF, 'ON'],
3633
+ [0x300, 0x36F, 'NSM'],
3634
+ [0x374, 0x375, 'ON'],
3635
+ [0x37E, 0x37E, 'ON'],
3636
+ [0x384, 0x385, 'ON'],
3637
+ [0x387, 0x387, 'ON'],
3638
+ [0x3F6, 0x3F6, 'ON'],
3639
+ [0x483, 0x489, 'NSM'],
3640
+ [0x58A, 0x58A, 'ON'],
3641
+ [0x58D, 0x58E, 'ON'],
3642
+ [0x58F, 0x58F, 'ET'],
3643
+ [0x590, 0x590, 'R'],
3644
+ [0x591, 0x5BD, 'NSM'],
3645
+ [0x5BE, 0x5BE, 'R'],
3646
+ [0x5BF, 0x5BF, 'NSM'],
3647
+ [0x5C0, 0x5C0, 'R'],
3648
+ [0x5C1, 0x5C2, 'NSM'],
3649
+ [0x5C3, 0x5C3, 'R'],
3650
+ [0x5C4, 0x5C5, 'NSM'],
3651
+ [0x5C6, 0x5C6, 'R'],
3652
+ [0x5C7, 0x5C7, 'NSM'],
3653
+ [0x5C8, 0x5FF, 'R'],
3654
+ [0x600, 0x605, 'AN'],
3655
+ [0x606, 0x607, 'ON'],
3656
+ [0x608, 0x608, 'AL'],
3657
+ [0x609, 0x60A, 'ET'],
3658
+ [0x60B, 0x60B, 'AL'],
3659
+ [0x60C, 0x60C, 'CS'],
3660
+ [0x60D, 0x60D, 'AL'],
3661
+ [0x60E, 0x60F, 'ON'],
3662
+ [0x610, 0x61A, 'NSM'],
3663
+ [0x61B, 0x64A, 'AL'],
3664
+ [0x64B, 0x65F, 'NSM'],
3665
+ [0x660, 0x669, 'AN'],
3666
+ [0x66A, 0x66A, 'ET'],
3667
+ [0x66B, 0x66C, 'AN'],
3668
+ [0x66D, 0x66F, 'AL'],
3669
+ [0x670, 0x670, 'NSM'],
3670
+ [0x671, 0x6D5, 'AL'],
3671
+ [0x6D6, 0x6DC, 'NSM'],
3672
+ [0x6DD, 0x6DD, 'AN'],
3673
+ [0x6DE, 0x6DE, 'ON'],
3674
+ [0x6DF, 0x6E4, 'NSM'],
3675
+ [0x6E5, 0x6E6, 'AL'],
3676
+ [0x6E7, 0x6E8, 'NSM'],
3677
+ [0x6E9, 0x6E9, 'ON'],
3678
+ [0x6EA, 0x6ED, 'NSM'],
3679
+ [0x6EE, 0x6EF, 'AL'],
3680
+ [0x6F0, 0x6F9, 'EN'],
3681
+ [0x6FA, 0x710, 'AL'],
3682
+ [0x711, 0x711, 'NSM'],
3683
+ [0x712, 0x72F, 'AL'],
3684
+ [0x730, 0x74A, 'NSM'],
3685
+ [0x74B, 0x7A5, 'AL'],
3686
+ [0x7A6, 0x7B0, 'NSM'],
3687
+ [0x7B1, 0x7BF, 'AL'],
3688
+ [0x7C0, 0x7EA, 'R'],
3689
+ [0x7EB, 0x7F3, 'NSM'],
3690
+ [0x7F4, 0x7F5, 'R'],
3691
+ [0x7F6, 0x7F9, 'ON'],
3692
+ [0x7FA, 0x7FC, 'R'],
3693
+ [0x7FD, 0x7FD, 'NSM'],
3694
+ [0x7FE, 0x815, 'R'],
3695
+ [0x816, 0x819, 'NSM'],
3696
+ [0x81A, 0x81A, 'R'],
3697
+ [0x81B, 0x823, 'NSM'],
3698
+ [0x824, 0x824, 'R'],
3699
+ [0x825, 0x827, 'NSM'],
3700
+ [0x828, 0x828, 'R'],
3701
+ [0x829, 0x82D, 'NSM'],
3702
+ [0x82E, 0x858, 'R'],
3703
+ [0x859, 0x85B, 'NSM'],
3704
+ [0x85C, 0x85F, 'R'],
3705
+ [0x860, 0x88F, 'AL'],
3706
+ [0x890, 0x891, 'AN'],
3707
+ [0x892, 0x896, 'AL'],
3708
+ [0x897, 0x89F, 'NSM'],
3709
+ [0x8A0, 0x8C9, 'AL'],
3710
+ [0x8CA, 0x8E1, 'NSM'],
3711
+ [0x8E2, 0x8E2, 'AN'],
3712
+ [0x8E3, 0x902, 'NSM'],
3713
+ [0x93A, 0x93A, 'NSM'],
3714
+ [0x93C, 0x93C, 'NSM'],
3715
+ [0x941, 0x948, 'NSM'],
3716
+ [0x94D, 0x94D, 'NSM'],
3717
+ [0x951, 0x957, 'NSM'],
3718
+ [0x962, 0x963, 'NSM'],
3719
+ [0x981, 0x981, 'NSM'],
3720
+ [0x9BC, 0x9BC, 'NSM'],
3721
+ [0x9C1, 0x9C4, 'NSM'],
3722
+ [0x9CD, 0x9CD, 'NSM'],
3723
+ [0x9E2, 0x9E3, 'NSM'],
3724
+ [0x9F2, 0x9F3, 'ET'],
3725
+ [0x9FB, 0x9FB, 'ET'],
3726
+ [0x9FE, 0x9FE, 'NSM'],
3727
+ [0xA01, 0xA02, 'NSM'],
3728
+ [0xA3C, 0xA3C, 'NSM'],
3729
+ [0xA41, 0xA42, 'NSM'],
3730
+ [0xA47, 0xA48, 'NSM'],
3731
+ [0xA4B, 0xA4D, 'NSM'],
3732
+ [0xA51, 0xA51, 'NSM'],
3733
+ [0xA70, 0xA71, 'NSM'],
3734
+ [0xA75, 0xA75, 'NSM'],
3735
+ [0xA81, 0xA82, 'NSM'],
3736
+ [0xABC, 0xABC, 'NSM'],
3737
+ [0xAC1, 0xAC5, 'NSM'],
3738
+ [0xAC7, 0xAC8, 'NSM'],
3739
+ [0xACD, 0xACD, 'NSM'],
3740
+ [0xAE2, 0xAE3, 'NSM'],
3741
+ [0xAF1, 0xAF1, 'ET'],
3742
+ [0xAFA, 0xAFF, 'NSM'],
3743
+ [0xB01, 0xB01, 'NSM'],
3744
+ [0xB3C, 0xB3C, 'NSM'],
3745
+ [0xB3F, 0xB3F, 'NSM'],
3746
+ [0xB41, 0xB44, 'NSM'],
3747
+ [0xB4D, 0xB4D, 'NSM'],
3748
+ [0xB55, 0xB56, 'NSM'],
3749
+ [0xB62, 0xB63, 'NSM'],
3750
+ [0xB82, 0xB82, 'NSM'],
3751
+ [0xBC0, 0xBC0, 'NSM'],
3752
+ [0xBCD, 0xBCD, 'NSM'],
3753
+ [0xBF3, 0xBF8, 'ON'],
3754
+ [0xBF9, 0xBF9, 'ET'],
3755
+ [0xBFA, 0xBFA, 'ON'],
3756
+ [0xC00, 0xC00, 'NSM'],
3757
+ [0xC04, 0xC04, 'NSM'],
3758
+ [0xC3C, 0xC3C, 'NSM'],
3759
+ [0xC3E, 0xC40, 'NSM'],
3760
+ [0xC46, 0xC48, 'NSM'],
3761
+ [0xC4A, 0xC4D, 'NSM'],
3762
+ [0xC55, 0xC56, 'NSM'],
3763
+ [0xC62, 0xC63, 'NSM'],
3764
+ [0xC78, 0xC7E, 'ON'],
3765
+ [0xC81, 0xC81, 'NSM'],
3766
+ [0xCBC, 0xCBC, 'NSM'],
3767
+ [0xCCC, 0xCCD, 'NSM'],
3768
+ [0xCE2, 0xCE3, 'NSM'],
3769
+ [0xD00, 0xD01, 'NSM'],
3770
+ [0xD3B, 0xD3C, 'NSM'],
3771
+ [0xD41, 0xD44, 'NSM'],
3772
+ [0xD4D, 0xD4D, 'NSM'],
3773
+ [0xD62, 0xD63, 'NSM'],
3774
+ [0xD81, 0xD81, 'NSM'],
3775
+ [0xDCA, 0xDCA, 'NSM'],
3776
+ [0xDD2, 0xDD4, 'NSM'],
3777
+ [0xDD6, 0xDD6, 'NSM'],
3778
+ [0xE31, 0xE31, 'NSM'],
3779
+ [0xE34, 0xE3A, 'NSM'],
3780
+ [0xE3F, 0xE3F, 'ET'],
3781
+ [0xE47, 0xE4E, 'NSM'],
3782
+ [0xEB1, 0xEB1, 'NSM'],
3783
+ [0xEB4, 0xEBC, 'NSM'],
3784
+ [0xEC8, 0xECE, 'NSM'],
3785
+ [0xF18, 0xF19, 'NSM'],
3786
+ [0xF35, 0xF35, 'NSM'],
3787
+ [0xF37, 0xF37, 'NSM'],
3788
+ [0xF39, 0xF39, 'NSM'],
3789
+ [0xF3A, 0xF3D, 'ON'],
3790
+ [0xF71, 0xF7E, 'NSM'],
3791
+ [0xF80, 0xF84, 'NSM'],
3792
+ [0xF86, 0xF87, 'NSM'],
3793
+ [0xF8D, 0xF97, 'NSM'],
3794
+ [0xF99, 0xFBC, 'NSM'],
3795
+ [0xFC6, 0xFC6, 'NSM'],
3796
+ [0x102D, 0x1030, 'NSM'],
3797
+ [0x1032, 0x1037, 'NSM'],
3798
+ [0x1039, 0x103A, 'NSM'],
3799
+ [0x103D, 0x103E, 'NSM'],
3800
+ [0x1058, 0x1059, 'NSM'],
3801
+ [0x105E, 0x1060, 'NSM'],
3802
+ [0x1071, 0x1074, 'NSM'],
3803
+ [0x1082, 0x1082, 'NSM'],
3804
+ [0x1085, 0x1086, 'NSM'],
3805
+ [0x108D, 0x108D, 'NSM'],
3806
+ [0x109D, 0x109D, 'NSM'],
3807
+ [0x135D, 0x135F, 'NSM'],
3808
+ [0x1390, 0x1399, 'ON'],
3809
+ [0x1400, 0x1400, 'ON'],
3810
+ [0x1680, 0x1680, 'WS'],
3811
+ [0x169B, 0x169C, 'ON'],
3812
+ [0x1712, 0x1714, 'NSM'],
3813
+ [0x1732, 0x1733, 'NSM'],
3814
+ [0x1752, 0x1753, 'NSM'],
3815
+ [0x1772, 0x1773, 'NSM'],
3816
+ [0x17B4, 0x17B5, 'NSM'],
3817
+ [0x17B7, 0x17BD, 'NSM'],
3818
+ [0x17C6, 0x17C6, 'NSM'],
3819
+ [0x17C9, 0x17D3, 'NSM'],
3820
+ [0x17DB, 0x17DB, 'ET'],
3821
+ [0x17DD, 0x17DD, 'NSM'],
3822
+ [0x17F0, 0x17F9, 'ON'],
3823
+ [0x1800, 0x180A, 'ON'],
3824
+ [0x180B, 0x180D, 'NSM'],
3825
+ [0x180E, 0x180E, 'BN'],
3826
+ [0x180F, 0x180F, 'NSM'],
3827
+ [0x1885, 0x1886, 'NSM'],
3828
+ [0x18A9, 0x18A9, 'NSM'],
3829
+ [0x1920, 0x1922, 'NSM'],
3830
+ [0x1927, 0x1928, 'NSM'],
3831
+ [0x1932, 0x1932, 'NSM'],
3832
+ [0x1939, 0x193B, 'NSM'],
3833
+ [0x1940, 0x1940, 'ON'],
3834
+ [0x1944, 0x1945, 'ON'],
3835
+ [0x19DE, 0x19FF, 'ON'],
3836
+ [0x1A17, 0x1A18, 'NSM'],
3837
+ [0x1A1B, 0x1A1B, 'NSM'],
3838
+ [0x1A56, 0x1A56, 'NSM'],
3839
+ [0x1A58, 0x1A5E, 'NSM'],
3840
+ [0x1A60, 0x1A60, 'NSM'],
3841
+ [0x1A62, 0x1A62, 'NSM'],
3842
+ [0x1A65, 0x1A6C, 'NSM'],
3843
+ [0x1A73, 0x1A7C, 'NSM'],
3844
+ [0x1A7F, 0x1A7F, 'NSM'],
3845
+ [0x1AB0, 0x1ADD, 'NSM'],
3846
+ [0x1AE0, 0x1AEB, 'NSM'],
3847
+ [0x1B00, 0x1B03, 'NSM'],
3848
+ [0x1B34, 0x1B34, 'NSM'],
3849
+ [0x1B36, 0x1B3A, 'NSM'],
3850
+ [0x1B3C, 0x1B3C, 'NSM'],
3851
+ [0x1B42, 0x1B42, 'NSM'],
3852
+ [0x1B6B, 0x1B73, 'NSM'],
3853
+ [0x1B80, 0x1B81, 'NSM'],
3854
+ [0x1BA2, 0x1BA5, 'NSM'],
3855
+ [0x1BA8, 0x1BA9, 'NSM'],
3856
+ [0x1BAB, 0x1BAD, 'NSM'],
3857
+ [0x1BE6, 0x1BE6, 'NSM'],
3858
+ [0x1BE8, 0x1BE9, 'NSM'],
3859
+ [0x1BED, 0x1BED, 'NSM'],
3860
+ [0x1BEF, 0x1BF1, 'NSM'],
3861
+ [0x1C2C, 0x1C33, 'NSM'],
3862
+ [0x1C36, 0x1C37, 'NSM'],
3863
+ [0x1CD0, 0x1CD2, 'NSM'],
3864
+ [0x1CD4, 0x1CE0, 'NSM'],
3865
+ [0x1CE2, 0x1CE8, 'NSM'],
3866
+ [0x1CED, 0x1CED, 'NSM'],
3867
+ [0x1CF4, 0x1CF4, 'NSM'],
3868
+ [0x1CF8, 0x1CF9, 'NSM'],
3869
+ [0x1DC0, 0x1DFF, 'NSM'],
3870
+ [0x1FBD, 0x1FBD, 'ON'],
3871
+ [0x1FBF, 0x1FC1, 'ON'],
3872
+ [0x1FCD, 0x1FCF, 'ON'],
3873
+ [0x1FDD, 0x1FDF, 'ON'],
3874
+ [0x1FED, 0x1FEF, 'ON'],
3875
+ [0x1FFD, 0x1FFE, 'ON'],
3876
+ [0x2000, 0x200A, 'WS'],
3877
+ [0x200B, 0x200D, 'BN'],
3878
+ [0x200F, 0x200F, 'R'],
3879
+ [0x2010, 0x2027, 'ON'],
3880
+ [0x2028, 0x2028, 'WS'],
3881
+ [0x2029, 0x2029, 'B'],
3882
+ [0x202A, 0x202E, 'BN'],
3883
+ [0x202F, 0x202F, 'CS'],
3884
+ [0x2030, 0x2034, 'ET'],
3885
+ [0x2035, 0x2043, 'ON'],
3886
+ [0x2044, 0x2044, 'CS'],
3887
+ [0x2045, 0x205E, 'ON'],
3888
+ [0x205F, 0x205F, 'WS'],
3889
+ [0x2060, 0x206F, 'BN'],
3890
+ [0x2070, 0x2070, 'EN'],
3891
+ [0x2074, 0x2079, 'EN'],
3892
+ [0x207A, 0x207B, 'ES'],
3893
+ [0x207C, 0x207E, 'ON'],
3894
+ [0x2080, 0x2089, 'EN'],
3895
+ [0x208A, 0x208B, 'ES'],
3896
+ [0x208C, 0x208E, 'ON'],
3897
+ [0x20A0, 0x20CF, 'ET'],
3898
+ [0x20D0, 0x20F0, 'NSM'],
3899
+ [0x2100, 0x2101, 'ON'],
3900
+ [0x2103, 0x2106, 'ON'],
3901
+ [0x2108, 0x2109, 'ON'],
3902
+ [0x2114, 0x2114, 'ON'],
3903
+ [0x2116, 0x2118, 'ON'],
3904
+ [0x211E, 0x2123, 'ON'],
3905
+ [0x2125, 0x2125, 'ON'],
3906
+ [0x2127, 0x2127, 'ON'],
3907
+ [0x2129, 0x2129, 'ON'],
3908
+ [0x212E, 0x212E, 'ET'],
3909
+ [0x213A, 0x213B, 'ON'],
3910
+ [0x2140, 0x2144, 'ON'],
3911
+ [0x214A, 0x214D, 'ON'],
3912
+ [0x2150, 0x215F, 'ON'],
3913
+ [0x2189, 0x218B, 'ON'],
3914
+ [0x2190, 0x2211, 'ON'],
3915
+ [0x2212, 0x2212, 'ES'],
3916
+ [0x2213, 0x2213, 'ET'],
3917
+ [0x2214, 0x2335, 'ON'],
3918
+ [0x237B, 0x2394, 'ON'],
3919
+ [0x2396, 0x2429, 'ON'],
3920
+ [0x2440, 0x244A, 'ON'],
3921
+ [0x2460, 0x2487, 'ON'],
3922
+ [0x2488, 0x249B, 'EN'],
3923
+ [0x24EA, 0x26AB, 'ON'],
3924
+ [0x26AD, 0x27FF, 'ON'],
3925
+ [0x2900, 0x2B73, 'ON'],
3926
+ [0x2B76, 0x2BFF, 'ON'],
3927
+ [0x2CE5, 0x2CEA, 'ON'],
3928
+ [0x2CEF, 0x2CF1, 'NSM'],
3929
+ [0x2CF9, 0x2CFF, 'ON'],
3930
+ [0x2D7F, 0x2D7F, 'NSM'],
3931
+ [0x2DE0, 0x2DFF, 'NSM'],
3932
+ [0x2E00, 0x2E5D, 'ON'],
3933
+ [0x2E80, 0x2E99, 'ON'],
3934
+ [0x2E9B, 0x2EF3, 'ON'],
3935
+ [0x2F00, 0x2FD5, 'ON'],
3936
+ [0x2FF0, 0x2FFF, 'ON'],
3937
+ [0x3000, 0x3000, 'WS'],
3938
+ [0x3001, 0x3004, 'ON'],
3939
+ [0x3008, 0x3020, 'ON'],
3940
+ [0x302A, 0x302D, 'NSM'],
3941
+ [0x3030, 0x3030, 'ON'],
3942
+ [0x3036, 0x3037, 'ON'],
3943
+ [0x303D, 0x303F, 'ON'],
3944
+ [0x3099, 0x309A, 'NSM'],
3945
+ [0x309B, 0x309C, 'ON'],
3946
+ [0x30A0, 0x30A0, 'ON'],
3947
+ [0x30FB, 0x30FB, 'ON'],
3948
+ [0x31C0, 0x31E5, 'ON'],
3949
+ [0x31EF, 0x31EF, 'ON'],
3950
+ [0x321D, 0x321E, 'ON'],
3951
+ [0x3250, 0x325F, 'ON'],
3952
+ [0x327C, 0x327E, 'ON'],
3953
+ [0x32B1, 0x32BF, 'ON'],
3954
+ [0x32CC, 0x32CF, 'ON'],
3955
+ [0x3377, 0x337A, 'ON'],
3956
+ [0x33DE, 0x33DF, 'ON'],
3957
+ [0x33FF, 0x33FF, 'ON'],
3958
+ [0x4DC0, 0x4DFF, 'ON'],
3959
+ [0xA490, 0xA4C6, 'ON'],
3960
+ [0xA60D, 0xA60F, 'ON'],
3961
+ [0xA66F, 0xA672, 'NSM'],
3962
+ [0xA673, 0xA673, 'ON'],
3963
+ [0xA674, 0xA67D, 'NSM'],
3964
+ [0xA67E, 0xA67F, 'ON'],
3965
+ [0xA69E, 0xA69F, 'NSM'],
3966
+ [0xA6F0, 0xA6F1, 'NSM'],
3967
+ [0xA700, 0xA721, 'ON'],
3968
+ [0xA788, 0xA788, 'ON'],
3969
+ [0xA802, 0xA802, 'NSM'],
3970
+ [0xA806, 0xA806, 'NSM'],
3971
+ [0xA80B, 0xA80B, 'NSM'],
3972
+ [0xA825, 0xA826, 'NSM'],
3973
+ [0xA828, 0xA82B, 'ON'],
3974
+ [0xA82C, 0xA82C, 'NSM'],
3975
+ [0xA838, 0xA839, 'ET'],
3976
+ [0xA874, 0xA877, 'ON'],
3977
+ [0xA8C4, 0xA8C5, 'NSM'],
3978
+ [0xA8E0, 0xA8F1, 'NSM'],
3979
+ [0xA8FF, 0xA8FF, 'NSM'],
3980
+ [0xA926, 0xA92D, 'NSM'],
3981
+ [0xA947, 0xA951, 'NSM'],
3982
+ [0xA980, 0xA982, 'NSM'],
3983
+ [0xA9B3, 0xA9B3, 'NSM'],
3984
+ [0xA9B6, 0xA9B9, 'NSM'],
3985
+ [0xA9BC, 0xA9BD, 'NSM'],
3986
+ [0xA9E5, 0xA9E5, 'NSM'],
3987
+ [0xAA29, 0xAA2E, 'NSM'],
3988
+ [0xAA31, 0xAA32, 'NSM'],
3989
+ [0xAA35, 0xAA36, 'NSM'],
3990
+ [0xAA43, 0xAA43, 'NSM'],
3991
+ [0xAA4C, 0xAA4C, 'NSM'],
3992
+ [0xAA7C, 0xAA7C, 'NSM'],
3993
+ [0xAAB0, 0xAAB0, 'NSM'],
3994
+ [0xAAB2, 0xAAB4, 'NSM'],
3995
+ [0xAAB7, 0xAAB8, 'NSM'],
3996
+ [0xAABE, 0xAABF, 'NSM'],
3997
+ [0xAAC1, 0xAAC1, 'NSM'],
3998
+ [0xAAEC, 0xAAED, 'NSM'],
3999
+ [0xAAF6, 0xAAF6, 'NSM'],
4000
+ [0xAB6A, 0xAB6B, 'ON'],
4001
+ [0xABE5, 0xABE5, 'NSM'],
4002
+ [0xABE8, 0xABE8, 'NSM'],
4003
+ [0xABED, 0xABED, 'NSM'],
4004
+ [0xFB1D, 0xFB1D, 'R'],
4005
+ [0xFB1E, 0xFB1E, 'NSM'],
4006
+ [0xFB1F, 0xFB28, 'R'],
4007
+ [0xFB29, 0xFB29, 'ES'],
4008
+ [0xFB2A, 0xFB4F, 'R'],
4009
+ [0xFB50, 0xFBC2, 'AL'],
4010
+ [0xFBC3, 0xFBD2, 'ON'],
4011
+ [0xFBD3, 0xFD3D, 'AL'],
4012
+ [0xFD3E, 0xFD4F, 'ON'],
4013
+ [0xFD50, 0xFD8F, 'AL'],
4014
+ [0xFD90, 0xFD91, 'ON'],
4015
+ [0xFD92, 0xFDC7, 'AL'],
4016
+ [0xFDC8, 0xFDCF, 'ON'],
4017
+ [0xFDD0, 0xFDEF, 'BN'],
4018
+ [0xFDF0, 0xFDFC, 'AL'],
4019
+ [0xFDFD, 0xFDFF, 'ON'],
4020
+ [0xFE00, 0xFE0F, 'NSM'],
4021
+ [0xFE10, 0xFE19, 'ON'],
4022
+ [0xFE20, 0xFE2F, 'NSM'],
4023
+ [0xFE30, 0xFE4F, 'ON'],
4024
+ [0xFE50, 0xFE50, 'CS'],
4025
+ [0xFE51, 0xFE51, 'ON'],
4026
+ [0xFE52, 0xFE52, 'CS'],
4027
+ [0xFE54, 0xFE54, 'ON'],
4028
+ [0xFE55, 0xFE55, 'CS'],
4029
+ [0xFE56, 0xFE5E, 'ON'],
4030
+ [0xFE5F, 0xFE5F, 'ET'],
4031
+ [0xFE60, 0xFE61, 'ON'],
4032
+ [0xFE62, 0xFE63, 'ES'],
4033
+ [0xFE64, 0xFE66, 'ON'],
4034
+ [0xFE68, 0xFE68, 'ON'],
4035
+ [0xFE69, 0xFE6A, 'ET'],
4036
+ [0xFE6B, 0xFE6B, 'ON'],
4037
+ [0xFE70, 0xFEFE, 'AL'],
4038
+ [0xFEFF, 0xFEFF, 'BN'],
4039
+ [0xFF01, 0xFF02, 'ON'],
4040
+ [0xFF03, 0xFF05, 'ET'],
4041
+ [0xFF06, 0xFF0A, 'ON'],
4042
+ [0xFF0B, 0xFF0B, 'ES'],
4043
+ [0xFF0C, 0xFF0C, 'CS'],
4044
+ [0xFF0D, 0xFF0D, 'ES'],
4045
+ [0xFF0E, 0xFF0F, 'CS'],
4046
+ [0xFF10, 0xFF19, 'EN'],
4047
+ [0xFF1A, 0xFF1A, 'CS'],
4048
+ [0xFF1B, 0xFF20, 'ON'],
4049
+ [0xFF3B, 0xFF40, 'ON'],
4050
+ [0xFF5B, 0xFF65, 'ON'],
4051
+ [0xFFE0, 0xFFE1, 'ET'],
4052
+ [0xFFE2, 0xFFE4, 'ON'],
4053
+ [0xFFE5, 0xFFE6, 'ET'],
4054
+ [0xFFE8, 0xFFEE, 'ON'],
4055
+ [0xFFF0, 0xFFF8, 'BN'],
4056
+ [0xFFF9, 0xFFFD, 'ON'],
4057
+ [0xFFFE, 0xFFFF, 'BN'],
4058
+ [0x10101, 0x10101, 'ON'],
4059
+ [0x10140, 0x1018C, 'ON'],
4060
+ [0x10190, 0x1019C, 'ON'],
4061
+ [0x101A0, 0x101A0, 'ON'],
4062
+ [0x101FD, 0x101FD, 'NSM'],
4063
+ [0x102E0, 0x102E0, 'NSM'],
4064
+ [0x102E1, 0x102FB, 'EN'],
4065
+ [0x10376, 0x1037A, 'NSM'],
4066
+ [0x10800, 0x1091E, 'R'],
4067
+ [0x1091F, 0x1091F, 'ON'],
4068
+ [0x10920, 0x10A00, 'R'],
4069
+ [0x10A01, 0x10A03, 'NSM'],
4070
+ [0x10A04, 0x10A04, 'R'],
4071
+ [0x10A05, 0x10A06, 'NSM'],
4072
+ [0x10A07, 0x10A0B, 'R'],
4073
+ [0x10A0C, 0x10A0F, 'NSM'],
4074
+ [0x10A10, 0x10A37, 'R'],
4075
+ [0x10A38, 0x10A3A, 'NSM'],
4076
+ [0x10A3B, 0x10A3E, 'R'],
4077
+ [0x10A3F, 0x10A3F, 'NSM'],
4078
+ [0x10A40, 0x10AE4, 'R'],
4079
+ [0x10AE5, 0x10AE6, 'NSM'],
4080
+ [0x10AE7, 0x10B38, 'R'],
4081
+ [0x10B39, 0x10B3F, 'ON'],
4082
+ [0x10B40, 0x10CFF, 'R'],
4083
+ [0x10D00, 0x10D23, 'AL'],
4084
+ [0x10D24, 0x10D27, 'NSM'],
4085
+ [0x10D28, 0x10D2F, 'AL'],
4086
+ [0x10D30, 0x10D39, 'AN'],
4087
+ [0x10D3A, 0x10D3F, 'AL'],
4088
+ [0x10D40, 0x10D49, 'AN'],
4089
+ [0x10D4A, 0x10D68, 'R'],
4090
+ [0x10D69, 0x10D6D, 'NSM'],
4091
+ [0x10D6E, 0x10D6E, 'ON'],
4092
+ [0x10D6F, 0x10E5F, 'R'],
4093
+ [0x10E60, 0x10E7E, 'AN'],
4094
+ [0x10E7F, 0x10EAA, 'R'],
4095
+ [0x10EAB, 0x10EAC, 'NSM'],
4096
+ [0x10EAD, 0x10EBF, 'R'],
4097
+ [0x10EC0, 0x10ECF, 'AL'],
4098
+ [0x10ED0, 0x10ED8, 'ON'],
4099
+ [0x10ED9, 0x10EF9, 'AL'],
4100
+ [0x10EFA, 0x10EFF, 'NSM'],
4101
+ [0x10F00, 0x10F2F, 'R'],
4102
+ [0x10F30, 0x10F45, 'AL'],
4103
+ [0x10F46, 0x10F50, 'NSM'],
4104
+ [0x10F51, 0x10F6F, 'AL'],
4105
+ [0x10F70, 0x10F81, 'R'],
4106
+ [0x10F82, 0x10F85, 'NSM'],
4107
+ [0x10F86, 0x10FFF, 'R'],
4108
+ [0x11001, 0x11001, 'NSM'],
4109
+ [0x11038, 0x11046, 'NSM'],
4110
+ [0x11052, 0x11065, 'ON'],
4111
+ [0x11070, 0x11070, 'NSM'],
4112
+ [0x11073, 0x11074, 'NSM'],
4113
+ [0x1107F, 0x11081, 'NSM'],
4114
+ [0x110B3, 0x110B6, 'NSM'],
4115
+ [0x110B9, 0x110BA, 'NSM'],
4116
+ [0x110C2, 0x110C2, 'NSM'],
4117
+ [0x11100, 0x11102, 'NSM'],
4118
+ [0x11127, 0x1112B, 'NSM'],
4119
+ [0x1112D, 0x11134, 'NSM'],
4120
+ [0x11173, 0x11173, 'NSM'],
4121
+ [0x11180, 0x11181, 'NSM'],
4122
+ [0x111B6, 0x111BE, 'NSM'],
4123
+ [0x111C9, 0x111CC, 'NSM'],
4124
+ [0x111CF, 0x111CF, 'NSM'],
4125
+ [0x1122F, 0x11231, 'NSM'],
4126
+ [0x11234, 0x11234, 'NSM'],
4127
+ [0x11236, 0x11237, 'NSM'],
4128
+ [0x1123E, 0x1123E, 'NSM'],
4129
+ [0x11241, 0x11241, 'NSM'],
4130
+ [0x112DF, 0x112DF, 'NSM'],
4131
+ [0x112E3, 0x112EA, 'NSM'],
4132
+ [0x11300, 0x11301, 'NSM'],
4133
+ [0x1133B, 0x1133C, 'NSM'],
4134
+ [0x11340, 0x11340, 'NSM'],
4135
+ [0x11366, 0x1136C, 'NSM'],
4136
+ [0x11370, 0x11374, 'NSM'],
4137
+ [0x113BB, 0x113C0, 'NSM'],
4138
+ [0x113CE, 0x113CE, 'NSM'],
4139
+ [0x113D0, 0x113D0, 'NSM'],
4140
+ [0x113D2, 0x113D2, 'NSM'],
4141
+ [0x113E1, 0x113E2, 'NSM'],
4142
+ [0x11438, 0x1143F, 'NSM'],
4143
+ [0x11442, 0x11444, 'NSM'],
4144
+ [0x11446, 0x11446, 'NSM'],
4145
+ [0x1145E, 0x1145E, 'NSM'],
4146
+ [0x114B3, 0x114B8, 'NSM'],
4147
+ [0x114BA, 0x114BA, 'NSM'],
4148
+ [0x114BF, 0x114C0, 'NSM'],
4149
+ [0x114C2, 0x114C3, 'NSM'],
4150
+ [0x115B2, 0x115B5, 'NSM'],
4151
+ [0x115BC, 0x115BD, 'NSM'],
4152
+ [0x115BF, 0x115C0, 'NSM'],
4153
+ [0x115DC, 0x115DD, 'NSM'],
4154
+ [0x11633, 0x1163A, 'NSM'],
4155
+ [0x1163D, 0x1163D, 'NSM'],
4156
+ [0x1163F, 0x11640, 'NSM'],
4157
+ [0x11660, 0x1166C, 'ON'],
4158
+ [0x116AB, 0x116AB, 'NSM'],
4159
+ [0x116AD, 0x116AD, 'NSM'],
4160
+ [0x116B0, 0x116B5, 'NSM'],
4161
+ [0x116B7, 0x116B7, 'NSM'],
4162
+ [0x1171D, 0x1171D, 'NSM'],
4163
+ [0x1171F, 0x1171F, 'NSM'],
4164
+ [0x11722, 0x11725, 'NSM'],
4165
+ [0x11727, 0x1172B, 'NSM'],
4166
+ [0x1182F, 0x11837, 'NSM'],
4167
+ [0x11839, 0x1183A, 'NSM'],
4168
+ [0x1193B, 0x1193C, 'NSM'],
4169
+ [0x1193E, 0x1193E, 'NSM'],
4170
+ [0x11943, 0x11943, 'NSM'],
4171
+ [0x119D4, 0x119D7, 'NSM'],
4172
+ [0x119DA, 0x119DB, 'NSM'],
4173
+ [0x119E0, 0x119E0, 'NSM'],
4174
+ [0x11A01, 0x11A06, 'NSM'],
4175
+ [0x11A09, 0x11A0A, 'NSM'],
4176
+ [0x11A33, 0x11A38, 'NSM'],
4177
+ [0x11A3B, 0x11A3E, 'NSM'],
4178
+ [0x11A47, 0x11A47, 'NSM'],
4179
+ [0x11A51, 0x11A56, 'NSM'],
4180
+ [0x11A59, 0x11A5B, 'NSM'],
4181
+ [0x11A8A, 0x11A96, 'NSM'],
4182
+ [0x11A98, 0x11A99, 'NSM'],
4183
+ [0x11B60, 0x11B60, 'NSM'],
4184
+ [0x11B62, 0x11B64, 'NSM'],
4185
+ [0x11B66, 0x11B66, 'NSM'],
4186
+ [0x11C30, 0x11C36, 'NSM'],
4187
+ [0x11C38, 0x11C3D, 'NSM'],
4188
+ [0x11C92, 0x11CA7, 'NSM'],
4189
+ [0x11CAA, 0x11CB0, 'NSM'],
4190
+ [0x11CB2, 0x11CB3, 'NSM'],
4191
+ [0x11CB5, 0x11CB6, 'NSM'],
4192
+ [0x11D31, 0x11D36, 'NSM'],
4193
+ [0x11D3A, 0x11D3A, 'NSM'],
4194
+ [0x11D3C, 0x11D3D, 'NSM'],
4195
+ [0x11D3F, 0x11D45, 'NSM'],
4196
+ [0x11D47, 0x11D47, 'NSM'],
4197
+ [0x11D90, 0x11D91, 'NSM'],
4198
+ [0x11D95, 0x11D95, 'NSM'],
4199
+ [0x11D97, 0x11D97, 'NSM'],
4200
+ [0x11EF3, 0x11EF4, 'NSM'],
4201
+ [0x11F00, 0x11F01, 'NSM'],
4202
+ [0x11F36, 0x11F3A, 'NSM'],
4203
+ [0x11F40, 0x11F40, 'NSM'],
4204
+ [0x11F42, 0x11F42, 'NSM'],
4205
+ [0x11F5A, 0x11F5A, 'NSM'],
4206
+ [0x11FD5, 0x11FDC, 'ON'],
4207
+ [0x11FDD, 0x11FE0, 'ET'],
4208
+ [0x11FE1, 0x11FF1, 'ON'],
4209
+ [0x13440, 0x13440, 'NSM'],
4210
+ [0x13447, 0x13455, 'NSM'],
4211
+ [0x1611E, 0x16129, 'NSM'],
4212
+ [0x1612D, 0x1612F, 'NSM'],
4213
+ [0x16AF0, 0x16AF4, 'NSM'],
4214
+ [0x16B30, 0x16B36, 'NSM'],
4215
+ [0x16F4F, 0x16F4F, 'NSM'],
4216
+ [0x16F8F, 0x16F92, 'NSM'],
4217
+ [0x16FE2, 0x16FE2, 'ON'],
4218
+ [0x16FE4, 0x16FE4, 'NSM'],
4219
+ [0x1BC9D, 0x1BC9E, 'NSM'],
4220
+ [0x1BCA0, 0x1BCA3, 'BN'],
4221
+ [0x1CC00, 0x1CCD5, 'ON'],
4222
+ [0x1CCF0, 0x1CCF9, 'EN'],
4223
+ [0x1CCFA, 0x1CCFC, 'ON'],
4224
+ [0x1CD00, 0x1CEB3, 'ON'],
4225
+ [0x1CEBA, 0x1CED0, 'ON'],
4226
+ [0x1CEE0, 0x1CEF0, 'ON'],
4227
+ [0x1CF00, 0x1CF2D, 'NSM'],
4228
+ [0x1CF30, 0x1CF46, 'NSM'],
4229
+ [0x1D167, 0x1D169, 'NSM'],
4230
+ [0x1D173, 0x1D17A, 'BN'],
4231
+ [0x1D17B, 0x1D182, 'NSM'],
4232
+ [0x1D185, 0x1D18B, 'NSM'],
4233
+ [0x1D1AA, 0x1D1AD, 'NSM'],
4234
+ [0x1D1E9, 0x1D1EA, 'ON'],
4235
+ [0x1D200, 0x1D241, 'ON'],
4236
+ [0x1D242, 0x1D244, 'NSM'],
4237
+ [0x1D245, 0x1D245, 'ON'],
4238
+ [0x1D300, 0x1D356, 'ON'],
4239
+ [0x1D6C1, 0x1D6C1, 'ON'],
4240
+ [0x1D6DB, 0x1D6DB, 'ON'],
4241
+ [0x1D6FB, 0x1D6FB, 'ON'],
4242
+ [0x1D715, 0x1D715, 'ON'],
4243
+ [0x1D735, 0x1D735, 'ON'],
4244
+ [0x1D74F, 0x1D74F, 'ON'],
4245
+ [0x1D76F, 0x1D76F, 'ON'],
4246
+ [0x1D789, 0x1D789, 'ON'],
4247
+ [0x1D7A9, 0x1D7A9, 'ON'],
4248
+ [0x1D7C3, 0x1D7C3, 'ON'],
4249
+ [0x1D7CE, 0x1D7FF, 'EN'],
4250
+ [0x1DA00, 0x1DA36, 'NSM'],
4251
+ [0x1DA3B, 0x1DA6C, 'NSM'],
4252
+ [0x1DA75, 0x1DA75, 'NSM'],
4253
+ [0x1DA84, 0x1DA84, 'NSM'],
4254
+ [0x1DA9B, 0x1DA9F, 'NSM'],
4255
+ [0x1DAA1, 0x1DAAF, 'NSM'],
4256
+ [0x1E000, 0x1E006, 'NSM'],
4257
+ [0x1E008, 0x1E018, 'NSM'],
4258
+ [0x1E01B, 0x1E021, 'NSM'],
4259
+ [0x1E023, 0x1E024, 'NSM'],
4260
+ [0x1E026, 0x1E02A, 'NSM'],
4261
+ [0x1E08F, 0x1E08F, 'NSM'],
4262
+ [0x1E130, 0x1E136, 'NSM'],
4263
+ [0x1E2AE, 0x1E2AE, 'NSM'],
4264
+ [0x1E2EC, 0x1E2EF, 'NSM'],
4265
+ [0x1E2FF, 0x1E2FF, 'ET'],
4266
+ [0x1E4EC, 0x1E4EF, 'NSM'],
4267
+ [0x1E5EE, 0x1E5EF, 'NSM'],
4268
+ [0x1E6E3, 0x1E6E3, 'NSM'],
4269
+ [0x1E6E6, 0x1E6E6, 'NSM'],
4270
+ [0x1E6EE, 0x1E6EF, 'NSM'],
4271
+ [0x1E6F5, 0x1E6F5, 'NSM'],
4272
+ [0x1E800, 0x1E8CF, 'R'],
4273
+ [0x1E8D0, 0x1E8D6, 'NSM'],
4274
+ [0x1E8D7, 0x1E943, 'R'],
4275
+ [0x1E944, 0x1E94A, 'NSM'],
4276
+ [0x1E94B, 0x1EC6F, 'R'],
4277
+ [0x1EC70, 0x1ECBF, 'AL'],
4278
+ [0x1ECC0, 0x1ECFF, 'R'],
4279
+ [0x1ED00, 0x1ED4F, 'AL'],
4280
+ [0x1ED50, 0x1EDFF, 'R'],
4281
+ [0x1EE00, 0x1EEEF, 'AL'],
4282
+ [0x1EEF0, 0x1EEF1, 'ON'],
4283
+ [0x1EEF2, 0x1EEFF, 'AL'],
4284
+ [0x1EF00, 0x1EFFF, 'R'],
4285
+ [0x1F000, 0x1F02B, 'ON'],
4286
+ [0x1F030, 0x1F093, 'ON'],
4287
+ [0x1F0A0, 0x1F0AE, 'ON'],
4288
+ [0x1F0B1, 0x1F0BF, 'ON'],
4289
+ [0x1F0C1, 0x1F0CF, 'ON'],
4290
+ [0x1F0D1, 0x1F0F5, 'ON'],
4291
+ [0x1F100, 0x1F10A, 'EN'],
4292
+ [0x1F10B, 0x1F10F, 'ON'],
4293
+ [0x1F12F, 0x1F12F, 'ON'],
4294
+ [0x1F16A, 0x1F16F, 'ON'],
4295
+ [0x1F1AD, 0x1F1AD, 'ON'],
4296
+ [0x1F260, 0x1F265, 'ON'],
4297
+ [0x1F300, 0x1F6D8, 'ON'],
4298
+ [0x1F6DC, 0x1F6EC, 'ON'],
4299
+ [0x1F6F0, 0x1F6FC, 'ON'],
4300
+ [0x1F700, 0x1F7D9, 'ON'],
4301
+ [0x1F7E0, 0x1F7EB, 'ON'],
4302
+ [0x1F7F0, 0x1F7F0, 'ON'],
4303
+ [0x1F800, 0x1F80B, 'ON'],
4304
+ [0x1F810, 0x1F847, 'ON'],
4305
+ [0x1F850, 0x1F859, 'ON'],
4306
+ [0x1F860, 0x1F887, 'ON'],
4307
+ [0x1F890, 0x1F8AD, 'ON'],
4308
+ [0x1F8B0, 0x1F8BB, 'ON'],
4309
+ [0x1F8C0, 0x1F8C1, 'ON'],
4310
+ [0x1F8D0, 0x1F8D8, 'ON'],
4311
+ [0x1F900, 0x1FA57, 'ON'],
4312
+ [0x1FA60, 0x1FA6D, 'ON'],
4313
+ [0x1FA70, 0x1FA7C, 'ON'],
4314
+ [0x1FA80, 0x1FA8A, 'ON'],
4315
+ [0x1FA8E, 0x1FAC6, 'ON'],
4316
+ [0x1FAC8, 0x1FAC8, 'ON'],
4317
+ [0x1FACD, 0x1FADC, 'ON'],
4318
+ [0x1FADF, 0x1FAEA, 'ON'],
4319
+ [0x1FAEF, 0x1FAF8, 'ON'],
4320
+ [0x1FB00, 0x1FB92, 'ON'],
4321
+ [0x1FB94, 0x1FBEF, 'ON'],
4322
+ [0x1FBF0, 0x1FBF9, 'EN'],
4323
+ [0x1FBFA, 0x1FBFA, 'ON'],
4324
+ [0x1FFFE, 0x1FFFF, 'BN'],
4325
+ [0x2FFFE, 0x2FFFF, 'BN'],
4326
+ [0x3FFFE, 0x3FFFF, 'BN'],
4327
+ [0x4FFFE, 0x4FFFF, 'BN'],
4328
+ [0x5FFFE, 0x5FFFF, 'BN'],
4329
+ [0x6FFFE, 0x6FFFF, 'BN'],
4330
+ [0x7FFFE, 0x7FFFF, 'BN'],
4331
+ [0x8FFFE, 0x8FFFF, 'BN'],
4332
+ [0x9FFFE, 0x9FFFF, 'BN'],
4333
+ [0xAFFFE, 0xAFFFF, 'BN'],
4334
+ [0xBFFFE, 0xBFFFF, 'BN'],
4335
+ [0xCFFFE, 0xCFFFF, 'BN'],
4336
+ [0xDFFFE, 0xE00FF, 'BN'],
4337
+ [0xE0100, 0xE01EF, 'NSM'],
4338
+ [0xE01F0, 0xE0FFF, 'BN'],
4339
+ [0xEFFFE, 0xEFFFF, 'BN'],
4340
+ [0xFFFFE, 0xFFFFF, 'BN'],
4341
+ [0x10FFFE, 0x10FFFF, 'BN'],
4342
+ ];
4343
+
4344
+ // Simplified bidi metadata helper for the rich prepareWithSegments() path,
4345
+ // forked from pdf.js via Sebastian's text-layout. It classifies characters
4346
+ // into bidi types, computes embedding levels, and maps them onto prepared
4347
+ // segments for custom rendering. The line-breaking engine does not consume
4348
+ // these levels.
4349
+ function classifyCodePoint(codePoint) {
4350
+ if (codePoint <= 0x00FF)
4351
+ return latin1BidiTypes[codePoint];
4352
+ let lo = 0;
4353
+ let hi = nonLatin1BidiRanges.length - 1;
4354
+ while (lo <= hi) {
4355
+ const mid = (lo + hi) >> 1;
4356
+ const range = nonLatin1BidiRanges[mid];
4357
+ if (codePoint < range[0]) {
4358
+ hi = mid - 1;
4359
+ continue;
4360
+ }
4361
+ if (codePoint > range[1]) {
4362
+ lo = mid + 1;
4363
+ continue;
4364
+ }
4365
+ return range[2];
4366
+ }
4367
+ return 'L';
4368
+ }
4369
+ function computeBidiLevels(str) {
4370
+ const len = str.length;
4371
+ if (len === 0)
4372
+ return null;
4373
+ // eslint-disable-next-line unicorn/no-new-array
4374
+ const types = new Array(len);
4375
+ let sawBidi = false;
4376
+ // Keep the resolved bidi classes aligned to UTF-16 code-unit offsets,
4377
+ // because the rich prepared segments index back into the normalized string
4378
+ // with JavaScript string offsets.
4379
+ for (let i = 0; i < len;) {
4380
+ const first = str.charCodeAt(i);
4381
+ let codePoint = first;
4382
+ let codeUnitLength = 1;
4383
+ if (first >= 0xD800 && first <= 0xDBFF && i + 1 < len) {
4384
+ const second = str.charCodeAt(i + 1);
4385
+ if (second >= 0xDC00 && second <= 0xDFFF) {
4386
+ codePoint = ((first - 0xD800) << 10) + (second - 0xDC00) + 0x10000;
4387
+ codeUnitLength = 2;
4388
+ }
4389
+ }
4390
+ const t = classifyCodePoint(codePoint);
4391
+ if (t === 'R' || t === 'AL' || t === 'AN')
4392
+ sawBidi = true;
4393
+ for (let j = 0; j < codeUnitLength; j++) {
4394
+ types[i + j] = t;
4395
+ }
4396
+ i += codeUnitLength;
4397
+ }
4398
+ if (!sawBidi)
4399
+ return null;
4400
+ // Use the first strong character to pick the paragraph base direction.
4401
+ // Rich-path bidi metadata is only an approximation, but this keeps mixed
4402
+ // LTR/RTL text aligned with the common UBA paragraph rule.
4403
+ let startLevel = 0;
4404
+ for (let i = 0; i < len; i++) {
4405
+ const t = types[i];
4406
+ if (t === 'L') {
4407
+ startLevel = 0;
4408
+ break;
4409
+ }
4410
+ if (t === 'R' || t === 'AL') {
4411
+ startLevel = 1;
4412
+ break;
4413
+ }
4414
+ }
4415
+ const levels = new Int8Array(len);
4416
+ for (let i = 0; i < len; i++)
4417
+ levels[i] = startLevel;
4418
+ const e = (startLevel & 1) ? 'R' : 'L';
4419
+ const sor = e;
4420
+ // W1-W7
4421
+ let lastType = sor;
4422
+ for (let i = 0; i < len; i++) {
4423
+ if (types[i] === 'NSM')
4424
+ types[i] = lastType;
4425
+ else
4426
+ lastType = types[i];
4427
+ }
4428
+ lastType = sor;
4429
+ for (let i = 0; i < len; i++) {
4430
+ const t = types[i];
4431
+ if (t === 'EN')
4432
+ types[i] = lastType === 'AL' ? 'AN' : 'EN';
4433
+ else if (t === 'R' || t === 'L' || t === 'AL')
4434
+ lastType = t;
4435
+ }
4436
+ for (let i = 0; i < len; i++) {
4437
+ if (types[i] === 'AL')
4438
+ types[i] = 'R';
4439
+ }
4440
+ for (let i = 1; i < len - 1; i++) {
4441
+ if (types[i] === 'ES' && types[i - 1] === 'EN' && types[i + 1] === 'EN') {
4442
+ types[i] = 'EN';
4443
+ }
4444
+ if (types[i] === 'CS' &&
4445
+ (types[i - 1] === 'EN' || types[i - 1] === 'AN') &&
4446
+ types[i + 1] === types[i - 1]) {
4447
+ types[i] = types[i - 1];
4448
+ }
4449
+ }
4450
+ for (let i = 0; i < len; i++) {
4451
+ if (types[i] !== 'EN')
4452
+ continue;
4453
+ let j;
4454
+ for (j = i - 1; j >= 0 && types[j] === 'ET'; j--)
4455
+ types[j] = 'EN';
4456
+ for (j = i + 1; j < len && types[j] === 'ET'; j++)
4457
+ types[j] = 'EN';
4458
+ }
4459
+ for (let i = 0; i < len; i++) {
4460
+ const t = types[i];
4461
+ if (t === 'WS' || t === 'ES' || t === 'ET' || t === 'CS')
4462
+ types[i] = 'ON';
4463
+ }
4464
+ lastType = sor;
4465
+ for (let i = 0; i < len; i++) {
4466
+ const t = types[i];
4467
+ if (t === 'EN')
4468
+ types[i] = lastType === 'L' ? 'L' : 'EN';
4469
+ else if (t === 'R' || t === 'L')
4470
+ lastType = t;
4471
+ }
4472
+ // N1-N2
4473
+ for (let i = 0; i < len; i++) {
4474
+ if (types[i] !== 'ON')
4475
+ continue;
4476
+ let end = i + 1;
4477
+ while (end < len && types[end] === 'ON')
4478
+ end++;
4479
+ const before = i > 0 ? types[i - 1] : sor;
4480
+ const after = end < len ? types[end] : sor;
4481
+ const bDir = before !== 'L' ? 'R' : 'L';
4482
+ const aDir = after !== 'L' ? 'R' : 'L';
4483
+ if (bDir === aDir) {
4484
+ for (let j = i; j < end; j++)
4485
+ types[j] = bDir;
4486
+ }
4487
+ i = end - 1;
4488
+ }
4489
+ for (let i = 0; i < len; i++) {
4490
+ if (types[i] === 'ON')
4491
+ types[i] = e;
4492
+ }
4493
+ // I1-I2
4494
+ for (let i = 0; i < len; i++) {
4495
+ const t = types[i];
4496
+ if ((levels[i] & 1) === 0) {
4497
+ if (t === 'R')
4498
+ levels[i]++;
4499
+ else if (t === 'AN' || t === 'EN')
4500
+ levels[i] += 2;
4501
+ }
4502
+ else if (t === 'L' || t === 'AN' || t === 'EN') {
4503
+ levels[i]++;
4504
+ }
4505
+ }
4506
+ return levels;
4507
+ }
4508
+ function computeSegmentLevels(normalized, segStarts) {
4509
+ const bidiLevels = computeBidiLevels(normalized);
4510
+ if (bidiLevels === null)
4511
+ return null;
4512
+ const segLevels = new Int8Array(segStarts.length);
4513
+ for (let i = 0; i < segStarts.length; i++) {
4514
+ segLevels[i] = bidiLevels[segStarts[i]];
4515
+ }
4516
+ return segLevels;
4517
+ }
4518
+
4519
+ const collapsibleWhitespaceRunRe = /[ \t\n\r\f]+/g;
4520
+ const needsWhitespaceNormalizationRe = /[\t\n\r\f]| {2,}|^ | $/;
4521
+ function getWhiteSpaceProfile(whiteSpace) {
4522
+ const mode = whiteSpace ?? 'normal';
4523
+ return mode === 'pre-wrap'
4524
+ ? { mode, preserveOrdinarySpaces: true, preserveHardBreaks: true }
4525
+ : { mode, preserveOrdinarySpaces: false, preserveHardBreaks: false };
4526
+ }
4527
+ function normalizeWhitespaceNormal(text) {
4528
+ if (!needsWhitespaceNormalizationRe.test(text))
4529
+ return text;
4530
+ let normalized = text.replace(collapsibleWhitespaceRunRe, ' ');
4531
+ if (normalized.charCodeAt(0) === 0x20) {
4532
+ normalized = normalized.slice(1);
4533
+ }
4534
+ if (normalized.length > 0 && normalized.charCodeAt(normalized.length - 1) === 0x20) {
4535
+ normalized = normalized.slice(0, -1);
4536
+ }
4537
+ return normalized;
4538
+ }
4539
+ function normalizeWhitespacePreWrap(text) {
4540
+ if (!/[\r\f]/.test(text))
4541
+ return text;
4542
+ return text
4543
+ .replace(/\r\n/g, '\n')
4544
+ .replace(/[\r\f]/g, '\n');
4545
+ }
4546
+ let sharedWordSegmenter = null;
4547
+ let segmenterLocale;
4548
+ function getSharedWordSegmenter() {
4549
+ if (sharedWordSegmenter === null) {
4550
+ sharedWordSegmenter = new Intl.Segmenter(segmenterLocale, { granularity: 'word' });
4551
+ }
4552
+ return sharedWordSegmenter;
4553
+ }
4554
+ const arabicScriptRe = /\p{Script=Arabic}/u;
4555
+ const combiningMarkRe = /\p{M}/u;
4556
+ const decimalDigitRe = /\p{Nd}/u;
4557
+ function containsArabicScript(text) {
4558
+ return arabicScriptRe.test(text);
4559
+ }
4560
+ function isCJKCodePoint(codePoint) {
4561
+ return ((codePoint >= 0x4E00 && codePoint <= 0x9FFF) ||
4562
+ (codePoint >= 0x3400 && codePoint <= 0x4DBF) ||
4563
+ (codePoint >= 0x20000 && codePoint <= 0x2A6DF) ||
4564
+ (codePoint >= 0x2A700 && codePoint <= 0x2B73F) ||
4565
+ (codePoint >= 0x2B740 && codePoint <= 0x2B81F) ||
4566
+ (codePoint >= 0x2B820 && codePoint <= 0x2CEAF) ||
4567
+ (codePoint >= 0x2CEB0 && codePoint <= 0x2EBEF) ||
4568
+ (codePoint >= 0x2EBF0 && codePoint <= 0x2EE5D) ||
4569
+ (codePoint >= 0x2F800 && codePoint <= 0x2FA1F) ||
4570
+ (codePoint >= 0x30000 && codePoint <= 0x3134F) ||
4571
+ (codePoint >= 0x31350 && codePoint <= 0x323AF) ||
4572
+ (codePoint >= 0x323B0 && codePoint <= 0x33479) ||
4573
+ (codePoint >= 0xF900 && codePoint <= 0xFAFF) ||
4574
+ (codePoint >= 0x3000 && codePoint <= 0x303F) ||
4575
+ (codePoint >= 0x3040 && codePoint <= 0x309F) ||
4576
+ (codePoint >= 0x30A0 && codePoint <= 0x30FF) ||
4577
+ (codePoint >= 0x3130 && codePoint <= 0x318F) ||
4578
+ (codePoint >= 0xAC00 && codePoint <= 0xD7AF) ||
4579
+ (codePoint >= 0xFF00 && codePoint <= 0xFFEF));
4580
+ }
4581
+ function isCJK(s) {
4582
+ for (let i = 0; i < s.length; i++) {
4583
+ const first = s.charCodeAt(i);
4584
+ if (first < 0x3000)
4585
+ continue;
4586
+ if (first >= 0xD800 && first <= 0xDBFF && i + 1 < s.length) {
4587
+ const second = s.charCodeAt(i + 1);
4588
+ if (second >= 0xDC00 && second <= 0xDFFF) {
4589
+ const codePoint = ((first - 0xD800) << 10) + (second - 0xDC00) + 0x10000;
4590
+ if (isCJKCodePoint(codePoint))
4591
+ return true;
4592
+ i++;
4593
+ continue;
4594
+ }
4595
+ }
4596
+ if (isCJKCodePoint(first))
4597
+ return true;
4598
+ }
4599
+ return false;
4600
+ }
4601
+ function endsWithLineStartProhibitedText(text) {
4602
+ const last = getLastCodePoint(text);
4603
+ return last !== null && (kinsokuStart.has(last) || leftStickyPunctuation.has(last));
4604
+ }
4605
+ const keepAllGlueChars = new Set([
4606
+ '\u00A0',
4607
+ '\u202F',
4608
+ '\u2060',
4609
+ '\uFEFF',
4610
+ ]);
4611
+ function containsCJKText(text) {
4612
+ return isCJK(text);
4613
+ }
4614
+ function endsWithKeepAllGlueText(text) {
4615
+ const last = getLastCodePoint(text);
4616
+ return last !== null && keepAllGlueChars.has(last);
4617
+ }
4618
+ function canContinueKeepAllTextRun(previousText) {
4619
+ return (!endsWithLineStartProhibitedText(previousText) &&
4620
+ !endsWithKeepAllGlueText(previousText));
4621
+ }
4622
+ const kinsokuStart = new Set([
4623
+ '\uFF0C',
4624
+ '\uFF0E',
4625
+ '\uFF01',
4626
+ '\uFF1A',
4627
+ '\uFF1B',
4628
+ '\uFF1F',
4629
+ '\u3001',
4630
+ '\u3002',
4631
+ '\u30FB',
4632
+ '\uFF09',
4633
+ '\u3015',
4634
+ '\u3009',
4635
+ '\u300B',
4636
+ '\u300D',
4637
+ '\u300F',
4638
+ '\u3011',
4639
+ '\u3017',
4640
+ '\u3019',
4641
+ '\u301B',
4642
+ '\u30FC',
4643
+ '\u3005',
4644
+ '\u303B',
4645
+ '\u309D',
4646
+ '\u309E',
4647
+ '\u30FD',
4648
+ '\u30FE',
4649
+ ]);
4650
+ const kinsokuEnd = new Set([
4651
+ '"',
4652
+ '(', '[', '{',
4653
+ '“', '‘', '«', '‹',
4654
+ '\uFF08',
4655
+ '\u3014',
4656
+ '\u3008',
4657
+ '\u300A',
4658
+ '\u300C',
4659
+ '\u300E',
4660
+ '\u3010',
4661
+ '\u3016',
4662
+ '\u3018',
4663
+ '\u301A',
4664
+ ]);
4665
+ const forwardStickyGlue = new Set([
4666
+ "'", '’',
4667
+ ]);
4668
+ const leftStickyPunctuation = new Set([
4669
+ '.', ',', '!', '?', ':', ';',
4670
+ '\u060C',
4671
+ '\u061B',
4672
+ '\u061F',
4673
+ '\u0964',
4674
+ '\u0965',
4675
+ '\u104A',
4676
+ '\u104B',
4677
+ '\u104C',
4678
+ '\u104D',
4679
+ '\u104F',
4680
+ ')', ']', '}',
4681
+ '%',
4682
+ '"',
4683
+ '”', '’', '»', '›',
4684
+ '…',
4685
+ ]);
4686
+ const arabicNoSpaceTrailingPunctuation = new Set([
4687
+ ':',
4688
+ '.',
4689
+ '\u060C',
4690
+ '\u061B',
4691
+ ]);
4692
+ const myanmarMedialGlue = new Set([
4693
+ '\u104F',
4694
+ ]);
4695
+ const closingQuoteChars = new Set([
4696
+ '”', '’', '»', '›',
4697
+ '\u300D',
4698
+ '\u300F',
4699
+ '\u3011',
4700
+ '\u300B',
4701
+ '\u3009',
4702
+ '\u3015',
4703
+ '\uFF09',
4704
+ ]);
4705
+ function isLeftStickyPunctuationSegment(segment) {
4706
+ if (isEscapedQuoteClusterSegment(segment))
4707
+ return true;
4708
+ let sawPunctuation = false;
4709
+ for (const ch of segment) {
4710
+ if (leftStickyPunctuation.has(ch)) {
4711
+ sawPunctuation = true;
4712
+ continue;
4713
+ }
4714
+ if (sawPunctuation && combiningMarkRe.test(ch))
4715
+ continue;
4716
+ return false;
4717
+ }
4718
+ return sawPunctuation;
4719
+ }
4720
+ function isCJKLineStartProhibitedSegment(segment) {
4721
+ for (const ch of segment) {
4722
+ if (!kinsokuStart.has(ch) && !leftStickyPunctuation.has(ch))
4723
+ return false;
4724
+ }
4725
+ return segment.length > 0;
4726
+ }
4727
+ function isForwardStickyClusterSegment(segment) {
4728
+ if (isEscapedQuoteClusterSegment(segment))
4729
+ return true;
4730
+ for (const ch of segment) {
4731
+ if (!kinsokuEnd.has(ch) && !forwardStickyGlue.has(ch) && !combiningMarkRe.test(ch))
4732
+ return false;
4733
+ }
4734
+ return segment.length > 0;
4735
+ }
4736
+ function isEscapedQuoteClusterSegment(segment) {
4737
+ let sawQuote = false;
4738
+ for (const ch of segment) {
4739
+ if (ch === '\\' || combiningMarkRe.test(ch))
4740
+ continue;
4741
+ if (kinsokuEnd.has(ch) || leftStickyPunctuation.has(ch) || forwardStickyGlue.has(ch)) {
4742
+ sawQuote = true;
4743
+ continue;
4744
+ }
4745
+ return false;
4746
+ }
4747
+ return sawQuote;
4748
+ }
4749
+ function previousCodePointStart(text, end) {
4750
+ const last = end - 1;
4751
+ if (last <= 0)
4752
+ return Math.max(last, 0);
4753
+ const lastCodeUnit = text.charCodeAt(last);
4754
+ if (lastCodeUnit < 0xDC00 || lastCodeUnit > 0xDFFF)
4755
+ return last;
4756
+ const maybeHigh = last - 1;
4757
+ if (maybeHigh < 0)
4758
+ return last;
4759
+ const highCodeUnit = text.charCodeAt(maybeHigh);
4760
+ return highCodeUnit >= 0xD800 && highCodeUnit <= 0xDBFF ? maybeHigh : last;
4761
+ }
4762
+ function getLastCodePoint(text) {
4763
+ if (text.length === 0)
4764
+ return null;
4765
+ const start = previousCodePointStart(text, text.length);
4766
+ return text.slice(start);
4767
+ }
4768
+ function splitTrailingForwardStickyCluster(text) {
4769
+ const chars = Array.from(text);
4770
+ let splitIndex = chars.length;
4771
+ while (splitIndex > 0) {
4772
+ const ch = chars[splitIndex - 1];
4773
+ if (combiningMarkRe.test(ch)) {
4774
+ splitIndex--;
4775
+ continue;
4776
+ }
4777
+ if (kinsokuEnd.has(ch) || forwardStickyGlue.has(ch)) {
4778
+ splitIndex--;
4779
+ continue;
4780
+ }
4781
+ break;
4782
+ }
4783
+ if (splitIndex <= 0 || splitIndex === chars.length)
4784
+ return null;
4785
+ return {
4786
+ head: chars.slice(0, splitIndex).join(''),
4787
+ tail: chars.slice(splitIndex).join(''),
4788
+ };
4789
+ }
4790
+ function getRepeatableSingleCharRunChar(text, isWordLike, kind) {
4791
+ return kind === 'text' && !isWordLike && text.length === 1 && text !== '-' && text !== '—'
4792
+ ? text
4793
+ : null;
4794
+ }
4795
+ function materializeDeferredSingleCharRun(texts, chars, lengths, index) {
4796
+ const ch = chars[index];
4797
+ const text = texts[index];
4798
+ if (ch == null)
4799
+ return text;
4800
+ const length = lengths[index];
4801
+ if (text.length === length)
4802
+ return text;
4803
+ const materialized = ch.repeat(length);
4804
+ texts[index] = materialized;
4805
+ return materialized;
4806
+ }
4807
+ function hasArabicNoSpacePunctuation(containsArabic, lastCodePoint) {
4808
+ return containsArabic && lastCodePoint !== null && arabicNoSpaceTrailingPunctuation.has(lastCodePoint);
4809
+ }
4810
+ function endsWithMyanmarMedialGlue(segment) {
4811
+ const lastCodePoint = getLastCodePoint(segment);
4812
+ return lastCodePoint !== null && myanmarMedialGlue.has(lastCodePoint);
4813
+ }
4814
+ function splitLeadingSpaceAndMarks(segment) {
4815
+ if (segment.length < 2 || segment[0] !== ' ')
4816
+ return null;
4817
+ const marks = segment.slice(1);
4818
+ if (/^\p{M}+$/u.test(marks)) {
4819
+ return { space: ' ', marks };
4820
+ }
4821
+ return null;
4822
+ }
4823
+ function endsWithClosingQuote(text) {
4824
+ let end = text.length;
4825
+ while (end > 0) {
4826
+ const start = previousCodePointStart(text, end);
4827
+ const ch = text.slice(start, end);
4828
+ if (closingQuoteChars.has(ch))
4829
+ return true;
4830
+ if (!leftStickyPunctuation.has(ch))
4831
+ return false;
4832
+ end = start;
4833
+ }
4834
+ return false;
4835
+ }
4836
+ function classifySegmentBreakChar(ch, whiteSpaceProfile) {
4837
+ if (whiteSpaceProfile.preserveOrdinarySpaces || whiteSpaceProfile.preserveHardBreaks) {
4838
+ if (ch === ' ')
4839
+ return 'preserved-space';
4840
+ if (ch === '\t')
4841
+ return 'tab';
4842
+ if (whiteSpaceProfile.preserveHardBreaks && ch === '\n')
4843
+ return 'hard-break';
4844
+ }
4845
+ if (ch === ' ')
4846
+ return 'space';
4847
+ if (ch === '\u00A0' || ch === '\u202F' || ch === '\u2060' || ch === '\uFEFF') {
4848
+ return 'glue';
4849
+ }
4850
+ if (ch === '\u200B')
4851
+ return 'zero-width-break';
4852
+ if (ch === '\u00AD')
4853
+ return 'soft-hyphen';
4854
+ return 'text';
4855
+ }
4856
+ // All characters that classifySegmentBreakChar maps to a non-'text' kind.
4857
+ const breakCharRe = /[\x20\t\n\xA0\xAD\u200B\u202F\u2060\uFEFF]/;
4858
+ function joinTextParts(parts) {
4859
+ return parts.length === 1 ? parts[0] : parts.join('');
4860
+ }
4861
+ function joinReversedPrefixParts(prefixParts, tail) {
4862
+ const parts = [];
4863
+ for (let i = prefixParts.length - 1; i >= 0; i--) {
4864
+ parts.push(prefixParts[i]);
4865
+ }
4866
+ parts.push(tail);
4867
+ return joinTextParts(parts);
4868
+ }
4869
+ function splitSegmentByBreakKind(segment, isWordLike, start, whiteSpaceProfile) {
4870
+ if (!breakCharRe.test(segment)) {
4871
+ return [{ text: segment, isWordLike, kind: 'text', start }];
4872
+ }
4873
+ const pieces = [];
4874
+ let currentKind = null;
4875
+ let currentTextParts = [];
4876
+ let currentStart = start;
4877
+ let currentWordLike = false;
4878
+ let offset = 0;
4879
+ for (const ch of segment) {
4880
+ const kind = classifySegmentBreakChar(ch, whiteSpaceProfile);
4881
+ const wordLike = kind === 'text' && isWordLike;
4882
+ if (currentKind !== null && kind === currentKind && wordLike === currentWordLike) {
4883
+ currentTextParts.push(ch);
4884
+ offset += ch.length;
4885
+ continue;
4886
+ }
4887
+ if (currentKind !== null) {
4888
+ pieces.push({
4889
+ text: joinTextParts(currentTextParts),
4890
+ isWordLike: currentWordLike,
4891
+ kind: currentKind,
4892
+ start: currentStart,
4893
+ });
4894
+ }
4895
+ currentKind = kind;
4896
+ currentTextParts = [ch];
4897
+ currentStart = start + offset;
4898
+ currentWordLike = wordLike;
4899
+ offset += ch.length;
4900
+ }
4901
+ if (currentKind !== null) {
4902
+ pieces.push({
4903
+ text: joinTextParts(currentTextParts),
4904
+ isWordLike: currentWordLike,
4905
+ kind: currentKind,
4906
+ start: currentStart,
4907
+ });
4908
+ }
4909
+ return pieces;
4910
+ }
4911
+ function isTextRunBoundary(kind) {
4912
+ return (kind === 'space' ||
4913
+ kind === 'preserved-space' ||
4914
+ kind === 'zero-width-break' ||
4915
+ kind === 'hard-break');
4916
+ }
4917
+ const urlSchemeSegmentRe = /^[A-Za-z][A-Za-z0-9+.-]*:$/;
4918
+ function isUrlLikeRunStart(segmentation, index) {
4919
+ const text = segmentation.texts[index];
4920
+ if (text.startsWith('www.'))
4921
+ return true;
4922
+ return (urlSchemeSegmentRe.test(text) &&
4923
+ index + 1 < segmentation.len &&
4924
+ segmentation.kinds[index + 1] === 'text' &&
4925
+ segmentation.texts[index + 1] === '//');
4926
+ }
4927
+ function isUrlQueryBoundarySegment(text) {
4928
+ return text.includes('?') && (text.includes('://') || text.startsWith('www.'));
4929
+ }
4930
+ function mergeUrlLikeRuns(segmentation) {
4931
+ const texts = segmentation.texts.slice();
4932
+ const isWordLike = segmentation.isWordLike.slice();
4933
+ const kinds = segmentation.kinds.slice();
4934
+ const starts = segmentation.starts.slice();
4935
+ for (let i = 0; i < segmentation.len; i++) {
4936
+ if (kinds[i] !== 'text' || !isUrlLikeRunStart(segmentation, i))
4937
+ continue;
4938
+ const mergedParts = [texts[i]];
4939
+ let j = i + 1;
4940
+ while (j < segmentation.len && !isTextRunBoundary(kinds[j])) {
4941
+ mergedParts.push(texts[j]);
4942
+ isWordLike[i] = true;
4943
+ const endsQueryPrefix = texts[j].includes('?');
4944
+ kinds[j] = 'text';
4945
+ texts[j] = '';
4946
+ j++;
4947
+ if (endsQueryPrefix)
4948
+ break;
4949
+ }
4950
+ texts[i] = joinTextParts(mergedParts);
4951
+ }
4952
+ let compactLen = 0;
4953
+ for (let read = 0; read < texts.length; read++) {
4954
+ const text = texts[read];
4955
+ if (text.length === 0)
4956
+ continue;
4957
+ if (compactLen !== read) {
4958
+ texts[compactLen] = text;
4959
+ isWordLike[compactLen] = isWordLike[read];
4960
+ kinds[compactLen] = kinds[read];
4961
+ starts[compactLen] = starts[read];
4962
+ }
4963
+ compactLen++;
4964
+ }
4965
+ texts.length = compactLen;
4966
+ isWordLike.length = compactLen;
4967
+ kinds.length = compactLen;
4968
+ starts.length = compactLen;
4969
+ return {
4970
+ len: compactLen,
4971
+ texts,
4972
+ isWordLike,
4973
+ kinds,
4974
+ starts,
4975
+ };
4976
+ }
4977
+ function mergeUrlQueryRuns(segmentation) {
4978
+ const texts = [];
4979
+ const isWordLike = [];
4980
+ const kinds = [];
4981
+ const starts = [];
4982
+ for (let i = 0; i < segmentation.len; i++) {
4983
+ const text = segmentation.texts[i];
4984
+ texts.push(text);
4985
+ isWordLike.push(segmentation.isWordLike[i]);
4986
+ kinds.push(segmentation.kinds[i]);
4987
+ starts.push(segmentation.starts[i]);
4988
+ if (!isUrlQueryBoundarySegment(text))
4989
+ continue;
4990
+ const nextIndex = i + 1;
4991
+ if (nextIndex >= segmentation.len ||
4992
+ isTextRunBoundary(segmentation.kinds[nextIndex])) {
4993
+ continue;
4994
+ }
4995
+ const queryParts = [];
4996
+ const queryStart = segmentation.starts[nextIndex];
4997
+ let j = nextIndex;
4998
+ while (j < segmentation.len && !isTextRunBoundary(segmentation.kinds[j])) {
4999
+ queryParts.push(segmentation.texts[j]);
5000
+ j++;
5001
+ }
5002
+ if (queryParts.length > 0) {
5003
+ texts.push(joinTextParts(queryParts));
5004
+ isWordLike.push(true);
5005
+ kinds.push('text');
5006
+ starts.push(queryStart);
5007
+ i = j - 1;
5008
+ }
5009
+ }
5010
+ return {
5011
+ len: texts.length,
5012
+ texts,
5013
+ isWordLike,
5014
+ kinds,
5015
+ starts,
5016
+ };
5017
+ }
5018
+ const numericJoinerChars = new Set([
5019
+ ':', '-', '/', '×', ',', '.', '+',
5020
+ '\u2013',
5021
+ '\u2014',
5022
+ ]);
5023
+ const asciiPunctuationChainSegmentRe = /^[A-Za-z0-9_]+[,:;]*$/;
5024
+ const asciiPunctuationChainTrailingJoinersRe = /[,:;]+$/;
5025
+ function segmentContainsDecimalDigit(text) {
5026
+ for (const ch of text) {
5027
+ if (decimalDigitRe.test(ch))
5028
+ return true;
5029
+ }
5030
+ return false;
5031
+ }
5032
+ function isNumericRunSegment(text) {
5033
+ if (text.length === 0)
5034
+ return false;
5035
+ for (const ch of text) {
5036
+ if (decimalDigitRe.test(ch) || numericJoinerChars.has(ch))
5037
+ continue;
5038
+ return false;
5039
+ }
5040
+ return true;
5041
+ }
5042
+ function mergeNumericRuns(segmentation) {
5043
+ const texts = [];
5044
+ const isWordLike = [];
5045
+ const kinds = [];
5046
+ const starts = [];
5047
+ for (let i = 0; i < segmentation.len; i++) {
5048
+ const text = segmentation.texts[i];
5049
+ const kind = segmentation.kinds[i];
5050
+ if (kind === 'text' && isNumericRunSegment(text) && segmentContainsDecimalDigit(text)) {
5051
+ const mergedParts = [text];
5052
+ let j = i + 1;
5053
+ while (j < segmentation.len &&
5054
+ segmentation.kinds[j] === 'text' &&
5055
+ isNumericRunSegment(segmentation.texts[j])) {
5056
+ mergedParts.push(segmentation.texts[j]);
5057
+ j++;
5058
+ }
5059
+ texts.push(joinTextParts(mergedParts));
5060
+ isWordLike.push(true);
5061
+ kinds.push('text');
5062
+ starts.push(segmentation.starts[i]);
5063
+ i = j - 1;
5064
+ continue;
5065
+ }
5066
+ texts.push(text);
5067
+ isWordLike.push(segmentation.isWordLike[i]);
5068
+ kinds.push(kind);
5069
+ starts.push(segmentation.starts[i]);
5070
+ }
5071
+ return {
5072
+ len: texts.length,
5073
+ texts,
5074
+ isWordLike,
5075
+ kinds,
5076
+ starts,
5077
+ };
5078
+ }
5079
+ function mergeAsciiPunctuationChains(segmentation) {
5080
+ const texts = [];
5081
+ const isWordLike = [];
5082
+ const kinds = [];
5083
+ const starts = [];
5084
+ for (let i = 0; i < segmentation.len; i++) {
5085
+ const text = segmentation.texts[i];
5086
+ const kind = segmentation.kinds[i];
5087
+ const wordLike = segmentation.isWordLike[i];
5088
+ if (kind === 'text' && wordLike && asciiPunctuationChainSegmentRe.test(text)) {
5089
+ const mergedParts = [text];
5090
+ let endsWithJoiners = asciiPunctuationChainTrailingJoinersRe.test(text);
5091
+ let j = i + 1;
5092
+ while (endsWithJoiners &&
5093
+ j < segmentation.len &&
5094
+ segmentation.kinds[j] === 'text' &&
5095
+ segmentation.isWordLike[j] &&
5096
+ asciiPunctuationChainSegmentRe.test(segmentation.texts[j])) {
5097
+ const nextText = segmentation.texts[j];
5098
+ mergedParts.push(nextText);
5099
+ endsWithJoiners = asciiPunctuationChainTrailingJoinersRe.test(nextText);
5100
+ j++;
5101
+ }
5102
+ texts.push(joinTextParts(mergedParts));
5103
+ isWordLike.push(true);
5104
+ kinds.push('text');
5105
+ starts.push(segmentation.starts[i]);
5106
+ i = j - 1;
5107
+ continue;
5108
+ }
5109
+ texts.push(text);
5110
+ isWordLike.push(wordLike);
5111
+ kinds.push(kind);
5112
+ starts.push(segmentation.starts[i]);
5113
+ }
5114
+ return {
5115
+ len: texts.length,
5116
+ texts,
5117
+ isWordLike,
5118
+ kinds,
5119
+ starts,
5120
+ };
5121
+ }
5122
+ function splitHyphenatedNumericRuns(segmentation) {
5123
+ const texts = [];
5124
+ const isWordLike = [];
5125
+ const kinds = [];
5126
+ const starts = [];
5127
+ for (let i = 0; i < segmentation.len; i++) {
5128
+ const text = segmentation.texts[i];
5129
+ if (segmentation.kinds[i] === 'text' && text.includes('-')) {
5130
+ const parts = text.split('-');
5131
+ let shouldSplit = parts.length > 1;
5132
+ for (let j = 0; j < parts.length; j++) {
5133
+ const part = parts[j];
5134
+ if (!shouldSplit)
5135
+ break;
5136
+ if (part.length === 0 ||
5137
+ !segmentContainsDecimalDigit(part) ||
5138
+ !isNumericRunSegment(part)) {
5139
+ shouldSplit = false;
5140
+ }
5141
+ }
5142
+ if (shouldSplit) {
5143
+ let offset = 0;
5144
+ for (let j = 0; j < parts.length; j++) {
5145
+ const part = parts[j];
5146
+ const splitText = j < parts.length - 1 ? `${part}-` : part;
5147
+ texts.push(splitText);
5148
+ isWordLike.push(true);
5149
+ kinds.push('text');
5150
+ starts.push(segmentation.starts[i] + offset);
5151
+ offset += splitText.length;
5152
+ }
5153
+ continue;
5154
+ }
5155
+ }
5156
+ texts.push(text);
5157
+ isWordLike.push(segmentation.isWordLike[i]);
5158
+ kinds.push(segmentation.kinds[i]);
5159
+ starts.push(segmentation.starts[i]);
5160
+ }
5161
+ return {
5162
+ len: texts.length,
5163
+ texts,
5164
+ isWordLike,
5165
+ kinds,
5166
+ starts,
5167
+ };
5168
+ }
5169
+ function mergeGlueConnectedTextRuns(segmentation) {
5170
+ const texts = [];
5171
+ const isWordLike = [];
5172
+ const kinds = [];
5173
+ const starts = [];
5174
+ let read = 0;
5175
+ while (read < segmentation.len) {
5176
+ const textParts = [segmentation.texts[read]];
5177
+ let wordLike = segmentation.isWordLike[read];
5178
+ let kind = segmentation.kinds[read];
5179
+ let start = segmentation.starts[read];
5180
+ if (kind === 'glue') {
5181
+ const glueParts = [textParts[0]];
5182
+ const glueStart = start;
5183
+ read++;
5184
+ while (read < segmentation.len && segmentation.kinds[read] === 'glue') {
5185
+ glueParts.push(segmentation.texts[read]);
5186
+ read++;
5187
+ }
5188
+ const glueText = joinTextParts(glueParts);
5189
+ if (read < segmentation.len && segmentation.kinds[read] === 'text') {
5190
+ textParts[0] = glueText;
5191
+ textParts.push(segmentation.texts[read]);
5192
+ wordLike = segmentation.isWordLike[read];
5193
+ kind = 'text';
5194
+ start = glueStart;
5195
+ read++;
5196
+ }
5197
+ else {
5198
+ texts.push(glueText);
5199
+ isWordLike.push(false);
5200
+ kinds.push('glue');
5201
+ starts.push(glueStart);
5202
+ continue;
5203
+ }
5204
+ }
5205
+ else {
5206
+ read++;
5207
+ }
5208
+ if (kind === 'text') {
5209
+ while (read < segmentation.len && segmentation.kinds[read] === 'glue') {
5210
+ const glueParts = [];
5211
+ while (read < segmentation.len && segmentation.kinds[read] === 'glue') {
5212
+ glueParts.push(segmentation.texts[read]);
5213
+ read++;
5214
+ }
5215
+ const glueText = joinTextParts(glueParts);
5216
+ if (read < segmentation.len && segmentation.kinds[read] === 'text') {
5217
+ textParts.push(glueText, segmentation.texts[read]);
5218
+ wordLike = wordLike || segmentation.isWordLike[read];
5219
+ read++;
5220
+ continue;
5221
+ }
5222
+ textParts.push(glueText);
5223
+ }
5224
+ }
5225
+ texts.push(joinTextParts(textParts));
5226
+ isWordLike.push(wordLike);
5227
+ kinds.push(kind);
5228
+ starts.push(start);
5229
+ }
5230
+ return {
5231
+ len: texts.length,
5232
+ texts,
5233
+ isWordLike,
5234
+ kinds,
5235
+ starts,
5236
+ };
5237
+ }
5238
+ function carryTrailingForwardStickyAcrossCJKBoundary(segmentation) {
5239
+ const texts = segmentation.texts.slice();
5240
+ const isWordLike = segmentation.isWordLike.slice();
5241
+ const kinds = segmentation.kinds.slice();
5242
+ const starts = segmentation.starts.slice();
5243
+ for (let i = 0; i < texts.length - 1; i++) {
5244
+ if (kinds[i] !== 'text' || kinds[i + 1] !== 'text')
5245
+ continue;
5246
+ if (!isCJK(texts[i]) || !isCJK(texts[i + 1]))
5247
+ continue;
5248
+ const split = splitTrailingForwardStickyCluster(texts[i]);
5249
+ if (split === null)
5250
+ continue;
5251
+ texts[i] = split.head;
5252
+ texts[i + 1] = split.tail + texts[i + 1];
5253
+ starts[i + 1] = starts[i] + split.head.length;
5254
+ }
5255
+ return {
5256
+ len: texts.length,
5257
+ texts,
5258
+ isWordLike,
5259
+ kinds,
5260
+ starts,
5261
+ };
5262
+ }
5263
+ function buildMergedSegmentation(normalized, profile, whiteSpaceProfile) {
5264
+ const wordSegmenter = getSharedWordSegmenter();
5265
+ let mergedLen = 0;
5266
+ const mergedTexts = [];
5267
+ const mergedTextParts = [];
5268
+ const mergedWordLike = [];
5269
+ const mergedKinds = [];
5270
+ const mergedStarts = [];
5271
+ // Track repeatable single-char punctuation runs structurally so identical
5272
+ // merges stay O(1) instead of re-scanning the accumulated segment each time.
5273
+ const mergedSingleCharRunChars = [];
5274
+ const mergedSingleCharRunLengths = [];
5275
+ const mergedContainsCJK = [];
5276
+ const mergedContainsArabicScript = [];
5277
+ const mergedEndsWithClosingQuote = [];
5278
+ const mergedEndsWithMyanmarMedialGlue = [];
5279
+ const mergedHasArabicNoSpacePunctuation = [];
5280
+ for (const s of wordSegmenter.segment(normalized)) {
5281
+ for (const piece of splitSegmentByBreakKind(s.segment, s.isWordLike ?? false, s.index, whiteSpaceProfile)) {
5282
+ const isText = piece.kind === 'text';
5283
+ const repeatableSingleCharRunChar = getRepeatableSingleCharRunChar(piece.text, piece.isWordLike, piece.kind);
5284
+ const pieceContainsCJK = isCJK(piece.text);
5285
+ const pieceContainsArabicScript = containsArabicScript(piece.text);
5286
+ const pieceLastCodePoint = getLastCodePoint(piece.text);
5287
+ const pieceEndsWithClosingQuote = endsWithClosingQuote(piece.text);
5288
+ const pieceEndsWithMyanmarMedialGlue = endsWithMyanmarMedialGlue(piece.text);
5289
+ const prevIndex = mergedLen - 1;
5290
+ function appendPieceToPrevious() {
5291
+ if (mergedSingleCharRunChars[prevIndex] !== null) {
5292
+ mergedTextParts[prevIndex] = [
5293
+ materializeDeferredSingleCharRun(mergedTexts, mergedSingleCharRunChars, mergedSingleCharRunLengths, prevIndex),
5294
+ ];
5295
+ mergedSingleCharRunChars[prevIndex] = null;
5296
+ }
5297
+ mergedTextParts[prevIndex].push(piece.text);
5298
+ mergedWordLike[prevIndex] = mergedWordLike[prevIndex] || piece.isWordLike;
5299
+ mergedContainsCJK[prevIndex] = mergedContainsCJK[prevIndex] || pieceContainsCJK;
5300
+ mergedContainsArabicScript[prevIndex] =
5301
+ mergedContainsArabicScript[prevIndex] || pieceContainsArabicScript;
5302
+ mergedEndsWithClosingQuote[prevIndex] = pieceEndsWithClosingQuote;
5303
+ mergedEndsWithMyanmarMedialGlue[prevIndex] = pieceEndsWithMyanmarMedialGlue;
5304
+ mergedHasArabicNoSpacePunctuation[prevIndex] = hasArabicNoSpacePunctuation(mergedContainsArabicScript[prevIndex], pieceLastCodePoint);
5305
+ }
5306
+ // First-pass keeps: no-space script-specific joins and punctuation glue
5307
+ // that depend on the immediately preceding text run.
5308
+ if (profile.carryCJKAfterClosingQuote &&
5309
+ isText &&
5310
+ mergedLen > 0 &&
5311
+ mergedKinds[prevIndex] === 'text' &&
5312
+ pieceContainsCJK &&
5313
+ mergedContainsCJK[prevIndex] &&
5314
+ mergedEndsWithClosingQuote[prevIndex]) {
5315
+ appendPieceToPrevious();
5316
+ }
5317
+ else if (isText &&
5318
+ mergedLen > 0 &&
5319
+ mergedKinds[prevIndex] === 'text' &&
5320
+ isCJKLineStartProhibitedSegment(piece.text) &&
5321
+ mergedContainsCJK[prevIndex]) {
5322
+ appendPieceToPrevious();
5323
+ }
5324
+ else if (isText &&
5325
+ mergedLen > 0 &&
5326
+ mergedKinds[prevIndex] === 'text' &&
5327
+ mergedEndsWithMyanmarMedialGlue[prevIndex]) {
5328
+ appendPieceToPrevious();
5329
+ }
5330
+ else if (isText &&
5331
+ mergedLen > 0 &&
5332
+ mergedKinds[prevIndex] === 'text' &&
5333
+ piece.isWordLike &&
5334
+ pieceContainsArabicScript &&
5335
+ mergedHasArabicNoSpacePunctuation[prevIndex]) {
5336
+ appendPieceToPrevious();
5337
+ mergedWordLike[prevIndex] = true;
5338
+ }
5339
+ else if (repeatableSingleCharRunChar !== null &&
5340
+ mergedLen > 0 &&
5341
+ mergedKinds[prevIndex] === 'text' &&
5342
+ mergedSingleCharRunChars[prevIndex] === repeatableSingleCharRunChar) {
5343
+ mergedSingleCharRunLengths[prevIndex] = (mergedSingleCharRunLengths[prevIndex] ?? 1) + 1;
5344
+ }
5345
+ else if (isText &&
5346
+ !piece.isWordLike &&
5347
+ mergedLen > 0 &&
5348
+ mergedKinds[prevIndex] === 'text' &&
5349
+ !mergedContainsCJK[prevIndex] &&
5350
+ (isLeftStickyPunctuationSegment(piece.text) ||
5351
+ (piece.text === '-' && mergedWordLike[prevIndex]))) {
5352
+ appendPieceToPrevious();
5353
+ }
5354
+ else {
5355
+ mergedTexts[mergedLen] = piece.text;
5356
+ mergedTextParts[mergedLen] = [piece.text];
5357
+ mergedWordLike[mergedLen] = piece.isWordLike;
5358
+ mergedKinds[mergedLen] = piece.kind;
5359
+ mergedStarts[mergedLen] = piece.start;
5360
+ mergedSingleCharRunChars[mergedLen] = repeatableSingleCharRunChar;
5361
+ mergedSingleCharRunLengths[mergedLen] = repeatableSingleCharRunChar === null ? 0 : 1;
5362
+ mergedContainsCJK[mergedLen] = pieceContainsCJK;
5363
+ mergedContainsArabicScript[mergedLen] = pieceContainsArabicScript;
5364
+ mergedEndsWithClosingQuote[mergedLen] = pieceEndsWithClosingQuote;
5365
+ mergedEndsWithMyanmarMedialGlue[mergedLen] = pieceEndsWithMyanmarMedialGlue;
5366
+ mergedHasArabicNoSpacePunctuation[mergedLen] = hasArabicNoSpacePunctuation(pieceContainsArabicScript, pieceLastCodePoint);
5367
+ mergedLen++;
5368
+ }
5369
+ }
5370
+ }
5371
+ for (let i = 0; i < mergedLen; i++) {
5372
+ if (mergedSingleCharRunChars[i] !== null) {
5373
+ mergedTexts[i] = materializeDeferredSingleCharRun(mergedTexts, mergedSingleCharRunChars, mergedSingleCharRunLengths, i);
5374
+ continue;
5375
+ }
5376
+ mergedTexts[i] = joinTextParts(mergedTextParts[i]);
5377
+ }
5378
+ // Later passes operate on the merged text stream itself: contextual escaped
5379
+ // quote glue, forward-sticky carry, compaction, then the broader URL/numeric
5380
+ // and Arabic-leading-mark fixes.
5381
+ for (let i = 1; i < mergedLen; i++) {
5382
+ if (mergedKinds[i] === 'text' &&
5383
+ !mergedWordLike[i] &&
5384
+ isEscapedQuoteClusterSegment(mergedTexts[i]) &&
5385
+ mergedKinds[i - 1] === 'text' &&
5386
+ !mergedContainsCJK[i - 1]) {
5387
+ mergedTexts[i - 1] += mergedTexts[i];
5388
+ mergedWordLike[i - 1] = mergedWordLike[i - 1] || mergedWordLike[i];
5389
+ mergedTexts[i] = '';
5390
+ }
5391
+ }
5392
+ const forwardStickyPrefixParts = Array.from({ length: mergedLen }, () => null);
5393
+ let nextLiveIndex = -1;
5394
+ for (let i = mergedLen - 1; i >= 0; i--) {
5395
+ const text = mergedTexts[i];
5396
+ if (text.length === 0)
5397
+ continue;
5398
+ if (mergedKinds[i] === 'text' &&
5399
+ !mergedWordLike[i] &&
5400
+ isForwardStickyClusterSegment(text) &&
5401
+ nextLiveIndex >= 0 &&
5402
+ mergedKinds[nextLiveIndex] === 'text') {
5403
+ const prefixParts = forwardStickyPrefixParts[nextLiveIndex] ?? [];
5404
+ prefixParts.push(text);
5405
+ forwardStickyPrefixParts[nextLiveIndex] = prefixParts;
5406
+ mergedStarts[nextLiveIndex] = mergedStarts[i];
5407
+ mergedTexts[i] = '';
5408
+ continue;
5409
+ }
5410
+ nextLiveIndex = i;
5411
+ }
5412
+ for (let i = 0; i < mergedLen; i++) {
5413
+ const prefixParts = forwardStickyPrefixParts[i];
5414
+ if (prefixParts == null)
5415
+ continue;
5416
+ mergedTexts[i] = joinReversedPrefixParts(prefixParts, mergedTexts[i]);
5417
+ }
5418
+ let compactLen = 0;
5419
+ for (let read = 0; read < mergedLen; read++) {
5420
+ const text = mergedTexts[read];
5421
+ if (text.length === 0)
5422
+ continue;
5423
+ if (compactLen !== read) {
5424
+ mergedTexts[compactLen] = text;
5425
+ mergedWordLike[compactLen] = mergedWordLike[read];
5426
+ mergedKinds[compactLen] = mergedKinds[read];
5427
+ mergedStarts[compactLen] = mergedStarts[read];
5428
+ }
5429
+ compactLen++;
5430
+ }
5431
+ mergedTexts.length = compactLen;
5432
+ mergedWordLike.length = compactLen;
5433
+ mergedKinds.length = compactLen;
5434
+ mergedStarts.length = compactLen;
5435
+ const compacted = mergeGlueConnectedTextRuns({
5436
+ len: compactLen,
5437
+ texts: mergedTexts,
5438
+ isWordLike: mergedWordLike,
5439
+ kinds: mergedKinds,
5440
+ starts: mergedStarts,
5441
+ });
5442
+ const withMergedUrls = carryTrailingForwardStickyAcrossCJKBoundary(mergeAsciiPunctuationChains(splitHyphenatedNumericRuns(mergeNumericRuns(mergeUrlQueryRuns(mergeUrlLikeRuns(compacted))))));
5443
+ for (let i = 0; i < withMergedUrls.len - 1; i++) {
5444
+ const split = splitLeadingSpaceAndMarks(withMergedUrls.texts[i]);
5445
+ if (split === null)
5446
+ continue;
5447
+ if ((withMergedUrls.kinds[i] !== 'space' && withMergedUrls.kinds[i] !== 'preserved-space') ||
5448
+ withMergedUrls.kinds[i + 1] !== 'text' ||
5449
+ !containsArabicScript(withMergedUrls.texts[i + 1])) {
5450
+ continue;
5451
+ }
5452
+ withMergedUrls.texts[i] = split.space;
5453
+ withMergedUrls.isWordLike[i] = false;
5454
+ withMergedUrls.kinds[i] = withMergedUrls.kinds[i] === 'preserved-space' ? 'preserved-space' : 'space';
5455
+ withMergedUrls.texts[i + 1] = split.marks + withMergedUrls.texts[i + 1];
5456
+ withMergedUrls.starts[i + 1] = withMergedUrls.starts[i] + split.space.length;
5457
+ }
5458
+ return withMergedUrls;
5459
+ }
5460
+ function compileAnalysisChunks(segmentation, whiteSpaceProfile) {
5461
+ if (segmentation.len === 0)
5462
+ return [];
5463
+ if (!whiteSpaceProfile.preserveHardBreaks) {
5464
+ return [{
5465
+ startSegmentIndex: 0,
5466
+ endSegmentIndex: segmentation.len,
5467
+ consumedEndSegmentIndex: segmentation.len,
5468
+ }];
5469
+ }
5470
+ const chunks = [];
5471
+ let startSegmentIndex = 0;
5472
+ for (let i = 0; i < segmentation.len; i++) {
5473
+ if (segmentation.kinds[i] !== 'hard-break')
5474
+ continue;
5475
+ chunks.push({
5476
+ startSegmentIndex,
5477
+ endSegmentIndex: i,
5478
+ consumedEndSegmentIndex: i + 1,
5479
+ });
5480
+ startSegmentIndex = i + 1;
5481
+ }
5482
+ if (startSegmentIndex < segmentation.len) {
5483
+ chunks.push({
5484
+ startSegmentIndex,
5485
+ endSegmentIndex: segmentation.len,
5486
+ consumedEndSegmentIndex: segmentation.len,
5487
+ });
5488
+ }
5489
+ return chunks;
5490
+ }
5491
+ function mergeKeepAllTextSegments(segmentation) {
5492
+ if (segmentation.len <= 1)
5493
+ return segmentation;
5494
+ const texts = [];
5495
+ const isWordLike = [];
5496
+ const kinds = [];
5497
+ const starts = [];
5498
+ let pendingTextParts = null;
5499
+ let pendingWordLike = false;
5500
+ let pendingStart = 0;
5501
+ let pendingContainsCJK = false;
5502
+ let pendingCanContinue = false;
5503
+ function flushPendingText() {
5504
+ if (pendingTextParts === null)
5505
+ return;
5506
+ texts.push(joinTextParts(pendingTextParts));
5507
+ isWordLike.push(pendingWordLike);
5508
+ kinds.push('text');
5509
+ starts.push(pendingStart);
5510
+ pendingTextParts = null;
5511
+ }
5512
+ for (let i = 0; i < segmentation.len; i++) {
5513
+ const text = segmentation.texts[i];
5514
+ const kind = segmentation.kinds[i];
5515
+ const wordLike = segmentation.isWordLike[i];
5516
+ const start = segmentation.starts[i];
5517
+ if (kind === 'text') {
5518
+ const textContainsCJK = containsCJKText(text);
5519
+ const textCanContinue = canContinueKeepAllTextRun(text);
5520
+ if (pendingTextParts !== null && pendingContainsCJK && pendingCanContinue) {
5521
+ pendingTextParts.push(text);
5522
+ pendingWordLike = pendingWordLike || wordLike;
5523
+ pendingContainsCJK = pendingContainsCJK || textContainsCJK;
5524
+ pendingCanContinue = textCanContinue;
5525
+ continue;
5526
+ }
5527
+ flushPendingText();
5528
+ pendingTextParts = [text];
5529
+ pendingWordLike = wordLike;
5530
+ pendingStart = start;
5531
+ pendingContainsCJK = textContainsCJK;
5532
+ pendingCanContinue = textCanContinue;
5533
+ continue;
5534
+ }
5535
+ flushPendingText();
5536
+ texts.push(text);
5537
+ isWordLike.push(wordLike);
5538
+ kinds.push(kind);
5539
+ starts.push(start);
5540
+ }
5541
+ flushPendingText();
5542
+ return {
5543
+ len: texts.length,
5544
+ texts,
5545
+ isWordLike,
5546
+ kinds,
5547
+ starts,
5548
+ };
5549
+ }
5550
+ function analyzeText(text, profile, whiteSpace = 'normal', wordBreak = 'normal') {
5551
+ const whiteSpaceProfile = getWhiteSpaceProfile(whiteSpace);
5552
+ const normalized = whiteSpaceProfile.mode === 'pre-wrap'
5553
+ ? normalizeWhitespacePreWrap(text)
5554
+ : normalizeWhitespaceNormal(text);
5555
+ if (normalized.length === 0) {
5556
+ return {
5557
+ normalized,
5558
+ chunks: [],
5559
+ len: 0,
5560
+ texts: [],
5561
+ isWordLike: [],
5562
+ kinds: [],
5563
+ starts: [],
5564
+ };
5565
+ }
5566
+ const segmentation = wordBreak === 'keep-all'
5567
+ ? mergeKeepAllTextSegments(buildMergedSegmentation(normalized, profile, whiteSpaceProfile))
5568
+ : buildMergedSegmentation(normalized, profile, whiteSpaceProfile);
5569
+ return {
5570
+ normalized,
5571
+ chunks: compileAnalysisChunks(segmentation, whiteSpaceProfile),
5572
+ ...segmentation,
5573
+ };
5574
+ }
5575
+
5576
+ let measureContext = null;
5577
+ const segmentMetricCaches = new Map();
5578
+ let cachedEngineProfile = null;
5579
+ // Safari's prefix-fit policy is useful for ordinary word-sized runs, but letting
5580
+ // it measure every growing prefix of a giant segment recreates a pathological
5581
+ // superlinear prepare-time path. Past this size, switch to the cheaper
5582
+ // pair-context model and keep the public behavior linear.
5583
+ const MAX_PREFIX_FIT_GRAPHEMES = 96;
5584
+ const emojiPresentationRe = /\p{Emoji_Presentation}/u;
5585
+ const maybeEmojiRe = /[\p{Emoji_Presentation}\p{Extended_Pictographic}\p{Regional_Indicator}\uFE0F\u20E3]/u;
5586
+ let sharedGraphemeSegmenter$1 = null;
5587
+ const emojiCorrectionCache = new Map();
5588
+ function getMeasureContext() {
5589
+ if (measureContext !== null)
5590
+ return measureContext;
5591
+ if (typeof OffscreenCanvas !== 'undefined') {
5592
+ measureContext = new OffscreenCanvas(1, 1).getContext('2d');
5593
+ return measureContext;
5594
+ }
5595
+ if (typeof document !== 'undefined') {
5596
+ measureContext = document.createElement('canvas').getContext('2d');
5597
+ return measureContext;
5598
+ }
5599
+ throw new Error('Text measurement requires OffscreenCanvas or a DOM canvas context.');
5600
+ }
5601
+ function getSegmentMetricCache(font) {
5602
+ let cache = segmentMetricCaches.get(font);
5603
+ if (!cache) {
5604
+ cache = new Map();
5605
+ segmentMetricCaches.set(font, cache);
5606
+ }
5607
+ return cache;
5608
+ }
5609
+ function getSegmentMetrics(seg, cache) {
5610
+ let metrics = cache.get(seg);
5611
+ if (metrics === undefined) {
5612
+ const ctx = getMeasureContext();
5613
+ metrics = {
5614
+ width: ctx.measureText(seg).width,
5615
+ containsCJK: isCJK(seg),
5616
+ };
5617
+ cache.set(seg, metrics);
5618
+ }
5619
+ return metrics;
5620
+ }
5621
+ function getEngineProfile() {
5622
+ if (cachedEngineProfile !== null)
5623
+ return cachedEngineProfile;
5624
+ if (typeof navigator === 'undefined') {
5625
+ cachedEngineProfile = {
5626
+ lineFitEpsilon: 0.005,
5627
+ carryCJKAfterClosingQuote: false,
5628
+ preferPrefixWidthsForBreakableRuns: false,
5629
+ preferEarlySoftHyphenBreak: false,
5630
+ };
5631
+ return cachedEngineProfile;
5632
+ }
5633
+ const ua = navigator.userAgent;
5634
+ const vendor = navigator.vendor;
5635
+ const isSafari = vendor === 'Apple Computer, Inc.' &&
5636
+ ua.includes('Safari/') &&
5637
+ !ua.includes('Chrome/') &&
5638
+ !ua.includes('Chromium/') &&
5639
+ !ua.includes('CriOS/') &&
5640
+ !ua.includes('FxiOS/') &&
5641
+ !ua.includes('EdgiOS/');
5642
+ const isChromium = ua.includes('Chrome/') ||
5643
+ ua.includes('Chromium/') ||
5644
+ ua.includes('CriOS/') ||
5645
+ ua.includes('Edg/');
5646
+ cachedEngineProfile = {
5647
+ lineFitEpsilon: isSafari ? 1 / 64 : 0.005,
5648
+ carryCJKAfterClosingQuote: isChromium,
5649
+ preferPrefixWidthsForBreakableRuns: isSafari,
5650
+ preferEarlySoftHyphenBreak: isSafari,
5651
+ };
5652
+ return cachedEngineProfile;
5653
+ }
5654
+ function parseFontSize(font) {
5655
+ const m = font.match(/(\d+(?:\.\d+)?)\s*px/);
5656
+ return m ? parseFloat(m[1]) : 16;
5657
+ }
5658
+ function getSharedGraphemeSegmenter$1() {
5659
+ if (sharedGraphemeSegmenter$1 === null) {
5660
+ sharedGraphemeSegmenter$1 = new Intl.Segmenter(undefined, { granularity: 'grapheme' });
5661
+ }
5662
+ return sharedGraphemeSegmenter$1;
5663
+ }
5664
+ function isEmojiGrapheme(g) {
5665
+ return emojiPresentationRe.test(g) || g.includes('\uFE0F');
5666
+ }
5667
+ function textMayContainEmoji(text) {
5668
+ return maybeEmojiRe.test(text);
5669
+ }
5670
+ function getEmojiCorrection(font, fontSize) {
5671
+ let correction = emojiCorrectionCache.get(font);
5672
+ if (correction !== undefined)
5673
+ return correction;
5674
+ const ctx = getMeasureContext();
5675
+ ctx.font = font;
5676
+ const canvasW = ctx.measureText('\u{1F600}').width;
5677
+ correction = 0;
5678
+ if (canvasW > fontSize + 0.5 &&
5679
+ typeof document !== 'undefined' &&
5680
+ document.body !== null) {
5681
+ const span = document.createElement('span');
5682
+ span.style.font = font;
5683
+ span.style.display = 'inline-block';
5684
+ span.style.visibility = 'hidden';
5685
+ span.style.position = 'absolute';
5686
+ span.textContent = '\u{1F600}';
5687
+ document.body.appendChild(span);
5688
+ const domW = span.getBoundingClientRect().width;
5689
+ document.body.removeChild(span);
5690
+ if (canvasW - domW > 0.5) {
5691
+ correction = canvasW - domW;
5692
+ }
5693
+ }
5694
+ emojiCorrectionCache.set(font, correction);
5695
+ return correction;
5696
+ }
5697
+ function countEmojiGraphemes(text) {
5698
+ let count = 0;
5699
+ const graphemeSegmenter = getSharedGraphemeSegmenter$1();
5700
+ for (const g of graphemeSegmenter.segment(text)) {
5701
+ if (isEmojiGrapheme(g.segment))
5702
+ count++;
5703
+ }
5704
+ return count;
5705
+ }
5706
+ function getEmojiCount(seg, metrics) {
5707
+ if (metrics.emojiCount === undefined) {
5708
+ metrics.emojiCount = countEmojiGraphemes(seg);
5709
+ }
5710
+ return metrics.emojiCount;
5711
+ }
5712
+ function getCorrectedSegmentWidth(seg, metrics, emojiCorrection) {
5713
+ if (emojiCorrection === 0)
5714
+ return metrics.width;
5715
+ return metrics.width - getEmojiCount(seg, metrics) * emojiCorrection;
5716
+ }
5717
+ function getSegmentBreakableFitAdvances(seg, metrics, cache, emojiCorrection, mode) {
5718
+ if (metrics.breakableFitAdvances !== undefined && metrics.breakableFitMode === mode) {
5719
+ return metrics.breakableFitAdvances;
5720
+ }
5721
+ metrics.breakableFitMode = mode;
5722
+ const graphemeSegmenter = getSharedGraphemeSegmenter$1();
5723
+ const graphemes = [];
5724
+ for (const gs of graphemeSegmenter.segment(seg)) {
5725
+ graphemes.push(gs.segment);
5726
+ }
5727
+ if (graphemes.length <= 1) {
5728
+ metrics.breakableFitAdvances = null;
5729
+ return metrics.breakableFitAdvances;
5730
+ }
5731
+ if (mode === 'sum-graphemes') {
5732
+ const advances = [];
5733
+ for (const grapheme of graphemes) {
5734
+ const graphemeMetrics = getSegmentMetrics(grapheme, cache);
5735
+ advances.push(getCorrectedSegmentWidth(grapheme, graphemeMetrics, emojiCorrection));
5736
+ }
5737
+ metrics.breakableFitAdvances = advances;
5738
+ return metrics.breakableFitAdvances;
5739
+ }
5740
+ if (mode === 'pair-context' || graphemes.length > MAX_PREFIX_FIT_GRAPHEMES) {
5741
+ const advances = [];
5742
+ let previousGrapheme = null;
5743
+ let previousWidth = 0;
5744
+ for (const grapheme of graphemes) {
5745
+ const graphemeMetrics = getSegmentMetrics(grapheme, cache);
5746
+ const currentWidth = getCorrectedSegmentWidth(grapheme, graphemeMetrics, emojiCorrection);
5747
+ if (previousGrapheme === null) {
5748
+ advances.push(currentWidth);
5749
+ }
5750
+ else {
5751
+ const pair = previousGrapheme + grapheme;
5752
+ const pairMetrics = getSegmentMetrics(pair, cache);
5753
+ advances.push(getCorrectedSegmentWidth(pair, pairMetrics, emojiCorrection) - previousWidth);
5754
+ }
5755
+ previousGrapheme = grapheme;
5756
+ previousWidth = currentWidth;
5757
+ }
5758
+ metrics.breakableFitAdvances = advances;
5759
+ return metrics.breakableFitAdvances;
5760
+ }
5761
+ const advances = [];
5762
+ let prefix = '';
5763
+ let prefixWidth = 0;
5764
+ for (const grapheme of graphemes) {
5765
+ prefix += grapheme;
5766
+ const prefixMetrics = getSegmentMetrics(prefix, cache);
5767
+ const nextPrefixWidth = getCorrectedSegmentWidth(prefix, prefixMetrics, emojiCorrection);
5768
+ advances.push(nextPrefixWidth - prefixWidth);
5769
+ prefixWidth = nextPrefixWidth;
5770
+ }
5771
+ metrics.breakableFitAdvances = advances;
5772
+ return metrics.breakableFitAdvances;
5773
+ }
5774
+ function getFontMeasurementState(font, needsEmojiCorrection) {
5775
+ const ctx = getMeasureContext();
5776
+ ctx.font = font;
5777
+ const cache = getSegmentMetricCache(font);
5778
+ const fontSize = parseFontSize(font);
5779
+ const emojiCorrection = needsEmojiCorrection ? getEmojiCorrection(font, fontSize) : 0;
5780
+ return { cache, fontSize, emojiCorrection };
5781
+ }
5782
+
5783
+ function consumesAtLineStart(kind) {
5784
+ return kind === 'space' || kind === 'zero-width-break' || kind === 'soft-hyphen';
5785
+ }
5786
+ function breaksAfter(kind) {
5787
+ return (kind === 'space' ||
5788
+ kind === 'preserved-space' ||
5789
+ kind === 'tab' ||
5790
+ kind === 'zero-width-break' ||
5791
+ kind === 'soft-hyphen');
5792
+ }
5793
+ function normalizeLineStartSegmentIndex(prepared, segmentIndex, endSegmentIndex = prepared.widths.length) {
5794
+ while (segmentIndex < endSegmentIndex) {
5795
+ const kind = prepared.kinds[segmentIndex];
5796
+ if (!consumesAtLineStart(kind))
5797
+ break;
5798
+ segmentIndex++;
5799
+ }
5800
+ return segmentIndex;
5801
+ }
5802
+ function getTabAdvance(lineWidth, tabStopAdvance) {
5803
+ if (tabStopAdvance <= 0)
5804
+ return 0;
5805
+ const remainder = lineWidth % tabStopAdvance;
5806
+ if (Math.abs(remainder) <= 1e-6)
5807
+ return tabStopAdvance;
5808
+ return tabStopAdvance - remainder;
5809
+ }
5810
+ function getLeadingLetterSpacing(prepared, hasContent, segmentIndex) {
5811
+ return (prepared.letterSpacing !== 0 &&
5812
+ hasContent &&
5813
+ prepared.spacingGraphemeCounts[segmentIndex] > 0)
5814
+ ? prepared.letterSpacing
5815
+ : 0;
5816
+ }
5817
+ function getLineEndContribution(leadingSpacing, segmentContribution) {
5818
+ return segmentContribution === 0 ? 0 : leadingSpacing + segmentContribution;
5819
+ }
5820
+ function getTabTrailingLetterSpacing(prepared, segmentIndex) {
5821
+ return (prepared.letterSpacing !== 0 &&
5822
+ prepared.spacingGraphemeCounts[segmentIndex] > 0)
5823
+ ? prepared.letterSpacing
5824
+ : 0;
5825
+ }
5826
+ function getWholeSegmentFitContribution(prepared, kind, segmentIndex, leadingSpacing, segmentWidth) {
5827
+ const segmentContribution = kind === 'tab'
5828
+ ? segmentWidth + getTabTrailingLetterSpacing(prepared, segmentIndex)
5829
+ : prepared.lineEndFitAdvances[segmentIndex];
5830
+ return getLineEndContribution(leadingSpacing, segmentContribution);
5831
+ }
5832
+ function getBreakOpportunityFitContribution(prepared, kind, segmentIndex, leadingSpacing) {
5833
+ const segmentContribution = kind === 'tab' ? 0 : prepared.lineEndFitAdvances[segmentIndex];
5834
+ return getLineEndContribution(leadingSpacing, segmentContribution);
5835
+ }
5836
+ function getLineEndPaintContribution(prepared, kind, segmentIndex, leadingSpacing, segmentWidth) {
5837
+ const segmentContribution = kind === 'tab' ? segmentWidth : prepared.lineEndPaintAdvances[segmentIndex];
5838
+ return getLineEndContribution(leadingSpacing, segmentContribution);
5839
+ }
5840
+ function getBreakableGraphemeAdvance(prepared, hasContent, baseAdvance) {
5841
+ return prepared.letterSpacing !== 0 && hasContent
5842
+ ? baseAdvance + prepared.letterSpacing
5843
+ : baseAdvance;
5844
+ }
5845
+ function getBreakableCandidateFitWidth(prepared, candidatePaintWidth) {
5846
+ return prepared.letterSpacing === 0
5847
+ ? candidatePaintWidth
5848
+ : candidatePaintWidth + prepared.letterSpacing;
5849
+ }
5850
+ function fitSoftHyphenBreak(graphemeFitAdvances, initialWidth, maxWidth, lineFitEpsilon, discretionaryHyphenWidth, letterSpacing) {
5851
+ let fitCount = 0;
5852
+ let fittedWidth = initialWidth;
5853
+ while (fitCount < graphemeFitAdvances.length) {
5854
+ const nextWidth = fittedWidth + graphemeFitAdvances[fitCount] + letterSpacing;
5855
+ const nextLineWidth = fitCount + 1 < graphemeFitAdvances.length
5856
+ ? nextWidth + discretionaryHyphenWidth
5857
+ : nextWidth;
5858
+ if (nextLineWidth > maxWidth + lineFitEpsilon)
5859
+ break;
5860
+ fittedWidth = nextWidth;
5861
+ fitCount++;
5862
+ }
5863
+ return { fitCount, fittedWidth };
5864
+ }
5865
+ function countPreparedLines(prepared, maxWidth) {
5866
+ return walkPreparedLinesRaw(prepared, maxWidth);
5867
+ }
5868
+ function walkPreparedLinesSimple(prepared, maxWidth, onLine) {
5869
+ const { widths, kinds, breakableFitAdvances } = prepared;
5870
+ if (widths.length === 0)
5871
+ return 0;
5872
+ const engineProfile = getEngineProfile();
5873
+ const lineFitEpsilon = engineProfile.lineFitEpsilon;
5874
+ const fitLimit = maxWidth + lineFitEpsilon;
5875
+ let lineCount = 0;
5876
+ let lineW = 0;
5877
+ let hasContent = false;
5878
+ let lineEndSegmentIndex = 0;
5879
+ let lineEndGraphemeIndex = 0;
5880
+ let pendingBreakSegmentIndex = -1;
5881
+ let pendingBreakPaintWidth = 0;
5882
+ function clearPendingBreak() {
5883
+ pendingBreakSegmentIndex = -1;
5884
+ pendingBreakPaintWidth = 0;
5885
+ }
5886
+ function emitCurrentLine(endSegmentIndex = lineEndSegmentIndex, endGraphemeIndex = lineEndGraphemeIndex, width = lineW) {
5887
+ lineCount++;
5888
+ lineW = 0;
5889
+ hasContent = false;
5890
+ clearPendingBreak();
5891
+ }
5892
+ function startLineAtSegment(segmentIndex, width) {
5893
+ hasContent = true;
5894
+ lineEndSegmentIndex = segmentIndex + 1;
5895
+ lineEndGraphemeIndex = 0;
5896
+ lineW = width;
5897
+ }
5898
+ function startLineAtGrapheme(segmentIndex, graphemeIndex, width) {
5899
+ hasContent = true;
5900
+ lineEndSegmentIndex = segmentIndex;
5901
+ lineEndGraphemeIndex = graphemeIndex + 1;
5902
+ lineW = width;
5903
+ }
5904
+ function appendWholeSegment(segmentIndex, width) {
5905
+ if (!hasContent) {
5906
+ startLineAtSegment(segmentIndex, width);
5907
+ return;
5908
+ }
5909
+ lineW += width;
5910
+ lineEndSegmentIndex = segmentIndex + 1;
5911
+ lineEndGraphemeIndex = 0;
5912
+ }
5913
+ function appendBreakableSegmentFrom(segmentIndex, startGraphemeIndex) {
5914
+ const fitAdvances = breakableFitAdvances[segmentIndex];
5915
+ for (let g = startGraphemeIndex; g < fitAdvances.length; g++) {
5916
+ const gw = fitAdvances[g];
5917
+ if (!hasContent) {
5918
+ startLineAtGrapheme(segmentIndex, g, gw);
5919
+ }
5920
+ else if (lineW + gw > fitLimit) {
5921
+ emitCurrentLine();
5922
+ startLineAtGrapheme(segmentIndex, g, gw);
5923
+ }
5924
+ else {
5925
+ lineW += gw;
5926
+ lineEndSegmentIndex = segmentIndex;
5927
+ lineEndGraphemeIndex = g + 1;
5928
+ }
5929
+ }
5930
+ if (hasContent && lineEndSegmentIndex === segmentIndex && lineEndGraphemeIndex === fitAdvances.length) {
5931
+ lineEndSegmentIndex = segmentIndex + 1;
5932
+ lineEndGraphemeIndex = 0;
5933
+ }
5934
+ }
5935
+ let i = 0;
5936
+ while (i < widths.length) {
5937
+ if (!hasContent) {
5938
+ i = normalizeLineStartSegmentIndex(prepared, i);
5939
+ if (i >= widths.length)
5940
+ break;
5941
+ }
5942
+ const w = widths[i];
5943
+ const kind = kinds[i];
5944
+ const breakAfter = breaksAfter(kind);
5945
+ if (!hasContent) {
5946
+ if (w > fitLimit && breakableFitAdvances[i] !== null) {
5947
+ appendBreakableSegmentFrom(i, 0);
5948
+ }
5949
+ else {
5950
+ startLineAtSegment(i, w);
5951
+ }
5952
+ if (breakAfter) {
5953
+ pendingBreakSegmentIndex = i + 1;
5954
+ pendingBreakPaintWidth = lineW - w;
5955
+ }
5956
+ i++;
5957
+ continue;
5958
+ }
5959
+ const newW = lineW + w;
5960
+ if (newW > fitLimit) {
5961
+ if (breakAfter) {
5962
+ appendWholeSegment(i, w);
5963
+ emitCurrentLine(i + 1, 0, lineW - w);
5964
+ i++;
5965
+ continue;
5966
+ }
5967
+ if (pendingBreakSegmentIndex >= 0) {
5968
+ if (lineEndSegmentIndex > pendingBreakSegmentIndex ||
5969
+ (lineEndSegmentIndex === pendingBreakSegmentIndex && lineEndGraphemeIndex > 0)) {
5970
+ emitCurrentLine();
5971
+ continue;
5972
+ }
5973
+ emitCurrentLine(pendingBreakSegmentIndex, 0, pendingBreakPaintWidth);
5974
+ continue;
5975
+ }
5976
+ if (w > fitLimit && breakableFitAdvances[i] !== null) {
5977
+ emitCurrentLine();
5978
+ appendBreakableSegmentFrom(i, 0);
5979
+ i++;
5980
+ continue;
5981
+ }
5982
+ emitCurrentLine();
5983
+ continue;
5984
+ }
5985
+ appendWholeSegment(i, w);
5986
+ if (breakAfter) {
5987
+ pendingBreakSegmentIndex = i + 1;
5988
+ pendingBreakPaintWidth = lineW - w;
5989
+ }
5990
+ i++;
5991
+ }
5992
+ if (hasContent)
5993
+ emitCurrentLine();
5994
+ return lineCount;
5995
+ }
5996
+ function walkPreparedLinesRaw(prepared, maxWidth, onLine) {
5997
+ if (prepared.simpleLineWalkFastPath) {
5998
+ return walkPreparedLinesSimple(prepared, maxWidth);
5999
+ }
6000
+ const { widths, kinds, breakableFitAdvances, discretionaryHyphenWidth, chunks, } = prepared;
6001
+ if (widths.length === 0 || chunks.length === 0)
6002
+ return 0;
6003
+ const engineProfile = getEngineProfile();
6004
+ const lineFitEpsilon = engineProfile.lineFitEpsilon;
6005
+ const fitLimit = maxWidth + lineFitEpsilon;
6006
+ let lineCount = 0;
6007
+ let lineW = 0;
6008
+ let hasContent = false;
6009
+ let lineEndSegmentIndex = 0;
6010
+ let lineEndGraphemeIndex = 0;
6011
+ let pendingBreakSegmentIndex = -1;
6012
+ let pendingBreakFitWidth = 0;
6013
+ let pendingBreakPaintWidth = 0;
6014
+ let pendingBreakKind = null;
6015
+ function clearPendingBreak() {
6016
+ pendingBreakSegmentIndex = -1;
6017
+ pendingBreakFitWidth = 0;
6018
+ pendingBreakPaintWidth = 0;
6019
+ pendingBreakKind = null;
6020
+ }
6021
+ function emitCurrentLine(endSegmentIndex = lineEndSegmentIndex, endGraphemeIndex = lineEndGraphemeIndex, width = lineW) {
6022
+ lineCount++;
6023
+ lineW = 0;
6024
+ hasContent = false;
6025
+ clearPendingBreak();
6026
+ }
6027
+ function startLineAtSegment(segmentIndex, width) {
6028
+ hasContent = true;
6029
+ lineEndSegmentIndex = segmentIndex + 1;
6030
+ lineEndGraphemeIndex = 0;
6031
+ lineW = width;
6032
+ }
6033
+ function startLineAtGrapheme(segmentIndex, graphemeIndex, width) {
6034
+ hasContent = true;
6035
+ lineEndSegmentIndex = segmentIndex;
6036
+ lineEndGraphemeIndex = graphemeIndex + 1;
6037
+ lineW = width;
6038
+ }
6039
+ function appendWholeSegment(segmentIndex, advance) {
6040
+ if (!hasContent) {
6041
+ startLineAtSegment(segmentIndex, advance);
6042
+ return;
6043
+ }
6044
+ lineW += advance;
6045
+ lineEndSegmentIndex = segmentIndex + 1;
6046
+ lineEndGraphemeIndex = 0;
6047
+ }
6048
+ function updatePendingBreakForWholeSegment(kind, breakAfter, segmentIndex, segmentWidth, leadingSpacing, advance) {
6049
+ if (!breakAfter)
6050
+ return;
6051
+ const fitAdvance = getBreakOpportunityFitContribution(prepared, kind, segmentIndex, leadingSpacing);
6052
+ const paintAdvance = getLineEndPaintContribution(prepared, kind, segmentIndex, leadingSpacing, segmentWidth);
6053
+ pendingBreakSegmentIndex = segmentIndex + 1;
6054
+ pendingBreakFitWidth = lineW - advance + fitAdvance;
6055
+ pendingBreakPaintWidth = lineW - advance + paintAdvance;
6056
+ pendingBreakKind = kind;
6057
+ }
6058
+ function appendBreakableSegmentFrom(segmentIndex, startGraphemeIndex) {
6059
+ const fitAdvances = breakableFitAdvances[segmentIndex];
6060
+ for (let g = startGraphemeIndex; g < fitAdvances.length; g++) {
6061
+ const baseGw = fitAdvances[g];
6062
+ if (!hasContent) {
6063
+ startLineAtGrapheme(segmentIndex, g, baseGw);
6064
+ }
6065
+ else {
6066
+ const gw = getBreakableGraphemeAdvance(prepared, true, baseGw);
6067
+ const candidatePaintWidth = lineW + gw;
6068
+ if (getBreakableCandidateFitWidth(prepared, candidatePaintWidth) > fitLimit) {
6069
+ emitCurrentLine();
6070
+ startLineAtGrapheme(segmentIndex, g, baseGw);
6071
+ }
6072
+ else {
6073
+ lineW = candidatePaintWidth;
6074
+ lineEndSegmentIndex = segmentIndex;
6075
+ lineEndGraphemeIndex = g + 1;
6076
+ }
6077
+ }
6078
+ }
6079
+ if (hasContent && lineEndSegmentIndex === segmentIndex && lineEndGraphemeIndex === fitAdvances.length) {
6080
+ lineEndSegmentIndex = segmentIndex + 1;
6081
+ lineEndGraphemeIndex = 0;
6082
+ }
6083
+ }
6084
+ function continueSoftHyphenBreakableSegment(segmentIndex) {
6085
+ if (pendingBreakKind !== 'soft-hyphen')
6086
+ return false;
6087
+ const fitWidths = breakableFitAdvances[segmentIndex];
6088
+ if (fitWidths == null)
6089
+ return false;
6090
+ const { fitCount, fittedWidth } = fitSoftHyphenBreak(fitWidths, lineW, maxWidth, lineFitEpsilon, discretionaryHyphenWidth, prepared.letterSpacing);
6091
+ if (fitCount === 0)
6092
+ return false;
6093
+ lineW = fittedWidth;
6094
+ lineEndSegmentIndex = segmentIndex;
6095
+ lineEndGraphemeIndex = fitCount;
6096
+ clearPendingBreak();
6097
+ if (fitCount === fitWidths.length) {
6098
+ lineEndSegmentIndex = segmentIndex + 1;
6099
+ lineEndGraphemeIndex = 0;
6100
+ return true;
6101
+ }
6102
+ emitCurrentLine(segmentIndex, fitCount, fittedWidth + discretionaryHyphenWidth);
6103
+ appendBreakableSegmentFrom(segmentIndex, fitCount);
6104
+ return true;
6105
+ }
6106
+ function emitEmptyChunk(chunk) {
6107
+ lineCount++;
6108
+ clearPendingBreak();
6109
+ }
6110
+ for (let chunkIndex = 0; chunkIndex < chunks.length; chunkIndex++) {
6111
+ const chunk = chunks[chunkIndex];
6112
+ if (chunk.startSegmentIndex === chunk.endSegmentIndex) {
6113
+ emitEmptyChunk();
6114
+ continue;
6115
+ }
6116
+ hasContent = false;
6117
+ lineW = 0;
6118
+ lineEndSegmentIndex = chunk.startSegmentIndex;
6119
+ lineEndGraphemeIndex = 0;
6120
+ clearPendingBreak();
6121
+ let i = chunk.startSegmentIndex;
6122
+ while (i < chunk.endSegmentIndex) {
6123
+ if (!hasContent) {
6124
+ i = normalizeLineStartSegmentIndex(prepared, i, chunk.endSegmentIndex);
6125
+ if (i >= chunk.endSegmentIndex)
6126
+ break;
6127
+ }
6128
+ const kind = kinds[i];
6129
+ const breakAfter = breaksAfter(kind);
6130
+ const leadingSpacing = getLeadingLetterSpacing(prepared, hasContent, i);
6131
+ const w = kind === 'tab'
6132
+ ? getTabAdvance(lineW + leadingSpacing, prepared.tabStopAdvance)
6133
+ : widths[i];
6134
+ const advance = leadingSpacing + w;
6135
+ const fitAdvance = getWholeSegmentFitContribution(prepared, kind, i, leadingSpacing, w);
6136
+ if (kind === 'soft-hyphen') {
6137
+ if (hasContent) {
6138
+ lineEndSegmentIndex = i + 1;
6139
+ lineEndGraphemeIndex = 0;
6140
+ pendingBreakSegmentIndex = i + 1;
6141
+ pendingBreakFitWidth = lineW + discretionaryHyphenWidth;
6142
+ pendingBreakPaintWidth = lineW + discretionaryHyphenWidth;
6143
+ pendingBreakKind = kind;
6144
+ }
6145
+ i++;
6146
+ continue;
6147
+ }
6148
+ if (!hasContent) {
6149
+ if (fitAdvance > fitLimit && breakableFitAdvances[i] !== null) {
6150
+ appendBreakableSegmentFrom(i, 0);
6151
+ }
6152
+ else {
6153
+ startLineAtSegment(i, w);
6154
+ }
6155
+ updatePendingBreakForWholeSegment(kind, breakAfter, i, w, leadingSpacing, advance);
6156
+ i++;
6157
+ continue;
6158
+ }
6159
+ const newFitW = lineW + fitAdvance;
6160
+ if (newFitW > fitLimit) {
6161
+ const currentBreakFitWidth = lineW + getBreakOpportunityFitContribution(prepared, kind, i, leadingSpacing);
6162
+ const currentBreakPaintWidth = lineW + getLineEndPaintContribution(prepared, kind, i, leadingSpacing, w);
6163
+ if (pendingBreakKind === 'soft-hyphen' &&
6164
+ engineProfile.preferEarlySoftHyphenBreak &&
6165
+ pendingBreakFitWidth <= fitLimit) {
6166
+ emitCurrentLine(pendingBreakSegmentIndex, 0, pendingBreakPaintWidth);
6167
+ continue;
6168
+ }
6169
+ if (pendingBreakKind === 'soft-hyphen' && continueSoftHyphenBreakableSegment(i)) {
6170
+ i++;
6171
+ continue;
6172
+ }
6173
+ if (breakAfter && currentBreakFitWidth <= fitLimit) {
6174
+ appendWholeSegment(i, advance);
6175
+ emitCurrentLine(i + 1, 0, currentBreakPaintWidth);
6176
+ i++;
6177
+ continue;
6178
+ }
6179
+ if (pendingBreakSegmentIndex >= 0 && pendingBreakFitWidth <= fitLimit) {
6180
+ if (lineEndSegmentIndex > pendingBreakSegmentIndex ||
6181
+ (lineEndSegmentIndex === pendingBreakSegmentIndex && lineEndGraphemeIndex > 0)) {
6182
+ emitCurrentLine();
6183
+ continue;
6184
+ }
6185
+ const nextSegmentIndex = pendingBreakSegmentIndex;
6186
+ emitCurrentLine(nextSegmentIndex, 0, pendingBreakPaintWidth);
6187
+ i = nextSegmentIndex;
6188
+ continue;
6189
+ }
6190
+ if (fitAdvance > fitLimit && breakableFitAdvances[i] !== null) {
6191
+ emitCurrentLine();
6192
+ appendBreakableSegmentFrom(i, 0);
6193
+ i++;
6194
+ continue;
6195
+ }
6196
+ emitCurrentLine();
6197
+ continue;
6198
+ }
6199
+ appendWholeSegment(i, advance);
6200
+ updatePendingBreakForWholeSegment(kind, breakAfter, i, w, leadingSpacing, advance);
6201
+ i++;
6202
+ }
6203
+ if (hasContent) {
6204
+ const finalPaintWidth = pendingBreakSegmentIndex === chunk.consumedEndSegmentIndex
6205
+ ? pendingBreakPaintWidth
6206
+ : lineW;
6207
+ emitCurrentLine(chunk.consumedEndSegmentIndex, 0, finalPaintWidth);
6208
+ }
6209
+ }
6210
+ return lineCount;
6211
+ }
6212
+
6213
+ // Text measurement for browser environments using canvas measureText.
6214
+ //
6215
+ // Problem: DOM-based text measurement (getBoundingClientRect, offsetHeight)
6216
+ // forces synchronous layout reflow. When components independently measure text,
6217
+ // each measurement triggers a reflow of the entire document. This creates
6218
+ // read/write interleaving that can cost 30ms+ per frame for 500 text blocks.
6219
+ //
6220
+ // Solution: two-phase measurement centered around canvas measureText.
6221
+ // prepare(text, font) — segments text via Intl.Segmenter, measures each word
6222
+ // via canvas, caches widths, and does one cached DOM calibration read per
6223
+ // font when emoji correction is needed. Call once when text first appears.
6224
+ // layout(prepared, maxWidth, lineHeight) — walks cached word widths with pure
6225
+ // arithmetic to count lines and compute height. Call on every resize.
6226
+ // ~0.0002ms per text.
6227
+ //
6228
+ // i18n: Intl.Segmenter handles CJK (per-character breaking), Thai, Arabic, etc.
6229
+ // Bidi: simplified rich-path metadata for mixed LTR/RTL custom rendering.
6230
+ // Punctuation merging: "better." measured as one unit (matches CSS behavior).
6231
+ // Trailing whitespace: hangs past line edge without triggering breaks (CSS behavior).
6232
+ // overflow-wrap: pre-measured grapheme widths enable character-level word breaking.
6233
+ //
6234
+ // Emoji correction: Chrome/Firefox canvas measures emoji wider than DOM at font
6235
+ // sizes <24px on macOS (Apple Color Emoji). The inflation is constant per emoji
6236
+ // grapheme at a given size, font-independent. Auto-detected by comparing canvas
6237
+ // vs actual DOM emoji width (one cached DOM read per font). Safari canvas and
6238
+ // DOM agree (both wider than fontSize), so correction = 0 there.
6239
+ //
6240
+ // Limitations:
6241
+ // - system-ui font: canvas resolves to different optical variants than DOM on macOS.
6242
+ // Use named fonts (Helvetica, Inter, etc.) for guaranteed accuracy.
6243
+ // See RESEARCH.md "Discovery: system-ui font resolution mismatch".
6244
+ //
6245
+ // Based on Sebastian Markbage's text-layout research (github.com/chenglou/text-layout).
6246
+ let sharedGraphemeSegmenter = null;
6247
+ function getSharedGraphemeSegmenter() {
6248
+ if (sharedGraphemeSegmenter === null) {
6249
+ sharedGraphemeSegmenter = new Intl.Segmenter(undefined, { granularity: 'grapheme' });
6250
+ }
6251
+ return sharedGraphemeSegmenter;
6252
+ }
6253
+ // --- Public API ---
6254
+ function createEmptyPrepared(includeSegments) {
6255
+ return {
6256
+ widths: [],
6257
+ lineEndFitAdvances: [],
6258
+ lineEndPaintAdvances: [],
6259
+ kinds: [],
6260
+ simpleLineWalkFastPath: true,
6261
+ segLevels: null,
6262
+ breakableFitAdvances: [],
6263
+ letterSpacing: 0,
6264
+ spacingGraphemeCounts: [],
6265
+ discretionaryHyphenWidth: 0,
6266
+ tabStopAdvance: 0,
6267
+ chunks: [],
6268
+ };
6269
+ }
6270
+ function buildBaseCjkUnits(segText, engineProfile) {
6271
+ const units = [];
6272
+ let unitParts = [];
6273
+ let unitStart = 0;
6274
+ let unitContainsCJK = false;
6275
+ let unitEndsWithClosingQuote = false;
6276
+ let unitIsSingleKinsokuEnd = false;
6277
+ function pushUnit() {
6278
+ if (unitParts.length === 0)
6279
+ return;
6280
+ units.push({
6281
+ text: unitParts.length === 1 ? unitParts[0] : unitParts.join(''),
6282
+ start: unitStart,
6283
+ });
6284
+ unitParts = [];
6285
+ unitContainsCJK = false;
6286
+ unitEndsWithClosingQuote = false;
6287
+ unitIsSingleKinsokuEnd = false;
6288
+ }
6289
+ function startUnit(grapheme, start, graphemeContainsCJK) {
6290
+ unitParts = [grapheme];
6291
+ unitStart = start;
6292
+ unitContainsCJK = graphemeContainsCJK;
6293
+ unitEndsWithClosingQuote = endsWithClosingQuote(grapheme);
6294
+ unitIsSingleKinsokuEnd = kinsokuEnd.has(grapheme);
6295
+ }
6296
+ function appendToUnit(grapheme, graphemeContainsCJK) {
6297
+ unitParts.push(grapheme);
6298
+ unitContainsCJK = unitContainsCJK || graphemeContainsCJK;
6299
+ const graphemeEndsWithClosingQuote = endsWithClosingQuote(grapheme);
6300
+ if (grapheme.length === 1 && leftStickyPunctuation.has(grapheme)) {
6301
+ unitEndsWithClosingQuote = unitEndsWithClosingQuote || graphemeEndsWithClosingQuote;
6302
+ }
6303
+ else {
6304
+ unitEndsWithClosingQuote = graphemeEndsWithClosingQuote;
6305
+ }
6306
+ unitIsSingleKinsokuEnd = false;
6307
+ }
6308
+ for (const gs of getSharedGraphemeSegmenter().segment(segText)) {
6309
+ const grapheme = gs.segment;
6310
+ const graphemeContainsCJK = isCJK(grapheme);
6311
+ if (unitParts.length === 0) {
6312
+ startUnit(grapheme, gs.index, graphemeContainsCJK);
6313
+ continue;
6314
+ }
6315
+ if (unitIsSingleKinsokuEnd ||
6316
+ kinsokuStart.has(grapheme) ||
6317
+ leftStickyPunctuation.has(grapheme) ||
6318
+ (engineProfile.carryCJKAfterClosingQuote &&
6319
+ graphemeContainsCJK &&
6320
+ unitEndsWithClosingQuote)) {
6321
+ appendToUnit(grapheme, graphemeContainsCJK);
6322
+ continue;
6323
+ }
6324
+ if (!unitContainsCJK && !graphemeContainsCJK) {
6325
+ appendToUnit(grapheme, graphemeContainsCJK);
6326
+ continue;
6327
+ }
6328
+ pushUnit();
6329
+ startUnit(grapheme, gs.index, graphemeContainsCJK);
6330
+ }
6331
+ pushUnit();
6332
+ return units;
6333
+ }
6334
+ function mergeKeepAllTextUnits(units) {
6335
+ if (units.length <= 1)
6336
+ return units;
6337
+ const merged = [];
6338
+ let currentTextParts = [units[0].text];
6339
+ let currentStart = units[0].start;
6340
+ let currentContainsCJK = isCJK(units[0].text);
6341
+ let currentCanContinue = canContinueKeepAllTextRun(units[0].text);
6342
+ function flushCurrent() {
6343
+ merged.push({
6344
+ text: currentTextParts.length === 1 ? currentTextParts[0] : currentTextParts.join(''),
6345
+ start: currentStart,
6346
+ });
6347
+ }
6348
+ for (let i = 1; i < units.length; i++) {
6349
+ const next = units[i];
6350
+ const nextContainsCJK = isCJK(next.text);
6351
+ const nextCanContinue = canContinueKeepAllTextRun(next.text);
6352
+ if (currentContainsCJK && currentCanContinue) {
6353
+ currentTextParts.push(next.text);
6354
+ currentContainsCJK = currentContainsCJK || nextContainsCJK;
6355
+ currentCanContinue = nextCanContinue;
6356
+ continue;
6357
+ }
6358
+ flushCurrent();
6359
+ currentTextParts = [next.text];
6360
+ currentStart = next.start;
6361
+ currentContainsCJK = nextContainsCJK;
6362
+ currentCanContinue = nextCanContinue;
6363
+ }
6364
+ flushCurrent();
6365
+ return merged;
6366
+ }
6367
+ function countRenderedSpacingGraphemes(text, kind) {
6368
+ if (kind === 'zero-width-break' ||
6369
+ kind === 'soft-hyphen' ||
6370
+ kind === 'hard-break') {
6371
+ return 0;
6372
+ }
6373
+ if (kind === 'tab')
6374
+ return 1;
6375
+ let count = 0;
6376
+ const graphemeSegmenter = getSharedGraphemeSegmenter();
6377
+ for (const _ of graphemeSegmenter.segment(text))
6378
+ count++;
6379
+ return count;
6380
+ }
6381
+ function addInternalLetterSpacing(width, graphemeCount, letterSpacing) {
6382
+ return graphemeCount > 1 ? width + (graphemeCount - 1) * letterSpacing : width;
6383
+ }
6384
+ function measureAnalysis(analysis, font, includeSegments, wordBreak, letterSpacing) {
6385
+ const engineProfile = getEngineProfile();
6386
+ const { cache, emojiCorrection } = getFontMeasurementState(font, textMayContainEmoji(analysis.normalized));
6387
+ const discretionaryHyphenWidth = getCorrectedSegmentWidth('-', getSegmentMetrics('-', cache), emojiCorrection) +
6388
+ (letterSpacing === 0 ? 0 : letterSpacing);
6389
+ const spaceWidth = getCorrectedSegmentWidth(' ', getSegmentMetrics(' ', cache), emojiCorrection);
6390
+ const tabStopAdvance = spaceWidth * 8;
6391
+ const hasLetterSpacing = letterSpacing !== 0;
6392
+ if (analysis.len === 0)
6393
+ return createEmptyPrepared();
6394
+ const widths = [];
6395
+ const lineEndFitAdvances = [];
6396
+ const lineEndPaintAdvances = [];
6397
+ const kinds = [];
6398
+ let simpleLineWalkFastPath = analysis.chunks.length <= 1 && !hasLetterSpacing;
6399
+ const segStarts = null;
6400
+ const breakableFitAdvances = [];
6401
+ const spacingGraphemeCounts = [];
6402
+ const segments = includeSegments ? [] : null;
6403
+ const preparedStartByAnalysisIndex = Array.from({ length: analysis.len });
6404
+ function pushMeasuredSegment(text, width, lineEndFitAdvance, lineEndPaintAdvance, kind, start, breakableFitAdvance, spacingGraphemeCount) {
6405
+ if (kind !== 'text' && kind !== 'space' && kind !== 'zero-width-break') {
6406
+ simpleLineWalkFastPath = false;
6407
+ }
6408
+ widths.push(width);
6409
+ lineEndFitAdvances.push(lineEndFitAdvance);
6410
+ lineEndPaintAdvances.push(lineEndPaintAdvance);
6411
+ kinds.push(kind);
6412
+ breakableFitAdvances.push(breakableFitAdvance);
6413
+ if (hasLetterSpacing)
6414
+ spacingGraphemeCounts.push(spacingGraphemeCount);
6415
+ if (segments !== null)
6416
+ segments.push(text);
6417
+ }
6418
+ function pushMeasuredTextSegment(text, kind, start, wordLike, allowOverflowBreaks) {
6419
+ const textMetrics = getSegmentMetrics(text, cache);
6420
+ const spacingGraphemeCount = hasLetterSpacing
6421
+ ? countRenderedSpacingGraphemes(text, kind)
6422
+ : 0;
6423
+ const width = addInternalLetterSpacing(getCorrectedSegmentWidth(text, textMetrics, emojiCorrection), spacingGraphemeCount, letterSpacing);
6424
+ const baseLineEndFitAdvance = kind === 'space' || kind === 'preserved-space' || kind === 'zero-width-break'
6425
+ ? 0
6426
+ : width;
6427
+ const lineEndFitAdvance = baseLineEndFitAdvance === 0
6428
+ ? 0
6429
+ : baseLineEndFitAdvance + (spacingGraphemeCount > 0 ? letterSpacing : 0);
6430
+ const lineEndPaintAdvance = kind === 'space' || kind === 'zero-width-break'
6431
+ ? 0
6432
+ : width;
6433
+ if (allowOverflowBreaks && wordLike && text.length > 1) {
6434
+ let fitMode = 'sum-graphemes';
6435
+ if (letterSpacing !== 0) {
6436
+ fitMode = 'segment-prefixes';
6437
+ }
6438
+ else if (isNumericRunSegment(text)) {
6439
+ fitMode = 'pair-context';
6440
+ }
6441
+ else if (engineProfile.preferPrefixWidthsForBreakableRuns) {
6442
+ fitMode = 'segment-prefixes';
6443
+ }
6444
+ const fitAdvances = getSegmentBreakableFitAdvances(text, textMetrics, cache, emojiCorrection, fitMode);
6445
+ pushMeasuredSegment(text, width, lineEndFitAdvance, lineEndPaintAdvance, kind, start, fitAdvances, spacingGraphemeCount);
6446
+ return;
6447
+ }
6448
+ pushMeasuredSegment(text, width, lineEndFitAdvance, lineEndPaintAdvance, kind, start, null, spacingGraphemeCount);
6449
+ }
6450
+ for (let mi = 0; mi < analysis.len; mi++) {
6451
+ preparedStartByAnalysisIndex[mi] = widths.length;
6452
+ const segText = analysis.texts[mi];
6453
+ const segWordLike = analysis.isWordLike[mi];
6454
+ const segKind = analysis.kinds[mi];
6455
+ const segStart = analysis.starts[mi];
6456
+ if (segKind === 'soft-hyphen') {
6457
+ pushMeasuredSegment(segText, 0, discretionaryHyphenWidth, discretionaryHyphenWidth, segKind, segStart, null, 0);
6458
+ continue;
6459
+ }
6460
+ if (segKind === 'hard-break') {
6461
+ pushMeasuredSegment(segText, 0, 0, 0, segKind, segStart, null, 0);
6462
+ continue;
6463
+ }
6464
+ if (segKind === 'tab') {
6465
+ pushMeasuredSegment(segText, 0, 0, 0, segKind, segStart, null, hasLetterSpacing ? countRenderedSpacingGraphemes(segText, segKind) : 0);
6466
+ continue;
6467
+ }
6468
+ const segMetrics = getSegmentMetrics(segText, cache);
6469
+ if (segKind === 'text' && segMetrics.containsCJK) {
6470
+ const baseUnits = buildBaseCjkUnits(segText, engineProfile);
6471
+ const measuredUnits = wordBreak === 'keep-all'
6472
+ ? mergeKeepAllTextUnits(baseUnits)
6473
+ : baseUnits;
6474
+ for (let i = 0; i < measuredUnits.length; i++) {
6475
+ const unit = measuredUnits[i];
6476
+ pushMeasuredTextSegment(unit.text, 'text', segStart + unit.start, segWordLike, wordBreak === 'keep-all' || !isCJK(unit.text));
6477
+ }
6478
+ continue;
6479
+ }
6480
+ pushMeasuredTextSegment(segText, segKind, segStart, segWordLike, true);
6481
+ }
6482
+ const chunks = mapAnalysisChunksToPreparedChunks(analysis.chunks, preparedStartByAnalysisIndex, widths.length);
6483
+ const segLevels = segStarts === null ? null : computeSegmentLevels(analysis.normalized, segStarts);
6484
+ if (segments !== null) {
6485
+ return {
6486
+ widths,
6487
+ lineEndFitAdvances,
6488
+ lineEndPaintAdvances,
6489
+ kinds,
6490
+ simpleLineWalkFastPath,
6491
+ segLevels,
6492
+ breakableFitAdvances,
6493
+ letterSpacing,
6494
+ spacingGraphemeCounts,
6495
+ discretionaryHyphenWidth,
6496
+ tabStopAdvance,
6497
+ chunks,
6498
+ segments,
6499
+ };
6500
+ }
6501
+ return {
6502
+ widths,
6503
+ lineEndFitAdvances,
6504
+ lineEndPaintAdvances,
6505
+ kinds,
6506
+ simpleLineWalkFastPath,
6507
+ segLevels,
6508
+ breakableFitAdvances,
6509
+ letterSpacing,
6510
+ spacingGraphemeCounts,
6511
+ discretionaryHyphenWidth,
6512
+ tabStopAdvance,
6513
+ chunks,
6514
+ };
6515
+ }
6516
+ function mapAnalysisChunksToPreparedChunks(chunks, preparedStartByAnalysisIndex, preparedEndSegmentIndex) {
6517
+ const preparedChunks = [];
6518
+ for (let i = 0; i < chunks.length; i++) {
6519
+ const chunk = chunks[i];
6520
+ const startSegmentIndex = chunk.startSegmentIndex < preparedStartByAnalysisIndex.length
6521
+ ? preparedStartByAnalysisIndex[chunk.startSegmentIndex]
6522
+ : preparedEndSegmentIndex;
6523
+ const endSegmentIndex = chunk.endSegmentIndex < preparedStartByAnalysisIndex.length
6524
+ ? preparedStartByAnalysisIndex[chunk.endSegmentIndex]
6525
+ : preparedEndSegmentIndex;
6526
+ const consumedEndSegmentIndex = chunk.consumedEndSegmentIndex < preparedStartByAnalysisIndex.length
6527
+ ? preparedStartByAnalysisIndex[chunk.consumedEndSegmentIndex]
6528
+ : preparedEndSegmentIndex;
6529
+ preparedChunks.push({
6530
+ startSegmentIndex,
6531
+ endSegmentIndex,
6532
+ consumedEndSegmentIndex,
6533
+ });
6534
+ }
6535
+ return preparedChunks;
6536
+ }
6537
+ function prepareInternal(text, font, includeSegments, options) {
6538
+ const wordBreak = options?.wordBreak ?? 'normal';
6539
+ const letterSpacing = options?.letterSpacing ?? 0;
6540
+ const analysis = analyzeText(text, getEngineProfile(), options?.whiteSpace, wordBreak);
6541
+ return measureAnalysis(analysis, font, includeSegments, wordBreak, letterSpacing);
6542
+ }
6543
+ // Prepare text for layout. Segments the text, measures each segment via canvas,
6544
+ // and stores the widths for fast relayout at any width. Call once per text block
6545
+ // (e.g. when a comment first appears). The result is width-independent — the
6546
+ // same PreparedText can be laid out at any maxWidth and lineHeight via layout().
6547
+ //
6548
+ // Steps:
6549
+ // 1. Normalize collapsible whitespace (CSS white-space: normal behavior)
6550
+ // 2. Segment via Intl.Segmenter (handles CJK, Thai, etc.)
6551
+ // 3. Merge punctuation into preceding word ("better." as one unit)
6552
+ // 4. Split CJK words into individual graphemes (per-character line breaks)
6553
+ // 5. Measure each segment via canvas measureText, cache by (segment, font)
6554
+ // 6. Pre-measure graphemes of long words (for overflow-wrap: break-word)
6555
+ // 7. Correct emoji canvas inflation (auto-detected per font size)
6556
+ // 8. Optionally compute rich-path bidi metadata for custom renderers
6557
+ function prepare(text, font, options) {
6558
+ return prepareInternal(text, font, false, options);
6559
+ }
6560
+ function getInternalPrepared(prepared) {
6561
+ return prepared;
6562
+ }
6563
+ // Layout prepared text at a given max width and caller-provided lineHeight.
6564
+ // Pure arithmetic on cached widths — no canvas calls, no DOM reads, no string
6565
+ // operations, no allocations.
6566
+ // ~0.0002ms per text block. Call on every resize.
6567
+ //
6568
+ // Line breaking rules (matching CSS white-space: normal + overflow-wrap: break-word):
6569
+ // - Break before any non-space segment that would overflow the line
6570
+ // - Trailing whitespace hangs past the line edge (doesn't trigger breaks)
6571
+ // - Segments wider than maxWidth are broken at grapheme boundaries
6572
+ function layout(prepared, maxWidth, lineHeight) {
6573
+ // Keep the resize hot path specialized. `layoutWithLines()` shares the same
6574
+ // break semantics but also tracks line ranges; the extra bookkeeping is too
6575
+ // expensive to pay on every hot-path `layout()` call.
6576
+ const lineCount = countPreparedLines(getInternalPrepared(prepared), maxWidth);
6577
+ return { lineCount, height: lineCount * lineHeight };
6578
+ }
6579
+
3365
6580
  // SPDX-FileCopyrightText: © 2024 Schneider Electric
3366
6581
  //
3367
6582
  // SPDX-License-Identifier: Apache-2.0
@@ -3511,6 +6726,8 @@ const ignorePromise = (promise) => {
3511
6726
  };
3512
6727
  const isTouchDevice = () => 'ontouchstart' in globalThis ||
3513
6728
  ('maxTouchPoints' in globalThis && globalThis.navigator.maxTouchPoints > 0);
6729
+ const toPretextWhiteSpace = (value) => value === 'pre-wrap' ? 'pre-wrap' : 'normal';
6730
+ const toPretextWordBreak = (value) => value === 'keep-all' ? 'keep-all' : 'normal';
3514
6731
  /**
3515
6732
  * Checks if an element's ellipsis is active.
3516
6733
  *
@@ -3518,20 +6735,48 @@ const isTouchDevice = () => 'ontouchstart' in globalThis ||
3518
6735
  * @returns `true` if ellipsis is active, `false` otherwise.
3519
6736
  */
3520
6737
  const isEllipsisActive = (element) => {
3521
- const range = document.createRange();
3522
- range.selectNodeContents(element);
3523
- const rangeRect = range.getBoundingClientRect();
3524
- const elementWidth = element.getBoundingClientRect().width;
3525
- if (rangeRect.width > elementWidth)
3526
- return true;
3527
- const { webkitLineClamp, lineHeight } = globalThis.getComputedStyle(element);
6738
+ const computedStyle = globalThis.getComputedStyle(element);
6739
+ const { webkitLineClamp, lineHeight, font, fontStyle, fontWeight, fontSize, fontFamily, paddingLeft, paddingRight, borderLeftWidth, borderRightWidth, whiteSpace, wordBreak, } = computedStyle;
6740
+ // `font` shorthand returns "" in Chromium/Firefox for shadow DOM elements
6741
+ // whose font was set via CSS custom properties. Build it from the individual
6742
+ // sub-properties which are always reliably populated.
6743
+ const resolvedFont = font === ''
6744
+ ? `${fontStyle} ${fontWeight} ${fontSize} ${fontFamily}`.trim()
6745
+ : font;
3528
6746
  const parsedLineClamp = Number.parseInt(webkitLineClamp, 10);
3529
- if (Number.isNaN(parsedLineClamp))
6747
+ if (Number.isNaN(parsedLineClamp)) {
6748
+ return element.scrollWidth > element.clientWidth;
6749
+ }
6750
+ const parsedLineHeight = Number.parseFloat(lineHeight);
6751
+ if (Number.isNaN(parsedLineHeight)) {
6752
+ return element.scrollHeight > element.clientHeight;
6753
+ }
6754
+ const contentWidth = element.getBoundingClientRect().width -
6755
+ Number.parseFloat(paddingLeft) -
6756
+ Number.parseFloat(paddingRight) -
6757
+ Number.parseFloat(borderLeftWidth) -
6758
+ Number.parseFloat(borderRightWidth);
6759
+ if (contentWidth <= 0)
3530
6760
  return false;
3531
- const parsedLineHeight = Number.parseInt(lineHeight, 10);
3532
- if (Number.isNaN(parsedLineHeight))
6761
+ const text = element.textContent ?? '';
6762
+ if (text.trim() === '')
3533
6763
  return false;
3534
- return rangeRect.height >= (parsedLineClamp + 1) * parsedLineHeight;
6764
+ const parsedLetterSpacing = Number.parseFloat(computedStyle.letterSpacing);
6765
+ const letterSpacing = Number.isNaN(parsedLetterSpacing)
6766
+ ? undefined
6767
+ : parsedLetterSpacing;
6768
+ try {
6769
+ const prepared = prepare(text, resolvedFont, {
6770
+ letterSpacing,
6771
+ whiteSpace: toPretextWhiteSpace(whiteSpace),
6772
+ wordBreak: toPretextWordBreak(wordBreak),
6773
+ });
6774
+ const { lineCount } = layout(prepared, contentWidth, parsedLineHeight);
6775
+ return lineCount > parsedLineClamp;
6776
+ }
6777
+ catch {
6778
+ return element.scrollHeight > parsedLineClamp * parsedLineHeight;
6779
+ }
3535
6780
  };
3536
6781
  const determineLinkIcon = (target,
3537
6782
  // eslint-disable-next-line unicorn/prevent-abbreviations
@@ -4105,7 +7350,7 @@ const VALID_STATE = {
4105
7350
  valueMissing: false,
4106
7351
  };
4107
7352
 
4108
- const buttonCss = ":host([hidden]){display:none!important}:host{display:inline-block;outline:none}.qds-button:disabled,.qds-disabled{opacity:var(--qds-theme-disabled);pointer-events:none}.qds-overflow{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qds-overflow[data-size=hero]{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal}.qds-action{transform:scaleX(var(--qds-direction-factor,1))}.qds-container{display:grid;grid-template-areas:\"c\"}.qds-focus-ring{border-radius:max(1px,var(\n --qds-form-input-border-radius-top-left,var(--qds-control-border-radius)\n )) max(1px,var(\n --qds-form-input-border-radius-top-right,var(--qds-control-border-radius)\n )) max(1px,var(\n --qds-form-input-border-radius-bottom-right,var(--qds-control-border-radius)\n )) max(1px,var(\n --qds-form-input-border-radius-bottom-left,var(--qds-control-border-radius)\n ));box-shadow:0 0 0 var(--qds-focus-heavy-border-width) var(--qds-theme-focus-border);grid-area:c;height:calc(100% + var(--qds-control-border-width) - var(--qds-control-border-width));isolation:isolate;outline:var(--qds-theme-focus-border-contrast) solid var(--qds-focus-light-border-width);outline-offset:0;pointer-events:none;visibility:hidden;width:calc(100% + var(--qds-control-border-width) - var(\n --qds-form-input-border-width-inline-end,\n var(--qds-control-border-width)\n ))}:host(:focus-visible) .qds-focus-ring{visibility:visible}.qds-button{align-items:center;-webkit-appearance:none;appearance:none;background-color:initial;border:none;border-radius:var(\n --qds-form-input-border-radius-top-left,var(--qds-control-border-radius)\n ) var(\n --qds-form-input-border-radius-top-right,var(--qds-control-border-radius)\n ) var(\n --qds-form-input-border-radius-bottom-right,var(--qds-control-border-radius)\n ) var(\n --qds-form-input-border-radius-bottom-left,var(--qds-control-border-radius)\n );box-sizing:border-box;cursor:pointer;display:inline-flex;grid-area:c;justify-content:center;min-width:0;outline:none;padding-block:0;position:relative;-webkit-print-color-adjust:exact;print-color-adjust:exact;text-align:center;-webkit-user-select:none;user-select:none}.qds-button:any-link{-webkit-text-decoration:none;text-decoration:none}.qds-icon{flex-shrink:0}.qds-indicator{position:absolute;transform:translate(50%,-50%)}[data-size=small]{font:var(--qds-control-small-text)}.qds-button[data-size=small]{gap:var(--qds-control-small-gap-internal);min-height:var(--qds-control-small-height);padding-inline:var(--qds-control-button-small-padding-horizontal)}.qds-icon-only[data-size=small]{width:var(--qds-control-small-height)}.qds-icon[data-size=small]{height:var(--qds-control-small-icon-size);width:var(--qds-control-small-icon-size)}[data-size=small] .qds-indicator{inset-block-start:var(--qds-control-button-small-badge-padding-top);inset-inline-end:var(--qds-control-button-small-badge-padding-end)}[data-size=standard]{font:var(--qds-control-standard-text)}.qds-button[data-size=standard]{gap:var(--qds-control-standard-gap-internal);min-height:var(--qds-control-standard-height);padding-inline:var(--qds-control-button-standard-padding-horizontal)}.qds-icon-only[data-size=standard]{width:var(--qds-control-standard-height)}.qds-icon[data-size=standard]{height:var(--qds-control-standard-icon-size);width:var(--qds-control-standard-icon-size)}[data-size=standard] .qds-indicator{inset-block-start:var(--qds-control-button-standard-badge-padding-top);inset-inline-end:var(--qds-control-button-standard-badge-padding-end)}[data-size=large]{font:var(--qds-control-large-text)}.qds-button[data-size=large]{gap:var(--qds-control-large-gap-internal);min-height:var(--qds-control-large-height);padding-inline:var(--qds-control-button-large-padding-horizontal)}.qds-icon-only[data-size=large]{width:var(--qds-control-large-height)}.qds-icon[data-size=large]{height:var(--qds-control-large-icon-size);width:var(--qds-control-large-icon-size)}[data-size=large] .qds-indicator{inset-block-start:var(--qds-control-button-large-badge-padding-top);inset-inline-end:var(--qds-control-button-large-badge-padding-end)}[data-size=large],[data-size=small],[data-size=standard]{line-height:normal}.qds-button.qds-icon-only[data-size=large],.qds-button.qds-icon-only[data-size=small],.qds-button.qds-icon-only[data-size=standard]{padding-inline:0}[data-size=hero]{font:var(--qds-control-hero-text)}.qds-button[data-size=hero]{border-radius:var(\n --qds-form-input-border-radius-top-left,var(--qds-control-hero-border-radius)\n ) var(\n --qds-form-input-border-radius-top-right,var(--qds-control-hero-border-radius)\n ) var(\n --qds-form-input-border-radius-bottom-right,var(--qds-control-hero-border-radius)\n ) var(\n --qds-form-input-border-radius-bottom-left,var(--qds-control-hero-border-radius)\n );gap:var(--qds-control-hero-gap-internal);padding-block:var(--qds-control-hero-padding-auto-height);padding-inline:var(--qds-control-button-hero-padding-horizontal)}.qds-button.qds-icon-only[data-size=hero]{min-height:var(--qds-control-hero-height);padding-inline:0;width:var(--qds-control-hero-height)}.qds-button[data-size=hero] .qds-indicator{inset-block-start:var(--qds-control-button-hero-badge-padding-top);inset-inline-end:var(--qds-control-button-hero-badge-padding-end)}.qds-focus-ring[data-size=hero]{border-radius:max(1px,var(\n --qds-form-input-border-radius-top-left,var(--qds-control-hero-border-radius)\n )) max(1px,var(\n --qds-form-input-border-radius-top-right,var(--qds-control-hero-border-radius)\n )) max(1px,var(\n --qds-form-input-border-radius-bottom-right,var(--qds-control-hero-border-radius)\n )) max(1px,var(\n --qds-form-input-border-radius-bottom-left,var(--qds-control-hero-border-radius)\n ))}.qds-icon[data-size=hero]{height:var(--qds-control-hero-icon-size);width:var(--qds-control-hero-icon-size)}[data-importance=subdued]{border-radius:0;color:var(--qds-theme-link-standard-default)}.qds-button[data-importance=subdued]{border-block-end:var(--qds-control-border-width) solid #0000;padding-inline:0}.qds-button[data-importance=subdued]:hover{border-block-end:var(--qds-control-border-width) solid var(--qds-theme-link-standard-hover);color:var(--qds-theme-link-standard-hover)}.qds-button[data-importance=subdued]:active{border-block-end:var(--qds-control-border-width) solid var(--qds-theme-link-standard-pressed);color:var(--qds-theme-link-standard-pressed)}.qds-button[data-importance=subdued]:not(.qds-icon-only){border-radius:0}.qds-button.qds-icon-only[data-importance=subdued]{border:none;color:var(--qds-theme-control-text-standard)}.qds-button.qds-icon-only[data-importance=subdued]:hover{background-color:var(--qds-theme-interactive-background-hover)}.qds-button.qds-icon-only[data-importance=subdued]:active{background-color:var(--qds-theme-interactive-background-pressed)}[data-importance=standard]{color:var(--qds-theme-control-text-standard)}.qds-button[data-importance=standard]{border-color:var(--qds-theme-control-border);border-style:solid;border-width:var(--qds-control-border-width)}.qds-button[data-importance=standard]:hover{background-color:var(--qds-theme-interactive-background-hover)}.qds-button[data-importance=standard]:active{background-color:var(--qds-theme-interactive-background-pressed)}.qds-button[data-importance=emphasized]{background-color:var(--qds-theme-signature-color-default);color:var(--qds-theme-signature-color-contrast)}.qds-button[data-importance=emphasized]:hover{background-color:var(--qds-theme-signature-color-hover)}.qds-button[data-importance=emphasized]:active{background-color:var(--qds-theme-signature-color-pressed)}.qds-button[data-importance=destructive]{background-color:var(--qds-theme-feedback-action-destructive-default);color:var(--qds-theme-feedback-action-destructive-contrast)}.qds-button[data-importance=destructive]:hover{background-color:var(--qds-theme-feedback-action-destructive-hover)}.qds-button[data-importance=destructive]:active{background-color:var(--qds-theme-feedback-action-destructive-pressed)}[data-importance=subdued-destructive]{border-radius:0;color:var(--qds-theme-feedback-action-destructive-default)}.qds-button[data-importance=subdued-destructive]{border-block-end:var(--qds-control-border-width) solid #0000;padding-inline:0}.qds-button[data-importance=subdued-destructive]:hover{border-block-end:var(--qds-control-border-width) solid var(--qds-theme-feedback-action-destructive-hover);color:var(--qds-theme-feedback-action-destructive-hover)}.qds-button[data-importance=subdued-destructive]:active{border-block-end:var(--qds-control-border-width) solid var(--qds-theme-feedback-action-destructive-pressed);color:var(--qds-theme-feedback-action-destructive-pressed)}.qds-button[data-importance=subdued-destructive]:not(.qds-icon-only){border-radius:0}.qds-button.qds-icon-only[data-importance=subdued-destructive]{border:none}.qds-button.qds-icon-only[data-importance=subdued-destructive]:hover{background-color:var(--qds-theme-interactive-background-hover);color:var(--qds-theme-feedback-action-destructive-default)}.qds-button.qds-icon-only[data-importance=subdued-destructive]:active{background-color:var(--qds-theme-interactive-background-pressed);color:var(--qds-theme-feedback-action-destructive-default)}[data-action=dropdown-close] .qds-action{transform:rotate(-180deg)}:is([data-action=dropdown],[data-action=dropdown-close]) .qds-action{transition-duration:.3s;transition-property:transform}:is([data-action=dropdown],[data-action=dropdown-close]):not(:has(qds-badge-counter)) .qds-action{margin-inline-start:auto}:is([data-action=dropdown],[data-action=dropdown-close]) qds-badge-counter{margin-inline-start:auto}[data-importance]:is([data-action=dropdown],[data-action=dropdown-close]){padding-inline:var(--qds-control-input-padding-horizontal)}";
7353
+ const buttonCss = ":host([hidden]){display:none!important}:host{display:inline-block;outline:none}.qds-button:disabled,.qds-disabled{opacity:var(--qds-theme-disabled);pointer-events:none}.qds-overflow{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qds-overflow[data-size=hero]{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal}.qds-action{transform:scaleX(var(--qds-direction-factor,1))}.qds-container{display:grid;grid-template-areas:\"b\"}.qds-focus-ring{border-radius:max(1px,var(\n --qds-form-input-border-radius-top-left,var(--qds-control-border-radius)\n )) max(1px,var(\n --qds-form-input-border-radius-top-right,var(--qds-control-border-radius)\n )) max(1px,var(\n --qds-form-input-border-radius-bottom-right,var(--qds-control-border-radius)\n )) max(1px,var(\n --qds-form-input-border-radius-bottom-left,var(--qds-control-border-radius)\n ));box-shadow:0 0 0 var(--qds-focus-heavy-border-width) var(--qds-theme-focus-border);grid-area:b;height:calc(100% + var(--qds-control-border-width) - var(--qds-control-border-width));isolation:isolate;outline:var(--qds-theme-focus-border-contrast) solid var(--qds-focus-light-border-width);outline-offset:0;pointer-events:none;visibility:hidden;width:calc(100% + var(--qds-control-border-width) - var(\n --qds-form-input-border-width-inline-end,\n var(--qds-control-border-width)\n ))}:host(:focus-visible) .qds-focus-ring{visibility:visible}.qds-button{align-items:center;-webkit-appearance:none;appearance:none;background-color:initial;border:none;border-radius:var(\n --qds-form-input-border-radius-top-left,var(--qds-control-border-radius)\n ) var(\n --qds-form-input-border-radius-top-right,var(--qds-control-border-radius)\n ) var(\n --qds-form-input-border-radius-bottom-right,var(--qds-control-border-radius)\n ) var(\n --qds-form-input-border-radius-bottom-left,var(--qds-control-border-radius)\n );box-sizing:border-box;cursor:pointer;display:inline-flex;grid-area:b;justify-content:center;min-width:0;outline:none;padding-block:0;position:relative;-webkit-print-color-adjust:exact;print-color-adjust:exact;text-align:center;-webkit-user-select:none;user-select:none}.qds-button:any-link{-webkit-text-decoration:none;text-decoration:none}.qds-icon{flex-shrink:0}.qds-indicator{position:absolute;transform:translate(50%,-50%)}[data-size=small]{font:var(--qds-control-small-text)}.qds-button[data-size=small]{gap:var(--qds-control-small-gap-internal);min-height:var(--qds-control-small-height);padding-inline:var(--qds-control-button-small-padding-horizontal)}.qds-icon-only[data-size=small]{width:var(--qds-control-small-height)}.qds-icon[data-size=small]{height:var(--qds-control-small-icon-size);width:var(--qds-control-small-icon-size)}[data-size=small] .qds-indicator{inset-block-start:var(--qds-control-button-small-badge-padding-top);inset-inline-end:var(--qds-control-button-small-badge-padding-end)}[data-size=standard]{font:var(--qds-control-standard-text)}.qds-button[data-size=standard]{gap:var(--qds-control-standard-gap-internal);min-height:var(--qds-control-standard-height);padding-inline:var(--qds-control-button-standard-padding-horizontal)}.qds-icon-only[data-size=standard]{width:var(--qds-control-standard-height)}.qds-icon[data-size=standard]{height:var(--qds-control-standard-icon-size);width:var(--qds-control-standard-icon-size)}[data-size=standard] .qds-indicator{inset-block-start:var(--qds-control-button-standard-badge-padding-top);inset-inline-end:var(--qds-control-button-standard-badge-padding-end)}[data-size=large]{font:var(--qds-control-large-text)}.qds-button[data-size=large]{gap:var(--qds-control-large-gap-internal);min-height:var(--qds-control-large-height);padding-inline:var(--qds-control-button-large-padding-horizontal)}.qds-icon-only[data-size=large]{width:var(--qds-control-large-height)}.qds-icon[data-size=large]{height:var(--qds-control-large-icon-size);width:var(--qds-control-large-icon-size)}[data-size=large] .qds-indicator{inset-block-start:var(--qds-control-button-large-badge-padding-top);inset-inline-end:var(--qds-control-button-large-badge-padding-end)}[data-size=large],[data-size=small],[data-size=standard]{line-height:normal}.qds-button.qds-icon-only[data-size=large],.qds-button.qds-icon-only[data-size=small],.qds-button.qds-icon-only[data-size=standard]{padding-inline:0}[data-size=hero]{font:var(--qds-control-hero-text)}.qds-button[data-size=hero]{border-radius:var(\n --qds-form-input-border-radius-top-left,var(--qds-control-hero-border-radius)\n ) var(\n --qds-form-input-border-radius-top-right,var(--qds-control-hero-border-radius)\n ) var(\n --qds-form-input-border-radius-bottom-right,var(--qds-control-hero-border-radius)\n ) var(\n --qds-form-input-border-radius-bottom-left,var(--qds-control-hero-border-radius)\n );gap:var(--qds-control-hero-gap-internal);padding-block:var(--qds-control-hero-padding-auto-height);padding-inline:var(--qds-control-button-hero-padding-horizontal)}.qds-button.qds-icon-only[data-size=hero]{min-height:var(--qds-control-hero-height);padding-inline:0;width:var(--qds-control-hero-height)}.qds-button[data-size=hero] .qds-indicator{inset-block-start:var(--qds-control-button-hero-badge-padding-top);inset-inline-end:var(--qds-control-button-hero-badge-padding-end)}.qds-focus-ring[data-size=hero]{border-radius:max(1px,var(\n --qds-form-input-border-radius-top-left,var(--qds-control-hero-border-radius)\n )) max(1px,var(\n --qds-form-input-border-radius-top-right,var(--qds-control-hero-border-radius)\n )) max(1px,var(\n --qds-form-input-border-radius-bottom-right,var(--qds-control-hero-border-radius)\n )) max(1px,var(\n --qds-form-input-border-radius-bottom-left,var(--qds-control-hero-border-radius)\n ))}.qds-icon[data-size=hero]{height:var(--qds-control-hero-icon-size);width:var(--qds-control-hero-icon-size)}[data-importance=subdued]{border-radius:0;color:var(--qds-theme-link-standard-default)}.qds-button[data-importance=subdued]{border-block-end:var(--qds-control-border-width) solid #0000;padding-inline:0}.qds-button[data-importance=subdued]:hover{border-block-end:var(--qds-control-border-width) solid var(--qds-theme-link-standard-hover);color:var(--qds-theme-link-standard-hover)}.qds-button[data-importance=subdued]:active{border-block-end:var(--qds-control-border-width) solid var(--qds-theme-link-standard-pressed);color:var(--qds-theme-link-standard-pressed)}.qds-button[data-importance=subdued]:not(.qds-icon-only){border-radius:0}.qds-button.qds-icon-only[data-importance=subdued]{border:none;color:var(--qds-theme-control-text-standard)}.qds-button.qds-icon-only[data-importance=subdued]:hover{background-color:var(--qds-theme-interactive-background-hover)}.qds-button.qds-icon-only[data-importance=subdued]:active{background-color:var(--qds-theme-interactive-background-pressed)}[data-importance=standard]{color:var(--qds-theme-control-text-standard)}.qds-button[data-importance=standard]{border-color:var(--qds-theme-control-border);border-style:solid;border-width:var(--qds-control-border-width)}.qds-button[data-importance=standard]:hover{background-color:var(--qds-theme-interactive-background-hover)}.qds-button[data-importance=standard]:active{background-color:var(--qds-theme-interactive-background-pressed)}.qds-button[data-importance=emphasized]{background-color:var(--qds-theme-signature-color-default);color:var(--qds-theme-signature-color-contrast)}.qds-button[data-importance=emphasized]:hover{background-color:var(--qds-theme-signature-color-hover)}.qds-button[data-importance=emphasized]:active{background-color:var(--qds-theme-signature-color-pressed)}.qds-button[data-importance=destructive]{background-color:var(--qds-theme-feedback-action-destructive-default);color:var(--qds-theme-feedback-action-destructive-contrast)}.qds-button[data-importance=destructive]:hover{background-color:var(--qds-theme-feedback-action-destructive-hover)}.qds-button[data-importance=destructive]:active{background-color:var(--qds-theme-feedback-action-destructive-pressed)}[data-importance=subdued-destructive]{border-radius:0;color:var(--qds-theme-feedback-action-destructive-default)}.qds-button[data-importance=subdued-destructive]{border-block-end:var(--qds-control-border-width) solid #0000;padding-inline:0}.qds-button[data-importance=subdued-destructive]:hover{border-block-end:var(--qds-control-border-width) solid var(--qds-theme-feedback-action-destructive-hover);color:var(--qds-theme-feedback-action-destructive-hover)}.qds-button[data-importance=subdued-destructive]:active{border-block-end:var(--qds-control-border-width) solid var(--qds-theme-feedback-action-destructive-pressed);color:var(--qds-theme-feedback-action-destructive-pressed)}.qds-button[data-importance=subdued-destructive]:not(.qds-icon-only){border-radius:0}.qds-button.qds-icon-only[data-importance=subdued-destructive]{border:none}.qds-button.qds-icon-only[data-importance=subdued-destructive]:hover{background-color:var(--qds-theme-interactive-background-hover);color:var(--qds-theme-feedback-action-destructive-default)}.qds-button.qds-icon-only[data-importance=subdued-destructive]:active{background-color:var(--qds-theme-interactive-background-pressed);color:var(--qds-theme-feedback-action-destructive-default)}[data-action=dropdown-close] .qds-action{transform:rotate(-180deg)}:is([data-action=dropdown],[data-action=dropdown-close]) .qds-action{transition-duration:.3s;transition-property:transform}:is([data-action=dropdown],[data-action=dropdown-close]):not(:has(qds-badge-counter)) .qds-action{margin-inline-start:auto}:is([data-action=dropdown],[data-action=dropdown-close]) qds-badge-counter{margin-inline-start:auto}[data-importance]:is([data-action=dropdown],[data-action=dropdown-close]){padding-inline:var(--qds-control-input-padding-horizontal)}";
4109
7354
 
4110
7355
  // SPDX-FileCopyrightText: © 2024 Schneider Electric
4111
7356
  //
@@ -4541,7 +7786,7 @@ _Button_savedTabIndex = new WeakMap(), _Button_button = new WeakMap(), _Button_s
4541
7786
  Object.defineProperty(this.host, p, { enumerable: true, get });
4542
7787
  };
4543
7788
 
4544
- const checkboxCss = ":host([hidden]){display:none!important}:host{display:inline-block;line-height:0;outline:none}.qds-checkbox,.qds-icon{grid-area:b;place-self:center}.qds-icon{color:var(--qds-theme-signature-color-contrast);display:none;pointer-events:none}.qds-container{display:grid;grid-template-areas:\"b\"}.qds-label{align-items:flex-start;background-color:var(--qds-theme-interactive-background-default);border-radius:var(--qds-control-border-radius);box-sizing:border-box;cursor:pointer;display:inline-flex;justify-content:center;width:inherit}.qds-label:hover{background-color:var(--qds-theme-interactive-background-hover)}.qds-label:active{background-color:var(--qds-theme-interactive-background-pressed)}:host(:focus-visible) .qds-label{box-shadow:0 0 0 var(--qds-focus-heavy-border-width) var(--qds-theme-focus-border);outline:var(--qds-theme-focus-border-contrast) solid var(--qds-focus-light-border-width);outline-offset:0}.qds-label-inner{color:var(--qds-theme-control-text-standard);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;width:100%}.qds-required{color:var(--qds-theme-feedback-field-required);-webkit-user-select:none;user-select:none}.qds-tooltip{line-height:normal}.qds-checkbox{-webkit-appearance:none;appearance:none;background-color:var(--qds-theme-interactive-background-default);border:var(--qds-control-border-width) solid var(--qds-theme-control-border);cursor:pointer;margin:0;-webkit-print-color-adjust:exact;print-color-adjust:exact}.qds-checkbox:focus-visible{outline:none}.qds-checkbox:checked~.qds-checked,.qds-checkbox:indeterminate~.qds-indeterminate{display:block}.qds-checkbox:checked,.qds-checkbox:indeterminate{background-color:var(--qds-theme-control-background-contrast);border-color:#0000}.qds-disabled{opacity:var(--qds-theme-disabled);pointer-events:none}.qds-checkbox[data-size=small]{border-radius:var(--qds-control-toggle-small-knob-border-radius);height:var(--qds-control-toggle-small-box-size);width:var(--qds-control-toggle-small-box-size)}.qds-icon[data-size=small]{font-size:var(--qds-control-toggle-small-box-size)}.qds-label[data-size=small]{gap:var(--qds-control-small-gap-siblings-related);min-height:var(--qds-control-toggle-small-height);min-width:var(--qds-control-toggle-small-width);padding-block:var(--qds-control-no-inline-small-padding-vertical)}.qds-label-inner[data-size=small]{font:var(--qds-control-small-text)}.qds-inline[data-size=small]{min-height:var(--qds-control-small-height);padding:var(--qds-control-small-padding-auto-height) var(--qds-control-toggle-small-padding-horizontal)}.qds-checkbox[data-size=standard]{border-radius:var(--qds-control-toggle-standard-knob-border-radius);height:var(--qds-control-toggle-standard-box-size);width:var(--qds-control-toggle-standard-box-size)}.qds-icon[data-size=standard]{font-size:var(--qds-control-toggle-standard-box-size)}.qds-label[data-size=standard]{gap:var(--qds-control-standard-gap-siblings-related);min-height:var(--qds-control-toggle-standard-height);min-width:var(--qds-control-toggle-standard-width);padding-block:var(--qds-control-no-inline-standard-padding-vertical)}.qds-label-inner[data-size=standard]{font:var(--qds-control-standard-text)}.qds-inline[data-size=standard]{min-height:var(--qds-control-standard-height);padding:var(--qds-control-standard-padding-auto-height) var(--qds-control-toggle-standard-padding-horizontal)}.qds-checkbox[data-size=large]{border-radius:var(--qds-control-toggle-large-knob-border-radius);height:var(--qds-control-toggle-large-box-size);width:var(--qds-control-toggle-large-box-size)}.qds-icon[data-size=large]{font-size:var(--qds-control-toggle-large-box-size)}.qds-label[data-size=large]{gap:var(--qds-control-large-gap-siblings-related);min-height:var(--qds-control-toggle-large-height);min-width:var(--qds-control-toggle-large-width);padding-block:var(--qds-control-no-inline-large-padding-vertical)}.qds-label-inner[data-size=large]{font:var(--qds-control-large-text)}.qds-inline[data-size=large]{min-height:var(--qds-control-large-height);padding:var(--qds-control-large-padding-auto-height) var(--qds-control-toggle-large-padding-horizontal)}";
7789
+ const checkboxCss = ":host([hidden]){display:none!important}:host{display:inline-block;line-height:0;outline:none}.qds-checkbox,.qds-icon{grid-area:a;place-self:center}.qds-icon{color:var(--qds-theme-signature-color-contrast);display:none;pointer-events:none}.qds-container{display:grid;grid-template-areas:\"a\"}.qds-label{align-items:flex-start;background-color:var(--qds-theme-interactive-background-default);border-radius:var(--qds-control-border-radius);box-sizing:border-box;cursor:pointer;display:inline-flex;justify-content:center;width:inherit}.qds-label:hover{background-color:var(--qds-theme-interactive-background-hover)}.qds-label:active{background-color:var(--qds-theme-interactive-background-pressed)}:host(:focus-visible) .qds-label{box-shadow:0 0 0 var(--qds-focus-heavy-border-width) var(--qds-theme-focus-border);outline:var(--qds-theme-focus-border-contrast) solid var(--qds-focus-light-border-width);outline-offset:0}.qds-label-inner{color:var(--qds-theme-control-text-standard);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;width:100%}.qds-required{color:var(--qds-theme-feedback-field-required);-webkit-user-select:none;user-select:none}.qds-tooltip{line-height:normal}.qds-checkbox{-webkit-appearance:none;appearance:none;background-color:var(--qds-theme-interactive-background-default);border:var(--qds-control-border-width) solid var(--qds-theme-control-border);cursor:pointer;margin:0;-webkit-print-color-adjust:exact;print-color-adjust:exact}.qds-checkbox:focus-visible{outline:none}.qds-checkbox:checked~.qds-checked,.qds-checkbox:indeterminate~.qds-indeterminate{display:block}.qds-checkbox:checked,.qds-checkbox:indeterminate{background-color:var(--qds-theme-control-background-default-contrast);border-color:#0000}.qds-disabled{opacity:var(--qds-theme-disabled);pointer-events:none}.qds-checkbox[data-size=small]{border-radius:var(--qds-control-toggle-small-knob-border-radius);height:var(--qds-control-toggle-small-box-size);width:var(--qds-control-toggle-small-box-size)}.qds-icon[data-size=small]{font-size:var(--qds-control-toggle-small-box-size)}.qds-label[data-size=small]{gap:var(--qds-control-small-gap-siblings-related);min-height:var(--qds-control-toggle-small-height);min-width:var(--qds-control-toggle-small-width);padding-block:var(--qds-control-no-inline-small-padding-vertical)}.qds-label-inner[data-size=small]{font:var(--qds-control-small-text)}.qds-inline[data-size=small]{min-height:var(--qds-control-small-height);padding:var(--qds-control-small-padding-auto-height) var(--qds-control-toggle-small-padding-horizontal)}.qds-checkbox[data-size=standard]{border-radius:var(--qds-control-toggle-standard-knob-border-radius);height:var(--qds-control-toggle-standard-box-size);width:var(--qds-control-toggle-standard-box-size)}.qds-icon[data-size=standard]{font-size:var(--qds-control-toggle-standard-box-size)}.qds-label[data-size=standard]{gap:var(--qds-control-standard-gap-siblings-related);min-height:var(--qds-control-toggle-standard-height);min-width:var(--qds-control-toggle-standard-width);padding-block:var(--qds-control-no-inline-standard-padding-vertical)}.qds-label-inner[data-size=standard]{font:var(--qds-control-standard-text)}.qds-inline[data-size=standard]{min-height:var(--qds-control-standard-height);padding:var(--qds-control-standard-padding-auto-height) var(--qds-control-toggle-standard-padding-horizontal)}.qds-checkbox[data-size=large]{border-radius:var(--qds-control-toggle-large-knob-border-radius);height:var(--qds-control-toggle-large-box-size);width:var(--qds-control-toggle-large-box-size)}.qds-icon[data-size=large]{font-size:var(--qds-control-toggle-large-box-size)}.qds-label[data-size=large]{gap:var(--qds-control-large-gap-siblings-related);min-height:var(--qds-control-toggle-large-height);min-width:var(--qds-control-toggle-large-width);padding-block:var(--qds-control-no-inline-large-padding-vertical)}.qds-label-inner[data-size=large]{font:var(--qds-control-large-text)}.qds-inline[data-size=large]{min-height:var(--qds-control-large-height);padding:var(--qds-control-large-padding-auto-height) var(--qds-control-toggle-large-padding-horizontal)}";
4545
7790
 
4546
7791
  // SPDX-FileCopyrightText: © 2024 Schneider Electric
4547
7792
  //
@@ -4859,7 +8104,7 @@ _Checkbox_ro = new WeakMap(), _Checkbox_savedTabIndex = new WeakMap(), _Checkbox
4859
8104
  Object.defineProperty(this.host, p, { enumerable: true, get });
4860
8105
  };
4861
8106
 
4862
- const chipCss = ":host([hidden]){display:none!important}:host{display:block}[aria-disabled=true]{opacity:var(--qds-theme-disabled);pointer-events:none}.qds-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qds-label{display:flex}.qds-container{min-width:0}.qds-target{-webkit-appearance:none;appearance:none;background-color:initial;border:none;color:inherit;cursor:pointer;display:flex;outline:none;padding:0;pointer-events:auto}.qds-target:disabled{pointer-events:none}.qds-alignment{align-items:center;display:flex}.qds-cursor{cursor:pointer}.qds-icon{flex-shrink:0}.qds-closable-chip,.qds-container{align-items:center;-webkit-appearance:none;appearance:none;background-color:initial;border:var(--qds-control-border-width) solid var(--qds-theme-control-border);border-radius:var(--qds-control-rounded-border-radius);box-sizing:border-box;color:var(--qds-theme-control-text-standard);display:inline-flex;gap:var(--qds-control-chip-gap-internal);justify-content:center;padding-block:0;-webkit-user-select:none;user-select:none}.qds-checkbox:active~.qds-container,.qds-closable-chip:has(.qds-target:active),.qds-container.qds-pressed-state{background-color:var(--qds-theme-interactive-background-pressed)}.qds-container.qds-selected-state{background-color:var(--qds-theme-interactive-background-selected)}.qds-container.qds-selected-state:hover{background-color:var(--qds-theme-interactive-background-selected-hover)}.qds-container.qds-selected-state:active{background-color:var(--qds-theme-interactive-background-selected-pressed)}.qds-checkbox{clip-path:inset(50%);margin:0;position:absolute}.qds-checkbox:focus-visible~.qds-container{box-shadow:0 0 0 var(--qds-focus-heavy-border-width) var(--qds-theme-focus-border);outline:var(--qds-theme-focus-border-contrast) solid var(--qds-focus-light-border-width);outline-offset:0}.qds-closable-chip[data-size=small],.qds-container[data-size=small]{min-height:var(--qds-control-chip-small-height);padding-inline:var(--qds-control-chip-small-padding-horizontal)}.qds-closable-chip[data-size=small]{padding-inline-end:var(--qds-control-chip-closable-small-padding-end)}.qds-icon[data-size=small]{height:var(--qds-control-small-icon-size);width:var(--qds-control-small-icon-size)}.qds-text[data-size=small]{font:var(--qds-control-small-text);line-height:normal}.qds-closable-chip[data-size=standard],.qds-container[data-size=standard]{min-height:var(--qds-control-chip-standard-height);padding-inline:var(--qds-control-chip-standard-padding-horizontal)}.qds-closable-chip[data-size=standard]{padding-inline-end:var(--qds-control-chip-closable-standard-padding-end)}.qds-icon[data-size=standard]{height:var(--qds-control-standard-icon-size);width:var(--qds-control-standard-icon-size)}.qds-text[data-size=standard]{font:var(--qds-control-standard-text);line-height:normal}.qds-closable-chip[data-size=large],.qds-container[data-size=large]{min-height:var(--qds-control-chip-large-height);padding-inline:var(--qds-control-chip-large-padding-horizontal)}.qds-closable-chip[data-size=large]{padding-inline-end:var(--qds-control-chip-closable-large-padding-end)}.qds-icon[data-size=large]{height:var(--qds-control-large-icon-size);width:var(--qds-control-large-icon-size)}.qds-text[data-size=large]{font:var(--qds-control-large-text);line-height:normal}";
8107
+ const chipCss = ":host([hidden]){display:none!important}:host{display:block}[aria-disabled=true]{opacity:var(--qds-theme-disabled);pointer-events:none}.qds-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qds-label{display:flex}.qds-container{min-width:0}.qds-container:not(.qds-closable-chip):hover{background-color:var(--qds-theme-interactive-background-hover)}.qds-container:not(.qds-closable-chip):active{background-color:var(--qds-theme-interactive-background-pressed)}.qds-target{-webkit-appearance:none;appearance:none;background-color:initial;border:none;color:inherit;cursor:pointer;display:flex;outline:none;padding:0;pointer-events:auto}.qds-target:disabled{pointer-events:none}.qds-alignment{align-items:center;display:flex}.qds-cursor{cursor:pointer}.qds-icon{flex-shrink:0}.qds-closable-chip,.qds-container{align-items:center;-webkit-appearance:none;appearance:none;background-color:initial;border:var(--qds-control-border-width) solid var(--qds-theme-control-border);border-radius:var(--qds-control-rounded-border-radius);box-sizing:border-box;color:var(--qds-theme-control-text-standard);display:inline-flex;gap:var(--qds-control-chip-gap-internal);justify-content:center;padding-block:0;-webkit-user-select:none;user-select:none}.qds-checkbox:active~.qds-container,.qds-closable-chip:has(.qds-target:active),.qds-container.qds-pressed-state{background-color:var(--qds-theme-interactive-background-pressed)}.qds-container.qds-selected-state{background-color:var(--qds-theme-interactive-background-selected)}.qds-container.qds-selected-state:hover{background-color:var(--qds-theme-interactive-background-selected-hover)}.qds-container.qds-selected-state:active{background-color:var(--qds-theme-interactive-background-selected-pressed)}.qds-checkbox{clip-path:inset(50%);margin:0;position:absolute}.qds-checkbox:focus-visible~.qds-container{box-shadow:0 0 0 var(--qds-focus-heavy-border-width) var(--qds-theme-focus-border);outline:var(--qds-theme-focus-border-contrast) solid var(--qds-focus-light-border-width);outline-offset:0}.qds-closable-chip[data-size=small],.qds-container[data-size=small]{min-height:var(--qds-control-chip-small-height);padding-inline:var(--qds-control-chip-small-padding-horizontal)}.qds-closable-chip[data-size=small]{padding-inline-end:var(--qds-control-chip-closable-small-padding-end)}.qds-icon[data-size=small]{height:var(--qds-control-small-icon-size);width:var(--qds-control-small-icon-size)}.qds-text[data-size=small]{font:var(--qds-control-small-text);line-height:normal}.qds-closable-chip[data-size=standard],.qds-container[data-size=standard]{min-height:var(--qds-control-chip-standard-height);padding-inline:var(--qds-control-chip-standard-padding-horizontal)}.qds-closable-chip[data-size=standard]{padding-inline-end:var(--qds-control-chip-closable-standard-padding-end)}.qds-icon[data-size=standard]{height:var(--qds-control-standard-icon-size);width:var(--qds-control-standard-icon-size)}.qds-text[data-size=standard]{font:var(--qds-control-standard-text);line-height:normal}.qds-closable-chip[data-size=large],.qds-container[data-size=large]{min-height:var(--qds-control-chip-large-height);padding-inline:var(--qds-control-chip-large-padding-horizontal)}.qds-closable-chip[data-size=large]{padding-inline-end:var(--qds-control-chip-closable-large-padding-end)}.qds-icon[data-size=large]{height:var(--qds-control-large-icon-size);width:var(--qds-control-large-icon-size)}.qds-text[data-size=large]{font:var(--qds-control-large-text);line-height:normal}";
4863
8108
 
4864
8109
  // SPDX-FileCopyrightText: © 2024 Schneider Electric
4865
8110
  //
@@ -5238,7 +8483,7 @@ class Dialog {
5238
8483
  }
5239
8484
  render() {
5240
8485
  const hasHeading = this.hasTitleSlot || this.closable === true;
5241
- return (hAsync(Host, { key: 'b56703628894d44de6fbfa044b8e159879638c1d' }, hAsync("dialog", { key: '7171f1cba7abb9462d7b6a4a9e8d3d1f627b0025', class: "qds-dialog", ref: __classPrivateFieldGet$q(this, _Dialog_ref, "f"), onCancel: __classPrivateFieldGet$q(this, _Dialog_onCancel, "f"), onClose: __classPrivateFieldGet$q(this, _Dialog_onClose, "f"), onSubmit: __classPrivateFieldGet$q(this, _Dialog_onSubmit, "f"), ...__classPrivateFieldGet$q(this, _Dialog_inheritedAttributes, "f"), "aria-labelledby": this.hasTitleSlot ? __classPrivateFieldGet$q(this, _Dialog_titleId, "f") : undefined }, hasHeading && (hAsync("div", { key: '11f44e5d24633fc0c17255a730dd5c456cbf165e', class: "qds-heading" }, this.hasTitleSlot && (hAsync("div", { key: 'a78301d8c219d0280c657c707ba6e9c00a0fdbd6', id: __classPrivateFieldGet$q(this, _Dialog_titleId, "f") }, hAsync("slot", { key: '58d3175ca7b36fba80a31f348d9c41f6fbf5d57f', name: "title" }))), this.closable === true && (hAsync("qds-icon-button", { key: 'e5b3d849829ae3aa672ce1a86f9b5e5696df0e0d', text: "close dialog", class: "qds-close-button", importance: "subdued", iconName: "close", iconLibrary: "core", onClick: __classPrivateFieldGet$q(this, _Dialog_handleCloseClick, "f"), ref: __classPrivateFieldGet$q(this, _Dialog_closeButtonRef, "f") })))), hAsync("div", { key: '775bb97545208edf31fa2205ca4011883e95c3f4', class: "qds-content" }, hAsync("slot", { key: 'b8b270ecaacac369a859d04fb17750bc0474aeae' })), this.hasFooterSlot && (hAsync("div", { key: 'b33c4f068fd65cbd688f449ec819829073d3e019', class: "qds-footer" }, hAsync("slot", { key: 'aa3e314e0b76b5c38ed1e0ddf25ac048ab1ddf15', name: "footer" })))), hAsync("div", { key: 'f2127abeb01723559abaa8537fdcc07081082b73', class: "qds-backdrop", "aria-hidden": "true" })));
8486
+ return (hAsync(Host, { key: 'b56703628894d44de6fbfa044b8e159879638c1d' }, hAsync("dialog", { key: '7171f1cba7abb9462d7b6a4a9e8d3d1f627b0025', class: "qds-dialog", ref: __classPrivateFieldGet$q(this, _Dialog_ref, "f"), onCancel: __classPrivateFieldGet$q(this, _Dialog_onCancel, "f"), onClose: __classPrivateFieldGet$q(this, _Dialog_onClose, "f"), onSubmit: __classPrivateFieldGet$q(this, _Dialog_onSubmit, "f"), ...__classPrivateFieldGet$q(this, _Dialog_inheritedAttributes, "f"), "aria-labelledby": this.hasTitleSlot ? __classPrivateFieldGet$q(this, _Dialog_titleId, "f") : undefined }, hasHeading && (hAsync("div", { key: '11f44e5d24633fc0c17255a730dd5c456cbf165e', class: "qds-heading" }, this.hasTitleSlot && (hAsync("div", { key: 'a78301d8c219d0280c657c707ba6e9c00a0fdbd6', id: __classPrivateFieldGet$q(this, _Dialog_titleId, "f") }, hAsync("slot", { key: '58d3175ca7b36fba80a31f348d9c41f6fbf5d57f', name: "title" }))), this.closable === true && (hAsync("qds-icon-button", { key: '2e2a17808f834b06f6e943a5f244ec0c285a3146', "aria-label": "close dialog", class: "qds-close-button", importance: "subdued", iconName: "close", iconLibrary: "core", onClick: __classPrivateFieldGet$q(this, _Dialog_handleCloseClick, "f"), ref: __classPrivateFieldGet$q(this, _Dialog_closeButtonRef, "f") })))), hAsync("div", { key: '1f786997b316d78ee10223300ff7c466da05183e', class: "qds-content" }, hAsync("slot", { key: 'aa7a58c5dd9c87c93b5f82ddc9233bc976094c10' })), this.hasFooterSlot && (hAsync("div", { key: '07b1e4905114693f6eb3d4f3e341acb47a239cfa', class: "qds-footer" }, hAsync("slot", { key: '7ae0ea49b6562dd077742311263774f7cecc1f40', name: "footer" })))), hAsync("div", { key: '2d289087a865ef35e649e8268933286888494800', class: "qds-backdrop", "aria-hidden": "true" })));
5242
8487
  }
5243
8488
  show() {
5244
8489
  invariant(__classPrivateFieldGet$q(this, _Dialog_dialog, "f"));
@@ -7806,7 +11051,7 @@ class Icon {
7806
11051
  }; }
7807
11052
  }
7808
11053
 
7809
- const iconButtonCss = ":host{display:block;outline:none}.qds-focus-ring{border-radius:max(1px,var(\n --qds-form-input-border-radius-top-left,var(--qds-control-border-radius)\n )) max(1px,var(\n --qds-form-input-border-radius-top-right,var(--qds-control-border-radius)\n )) max(1px,var(\n --qds-form-input-border-radius-bottom-right,var(--qds-control-border-radius)\n )) max(1px,var(\n --qds-form-input-border-radius-bottom-left,var(--qds-control-border-radius)\n ));box-shadow:0 0 0 var(--qds-focus-heavy-border-width) var(--qds-theme-focus-border);grid-area:a;height:calc(100% + var(--qds-control-border-width) - var(--qds-control-border-width));isolation:isolate;outline:var(--qds-theme-focus-border-contrast) solid var(--qds-focus-light-border-width);outline-offset:0;pointer-events:none;visibility:hidden;width:calc(100% + var(--qds-control-border-width) - var(\n --qds-form-input-border-width-inline-end,\n var(--qds-control-border-width)\n ))}:host(:focus-visible) .qds-focus-ring{visibility:visible}.qds-container{display:grid;grid-template-areas:\"a\"}.qds-icon-button{align-items:center;-webkit-appearance:none;appearance:none;background-color:initial;border:none;border-radius:var(\n --qds-form-input-border-radius-top-left,var(--qds-control-border-radius)\n ) var(\n --qds-form-input-border-radius-top-right,var(--qds-control-border-radius)\n ) var(\n --qds-form-input-border-radius-bottom-right,var(--qds-control-border-radius)\n ) var(\n --qds-form-input-border-radius-bottom-left,var(--qds-control-border-radius)\n );box-sizing:border-box;color:var(--qds-theme-control-text-standard);cursor:pointer;display:flex;grid-area:a;justify-content:center;line-height:normal;min-width:0;outline:none;padding-inline:0;position:relative;-webkit-user-select:none;user-select:none}.qds-icon-button:hover{background-color:var(--qds-theme-interactive-background-hover)}.qds-icon-button:active{background-color:var(--qds-theme-interactive-background-pressed)}.qds-disabled{opacity:var(--qds-theme-disabled);pointer-events:none}.qds-icon{flex-shrink:0}.qds-indicator{transform:translate(50%,-50%)}.qds-counter,.qds-indicator{position:absolute}[data-size=small]{min-height:var(--qds-control-small-height);width:var(--qds-control-small-height)}.qds-icon[data-size=small]{min-height:var(--qds-control-small-icon-size);width:var(--qds-control-small-icon-size)}[data-size=small] .qds-indicator{inset-block-start:var(\n --qds-control-icon-button-small-badge-indicator-padding-top\n );inset-inline-end:var(\n --qds-control-icon-button-small-badge-indicator-padding-end\n )}[data-size=small] .qds-counter{inset-block-start:calc(var(--qds-control-icon-button-small-badge-counter-padding-top) - var(--qds-feedback-badge-border-width));inset-inline-end:calc(var(--qds-control-icon-button-small-badge-counter-padding-end) - var(--qds-feedback-badge-border-width))}[data-size=standard]{min-height:var(--qds-control-standard-height);width:var(--qds-control-standard-height)}.qds-icon[data-size=standard]{min-height:var(--qds-control-standard-icon-size);width:var(--qds-control-standard-icon-size)}[data-size=standard] .qds-indicator{inset-block-start:var(\n --qds-control-icon-button-standard-badge-indicator-padding-top\n );inset-inline-end:var(\n --qds-control-icon-button-standard-badge-indicator-padding-end\n )}[data-size=standard] .qds-counter{inset-block-start:calc(var(--qds-control-icon-button-standard-badge-counter-padding-top) - var(--qds-feedback-badge-border-width));inset-inline-end:calc(var(--qds-control-icon-button-standard-badge-counter-padding-end) - var(--qds-feedback-badge-border-width))}[data-size=large]{min-height:var(--qds-control-large-height);width:var(--qds-control-large-height)}.qds-icon[data-size=large]{min-height:var(--qds-control-large-icon-size);width:var(--qds-control-large-icon-size)}[data-size=large] .qds-indicator{inset-block-start:var(\n --qds-control-icon-button-large-badge-indicator-padding-top\n );inset-inline-end:var(\n --qds-control-icon-button-large-badge-indicator-padding-end\n )}[data-size=large] .qds-counter{inset-block-start:calc(var(--qds-control-icon-button-large-badge-counter-padding-top) - var(--qds-feedback-badge-border-width));inset-inline-end:calc(var(--qds-control-icon-button-large-badge-counter-padding-end) - var(--qds-feedback-badge-border-width))}[data-size=hero]{border-radius:var(\n --qds-form-input-border-radius-top-left,var(--qds-control-hero-border-radius)\n ) var(\n --qds-form-input-border-radius-top-right,var(--qds-control-hero-border-radius)\n ) var(\n --qds-form-input-border-radius-bottom-right,var(--qds-control-hero-border-radius)\n ) var(\n --qds-form-input-border-radius-bottom-left,var(--qds-control-hero-border-radius)\n );min-height:var(--qds-control-hero-height);width:var(--qds-control-hero-height)}.qds-icon[data-size=hero]{min-height:var(--qds-control-hero-icon-size);width:var(--qds-control-hero-icon-size)}[data-size=hero] .qds-indicator{inset-block-start:var(\n --qds-control-icon-button-hero-badge-indicator-padding-top\n );inset-inline-end:var(\n --qds-control-icon-button-hero-badge-indicator-padding-end\n )}[data-size=hero] .qds-counter{inset-block-start:var(\n --qds-control-icon-button-hero-badge-counter-padding-top\n );inset-inline-end:var(\n --qds-control-icon-button-hero-badge-counter-padding-end\n )}[data-importance=subdued]{color:var(--qds-theme-control-text-standard)}[data-importance=subdued]:hover{background-color:var(--qds-theme-interactive-background-hover)}[data-importance=subdued]:active{background-color:var(--qds-theme-interactive-background-pressed)}[data-importance=standard]{border:var(--qds-control-border-width) solid var(--qds-theme-control-border);color:var(--qds-theme-control-text-standard)}[data-importance=standard]:hover{background-color:var(--qds-theme-interactive-background-hover)}[data-importance=standard]:active{background-color:var(--qds-theme-interactive-background-pressed)}[data-importance=emphasized]{background-color:var(--qds-theme-signature-color-default);color:var(--qds-theme-signature-color-contrast)}[data-importance=emphasized]:hover{background-color:var(--qds-theme-signature-color-hover)}[data-importance=emphasized]:active{background-color:var(--qds-theme-signature-color-pressed)}[data-importance=destructive]{background-color:var(--qds-theme-feedback-action-destructive-default);color:var(--qds-theme-feedback-action-destructive-contrast)}[data-importance=destructive]:hover{background-color:var(--qds-theme-feedback-action-destructive-hover)}[data-importance=destructive]:active{background-color:var(--qds-theme-feedback-action-destructive-pressed)}[data-importance=subdued-destructive]{border:none;color:var(--qds-theme-feedback-action-destructive-default)}[data-importance=subdued-destructive]:hover{background-color:var(--qds-theme-interactive-background-hover);color:var(--qds-theme-feedback-action-destructive-default)}[data-importance=subdued-destructive]:active{background-color:var(--qds-theme-interactive-background-pressed);color:var(--qds-theme-feedback-action-destructive-default)}";
11054
+ const iconButtonCss = ":host{display:block;outline:none}.qds-focus-ring{border-radius:max(1px,var(\n --qds-form-input-border-radius-top-left,var(--qds-control-border-radius)\n )) max(1px,var(\n --qds-form-input-border-radius-top-right,var(--qds-control-border-radius)\n )) max(1px,var(\n --qds-form-input-border-radius-bottom-right,var(--qds-control-border-radius)\n )) max(1px,var(\n --qds-form-input-border-radius-bottom-left,var(--qds-control-border-radius)\n ));box-shadow:0 0 0 var(--qds-focus-heavy-border-width) var(--qds-theme-focus-border);grid-area:d;height:calc(100% + var(--qds-control-border-width) - var(--qds-control-border-width));isolation:isolate;outline:var(--qds-theme-focus-border-contrast) solid var(--qds-focus-light-border-width);outline-offset:0;pointer-events:none;visibility:hidden;width:calc(100% + var(--qds-control-border-width) - var(\n --qds-form-input-border-width-inline-end,\n var(--qds-control-border-width)\n ))}:host(:focus-visible) .qds-focus-ring{visibility:visible}.qds-container{display:grid;grid-template-areas:\"d\"}.qds-icon-button{align-items:center;-webkit-appearance:none;appearance:none;background-color:initial;border:none;border-radius:var(\n --qds-form-input-border-radius-top-left,var(--qds-control-border-radius)\n ) var(\n --qds-form-input-border-radius-top-right,var(--qds-control-border-radius)\n ) var(\n --qds-form-input-border-radius-bottom-right,var(--qds-control-border-radius)\n ) var(\n --qds-form-input-border-radius-bottom-left,var(--qds-control-border-radius)\n );box-sizing:border-box;color:var(--qds-theme-control-text-standard);cursor:pointer;display:flex;grid-area:d;justify-content:center;line-height:normal;min-width:0;outline:none;padding-inline:0;position:relative;-webkit-user-select:none;user-select:none}.qds-icon-button:hover{background-color:var(--qds-theme-interactive-background-hover)}.qds-icon-button:active{background-color:var(--qds-theme-interactive-background-pressed)}.qds-disabled{opacity:var(--qds-theme-disabled);pointer-events:none}.qds-icon{flex-shrink:0}.qds-indicator{transform:translate(50%,-50%)}.qds-counter,.qds-indicator{position:absolute}[data-size=small]{min-height:var(--qds-control-small-height);width:var(--qds-control-small-height)}.qds-icon[data-size=small]{min-height:var(--qds-control-small-icon-size);width:var(--qds-control-small-icon-size)}[data-size=small] .qds-indicator{inset-block-start:var(\n --qds-control-icon-button-small-badge-indicator-padding-top\n );inset-inline-end:var(\n --qds-control-icon-button-small-badge-indicator-padding-end\n )}[data-size=small] .qds-counter{inset-block-start:calc(var(--qds-control-icon-button-small-badge-counter-padding-top) - var(--qds-feedback-badge-border-width));inset-inline-end:calc(var(--qds-control-icon-button-small-badge-counter-padding-end) - var(--qds-feedback-badge-border-width))}[data-size=standard]{min-height:var(--qds-control-standard-height);width:var(--qds-control-standard-height)}.qds-icon[data-size=standard]{min-height:var(--qds-control-standard-icon-size);width:var(--qds-control-standard-icon-size)}[data-size=standard] .qds-indicator{inset-block-start:var(\n --qds-control-icon-button-standard-badge-indicator-padding-top\n );inset-inline-end:var(\n --qds-control-icon-button-standard-badge-indicator-padding-end\n )}[data-size=standard] .qds-counter{inset-block-start:calc(var(--qds-control-icon-button-standard-badge-counter-padding-top) - var(--qds-feedback-badge-border-width));inset-inline-end:calc(var(--qds-control-icon-button-standard-badge-counter-padding-end) - var(--qds-feedback-badge-border-width))}[data-size=large]{min-height:var(--qds-control-large-height);width:var(--qds-control-large-height)}.qds-icon[data-size=large]{min-height:var(--qds-control-large-icon-size);width:var(--qds-control-large-icon-size)}[data-size=large] .qds-indicator{inset-block-start:var(\n --qds-control-icon-button-large-badge-indicator-padding-top\n );inset-inline-end:var(\n --qds-control-icon-button-large-badge-indicator-padding-end\n )}[data-size=large] .qds-counter{inset-block-start:calc(var(--qds-control-icon-button-large-badge-counter-padding-top) - var(--qds-feedback-badge-border-width));inset-inline-end:calc(var(--qds-control-icon-button-large-badge-counter-padding-end) - var(--qds-feedback-badge-border-width))}[data-size=hero]{border-radius:var(\n --qds-form-input-border-radius-top-left,var(--qds-control-hero-border-radius)\n ) var(\n --qds-form-input-border-radius-top-right,var(--qds-control-hero-border-radius)\n ) var(\n --qds-form-input-border-radius-bottom-right,var(--qds-control-hero-border-radius)\n ) var(\n --qds-form-input-border-radius-bottom-left,var(--qds-control-hero-border-radius)\n );min-height:var(--qds-control-hero-height);width:var(--qds-control-hero-height)}.qds-icon[data-size=hero]{min-height:var(--qds-control-hero-icon-size);width:var(--qds-control-hero-icon-size)}[data-size=hero] .qds-indicator{inset-block-start:var(\n --qds-control-icon-button-hero-badge-indicator-padding-top\n );inset-inline-end:var(\n --qds-control-icon-button-hero-badge-indicator-padding-end\n )}[data-size=hero] .qds-counter{inset-block-start:var(\n --qds-control-icon-button-hero-badge-counter-padding-top\n );inset-inline-end:var(\n --qds-control-icon-button-hero-badge-counter-padding-end\n )}[data-importance=subdued]{color:var(--qds-theme-control-text-standard)}[data-importance=subdued]:hover{background-color:var(--qds-theme-interactive-background-hover)}[data-importance=subdued]:active{background-color:var(--qds-theme-interactive-background-pressed)}[data-importance=standard]{border:var(--qds-control-border-width) solid var(--qds-theme-control-border);color:var(--qds-theme-control-text-standard)}[data-importance=standard]:hover{background-color:var(--qds-theme-interactive-background-hover)}[data-importance=standard]:active{background-color:var(--qds-theme-interactive-background-pressed)}[data-importance=emphasized]{background-color:var(--qds-theme-signature-color-default);color:var(--qds-theme-signature-color-contrast)}[data-importance=emphasized]:hover{background-color:var(--qds-theme-signature-color-hover)}[data-importance=emphasized]:active{background-color:var(--qds-theme-signature-color-pressed)}[data-importance=destructive]{background-color:var(--qds-theme-feedback-action-destructive-default);color:var(--qds-theme-feedback-action-destructive-contrast)}[data-importance=destructive]:hover{background-color:var(--qds-theme-feedback-action-destructive-hover)}[data-importance=destructive]:active{background-color:var(--qds-theme-feedback-action-destructive-pressed)}[data-importance=subdued-destructive]{border:none;color:var(--qds-theme-feedback-action-destructive-default)}[data-importance=subdued-destructive]:hover{background-color:var(--qds-theme-interactive-background-hover);color:var(--qds-theme-feedback-action-destructive-default)}[data-importance=subdued-destructive]:active{background-color:var(--qds-theme-interactive-background-pressed);color:var(--qds-theme-feedback-action-destructive-default)}";
7810
11055
 
7811
11056
  // SPDX-FileCopyrightText: © 2025 Schneider Electric
7812
11057
  //
@@ -8443,7 +11688,7 @@ _InlineLink_savedTabIndex = new WeakMap(), _InlineLink_link = new WeakMap(), _In
8443
11688
  return this.target === '_blank';
8444
11689
  };
8445
11690
 
8446
- const inputCss = ":host([hidden]){display:none!important}:host{display:inline-block}@-moz-document url-prefix(){[type=date]~.qds-icon-container,[type=datetime-local]~.qds-icon-container,[type=month]~.qds-icon-container,[type=time]~.qds-icon-container,[type=week]~.qds-icon-container{display:none}}input[type=password]::-ms-reveal{display:none}.qds-container,.qds-input{max-width:inherit;width:inherit}.qds-container{align-content:flex-start;align-items:center;box-sizing:border-box;display:grid;grid-template-areas:\"d\"}.qds-icon-container,.qds-input{grid-area:d}.qds-focus-ring{border-radius:max(1px,var(\n --qds-form-input-border-radius-top-left,var(--qds-form-input-border-radius)\n )) max(1px,var(\n --qds-form-input-border-radius-top-right,var(--qds-form-input-border-radius)\n )) max(1px,var(\n --qds-form-input-border-radius-bottom-right,var(--qds-form-input-border-radius)\n )) max(1px,var(\n --qds-form-input-border-radius-bottom-left,var(--qds-form-input-border-radius)\n ));box-shadow:0 0 0 var(--qds-focus-heavy-border-width) var(--qds-theme-focus-border);grid-area:d;height:calc(100% + var(--qds-form-input-border-width-default) - var(\n --qds-form-input-border-width-block-end,\n var(--qds-form-input-border-width-default)\n ));isolation:isolate;outline:var(--qds-theme-focus-border-contrast) solid var(--qds-focus-light-border-width);outline-offset:0;pointer-events:none;visibility:hidden;width:calc(100% + var(--qds-form-input-border-width-default) - var(\n --qds-form-input-border-width-inline-end,\n var(--qds-form-input-border-width-default)\n ))}[data-size=large]{font:var(--qds-form-large-text);min-height:var(--qds-form-input-large-height);padding-inline:var(--qds-form-input-large-padding-start) var(--qds-form-input-large-padding-end)}.qds-password-padding[data-size=large],[data-size=large][type=date],[data-size=large][type=datetime-local],[data-size=large][type=month],[data-size=large][type=time],[data-size=large][type=week]{padding-inline:var(--qds-form-input-large-padding-end) calc(var(--qds-form-input-large-padding-end) + var(--qds-form-input-large-height))}[data-size=large]~.qds-icon-container{padding-inline-end:var(--qds-form-input-large-padding-end)}[data-size=large][type=number]{padding-inline:var(--qds-form-input-large-padding-start) var(--qds-form-input-large-padding-end)}[data-size=large][type=file]{padding-block:var(--qds-form-input-large-padding-start) var(--qds-form-input-large-padding-end)}[data-size=large][type=file]::file-selector-button{font:var(--qds-form-large-text);margin-inline-end:var(--qds-control-large-gap-siblings-related);min-height:var(--qds-form-input-large-height);padding-inline:var(--qds-control-button-large-padding-horizontal)}[data-size=large][type=search]{padding-inline:var(--qds-form-input-large-padding-end) calc(var(--qds-form-input-small-height) + var(--qds-control-mini-button-standard-size) + var(--qds-form-input-large-padding-end) + var(--qds-form-input-large-gap-internal))}[data-size=large][type=search]~.qds-icon-container{gap:var(--qds-form-input-large-gap-internal)}.qds-custom-icon-padding[data-size=large]{padding-inline:var(--qds-form-input-large-padding-start) calc(var(--qds-form-input-large-padding-end) + var(--qds-form-input-large-height))}.qds-dual-icon-padding[data-size=large]{padding-inline:var(--qds-form-input-large-padding-start) calc(var(--qds-form-input-large-padding-end) + var(--qds-form-input-large-height) + var(--qds-control-mini-button-standard-size) + var(--qds-form-input-large-gap-internal))}.qds-dual-icon-padding[data-size=large]~.qds-icon-container{gap:var(--qds-form-input-large-gap-internal)}.qds-padding[data-size=large]{padding-inline:var(--qds-form-input-large-padding-start) var(--qds-form-input-large-padding-end)}[data-size=large]{@-moz-document url-prefix(){&[type=date],&[type=datetime-local],&[type=month],&[type=time],&[type=week]{padding-inline:var(--qds-form-input-large-padding-start) var(--qds-form-input-large-padding-end)}}}[data-size=standard]{font:var(--qds-form-standard-text);min-height:var(--qds-form-input-standard-height);padding-inline:var(--qds-form-input-standard-padding-start) var(--qds-form-input-standard-padding-end)}.qds-password-padding[data-size=standard],[data-size=standard][type=date],[data-size=standard][type=datetime-local],[data-size=standard][type=month],[data-size=standard][type=time],[data-size=standard][type=week]{padding-inline:var(--qds-form-input-standard-padding-start) calc(var(--qds-form-input-standard-padding-end) + var(--qds-form-input-standard-height))}[data-size=standard]~.qds-icon-container{padding-inline-end:var(--qds-form-input-standard-padding-end)}[data-size=standard][type=number]{padding-inline:var(--qds-form-input-standard-padding-start) var(--qds-form-input-standard-padding-end)}[data-size=standard][type=file]{padding-block:var(--qds-form-input-standard-padding-start) var(--qds-form-input-standard-padding-end)}[data-size=standard][type=file]::file-selector-button{font:var(--qds-form-standard-text);margin-inline-end:var(--qds-control-standard-gap-siblings-related);min-height:var(--qds-form-input-standard-height);padding-inline:var(--qds-control-button-standard-padding-horizontal)}[data-size=standard][type=search]{padding-inline:var(--qds-form-input-standard-padding-end) calc(var(--qds-form-input-small-height) + var(--qds-control-mini-button-standard-size) + var(--qds-form-input-standard-padding-end) + var(--qds-form-input-standard-gap-internal))}[data-size=standard][type=search]~.qds-icon-container{gap:var(--qds-form-input-standard-gap-internal)}.qds-custom-icon-padding[data-size=standard]{padding-inline:var(--qds-form-input-standard-padding-start) calc(var(--qds-form-input-standard-padding-end) + var(--qds-form-input-standard-height))}.qds-dual-icon-padding[data-size=standard]{padding-inline:var(--qds-form-input-standard-padding-start) calc(var(--qds-form-input-standard-padding-end) + var(--qds-form-input-standard-height) + var(--qds-control-mini-button-standard-size) + var(--qds-form-input-standard-gap-internal))}.qds-dual-icon-padding[data-size=standard]~.qds-icon-container{gap:var(--qds-form-input-standard-gap-internal)}.qds-padding[data-size=standard]{padding-inline:var(--qds-form-input-standard-padding-start) var(--qds-form-input-standard-padding-end)}[data-size=standard]{@-moz-document url-prefix(){&[type=date],&[type=datetime-local],&[type=month],&[type=time],&[type=week]{padding-inline:var(--qds-form-input-standard-padding-start) var(--qds-form-input-standard-padding-end)}}}[data-size=small]{font:var(--qds-form-small-text);min-height:var(--qds-form-input-small-height);padding-inline:var(--qds-form-input-small-padding-start) var(--qds-form-input-small-padding-end)}.qds-password-padding[data-size=small],[data-size=small][type=date],[data-size=small][type=datetime-local],[data-size=small][type=month],[data-size=small][type=time],[data-size=small][type=week]{padding-inline:var(--qds-form-input-small-padding-end) calc(var(--qds-form-input-small-padding-end) + var(--qds-form-input-small-height))}[data-size=small]~.qds-icon-container{padding-inline-end:var(--qds-form-input-small-padding-end)}[data-size=small][type=number]{padding-inline:var(--qds-form-input-small-padding-start) var(--qds-form-input-small-padding-end)}[data-size=small][type=file]{padding-block:var(--qds-form-input-small-padding-start) var(--qds-form-input-small-padding-end)}[data-size=small][type=file]::file-selector-button{font:var(--qds-form-small-text);margin-inline-end:var(--qds-control-small-gap-siblings-related);min-height:var(--qds-form-input-small-height);padding-inline:var(--qds-control-button-small-padding-horizontal)}[data-size=small][type=search]{padding-inline:var(--qds-form-input-small-padding-end) calc(var(--qds-form-input-small-height) + var(--qds-control-mini-button-standard-size) + var(--qds-form-input-small-padding-end) + var(--qds-form-input-small-gap-internal))}[data-size=small][type=search]~.qds-icon-container{gap:var(--qds-form-input-small-gap-internal)}.qds-custom-icon-padding[data-size=small]{padding-inline:var(--qds-form-input-small-padding-start) calc(var(--qds-form-input-small-padding-end) + var(--qds-form-input-small-height))}.qds-dual-icon-padding[data-size=small]{padding-inline:var(--qds-form-input-small-padding-start) calc(var(--qds-form-input-small-padding-end) + var(--qds-form-input-small-height) + var(--qds-control-mini-button-standard-size) + var(--qds-form-input-small-gap-internal))}.qds-dual-icon-padding[data-size=small]~.qds-icon-container{gap:var(--qds-form-input-small-gap-internal)}.qds-padding[data-size=small]{padding-inline:var(--qds-form-input-small-padding-start) var(--qds-form-input-small-padding-end)}[data-size=small]{@-moz-document url-prefix(){&[type=date],&[type=datetime-local],&[type=month],&[type=time],&[type=week]{padding-inline:var(--qds-form-input-small-padding-start) var(--qds-form-input-small-padding-end)}}}.qds-input{-webkit-appearance:textfield;appearance:textfield;background-color:var(--qds-theme-form-input-background-default);border-color:var(--qds-theme-form-input-border-default);border-radius:var(\n --qds-form-input-border-radius-top-left,var(--qds-form-input-border-radius)\n ) var(\n --qds-form-input-border-radius-top-right,var(--qds-form-input-border-radius)\n ) var(\n --qds-form-input-border-radius-bottom-right,var(--qds-form-input-border-radius)\n ) var(\n --qds-form-input-border-radius-bottom-left,var(--qds-form-input-border-radius)\n );border-style:solid;border-width:var(--qds-form-input-border-width-default) var(\n --qds-form-input-border-width-inline-end,var(--qds-form-input-border-width-default)\n ) var(\n --qds-form-input-border-width-block-end,var(--qds-form-input-border-width-default)\n ) var(--qds-form-input-border-width-default);box-sizing:border-box;color:var(--qds-theme-form-input-text-active);grid-area:d;padding-block:0}.qds-input.qds-hide~.qds-icon-container{display:none}.qds-input:disabled,.qds-input:disabled~.qds-icon-container{opacity:var(--qds-theme-disabled);pointer-events:none}.qds-input:focus-visible{outline:none}.qds-input:focus-visible~.qds-focus-ring{visibility:visible}.qds-input:read-only{background-color:var(--qds-theme-form-input-background-read-only);border-color:var(--qds-theme-form-input-border-disabled)}.qds-input:placeholder-shown{color:var(--qds-theme-control-text-placeholder)}.qds-input:hover{background-color:var(--qds-theme-form-input-background-hover);border-color:var(--qds-theme-form-input-border-hover)}.qds-input:active{background-color:var(--qds-theme-form-input-background-active);color:var(--qds-theme-form-input-text-active)}.qds-input::-webkit-search-cancel-button,.qds-input:is([type=date],[type=datetime-local],[type=month],[type=time],[type=week])::-webkit-calendar-picker-indicator{display:none}.qds-input[type=file]::file-selector-button{background-color:initial;border:var(--qds-form-input-border-width-default) solid var(--qds-theme-form-input-border-default);border-radius:var(--qds-control-border-radius);color:var(--qds-theme-form-input-text-active)}.qds-input[type=file]::file-selector-button:hover{background-color:var(--qds-theme-interactive-background-hover)}.qds-input[type=file]::file-selector-button:active{background-color:var(--qds-theme-interactive-background-pressed)}.qds-input[type=color]{-webkit-appearance:none;appearance:none;cursor:pointer;min-width:50px;padding-block:var(--qds-form-input-standard-padding-end);padding-inline:var(--qds-form-input-standard-padding-end)}.qds-input[type=color]::-webkit-color-swatch-wrapper{padding:0}.qds-input[type=color]::-webkit-color-swatch{border:var(--qds-form-input-border-width-default) solid var(--qds-theme-form-input-border-default);border-radius:var(--qds-control-border-radius)}.qds-input[type=color]::-moz-color-swatch{border:var(--qds-form-input-border-width-default) solid var(--qds-theme-form-input-border-default);border-radius:var(--qds-control-border-radius)}.qds-input[type=color]:hover{background-color:var(--qds-theme-interactive-background-hover)}.qds-input[type=color]:active{background-color:var(--qds-theme-interactive-background-pressed)}.qds-input.qds-search-padding[data-size=standard]{padding-inline:var(--qds-form-input-standard-padding-end) calc(var(--qds-form-input-small-height) + var(--qds-form-input-standard-padding-end))}.qds-input[data-size=standard][type=file]{height:auto}.qds-input.qds-search-padding[data-size=large]{padding-inline:var(--qds-form-input-large-padding-end) calc(var(--qds-form-input-small-height) + var(--qds-form-input-large-padding-end))}.qds-input[data-size=large][type=file]{height:auto}.qds-input.qds-search-padding[data-size=small]{padding-inline:var(--qds-form-input-small-padding-end) calc(var(--qds-form-input-small-height) + var(--qds-form-input-small-padding-end))}.qds-input[data-size=small][type=file]{height:auto}.qds-input{@-moz-document url-prefix(){&[type=number]{appearance:none}}}.qds-input[data-status]{border-width:var(--qds-form-input-border-width-status) var(\n --qds-form-input-border-width-inline-end,var(--qds-form-input-border-width-status)\n ) var(\n --qds-form-input-border-width-block-end,var(--qds-form-input-border-width-status)\n ) var(--qds-form-input-border-width-status)}.qds-input[data-status=success]{border-color:var(--qds-theme-form-input-border-success)}.qds-input[data-status=warning]{border-color:var(--qds-theme-form-input-border-warning)}.qds-input:not(:focus):user-invalid,.qds-input[data-status=error]{border-color:var(--qds-theme-form-input-border-error)}.qds-icon-container{align-items:center;display:flex;justify-content:center;justify-self:end}";
11691
+ const inputCss = ":host([hidden]){display:none!important}:host{display:inline-block}@-moz-document url-prefix(){[type=date]~.qds-icon-container,[type=datetime-local]~.qds-icon-container,[type=month]~.qds-icon-container,[type=time]~.qds-icon-container,[type=week]~.qds-icon-container{display:none}}input[type=password]::-ms-reveal{display:none}.qds-container,.qds-input{max-width:inherit;width:inherit}.qds-container{align-content:flex-start;align-items:center;box-sizing:border-box;display:grid;grid-template-areas:\"e\"}.qds-icon-container,.qds-input{grid-area:e}.qds-focus-ring{border-radius:max(1px,var(\n --qds-form-input-border-radius-top-left,var(--qds-form-input-border-radius)\n )) max(1px,var(\n --qds-form-input-border-radius-top-right,var(--qds-form-input-border-radius)\n )) max(1px,var(\n --qds-form-input-border-radius-bottom-right,var(--qds-form-input-border-radius)\n )) max(1px,var(\n --qds-form-input-border-radius-bottom-left,var(--qds-form-input-border-radius)\n ));box-shadow:0 0 0 var(--qds-focus-heavy-border-width) var(--qds-theme-focus-border);grid-area:e;height:calc(100% + var(--qds-form-input-border-width-default) - var(\n --qds-form-input-border-width-block-end,\n var(--qds-form-input-border-width-default)\n ));isolation:isolate;outline:var(--qds-theme-focus-border-contrast) solid var(--qds-focus-light-border-width);outline-offset:0;pointer-events:none;visibility:hidden;width:calc(100% + var(--qds-form-input-border-width-default) - var(\n --qds-form-input-border-width-inline-end,\n var(--qds-form-input-border-width-default)\n ))}[data-size=large]{font:var(--qds-form-large-text);min-height:var(--qds-form-input-large-height);padding-inline:var(--qds-form-input-large-padding-start) var(--qds-form-input-large-padding-end)}.qds-password-padding[data-size=large],[data-size=large][type=date],[data-size=large][type=datetime-local],[data-size=large][type=month],[data-size=large][type=time],[data-size=large][type=week]{padding-inline:var(--qds-form-input-large-padding-end) calc(var(--qds-form-input-large-padding-end) + var(--qds-form-input-large-height))}[data-size=large]~.qds-icon-container{padding-inline-end:var(--qds-form-input-large-padding-end)}[data-size=large][type=number]{padding-inline:var(--qds-form-input-large-padding-start) var(--qds-form-input-large-padding-end)}[data-size=large][type=file]{padding-block:var(--qds-form-input-large-padding-start) var(--qds-form-input-large-padding-end)}[data-size=large][type=file]::file-selector-button{font:var(--qds-form-large-text);margin-inline-end:var(--qds-control-large-gap-siblings-related);min-height:var(--qds-form-input-large-height);padding-inline:var(--qds-control-button-large-padding-horizontal)}[data-size=large][type=search]{padding-inline:var(--qds-form-input-large-padding-end) calc(var(--qds-form-input-small-height) + var(--qds-control-mini-button-standard-size) + var(--qds-form-input-large-padding-end) + var(--qds-form-input-large-gap-internal))}[data-size=large][type=search]~.qds-icon-container{gap:var(--qds-form-input-large-gap-internal)}.qds-custom-icon-padding[data-size=large]{padding-inline:var(--qds-form-input-large-padding-start) calc(var(--qds-form-input-large-padding-end) + var(--qds-form-input-large-height))}.qds-dual-icon-padding[data-size=large]{padding-inline:var(--qds-form-input-large-padding-start) calc(var(--qds-form-input-large-padding-end) + var(--qds-form-input-large-height) + var(--qds-control-mini-button-standard-size) + var(--qds-form-input-large-gap-internal))}.qds-dual-icon-padding[data-size=large]~.qds-icon-container{gap:var(--qds-form-input-large-gap-internal)}.qds-padding[data-size=large]{padding-inline:var(--qds-form-input-large-padding-start) var(--qds-form-input-large-padding-end)}[data-size=large]{@-moz-document url-prefix(){&[type=date],&[type=datetime-local],&[type=month],&[type=time],&[type=week]{padding-inline:var(--qds-form-input-large-padding-start) var(--qds-form-input-large-padding-end)}}}[data-size=standard]{font:var(--qds-form-standard-text);min-height:var(--qds-form-input-standard-height);padding-inline:var(--qds-form-input-standard-padding-start) var(--qds-form-input-standard-padding-end)}.qds-password-padding[data-size=standard],[data-size=standard][type=date],[data-size=standard][type=datetime-local],[data-size=standard][type=month],[data-size=standard][type=time],[data-size=standard][type=week]{padding-inline:var(--qds-form-input-standard-padding-start) calc(var(--qds-form-input-standard-padding-end) + var(--qds-form-input-standard-height))}[data-size=standard]~.qds-icon-container{padding-inline-end:var(--qds-form-input-standard-padding-end)}[data-size=standard][type=number]{padding-inline:var(--qds-form-input-standard-padding-start) var(--qds-form-input-standard-padding-end)}[data-size=standard][type=file]{padding-block:var(--qds-form-input-standard-padding-start) var(--qds-form-input-standard-padding-end)}[data-size=standard][type=file]::file-selector-button{font:var(--qds-form-standard-text);margin-inline-end:var(--qds-control-standard-gap-siblings-related);min-height:var(--qds-form-input-standard-height);padding-inline:var(--qds-control-button-standard-padding-horizontal)}[data-size=standard][type=search]{padding-inline:var(--qds-form-input-standard-padding-end) calc(var(--qds-form-input-small-height) + var(--qds-control-mini-button-standard-size) + var(--qds-form-input-standard-padding-end) + var(--qds-form-input-standard-gap-internal))}[data-size=standard][type=search]~.qds-icon-container{gap:var(--qds-form-input-standard-gap-internal)}.qds-custom-icon-padding[data-size=standard]{padding-inline:var(--qds-form-input-standard-padding-start) calc(var(--qds-form-input-standard-padding-end) + var(--qds-form-input-standard-height))}.qds-dual-icon-padding[data-size=standard]{padding-inline:var(--qds-form-input-standard-padding-start) calc(var(--qds-form-input-standard-padding-end) + var(--qds-form-input-standard-height) + var(--qds-control-mini-button-standard-size) + var(--qds-form-input-standard-gap-internal))}.qds-dual-icon-padding[data-size=standard]~.qds-icon-container{gap:var(--qds-form-input-standard-gap-internal)}.qds-padding[data-size=standard]{padding-inline:var(--qds-form-input-standard-padding-start) var(--qds-form-input-standard-padding-end)}[data-size=standard]{@-moz-document url-prefix(){&[type=date],&[type=datetime-local],&[type=month],&[type=time],&[type=week]{padding-inline:var(--qds-form-input-standard-padding-start) var(--qds-form-input-standard-padding-end)}}}[data-size=small]{font:var(--qds-form-small-text);min-height:var(--qds-form-input-small-height);padding-inline:var(--qds-form-input-small-padding-start) var(--qds-form-input-small-padding-end)}.qds-password-padding[data-size=small],[data-size=small][type=date],[data-size=small][type=datetime-local],[data-size=small][type=month],[data-size=small][type=time],[data-size=small][type=week]{padding-inline:var(--qds-form-input-small-padding-end) calc(var(--qds-form-input-small-padding-end) + var(--qds-form-input-small-height))}[data-size=small]~.qds-icon-container{padding-inline-end:var(--qds-form-input-small-padding-end)}[data-size=small][type=number]{padding-inline:var(--qds-form-input-small-padding-start) var(--qds-form-input-small-padding-end)}[data-size=small][type=file]{padding-block:var(--qds-form-input-small-padding-start) var(--qds-form-input-small-padding-end)}[data-size=small][type=file]::file-selector-button{font:var(--qds-form-small-text);margin-inline-end:var(--qds-control-small-gap-siblings-related);min-height:var(--qds-form-input-small-height);padding-inline:var(--qds-control-button-small-padding-horizontal)}[data-size=small][type=search]{padding-inline:var(--qds-form-input-small-padding-end) calc(var(--qds-form-input-small-height) + var(--qds-control-mini-button-standard-size) + var(--qds-form-input-small-padding-end) + var(--qds-form-input-small-gap-internal))}[data-size=small][type=search]~.qds-icon-container{gap:var(--qds-form-input-small-gap-internal)}.qds-custom-icon-padding[data-size=small]{padding-inline:var(--qds-form-input-small-padding-start) calc(var(--qds-form-input-small-padding-end) + var(--qds-form-input-small-height))}.qds-dual-icon-padding[data-size=small]{padding-inline:var(--qds-form-input-small-padding-start) calc(var(--qds-form-input-small-padding-end) + var(--qds-form-input-small-height) + var(--qds-control-mini-button-standard-size) + var(--qds-form-input-small-gap-internal))}.qds-dual-icon-padding[data-size=small]~.qds-icon-container{gap:var(--qds-form-input-small-gap-internal)}.qds-padding[data-size=small]{padding-inline:var(--qds-form-input-small-padding-start) var(--qds-form-input-small-padding-end)}[data-size=small]{@-moz-document url-prefix(){&[type=date],&[type=datetime-local],&[type=month],&[type=time],&[type=week]{padding-inline:var(--qds-form-input-small-padding-start) var(--qds-form-input-small-padding-end)}}}.qds-input{-webkit-appearance:textfield;appearance:textfield;background-color:var(--qds-theme-form-input-background-default);border-color:var(--qds-theme-form-input-border-default);border-radius:var(\n --qds-form-input-border-radius-top-left,var(--qds-form-input-border-radius)\n ) var(\n --qds-form-input-border-radius-top-right,var(--qds-form-input-border-radius)\n ) var(\n --qds-form-input-border-radius-bottom-right,var(--qds-form-input-border-radius)\n ) var(\n --qds-form-input-border-radius-bottom-left,var(--qds-form-input-border-radius)\n );border-style:solid;border-width:var(--qds-form-input-border-width-default) var(\n --qds-form-input-border-width-inline-end,var(--qds-form-input-border-width-default)\n ) var(\n --qds-form-input-border-width-block-end,var(--qds-form-input-border-width-default)\n ) var(--qds-form-input-border-width-default);box-sizing:border-box;color:var(--qds-theme-form-input-text-active);grid-area:e;padding-block:0}.qds-input.qds-hide~.qds-icon-container{display:none}.qds-input:disabled,.qds-input:disabled~.qds-icon-container{opacity:var(--qds-theme-disabled);pointer-events:none}.qds-input:focus-visible{outline:none}.qds-input:focus-visible~.qds-focus-ring{visibility:visible}.qds-input:read-only{background-color:var(--qds-theme-form-input-background-read-only);border-color:var(--qds-theme-form-input-border-disabled)}.qds-input:placeholder-shown{color:var(--qds-theme-control-text-placeholder)}.qds-input:hover{background-color:var(--qds-theme-form-input-background-hover);border-color:var(--qds-theme-form-input-border-hover)}.qds-input:active{background-color:var(--qds-theme-form-input-background-active);color:var(--qds-theme-form-input-text-active)}.qds-input::-webkit-search-cancel-button,.qds-input:is([type=date],[type=datetime-local],[type=month],[type=time],[type=week])::-webkit-calendar-picker-indicator{display:none}.qds-input[type=file]::file-selector-button{background-color:initial;border:var(--qds-form-input-border-width-default) solid var(--qds-theme-form-input-border-default);border-radius:var(--qds-control-border-radius);color:var(--qds-theme-form-input-text-active)}.qds-input[type=file]::file-selector-button:hover{background-color:var(--qds-theme-interactive-background-hover)}.qds-input[type=file]::file-selector-button:active{background-color:var(--qds-theme-interactive-background-pressed)}.qds-input[type=color]{-webkit-appearance:none;appearance:none;cursor:pointer;min-width:50px;padding-block:var(--qds-form-input-standard-padding-end);padding-inline:var(--qds-form-input-standard-padding-end)}.qds-input[type=color]::-webkit-color-swatch-wrapper{padding:0}.qds-input[type=color]::-webkit-color-swatch{border:var(--qds-form-input-border-width-default) solid var(--qds-theme-form-input-border-default);border-radius:var(--qds-control-border-radius)}.qds-input[type=color]::-moz-color-swatch{border:var(--qds-form-input-border-width-default) solid var(--qds-theme-form-input-border-default);border-radius:var(--qds-control-border-radius)}.qds-input[type=color]:hover{background-color:var(--qds-theme-interactive-background-hover)}.qds-input[type=color]:active{background-color:var(--qds-theme-interactive-background-pressed)}.qds-input.qds-search-padding[data-size=standard]{padding-inline:var(--qds-form-input-standard-padding-end) calc(var(--qds-form-input-small-height) + var(--qds-form-input-standard-padding-end))}.qds-input[data-size=standard][type=file]{height:auto}.qds-input.qds-search-padding[data-size=large]{padding-inline:var(--qds-form-input-large-padding-end) calc(var(--qds-form-input-small-height) + var(--qds-form-input-large-padding-end))}.qds-input[data-size=large][type=file]{height:auto}.qds-input.qds-search-padding[data-size=small]{padding-inline:var(--qds-form-input-small-padding-end) calc(var(--qds-form-input-small-height) + var(--qds-form-input-small-padding-end))}.qds-input[data-size=small][type=file]{height:auto}.qds-input{@-moz-document url-prefix(){&[type=number]{appearance:none}}}.qds-input[data-status]{border-width:var(--qds-form-input-border-width-status) var(\n --qds-form-input-border-width-inline-end,var(--qds-form-input-border-width-status)\n ) var(\n --qds-form-input-border-width-block-end,var(--qds-form-input-border-width-status)\n ) var(--qds-form-input-border-width-status)}.qds-input[data-status=success]{border-color:var(--qds-theme-form-input-border-success)}.qds-input[data-status=warning]{border-color:var(--qds-theme-form-input-border-warning)}.qds-input:not(:focus):user-invalid,.qds-input[data-status=error]{border-color:var(--qds-theme-form-input-border-error)}.qds-icon-container{align-items:center;display:flex;justify-content:center;justify-self:end}";
8447
11692
 
8448
11693
  // SPDX-FileCopyrightText: © 2024 Schneider Electric
8449
11694
  //
@@ -9585,7 +12830,7 @@ _Loader_instances = new WeakSet(), _Loader_computedSize_get = function _Loader_c
9585
12830
  Object.defineProperty(this.host, p, { enumerable: true, get });
9586
12831
  };
9587
12832
 
9588
- const menuItemCss = ":host([hidden]){display:none!important}:host{display:block}:host(:focus-visible){border-radius:var(--qds-control-border-radius);box-shadow:0 0 0 var(--qds-focus-heavy-border-width) var(--qds-theme-focus-border);outline:var(--qds-theme-focus-border-contrast) solid var(--qds-focus-light-border-width);outline-offset:0}.qds-menu-item-container{align-items:center;display:flex;flex-grow:1}.qds-disabled{cursor:not-allowed;opacity:var(--qds-theme-disabled);pointer-events:none}.qds-icon{color:var(--qds-theme-text-standard);transform:scaleX(var(--qds-direction-factor,1))}.qds-text{color:var(--qds-theme-title);flex-grow:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qds-shortcut{color:var(--qds-theme-text-subdued)}[data-size=small] .qds-menu-item-container{gap:var(--qds-list-item-small-gap-internal);padding-block:var(--qds-list-item-small-padding-vertical);padding-inline:var(--qds-list-item-small-padding-horizontal)}[data-size=small] .menu-item-checkable,[data-size=small] .qds-icon{height:var(--qds-control-small-icon-size);width:var(--qds-control-small-icon-size)}[data-size=small] .qds-text{font:var(--qds-list-item-small-title)}[data-size=standard] .qds-menu-item-container{gap:var(--qds-list-item-standard-gap-internal);padding-block:var(--qds-list-item-standard-padding-vertical);padding-inline:var(--qds-list-item-standard-padding-horizontal)}[data-size=standard] .menu-item-checkable,[data-size=standard] .qds-icon{height:var(--qds-control-standard-icon-size);width:var(--qds-control-standard-icon-size)}[data-size=standard] .qds-text{font:var(--qds-list-item-standard-title)}[data-size=large] .qds-menu-item-container{gap:var(--qds-list-item-large-gap-internal);padding-block:var(--qds-list-item-large-padding-vertical);padding-inline:var(--qds-list-item-large-padding-horizontal)}[data-size=large] .menu-item-checkable,[data-size=large] .qds-icon{height:var(--qds-control-large-icon-size);width:var(--qds-control-large-icon-size)}[data-size=large] .qds-text{font:var(--qds-list-item-large-title)}.qds-menu-item{align-items:center;-webkit-appearance:none;appearance:none;border:none;border-radius:var(--qds-control-border-radius);box-sizing:border-box;color:var(--qds-theme-text-standard);cursor:pointer;display:flex;flex-grow:1;text-align:initial;-webkit-text-decoration:none;text-decoration:none}.qds-menu-item:not(.qds-selected):not(.qds-disabled):hover{background-color:var(--qds-theme-interactive-background-hover)}.qds-menu-item:not(.qds-selected):not(.qds-disabled):active{background-color:var(--qds-theme-interactive-background-pressed)}";
12833
+ const menuItemCss = ":host([hidden]){display:none!important}:host{display:block}:host(:focus-visible){border-radius:var(--qds-control-border-radius);box-shadow:0 0 0 var(--qds-focus-heavy-border-width) var(--qds-theme-focus-border);outline:var(--qds-theme-focus-border-contrast) solid var(--qds-focus-light-border-width);outline-offset:0}.qds-menu-item-container{align-items:center;display:flex}.qds-disabled{cursor:not-allowed;opacity:var(--qds-theme-disabled);pointer-events:none}.qds-icon{color:var(--qds-theme-text-standard);transform:scaleX(var(--qds-direction-factor,1))}.menu-item-checkable,.qds-icon{flex-shrink:0}.qds-text{color:var(--qds-theme-title);flex-grow:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qds-shortcut{color:var(--qds-theme-text-subdued)}[data-size=small] .qds-menu-item-container{gap:var(--qds-list-item-small-gap-internal);padding-block:var(--qds-list-item-small-padding-vertical);padding-inline:var(--qds-list-item-small-padding-horizontal)}[data-size=small] .menu-item-checkable,[data-size=small] .qds-icon{height:var(--qds-control-small-icon-size);width:var(--qds-control-small-icon-size)}[data-size=small] .qds-text{font:var(--qds-list-item-small-title)}[data-size=standard] .qds-menu-item-container{gap:var(--qds-list-item-standard-gap-internal);padding-block:var(--qds-list-item-standard-padding-vertical);padding-inline:var(--qds-list-item-standard-padding-horizontal)}[data-size=standard] .menu-item-checkable,[data-size=standard] .qds-icon{height:var(--qds-control-standard-icon-size);width:var(--qds-control-standard-icon-size)}[data-size=standard] .qds-text{font:var(--qds-list-item-standard-title)}[data-size=large] .qds-menu-item-container{gap:var(--qds-list-item-large-gap-internal);padding-block:var(--qds-list-item-large-padding-vertical);padding-inline:var(--qds-list-item-large-padding-horizontal)}[data-size=large] .menu-item-checkable,[data-size=large] .qds-icon{height:var(--qds-control-large-icon-size);width:var(--qds-control-large-icon-size)}[data-size=large] .qds-text{font:var(--qds-list-item-large-title)}.qds-menu-item{align-items:center;-webkit-appearance:none;appearance:none;border:none;border-radius:var(--qds-control-border-radius);box-sizing:border-box;color:var(--qds-theme-text-standard);cursor:pointer;text-align:initial;-webkit-text-decoration:none;text-decoration:none}.qds-menu-item:not(.qds-selected):not(.qds-disabled):hover{background-color:var(--qds-theme-interactive-background-hover)}.qds-menu-item:not(.qds-selected):not(.qds-disabled):active{background-color:var(--qds-theme-interactive-background-pressed)}";
9589
12834
 
9590
12835
  // SPDX-FileCopyrightText: © 2025 Schneider Electric
9591
12836
  //
@@ -10209,7 +13454,7 @@ _QdsBreadcrumbItem_breadcrumbItem = new WeakMap(), _QdsBreadcrumbItem_ro = new W
10209
13454
  return (hAsync("span", { class: "qds-overflow", ref: __classPrivateFieldGet$c(this, _QdsBreadcrumbItem_spanRef, "f") }, this.text));
10210
13455
  };
10211
13456
 
10212
- const radioCss = "[hidden].sc-qds-radio-h{display:none!important}.sc-qds-radio-h{display:inline-block;line-height:0}.qds-icon.sc-qds-radio,.qds-radio.sc-qds-radio{grid-area:e;place-self:center}.qds-icon.sc-qds-radio{display:none;pointer-events:none}.qds-container.sc-qds-radio{display:grid;grid-template-areas:\"e\"}.qds-label.sc-qds-radio{align-items:flex-start;background-color:var(--qds-theme-interactive-background-default);border-radius:var(--qds-control-border-radius);box-sizing:border-box;cursor:pointer;display:inline-flex;justify-content:center;width:inherit}.qds-label.sc-qds-radio:hover{background-color:var(--qds-theme-interactive-background-hover)}.qds-label.sc-qds-radio:active{background-color:var(--qds-theme-interactive-background-pressed)}.qds-label.sc-qds-radio:has(.qds-radio:focus-visible){box-shadow:0 0 0 var(--qds-focus-heavy-border-width) var(--qds-theme-focus-border);outline:var(--qds-theme-focus-border-contrast) solid var(--qds-focus-light-border-width);outline-offset:0}.qds-label-inner.sc-qds-radio{color:var(--qds-theme-control-text-standard);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;width:100%}.qds-required.sc-qds-radio{color:var(--qds-theme-feedback-field-required);-webkit-user-select:none;user-select:none}.qds-tooltip.sc-qds-radio{line-height:normal}.qds-radio.sc-qds-radio{-webkit-appearance:none;appearance:none;background-color:var(--qds-theme-interactive-background-default);border:var(--qds-control-border-width) solid var(--qds-theme-control-border);border-radius:var(--qds-control-rounded-border-radius);cursor:pointer;margin:0;padding:var(--qds-control-toggle-padding);-webkit-print-color-adjust:exact;print-color-adjust:exact}.qds-radio.sc-qds-radio:focus-visible{outline:none}.qds-radio.sc-qds-radio:checked~.qds-icon.sc-qds-radio{color:var(--qds-theme-control-background-contrast);display:block}[aria-disabled=true].sc-qds-radio{opacity:var(--qds-theme-disabled);pointer-events:none}.qds-radio[data-size=small].sc-qds-radio{height:var(--qds-control-toggle-small-box-size);width:var(--qds-control-toggle-small-box-size)}.qds-icon[data-size=small].sc-qds-radio{font-size:var(--qds-control-toggle-small-box-size)}.qds-label[data-size=small].sc-qds-radio{gap:var(--qds-control-small-gap-siblings-related);min-height:var(--qds-control-toggle-small-height);min-width:var(--qds-control-toggle-small-width);padding-block:var(--qds-control-no-inline-small-padding-vertical)}.qds-label-inner[data-size=small].sc-qds-radio{font:var(--qds-control-small-text)}.qds-inline[data-size=small].sc-qds-radio{min-height:var(--qds-control-small-height);padding:var(--qds-control-standard-padding-auto-height) var(--qds-control-toggle-standard-padding-horizontal)}.qds-radio[data-size=standard].sc-qds-radio{height:var(--qds-control-toggle-standard-box-size);width:var(--qds-control-toggle-standard-box-size)}.qds-icon[data-size=standard].sc-qds-radio{font-size:var(--qds-control-toggle-standard-box-size)}.qds-label[data-size=standard].sc-qds-radio{gap:var(--qds-control-standard-gap-siblings-related);min-height:var(--qds-control-toggle-standard-height);min-width:var(--qds-control-toggle-standard-width);padding-block:var(--qds-control-no-inline-standard-padding-vertical)}.qds-label-inner[data-size=standard].sc-qds-radio{font:var(--qds-control-standard-text)}.qds-inline[data-size=standard].sc-qds-radio{min-height:var(--qds-control-standard-height);padding:var(--qds-control-standard-padding-auto-height) var(--qds-control-toggle-standard-padding-horizontal)}.qds-radio[data-size=large].sc-qds-radio{height:var(--qds-control-toggle-large-box-size);width:var(--qds-control-toggle-large-box-size)}.qds-icon[data-size=large].sc-qds-radio{font-size:var(--qds-control-toggle-large-box-size)}.qds-label[data-size=large].sc-qds-radio{gap:var(--qds-control-large-gap-siblings-related);min-height:var(--qds-control-toggle-large-height);min-width:var(--qds-control-toggle-large-width);padding-block:var(--qds-control-no-inline-large-padding-vertical)}.qds-label-inner[data-size=large].sc-qds-radio{font:var(--qds-control-large-text)}.qds-inline[data-size=large].sc-qds-radio{min-height:var(--qds-control-large-height);padding:var(--qds-control-standard-padding-auto-height) var(--qds-control-toggle-standard-padding-horizontal)}";
13457
+ const radioCss = "[hidden].sc-qds-radio-h{display:none!important}.sc-qds-radio-h{display:inline-block;line-height:0}.qds-icon.sc-qds-radio,.qds-radio.sc-qds-radio{grid-area:f;place-self:center}.qds-icon.sc-qds-radio{display:none;pointer-events:none}.qds-container.sc-qds-radio{display:grid;grid-template-areas:\"f\"}.qds-label.sc-qds-radio{align-items:flex-start;background-color:var(--qds-theme-interactive-background-default);border-radius:var(--qds-control-border-radius);box-sizing:border-box;cursor:pointer;display:inline-flex;justify-content:center;width:inherit}.qds-label.sc-qds-radio:hover{background-color:var(--qds-theme-interactive-background-hover)}.qds-label.sc-qds-radio:active{background-color:var(--qds-theme-interactive-background-pressed)}.qds-label.sc-qds-radio:has(.qds-radio:focus-visible){box-shadow:0 0 0 var(--qds-focus-heavy-border-width) var(--qds-theme-focus-border);outline:var(--qds-theme-focus-border-contrast) solid var(--qds-focus-light-border-width);outline-offset:0}.qds-label-inner.sc-qds-radio{color:var(--qds-theme-control-text-standard);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;width:100%}.qds-required.sc-qds-radio{color:var(--qds-theme-feedback-field-required);-webkit-user-select:none;user-select:none}.qds-tooltip.sc-qds-radio{line-height:normal}.qds-radio.sc-qds-radio{-webkit-appearance:none;appearance:none;background-color:var(--qds-theme-interactive-background-default);border:var(--qds-control-border-width) solid var(--qds-theme-control-border);border-radius:var(--qds-control-rounded-border-radius);cursor:pointer;margin:0;padding:var(--qds-control-toggle-padding);-webkit-print-color-adjust:exact;print-color-adjust:exact}.qds-radio.sc-qds-radio:focus-visible{outline:none}.qds-radio.sc-qds-radio:checked~.qds-icon.sc-qds-radio{color:var(--qds-theme-control-background-default-contrast);display:block}[aria-disabled=true].sc-qds-radio{opacity:var(--qds-theme-disabled);pointer-events:none}.qds-radio[data-size=small].sc-qds-radio{height:var(--qds-control-toggle-small-box-size);width:var(--qds-control-toggle-small-box-size)}.qds-icon[data-size=small].sc-qds-radio{font-size:var(--qds-control-toggle-small-box-size)}.qds-label[data-size=small].sc-qds-radio{gap:var(--qds-control-small-gap-siblings-related);min-height:var(--qds-control-toggle-small-height);min-width:var(--qds-control-toggle-small-width);padding-block:var(--qds-control-no-inline-small-padding-vertical)}.qds-label-inner[data-size=small].sc-qds-radio{font:var(--qds-control-small-text)}.qds-inline[data-size=small].sc-qds-radio{min-height:var(--qds-control-small-height);padding:var(--qds-control-standard-padding-auto-height) var(--qds-control-toggle-standard-padding-horizontal)}.qds-radio[data-size=standard].sc-qds-radio{height:var(--qds-control-toggle-standard-box-size);width:var(--qds-control-toggle-standard-box-size)}.qds-icon[data-size=standard].sc-qds-radio{font-size:var(--qds-control-toggle-standard-box-size)}.qds-label[data-size=standard].sc-qds-radio{gap:var(--qds-control-standard-gap-siblings-related);min-height:var(--qds-control-toggle-standard-height);min-width:var(--qds-control-toggle-standard-width);padding-block:var(--qds-control-no-inline-standard-padding-vertical)}.qds-label-inner[data-size=standard].sc-qds-radio{font:var(--qds-control-standard-text)}.qds-inline[data-size=standard].sc-qds-radio{min-height:var(--qds-control-standard-height);padding:var(--qds-control-standard-padding-auto-height) var(--qds-control-toggle-standard-padding-horizontal)}.qds-radio[data-size=large].sc-qds-radio{height:var(--qds-control-toggle-large-box-size);width:var(--qds-control-toggle-large-box-size)}.qds-icon[data-size=large].sc-qds-radio{font-size:var(--qds-control-toggle-large-box-size)}.qds-label[data-size=large].sc-qds-radio{gap:var(--qds-control-large-gap-siblings-related);min-height:var(--qds-control-toggle-large-height);min-width:var(--qds-control-toggle-large-width);padding-block:var(--qds-control-no-inline-large-padding-vertical)}.qds-label-inner[data-size=large].sc-qds-radio{font:var(--qds-control-large-text)}.qds-inline[data-size=large].sc-qds-radio{min-height:var(--qds-control-large-height);padding:var(--qds-control-standard-padding-auto-height) var(--qds-control-toggle-standard-padding-horizontal)}";
10213
13458
 
10214
13459
  // SPDX-FileCopyrightText: © 2024 Schneider Electric
10215
13460
  //
@@ -10384,7 +13629,7 @@ _Radio_inheritedAttributes = new WeakMap(), _Radio_input = new WeakMap(), _Radio
10384
13629
  return this.text !== undefined && this.text !== '';
10385
13630
  };
10386
13631
 
10387
- const selectCss = ":host([hidden]){display:none!important}:host{display:inline-block}slot{display:none}.qds-container{box-sizing:border-box;display:grid;grid-template-areas:\"j\"}.qds-container,.qds-select{width:inherit}.qds-icon,.qds-select{color:var(--qds-theme-form-input-text-active);grid-area:j}.qds-icon{place-self:center end;pointer-events:none}.qds-select{-webkit-appearance:none;appearance:none;background-color:var(--qds-theme-form-input-background-default);border-color:var(--qds-theme-form-input-border-default);border-radius:var(\n --qds-form-input-border-radius-top-left,var(--qds-form-input-border-radius)\n ) var(\n --qds-form-input-border-radius-top-right,var(--qds-form-input-border-radius)\n ) var(\n --qds-form-input-border-radius-bottom-right,var(--qds-form-input-border-radius)\n ) var(\n --qds-form-input-border-radius-bottom-left,var(--qds-form-input-border-radius)\n );border-style:solid;border-width:var(--qds-form-input-border-width-default) var(\n --qds-form-input-border-width-inline-end,var(--qds-form-input-border-width-default)\n ) var(\n --qds-form-input-border-width-block-end,var(--qds-form-input-border-width-default)\n ) var(--qds-form-input-border-width-default);margin:0;outline:0;padding-block:0;text-overflow:ellipsis}.qds-select:enabled:hover{background-color:var(--qds-theme-form-input-background-hover);border-color:var(--qds-theme-form-input-border-hover)}.qds-select:enabled:active{background-color:var(--qds-theme-form-input-background-active);color:var(--qds-theme-form-input-text-active)}.qds-select:not(:focus):user-invalid{border-color:var(--qds-theme-feedback-result-failure)}.qds-select[data-status]{border-width:var(--qds-form-input-border-width-status) var(\n --qds-form-input-border-width-inline-end,var(--qds-form-input-border-width-status)\n ) var(\n --qds-form-input-border-width-block-end,var(--qds-form-input-border-width-status)\n ) var(--qds-form-input-border-width-status)}.qds-select[data-status=success]{border-color:var(--qds-theme-form-input-border-success)}.qds-select[data-status=warning]{border-color:var(--qds-theme-form-input-border-warning)}.qds-select :not(:focus):user-invalid,.qds-select[data-status=error]{border-color:var(--qds-theme-form-input-border-error)}.qds-select:disabled,.qds-select:disabled+.qds-icon{opacity:var(--qds-theme-disabled)}:is(::slotted(optgroup),::slotted(optgroup:not(:disabled)>option),::slotted(option)):disabled{opacity:var(--qds-theme-disabled)}::slotted(optgroup){font:var(--qds-accessory-section-title)}::slotted(optgroup>option),::slotted(option){font:var(--qds-list-item-label-main)}.qds-select[data-size=small]{font:var(--qds-form-small-text);padding-inline:var(--qds-form-input-small-padding-start) var(--qds-form-input-small-padding-end)}.qds-select[data-size=small]:not([multiple]){min-height:var(--qds-form-input-small-height);padding-inline-end:calc(var(--qds-control-small-icon-size) + var(--qds-form-input-small-gap-internal) + var(--qds-form-input-small-padding-end))}.qds-icon[data-size=small]{height:var(--qds-control-small-icon-size);margin-inline-end:calc(var(--qds-form-input-small-padding-end) + var(--qds-form-input-border-width-default));width:var(--qds-control-small-icon-size)}.qds-select[data-size=standard]{font:var(--qds-form-standard-text);padding-inline:var(--qds-form-input-standard-padding-start) var(--qds-form-input-standard-padding-end)}.qds-select[data-size=standard]:not([multiple]){min-height:var(--qds-form-input-standard-height);padding-inline-end:calc(var(--qds-control-standard-icon-size) + var(--qds-form-input-standard-gap-internal) + var(--qds-form-input-standard-padding-end))}.qds-icon[data-size=standard]{height:var(--qds-control-standard-icon-size);margin-inline-end:calc(var(--qds-form-input-standard-padding-end) + var(--qds-form-input-border-width-default));width:var(--qds-control-standard-icon-size)}.qds-select[data-size=large]{font:var(--qds-form-large-text);padding-inline:var(--qds-form-input-large-padding-start) var(--qds-form-input-large-padding-end)}.qds-select[data-size=large]:not([multiple]){min-height:var(--qds-form-input-large-height);padding-inline-end:calc(var(--qds-control-large-icon-size) + var(--qds-form-input-large-gap-internal) + var(--qds-form-input-large-padding-end))}.qds-icon[data-size=large]{height:var(--qds-control-large-icon-size);margin-inline-end:calc(var(--qds-form-input-large-padding-end) + var(--qds-form-input-border-width-default));width:var(--qds-control-large-icon-size)}.qds-focus-ring{border-radius:max(1px,var(\n --qds-form-input-border-radius-top-left,var(--qds-form-input-border-radius)\n )) max(1px,var(\n --qds-form-input-border-radius-top-right,var(--qds-form-input-border-radius)\n )) max(1px,var(\n --qds-form-input-border-radius-bottom-right,var(--qds-form-input-border-radius)\n )) max(1px,var(\n --qds-form-input-border-radius-bottom-left,var(--qds-form-input-border-radius)\n ));box-shadow:0 0 0 var(--qds-focus-heavy-border-width) var(--qds-theme-focus-border);grid-area:j;height:calc(100% + var(--qds-form-input-border-width-default) - var(\n --qds-form-input-border-width-block-end,\n var(--qds-form-input-border-width-default)\n ));isolation:isolate;outline:var(--qds-theme-focus-border-contrast) solid var(--qds-focus-light-border-width);outline-offset:0;pointer-events:none;visibility:hidden;width:calc(100% + var(--qds-form-input-border-width-default) - var(\n --qds-form-input-border-width-inline-end,\n var(--qds-form-input-border-width-default)\n ))}.qds-select:focus-visible~.qds-focus-ring{visibility:visible}";
13632
+ const selectCss = ":host([hidden]){display:none!important}:host{display:inline-block}slot{display:none}.qds-container{box-sizing:border-box;display:grid;grid-template-areas:\"c\"}.qds-container,.qds-select{width:inherit}.qds-icon,.qds-select{color:var(--qds-theme-form-input-text-active);grid-area:c}.qds-icon{place-self:center end;pointer-events:none}.qds-select{-webkit-appearance:none;appearance:none;background-color:var(--qds-theme-form-input-background-default);border-color:var(--qds-theme-form-input-border-default);border-radius:var(\n --qds-form-input-border-radius-top-left,var(--qds-form-input-border-radius)\n ) var(\n --qds-form-input-border-radius-top-right,var(--qds-form-input-border-radius)\n ) var(\n --qds-form-input-border-radius-bottom-right,var(--qds-form-input-border-radius)\n ) var(\n --qds-form-input-border-radius-bottom-left,var(--qds-form-input-border-radius)\n );border-style:solid;border-width:var(--qds-form-input-border-width-default) var(\n --qds-form-input-border-width-inline-end,var(--qds-form-input-border-width-default)\n ) var(\n --qds-form-input-border-width-block-end,var(--qds-form-input-border-width-default)\n ) var(--qds-form-input-border-width-default);margin:0;outline:0;padding-block:0;text-overflow:ellipsis}.qds-select:enabled:hover{background-color:var(--qds-theme-form-input-background-hover);border-color:var(--qds-theme-form-input-border-hover)}.qds-select:enabled:active{background-color:var(--qds-theme-form-input-background-active);color:var(--qds-theme-form-input-text-active)}.qds-select:not(:focus):user-invalid{border-color:var(--qds-theme-feedback-result-failure)}.qds-select[data-status]{border-width:var(--qds-form-input-border-width-status) var(\n --qds-form-input-border-width-inline-end,var(--qds-form-input-border-width-status)\n ) var(\n --qds-form-input-border-width-block-end,var(--qds-form-input-border-width-status)\n ) var(--qds-form-input-border-width-status)}.qds-select[data-status=success]{border-color:var(--qds-theme-form-input-border-success)}.qds-select[data-status=warning]{border-color:var(--qds-theme-form-input-border-warning)}.qds-select :not(:focus):user-invalid,.qds-select[data-status=error]{border-color:var(--qds-theme-form-input-border-error)}.qds-select:disabled,.qds-select:disabled+.qds-icon{opacity:var(--qds-theme-disabled)}:is(::slotted(optgroup),::slotted(optgroup:not(:disabled)>option),::slotted(option)):disabled{opacity:var(--qds-theme-disabled)}::slotted(optgroup){font:var(--qds-accessory-section-title)}::slotted(optgroup>option),::slotted(option){font:var(--qds-list-item-label-main)}.qds-select[data-size=small]{font:var(--qds-form-small-text);padding-inline:var(--qds-form-input-small-padding-start) var(--qds-form-input-small-padding-end)}.qds-select[data-size=small]:not([multiple]){min-height:var(--qds-form-input-small-height);padding-inline-end:calc(var(--qds-control-small-icon-size) + var(--qds-form-input-small-gap-internal) + var(--qds-form-input-small-padding-end))}.qds-icon[data-size=small]{height:var(--qds-control-small-icon-size);margin-inline-end:calc(var(--qds-form-input-small-padding-end) + var(--qds-form-input-border-width-default));width:var(--qds-control-small-icon-size)}.qds-select[data-size=standard]{font:var(--qds-form-standard-text);padding-inline:var(--qds-form-input-standard-padding-start) var(--qds-form-input-standard-padding-end)}.qds-select[data-size=standard]:not([multiple]){min-height:var(--qds-form-input-standard-height);padding-inline-end:calc(var(--qds-control-standard-icon-size) + var(--qds-form-input-standard-gap-internal) + var(--qds-form-input-standard-padding-end))}.qds-icon[data-size=standard]{height:var(--qds-control-standard-icon-size);margin-inline-end:calc(var(--qds-form-input-standard-padding-end) + var(--qds-form-input-border-width-default));width:var(--qds-control-standard-icon-size)}.qds-select[data-size=large]{font:var(--qds-form-large-text);padding-inline:var(--qds-form-input-large-padding-start) var(--qds-form-input-large-padding-end)}.qds-select[data-size=large]:not([multiple]){min-height:var(--qds-form-input-large-height);padding-inline-end:calc(var(--qds-control-large-icon-size) + var(--qds-form-input-large-gap-internal) + var(--qds-form-input-large-padding-end))}.qds-icon[data-size=large]{height:var(--qds-control-large-icon-size);margin-inline-end:calc(var(--qds-form-input-large-padding-end) + var(--qds-form-input-border-width-default));width:var(--qds-control-large-icon-size)}.qds-focus-ring{border-radius:max(1px,var(\n --qds-form-input-border-radius-top-left,var(--qds-form-input-border-radius)\n )) max(1px,var(\n --qds-form-input-border-radius-top-right,var(--qds-form-input-border-radius)\n )) max(1px,var(\n --qds-form-input-border-radius-bottom-right,var(--qds-form-input-border-radius)\n )) max(1px,var(\n --qds-form-input-border-radius-bottom-left,var(--qds-form-input-border-radius)\n ));box-shadow:0 0 0 var(--qds-focus-heavy-border-width) var(--qds-theme-focus-border);grid-area:c;height:calc(100% + var(--qds-form-input-border-width-default) - var(\n --qds-form-input-border-width-block-end,\n var(--qds-form-input-border-width-default)\n ));isolation:isolate;outline:var(--qds-theme-focus-border-contrast) solid var(--qds-focus-light-border-width);outline-offset:0;pointer-events:none;visibility:hidden;width:calc(100% + var(--qds-form-input-border-width-default) - var(\n --qds-form-input-border-width-inline-end,\n var(--qds-form-input-border-width-default)\n ))}.qds-select:focus-visible~.qds-focus-ring{visibility:visible}";
10388
13633
 
10389
13634
  // SPDX-FileCopyrightText: © 2024 Schneider Electric
10390
13635
  //
@@ -10930,7 +14175,7 @@ _StandaloneLink_savedTabIndex = new WeakMap(), _StandaloneLink_link = new WeakMa
10930
14175
  return this.target === '_blank';
10931
14176
  };
10932
14177
 
10933
- const switchCss = ":host([hidden]){display:none!important}:host{display:inline-block;outline:none}.qds-knob,.qds-track{-webkit-print-color-adjust:exact;print-color-adjust:exact}.qds-track{align-items:center;background-color:var(--qds-theme-control-toggle-track-default);border-radius:var(--qds-control-rounded-border-radius);box-sizing:border-box;display:flex;flex-shrink:0;padding-inline:var(--qds-control-toggle-track-padding)}.qds-track:hover{background-color:var(--qds-theme-control-toggle-track-hover)}.qds-track:active{background-color:var(--qds-theme-control-toggle-track-pressed)}.qds-knob-container{align-items:center;align-self:stretch;display:flex;flex-direction:column;flex-shrink:0;justify-content:center;padding-block:var(--qds-control-toggle-track-padding)}.qds-knob{background-color:var(--qds-theme-control-background);border-radius:var(--qds-control-rounded-border-radius);box-sizing:border-box;height:100%;margin:0}.qds-indicator{color:var(--qds-theme-control-background);flex-grow:1;justify-content:center;padding-block:var(--qds-control-toggle-track-padding)}.qds-container,.qds-indicator{align-items:center;display:flex}.qds-container{box-sizing:border-box;cursor:pointer}.qds-switch{clip-path:inset(50%);height:1px;margin:0;position:absolute;white-space:nowrap;width:1px}.qds-switch:checked~.qds-track{background-color:var(--qds-theme-signature-color-default);justify-content:flex-end}.qds-switch:checked~.qds-track:hover{background-color:var(--qds-theme-signature-color-hover)}.qds-switch:checked~.qds-track:active{background-color:var(--qds-theme-signature-color-pressed)}:host(:focus-visible) .qds-switch~.qds-track{box-shadow:0 0 0 var(--qds-focus-heavy-border-width) var(--qds-theme-focus-border);outline:var(--qds-theme-focus-border-contrast) solid var(--qds-focus-light-border-width);outline-offset:0}.qds-disabled{opacity:var(--qds-theme-disabled);pointer-events:none}.qds-container[data-size=small]{min-height:var(--qds-control-toggle-small-height)}.qds-inline[data-size=small]{min-height:var(--qds-control-small-height);padding-block:var(--qds-control-small-padding-auto-height)}.qds-track[data-size=small]{height:var(--qds-control-toggle-small-track-height);width:var(--qds-control-toggle-small-track-width)}.qds-knob[data-size=small]{width:var(--qds-control-toggle-small-knob-width)}.qds-indicator[data-size=small]{height:var(--qds-control-small-icon-size);width:var(--qds-control-small-icon-size)}.qds-container[data-size=standard]{min-height:var(--qds-control-toggle-standard-height)}.qds-inline[data-size=standard]{min-height:var(--qds-control-standard-height);padding-block:var(--qds-control-standard-padding-auto-height)}.qds-track[data-size=standard]{height:var(--qds-control-toggle-standard-track-height);width:var(--qds-control-toggle-standard-track-width)}.qds-knob[data-size=standard]{width:var(--qds-control-toggle-standard-knob-width)}.qds-indicator[data-size=standard]{height:var(--qds-control-standard-icon-size);width:var(--qds-control-standard-icon-size)}.qds-container[data-size=large]{min-height:var(--qds-control-toggle-large-height)}.qds-inline[data-size=large]{min-height:var(--qds-control-large-height);padding-block:var(--qds-control-large-padding-auto-height)}.qds-track[data-size=large]{height:var(--qds-control-toggle-large-track-height);width:var(--qds-control-toggle-large-track-width)}.qds-knob[data-size=large]{width:var(--qds-control-toggle-large-knob-width)}.qds-indicator[data-size=large]{height:var(--qds-control-large-icon-size);width:var(--qds-control-large-icon-size)}";
14178
+ const switchCss = ":host([hidden]){display:none!important}:host{display:inline-block;outline:none}.qds-knob,.qds-track{-webkit-print-color-adjust:exact;print-color-adjust:exact}.qds-track{align-items:center;background-color:var(--qds-theme-control-toggle-track-default);border-radius:var(--qds-control-rounded-border-radius);box-sizing:border-box;display:flex;flex-shrink:0;padding-inline:var(--qds-control-toggle-track-padding)}.qds-track:hover{background-color:var(--qds-theme-control-toggle-track-hover)}.qds-track:active{background-color:var(--qds-theme-control-toggle-track-pressed)}.qds-knob-container{align-items:center;align-self:stretch;display:flex;flex-direction:column;flex-shrink:0;justify-content:center;padding-block:var(--qds-control-toggle-track-padding)}.qds-knob{background-color:var(--qds-theme-control-background-default);border-radius:var(--qds-control-rounded-border-radius);box-sizing:border-box;height:100%;margin:0}.qds-indicator{color:var(--qds-theme-control-background-default);flex-grow:1;justify-content:center;padding-block:var(--qds-control-toggle-track-padding)}.qds-container,.qds-indicator{align-items:center;display:flex}.qds-container{box-sizing:border-box;cursor:pointer}.qds-switch{clip-path:inset(50%);height:1px;margin:0;position:absolute;white-space:nowrap;width:1px}.qds-switch:checked~.qds-track{background-color:var(--qds-theme-signature-color-default);justify-content:flex-end}.qds-switch:checked~.qds-track:hover{background-color:var(--qds-theme-signature-color-hover)}.qds-switch:checked~.qds-track:active{background-color:var(--qds-theme-signature-color-pressed)}:host(:focus-visible) .qds-switch~.qds-track{box-shadow:0 0 0 var(--qds-focus-heavy-border-width) var(--qds-theme-focus-border);outline:var(--qds-theme-focus-border-contrast) solid var(--qds-focus-light-border-width);outline-offset:0}.qds-disabled{opacity:var(--qds-theme-disabled);pointer-events:none}.qds-container[data-size=small]{min-height:var(--qds-control-toggle-small-height)}.qds-inline[data-size=small]{min-height:var(--qds-control-small-height);padding-block:var(--qds-control-small-padding-auto-height)}.qds-track[data-size=small]{height:var(--qds-control-toggle-small-track-height);width:var(--qds-control-toggle-small-track-width)}.qds-knob[data-size=small]{width:var(--qds-control-toggle-small-knob-width)}.qds-indicator[data-size=small]{height:var(--qds-control-small-icon-size);width:var(--qds-control-small-icon-size)}.qds-container[data-size=standard]{min-height:var(--qds-control-toggle-standard-height)}.qds-inline[data-size=standard]{min-height:var(--qds-control-standard-height);padding-block:var(--qds-control-standard-padding-auto-height)}.qds-track[data-size=standard]{height:var(--qds-control-toggle-standard-track-height);width:var(--qds-control-toggle-standard-track-width)}.qds-knob[data-size=standard]{width:var(--qds-control-toggle-standard-knob-width)}.qds-indicator[data-size=standard]{height:var(--qds-control-standard-icon-size);width:var(--qds-control-standard-icon-size)}.qds-container[data-size=large]{min-height:var(--qds-control-toggle-large-height)}.qds-inline[data-size=large]{min-height:var(--qds-control-large-height);padding-block:var(--qds-control-large-padding-auto-height)}.qds-track[data-size=large]{height:var(--qds-control-toggle-large-track-height);width:var(--qds-control-toggle-large-track-width)}.qds-knob[data-size=large]{width:var(--qds-control-toggle-large-knob-width)}.qds-indicator[data-size=large]{height:var(--qds-control-large-icon-size);width:var(--qds-control-large-icon-size)}";
10934
14179
 
10935
14180
  // SPDX-FileCopyrightText: © 2024 Schneider Electric
10936
14181
  //
@@ -11761,7 +15006,7 @@ class Tabbar {
11761
15006
  'qds-hidden': (this.disableEndArrow && this.disableStartArrow) ||
11762
15007
  this.orientation === 'vertical' ||
11763
15008
  __classPrivateFieldGet$6(this, _Tabbar_isVerticalPlacement, "f").call(this),
11764
- } }, hAsync("qds-icon-button", { key: '0a41181ab9c9c95cbb28d0767455d3a50651aa00', text: "show previous tab", importance: "subdued", iconName: "next", iconLibrary: "core", class: "qds-arrow-start", onClick: __classPrivateFieldGet$6(this, _Tabbar_scrollToStart, "f"), disabled: this.disableStartArrow })), hAsync("div", { key: 'b50e60c87c6626b185a2cd13767ff4c550a26e54', class: {
15009
+ } }, hAsync("qds-icon-button", { key: '862744ce7171f7bc6213ec150cfbe69e92eedb10', "aria-label": "show previous tab", importance: "subdued", iconName: "next", iconLibrary: "core", class: "qds-arrow-start", onClick: __classPrivateFieldGet$6(this, _Tabbar_scrollToStart, "f"), disabled: this.disableStartArrow })), hAsync("div", { key: 'f3657c4be9d81155c9868993d5870c223475b7a0', class: {
11765
15010
  'qds-tabs': true,
11766
15011
  'qds-vertical': this.orientation === 'vertical' || __classPrivateFieldGet$6(this, _Tabbar_isVerticalPlacement, "f").call(this),
11767
15012
  'qds-centered': this.alignment === 'center' &&
@@ -11771,12 +15016,12 @@ class Tabbar {
11771
15016
  this.disableStartArrow,
11772
15017
  }, ref: (element) => {
11773
15018
  __classPrivateFieldSet$3(this, _Tabbar_tabbar, element, "f");
11774
- }, onClick: __classPrivateFieldGet$6(this, _Tabbar_onClick, "f"), onKeyDown: __classPrivateFieldGet$6(this, _Tabbar_onKeyDown, "f"), onMouseDown: __classPrivateFieldGet$6(this, _Tabbar_onMouseDown, "f"), onScroll: __classPrivateFieldGet$6(this, _Tabbar_onScroll, "f") }, hAsync("slot", { key: 'e688bcf46bebef8086c5b9082025d84bb6701cc9', onSlotchange: __classPrivateFieldGet$6(this, _Tabbar_onSlotchange, "f") })), hAsync("div", { key: '3ca052fed5793a4ef73ec2ef2c9634c256c883f6', class: {
15019
+ }, onClick: __classPrivateFieldGet$6(this, _Tabbar_onClick, "f"), onKeyDown: __classPrivateFieldGet$6(this, _Tabbar_onKeyDown, "f"), onMouseDown: __classPrivateFieldGet$6(this, _Tabbar_onMouseDown, "f"), onScroll: __classPrivateFieldGet$6(this, _Tabbar_onScroll, "f") }, hAsync("slot", { key: 'f07b2e92977e6b6c14635cbc16d18d0028bc0eee', onSlotchange: __classPrivateFieldGet$6(this, _Tabbar_onSlotchange, "f") })), hAsync("div", { key: '737647c4e399bbd90b597262529387e4ad64d315', class: {
11775
15020
  'qds-align-center': true,
11776
15021
  'qds-hidden': (this.disableEndArrow && this.disableStartArrow) ||
11777
15022
  this.orientation === 'vertical' ||
11778
15023
  __classPrivateFieldGet$6(this, _Tabbar_isVerticalPlacement, "f").call(this),
11779
- } }, hAsync("qds-icon-button", { key: 'a43327b519cb85f57c2c671d5c4cbd72c4f40da3', text: "show next tab", iconName: "next", iconLibrary: "core", importance: "subdued", onClick: __classPrivateFieldGet$6(this, _Tabbar_scrollToEnd, "f"), disabled: this.disableEndArrow }))), __classPrivateFieldGet$6(this, _Tabbar_instances, "a", _Tabbar_computeDividerVisible_get) && !__classPrivateFieldGet$6(this, _Tabbar_isEndOrBottomPlacement, "f").call(this) && (hAsync("qds-divider", { key: 'aaa07da25a49b79dec8032435ac25798f5f3664a', vertical: this.orientation === 'vertical' || __classPrivateFieldGet$6(this, _Tabbar_isVerticalPlacement, "f").call(this) }))));
15024
+ } }, hAsync("qds-icon-button", { key: '110214d91f43ae81c1cd718b538628e2d97e802d', "aria-label": "show next tab", iconName: "next", iconLibrary: "core", importance: "subdued", onClick: __classPrivateFieldGet$6(this, _Tabbar_scrollToEnd, "f"), disabled: this.disableEndArrow }))), __classPrivateFieldGet$6(this, _Tabbar_instances, "a", _Tabbar_computeDividerVisible_get) && !__classPrivateFieldGet$6(this, _Tabbar_isEndOrBottomPlacement, "f").call(this) && (hAsync("qds-divider", { key: '3bcc003f4ed3e84dcb627097feea57f804fe2fb3', vertical: this.orientation === 'vertical' || __classPrivateFieldGet$6(this, _Tabbar_isVerticalPlacement, "f").call(this) }))));
11780
15025
  }
11781
15026
  static get delegatesFocus() { return true; }
11782
15027
  get host() { return getElement(this); }
@@ -12649,7 +15894,7 @@ _TextArea_inheritedAttributes = new WeakMap(), _TextArea_textarea = new WeakMap(
12649
15894
  Object.defineProperty(this.host, p, { enumerable: true, get });
12650
15895
  };
12651
15896
 
12652
- const titleCss = ":host([hidden]){display:none!important}:host{display:block}.qds-titles{display:grid;grid-template-areas:\"f\"}.qds-titles.qds-has-kicker{grid-template-areas:\"g\" \"f\"}.qds-titles.qds-has-subtitle{grid-template-areas:\"f\" \"h\"}.qds-titles.qds-has-kicker.qds-has-subtitle{grid-template-areas:\"g\" \"f\" \"h\"}.qds-has-icon{grid-template-areas:\"i f\";grid-template-columns:auto 1fr}.qds-has-icon.qds-has-kicker{grid-template-areas:\". g\" \"i f\"}.qds-has-icon.qds-has-subtitle{grid-template-areas:\"i f\" \". h\"}.qds-has-icon.qds-has-kicker.qds-has-subtitle{grid-template-areas:\". g\" \"i f\" \". h\"}.qds-title,.qds-titles{hyphens:inherit}.qds-kicker,.qds-subtitle{hyphens:manual}.qds-kicker,.qds-subtitle,.qds-title{margin-block:0}.qds-title{color:var(--qds-theme-title);grid-area:f}.qds-subtitle{color:var(--qds-theme-subtitle);grid-area:h}.qds-kicker{color:var(--qds-theme-kicker);grid-area:g}.qds-icon{align-content:center;color:var(--qds-theme-text-standard);grid-area:i}.qds-root.qds-main .qds-title{font:var(--qds-main-title)}.qds-root.qds-main .qds-subtitle{font:var(--qds-main-subtitle)}.qds-root.qds-main .qds-kicker{font:var(--qds-main-kicker)}.qds-root.qds-main .qds-icon{height:var(--qds-main-titles-icon-crop-height);width:var(--qds-main-titles-icon-size)}.qds-root.qds-main.qds-titles{gap:var(--qds-main-titles-gap)}.qds-root.qds-main.qds-has-icon{gap:var(--qds-main-titles-gap) var(--qds-main-titles-icon-gap)}.qds-root.qds-navigation .qds-title{font:var(--qds-navigation-title)}.qds-root.qds-navigation .qds-subtitle{font:var(--qds-navigation-subtitle)}.qds-root.qds-navigation .qds-kicker{font:var(--qds-navigation-kicker)}.qds-root.qds-navigation .qds-icon{height:var(--qds-navigation-titles-icon-crop-height);width:var(--qds-navigation-titles-icon-size)}.qds-root.qds-navigation.qds-titles{gap:var(--qds-navigation-titles-gap)}.qds-root.qds-navigation.qds-has-icon{gap:var(--qds-navigation-titles-gap) var(--qds-navigation-titles-icon-gap)}.qds-main.qds-section.qds-titles{gap:var(--qds-main-section-titles-gap)}.qds-main.qds-section.qds-has-icon{gap:var(--qds-main-section-titles-gap) var(--qds-main-section-titles-icon-gap)}.qds-main.qds-section .qds-title{font:var(--qds-main-section-title)}.qds-main.qds-section .qds-subtitle{font:var(--qds-main-section-subtitle)}.qds-main.qds-section .qds-kicker{font:var(--qds-main-section-kicker)}.qds-main.qds-section .qds-icon{height:var(--qds-main-section-titles-icon-crop-height);width:var(--qds-main-section-titles-icon-size)}.qds-main.qds-subsection.qds-titles{gap:var(--qds-main-subsection-titles-gap)}.qds-main.qds-subsection.qds-has-icon{gap:var(--qds-main-subsection-titles-gap) var(--qds-main-subsection-titles-icon-gap)}.qds-main.qds-subsection .qds-title{font:var(--qds-main-subsection-title)}.qds-main.qds-subsection .qds-subtitle{font:var(--qds-main-subsection-subtitle)}.qds-main.qds-subsection .qds-kicker{font:var(--qds-main-subsection-kicker)}.qds-main.qds-subsection .qds-icon{height:var(--qds-main-subsection-titles-icon-crop-height);width:var(--qds-main-subsection-titles-icon-size)}.qds-panel.qds-root.qds-titles{gap:var(--qds-panel-titles-gap)}.qds-panel.qds-root.qds-has-icon{gap:var(--qds-panel-titles-gap) var(--qds-panel-titles-icon-gap)}.qds-panel.qds-root .qds-title{font:var(--qds-panel-title)}.qds-panel.qds-root .qds-subtitle{font:var(--qds-panel-subtitle)}.qds-panel.qds-root .qds-kicker{font:var(--qds-panel-kicker)}.qds-panel.qds-root .qds-icon{height:var(--qds-panel-titles-icon-crop-height);width:var(--qds-panel-titles-icon-size)}.qds-panel.qds-section.qds-titles{gap:var(--qds-panel-section-titles-gap)}.qds-panel.qds-section.qds-has-icon{gap:var(--qds-panel-section-titles-gap) var(--qds-panel-section-titles-icon-gap)}.qds-panel.qds-section .qds-title{font:var(--qds-panel-section-title)}.qds-panel.qds-section .qds-subtitle{font:var(--qds-panel-section-subtitle)}.qds-panel.qds-section .qds-kicker{font:var(--qds-panel-section-kicker)}.qds-panel.qds-section .qds-icon{height:var(--qds-panel-section-titles-icon-crop-height);width:var(--qds-panel-section-titles-icon-size)}.qds-panel.qds-subsection.qds-titles{gap:var(--qds-panel-subsection-titles-gap)}.qds-panel.qds-subsection.qds-has-icon{gap:var(--qds-panel-subsection-titles-gap) var(--qds-panel-subsection-titles-icon-gap)}.qds-panel.qds-subsection .qds-title{font:var(--qds-panel-subsection-title)}.qds-panel.qds-subsection .qds-subtitle{font:var(--qds-panel-subsection-subtitle)}.qds-panel.qds-subsection .qds-kicker{font:var(--qds-panel-subsection-kicker)}.qds-panel.qds-subsection .qds-icon{height:var(--qds-panel-subsection-titles-icon-crop-height);width:var(--qds-panel-subsection-titles-icon-size)}.qds-navigation.qds-section.qds-titles{gap:var(--qds-navigation-section-titles-gap)}.qds-navigation.qds-section.qds-has-icon{gap:var(--qds-navigation-section-titles-gap) var(--qds-navigation-section-titles-icon-gap)}.qds-navigation.qds-section .qds-title{font:var(--qds-navigation-section-title)}.qds-navigation.qds-section .qds-subtitle{font:var(--qds-navigation-section-subtitle)}.qds-navigation.qds-section .qds-kicker{font:var(--qds-navigation-section-kicker)}.qds-navigation.qds-section .qds-icon{height:var(--qds-navigation-section-titles-icon-crop-height);width:var(--qds-navigation-section-titles-icon-size)}.qds-navigation.qds-subsection.qds-titles{gap:var(--qds-navigation-subsection-titles-gap)}.qds-navigation.qds-subsection.qds-has-icon{gap:var(--qds-navigation-subsection-titles-gap) var(--qds-navigation-subsection-titles-icon-gap)}.qds-navigation.qds-subsection .qds-title{font:var(--qds-navigation-subsection-title)}.qds-navigation.qds-subsection .qds-subtitle{font:var(--qds-navigation-subsection-subtitle)}.qds-navigation.qds-subsection .qds-kicker{font:var(--qds-navigation-subsection-kicker)}.qds-navigation.qds-subsection .qds-icon{height:var(--qds-navigation-subsection-titles-icon-crop-height);width:var(--qds-navigation-subsection-titles-icon-size)}.qds-popup.qds-root.qds-titles{gap:var(--qds-popup-titles-gap)}.qds-popup.qds-root.qds-has-icon{gap:var(--qds-popup-titles-gap) var(--qds-popup-titles-icon-gap)}.qds-popup.qds-root .qds-title{font:var(--qds-popup-title)}.qds-popup.qds-root .qds-subtitle{font:var(--qds-popup-subtitle)}.qds-popup.qds-root .qds-kicker{font:var(--qds-popup-kicker)}.qds-popup.qds-root .qds-icon{height:var(--qds-popup-titles-icon-crop-height);width:var(--qds-popup-titles-icon-size)}.qds-popup.qds-section.qds-titles{gap:var(--qds-popup-section-titles-gap)}.qds-popup.qds-section.qds-has-icon{gap:var(--qds-popup-section-titles-gap) var(--qds-popup-section-titles-icon-gap)}.qds-popup.qds-section .qds-title{font:var(--qds-popup-section-title)}.qds-popup.qds-section .qds-subtitle{font:var(--qds-popup-section-subtitle)}.qds-popup.qds-section .qds-kicker{font:var(--qds-popup-section-kicker)}.qds-popup.qds-section .qds-icon{height:var(--qds-popup-section-titles-icon-crop-height);width:var(--qds-popup-section-titles-icon-size)}.qds-popup.qds-subsection.qds-titles{gap:var(--qds-popup-subsection-titles-gap)}.qds-popup.qds-subsection.qds-has-icon{gap:var(--qds-popup-subsection-titles-gap) var(--qds-popup-subsection-titles-icon-gap)}.qds-popup.qds-subsection .qds-title{font:var(--qds-popup-subsection-title)}.qds-popup.qds-subsection .qds-subtitle{font:var(--qds-popup-subsection-subtitle)}.qds-popup.qds-subsection .qds-kicker{font:var(--qds-popup-subsection-kicker)}.qds-popup.qds-subsection .qds-icon{height:var(--qds-popup-subsection-titles-icon-crop-height);width:var(--qds-popup-subsection-titles-icon-size)}.qds-accessory.qds-root.qds-titles{gap:var(--qds-accessory-titles-gap)}.qds-accessory.qds-root.qds-has-icon{gap:var(--qds-accessory-titles-gap) var(--qds-accessory-titles-icon-gap)}.qds-accessory.qds-root .qds-title{font:var(--qds-accessory-title)}.qds-accessory.qds-root .qds-subtitle{font:var(--qds-accessory-subtitle)}.qds-accessory.qds-root .qds-kicker{font:var(--qds-accessory-kicker)}.qds-accessory.qds-root .qds-icon{height:var(--qds-accessory-titles-icon-crop-height);width:var(--qds-accessory-titles-icon-size)}.qds-accessory.qds-section.qds-titles{gap:var(--qds-accessory-section-titles-gap)}.qds-accessory.qds-section.qds-has-icon{gap:var(--qds-accessory-section-titles-gap) var(--qds-accessory-section-titles-icon-gap)}.qds-accessory.qds-section .qds-title{font:var(--qds-accessory-section-title)}.qds-accessory.qds-section .qds-subtitle{font:var(--qds-accessory-section-subtitle)}.qds-accessory.qds-section .qds-kicker{font:var(--qds-accessory-section-kicker)}.qds-accessory.qds-section .qds-icon{height:var(--qds-accessory-section-titles-icon-crop-height);width:var(--qds-accessory-section-titles-icon-size)}.qds-titles[data-variant=web-main-section-promo]:is(.qds-root,.qds-section,.qds-subsection){gap:var(--qds-main-section-promo-titles-gap);margin:auto}[data-variant=web-main-section-promo]:is(.qds-root,.qds-section,.qds-subsection) .qds-title{font:var(--qds-main-section-promo-title)}[data-variant=web-main-section-promo]:is(.qds-root,.qds-section,.qds-subsection) .qds-subtitle{font:var(--qds-main-section-promo-subtitle)}[data-variant=web-main-section-promo]:is(.qds-root,.qds-section,.qds-subsection) .qds-kicker{font:var(--qds-main-section-promo-kicker)}.qds-has-icon[data-variant=web-main-section-promo]:is(.qds-root,.qds-section,.qds-subsection){gap:var(--qds-main-section-promo-titles-gap) var(--qds-main-section-promo-titles-icon-gap)}[data-variant=web-main-section-promo]:is(.qds-root,.qds-section,.qds-subsection) .qds-icon{height:var(--qds-main-section-promo-titles-icon-crop-height);width:var(--qds-main-section-promo-titles-icon-size)}[data-alignment=start]{text-align:start}[data-alignment=center]{text-align:center}[data-alignment=end]{text-align:end}.qds-titles[data-variant=web-main-section-display]:is(.qds-root,.qds-section,.qds-subsection){gap:var(--qds-main-section-display-titles-gap)}[data-variant=web-main-section-display]:is(.qds-root,.qds-section,.qds-subsection) .qds-title{font:var(--qds-main-section-display-title)}.qds-titles[data-variant=web-main-subsection-card]:is(.qds-root,.qds-section,.qds-subsection){gap:var(--qds-main-subsection-card-titles-gap)}[data-variant=web-main-subsection-card]:is(.qds-root,.qds-section,.qds-subsection) .qds-title{font:var(--qds-main-subsection-card-standard-title)}.qds-titles[data-variant=web-main-section-hero]:is(.qds-root,.qds-section,.qds-subsection){gap:var(--qds-main-section-hero-titles-gap)}[data-variant=web-main-section-hero]:is(.qds-root,.qds-section,.qds-subsection) .qds-title{font:var(--qds-main-section-hero-title)}";
15897
+ const titleCss = ":host([hidden]){display:none!important}:host{display:block}.qds-titles{display:grid;grid-template-areas:\"g\"}.qds-titles.qds-has-kicker{grid-template-areas:\"h\" \"g\"}.qds-titles.qds-has-subtitle{grid-template-areas:\"g\" \"i\"}.qds-titles.qds-has-kicker.qds-has-subtitle{grid-template-areas:\"h\" \"g\" \"i\"}.qds-has-icon{grid-template-areas:\"j g\";grid-template-columns:auto 1fr}.qds-has-icon.qds-has-kicker{grid-template-areas:\". h\" \"j g\"}.qds-has-icon.qds-has-subtitle{grid-template-areas:\"j g\" \". i\"}.qds-has-icon.qds-has-kicker.qds-has-subtitle{grid-template-areas:\". h\" \"j g\" \". i\"}.qds-title,.qds-titles{hyphens:inherit}.qds-kicker,.qds-subtitle{hyphens:manual}.qds-kicker,.qds-subtitle,.qds-title{margin-block:0}.qds-title{color:var(--qds-theme-title);grid-area:g}.qds-subtitle{color:var(--qds-theme-subtitle);grid-area:i}.qds-kicker{color:var(--qds-theme-kicker);grid-area:h}.qds-icon{align-content:center;color:var(--qds-theme-text-standard);grid-area:j}.qds-root.qds-main .qds-title{font:var(--qds-main-title)}.qds-root.qds-main .qds-subtitle{font:var(--qds-main-subtitle)}.qds-root.qds-main .qds-kicker{font:var(--qds-main-kicker)}.qds-root.qds-main .qds-icon{height:var(--qds-main-titles-icon-crop-height);width:var(--qds-main-titles-icon-size)}.qds-root.qds-main.qds-titles{gap:var(--qds-main-titles-gap)}.qds-root.qds-main.qds-has-icon{gap:var(--qds-main-titles-gap) var(--qds-main-titles-icon-gap)}.qds-root.qds-navigation .qds-title{font:var(--qds-navigation-title)}.qds-root.qds-navigation .qds-subtitle{font:var(--qds-navigation-subtitle)}.qds-root.qds-navigation .qds-kicker{font:var(--qds-navigation-kicker)}.qds-root.qds-navigation .qds-icon{height:var(--qds-navigation-titles-icon-crop-height);width:var(--qds-navigation-titles-icon-size)}.qds-root.qds-navigation.qds-titles{gap:var(--qds-navigation-titles-gap)}.qds-root.qds-navigation.qds-has-icon{gap:var(--qds-navigation-titles-gap) var(--qds-navigation-titles-icon-gap)}.qds-main.qds-section.qds-titles{gap:var(--qds-main-section-titles-gap)}.qds-main.qds-section.qds-has-icon{gap:var(--qds-main-section-titles-gap) var(--qds-main-section-titles-icon-gap)}.qds-main.qds-section .qds-title{font:var(--qds-main-section-title)}.qds-main.qds-section .qds-subtitle{font:var(--qds-main-section-subtitle)}.qds-main.qds-section .qds-kicker{font:var(--qds-main-section-kicker)}.qds-main.qds-section .qds-icon{height:var(--qds-main-section-titles-icon-crop-height);width:var(--qds-main-section-titles-icon-size)}.qds-main.qds-subsection.qds-titles{gap:var(--qds-main-subsection-titles-gap)}.qds-main.qds-subsection.qds-has-icon{gap:var(--qds-main-subsection-titles-gap) var(--qds-main-subsection-titles-icon-gap)}.qds-main.qds-subsection .qds-title{font:var(--qds-main-subsection-title)}.qds-main.qds-subsection .qds-subtitle{font:var(--qds-main-subsection-subtitle)}.qds-main.qds-subsection .qds-kicker{font:var(--qds-main-subsection-kicker)}.qds-main.qds-subsection .qds-icon{height:var(--qds-main-subsection-titles-icon-crop-height);width:var(--qds-main-subsection-titles-icon-size)}.qds-panel.qds-root.qds-titles{gap:var(--qds-panel-titles-gap)}.qds-panel.qds-root.qds-has-icon{gap:var(--qds-panel-titles-gap) var(--qds-panel-titles-icon-gap)}.qds-panel.qds-root .qds-title{font:var(--qds-panel-title)}.qds-panel.qds-root .qds-subtitle{font:var(--qds-panel-subtitle)}.qds-panel.qds-root .qds-kicker{font:var(--qds-panel-kicker)}.qds-panel.qds-root .qds-icon{height:var(--qds-panel-titles-icon-crop-height);width:var(--qds-panel-titles-icon-size)}.qds-panel.qds-section.qds-titles{gap:var(--qds-panel-section-titles-gap)}.qds-panel.qds-section.qds-has-icon{gap:var(--qds-panel-section-titles-gap) var(--qds-panel-section-titles-icon-gap)}.qds-panel.qds-section .qds-title{font:var(--qds-panel-section-title)}.qds-panel.qds-section .qds-subtitle{font:var(--qds-panel-section-subtitle)}.qds-panel.qds-section .qds-kicker{font:var(--qds-panel-section-kicker)}.qds-panel.qds-section .qds-icon{height:var(--qds-panel-section-titles-icon-crop-height);width:var(--qds-panel-section-titles-icon-size)}.qds-panel.qds-subsection.qds-titles{gap:var(--qds-panel-subsection-titles-gap)}.qds-panel.qds-subsection.qds-has-icon{gap:var(--qds-panel-subsection-titles-gap) var(--qds-panel-subsection-titles-icon-gap)}.qds-panel.qds-subsection .qds-title{font:var(--qds-panel-subsection-title)}.qds-panel.qds-subsection .qds-subtitle{font:var(--qds-panel-subsection-subtitle)}.qds-panel.qds-subsection .qds-kicker{font:var(--qds-panel-subsection-kicker)}.qds-panel.qds-subsection .qds-icon{height:var(--qds-panel-subsection-titles-icon-crop-height);width:var(--qds-panel-subsection-titles-icon-size)}.qds-navigation.qds-section.qds-titles{gap:var(--qds-navigation-section-titles-gap)}.qds-navigation.qds-section.qds-has-icon{gap:var(--qds-navigation-section-titles-gap) var(--qds-navigation-section-titles-icon-gap)}.qds-navigation.qds-section .qds-title{font:var(--qds-navigation-section-title)}.qds-navigation.qds-section .qds-subtitle{font:var(--qds-navigation-section-subtitle)}.qds-navigation.qds-section .qds-kicker{font:var(--qds-navigation-section-kicker)}.qds-navigation.qds-section .qds-icon{height:var(--qds-navigation-section-titles-icon-crop-height);width:var(--qds-navigation-section-titles-icon-size)}.qds-navigation.qds-subsection.qds-titles{gap:var(--qds-navigation-subsection-titles-gap)}.qds-navigation.qds-subsection.qds-has-icon{gap:var(--qds-navigation-subsection-titles-gap) var(--qds-navigation-subsection-titles-icon-gap)}.qds-navigation.qds-subsection .qds-title{font:var(--qds-navigation-subsection-title)}.qds-navigation.qds-subsection .qds-subtitle{font:var(--qds-navigation-subsection-subtitle)}.qds-navigation.qds-subsection .qds-kicker{font:var(--qds-navigation-subsection-kicker)}.qds-navigation.qds-subsection .qds-icon{height:var(--qds-navigation-subsection-titles-icon-crop-height);width:var(--qds-navigation-subsection-titles-icon-size)}.qds-popup.qds-root.qds-titles{gap:var(--qds-popup-titles-gap)}.qds-popup.qds-root.qds-has-icon{gap:var(--qds-popup-titles-gap) var(--qds-popup-titles-icon-gap)}.qds-popup.qds-root .qds-title{font:var(--qds-popup-title)}.qds-popup.qds-root .qds-subtitle{font:var(--qds-popup-subtitle)}.qds-popup.qds-root .qds-kicker{font:var(--qds-popup-kicker)}.qds-popup.qds-root .qds-icon{height:var(--qds-popup-titles-icon-crop-height);width:var(--qds-popup-titles-icon-size)}.qds-popup.qds-section.qds-titles{gap:var(--qds-popup-section-titles-gap)}.qds-popup.qds-section.qds-has-icon{gap:var(--qds-popup-section-titles-gap) var(--qds-popup-section-titles-icon-gap)}.qds-popup.qds-section .qds-title{font:var(--qds-popup-section-title)}.qds-popup.qds-section .qds-subtitle{font:var(--qds-popup-section-subtitle)}.qds-popup.qds-section .qds-kicker{font:var(--qds-popup-section-kicker)}.qds-popup.qds-section .qds-icon{height:var(--qds-popup-section-titles-icon-crop-height);width:var(--qds-popup-section-titles-icon-size)}.qds-popup.qds-subsection.qds-titles{gap:var(--qds-popup-subsection-titles-gap)}.qds-popup.qds-subsection.qds-has-icon{gap:var(--qds-popup-subsection-titles-gap) var(--qds-popup-subsection-titles-icon-gap)}.qds-popup.qds-subsection .qds-title{font:var(--qds-popup-subsection-title)}.qds-popup.qds-subsection .qds-subtitle{font:var(--qds-popup-subsection-subtitle)}.qds-popup.qds-subsection .qds-kicker{font:var(--qds-popup-subsection-kicker)}.qds-popup.qds-subsection .qds-icon{height:var(--qds-popup-subsection-titles-icon-crop-height);width:var(--qds-popup-subsection-titles-icon-size)}.qds-accessory.qds-root.qds-titles{gap:var(--qds-accessory-titles-gap)}.qds-accessory.qds-root.qds-has-icon{gap:var(--qds-accessory-titles-gap) var(--qds-accessory-titles-icon-gap)}.qds-accessory.qds-root .qds-title{font:var(--qds-accessory-title)}.qds-accessory.qds-root .qds-subtitle{font:var(--qds-accessory-subtitle)}.qds-accessory.qds-root .qds-kicker{font:var(--qds-accessory-kicker)}.qds-accessory.qds-root .qds-icon{height:var(--qds-accessory-titles-icon-crop-height);width:var(--qds-accessory-titles-icon-size)}.qds-accessory.qds-section.qds-titles{gap:var(--qds-accessory-section-titles-gap)}.qds-accessory.qds-section.qds-has-icon{gap:var(--qds-accessory-section-titles-gap) var(--qds-accessory-section-titles-icon-gap)}.qds-accessory.qds-section .qds-title{font:var(--qds-accessory-section-title)}.qds-accessory.qds-section .qds-subtitle{font:var(--qds-accessory-section-subtitle)}.qds-accessory.qds-section .qds-kicker{font:var(--qds-accessory-section-kicker)}.qds-accessory.qds-section .qds-icon{height:var(--qds-accessory-section-titles-icon-crop-height);width:var(--qds-accessory-section-titles-icon-size)}.qds-titles[data-variant=web-main-section-promo]:is(.qds-root,.qds-section,.qds-subsection){gap:var(--qds-main-section-promo-titles-gap);margin:auto}[data-variant=web-main-section-promo]:is(.qds-root,.qds-section,.qds-subsection) .qds-title{font:var(--qds-main-section-promo-title)}[data-variant=web-main-section-promo]:is(.qds-root,.qds-section,.qds-subsection) .qds-subtitle{font:var(--qds-main-section-promo-subtitle)}[data-variant=web-main-section-promo]:is(.qds-root,.qds-section,.qds-subsection) .qds-kicker{font:var(--qds-main-section-promo-kicker)}.qds-has-icon[data-variant=web-main-section-promo]:is(.qds-root,.qds-section,.qds-subsection){gap:var(--qds-main-section-promo-titles-gap) var(--qds-main-section-promo-titles-icon-gap)}[data-variant=web-main-section-promo]:is(.qds-root,.qds-section,.qds-subsection) .qds-icon{height:var(--qds-main-section-promo-titles-icon-crop-height);width:var(--qds-main-section-promo-titles-icon-size)}[data-alignment=start]{text-align:start}[data-alignment=center]{text-align:center}[data-alignment=end]{text-align:end}.qds-titles[data-variant=web-main-section-display]:is(.qds-root,.qds-section,.qds-subsection){gap:var(--qds-main-section-display-titles-gap)}[data-variant=web-main-section-display]:is(.qds-root,.qds-section,.qds-subsection) .qds-title{font:var(--qds-main-section-display-title)}.qds-titles[data-variant=web-main-subsection-card]:is(.qds-root,.qds-section,.qds-subsection){gap:var(--qds-main-subsection-card-titles-gap)}[data-variant=web-main-subsection-card]:is(.qds-root,.qds-section,.qds-subsection) .qds-title{font:var(--qds-main-subsection-card-standard-title)}.qds-titles[data-variant=web-main-section-hero]:is(.qds-root,.qds-section,.qds-subsection){gap:var(--qds-main-section-hero-titles-gap)}[data-variant=web-main-section-hero]:is(.qds-root,.qds-section,.qds-subsection) .qds-title{font:var(--qds-main-section-hero-title)}";
12653
15898
 
12654
15899
  // SPDX-FileCopyrightText: © 2024 Schneider Electric
12655
15900
  //