@sky.ui/core 0.0.59 → 0.0.60

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.
@@ -488,83 +488,59 @@
488
488
  },
489
489
  {
490
490
  "kind": "javascript-module",
491
- "path": "src/sky-avatar/sky-avatar.ts",
491
+ "path": "src/sky-appbar/sky-appbar.ts",
492
492
  "declarations": [
493
493
  {
494
494
  "kind": "class",
495
495
  "description": "",
496
- "name": "SkyAvatar",
496
+ "name": "SkyAppbar",
497
497
  "cssParts": [
498
498
  {
499
- "description": "The avatar container element.",
500
- "name": "avatar"
499
+ "description": "Wrapper that contains the leading slot, title, and actions.",
500
+ "name": "content"
501
501
  },
502
502
  {
503
- "description": "The loading overlay container (shown when `loading` is true).",
504
- "name": "loading-overlay"
503
+ "description": "Container for the leading slot (e.g. menu button).",
504
+ "name": "leading"
505
505
  },
506
506
  {
507
- "description": "The spinner element shown when loading.",
508
- "name": "spinner"
507
+ "description": "The title area (contains .title-text with the title string).",
508
+ "name": "title"
509
+ },
510
+ {
511
+ "description": "The trailing actions container.",
512
+ "name": "actions"
509
513
  }
510
514
  ],
511
515
  "slots": [
512
516
  {
513
- "description": "Fallback content (e.g., initials or an icon) rendered when `image` is empty.",
517
+ "description": "Leading area (e.g., menu/back button). Defaults to a hamburger icon.",
518
+ "name": "button"
519
+ },
520
+ {
521
+ "description": "Trailing actions (icons/buttons). This is the default slot.",
514
522
  "name": ""
515
523
  }
516
524
  ],
517
525
  "members": [
518
526
  {
519
527
  "kind": "field",
520
- "name": "size",
521
- "type": {
522
- "text": "string"
523
- },
524
- "default": "\"50px\"",
525
- "description": "Avatar size: preset `sm` | `md` | `lg` or CSS length (for example `50px`).",
526
- "attribute": "size"
527
- },
528
- {
529
- "kind": "field",
530
- "name": "image",
531
- "type": {
532
- "text": "string"
533
- },
534
- "default": "\"\"",
535
- "description": "Image URL; fallback slot is shown on load error.",
536
- "attribute": "image"
537
- },
538
- {
539
- "kind": "field",
540
- "name": "fit",
541
- "type": {
542
- "text": "SkyAvatarFit"
543
- },
544
- "default": "\"cover\"",
545
- "description": "Image fill mode: `cover` (default) or `contain`.",
546
- "attribute": "fit",
547
- "reflects": true
548
- },
549
- {
550
- "kind": "field",
551
- "name": "radius",
528
+ "name": "dependencies",
552
529
  "type": {
553
- "text": "string"
530
+ "text": "Record<string, CustomElementConstructor>"
554
531
  },
555
- "default": "\"md\"",
556
- "description": "Border radius token or CSS value.",
557
- "attribute": "radius"
532
+ "static": true,
533
+ "default": "{ \"sky-icon\": SkyIcon, }"
558
534
  },
559
535
  {
560
536
  "kind": "field",
561
- "name": "alt",
537
+ "name": "title",
562
538
  "type": {
563
539
  "text": "string"
564
540
  },
565
- "default": "\"\"",
566
- "description": "Accessible name when image content conveys meaning.",
567
- "attribute": "alt"
541
+ "default": "\"App Bar\"",
542
+ "description": "Title text displayed in the app bar.",
543
+ "attribute": "title"
568
544
  },
569
545
  {
570
546
  "kind": "field",
@@ -572,82 +548,59 @@
572
548
  "type": {
573
549
  "text": "string"
574
550
  },
575
- "default": "\"dark\"",
576
- "description": "Token or CSS color applied to fallback slot content.",
551
+ "default": "\"default\"",
552
+ "description": "Semantic token or CSS color for bar background; foreground color is derived for contrast.",
577
553
  "attribute": "color"
578
554
  },
579
555
  {
580
556
  "kind": "field",
581
- "name": "outline",
557
+ "name": "url",
582
558
  "type": {
583
559
  "text": "string"
584
560
  },
585
561
  "default": "\"\"",
586
- "description": "CSS `outline` value.",
587
- "attribute": "outline"
588
- },
589
- {
590
- "kind": "field",
591
- "name": "outlineOffset",
592
- "type": {
593
- "text": "string"
594
- },
595
- "default": "\"2px\"",
596
- "description": "CSS `outline-offset` value.",
597
- "attribute": "outlineOffset"
598
- },
599
- {
600
- "kind": "field",
601
- "name": "loading",
602
- "type": {
603
- "text": "boolean"
604
- },
605
- "default": "false",
606
- "description": "Shows loading overlay when true.",
607
- "attribute": "loading",
608
- "reflects": true
562
+ "description": "Background image URL.",
563
+ "attribute": "url"
609
564
  },
610
565
  {
611
566
  "kind": "field",
612
- "name": "disabled",
567
+ "name": "banner",
613
568
  "type": {
614
569
  "text": "boolean"
615
570
  },
616
- "default": "false",
617
- "description": "Dims and disables pointer interactions.",
618
- "attribute": "disabled",
619
- "reflects": true
571
+ "default": "true",
572
+ "description": "Uses `role=\"banner\"` when true, otherwise `role=\"group\"`.",
573
+ "attribute": "banner"
620
574
  },
621
575
  {
622
576
  "kind": "field",
623
- "name": "interactive",
577
+ "name": "dense",
624
578
  "type": {
625
579
  "text": "boolean"
626
580
  },
627
581
  "default": "false",
628
- "description": "Enables interactive behavior with keyboard/click activation.",
629
- "attribute": "interactive"
582
+ "description": "Enables compact vertical spacing.",
583
+ "attribute": "dense"
630
584
  },
631
585
  {
632
586
  "kind": "field",
633
- "name": "shadow",
587
+ "name": "elevated",
634
588
  "type": {
635
589
  "text": "boolean"
636
590
  },
637
591
  "default": "false",
638
- "description": "When true, applies solid surface, border ring, and elevation; no backdrop blur.",
639
- "attribute": "shadow",
640
- "reflects": true
592
+ "description": "Applies elevated shadow styling.",
593
+ "attribute": "elevated"
641
594
  },
642
595
  {
643
596
  "kind": "field",
644
- "name": "_imageError",
597
+ "name": "leadingLabel",
645
598
  "type": {
646
- "text": "boolean"
599
+ "text": "string"
647
600
  },
648
- "privacy": "private",
649
- "default": "false",
650
- "description": "True when image failed to load; show slot instead."
601
+ "default": "\"Open menu\"",
602
+ "description": "Accessible label for default leading button fallback.",
603
+ "attribute": "leadingLabel"
651
604
  },
652
605
  {
653
606
  "kind": "field",
@@ -666,187 +619,95 @@
666
619
  "privacy": "private",
667
620
  "default": "new PresetController(this)"
668
621
  },
669
- {
670
- "kind": "field",
671
- "name": "_onImageLoad",
672
- "privacy": "private",
673
- "description": "Marks image load success and keeps image rendering active."
674
- },
675
- {
676
- "kind": "field",
677
- "name": "_onImageError",
678
- "privacy": "private",
679
- "description": "Marks image load failure and enables fallback slot rendering."
680
- },
681
- {
682
- "kind": "method",
683
- "name": "_handleInteractiveClick",
684
- "privacy": "private",
685
- "return": {
686
- "type": {
687
- "text": "void"
688
- }
689
- },
690
- "parameters": [
691
- {
692
- "name": "e",
693
- "type": {
694
- "text": "Event"
695
- }
696
- }
697
- ],
698
- "description": "Re-dispatches click in interactive mode for host-level consumers."
699
- },
700
622
  {
701
623
  "kind": "method",
702
- "name": "_handleInteractiveKeydown",
624
+ "name": "_applyColorSurface",
703
625
  "privacy": "private",
704
626
  "return": {
705
627
  "type": {
706
628
  "text": "void"
707
629
  }
708
630
  },
709
- "parameters": [
710
- {
711
- "name": "e",
712
- "type": {
713
- "text": "KeyboardEvent"
714
- }
715
- }
716
- ],
717
- "description": "Handles keyboard activation in interactive mode."
631
+ "description": "Applies glass vs solid surface tokens from `color`."
718
632
  },
719
633
  {
720
634
  "kind": "method",
721
- "name": "adjustSpinnerSize",
635
+ "name": "_applyBackgroundImage",
722
636
  "privacy": "private",
723
637
  "return": {
724
638
  "type": {
725
639
  "text": "void"
726
640
  }
727
641
  },
728
- "description": "Derives spinner dimensions from current avatar size."
642
+ "description": "Sets background image CSS variable from `url`."
729
643
  }
730
644
  ],
731
- "events": [
645
+ "attributes": [
732
646
  {
733
- "name": "click",
647
+ "name": "title",
734
648
  "type": {
735
- "text": "Event"
736
- }
737
- }
738
- ],
739
- "attributes": [
649
+ "text": "string"
650
+ },
651
+ "default": "\"App Bar\"",
652
+ "description": "Title text displayed in the app bar.",
653
+ "fieldName": "title"
654
+ },
740
655
  {
741
- "name": "size",
656
+ "name": "color",
742
657
  "type": {
743
658
  "text": "string"
744
659
  },
745
- "default": "\"50px\"",
746
- "description": "Avatar size: preset `sm` | `md` | `lg` or CSS length (for example `50px`).",
747
- "fieldName": "size"
660
+ "default": "\"default\"",
661
+ "description": "Semantic token or CSS color for bar background; foreground color is derived for contrast.",
662
+ "fieldName": "color"
748
663
  },
749
664
  {
750
- "name": "image",
665
+ "name": "url",
751
666
  "type": {
752
667
  "text": "string"
753
668
  },
754
669
  "default": "\"\"",
755
- "description": "Image URL; fallback slot is shown on load error.",
756
- "fieldName": "image"
670
+ "description": "Background image URL.",
671
+ "fieldName": "url"
757
672
  },
758
673
  {
759
- "name": "fit",
674
+ "name": "banner",
760
675
  "type": {
761
- "text": "SkyAvatarFit"
676
+ "text": "boolean"
762
677
  },
763
- "default": "\"cover\"",
764
- "description": "Image fill mode: `cover` (default) or `contain`.",
765
- "fieldName": "fit"
678
+ "default": "true",
679
+ "description": "Uses `role=\"banner\"` when true, otherwise `role=\"group\"`.",
680
+ "fieldName": "banner"
766
681
  },
767
682
  {
768
- "name": "radius",
683
+ "name": "dense",
769
684
  "type": {
770
- "text": "string"
685
+ "text": "boolean"
771
686
  },
772
- "default": "\"md\"",
773
- "description": "Border radius token or CSS value.",
774
- "fieldName": "radius"
687
+ "default": "false",
688
+ "description": "Enables compact vertical spacing.",
689
+ "fieldName": "dense"
775
690
  },
776
691
  {
777
- "name": "alt",
692
+ "name": "elevated",
778
693
  "type": {
779
- "text": "string"
694
+ "text": "boolean"
780
695
  },
781
- "default": "\"\"",
782
- "description": "Accessible name when image content conveys meaning.",
783
- "fieldName": "alt"
696
+ "default": "false",
697
+ "description": "Applies elevated shadow styling.",
698
+ "fieldName": "elevated"
784
699
  },
785
700
  {
786
- "name": "color",
701
+ "name": "leadingLabel",
787
702
  "type": {
788
703
  "text": "string"
789
704
  },
790
- "default": "\"dark\"",
791
- "description": "Token or CSS color applied to fallback slot content.",
792
- "fieldName": "color"
705
+ "default": "\"Open menu\"",
706
+ "description": "Accessible label for default leading button fallback.",
707
+ "fieldName": "leadingLabel"
793
708
  },
794
709
  {
795
- "name": "outline",
796
- "type": {
797
- "text": "string"
798
- },
799
- "default": "\"\"",
800
- "description": "CSS `outline` value.",
801
- "fieldName": "outline"
802
- },
803
- {
804
- "name": "outlineOffset",
805
- "type": {
806
- "text": "string"
807
- },
808
- "default": "\"2px\"",
809
- "description": "CSS `outline-offset` value.",
810
- "fieldName": "outlineOffset"
811
- },
812
- {
813
- "name": "loading",
814
- "type": {
815
- "text": "boolean"
816
- },
817
- "default": "false",
818
- "description": "Shows loading overlay when true.",
819
- "fieldName": "loading"
820
- },
821
- {
822
- "name": "disabled",
823
- "type": {
824
- "text": "boolean"
825
- },
826
- "default": "false",
827
- "description": "Dims and disables pointer interactions.",
828
- "fieldName": "disabled"
829
- },
830
- {
831
- "name": "interactive",
832
- "type": {
833
- "text": "boolean"
834
- },
835
- "default": "false",
836
- "description": "Enables interactive behavior with keyboard/click activation.",
837
- "fieldName": "interactive"
838
- },
839
- {
840
- "name": "shadow",
841
- "type": {
842
- "text": "boolean"
843
- },
844
- "default": "false",
845
- "description": "When true, applies solid surface, border ring, and elevation; no backdrop blur.",
846
- "fieldName": "shadow"
847
- },
848
- {
849
- "name": "preset",
710
+ "name": "preset",
850
711
  "type": {
851
712
  "text": "string"
852
713
  },
@@ -859,26 +720,26 @@
859
720
  "name": "LitElement",
860
721
  "package": "lit"
861
722
  },
862
- "tagName": "sky-avatar",
723
+ "tagName": "sky-appbar",
863
724
  "customElement": true,
864
- "summary": "Avatar that renders image content or fallback slot content with configurable size, radius, outline, and loading state."
725
+ "summary": "Application top bar with title, optional leading control, trailing actions, and optional color/image background."
865
726
  }
866
727
  ],
867
728
  "exports": [
868
729
  {
869
730
  "kind": "js",
870
- "name": "SkyAvatar",
731
+ "name": "SkyAppbar",
871
732
  "declaration": {
872
- "name": "SkyAvatar",
873
- "module": "src/sky-avatar/sky-avatar.ts"
733
+ "name": "SkyAppbar",
734
+ "module": "src/sky-appbar/sky-appbar.ts"
874
735
  }
875
736
  },
876
737
  {
877
738
  "kind": "custom-element-definition",
878
- "name": "sky-avatar",
739
+ "name": "sky-appbar",
879
740
  "declaration": {
880
- "name": "SkyAvatar",
881
- "module": "src/sky-avatar/sky-avatar.ts"
741
+ "name": "SkyAppbar",
742
+ "module": "src/sky-appbar/sky-appbar.ts"
882
743
  }
883
744
  }
884
745
  ]
@@ -1519,1185 +1380,1501 @@
1519
1380
  },
1520
1381
  {
1521
1382
  "kind": "javascript-module",
1522
- "path": "src/sky-card/sky-card.ts",
1383
+ "path": "src/sky-badge/sky-badge.ts",
1523
1384
  "declarations": [
1524
1385
  {
1525
1386
  "kind": "class",
1526
1387
  "description": "",
1527
- "name": "SkyCard",
1388
+ "name": "SkyBadge",
1528
1389
  "cssParts": [
1529
1390
  {
1530
- "description": "The main card container element.",
1531
- "name": "card"
1532
- },
1533
- {
1534
- "description": "The card header section.",
1535
- "name": "header"
1391
+ "description": "Wrapper around the slotted content and the badge.",
1392
+ "name": "container"
1536
1393
  },
1537
1394
  {
1538
- "description": "The card footer section.",
1539
- "name": "footer"
1395
+ "description": "The badge element. Use `badgeRef` for positioning (e.g. tooltip anchor).",
1396
+ "name": "badge"
1540
1397
  },
1541
1398
  {
1542
- "description": "The ripple animation element injected when the card is clicked.",
1543
- "name": "ripple"
1399
+ "description": "The icon element when `isIcon` is true.",
1400
+ "name": "icon"
1544
1401
  }
1545
1402
  ],
1546
1403
  "slots": [
1547
1404
  {
1548
- "description": "Default slot for the card body content (replaces `bodyPadding` property if used).",
1405
+ "description": "The content the badge attaches to.",
1549
1406
  "name": ""
1550
1407
  },
1551
1408
  {
1552
- "description": "Slot for the card title.",
1553
- "name": "title"
1554
- },
1555
- {
1556
- "description": "Slot for the card subtitle.",
1557
- "name": "subtitle"
1558
- },
1559
- {
1560
- "description": "Slot for the card actions (usually buttons).",
1561
- "name": "actions"
1562
- },
1563
- {
1564
- "description": "Slot for the footer title.",
1565
- "name": "footer-title"
1566
- },
1567
- {
1568
- "description": "Slot for the footer subtitle.",
1569
- "name": "footer-subtitle"
1570
- },
1571
- {
1572
- "description": "Slot for the footer actions (usually buttons).",
1573
- "name": "footer-actions"
1409
+ "description": "Optional slot to override the badge content entirely.",
1410
+ "name": "badge"
1574
1411
  }
1575
1412
  ],
1576
1413
  "members": [
1577
1414
  {
1578
1415
  "kind": "field",
1579
- "name": "bg",
1416
+ "name": "dependencies",
1580
1417
  "type": {
1581
- "text": "string"
1418
+ "text": "Record<string, CustomElementConstructor>"
1582
1419
  },
1583
- "default": "\"primary\"",
1584
- "description": "Background color of the card. Accepts color tokens or custom CSS colors. Default: `\"primary\"`.",
1585
- "attribute": "bg",
1586
- "reflects": true
1420
+ "static": true,
1421
+ "default": "{ \"sky-icon\": SkyIcon, }"
1587
1422
  },
1588
1423
  {
1589
1424
  "kind": "field",
1590
- "name": "blurLevel",
1425
+ "name": "statusColor",
1591
1426
  "type": {
1592
1427
  "text": "string"
1593
1428
  },
1594
- "default": "\"none\"",
1595
- "description": "Level of blur applied to the background. Default: `\"none\"`.",
1596
- "attribute": "blurLevel",
1429
+ "default": "\"success\"",
1430
+ "description": "Badge background token or CSS color.",
1431
+ "attribute": "statusColor",
1597
1432
  "reflects": true
1598
1433
  },
1599
1434
  {
1600
1435
  "kind": "field",
1601
- "name": "radius",
1436
+ "name": "textColor",
1602
1437
  "type": {
1603
1438
  "text": "string"
1604
1439
  },
1605
- "default": "\"md\"",
1606
- "description": "Border radius of the card. Default: `\"md\"`.",
1607
- "attribute": "radius",
1440
+ "default": "\"default\"",
1441
+ "description": "Text color token or CSS color.",
1442
+ "attribute": "textColor",
1608
1443
  "reflects": true
1609
1444
  },
1610
1445
  {
1611
1446
  "kind": "field",
1612
- "name": "bodyPadding",
1447
+ "name": "iconColor",
1613
1448
  "type": {
1614
1449
  "text": "string"
1615
1450
  },
1616
- "default": "\"none\"",
1617
- "description": "Padding for the card body. Default: `\"none\"`.",
1618
- "attribute": "bodyPadding",
1451
+ "default": "\"\"",
1452
+ "description": "Icon color token or CSS color; falls back to `textColor` when empty.",
1453
+ "attribute": "iconColor",
1619
1454
  "reflects": true
1620
1455
  },
1621
1456
  {
1622
1457
  "kind": "field",
1623
- "name": "elevation",
1458
+ "name": "position",
1624
1459
  "type": {
1625
- "text": "SkyCardElevation"
1460
+ "text": "SkyBadgePosition"
1626
1461
  },
1627
- "default": "\"md\"",
1628
- "description": "Shadow depth of the card. Default: `\"md\"`.",
1629
- "attribute": "elevation",
1462
+ "default": "\"default\"",
1463
+ "description": "Layout mode: `default | floating | inline`.",
1464
+ "attribute": "position",
1630
1465
  "reflects": true
1631
1466
  },
1632
1467
  {
1633
1468
  "kind": "field",
1634
- "name": "outlined",
1469
+ "name": "value",
1635
1470
  "type": {
1636
- "text": "boolean"
1471
+ "text": "string"
1637
1472
  },
1638
- "default": "false",
1639
- "description": "Whether the card has an outline. Default: `false`.",
1640
- "attribute": "outlined",
1641
- "reflects": true
1473
+ "default": "\"\"",
1474
+ "description": "Badge text/count or icon name in icon mode.",
1475
+ "attribute": "value"
1642
1476
  },
1643
1477
  {
1644
1478
  "kind": "field",
1645
- "name": "clickable",
1479
+ "name": "isIcon",
1646
1480
  "type": {
1647
1481
  "text": "boolean"
1648
1482
  },
1649
1483
  "default": "false",
1650
- "description": "Whether the card is clickable. Default: `false`.",
1651
- "attribute": "clickable",
1484
+ "description": "Renders icon mode when true.",
1485
+ "attribute": "isIcon",
1652
1486
  "reflects": true
1653
1487
  },
1654
1488
  {
1655
1489
  "kind": "field",
1656
- "name": "headerBg",
1490
+ "name": "size",
1657
1491
  "type": {
1658
1492
  "text": "string"
1659
1493
  },
1660
- "default": "\"transparent\"",
1661
- "description": "Background color of the header. Default: `\"transparent\"`.",
1662
- "attribute": "headerBg",
1494
+ "default": "\"\"",
1495
+ "description": "Badge and icon size CSS length.",
1496
+ "attribute": "size",
1663
1497
  "reflects": true
1664
1498
  },
1665
1499
  {
1666
1500
  "kind": "field",
1667
- "name": "headerBlur",
1501
+ "name": "shape",
1668
1502
  "type": {
1669
- "text": "string"
1503
+ "text": "SkyBadgeShape"
1670
1504
  },
1671
- "default": "\"none\"",
1672
- "description": "Blur level for the header background. Default: `\"none\"`.",
1673
- "attribute": "headerBlur",
1505
+ "default": "\"custom\"",
1506
+ "description": "Badge shape: `circle | pill | custom`.",
1507
+ "attribute": "shape",
1674
1508
  "reflects": true
1675
1509
  },
1676
1510
  {
1677
1511
  "kind": "field",
1678
- "name": "headerPadding",
1512
+ "name": "max",
1679
1513
  "type": {
1680
- "text": "string"
1514
+ "text": "number"
1681
1515
  },
1682
- "default": "\"md\"",
1683
- "description": "Padding for the header. Default: `\"md\"`.",
1684
- "attribute": "headerPadding",
1685
- "reflects": true
1516
+ "default": "99",
1517
+ "description": "Maximum numeric count before rendering overflow label.",
1518
+ "attribute": "max"
1686
1519
  },
1687
1520
  {
1688
1521
  "kind": "field",
1689
- "name": "headerLayout",
1522
+ "name": "hideWhenZero",
1690
1523
  "type": {
1691
- "text": "SkyCardSectionLayout"
1524
+ "text": "boolean"
1692
1525
  },
1693
- "default": "\"inline\"",
1694
- "description": "Layout of the header content. Default: `\"inline\"`.",
1695
- "attribute": "headerLayout"
1526
+ "default": "false",
1527
+ "description": "Hides badge when value resolves to numeric zero.",
1528
+ "attribute": "hideWhenZero"
1696
1529
  },
1697
1530
  {
1698
1531
  "kind": "field",
1699
- "name": "headerInsetGap",
1532
+ "name": "show",
1700
1533
  "type": {
1701
- "text": "string"
1534
+ "text": "boolean"
1702
1535
  },
1703
- "default": "\"sm\"",
1704
- "description": "Inset gap for the header section. Default: `\"sm\"`.",
1705
- "attribute": "headerInsetGap",
1536
+ "default": "true",
1537
+ "description": "Forces badge visibility independent of value.",
1538
+ "attribute": "show",
1706
1539
  "reflects": true
1707
1540
  },
1708
1541
  {
1709
1542
  "kind": "field",
1710
- "name": "headerRadius",
1543
+ "name": "offsetX",
1711
1544
  "type": {
1712
1545
  "text": "string"
1713
1546
  },
1714
- "default": "\"md\"",
1715
- "description": "Border radius for the header. Default: `\"md\"`.",
1716
- "attribute": "headerRadius",
1717
- "reflects": true
1547
+ "default": "\"0px\"",
1548
+ "description": "Horizontal offset CSS length.",
1549
+ "attribute": "offsetX"
1718
1550
  },
1719
1551
  {
1720
1552
  "kind": "field",
1721
- "name": "headerSeparatorColor",
1553
+ "name": "offsetY",
1722
1554
  "type": {
1723
1555
  "text": "string"
1724
1556
  },
1725
- "default": "\"border-light\"",
1726
- "description": "Color for the header separator. Default: `\"border-light\"`.",
1727
- "attribute": "headerSeparatorColor"
1557
+ "default": "\"0px\"",
1558
+ "description": "Vertical offset CSS length.",
1559
+ "attribute": "offsetY"
1728
1560
  },
1729
1561
  {
1730
1562
  "kind": "field",
1731
- "name": "footerBg",
1563
+ "name": "ring",
1732
1564
  "type": {
1733
- "text": "string"
1565
+ "text": "boolean"
1734
1566
  },
1735
- "default": "\"transparent\"",
1736
- "description": "Background color of the footer. Default: `\"transparent\"`.",
1737
- "attribute": "footerBg",
1738
- "reflects": true
1567
+ "default": "false",
1568
+ "description": "Enables visual ring around the badge.",
1569
+ "attribute": "ring"
1739
1570
  },
1740
1571
  {
1741
1572
  "kind": "field",
1742
- "name": "footerBlur",
1573
+ "name": "ringColor",
1743
1574
  "type": {
1744
1575
  "text": "string"
1745
1576
  },
1746
- "default": "\"none\"",
1747
- "description": "Blur level for the footer background. Default: `\"none\"`.",
1748
- "attribute": "footerBlur",
1749
- "reflects": true
1750
- },
1751
- {
1752
- "kind": "field",
1753
- "name": "footerPadding",
1754
- "type": {
1755
- "text": "string"
1756
- },
1757
- "default": "\"md\"",
1758
- "description": "Padding for the footer. Default: `\"md\"`.",
1759
- "attribute": "footerPadding",
1760
- "reflects": true
1761
- },
1762
- {
1763
- "kind": "field",
1764
- "name": "footerLayout",
1765
- "type": {
1766
- "text": "SkyCardSectionLayout"
1767
- },
1768
- "default": "\"inline\"",
1769
- "description": "Layout of the footer content. Default: `\"inline\"`.",
1770
- "attribute": "footerLayout"
1771
- },
1772
- {
1773
- "kind": "field",
1774
- "name": "footerInsetGap",
1775
- "type": {
1776
- "text": "string"
1777
- },
1778
- "default": "\"sm\"",
1779
- "description": "Inset gap for the footer section. Default: `\"sm\"`.",
1780
- "attribute": "footerInsetGap",
1781
- "reflects": true
1577
+ "default": "\"primary\"",
1578
+ "description": "Ring color token or CSS color.",
1579
+ "attribute": "ringColor"
1782
1580
  },
1783
1581
  {
1784
1582
  "kind": "field",
1785
- "name": "footerRadius",
1583
+ "name": "ringOffset",
1786
1584
  "type": {
1787
1585
  "text": "string"
1788
1586
  },
1789
- "default": "\"md\"",
1790
- "description": "Border radius for the footer. Default: `\"md\"`.",
1791
- "attribute": "footerRadius",
1792
- "reflects": true
1587
+ "default": "\"1px\"",
1588
+ "description": "Ring offset CSS length.",
1589
+ "attribute": "ringOffset"
1793
1590
  },
1794
1591
  {
1795
1592
  "kind": "field",
1796
- "name": "footerSeparatorColor",
1593
+ "name": "badgeLabel",
1797
1594
  "type": {
1798
- "text": "string"
1595
+ "text": "string | null"
1799
1596
  },
1800
- "default": "\"border-light\"",
1801
- "description": "Color for the footer separator. Default: `\"border-light\"`.",
1802
- "attribute": "footerSeparatorColor"
1597
+ "default": "null",
1598
+ "description": "ARIA label override.",
1599
+ "attribute": "badgeLabel"
1803
1600
  },
1804
1601
  {
1805
1602
  "kind": "field",
1806
- "name": "padRatio",
1603
+ "name": "badgeAriaHidden",
1807
1604
  "type": {
1808
- "text": "number"
1605
+ "text": "boolean"
1809
1606
  },
1810
- "default": "1",
1811
- "description": "Ratio to adjust padding. Default: `1`.",
1812
- "attribute": "padRatio"
1607
+ "default": "false",
1608
+ "description": "Hides badge from assistive technology when true.",
1609
+ "attribute": "badgeAriaHidden"
1813
1610
  },
1814
1611
  {
1815
1612
  "kind": "field",
1816
- "name": "separators",
1613
+ "name": "interactive",
1817
1614
  "type": {
1818
- "text": "SkyCardSectionTarget"
1615
+ "text": "boolean"
1819
1616
  },
1820
- "default": "\"none\"",
1821
- "description": "Determines where separators should appear. Default: `\"none\"`.",
1822
- "attribute": "separators"
1617
+ "default": "false",
1618
+ "description": "Enables focus/activation and `badge-click` emission.",
1619
+ "attribute": "interactive"
1823
1620
  },
1824
1621
  {
1825
1622
  "kind": "field",
1826
- "name": "overlays",
1623
+ "name": "placement",
1827
1624
  "type": {
1828
- "text": "SkyCardSectionTarget"
1625
+ "text": "SkyBadgePlacement"
1829
1626
  },
1830
- "default": "\"none\"",
1831
- "description": "Determines where overlays should appear. Default: `\"none\"`.",
1832
- "attribute": "overlays"
1627
+ "default": "\"custom\"",
1628
+ "description": "Anchor placement preset for badge positioning.",
1629
+ "attribute": "placement",
1630
+ "reflects": true
1833
1631
  },
1834
1632
  {
1835
1633
  "kind": "field",
1836
- "name": "insets",
1634
+ "name": "preset",
1837
1635
  "type": {
1838
- "text": "SkyCardSectionTarget"
1636
+ "text": "string"
1839
1637
  },
1840
- "default": "\"none\"",
1841
- "description": "Determines where insets should appear. Default: `\"none\"`.",
1842
- "attribute": "insets"
1638
+ "default": "\"\"",
1639
+ "description": "Named prop preset from nearest `sky-config-provider`. Default: `\"\"`.",
1640
+ "attribute": "preset",
1641
+ "reflects": true
1843
1642
  },
1844
1643
  {
1845
1644
  "kind": "field",
1846
- "name": "_effHeaderSeparator",
1847
- "type": {
1848
- "text": "boolean"
1849
- },
1645
+ "name": "_presets",
1850
1646
  "privacy": "private",
1851
- "default": "false"
1647
+ "default": "new PresetController(this)"
1852
1648
  },
1853
1649
  {
1854
1650
  "kind": "field",
1855
- "name": "_effFooterSeparator",
1651
+ "name": "_badgeEl",
1856
1652
  "type": {
1857
- "text": "boolean"
1653
+ "text": "HTMLSpanElement"
1858
1654
  },
1859
- "privacy": "private",
1860
- "default": "false"
1655
+ "privacy": "private"
1861
1656
  },
1862
1657
  {
1863
1658
  "kind": "field",
1864
- "name": "_effHeaderOverlay",
1865
- "type": {
1866
- "text": "boolean"
1867
- },
1868
- "privacy": "private",
1869
- "default": "false"
1659
+ "name": "badgeRef",
1660
+ "privacy": "public",
1661
+ "description": "Ref for the badge element (e.g. for tooltip anchor or positioning)."
1870
1662
  },
1871
1663
  {
1872
1664
  "kind": "field",
1873
- "name": "_effFooterOverlay",
1665
+ "name": "shadowRootOptions",
1874
1666
  "type": {
1875
- "text": "boolean"
1667
+ "text": "ShadowRootInit"
1876
1668
  },
1877
- "privacy": "private",
1878
- "default": "false"
1669
+ "static": true,
1670
+ "default": "{ mode: \"open\", delegatesFocus: true, }"
1879
1671
  },
1880
1672
  {
1881
- "kind": "field",
1882
- "name": "_effHeaderInset",
1883
- "type": {
1884
- "text": "boolean"
1673
+ "kind": "method",
1674
+ "name": "showBadge",
1675
+ "privacy": "public",
1676
+ "return": {
1677
+ "type": {
1678
+ "text": "void"
1679
+ }
1885
1680
  },
1886
- "privacy": "private",
1887
- "default": "false"
1681
+ "description": "Forces badge visibility on."
1888
1682
  },
1889
1683
  {
1890
- "kind": "field",
1891
- "name": "_effFooterInset",
1892
- "type": {
1893
- "text": "boolean"
1684
+ "kind": "method",
1685
+ "name": "hideBadge",
1686
+ "privacy": "public",
1687
+ "return": {
1688
+ "type": {
1689
+ "text": "void"
1690
+ }
1894
1691
  },
1895
- "privacy": "private",
1896
- "default": "false"
1692
+ "description": "Forces badge visibility off."
1897
1693
  },
1898
1694
  {
1899
- "kind": "field",
1900
- "name": "_varsCache",
1901
- "type": {
1902
- "text": "Record<string, string>"
1695
+ "kind": "method",
1696
+ "name": "setValue",
1697
+ "privacy": "public",
1698
+ "return": {
1699
+ "type": {
1700
+ "text": "void"
1701
+ }
1903
1702
  },
1904
- "privacy": "private",
1905
- "default": "{}"
1906
- },
1907
- {
1908
- "kind": "field",
1909
- "name": "BG_MAP",
1910
- "privacy": "private",
1911
- "static": true,
1912
- "readonly": true,
1913
- "default": "{ primary: \"var(--sky-glass-primary)\", secondary: \"var(--sky-glass-secondary)\", tertiary: \"var(--sky-glass-tertiary)\", transparent: \"transparent\", }",
1914
- "type": {
1915
- "text": "{\r\n primary: \"var(--sky-glass-primary)\",\r\n secondary: \"var(--sky-glass-secondary)\",\r\n tertiary: \"var(--sky-glass-tertiary)\",\r\n transparent: \"transparent\",\r\n }"
1916
- }
1917
- },
1918
- {
1919
- "kind": "field",
1920
- "name": "BLUR_MAP",
1921
- "privacy": "private",
1922
- "static": true,
1923
- "readonly": true,
1924
- "default": "{ none: \"none\", xs: \"blur(2px)\", sm: \"var(--sky-blur-secondary)\", md: \"var(--sky-blur-secondary)\", lg: \"var(--sky-blur-tertiary)\", }",
1925
- "type": {
1926
- "text": "{\r\n none: \"none\",\r\n xs: \"blur(2px)\",\r\n sm: \"var(--sky-blur-secondary)\",\r\n md: \"var(--sky-blur-secondary)\",\r\n lg: \"var(--sky-blur-tertiary)\",\r\n }"
1927
- }
1928
- },
1929
- {
1930
- "kind": "field",
1931
- "name": "SIZE_MAP",
1932
- "privacy": "private",
1933
- "static": true,
1934
- "readonly": true,
1935
- "default": "{ none: \"0\", sm: \"var(--sky-space-1\\\\.5, 6px)\", md: \"var(--sky-space-4, 16px)\", lg: \"var(--sky-space-6, 24px)\", xl: \"var(--sky-space-8, 32px)\", }",
1936
- "type": {
1937
- "text": "{\r\n none: \"0\",\r\n sm: \"var(--sky-space-1\\\\.5, 6px)\",\r\n md: \"var(--sky-space-4, 16px)\",\r\n lg: \"var(--sky-space-6, 24px)\",\r\n xl: \"var(--sky-space-8, 32px)\",\r\n }"
1938
- }
1703
+ "parameters": [
1704
+ {
1705
+ "name": "value",
1706
+ "type": {
1707
+ "text": "string"
1708
+ },
1709
+ "description": "Badge value or icon name."
1710
+ }
1711
+ ],
1712
+ "description": "Updates badge value for text/count or icon modes."
1939
1713
  },
1940
1714
  {
1941
1715
  "kind": "field",
1942
- "name": "GLASS_BG_TIERS",
1716
+ "name": "_onActivate",
1943
1717
  "privacy": "private",
1944
- "static": true,
1945
- "readonly": true,
1946
- "default": "new Set([ \"primary\", \"secondary\", \"tertiary\", ])"
1718
+ "description": "Emits `badge-click` for interactive activation."
1947
1719
  },
1948
1720
  {
1949
1721
  "kind": "field",
1950
- "name": "SECTION_INSET_BG_MAP",
1722
+ "name": "_onKeydown",
1951
1723
  "privacy": "private",
1952
- "static": true,
1953
- "readonly": true,
1954
- "default": "{ primary: \"var(--sky-hover-primary)\", secondary: \"var(--sky-hover-secondary)\", tertiary: \"var(--sky-hover-tertiary)\", transparent: \"transparent\", }",
1955
- "type": {
1956
- "text": "{\r\n primary: \"var(--sky-hover-primary)\",\r\n secondary: \"var(--sky-hover-secondary)\",\r\n tertiary: \"var(--sky-hover-tertiary)\",\r\n transparent: \"transparent\",\r\n }"
1957
- },
1958
- "description": "Non-overlay inset bars use hover tints — overlay sections own their own blur."
1724
+ "description": "Handles keyboard activation with Enter and Space."
1959
1725
  },
1960
1726
  {
1961
1727
  "kind": "method",
1962
- "name": "_composeBackdrop",
1728
+ "name": "_computeAriaLabel",
1963
1729
  "privacy": "private",
1964
- "static": true,
1965
1730
  "return": {
1966
1731
  "type": {
1967
- "text": "string"
1732
+ "text": "string | null"
1968
1733
  }
1969
1734
  },
1970
1735
  "parameters": [
1971
1736
  {
1972
- "name": "blurLevel",
1737
+ "name": "displayValue",
1973
1738
  "type": {
1974
- "text": "string"
1739
+ "text": "string | null"
1975
1740
  }
1976
1741
  }
1977
- ]
1742
+ ],
1743
+ "description": "Computes accessible badge label from current render state."
1978
1744
  },
1979
1745
  {
1980
1746
  "kind": "method",
1981
- "name": "_composeElevation",
1747
+ "name": "_computeAnchors",
1982
1748
  "privacy": "private",
1983
- "static": true,
1984
1749
  "return": {
1985
1750
  "type": {
1986
- "text": "string"
1751
+ "text": "{\r\n top: string;\r\n right: string;\r\n bottom: string;\r\n left: string;\r\n }"
1987
1752
  }
1988
1753
  },
1989
1754
  "parameters": [
1990
1755
  {
1991
- "name": "level",
1756
+ "name": "placement",
1992
1757
  "type": {
1993
- "text": "SkyCardElevation | string"
1758
+ "text": "SkyBadgePlacement"
1994
1759
  }
1995
1760
  }
1996
- ]
1761
+ ],
1762
+ "description": "Resolves anchor edges from placement preset."
1997
1763
  },
1998
1764
  {
1999
- "kind": "field",
2000
- "name": "preset",
2001
- "type": {
2002
- "text": "string"
1765
+ "kind": "method",
1766
+ "name": "_resolveBadgeSurface",
1767
+ "privacy": "private",
1768
+ "return": {
1769
+ "type": {
1770
+ "text": "{\r\n bg: string;\r\n color: string;\r\n border: string;\r\n }"
1771
+ }
1772
+ },
1773
+ "description": "Maps semantic status tokens to soft badge surface colors."
1774
+ }
1775
+ ],
1776
+ "events": [
1777
+ {
1778
+ "type": {
1779
+ "text": "CustomEvent<SkyBadgeClickEventDetail>"
1780
+ },
1781
+ "description": "Emitted when badge activation occurs via click, Enter, or Space while `interactive` is true.",
1782
+ "name": "badge-click"
1783
+ }
1784
+ ],
1785
+ "attributes": [
1786
+ {
1787
+ "name": "statusColor",
1788
+ "type": {
1789
+ "text": "string"
1790
+ },
1791
+ "default": "\"success\"",
1792
+ "description": "Badge background token or CSS color.",
1793
+ "fieldName": "statusColor"
1794
+ },
1795
+ {
1796
+ "name": "textColor",
1797
+ "type": {
1798
+ "text": "string"
1799
+ },
1800
+ "default": "\"default\"",
1801
+ "description": "Text color token or CSS color.",
1802
+ "fieldName": "textColor"
1803
+ },
1804
+ {
1805
+ "name": "iconColor",
1806
+ "type": {
1807
+ "text": "string"
1808
+ },
1809
+ "default": "\"\"",
1810
+ "description": "Icon color token or CSS color; falls back to `textColor` when empty.",
1811
+ "fieldName": "iconColor"
1812
+ },
1813
+ {
1814
+ "name": "position",
1815
+ "type": {
1816
+ "text": "SkyBadgePosition"
1817
+ },
1818
+ "default": "\"default\"",
1819
+ "description": "Layout mode: `default | floating | inline`.",
1820
+ "fieldName": "position"
1821
+ },
1822
+ {
1823
+ "name": "value",
1824
+ "type": {
1825
+ "text": "string"
1826
+ },
1827
+ "default": "\"\"",
1828
+ "description": "Badge text/count or icon name in icon mode.",
1829
+ "fieldName": "value"
1830
+ },
1831
+ {
1832
+ "name": "isIcon",
1833
+ "type": {
1834
+ "text": "boolean"
1835
+ },
1836
+ "default": "false",
1837
+ "description": "Renders icon mode when true.",
1838
+ "fieldName": "isIcon"
1839
+ },
1840
+ {
1841
+ "name": "size",
1842
+ "type": {
1843
+ "text": "string"
1844
+ },
1845
+ "default": "\"\"",
1846
+ "description": "Badge and icon size CSS length.",
1847
+ "fieldName": "size"
1848
+ },
1849
+ {
1850
+ "name": "shape",
1851
+ "type": {
1852
+ "text": "SkyBadgeShape"
1853
+ },
1854
+ "default": "\"custom\"",
1855
+ "description": "Badge shape: `circle | pill | custom`.",
1856
+ "fieldName": "shape"
1857
+ },
1858
+ {
1859
+ "name": "max",
1860
+ "type": {
1861
+ "text": "number"
1862
+ },
1863
+ "default": "99",
1864
+ "description": "Maximum numeric count before rendering overflow label.",
1865
+ "fieldName": "max"
1866
+ },
1867
+ {
1868
+ "name": "hideWhenZero",
1869
+ "type": {
1870
+ "text": "boolean"
1871
+ },
1872
+ "default": "false",
1873
+ "description": "Hides badge when value resolves to numeric zero.",
1874
+ "fieldName": "hideWhenZero"
1875
+ },
1876
+ {
1877
+ "name": "show",
1878
+ "type": {
1879
+ "text": "boolean"
1880
+ },
1881
+ "default": "true",
1882
+ "description": "Forces badge visibility independent of value.",
1883
+ "fieldName": "show"
1884
+ },
1885
+ {
1886
+ "name": "offsetX",
1887
+ "type": {
1888
+ "text": "string"
1889
+ },
1890
+ "default": "\"0px\"",
1891
+ "description": "Horizontal offset CSS length.",
1892
+ "fieldName": "offsetX"
1893
+ },
1894
+ {
1895
+ "name": "offsetY",
1896
+ "type": {
1897
+ "text": "string"
1898
+ },
1899
+ "default": "\"0px\"",
1900
+ "description": "Vertical offset CSS length.",
1901
+ "fieldName": "offsetY"
1902
+ },
1903
+ {
1904
+ "name": "ring",
1905
+ "type": {
1906
+ "text": "boolean"
1907
+ },
1908
+ "default": "false",
1909
+ "description": "Enables visual ring around the badge.",
1910
+ "fieldName": "ring"
1911
+ },
1912
+ {
1913
+ "name": "ringColor",
1914
+ "type": {
1915
+ "text": "string"
1916
+ },
1917
+ "default": "\"primary\"",
1918
+ "description": "Ring color token or CSS color.",
1919
+ "fieldName": "ringColor"
1920
+ },
1921
+ {
1922
+ "name": "ringOffset",
1923
+ "type": {
1924
+ "text": "string"
1925
+ },
1926
+ "default": "\"1px\"",
1927
+ "description": "Ring offset CSS length.",
1928
+ "fieldName": "ringOffset"
1929
+ },
1930
+ {
1931
+ "name": "badgeLabel",
1932
+ "type": {
1933
+ "text": "string | null"
1934
+ },
1935
+ "default": "null",
1936
+ "description": "ARIA label override.",
1937
+ "fieldName": "badgeLabel"
1938
+ },
1939
+ {
1940
+ "name": "badgeAriaHidden",
1941
+ "type": {
1942
+ "text": "boolean"
1943
+ },
1944
+ "default": "false",
1945
+ "description": "Hides badge from assistive technology when true.",
1946
+ "fieldName": "badgeAriaHidden"
1947
+ },
1948
+ {
1949
+ "name": "interactive",
1950
+ "type": {
1951
+ "text": "boolean"
1952
+ },
1953
+ "default": "false",
1954
+ "description": "Enables focus/activation and `badge-click` emission.",
1955
+ "fieldName": "interactive"
1956
+ },
1957
+ {
1958
+ "name": "placement",
1959
+ "type": {
1960
+ "text": "SkyBadgePlacement"
1961
+ },
1962
+ "default": "\"custom\"",
1963
+ "description": "Anchor placement preset for badge positioning.",
1964
+ "fieldName": "placement"
1965
+ },
1966
+ {
1967
+ "name": "preset",
1968
+ "type": {
1969
+ "text": "string"
2003
1970
  },
2004
1971
  "default": "\"\"",
2005
1972
  "description": "Named prop preset from nearest `sky-config-provider`. Default: `\"\"`.",
2006
- "attribute": "preset",
1973
+ "fieldName": "preset"
1974
+ }
1975
+ ],
1976
+ "superclass": {
1977
+ "name": "LitElement",
1978
+ "package": "lit"
1979
+ },
1980
+ "tagName": "sky-badge",
1981
+ "customElement": true,
1982
+ "summary": "Badge for status dots, counts, or icons anchored to slotted content."
1983
+ }
1984
+ ],
1985
+ "exports": [
1986
+ {
1987
+ "kind": "js",
1988
+ "name": "SkyBadge",
1989
+ "declaration": {
1990
+ "name": "SkyBadge",
1991
+ "module": "src/sky-badge/sky-badge.ts"
1992
+ }
1993
+ },
1994
+ {
1995
+ "kind": "custom-element-definition",
1996
+ "name": "sky-badge",
1997
+ "declaration": {
1998
+ "name": "SkyBadge",
1999
+ "module": "src/sky-badge/sky-badge.ts"
2000
+ }
2001
+ }
2002
+ ]
2003
+ },
2004
+ {
2005
+ "kind": "javascript-module",
2006
+ "path": "src/sky-avatar/sky-avatar.ts",
2007
+ "declarations": [
2008
+ {
2009
+ "kind": "class",
2010
+ "description": "",
2011
+ "name": "SkyAvatar",
2012
+ "cssParts": [
2013
+ {
2014
+ "description": "The avatar container element.",
2015
+ "name": "avatar"
2016
+ },
2017
+ {
2018
+ "description": "The loading overlay container (shown when `loading` is true).",
2019
+ "name": "loading-overlay"
2020
+ },
2021
+ {
2022
+ "description": "The spinner element shown when loading.",
2023
+ "name": "spinner"
2024
+ }
2025
+ ],
2026
+ "slots": [
2027
+ {
2028
+ "description": "Fallback content (e.g., initials or an icon) rendered when `image` is empty.",
2029
+ "name": ""
2030
+ }
2031
+ ],
2032
+ "members": [
2033
+ {
2034
+ "kind": "field",
2035
+ "name": "size",
2036
+ "type": {
2037
+ "text": "string"
2038
+ },
2039
+ "default": "\"50px\"",
2040
+ "description": "Avatar size: preset `sm` | `md` | `lg` or CSS length (for example `50px`).",
2041
+ "attribute": "size"
2042
+ },
2043
+ {
2044
+ "kind": "field",
2045
+ "name": "image",
2046
+ "type": {
2047
+ "text": "string"
2048
+ },
2049
+ "default": "\"\"",
2050
+ "description": "Image URL; fallback slot is shown on load error.",
2051
+ "attribute": "image"
2052
+ },
2053
+ {
2054
+ "kind": "field",
2055
+ "name": "fit",
2056
+ "type": {
2057
+ "text": "SkyAvatarFit"
2058
+ },
2059
+ "default": "\"cover\"",
2060
+ "description": "Image fill mode: `cover` (default) or `contain`.",
2061
+ "attribute": "fit",
2007
2062
  "reflects": true
2008
2063
  },
2009
2064
  {
2010
2065
  "kind": "field",
2011
- "name": "_presets",
2012
- "privacy": "private",
2013
- "default": "new PresetController(this)"
2066
+ "name": "radius",
2067
+ "type": {
2068
+ "text": "string"
2069
+ },
2070
+ "default": "\"md\"",
2071
+ "description": "Border radius token or CSS value.",
2072
+ "attribute": "radius"
2014
2073
  },
2015
2074
  {
2016
- "kind": "method",
2017
- "name": "_wireSlotChangeHandlers",
2018
- "privacy": "private",
2019
- "return": {
2020
- "type": {
2021
- "text": "void"
2022
- }
2023
- }
2075
+ "kind": "field",
2076
+ "name": "alt",
2077
+ "type": {
2078
+ "text": "string"
2079
+ },
2080
+ "default": "\"\"",
2081
+ "description": "Accessible name when image content conveys meaning.",
2082
+ "attribute": "alt"
2024
2083
  },
2025
2084
  {
2026
- "kind": "method",
2027
- "name": "_syncHeader",
2028
- "privacy": "private",
2029
- "return": {
2030
- "type": {
2031
- "text": "void"
2032
- }
2033
- }
2085
+ "kind": "field",
2086
+ "name": "color",
2087
+ "type": {
2088
+ "text": "string"
2089
+ },
2090
+ "default": "\"dark\"",
2091
+ "description": "Token or CSS color applied to fallback slot content.",
2092
+ "attribute": "color"
2034
2093
  },
2035
2094
  {
2036
- "kind": "method",
2037
- "name": "_syncFooter",
2038
- "privacy": "private",
2039
- "return": {
2040
- "type": {
2041
- "text": "void"
2042
- }
2043
- }
2095
+ "kind": "field",
2096
+ "name": "outline",
2097
+ "type": {
2098
+ "text": "string"
2099
+ },
2100
+ "default": "\"\"",
2101
+ "description": "CSS `outline` value.",
2102
+ "attribute": "outline"
2044
2103
  },
2045
2104
  {
2046
- "kind": "method",
2047
- "name": "_expandPair",
2105
+ "kind": "field",
2106
+ "name": "outlineOffset",
2107
+ "type": {
2108
+ "text": "string"
2109
+ },
2110
+ "default": "\"2px\"",
2111
+ "description": "CSS `outline-offset` value.",
2112
+ "attribute": "outlineOffset"
2113
+ },
2114
+ {
2115
+ "kind": "field",
2116
+ "name": "loading",
2117
+ "type": {
2118
+ "text": "boolean"
2119
+ },
2120
+ "default": "false",
2121
+ "description": "Shows loading overlay when true.",
2122
+ "attribute": "loading",
2123
+ "reflects": true
2124
+ },
2125
+ {
2126
+ "kind": "field",
2127
+ "name": "disabled",
2128
+ "type": {
2129
+ "text": "boolean"
2130
+ },
2131
+ "default": "false",
2132
+ "description": "Dims and disables pointer interactions.",
2133
+ "attribute": "disabled",
2134
+ "reflects": true
2135
+ },
2136
+ {
2137
+ "kind": "field",
2138
+ "name": "interactive",
2139
+ "type": {
2140
+ "text": "boolean"
2141
+ },
2142
+ "default": "false",
2143
+ "description": "Enables interactive behavior with keyboard/click activation.",
2144
+ "attribute": "interactive"
2145
+ },
2146
+ {
2147
+ "kind": "field",
2148
+ "name": "shadow",
2149
+ "type": {
2150
+ "text": "boolean"
2151
+ },
2152
+ "default": "false",
2153
+ "description": "When true, applies solid surface, border ring, and elevation; no backdrop blur.",
2154
+ "attribute": "shadow",
2155
+ "reflects": true
2156
+ },
2157
+ {
2158
+ "kind": "field",
2159
+ "name": "_imageError",
2160
+ "type": {
2161
+ "text": "boolean"
2162
+ },
2048
2163
  "privacy": "private",
2049
- "return": {
2050
- "type": {
2051
- "text": "[boolean, boolean]"
2052
- }
2164
+ "default": "false",
2165
+ "description": "True when image failed to load; show slot instead."
2166
+ },
2167
+ {
2168
+ "kind": "field",
2169
+ "name": "preset",
2170
+ "type": {
2171
+ "text": "string"
2053
2172
  },
2054
- "parameters": [
2055
- {
2056
- "name": "sh",
2057
- "type": {
2058
- "text": "SkyCardSectionTarget"
2059
- }
2060
- }
2061
- ]
2173
+ "default": "\"\"",
2174
+ "description": "Named prop preset from nearest `sky-config-provider`. Default: `\"\"`.",
2175
+ "attribute": "preset",
2176
+ "reflects": true
2062
2177
  },
2063
2178
  {
2064
- "kind": "method",
2065
- "name": "_computeEffectiveFlags",
2179
+ "kind": "field",
2180
+ "name": "_presets",
2066
2181
  "privacy": "private",
2067
- "return": {
2068
- "type": {
2069
- "text": "void"
2070
- }
2071
- }
2182
+ "default": "new PresetController(this)"
2072
2183
  },
2073
2184
  {
2074
- "kind": "method",
2075
- "name": "_setVar",
2185
+ "kind": "field",
2186
+ "name": "_onImageLoad",
2076
2187
  "privacy": "private",
2077
- "return": {
2078
- "type": {
2079
- "text": "void"
2080
- }
2081
- },
2082
- "parameters": [
2083
- {
2084
- "name": "name",
2085
- "type": {
2086
- "text": "string"
2087
- }
2088
- },
2089
- {
2090
- "name": "value",
2091
- "type": {
2092
- "text": "string"
2093
- }
2094
- }
2095
- ]
2188
+ "description": "Marks image load success and keeps image rendering active."
2189
+ },
2190
+ {
2191
+ "kind": "field",
2192
+ "name": "_onImageError",
2193
+ "privacy": "private",
2194
+ "description": "Marks image load failure and enables fallback slot rendering."
2096
2195
  },
2097
2196
  {
2098
2197
  "kind": "method",
2099
- "name": "_resolveSectionBg",
2198
+ "name": "_handleInteractiveClick",
2100
2199
  "privacy": "private",
2101
2200
  "return": {
2102
2201
  "type": {
2103
- "text": "string"
2202
+ "text": "void"
2104
2203
  }
2105
2204
  },
2106
2205
  "parameters": [
2107
2206
  {
2108
- "name": "token",
2109
- "type": {
2110
- "text": "string"
2111
- }
2112
- },
2113
- {
2114
- "name": "isInset",
2115
- "type": {
2116
- "text": "boolean"
2117
- }
2118
- },
2119
- {
2120
- "name": "isOverlay",
2207
+ "name": "e",
2121
2208
  "type": {
2122
- "text": "boolean"
2209
+ "text": "Event"
2123
2210
  }
2124
2211
  }
2125
- ]
2212
+ ],
2213
+ "description": "Re-dispatches click in interactive mode for host-level consumers."
2126
2214
  },
2127
2215
  {
2128
2216
  "kind": "method",
2129
- "name": "_resolveSectionGlassSurface",
2217
+ "name": "_handleInteractiveKeydown",
2130
2218
  "privacy": "private",
2131
2219
  "return": {
2132
2220
  "type": {
2133
- "text": "string"
2221
+ "text": "void"
2134
2222
  }
2135
2223
  },
2136
2224
  "parameters": [
2137
2225
  {
2138
- "name": "token",
2226
+ "name": "e",
2139
2227
  "type": {
2140
- "text": "string"
2228
+ "text": "KeyboardEvent"
2141
2229
  }
2142
2230
  }
2143
- ]
2231
+ ],
2232
+ "description": "Handles keyboard activation in interactive mode."
2144
2233
  },
2145
2234
  {
2146
2235
  "kind": "method",
2147
- "name": "_applyCardVars",
2236
+ "name": "adjustSpinnerSize",
2148
2237
  "privacy": "private",
2149
2238
  "return": {
2150
2239
  "type": {
2151
2240
  "text": "void"
2152
2241
  }
2242
+ },
2243
+ "description": "Derives spinner dimensions from current avatar size."
2244
+ }
2245
+ ],
2246
+ "events": [
2247
+ {
2248
+ "name": "click",
2249
+ "type": {
2250
+ "text": "Event"
2153
2251
  }
2252
+ }
2253
+ ],
2254
+ "attributes": [
2255
+ {
2256
+ "name": "size",
2257
+ "type": {
2258
+ "text": "string"
2259
+ },
2260
+ "default": "\"50px\"",
2261
+ "description": "Avatar size: preset `sm` | `md` | `lg` or CSS length (for example `50px`).",
2262
+ "fieldName": "size"
2154
2263
  },
2155
2264
  {
2156
- "kind": "method",
2157
- "name": "_applyPaddingVars",
2158
- "privacy": "private",
2159
- "return": {
2160
- "type": {
2161
- "text": "void"
2162
- }
2163
- }
2265
+ "name": "image",
2266
+ "type": {
2267
+ "text": "string"
2268
+ },
2269
+ "default": "\"\"",
2270
+ "description": "Image URL; fallback slot is shown on load error.",
2271
+ "fieldName": "image"
2164
2272
  },
2165
2273
  {
2166
- "kind": "method",
2167
- "name": "_applySectionChrome",
2168
- "privacy": "private",
2169
- "return": {
2170
- "type": {
2171
- "text": "void"
2172
- }
2173
- }
2274
+ "name": "fit",
2275
+ "type": {
2276
+ "text": "SkyAvatarFit"
2277
+ },
2278
+ "default": "\"cover\"",
2279
+ "description": "Image fill mode: `cover` (default) or `contain`.",
2280
+ "fieldName": "fit"
2174
2281
  },
2175
2282
  {
2176
- "kind": "method",
2177
- "name": "refreshLayout",
2178
- "privacy": "public",
2179
- "return": {
2180
- "type": {
2181
- "text": "void"
2182
- }
2283
+ "name": "radius",
2284
+ "type": {
2285
+ "text": "string"
2183
2286
  },
2184
- "description": "Recomputes card variables and section synchronization."
2287
+ "default": "\"md\"",
2288
+ "description": "Border radius token or CSS value.",
2289
+ "fieldName": "radius"
2290
+ },
2291
+ {
2292
+ "name": "alt",
2293
+ "type": {
2294
+ "text": "string"
2295
+ },
2296
+ "default": "\"\"",
2297
+ "description": "Accessible name when image content conveys meaning.",
2298
+ "fieldName": "alt"
2299
+ },
2300
+ {
2301
+ "name": "color",
2302
+ "type": {
2303
+ "text": "string"
2304
+ },
2305
+ "default": "\"dark\"",
2306
+ "description": "Token or CSS color applied to fallback slot content.",
2307
+ "fieldName": "color"
2308
+ },
2309
+ {
2310
+ "name": "outline",
2311
+ "type": {
2312
+ "text": "string"
2313
+ },
2314
+ "default": "\"\"",
2315
+ "description": "CSS `outline` value.",
2316
+ "fieldName": "outline"
2317
+ },
2318
+ {
2319
+ "name": "outlineOffset",
2320
+ "type": {
2321
+ "text": "string"
2322
+ },
2323
+ "default": "\"2px\"",
2324
+ "description": "CSS `outline-offset` value.",
2325
+ "fieldName": "outlineOffset"
2326
+ },
2327
+ {
2328
+ "name": "loading",
2329
+ "type": {
2330
+ "text": "boolean"
2331
+ },
2332
+ "default": "false",
2333
+ "description": "Shows loading overlay when true.",
2334
+ "fieldName": "loading"
2335
+ },
2336
+ {
2337
+ "name": "disabled",
2338
+ "type": {
2339
+ "text": "boolean"
2340
+ },
2341
+ "default": "false",
2342
+ "description": "Dims and disables pointer interactions.",
2343
+ "fieldName": "disabled"
2344
+ },
2345
+ {
2346
+ "name": "interactive",
2347
+ "type": {
2348
+ "text": "boolean"
2349
+ },
2350
+ "default": "false",
2351
+ "description": "Enables interactive behavior with keyboard/click activation.",
2352
+ "fieldName": "interactive"
2353
+ },
2354
+ {
2355
+ "name": "shadow",
2356
+ "type": {
2357
+ "text": "boolean"
2358
+ },
2359
+ "default": "false",
2360
+ "description": "When true, applies solid surface, border ring, and elevation; no backdrop blur.",
2361
+ "fieldName": "shadow"
2362
+ },
2363
+ {
2364
+ "name": "preset",
2365
+ "type": {
2366
+ "text": "string"
2367
+ },
2368
+ "default": "\"\"",
2369
+ "description": "Named prop preset from nearest `sky-config-provider`. Default: `\"\"`.",
2370
+ "fieldName": "preset"
2371
+ }
2372
+ ],
2373
+ "superclass": {
2374
+ "name": "LitElement",
2375
+ "package": "lit"
2376
+ },
2377
+ "tagName": "sky-avatar",
2378
+ "customElement": true,
2379
+ "summary": "Avatar that renders image content or fallback slot content with configurable size, radius, outline, and loading state."
2380
+ }
2381
+ ],
2382
+ "exports": [
2383
+ {
2384
+ "kind": "js",
2385
+ "name": "SkyAvatar",
2386
+ "declaration": {
2387
+ "name": "SkyAvatar",
2388
+ "module": "src/sky-avatar/sky-avatar.ts"
2389
+ }
2390
+ },
2391
+ {
2392
+ "kind": "custom-element-definition",
2393
+ "name": "sky-avatar",
2394
+ "declaration": {
2395
+ "name": "SkyAvatar",
2396
+ "module": "src/sky-avatar/sky-avatar.ts"
2397
+ }
2398
+ }
2399
+ ]
2400
+ },
2401
+ {
2402
+ "kind": "javascript-module",
2403
+ "path": "src/sky-card/sky-card.ts",
2404
+ "declarations": [
2405
+ {
2406
+ "kind": "class",
2407
+ "description": "",
2408
+ "name": "SkyCard",
2409
+ "cssParts": [
2410
+ {
2411
+ "description": "The main card container element.",
2412
+ "name": "card"
2413
+ },
2414
+ {
2415
+ "description": "The card header section.",
2416
+ "name": "header"
2417
+ },
2418
+ {
2419
+ "description": "The card footer section.",
2420
+ "name": "footer"
2421
+ },
2422
+ {
2423
+ "description": "The ripple animation element injected when the card is clicked.",
2424
+ "name": "ripple"
2425
+ }
2426
+ ],
2427
+ "slots": [
2428
+ {
2429
+ "description": "Default slot for the card body content (replaces `bodyPadding` property if used).",
2430
+ "name": ""
2431
+ },
2432
+ {
2433
+ "description": "Slot for the card title.",
2434
+ "name": "title"
2435
+ },
2436
+ {
2437
+ "description": "Slot for the card subtitle.",
2438
+ "name": "subtitle"
2439
+ },
2440
+ {
2441
+ "description": "Slot for the card actions (usually buttons).",
2442
+ "name": "actions"
2443
+ },
2444
+ {
2445
+ "description": "Slot for the footer title.",
2446
+ "name": "footer-title"
2447
+ },
2448
+ {
2449
+ "description": "Slot for the footer subtitle.",
2450
+ "name": "footer-subtitle"
2451
+ },
2452
+ {
2453
+ "description": "Slot for the footer actions (usually buttons).",
2454
+ "name": "footer-actions"
2185
2455
  }
2186
2456
  ],
2187
- "attributes": [
2457
+ "members": [
2188
2458
  {
2459
+ "kind": "field",
2189
2460
  "name": "bg",
2190
2461
  "type": {
2191
2462
  "text": "string"
2192
2463
  },
2193
2464
  "default": "\"primary\"",
2194
2465
  "description": "Background color of the card. Accepts color tokens or custom CSS colors. Default: `\"primary\"`.",
2195
- "fieldName": "bg"
2466
+ "attribute": "bg",
2467
+ "reflects": true
2196
2468
  },
2197
2469
  {
2470
+ "kind": "field",
2198
2471
  "name": "blurLevel",
2199
2472
  "type": {
2200
2473
  "text": "string"
2201
2474
  },
2202
2475
  "default": "\"none\"",
2203
2476
  "description": "Level of blur applied to the background. Default: `\"none\"`.",
2204
- "fieldName": "blurLevel"
2477
+ "attribute": "blurLevel",
2478
+ "reflects": true
2205
2479
  },
2206
2480
  {
2481
+ "kind": "field",
2207
2482
  "name": "radius",
2208
2483
  "type": {
2209
2484
  "text": "string"
2210
2485
  },
2211
2486
  "default": "\"md\"",
2212
2487
  "description": "Border radius of the card. Default: `\"md\"`.",
2213
- "fieldName": "radius"
2488
+ "attribute": "radius",
2489
+ "reflects": true
2214
2490
  },
2215
2491
  {
2492
+ "kind": "field",
2216
2493
  "name": "bodyPadding",
2217
2494
  "type": {
2218
2495
  "text": "string"
2219
2496
  },
2220
2497
  "default": "\"none\"",
2221
2498
  "description": "Padding for the card body. Default: `\"none\"`.",
2222
- "fieldName": "bodyPadding"
2499
+ "attribute": "bodyPadding",
2500
+ "reflects": true
2223
2501
  },
2224
2502
  {
2503
+ "kind": "field",
2225
2504
  "name": "elevation",
2226
2505
  "type": {
2227
2506
  "text": "SkyCardElevation"
2228
2507
  },
2229
2508
  "default": "\"md\"",
2230
2509
  "description": "Shadow depth of the card. Default: `\"md\"`.",
2231
- "fieldName": "elevation"
2510
+ "attribute": "elevation",
2511
+ "reflects": true
2232
2512
  },
2233
2513
  {
2514
+ "kind": "field",
2234
2515
  "name": "outlined",
2235
2516
  "type": {
2236
2517
  "text": "boolean"
2237
2518
  },
2238
2519
  "default": "false",
2239
2520
  "description": "Whether the card has an outline. Default: `false`.",
2240
- "fieldName": "outlined"
2521
+ "attribute": "outlined",
2522
+ "reflects": true
2241
2523
  },
2242
2524
  {
2525
+ "kind": "field",
2243
2526
  "name": "clickable",
2244
2527
  "type": {
2245
2528
  "text": "boolean"
2246
2529
  },
2247
2530
  "default": "false",
2248
2531
  "description": "Whether the card is clickable. Default: `false`.",
2249
- "fieldName": "clickable"
2532
+ "attribute": "clickable",
2533
+ "reflects": true
2250
2534
  },
2251
2535
  {
2536
+ "kind": "field",
2252
2537
  "name": "headerBg",
2253
2538
  "type": {
2254
2539
  "text": "string"
2255
2540
  },
2256
2541
  "default": "\"transparent\"",
2257
2542
  "description": "Background color of the header. Default: `\"transparent\"`.",
2258
- "fieldName": "headerBg"
2543
+ "attribute": "headerBg",
2544
+ "reflects": true
2259
2545
  },
2260
2546
  {
2547
+ "kind": "field",
2261
2548
  "name": "headerBlur",
2262
2549
  "type": {
2263
2550
  "text": "string"
2264
2551
  },
2265
2552
  "default": "\"none\"",
2266
2553
  "description": "Blur level for the header background. Default: `\"none\"`.",
2267
- "fieldName": "headerBlur"
2554
+ "attribute": "headerBlur",
2555
+ "reflects": true
2268
2556
  },
2269
2557
  {
2558
+ "kind": "field",
2270
2559
  "name": "headerPadding",
2271
2560
  "type": {
2272
2561
  "text": "string"
2273
2562
  },
2274
2563
  "default": "\"md\"",
2275
2564
  "description": "Padding for the header. Default: `\"md\"`.",
2276
- "fieldName": "headerPadding"
2565
+ "attribute": "headerPadding",
2566
+ "reflects": true
2277
2567
  },
2278
2568
  {
2569
+ "kind": "field",
2279
2570
  "name": "headerLayout",
2280
2571
  "type": {
2281
2572
  "text": "SkyCardSectionLayout"
2282
2573
  },
2283
2574
  "default": "\"inline\"",
2284
2575
  "description": "Layout of the header content. Default: `\"inline\"`.",
2285
- "fieldName": "headerLayout"
2576
+ "attribute": "headerLayout"
2286
2577
  },
2287
2578
  {
2579
+ "kind": "field",
2288
2580
  "name": "headerInsetGap",
2289
2581
  "type": {
2290
2582
  "text": "string"
2291
2583
  },
2292
2584
  "default": "\"sm\"",
2293
2585
  "description": "Inset gap for the header section. Default: `\"sm\"`.",
2294
- "fieldName": "headerInsetGap"
2586
+ "attribute": "headerInsetGap",
2587
+ "reflects": true
2295
2588
  },
2296
2589
  {
2590
+ "kind": "field",
2297
2591
  "name": "headerRadius",
2298
2592
  "type": {
2299
2593
  "text": "string"
2300
2594
  },
2301
2595
  "default": "\"md\"",
2302
2596
  "description": "Border radius for the header. Default: `\"md\"`.",
2303
- "fieldName": "headerRadius"
2597
+ "attribute": "headerRadius",
2598
+ "reflects": true
2304
2599
  },
2305
2600
  {
2601
+ "kind": "field",
2306
2602
  "name": "headerSeparatorColor",
2307
2603
  "type": {
2308
2604
  "text": "string"
2309
2605
  },
2310
2606
  "default": "\"border-light\"",
2311
2607
  "description": "Color for the header separator. Default: `\"border-light\"`.",
2312
- "fieldName": "headerSeparatorColor"
2608
+ "attribute": "headerSeparatorColor"
2313
2609
  },
2314
2610
  {
2611
+ "kind": "field",
2315
2612
  "name": "footerBg",
2316
2613
  "type": {
2317
2614
  "text": "string"
2318
2615
  },
2319
2616
  "default": "\"transparent\"",
2320
2617
  "description": "Background color of the footer. Default: `\"transparent\"`.",
2321
- "fieldName": "footerBg"
2618
+ "attribute": "footerBg",
2619
+ "reflects": true
2322
2620
  },
2323
2621
  {
2622
+ "kind": "field",
2324
2623
  "name": "footerBlur",
2325
2624
  "type": {
2326
2625
  "text": "string"
2327
2626
  },
2328
2627
  "default": "\"none\"",
2329
2628
  "description": "Blur level for the footer background. Default: `\"none\"`.",
2330
- "fieldName": "footerBlur"
2629
+ "attribute": "footerBlur",
2630
+ "reflects": true
2331
2631
  },
2332
2632
  {
2633
+ "kind": "field",
2333
2634
  "name": "footerPadding",
2334
2635
  "type": {
2335
2636
  "text": "string"
2336
2637
  },
2337
2638
  "default": "\"md\"",
2338
2639
  "description": "Padding for the footer. Default: `\"md\"`.",
2339
- "fieldName": "footerPadding"
2640
+ "attribute": "footerPadding",
2641
+ "reflects": true
2340
2642
  },
2341
2643
  {
2644
+ "kind": "field",
2342
2645
  "name": "footerLayout",
2343
2646
  "type": {
2344
2647
  "text": "SkyCardSectionLayout"
2345
2648
  },
2346
2649
  "default": "\"inline\"",
2347
2650
  "description": "Layout of the footer content. Default: `\"inline\"`.",
2348
- "fieldName": "footerLayout"
2651
+ "attribute": "footerLayout"
2349
2652
  },
2350
2653
  {
2654
+ "kind": "field",
2351
2655
  "name": "footerInsetGap",
2352
2656
  "type": {
2353
2657
  "text": "string"
2354
2658
  },
2355
2659
  "default": "\"sm\"",
2356
2660
  "description": "Inset gap for the footer section. Default: `\"sm\"`.",
2357
- "fieldName": "footerInsetGap"
2661
+ "attribute": "footerInsetGap",
2662
+ "reflects": true
2358
2663
  },
2359
2664
  {
2665
+ "kind": "field",
2360
2666
  "name": "footerRadius",
2361
2667
  "type": {
2362
2668
  "text": "string"
2363
2669
  },
2364
2670
  "default": "\"md\"",
2365
2671
  "description": "Border radius for the footer. Default: `\"md\"`.",
2366
- "fieldName": "footerRadius"
2672
+ "attribute": "footerRadius",
2673
+ "reflects": true
2367
2674
  },
2368
2675
  {
2676
+ "kind": "field",
2369
2677
  "name": "footerSeparatorColor",
2370
2678
  "type": {
2371
2679
  "text": "string"
2372
2680
  },
2373
2681
  "default": "\"border-light\"",
2374
2682
  "description": "Color for the footer separator. Default: `\"border-light\"`.",
2375
- "fieldName": "footerSeparatorColor"
2683
+ "attribute": "footerSeparatorColor"
2376
2684
  },
2377
2685
  {
2686
+ "kind": "field",
2378
2687
  "name": "padRatio",
2379
2688
  "type": {
2380
2689
  "text": "number"
2381
- },
2382
- "default": "1",
2383
- "description": "Ratio to adjust padding. Default: `1`.",
2384
- "fieldName": "padRatio"
2385
- },
2386
- {
2387
- "name": "separators",
2388
- "type": {
2389
- "text": "SkyCardSectionTarget"
2390
- },
2391
- "default": "\"none\"",
2392
- "description": "Determines where separators should appear. Default: `\"none\"`.",
2393
- "fieldName": "separators"
2394
- },
2395
- {
2396
- "name": "overlays",
2397
- "type": {
2398
- "text": "SkyCardSectionTarget"
2399
- },
2400
- "default": "\"none\"",
2401
- "description": "Determines where overlays should appear. Default: `\"none\"`.",
2402
- "fieldName": "overlays"
2403
- },
2404
- {
2405
- "name": "insets",
2406
- "type": {
2407
- "text": "SkyCardSectionTarget"
2408
- },
2409
- "default": "\"none\"",
2410
- "description": "Determines where insets should appear. Default: `\"none\"`.",
2411
- "fieldName": "insets"
2412
- },
2413
- {
2414
- "name": "preset",
2415
- "type": {
2416
- "text": "string"
2417
- },
2418
- "default": "\"\"",
2419
- "description": "Named prop preset from nearest `sky-config-provider`. Default: `\"\"`.",
2420
- "fieldName": "preset"
2421
- }
2422
- ],
2423
- "superclass": {
2424
- "name": "LitElement",
2425
- "package": "lit"
2426
- },
2427
- "tagName": "sky-card",
2428
- "customElement": true,
2429
- "summary": "Customizable card with configurable header/footer sections, blur/background styles, elevation, insets, overlays, and separators."
2430
- }
2431
- ],
2432
- "exports": [
2433
- {
2434
- "kind": "js",
2435
- "name": "SkyCard",
2436
- "declaration": {
2437
- "name": "SkyCard",
2438
- "module": "src/sky-card/sky-card.ts"
2439
- }
2440
- },
2441
- {
2442
- "kind": "custom-element-definition",
2443
- "name": "sky-card",
2444
- "declaration": {
2445
- "name": "SkyCard",
2446
- "module": "src/sky-card/sky-card.ts"
2447
- }
2448
- }
2449
- ]
2450
- },
2451
- {
2452
- "kind": "javascript-module",
2453
- "path": "src/sky-badge/sky-badge.ts",
2454
- "declarations": [
2455
- {
2456
- "kind": "class",
2457
- "description": "",
2458
- "name": "SkyBadge",
2459
- "cssParts": [
2460
- {
2461
- "description": "Wrapper around the slotted content and the badge.",
2462
- "name": "container"
2463
- },
2464
- {
2465
- "description": "The badge element. Use `badgeRef` for positioning (e.g. tooltip anchor).",
2466
- "name": "badge"
2467
- },
2468
- {
2469
- "description": "The icon element when `isIcon` is true.",
2470
- "name": "icon"
2471
- }
2472
- ],
2473
- "slots": [
2474
- {
2475
- "description": "The content the badge attaches to.",
2476
- "name": ""
2477
- },
2478
- {
2479
- "description": "Optional slot to override the badge content entirely.",
2480
- "name": "badge"
2481
- }
2482
- ],
2483
- "members": [
2484
- {
2485
- "kind": "field",
2486
- "name": "dependencies",
2487
- "type": {
2488
- "text": "Record<string, CustomElementConstructor>"
2489
- },
2490
- "static": true,
2491
- "default": "{ \"sky-icon\": SkyIcon, }"
2492
- },
2493
- {
2494
- "kind": "field",
2495
- "name": "statusColor",
2496
- "type": {
2497
- "text": "string"
2498
- },
2499
- "default": "\"success\"",
2500
- "description": "Badge background token or CSS color.",
2501
- "attribute": "statusColor",
2502
- "reflects": true
2503
- },
2504
- {
2505
- "kind": "field",
2506
- "name": "textColor",
2507
- "type": {
2508
- "text": "string"
2509
- },
2510
- "default": "\"default\"",
2511
- "description": "Text color token or CSS color.",
2512
- "attribute": "textColor",
2513
- "reflects": true
2514
- },
2515
- {
2516
- "kind": "field",
2517
- "name": "iconColor",
2518
- "type": {
2519
- "text": "string"
2520
- },
2521
- "default": "\"\"",
2522
- "description": "Icon color token or CSS color; falls back to `textColor` when empty.",
2523
- "attribute": "iconColor",
2524
- "reflects": true
2525
- },
2526
- {
2527
- "kind": "field",
2528
- "name": "position",
2529
- "type": {
2530
- "text": "SkyBadgePosition"
2531
- },
2532
- "default": "\"default\"",
2533
- "description": "Layout mode: `default | floating | inline`.",
2534
- "attribute": "position",
2535
- "reflects": true
2536
- },
2537
- {
2538
- "kind": "field",
2539
- "name": "value",
2540
- "type": {
2541
- "text": "string"
2542
- },
2543
- "default": "\"\"",
2544
- "description": "Badge text/count or icon name in icon mode.",
2545
- "attribute": "value"
2690
+ },
2691
+ "default": "1",
2692
+ "description": "Ratio to adjust padding. Default: `1`.",
2693
+ "attribute": "padRatio"
2546
2694
  },
2547
2695
  {
2548
2696
  "kind": "field",
2549
- "name": "isIcon",
2697
+ "name": "separators",
2550
2698
  "type": {
2551
- "text": "boolean"
2699
+ "text": "SkyCardSectionTarget"
2552
2700
  },
2553
- "default": "false",
2554
- "description": "Renders icon mode when true.",
2555
- "attribute": "isIcon",
2556
- "reflects": true
2701
+ "default": "\"none\"",
2702
+ "description": "Determines where separators should appear. Default: `\"none\"`.",
2703
+ "attribute": "separators"
2557
2704
  },
2558
2705
  {
2559
2706
  "kind": "field",
2560
- "name": "size",
2707
+ "name": "overlays",
2561
2708
  "type": {
2562
- "text": "string"
2709
+ "text": "SkyCardSectionTarget"
2563
2710
  },
2564
- "default": "\"\"",
2565
- "description": "Badge and icon size CSS length.",
2566
- "attribute": "size",
2567
- "reflects": true
2711
+ "default": "\"none\"",
2712
+ "description": "Determines where overlays should appear. Default: `\"none\"`.",
2713
+ "attribute": "overlays"
2568
2714
  },
2569
2715
  {
2570
2716
  "kind": "field",
2571
- "name": "shape",
2717
+ "name": "insets",
2572
2718
  "type": {
2573
- "text": "SkyBadgeShape"
2719
+ "text": "SkyCardSectionTarget"
2574
2720
  },
2575
- "default": "\"custom\"",
2576
- "description": "Badge shape: `circle | pill | custom`.",
2577
- "attribute": "shape",
2578
- "reflects": true
2721
+ "default": "\"none\"",
2722
+ "description": "Determines where insets should appear. Default: `\"none\"`.",
2723
+ "attribute": "insets"
2579
2724
  },
2580
2725
  {
2581
2726
  "kind": "field",
2582
- "name": "max",
2727
+ "name": "_effHeaderSeparator",
2583
2728
  "type": {
2584
- "text": "number"
2729
+ "text": "boolean"
2585
2730
  },
2586
- "default": "99",
2587
- "description": "Maximum numeric count before rendering overflow label.",
2588
- "attribute": "max"
2731
+ "privacy": "private",
2732
+ "default": "false"
2589
2733
  },
2590
2734
  {
2591
2735
  "kind": "field",
2592
- "name": "hideWhenZero",
2736
+ "name": "_effFooterSeparator",
2593
2737
  "type": {
2594
2738
  "text": "boolean"
2595
2739
  },
2596
- "default": "false",
2597
- "description": "Hides badge when value resolves to numeric zero.",
2598
- "attribute": "hideWhenZero"
2740
+ "privacy": "private",
2741
+ "default": "false"
2599
2742
  },
2600
2743
  {
2601
2744
  "kind": "field",
2602
- "name": "show",
2745
+ "name": "_effHeaderOverlay",
2603
2746
  "type": {
2604
2747
  "text": "boolean"
2605
2748
  },
2606
- "default": "true",
2607
- "description": "Forces badge visibility independent of value.",
2608
- "attribute": "show",
2609
- "reflects": true
2749
+ "privacy": "private",
2750
+ "default": "false"
2610
2751
  },
2611
2752
  {
2612
2753
  "kind": "field",
2613
- "name": "offsetX",
2754
+ "name": "_effFooterOverlay",
2614
2755
  "type": {
2615
- "text": "string"
2756
+ "text": "boolean"
2616
2757
  },
2617
- "default": "\"0px\"",
2618
- "description": "Horizontal offset CSS length.",
2619
- "attribute": "offsetX"
2758
+ "privacy": "private",
2759
+ "default": "false"
2620
2760
  },
2621
2761
  {
2622
2762
  "kind": "field",
2623
- "name": "offsetY",
2763
+ "name": "_effHeaderInset",
2624
2764
  "type": {
2625
- "text": "string"
2765
+ "text": "boolean"
2626
2766
  },
2627
- "default": "\"0px\"",
2628
- "description": "Vertical offset CSS length.",
2629
- "attribute": "offsetY"
2767
+ "privacy": "private",
2768
+ "default": "false"
2630
2769
  },
2631
2770
  {
2632
2771
  "kind": "field",
2633
- "name": "ring",
2772
+ "name": "_effFooterInset",
2634
2773
  "type": {
2635
2774
  "text": "boolean"
2636
2775
  },
2637
- "default": "false",
2638
- "description": "Enables visual ring around the badge.",
2639
- "attribute": "ring"
2776
+ "privacy": "private",
2777
+ "default": "false"
2640
2778
  },
2641
2779
  {
2642
2780
  "kind": "field",
2643
- "name": "ringColor",
2781
+ "name": "_varsCache",
2644
2782
  "type": {
2645
- "text": "string"
2783
+ "text": "Record<string, string>"
2646
2784
  },
2647
- "default": "\"primary\"",
2648
- "description": "Ring color token or CSS color.",
2649
- "attribute": "ringColor"
2785
+ "privacy": "private",
2786
+ "default": "{}"
2650
2787
  },
2651
2788
  {
2652
2789
  "kind": "field",
2653
- "name": "ringOffset",
2790
+ "name": "BG_MAP",
2791
+ "privacy": "private",
2792
+ "static": true,
2793
+ "readonly": true,
2794
+ "default": "{ primary: \"var(--sky-glass-primary)\", secondary: \"var(--sky-glass-secondary)\", tertiary: \"var(--sky-glass-tertiary)\", transparent: \"transparent\", }",
2654
2795
  "type": {
2655
- "text": "string"
2656
- },
2657
- "default": "\"1px\"",
2658
- "description": "Ring offset CSS length.",
2659
- "attribute": "ringOffset"
2796
+ "text": "{\r\n primary: \"var(--sky-glass-primary)\",\r\n secondary: \"var(--sky-glass-secondary)\",\r\n tertiary: \"var(--sky-glass-tertiary)\",\r\n transparent: \"transparent\",\r\n }"
2797
+ }
2660
2798
  },
2661
2799
  {
2662
2800
  "kind": "field",
2663
- "name": "badgeLabel",
2801
+ "name": "BLUR_MAP",
2802
+ "privacy": "private",
2803
+ "static": true,
2804
+ "readonly": true,
2805
+ "default": "{ none: \"none\", xs: \"blur(2px)\", sm: \"var(--sky-blur-secondary)\", md: \"var(--sky-blur-secondary)\", lg: \"var(--sky-blur-tertiary)\", }",
2664
2806
  "type": {
2665
- "text": "string | null"
2666
- },
2667
- "default": "null",
2668
- "description": "ARIA label override.",
2669
- "attribute": "badgeLabel"
2807
+ "text": "{\r\n none: \"none\",\r\n xs: \"blur(2px)\",\r\n sm: \"var(--sky-blur-secondary)\",\r\n md: \"var(--sky-blur-secondary)\",\r\n lg: \"var(--sky-blur-tertiary)\",\r\n }"
2808
+ }
2670
2809
  },
2671
2810
  {
2672
2811
  "kind": "field",
2673
- "name": "badgeAriaHidden",
2812
+ "name": "SIZE_MAP",
2813
+ "privacy": "private",
2814
+ "static": true,
2815
+ "readonly": true,
2816
+ "default": "{ none: \"0\", sm: \"var(--sky-space-1\\\\.5, 6px)\", md: \"var(--sky-space-4, 16px)\", lg: \"var(--sky-space-6, 24px)\", xl: \"var(--sky-space-8, 32px)\", }",
2674
2817
  "type": {
2675
- "text": "boolean"
2676
- },
2677
- "default": "false",
2678
- "description": "Hides badge from assistive technology when true.",
2679
- "attribute": "badgeAriaHidden"
2818
+ "text": "{\r\n none: \"0\",\r\n sm: \"var(--sky-space-1\\\\.5, 6px)\",\r\n md: \"var(--sky-space-4, 16px)\",\r\n lg: \"var(--sky-space-6, 24px)\",\r\n xl: \"var(--sky-space-8, 32px)\",\r\n }"
2819
+ }
2680
2820
  },
2681
2821
  {
2682
2822
  "kind": "field",
2683
- "name": "interactive",
2684
- "type": {
2685
- "text": "boolean"
2686
- },
2687
- "default": "false",
2688
- "description": "Enables focus/activation and `badge-click` emission.",
2689
- "attribute": "interactive"
2823
+ "name": "GLASS_BG_TIERS",
2824
+ "privacy": "private",
2825
+ "static": true,
2826
+ "readonly": true,
2827
+ "default": "new Set([ \"primary\", \"secondary\", \"tertiary\", ])"
2690
2828
  },
2691
2829
  {
2692
2830
  "kind": "field",
2693
- "name": "placement",
2831
+ "name": "SECTION_INSET_BG_MAP",
2832
+ "privacy": "private",
2833
+ "static": true,
2834
+ "readonly": true,
2835
+ "default": "{ primary: \"var(--sky-hover-primary)\", secondary: \"var(--sky-hover-secondary)\", tertiary: \"var(--sky-hover-tertiary)\", transparent: \"transparent\", }",
2694
2836
  "type": {
2695
- "text": "SkyBadgePlacement"
2837
+ "text": "{\r\n primary: \"var(--sky-hover-primary)\",\r\n secondary: \"var(--sky-hover-secondary)\",\r\n tertiary: \"var(--sky-hover-tertiary)\",\r\n transparent: \"transparent\",\r\n }"
2696
2838
  },
2697
- "default": "\"custom\"",
2698
- "description": "Anchor placement preset for badge positioning.",
2699
- "attribute": "placement",
2700
- "reflects": true
2839
+ "description": "Non-overlay inset bars use hover tints — overlay sections own their own blur."
2840
+ },
2841
+ {
2842
+ "kind": "method",
2843
+ "name": "_composeBackdrop",
2844
+ "privacy": "private",
2845
+ "static": true,
2846
+ "return": {
2847
+ "type": {
2848
+ "text": "string"
2849
+ }
2850
+ },
2851
+ "parameters": [
2852
+ {
2853
+ "name": "blurLevel",
2854
+ "type": {
2855
+ "text": "string"
2856
+ }
2857
+ }
2858
+ ]
2859
+ },
2860
+ {
2861
+ "kind": "method",
2862
+ "name": "_composeElevation",
2863
+ "privacy": "private",
2864
+ "static": true,
2865
+ "return": {
2866
+ "type": {
2867
+ "text": "string"
2868
+ }
2869
+ },
2870
+ "parameters": [
2871
+ {
2872
+ "name": "level",
2873
+ "type": {
2874
+ "text": "SkyCardElevation | string"
2875
+ }
2876
+ }
2877
+ ]
2701
2878
  },
2702
2879
  {
2703
2880
  "kind": "field",
@@ -2717,321 +2894,402 @@
2717
2894
  "default": "new PresetController(this)"
2718
2895
  },
2719
2896
  {
2720
- "kind": "field",
2721
- "name": "_badgeEl",
2722
- "type": {
2723
- "text": "HTMLSpanElement"
2724
- },
2725
- "privacy": "private"
2897
+ "kind": "method",
2898
+ "name": "_wireSlotChangeHandlers",
2899
+ "privacy": "private",
2900
+ "return": {
2901
+ "type": {
2902
+ "text": "void"
2903
+ }
2904
+ }
2726
2905
  },
2727
2906
  {
2728
- "kind": "field",
2729
- "name": "badgeRef",
2730
- "privacy": "public",
2731
- "description": "Ref for the badge element (e.g. for tooltip anchor or positioning)."
2907
+ "kind": "method",
2908
+ "name": "_syncHeader",
2909
+ "privacy": "private",
2910
+ "return": {
2911
+ "type": {
2912
+ "text": "void"
2913
+ }
2914
+ }
2732
2915
  },
2733
2916
  {
2734
- "kind": "field",
2735
- "name": "shadowRootOptions",
2736
- "type": {
2737
- "text": "ShadowRootInit"
2738
- },
2739
- "static": true,
2740
- "default": "{ mode: \"open\", delegatesFocus: true, }"
2917
+ "kind": "method",
2918
+ "name": "_syncFooter",
2919
+ "privacy": "private",
2920
+ "return": {
2921
+ "type": {
2922
+ "text": "void"
2923
+ }
2924
+ }
2741
2925
  },
2742
2926
  {
2743
2927
  "kind": "method",
2744
- "name": "showBadge",
2745
- "privacy": "public",
2928
+ "name": "_expandPair",
2929
+ "privacy": "private",
2746
2930
  "return": {
2747
2931
  "type": {
2748
- "text": "void"
2932
+ "text": "[boolean, boolean]"
2749
2933
  }
2750
2934
  },
2751
- "description": "Forces badge visibility on."
2935
+ "parameters": [
2936
+ {
2937
+ "name": "sh",
2938
+ "type": {
2939
+ "text": "SkyCardSectionTarget"
2940
+ }
2941
+ }
2942
+ ]
2752
2943
  },
2753
2944
  {
2754
2945
  "kind": "method",
2755
- "name": "hideBadge",
2756
- "privacy": "public",
2946
+ "name": "_computeEffectiveFlags",
2947
+ "privacy": "private",
2757
2948
  "return": {
2758
2949
  "type": {
2759
2950
  "text": "void"
2760
2951
  }
2761
- },
2762
- "description": "Forces badge visibility off."
2952
+ }
2763
2953
  },
2764
2954
  {
2765
2955
  "kind": "method",
2766
- "name": "setValue",
2767
- "privacy": "public",
2956
+ "name": "_setVar",
2957
+ "privacy": "private",
2768
2958
  "return": {
2769
2959
  "type": {
2770
2960
  "text": "void"
2771
2961
  }
2772
2962
  },
2773
2963
  "parameters": [
2964
+ {
2965
+ "name": "name",
2966
+ "type": {
2967
+ "text": "string"
2968
+ }
2969
+ },
2774
2970
  {
2775
2971
  "name": "value",
2776
2972
  "type": {
2777
2973
  "text": "string"
2778
- },
2779
- "description": "Badge value or icon name."
2974
+ }
2780
2975
  }
2781
- ],
2782
- "description": "Updates badge value for text/count or icon modes."
2783
- },
2784
- {
2785
- "kind": "field",
2786
- "name": "_onActivate",
2787
- "privacy": "private",
2788
- "description": "Emits `badge-click` for interactive activation."
2789
- },
2790
- {
2791
- "kind": "field",
2792
- "name": "_onKeydown",
2793
- "privacy": "private",
2794
- "description": "Handles keyboard activation with Enter and Space."
2976
+ ]
2795
2977
  },
2796
2978
  {
2797
2979
  "kind": "method",
2798
- "name": "_computeAriaLabel",
2980
+ "name": "_resolveSectionBg",
2799
2981
  "privacy": "private",
2800
2982
  "return": {
2801
2983
  "type": {
2802
- "text": "string | null"
2984
+ "text": "string"
2803
2985
  }
2804
2986
  },
2805
2987
  "parameters": [
2806
2988
  {
2807
- "name": "displayValue",
2989
+ "name": "token",
2808
2990
  "type": {
2809
- "text": "string | null"
2991
+ "text": "string"
2992
+ }
2993
+ },
2994
+ {
2995
+ "name": "isInset",
2996
+ "type": {
2997
+ "text": "boolean"
2998
+ }
2999
+ },
3000
+ {
3001
+ "name": "isOverlay",
3002
+ "type": {
3003
+ "text": "boolean"
2810
3004
  }
2811
3005
  }
2812
- ],
2813
- "description": "Computes accessible badge label from current render state."
3006
+ ]
2814
3007
  },
2815
3008
  {
2816
3009
  "kind": "method",
2817
- "name": "_computeAnchors",
3010
+ "name": "_resolveSectionGlassSurface",
2818
3011
  "privacy": "private",
2819
3012
  "return": {
2820
3013
  "type": {
2821
- "text": "{\r\n top: string;\r\n right: string;\r\n bottom: string;\r\n left: string;\r\n }"
3014
+ "text": "string"
2822
3015
  }
2823
3016
  },
2824
3017
  "parameters": [
2825
3018
  {
2826
- "name": "placement",
3019
+ "name": "token",
2827
3020
  "type": {
2828
- "text": "SkyBadgePlacement"
3021
+ "text": "string"
2829
3022
  }
2830
3023
  }
2831
- ],
2832
- "description": "Resolves anchor edges from placement preset."
3024
+ ]
2833
3025
  },
2834
3026
  {
2835
3027
  "kind": "method",
2836
- "name": "_resolveBadgeSurface",
3028
+ "name": "_applyCardVars",
2837
3029
  "privacy": "private",
2838
3030
  "return": {
2839
3031
  "type": {
2840
- "text": "{\r\n bg: string;\r\n color: string;\r\n border: string;\r\n }"
3032
+ "text": "void"
3033
+ }
3034
+ }
3035
+ },
3036
+ {
3037
+ "kind": "method",
3038
+ "name": "_applyPaddingVars",
3039
+ "privacy": "private",
3040
+ "return": {
3041
+ "type": {
3042
+ "text": "void"
3043
+ }
3044
+ }
3045
+ },
3046
+ {
3047
+ "kind": "method",
3048
+ "name": "_applySectionChrome",
3049
+ "privacy": "private",
3050
+ "return": {
3051
+ "type": {
3052
+ "text": "void"
3053
+ }
3054
+ }
3055
+ },
3056
+ {
3057
+ "kind": "method",
3058
+ "name": "refreshLayout",
3059
+ "privacy": "public",
3060
+ "return": {
3061
+ "type": {
3062
+ "text": "void"
2841
3063
  }
2842
3064
  },
2843
- "description": "Maps semantic status tokens to soft badge surface colors."
3065
+ "description": "Recomputes card variables and section synchronization."
2844
3066
  }
2845
3067
  ],
2846
- "events": [
3068
+ "attributes": [
2847
3069
  {
3070
+ "name": "bg",
2848
3071
  "type": {
2849
- "text": "CustomEvent<SkyBadgeClickEventDetail>"
3072
+ "text": "string"
2850
3073
  },
2851
- "description": "Emitted when badge activation occurs via click, Enter, or Space while `interactive` is true.",
2852
- "name": "badge-click"
2853
- }
2854
- ],
2855
- "attributes": [
3074
+ "default": "\"primary\"",
3075
+ "description": "Background color of the card. Accepts color tokens or custom CSS colors. Default: `\"primary\"`.",
3076
+ "fieldName": "bg"
3077
+ },
2856
3078
  {
2857
- "name": "statusColor",
3079
+ "name": "blurLevel",
2858
3080
  "type": {
2859
3081
  "text": "string"
2860
3082
  },
2861
- "default": "\"success\"",
2862
- "description": "Badge background token or CSS color.",
2863
- "fieldName": "statusColor"
3083
+ "default": "\"none\"",
3084
+ "description": "Level of blur applied to the background. Default: `\"none\"`.",
3085
+ "fieldName": "blurLevel"
2864
3086
  },
2865
3087
  {
2866
- "name": "textColor",
3088
+ "name": "radius",
2867
3089
  "type": {
2868
3090
  "text": "string"
2869
3091
  },
2870
- "default": "\"default\"",
2871
- "description": "Text color token or CSS color.",
2872
- "fieldName": "textColor"
3092
+ "default": "\"md\"",
3093
+ "description": "Border radius of the card. Default: `\"md\"`.",
3094
+ "fieldName": "radius"
2873
3095
  },
2874
3096
  {
2875
- "name": "iconColor",
3097
+ "name": "bodyPadding",
2876
3098
  "type": {
2877
3099
  "text": "string"
2878
3100
  },
2879
- "default": "\"\"",
2880
- "description": "Icon color token or CSS color; falls back to `textColor` when empty.",
2881
- "fieldName": "iconColor"
3101
+ "default": "\"none\"",
3102
+ "description": "Padding for the card body. Default: `\"none\"`.",
3103
+ "fieldName": "bodyPadding"
2882
3104
  },
2883
3105
  {
2884
- "name": "position",
3106
+ "name": "elevation",
2885
3107
  "type": {
2886
- "text": "SkyBadgePosition"
3108
+ "text": "SkyCardElevation"
2887
3109
  },
2888
- "default": "\"default\"",
2889
- "description": "Layout mode: `default | floating | inline`.",
2890
- "fieldName": "position"
3110
+ "default": "\"md\"",
3111
+ "description": "Shadow depth of the card. Default: `\"md\"`.",
3112
+ "fieldName": "elevation"
2891
3113
  },
2892
3114
  {
2893
- "name": "value",
3115
+ "name": "outlined",
2894
3116
  "type": {
2895
- "text": "string"
3117
+ "text": "boolean"
2896
3118
  },
2897
- "default": "\"\"",
2898
- "description": "Badge text/count or icon name in icon mode.",
2899
- "fieldName": "value"
3119
+ "default": "false",
3120
+ "description": "Whether the card has an outline. Default: `false`.",
3121
+ "fieldName": "outlined"
2900
3122
  },
2901
3123
  {
2902
- "name": "isIcon",
3124
+ "name": "clickable",
2903
3125
  "type": {
2904
3126
  "text": "boolean"
2905
3127
  },
2906
3128
  "default": "false",
2907
- "description": "Renders icon mode when true.",
2908
- "fieldName": "isIcon"
3129
+ "description": "Whether the card is clickable. Default: `false`.",
3130
+ "fieldName": "clickable"
2909
3131
  },
2910
3132
  {
2911
- "name": "size",
3133
+ "name": "headerBg",
2912
3134
  "type": {
2913
3135
  "text": "string"
2914
3136
  },
2915
- "default": "\"\"",
2916
- "description": "Badge and icon size CSS length.",
2917
- "fieldName": "size"
3137
+ "default": "\"transparent\"",
3138
+ "description": "Background color of the header. Default: `\"transparent\"`.",
3139
+ "fieldName": "headerBg"
2918
3140
  },
2919
3141
  {
2920
- "name": "shape",
3142
+ "name": "headerBlur",
2921
3143
  "type": {
2922
- "text": "SkyBadgeShape"
3144
+ "text": "string"
2923
3145
  },
2924
- "default": "\"custom\"",
2925
- "description": "Badge shape: `circle | pill | custom`.",
2926
- "fieldName": "shape"
3146
+ "default": "\"none\"",
3147
+ "description": "Blur level for the header background. Default: `\"none\"`.",
3148
+ "fieldName": "headerBlur"
2927
3149
  },
2928
3150
  {
2929
- "name": "max",
3151
+ "name": "headerPadding",
2930
3152
  "type": {
2931
- "text": "number"
3153
+ "text": "string"
2932
3154
  },
2933
- "default": "99",
2934
- "description": "Maximum numeric count before rendering overflow label.",
2935
- "fieldName": "max"
3155
+ "default": "\"md\"",
3156
+ "description": "Padding for the header. Default: `\"md\"`.",
3157
+ "fieldName": "headerPadding"
2936
3158
  },
2937
3159
  {
2938
- "name": "hideWhenZero",
3160
+ "name": "headerLayout",
2939
3161
  "type": {
2940
- "text": "boolean"
3162
+ "text": "SkyCardSectionLayout"
2941
3163
  },
2942
- "default": "false",
2943
- "description": "Hides badge when value resolves to numeric zero.",
2944
- "fieldName": "hideWhenZero"
3164
+ "default": "\"inline\"",
3165
+ "description": "Layout of the header content. Default: `\"inline\"`.",
3166
+ "fieldName": "headerLayout"
2945
3167
  },
2946
3168
  {
2947
- "name": "show",
3169
+ "name": "headerInsetGap",
2948
3170
  "type": {
2949
- "text": "boolean"
3171
+ "text": "string"
2950
3172
  },
2951
- "default": "true",
2952
- "description": "Forces badge visibility independent of value.",
2953
- "fieldName": "show"
3173
+ "default": "\"sm\"",
3174
+ "description": "Inset gap for the header section. Default: `\"sm\"`.",
3175
+ "fieldName": "headerInsetGap"
2954
3176
  },
2955
3177
  {
2956
- "name": "offsetX",
3178
+ "name": "headerRadius",
2957
3179
  "type": {
2958
3180
  "text": "string"
2959
3181
  },
2960
- "default": "\"0px\"",
2961
- "description": "Horizontal offset CSS length.",
2962
- "fieldName": "offsetX"
3182
+ "default": "\"md\"",
3183
+ "description": "Border radius for the header. Default: `\"md\"`.",
3184
+ "fieldName": "headerRadius"
3185
+ },
3186
+ {
3187
+ "name": "headerSeparatorColor",
3188
+ "type": {
3189
+ "text": "string"
3190
+ },
3191
+ "default": "\"border-light\"",
3192
+ "description": "Color for the header separator. Default: `\"border-light\"`.",
3193
+ "fieldName": "headerSeparatorColor"
3194
+ },
3195
+ {
3196
+ "name": "footerBg",
3197
+ "type": {
3198
+ "text": "string"
3199
+ },
3200
+ "default": "\"transparent\"",
3201
+ "description": "Background color of the footer. Default: `\"transparent\"`.",
3202
+ "fieldName": "footerBg"
3203
+ },
3204
+ {
3205
+ "name": "footerBlur",
3206
+ "type": {
3207
+ "text": "string"
3208
+ },
3209
+ "default": "\"none\"",
3210
+ "description": "Blur level for the footer background. Default: `\"none\"`.",
3211
+ "fieldName": "footerBlur"
3212
+ },
3213
+ {
3214
+ "name": "footerPadding",
3215
+ "type": {
3216
+ "text": "string"
3217
+ },
3218
+ "default": "\"md\"",
3219
+ "description": "Padding for the footer. Default: `\"md\"`.",
3220
+ "fieldName": "footerPadding"
2963
3221
  },
2964
3222
  {
2965
- "name": "offsetY",
3223
+ "name": "footerLayout",
2966
3224
  "type": {
2967
- "text": "string"
3225
+ "text": "SkyCardSectionLayout"
2968
3226
  },
2969
- "default": "\"0px\"",
2970
- "description": "Vertical offset CSS length.",
2971
- "fieldName": "offsetY"
3227
+ "default": "\"inline\"",
3228
+ "description": "Layout of the footer content. Default: `\"inline\"`.",
3229
+ "fieldName": "footerLayout"
2972
3230
  },
2973
3231
  {
2974
- "name": "ring",
3232
+ "name": "footerInsetGap",
2975
3233
  "type": {
2976
- "text": "boolean"
3234
+ "text": "string"
2977
3235
  },
2978
- "default": "false",
2979
- "description": "Enables visual ring around the badge.",
2980
- "fieldName": "ring"
3236
+ "default": "\"sm\"",
3237
+ "description": "Inset gap for the footer section. Default: `\"sm\"`.",
3238
+ "fieldName": "footerInsetGap"
2981
3239
  },
2982
3240
  {
2983
- "name": "ringColor",
3241
+ "name": "footerRadius",
2984
3242
  "type": {
2985
3243
  "text": "string"
2986
3244
  },
2987
- "default": "\"primary\"",
2988
- "description": "Ring color token or CSS color.",
2989
- "fieldName": "ringColor"
3245
+ "default": "\"md\"",
3246
+ "description": "Border radius for the footer. Default: `\"md\"`.",
3247
+ "fieldName": "footerRadius"
2990
3248
  },
2991
3249
  {
2992
- "name": "ringOffset",
3250
+ "name": "footerSeparatorColor",
2993
3251
  "type": {
2994
3252
  "text": "string"
2995
3253
  },
2996
- "default": "\"1px\"",
2997
- "description": "Ring offset CSS length.",
2998
- "fieldName": "ringOffset"
3254
+ "default": "\"border-light\"",
3255
+ "description": "Color for the footer separator. Default: `\"border-light\"`.",
3256
+ "fieldName": "footerSeparatorColor"
2999
3257
  },
3000
3258
  {
3001
- "name": "badgeLabel",
3259
+ "name": "padRatio",
3002
3260
  "type": {
3003
- "text": "string | null"
3261
+ "text": "number"
3004
3262
  },
3005
- "default": "null",
3006
- "description": "ARIA label override.",
3007
- "fieldName": "badgeLabel"
3263
+ "default": "1",
3264
+ "description": "Ratio to adjust padding. Default: `1`.",
3265
+ "fieldName": "padRatio"
3008
3266
  },
3009
3267
  {
3010
- "name": "badgeAriaHidden",
3268
+ "name": "separators",
3011
3269
  "type": {
3012
- "text": "boolean"
3270
+ "text": "SkyCardSectionTarget"
3013
3271
  },
3014
- "default": "false",
3015
- "description": "Hides badge from assistive technology when true.",
3016
- "fieldName": "badgeAriaHidden"
3272
+ "default": "\"none\"",
3273
+ "description": "Determines where separators should appear. Default: `\"none\"`.",
3274
+ "fieldName": "separators"
3017
3275
  },
3018
3276
  {
3019
- "name": "interactive",
3277
+ "name": "overlays",
3020
3278
  "type": {
3021
- "text": "boolean"
3279
+ "text": "SkyCardSectionTarget"
3022
3280
  },
3023
- "default": "false",
3024
- "description": "Enables focus/activation and `badge-click` emission.",
3025
- "fieldName": "interactive"
3281
+ "default": "\"none\"",
3282
+ "description": "Determines where overlays should appear. Default: `\"none\"`.",
3283
+ "fieldName": "overlays"
3026
3284
  },
3027
3285
  {
3028
- "name": "placement",
3286
+ "name": "insets",
3029
3287
  "type": {
3030
- "text": "SkyBadgePlacement"
3288
+ "text": "SkyCardSectionTarget"
3031
3289
  },
3032
- "default": "\"custom\"",
3033
- "description": "Anchor placement preset for badge positioning.",
3034
- "fieldName": "placement"
3290
+ "default": "\"none\"",
3291
+ "description": "Determines where insets should appear. Default: `\"none\"`.",
3292
+ "fieldName": "insets"
3035
3293
  },
3036
3294
  {
3037
3295
  "name": "preset",
@@ -3047,26 +3305,26 @@
3047
3305
  "name": "LitElement",
3048
3306
  "package": "lit"
3049
3307
  },
3050
- "tagName": "sky-badge",
3308
+ "tagName": "sky-card",
3051
3309
  "customElement": true,
3052
- "summary": "Badge for status dots, counts, or icons anchored to slotted content."
3310
+ "summary": "Customizable card with configurable header/footer sections, blur/background styles, elevation, insets, overlays, and separators."
3053
3311
  }
3054
3312
  ],
3055
3313
  "exports": [
3056
3314
  {
3057
3315
  "kind": "js",
3058
- "name": "SkyBadge",
3316
+ "name": "SkyCard",
3059
3317
  "declaration": {
3060
- "name": "SkyBadge",
3061
- "module": "src/sky-badge/sky-badge.ts"
3318
+ "name": "SkyCard",
3319
+ "module": "src/sky-card/sky-card.ts"
3062
3320
  }
3063
3321
  },
3064
3322
  {
3065
3323
  "kind": "custom-element-definition",
3066
- "name": "sky-badge",
3324
+ "name": "sky-card",
3067
3325
  "declaration": {
3068
- "name": "SkyBadge",
3069
- "module": "src/sky-badge/sky-badge.ts"
3326
+ "name": "SkyCard",
3327
+ "module": "src/sky-card/sky-card.ts"
3070
3328
  }
3071
3329
  }
3072
3330
  ]
@@ -3508,432 +3766,174 @@
3508
3766
  ]
3509
3767
  },
3510
3768
  {
3511
- "kind": "field",
3512
- "name": "_onSlotChange",
3513
- "privacy": "private"
3514
- },
3515
- {
3516
- "kind": "field",
3517
- "name": "_hasTextContent",
3518
- "type": {
3519
- "text": "boolean"
3520
- },
3521
- "privacy": "private",
3522
- "readonly": true
3523
- },
3524
- {
3525
- "kind": "field",
3526
- "name": "handleBlur",
3527
- "privacy": "private"
3528
- },
3529
- {
3530
- "kind": "field",
3531
- "name": "_onKeyDown",
3532
- "privacy": "private"
3533
- }
3534
- ],
3535
- "events": [
3536
- {
3537
- "name": "value-changed",
3538
- "type": {
3539
- "text": "CustomEvent<SkyCheckboxValueChangedDetail>"
3540
- },
3541
- "description": "Fired when checked state changes; `detail.checked` is always boolean (use for v-model). `detail.value` is the form token when the `value` prop is set, else mirrors `checked`."
3542
- },
3543
- {
3544
- "name": "validation-error",
3545
- "type": {
3546
- "text": "CustomEvent<SkyCheckboxValidationErrorDetail>"
3547
- },
3548
- "description": "Fired when validation errors are updated."
3549
- },
3550
- {
3551
- "name": "value-cleared",
3552
- "type": {
3553
- "text": "CustomEvent<SkyCheckboxValueClearedDetail>"
3554
- },
3555
- "description": "Fired when checkbox is reset programmatically."
3556
- }
3557
- ],
3558
- "attributes": [
3559
- {
3560
- "name": "label",
3561
- "type": {
3562
- "text": "string"
3563
- },
3564
- "default": "\"\"",
3565
- "description": "The label for the checkbox. Default: `\"\"`.",
3566
- "fieldName": "label"
3567
- },
3568
- {
3569
- "name": "id",
3570
- "type": {
3571
- "text": "string"
3572
- },
3573
- "default": "\"\"",
3574
- "fieldName": "id"
3575
- },
3576
- {
3577
- "name": "value",
3578
- "type": {
3579
- "text": "string"
3580
- },
3581
- "default": "\"\"",
3582
- "description": "The value of the checkbox, which gets submitted with the form. Default: `\"\"`.",
3583
- "fieldName": "value"
3584
- },
3585
- {
3586
- "name": "color",
3587
- "type": {
3588
- "text": "string"
3589
- },
3590
- "default": "\"primary\"",
3591
- "description": "The color used for the checkbox and its checkmark. Default: `\"primary\"`.",
3592
- "fieldName": "color"
3593
- },
3594
- {
3595
- "name": "defaultChecked",
3596
- "type": {
3597
- "text": "boolean"
3598
- },
3599
- "default": "false",
3600
- "description": "Default checked state for reset operations. Default: `false`.",
3601
- "fieldName": "defaultChecked"
3602
- },
3603
- {
3604
- "name": "showErrors",
3605
- "type": {
3606
- "text": "boolean"
3607
- },
3608
- "default": "false",
3609
- "description": "Whether to display validation error messages. Default: `false`.",
3610
- "fieldName": "showErrors"
3611
- },
3612
- {
3613
- "name": "prefix",
3614
- "type": {
3615
- "text": "string"
3616
- },
3617
- "default": "\"\"",
3618
- "description": "Optional prefix text or content before the label. Default: `\"\"`.",
3619
- "fieldName": "prefix"
3620
- },
3621
- {
3622
- "name": "suffix",
3623
- "type": {
3624
- "text": "string"
3625
- },
3626
- "default": "\"\"",
3627
- "description": "Optional suffix text or content after the label. Default: `\"\"`.",
3628
- "fieldName": "suffix"
3629
- },
3630
- {
3631
- "name": "prefixColor",
3632
- "type": {
3633
- "text": "string"
3634
- },
3635
- "default": "\"\"",
3636
- "description": "The color for the prefix text. Default: `\"\"`.",
3637
- "fieldName": "prefixColor"
3638
- },
3639
- {
3640
- "name": "suffixColor",
3641
- "type": {
3642
- "text": "string"
3643
- },
3644
- "default": "\"\"",
3645
- "description": "The color for the suffix text. Default: `\"\"`.",
3646
- "fieldName": "suffixColor"
3647
- },
3648
- {
3649
- "name": "validationActive",
3650
- "type": {
3651
- "text": "boolean"
3652
- },
3653
- "default": "false",
3654
- "fieldName": "validationActive"
3655
- },
3656
- {
3657
- "name": "invalid",
3658
- "type": {
3659
- "text": "boolean"
3660
- },
3661
- "default": "false",
3662
- "fieldName": "invalid"
3663
- },
3664
- {
3665
- "name": "checked",
3666
- "type": {
3667
- "text": "boolean"
3668
- },
3669
- "description": "Whether the checkbox is checked. Default: `false`.",
3670
- "fieldName": "checked"
3671
- },
3672
- {
3673
- "name": "indeterminate",
3674
- "type": {
3675
- "text": "boolean"
3676
- },
3677
- "description": "Whether the checkbox is in the indeterminate state. Default: `false`.",
3678
- "fieldName": "indeterminate"
3769
+ "kind": "field",
3770
+ "name": "_onSlotChange",
3771
+ "privacy": "private"
3679
3772
  },
3680
3773
  {
3681
- "name": "preset",
3774
+ "kind": "field",
3775
+ "name": "_hasTextContent",
3682
3776
  "type": {
3683
- "text": "string"
3777
+ "text": "boolean"
3684
3778
  },
3685
- "default": "\"\"",
3686
- "description": "Named prop preset from nearest `sky-config-provider`. Default: `\"\"`.",
3687
- "fieldName": "preset"
3688
- }
3689
- ],
3690
- "superclass": {
3691
- "name": "FormControlBase",
3692
- "module": "/src/helper/internals/form-control-base"
3693
- },
3694
- "tagName": "sky-checkbox",
3695
- "customElement": true,
3696
- "summary": "Form-associated checkbox with validation, indeterminate state, and customizable label/prefix/suffix rendering."
3697
- }
3698
- ],
3699
- "exports": [
3700
- {
3701
- "kind": "js",
3702
- "name": "SkyCheckbox",
3703
- "declaration": {
3704
- "name": "SkyCheckbox",
3705
- "module": "src/sky-checkbox/sky-checkbox.ts"
3706
- }
3707
- },
3708
- {
3709
- "kind": "custom-element-definition",
3710
- "name": "sky-checkbox",
3711
- "declaration": {
3712
- "name": "SkyCheckbox",
3713
- "module": "src/sky-checkbox/sky-checkbox.ts"
3714
- }
3715
- }
3716
- ]
3717
- },
3718
- {
3719
- "kind": "javascript-module",
3720
- "path": "src/sky-appbar/sky-appbar.ts",
3721
- "declarations": [
3722
- {
3723
- "kind": "class",
3724
- "description": "",
3725
- "name": "SkyAppbar",
3726
- "cssParts": [
3727
- {
3728
- "description": "Wrapper that contains the leading slot, title, and actions.",
3729
- "name": "content"
3730
- },
3731
- {
3732
- "description": "Container for the leading slot (e.g. menu button).",
3733
- "name": "leading"
3779
+ "privacy": "private",
3780
+ "readonly": true
3734
3781
  },
3735
3782
  {
3736
- "description": "The title area (contains .title-text with the title string).",
3737
- "name": "title"
3783
+ "kind": "field",
3784
+ "name": "handleBlur",
3785
+ "privacy": "private"
3738
3786
  },
3739
3787
  {
3740
- "description": "The trailing actions container.",
3741
- "name": "actions"
3788
+ "kind": "field",
3789
+ "name": "_onKeyDown",
3790
+ "privacy": "private"
3742
3791
  }
3743
3792
  ],
3744
- "slots": [
3793
+ "events": [
3745
3794
  {
3746
- "description": "Leading area (e.g., menu/back button). Defaults to a hamburger icon.",
3747
- "name": "button"
3795
+ "name": "value-changed",
3796
+ "type": {
3797
+ "text": "CustomEvent<SkyCheckboxValueChangedDetail>"
3798
+ },
3799
+ "description": "Fired when checked state changes; `detail.checked` is always boolean (use for v-model). `detail.value` is the form token when the `value` prop is set, else mirrors `checked`."
3748
3800
  },
3749
3801
  {
3750
- "description": "Trailing actions (icons/buttons). This is the default slot.",
3751
- "name": ""
3752
- }
3753
- ],
3754
- "members": [
3755
- {
3756
- "kind": "field",
3757
- "name": "dependencies",
3802
+ "name": "validation-error",
3758
3803
  "type": {
3759
- "text": "Record<string, CustomElementConstructor>"
3804
+ "text": "CustomEvent<SkyCheckboxValidationErrorDetail>"
3760
3805
  },
3761
- "static": true,
3762
- "default": "{ \"sky-icon\": SkyIcon, }"
3806
+ "description": "Fired when validation errors are updated."
3763
3807
  },
3764
3808
  {
3765
- "kind": "field",
3766
- "name": "title",
3809
+ "name": "value-cleared",
3767
3810
  "type": {
3768
- "text": "string"
3811
+ "text": "CustomEvent<SkyCheckboxValueClearedDetail>"
3769
3812
  },
3770
- "default": "\"App Bar\"",
3771
- "description": "Title text displayed in the app bar.",
3772
- "attribute": "title"
3773
- },
3813
+ "description": "Fired when checkbox is reset programmatically."
3814
+ }
3815
+ ],
3816
+ "attributes": [
3774
3817
  {
3775
- "kind": "field",
3776
- "name": "color",
3818
+ "name": "label",
3777
3819
  "type": {
3778
3820
  "text": "string"
3779
3821
  },
3780
- "default": "\"default\"",
3781
- "description": "Semantic token or CSS color for bar background; foreground color is derived for contrast.",
3782
- "attribute": "color"
3822
+ "default": "\"\"",
3823
+ "description": "The label for the checkbox. Default: `\"\"`.",
3824
+ "fieldName": "label"
3783
3825
  },
3784
3826
  {
3785
- "kind": "field",
3786
- "name": "url",
3827
+ "name": "id",
3787
3828
  "type": {
3788
3829
  "text": "string"
3789
3830
  },
3790
3831
  "default": "\"\"",
3791
- "description": "Background image URL.",
3792
- "attribute": "url"
3832
+ "fieldName": "id"
3793
3833
  },
3794
3834
  {
3795
- "kind": "field",
3796
- "name": "banner",
3835
+ "name": "value",
3797
3836
  "type": {
3798
- "text": "boolean"
3837
+ "text": "string"
3799
3838
  },
3800
- "default": "true",
3801
- "description": "Uses `role=\"banner\"` when true, otherwise `role=\"group\"`.",
3802
- "attribute": "banner"
3839
+ "default": "\"\"",
3840
+ "description": "The value of the checkbox, which gets submitted with the form. Default: `\"\"`.",
3841
+ "fieldName": "value"
3803
3842
  },
3804
3843
  {
3805
- "kind": "field",
3806
- "name": "dense",
3844
+ "name": "color",
3807
3845
  "type": {
3808
- "text": "boolean"
3846
+ "text": "string"
3809
3847
  },
3810
- "default": "false",
3811
- "description": "Enables compact vertical spacing.",
3812
- "attribute": "dense"
3848
+ "default": "\"primary\"",
3849
+ "description": "The color used for the checkbox and its checkmark. Default: `\"primary\"`.",
3850
+ "fieldName": "color"
3813
3851
  },
3814
3852
  {
3815
- "kind": "field",
3816
- "name": "elevated",
3853
+ "name": "defaultChecked",
3817
3854
  "type": {
3818
3855
  "text": "boolean"
3819
3856
  },
3820
3857
  "default": "false",
3821
- "description": "Applies elevated shadow styling.",
3822
- "attribute": "elevated"
3858
+ "description": "Default checked state for reset operations. Default: `false`.",
3859
+ "fieldName": "defaultChecked"
3823
3860
  },
3824
3861
  {
3825
- "kind": "field",
3826
- "name": "leadingLabel",
3862
+ "name": "showErrors",
3827
3863
  "type": {
3828
- "text": "string"
3864
+ "text": "boolean"
3829
3865
  },
3830
- "default": "\"Open menu\"",
3831
- "description": "Accessible label for default leading button fallback.",
3832
- "attribute": "leadingLabel"
3866
+ "default": "false",
3867
+ "description": "Whether to display validation error messages. Default: `false`.",
3868
+ "fieldName": "showErrors"
3833
3869
  },
3834
3870
  {
3835
- "kind": "field",
3836
- "name": "preset",
3871
+ "name": "prefix",
3837
3872
  "type": {
3838
3873
  "text": "string"
3839
3874
  },
3840
3875
  "default": "\"\"",
3841
- "description": "Named prop preset from nearest `sky-config-provider`. Default: `\"\"`.",
3842
- "attribute": "preset",
3843
- "reflects": true
3844
- },
3845
- {
3846
- "kind": "field",
3847
- "name": "_presets",
3848
- "privacy": "private",
3849
- "default": "new PresetController(this)"
3850
- },
3851
- {
3852
- "kind": "method",
3853
- "name": "_applyColorSurface",
3854
- "privacy": "private",
3855
- "return": {
3856
- "type": {
3857
- "text": "void"
3858
- }
3859
- },
3860
- "description": "Applies glass vs solid surface tokens from `color`."
3876
+ "description": "Optional prefix text or content before the label. Default: `\"\"`.",
3877
+ "fieldName": "prefix"
3861
3878
  },
3862
3879
  {
3863
- "kind": "method",
3864
- "name": "_applyBackgroundImage",
3865
- "privacy": "private",
3866
- "return": {
3867
- "type": {
3868
- "text": "void"
3869
- }
3870
- },
3871
- "description": "Sets background image CSS variable from `url`."
3872
- }
3873
- ],
3874
- "attributes": [
3875
- {
3876
- "name": "title",
3880
+ "name": "suffix",
3877
3881
  "type": {
3878
3882
  "text": "string"
3879
3883
  },
3880
- "default": "\"App Bar\"",
3881
- "description": "Title text displayed in the app bar.",
3882
- "fieldName": "title"
3884
+ "default": "\"\"",
3885
+ "description": "Optional suffix text or content after the label. Default: `\"\"`.",
3886
+ "fieldName": "suffix"
3883
3887
  },
3884
3888
  {
3885
- "name": "color",
3889
+ "name": "prefixColor",
3886
3890
  "type": {
3887
3891
  "text": "string"
3888
3892
  },
3889
- "default": "\"default\"",
3890
- "description": "Semantic token or CSS color for bar background; foreground color is derived for contrast.",
3891
- "fieldName": "color"
3893
+ "default": "\"\"",
3894
+ "description": "The color for the prefix text. Default: `\"\"`.",
3895
+ "fieldName": "prefixColor"
3892
3896
  },
3893
3897
  {
3894
- "name": "url",
3898
+ "name": "suffixColor",
3895
3899
  "type": {
3896
3900
  "text": "string"
3897
3901
  },
3898
3902
  "default": "\"\"",
3899
- "description": "Background image URL.",
3900
- "fieldName": "url"
3903
+ "description": "The color for the suffix text. Default: `\"\"`.",
3904
+ "fieldName": "suffixColor"
3901
3905
  },
3902
3906
  {
3903
- "name": "banner",
3907
+ "name": "validationActive",
3904
3908
  "type": {
3905
3909
  "text": "boolean"
3906
3910
  },
3907
- "default": "true",
3908
- "description": "Uses `role=\"banner\"` when true, otherwise `role=\"group\"`.",
3909
- "fieldName": "banner"
3911
+ "default": "false",
3912
+ "fieldName": "validationActive"
3910
3913
  },
3911
3914
  {
3912
- "name": "dense",
3915
+ "name": "invalid",
3913
3916
  "type": {
3914
3917
  "text": "boolean"
3915
3918
  },
3916
3919
  "default": "false",
3917
- "description": "Enables compact vertical spacing.",
3918
- "fieldName": "dense"
3920
+ "fieldName": "invalid"
3919
3921
  },
3920
3922
  {
3921
- "name": "elevated",
3923
+ "name": "checked",
3922
3924
  "type": {
3923
3925
  "text": "boolean"
3924
3926
  },
3925
- "default": "false",
3926
- "description": "Applies elevated shadow styling.",
3927
- "fieldName": "elevated"
3927
+ "description": "Whether the checkbox is checked. Default: `false`.",
3928
+ "fieldName": "checked"
3928
3929
  },
3929
3930
  {
3930
- "name": "leadingLabel",
3931
+ "name": "indeterminate",
3931
3932
  "type": {
3932
- "text": "string"
3933
+ "text": "boolean"
3933
3934
  },
3934
- "default": "\"Open menu\"",
3935
- "description": "Accessible label for default leading button fallback.",
3936
- "fieldName": "leadingLabel"
3935
+ "description": "Whether the checkbox is in the indeterminate state. Default: `false`.",
3936
+ "fieldName": "indeterminate"
3937
3937
  },
3938
3938
  {
3939
3939
  "name": "preset",
@@ -3946,29 +3946,29 @@
3946
3946
  }
3947
3947
  ],
3948
3948
  "superclass": {
3949
- "name": "LitElement",
3950
- "package": "lit"
3949
+ "name": "FormControlBase",
3950
+ "module": "/src/helper/internals/form-control-base"
3951
3951
  },
3952
- "tagName": "sky-appbar",
3952
+ "tagName": "sky-checkbox",
3953
3953
  "customElement": true,
3954
- "summary": "Application top bar with title, optional leading control, trailing actions, and optional color/image background."
3954
+ "summary": "Form-associated checkbox with validation, indeterminate state, and customizable label/prefix/suffix rendering."
3955
3955
  }
3956
3956
  ],
3957
3957
  "exports": [
3958
3958
  {
3959
3959
  "kind": "js",
3960
- "name": "SkyAppbar",
3960
+ "name": "SkyCheckbox",
3961
3961
  "declaration": {
3962
- "name": "SkyAppbar",
3963
- "module": "src/sky-appbar/sky-appbar.ts"
3962
+ "name": "SkyCheckbox",
3963
+ "module": "src/sky-checkbox/sky-checkbox.ts"
3964
3964
  }
3965
3965
  },
3966
3966
  {
3967
3967
  "kind": "custom-element-definition",
3968
- "name": "sky-appbar",
3968
+ "name": "sky-checkbox",
3969
3969
  "declaration": {
3970
- "name": "SkyAppbar",
3971
- "module": "src/sky-appbar/sky-appbar.ts"
3970
+ "name": "SkyCheckbox",
3971
+ "module": "src/sky-checkbox/sky-checkbox.ts"
3972
3972
  }
3973
3973
  }
3974
3974
  ]
@@ -7312,34 +7312,266 @@
7312
7312
  "name": "FormControlBase",
7313
7313
  "module": "/src/helper/internals/form-control-base"
7314
7314
  },
7315
- "tagName": "sky-combobox",
7315
+ "tagName": "sky-combobox",
7316
+ "customElement": true,
7317
+ "summary": "Interactive combobox with single/multi select, search, chips, validation, and popover-based option selection."
7318
+ }
7319
+ ],
7320
+ "exports": [
7321
+ {
7322
+ "kind": "js",
7323
+ "name": "COMBOBOX_RENDERERS_STATE_KEY",
7324
+ "declaration": {
7325
+ "name": "COMBOBOX_RENDERERS_STATE_KEY",
7326
+ "module": "src/sky-combobox/sky-combobox.ts"
7327
+ }
7328
+ },
7329
+ {
7330
+ "kind": "js",
7331
+ "name": "SkyCombobox",
7332
+ "declaration": {
7333
+ "name": "SkyCombobox",
7334
+ "module": "src/sky-combobox/sky-combobox.ts"
7335
+ }
7336
+ },
7337
+ {
7338
+ "kind": "custom-element-definition",
7339
+ "name": "sky-combobox",
7340
+ "declaration": {
7341
+ "name": "SkyCombobox",
7342
+ "module": "src/sky-combobox/sky-combobox.ts"
7343
+ }
7344
+ }
7345
+ ]
7346
+ },
7347
+ {
7348
+ "kind": "javascript-module",
7349
+ "path": "src/sky-divider/sky-divider.ts",
7350
+ "declarations": [
7351
+ {
7352
+ "kind": "class",
7353
+ "description": "",
7354
+ "name": "SkyDivider",
7355
+ "cssProperties": [
7356
+ {
7357
+ "description": "CSS custom property for divider color.",
7358
+ "name": "--divider-color"
7359
+ },
7360
+ {
7361
+ "description": "CSS custom property for divider thickness.",
7362
+ "name": "--divider-thickness"
7363
+ },
7364
+ {
7365
+ "description": "CSS custom property for divider margin.",
7366
+ "name": "--divider-margin"
7367
+ },
7368
+ {
7369
+ "description": "CSS custom property for vertical divider height.",
7370
+ "name": "--divider-height"
7371
+ }
7372
+ ],
7373
+ "cssParts": [
7374
+ {
7375
+ "description": "The divider line element (either `<hr>` or `<div>` depending on direction).",
7376
+ "name": "divider"
7377
+ }
7378
+ ],
7379
+ "members": [
7380
+ {
7381
+ "kind": "field",
7382
+ "name": "color",
7383
+ "type": {
7384
+ "text": "string"
7385
+ },
7386
+ "default": "\"muted\"",
7387
+ "description": "Divider color token or CSS color.",
7388
+ "privacy": "public",
7389
+ "attribute": "color"
7390
+ },
7391
+ {
7392
+ "kind": "field",
7393
+ "name": "thickness",
7394
+ "type": {
7395
+ "text": "string"
7396
+ },
7397
+ "default": "\"1px\"",
7398
+ "description": "Divider thickness (for example `1px` or `2px`).",
7399
+ "privacy": "public",
7400
+ "attribute": "thickness"
7401
+ },
7402
+ {
7403
+ "kind": "field",
7404
+ "name": "margin",
7405
+ "type": {
7406
+ "text": "string"
7407
+ },
7408
+ "default": "\"\"",
7409
+ "description": "Outer margin around the divider.",
7410
+ "privacy": "public",
7411
+ "attribute": "margin"
7412
+ },
7413
+ {
7414
+ "kind": "field",
7415
+ "name": "direction",
7416
+ "type": {
7417
+ "text": "SkyDividerDirection"
7418
+ },
7419
+ "default": "\"horizontal\"",
7420
+ "description": "Divider orientation.",
7421
+ "privacy": "public",
7422
+ "attribute": "direction"
7423
+ },
7424
+ {
7425
+ "kind": "field",
7426
+ "name": "inset",
7427
+ "type": {
7428
+ "text": "boolean"
7429
+ },
7430
+ "default": "false",
7431
+ "description": "Enables indented divider layout.",
7432
+ "privacy": "public",
7433
+ "attribute": "inset"
7434
+ },
7435
+ {
7436
+ "kind": "field",
7437
+ "name": "height",
7438
+ "type": {
7439
+ "text": "string"
7440
+ },
7441
+ "default": "\"100%\"",
7442
+ "description": "Height used for vertical orientation.",
7443
+ "privacy": "public",
7444
+ "attribute": "height"
7445
+ },
7446
+ {
7447
+ "kind": "field",
7448
+ "name": "preset",
7449
+ "type": {
7450
+ "text": "string"
7451
+ },
7452
+ "default": "\"\"",
7453
+ "description": "Named prop preset from nearest `sky-config-provider`. Default: `\"\"`.",
7454
+ "attribute": "preset",
7455
+ "reflects": true
7456
+ },
7457
+ {
7458
+ "kind": "field",
7459
+ "name": "_presets",
7460
+ "privacy": "private",
7461
+ "default": "new PresetController(this)"
7462
+ },
7463
+ {
7464
+ "kind": "method",
7465
+ "name": "getComputedColor",
7466
+ "privacy": "public",
7467
+ "return": {
7468
+ "type": {
7469
+ "text": ""
7470
+ }
7471
+ },
7472
+ "description": "Gets the current computed color of the divider."
7473
+ },
7474
+ {
7475
+ "kind": "method",
7476
+ "name": "getComputedThickness",
7477
+ "privacy": "public",
7478
+ "return": {
7479
+ "type": {
7480
+ "text": ""
7481
+ }
7482
+ },
7483
+ "description": "Gets the current computed thickness of the divider."
7484
+ }
7485
+ ],
7486
+ "attributes": [
7487
+ {
7488
+ "name": "color",
7489
+ "type": {
7490
+ "text": "string"
7491
+ },
7492
+ "default": "\"muted\"",
7493
+ "description": "Divider color token or CSS color.",
7494
+ "fieldName": "color"
7495
+ },
7496
+ {
7497
+ "name": "thickness",
7498
+ "type": {
7499
+ "text": "string"
7500
+ },
7501
+ "default": "\"1px\"",
7502
+ "description": "Divider thickness (for example `1px` or `2px`).",
7503
+ "fieldName": "thickness"
7504
+ },
7505
+ {
7506
+ "name": "margin",
7507
+ "type": {
7508
+ "text": "string"
7509
+ },
7510
+ "default": "\"\"",
7511
+ "description": "Outer margin around the divider.",
7512
+ "fieldName": "margin"
7513
+ },
7514
+ {
7515
+ "name": "direction",
7516
+ "type": {
7517
+ "text": "SkyDividerDirection"
7518
+ },
7519
+ "default": "\"horizontal\"",
7520
+ "description": "Divider orientation.",
7521
+ "fieldName": "direction"
7522
+ },
7523
+ {
7524
+ "name": "inset",
7525
+ "type": {
7526
+ "text": "boolean"
7527
+ },
7528
+ "default": "false",
7529
+ "description": "Enables indented divider layout.",
7530
+ "fieldName": "inset"
7531
+ },
7532
+ {
7533
+ "name": "height",
7534
+ "type": {
7535
+ "text": "string"
7536
+ },
7537
+ "default": "\"100%\"",
7538
+ "description": "Height used for vertical orientation.",
7539
+ "fieldName": "height"
7540
+ },
7541
+ {
7542
+ "name": "preset",
7543
+ "type": {
7544
+ "text": "string"
7545
+ },
7546
+ "default": "\"\"",
7547
+ "description": "Named prop preset from nearest `sky-config-provider`. Default: `\"\"`.",
7548
+ "fieldName": "preset"
7549
+ }
7550
+ ],
7551
+ "superclass": {
7552
+ "name": "LitElement",
7553
+ "package": "lit"
7554
+ },
7555
+ "tagName": "sky-divider",
7316
7556
  "customElement": true,
7317
- "summary": "Interactive combobox with single/multi select, search, chips, validation, and popover-based option selection."
7557
+ "summary": "Visual separator component for horizontal and vertical layout separation."
7318
7558
  }
7319
7559
  ],
7320
7560
  "exports": [
7321
7561
  {
7322
7562
  "kind": "js",
7323
- "name": "COMBOBOX_RENDERERS_STATE_KEY",
7324
- "declaration": {
7325
- "name": "COMBOBOX_RENDERERS_STATE_KEY",
7326
- "module": "src/sky-combobox/sky-combobox.ts"
7327
- }
7328
- },
7329
- {
7330
- "kind": "js",
7331
- "name": "SkyCombobox",
7563
+ "name": "SkyDivider",
7332
7564
  "declaration": {
7333
- "name": "SkyCombobox",
7334
- "module": "src/sky-combobox/sky-combobox.ts"
7565
+ "name": "SkyDivider",
7566
+ "module": "src/sky-divider/sky-divider.ts"
7335
7567
  }
7336
7568
  },
7337
7569
  {
7338
7570
  "kind": "custom-element-definition",
7339
- "name": "sky-combobox",
7571
+ "name": "sky-divider",
7340
7572
  "declaration": {
7341
- "name": "SkyCombobox",
7342
- "module": "src/sky-combobox/sky-combobox.ts"
7573
+ "name": "SkyDivider",
7574
+ "module": "src/sky-divider/sky-divider.ts"
7343
7575
  }
7344
7576
  }
7345
7577
  ]
@@ -7907,314 +8139,82 @@
7907
8139
  "name": "overlay",
7908
8140
  "type": {
7909
8141
  "text": "boolean"
7910
- },
7911
- "default": "false",
7912
- "description": "Applies dim/blur backdrop effect.",
7913
- "fieldName": "overlay"
7914
- },
7915
- {
7916
- "name": "width",
7917
- "type": {
7918
- "text": "string"
7919
- },
7920
- "default": "\"auto\"",
7921
- "description": "Max width of the dialog surface.",
7922
- "fieldName": "width"
7923
- },
7924
- {
7925
- "name": "separator",
7926
- "type": {
7927
- "text": "boolean"
7928
- },
7929
- "default": "false",
7930
- "description": "Shows separators around header/footer regions.",
7931
- "fieldName": "separator"
7932
- },
7933
- {
7934
- "name": "persistent",
7935
- "type": {
7936
- "text": "boolean"
7937
- },
7938
- "default": "false",
7939
- "description": "Prevents outside/Escape close and highlights surface instead.",
7940
- "fieldName": "persistent"
7941
- },
7942
- {
7943
- "name": "closeOnEsc",
7944
- "type": {
7945
- "text": "boolean"
7946
- },
7947
- "default": "false",
7948
- "description": "Enables close intent on Escape key.",
7949
- "fieldName": "closeOnEsc"
7950
- },
7951
- {
7952
- "name": "headerPadding",
7953
- "type": {
7954
- "text": "SkyDialogPadding"
7955
- },
7956
- "default": "\"sm\"",
7957
- "description": "Header padding token.",
7958
- "fieldName": "headerPadding"
7959
- },
7960
- {
7961
- "name": "bodyPadding",
7962
- "type": {
7963
- "text": "SkyDialogPadding"
7964
- },
7965
- "default": "\"sm\"",
7966
- "description": "Body padding token.",
7967
- "fieldName": "bodyPadding"
7968
- },
7969
- {
7970
- "name": "footerPadding",
7971
- "type": {
7972
- "text": "SkyDialogPadding"
7973
- },
7974
- "default": "\"sm\"",
7975
- "description": "Footer padding token.",
7976
- "fieldName": "footerPadding"
7977
- },
7978
- {
7979
- "name": "highlightOnOutsideClick",
7980
- "type": {
7981
- "text": "boolean"
7982
- },
7983
- "default": "true",
7984
- "description": "Enables highlight animation on rejected outside click.",
7985
- "fieldName": "highlightOnOutsideClick"
7986
- },
7987
- {
7988
- "name": "preset",
7989
- "type": {
7990
- "text": "string"
7991
- },
7992
- "default": "\"\"",
7993
- "description": "Named prop preset from nearest `sky-config-provider`. Default: `\"\"`.",
7994
- "fieldName": "preset"
7995
- }
7996
- ],
7997
- "superclass": {
7998
- "name": "LitElement",
7999
- "package": "lit"
8000
- },
8001
- "tagName": "sky-dialog",
8002
- "customElement": true,
8003
- "summary": "Accessible modal dialog built on native `<dialog>` with controlled open state, slots, and keyboard/backdrop handling."
8004
- }
8005
- ],
8006
- "exports": [
8007
- {
8008
- "kind": "js",
8009
- "name": "SkyDialog",
8010
- "declaration": {
8011
- "name": "SkyDialog",
8012
- "module": "src/sky-dialog/sky-dialog.ts"
8013
- }
8014
- },
8015
- {
8016
- "kind": "custom-element-definition",
8017
- "name": "sky-dialog",
8018
- "declaration": {
8019
- "name": "SkyDialog",
8020
- "module": "src/sky-dialog/sky-dialog.ts"
8021
- }
8022
- }
8023
- ]
8024
- },
8025
- {
8026
- "kind": "javascript-module",
8027
- "path": "src/sky-divider/sky-divider.ts",
8028
- "declarations": [
8029
- {
8030
- "kind": "class",
8031
- "description": "",
8032
- "name": "SkyDivider",
8033
- "cssProperties": [
8034
- {
8035
- "description": "CSS custom property for divider color.",
8036
- "name": "--divider-color"
8037
- },
8038
- {
8039
- "description": "CSS custom property for divider thickness.",
8040
- "name": "--divider-thickness"
8041
- },
8042
- {
8043
- "description": "CSS custom property for divider margin.",
8044
- "name": "--divider-margin"
8045
- },
8046
- {
8047
- "description": "CSS custom property for vertical divider height.",
8048
- "name": "--divider-height"
8049
- }
8050
- ],
8051
- "cssParts": [
8052
- {
8053
- "description": "The divider line element (either `<hr>` or `<div>` depending on direction).",
8054
- "name": "divider"
8055
- }
8056
- ],
8057
- "members": [
8058
- {
8059
- "kind": "field",
8060
- "name": "color",
8061
- "type": {
8062
- "text": "string"
8063
- },
8064
- "default": "\"muted\"",
8065
- "description": "Divider color token or CSS color.",
8066
- "privacy": "public",
8067
- "attribute": "color"
8068
- },
8069
- {
8070
- "kind": "field",
8071
- "name": "thickness",
8072
- "type": {
8073
- "text": "string"
8074
- },
8075
- "default": "\"1px\"",
8076
- "description": "Divider thickness (for example `1px` or `2px`).",
8077
- "privacy": "public",
8078
- "attribute": "thickness"
8079
- },
8080
- {
8081
- "kind": "field",
8082
- "name": "margin",
8083
- "type": {
8084
- "text": "string"
8085
- },
8086
- "default": "\"\"",
8087
- "description": "Outer margin around the divider.",
8088
- "privacy": "public",
8089
- "attribute": "margin"
8090
- },
8091
- {
8092
- "kind": "field",
8093
- "name": "direction",
8094
- "type": {
8095
- "text": "SkyDividerDirection"
8096
- },
8097
- "default": "\"horizontal\"",
8098
- "description": "Divider orientation.",
8099
- "privacy": "public",
8100
- "attribute": "direction"
8101
- },
8102
- {
8103
- "kind": "field",
8104
- "name": "inset",
8105
- "type": {
8106
- "text": "boolean"
8107
- },
8108
- "default": "false",
8109
- "description": "Enables indented divider layout.",
8110
- "privacy": "public",
8111
- "attribute": "inset"
8112
- },
8113
- {
8114
- "kind": "field",
8115
- "name": "height",
8116
- "type": {
8117
- "text": "string"
8118
- },
8119
- "default": "\"100%\"",
8120
- "description": "Height used for vertical orientation.",
8121
- "privacy": "public",
8122
- "attribute": "height"
8123
- },
8124
- {
8125
- "kind": "field",
8126
- "name": "preset",
8127
- "type": {
8128
- "text": "string"
8129
- },
8130
- "default": "\"\"",
8131
- "description": "Named prop preset from nearest `sky-config-provider`. Default: `\"\"`.",
8132
- "attribute": "preset",
8133
- "reflects": true
8134
- },
8135
- {
8136
- "kind": "field",
8137
- "name": "_presets",
8138
- "privacy": "private",
8139
- "default": "new PresetController(this)"
8142
+ },
8143
+ "default": "false",
8144
+ "description": "Applies dim/blur backdrop effect.",
8145
+ "fieldName": "overlay"
8140
8146
  },
8141
8147
  {
8142
- "kind": "method",
8143
- "name": "getComputedColor",
8144
- "privacy": "public",
8145
- "return": {
8146
- "type": {
8147
- "text": ""
8148
- }
8148
+ "name": "width",
8149
+ "type": {
8150
+ "text": "string"
8149
8151
  },
8150
- "description": "Gets the current computed color of the divider."
8152
+ "default": "\"auto\"",
8153
+ "description": "Max width of the dialog surface.",
8154
+ "fieldName": "width"
8151
8155
  },
8152
8156
  {
8153
- "kind": "method",
8154
- "name": "getComputedThickness",
8155
- "privacy": "public",
8156
- "return": {
8157
- "type": {
8158
- "text": ""
8159
- }
8157
+ "name": "separator",
8158
+ "type": {
8159
+ "text": "boolean"
8160
8160
  },
8161
- "description": "Gets the current computed thickness of the divider."
8162
- }
8163
- ],
8164
- "attributes": [
8161
+ "default": "false",
8162
+ "description": "Shows separators around header/footer regions.",
8163
+ "fieldName": "separator"
8164
+ },
8165
8165
  {
8166
- "name": "color",
8166
+ "name": "persistent",
8167
8167
  "type": {
8168
- "text": "string"
8168
+ "text": "boolean"
8169
8169
  },
8170
- "default": "\"muted\"",
8171
- "description": "Divider color token or CSS color.",
8172
- "fieldName": "color"
8170
+ "default": "false",
8171
+ "description": "Prevents outside/Escape close and highlights surface instead.",
8172
+ "fieldName": "persistent"
8173
8173
  },
8174
8174
  {
8175
- "name": "thickness",
8175
+ "name": "closeOnEsc",
8176
8176
  "type": {
8177
- "text": "string"
8177
+ "text": "boolean"
8178
8178
  },
8179
- "default": "\"1px\"",
8180
- "description": "Divider thickness (for example `1px` or `2px`).",
8181
- "fieldName": "thickness"
8179
+ "default": "false",
8180
+ "description": "Enables close intent on Escape key.",
8181
+ "fieldName": "closeOnEsc"
8182
8182
  },
8183
8183
  {
8184
- "name": "margin",
8184
+ "name": "headerPadding",
8185
8185
  "type": {
8186
- "text": "string"
8186
+ "text": "SkyDialogPadding"
8187
8187
  },
8188
- "default": "\"\"",
8189
- "description": "Outer margin around the divider.",
8190
- "fieldName": "margin"
8188
+ "default": "\"sm\"",
8189
+ "description": "Header padding token.",
8190
+ "fieldName": "headerPadding"
8191
8191
  },
8192
8192
  {
8193
- "name": "direction",
8193
+ "name": "bodyPadding",
8194
8194
  "type": {
8195
- "text": "SkyDividerDirection"
8195
+ "text": "SkyDialogPadding"
8196
8196
  },
8197
- "default": "\"horizontal\"",
8198
- "description": "Divider orientation.",
8199
- "fieldName": "direction"
8197
+ "default": "\"sm\"",
8198
+ "description": "Body padding token.",
8199
+ "fieldName": "bodyPadding"
8200
8200
  },
8201
8201
  {
8202
- "name": "inset",
8202
+ "name": "footerPadding",
8203
8203
  "type": {
8204
- "text": "boolean"
8204
+ "text": "SkyDialogPadding"
8205
8205
  },
8206
- "default": "false",
8207
- "description": "Enables indented divider layout.",
8208
- "fieldName": "inset"
8206
+ "default": "\"sm\"",
8207
+ "description": "Footer padding token.",
8208
+ "fieldName": "footerPadding"
8209
8209
  },
8210
8210
  {
8211
- "name": "height",
8211
+ "name": "highlightOnOutsideClick",
8212
8212
  "type": {
8213
- "text": "string"
8213
+ "text": "boolean"
8214
8214
  },
8215
- "default": "\"100%\"",
8216
- "description": "Height used for vertical orientation.",
8217
- "fieldName": "height"
8215
+ "default": "true",
8216
+ "description": "Enables highlight animation on rejected outside click.",
8217
+ "fieldName": "highlightOnOutsideClick"
8218
8218
  },
8219
8219
  {
8220
8220
  "name": "preset",
@@ -8230,26 +8230,26 @@
8230
8230
  "name": "LitElement",
8231
8231
  "package": "lit"
8232
8232
  },
8233
- "tagName": "sky-divider",
8233
+ "tagName": "sky-dialog",
8234
8234
  "customElement": true,
8235
- "summary": "Visual separator component for horizontal and vertical layout separation."
8235
+ "summary": "Accessible modal dialog built on native `<dialog>` with controlled open state, slots, and keyboard/backdrop handling."
8236
8236
  }
8237
8237
  ],
8238
8238
  "exports": [
8239
8239
  {
8240
8240
  "kind": "js",
8241
- "name": "SkyDivider",
8241
+ "name": "SkyDialog",
8242
8242
  "declaration": {
8243
- "name": "SkyDivider",
8244
- "module": "src/sky-divider/sky-divider.ts"
8243
+ "name": "SkyDialog",
8244
+ "module": "src/sky-dialog/sky-dialog.ts"
8245
8245
  }
8246
8246
  },
8247
8247
  {
8248
8248
  "kind": "custom-element-definition",
8249
- "name": "sky-divider",
8249
+ "name": "sky-dialog",
8250
8250
  "declaration": {
8251
- "name": "SkyDivider",
8252
- "module": "src/sky-divider/sky-divider.ts"
8251
+ "name": "SkyDialog",
8252
+ "module": "src/sky-dialog/sky-dialog.ts"
8253
8253
  }
8254
8254
  }
8255
8255
  ]
@@ -13285,6 +13285,78 @@
13285
13285
  }
13286
13286
  ]
13287
13287
  },
13288
+ {
13289
+ "kind": "javascript-module",
13290
+ "path": "src/sky-row/sky-row.ts",
13291
+ "declarations": [
13292
+ {
13293
+ "kind": "class",
13294
+ "description": "",
13295
+ "name": "SkyRow",
13296
+ "slots": [
13297
+ {
13298
+ "description": "Default slot for child content.",
13299
+ "name": ""
13300
+ }
13301
+ ],
13302
+ "members": [
13303
+ {
13304
+ "kind": "field",
13305
+ "name": "preset",
13306
+ "type": {
13307
+ "text": "string"
13308
+ },
13309
+ "default": "\"\"",
13310
+ "description": "Named prop preset from nearest `sky-config-provider`.",
13311
+ "attribute": "preset",
13312
+ "reflects": true
13313
+ },
13314
+ {
13315
+ "kind": "field",
13316
+ "name": "_presets",
13317
+ "privacy": "private",
13318
+ "default": "new PresetController(this)"
13319
+ }
13320
+ ],
13321
+ "attributes": [
13322
+ {
13323
+ "name": "preset",
13324
+ "type": {
13325
+ "text": "string"
13326
+ },
13327
+ "default": "\"\"",
13328
+ "description": "Named prop preset from nearest `sky-config-provider`.",
13329
+ "fieldName": "preset"
13330
+ }
13331
+ ],
13332
+ "superclass": {
13333
+ "name": "LitElement",
13334
+ "package": "lit"
13335
+ },
13336
+ "tagName": "sky-row",
13337
+ "customElement": true,
13338
+ "summary": "Lightweight semantic row wrapper for use inside `sky-grid`."
13339
+ }
13340
+ ],
13341
+ "exports": [
13342
+ {
13343
+ "kind": "js",
13344
+ "name": "SkyRow",
13345
+ "declaration": {
13346
+ "name": "SkyRow",
13347
+ "module": "src/sky-row/sky-row.ts"
13348
+ }
13349
+ },
13350
+ {
13351
+ "kind": "custom-element-definition",
13352
+ "name": "sky-row",
13353
+ "declaration": {
13354
+ "name": "SkyRow",
13355
+ "module": "src/sky-row/sky-row.ts"
13356
+ }
13357
+ }
13358
+ ]
13359
+ },
13288
13360
  {
13289
13361
  "kind": "javascript-module",
13290
13362
  "path": "src/sky-radio/sky-radio.ts",
@@ -13728,78 +13800,6 @@
13728
13800
  }
13729
13801
  ]
13730
13802
  },
13731
- {
13732
- "kind": "javascript-module",
13733
- "path": "src/sky-row/sky-row.ts",
13734
- "declarations": [
13735
- {
13736
- "kind": "class",
13737
- "description": "",
13738
- "name": "SkyRow",
13739
- "slots": [
13740
- {
13741
- "description": "Default slot for child content.",
13742
- "name": ""
13743
- }
13744
- ],
13745
- "members": [
13746
- {
13747
- "kind": "field",
13748
- "name": "preset",
13749
- "type": {
13750
- "text": "string"
13751
- },
13752
- "default": "\"\"",
13753
- "description": "Named prop preset from nearest `sky-config-provider`.",
13754
- "attribute": "preset",
13755
- "reflects": true
13756
- },
13757
- {
13758
- "kind": "field",
13759
- "name": "_presets",
13760
- "privacy": "private",
13761
- "default": "new PresetController(this)"
13762
- }
13763
- ],
13764
- "attributes": [
13765
- {
13766
- "name": "preset",
13767
- "type": {
13768
- "text": "string"
13769
- },
13770
- "default": "\"\"",
13771
- "description": "Named prop preset from nearest `sky-config-provider`.",
13772
- "fieldName": "preset"
13773
- }
13774
- ],
13775
- "superclass": {
13776
- "name": "LitElement",
13777
- "package": "lit"
13778
- },
13779
- "tagName": "sky-row",
13780
- "customElement": true,
13781
- "summary": "Lightweight semantic row wrapper for use inside `sky-grid`."
13782
- }
13783
- ],
13784
- "exports": [
13785
- {
13786
- "kind": "js",
13787
- "name": "SkyRow",
13788
- "declaration": {
13789
- "name": "SkyRow",
13790
- "module": "src/sky-row/sky-row.ts"
13791
- }
13792
- },
13793
- {
13794
- "kind": "custom-element-definition",
13795
- "name": "sky-row",
13796
- "declaration": {
13797
- "name": "SkyRow",
13798
- "module": "src/sky-row/sky-row.ts"
13799
- }
13800
- }
13801
- ]
13802
- },
13803
13803
  {
13804
13804
  "kind": "javascript-module",
13805
13805
  "path": "src/sky-sheet/sky-sheet.ts",