@exponential_app/eui 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/catalog/a11y.json +15 -1
  2. package/catalog/core.catalog.json +142 -0
  3. package/catalog/core.schema.json +198 -1
  4. package/catalog/host.json +10 -0
  5. package/catalog/macros.json +541 -1
  6. package/catalog/recipes.json +2 -2
  7. package/catalog/strings.json +5 -0
  8. package/catalog/theme.schema.json +2066 -212
  9. package/conformance/manifest.json +5 -5
  10. package/dist/chunks/{index-gtk2gwsb.js → index-4z7f2bp1.js} +160 -33
  11. package/dist/chunks/{index-gtk2gwsb.js.map → index-4z7f2bp1.js.map} +6 -5
  12. package/dist/chunks/{index-5fmaa0xq.js → index-abcjanhc.js} +629 -3
  13. package/dist/chunks/{index-5fmaa0xq.js.map → index-abcjanhc.js.map} +2 -2
  14. package/dist/chunks/{index-62yzr94z.js → index-dx45asrf.js} +99 -3
  15. package/dist/chunks/{index-62yzr94z.js.map → index-dx45asrf.js.map} +2 -2
  16. package/dist/chunks/{index-bg2jsgjq.js → index-h3zgfghf.js} +304 -6
  17. package/dist/chunks/{index-bg2jsgjq.js.map → index-h3zgfghf.js.map} +2 -2
  18. package/dist/conformance.js +7901 -614
  19. package/dist/conformance.js.map +2 -2
  20. package/dist/entries/prompt.js +2 -2
  21. package/dist/entries/schema.js +2 -2
  22. package/dist/host/index.js +20 -4
  23. package/dist/host/index.js.map +1 -1
  24. package/dist/index.js +46 -5
  25. package/dist/index.js.map +4 -3
  26. package/dist/types/src/catalog.generated.d.ts +23 -3
  27. package/dist/types/src/host/contract.d.ts +17 -0
  28. package/dist/types/src/host/exposes.d.ts +68 -0
  29. package/dist/types/src/host/index.d.ts +1 -0
  30. package/dist/types/src/host/package.d.ts +8 -0
  31. package/dist/types/src/index.d.ts +1 -0
  32. package/dist/types/src/text-clusters.d.ts +11 -0
  33. package/dist/types/src/web/primitives/carousel.d.ts +17 -0
  34. package/dist/types/src/web/primitives/index.d.ts +3 -0
  35. package/dist/types/src/web/primitives/mosaic.d.ts +30 -0
  36. package/dist/types/src/web/primitives/outline.d.ts +22 -0
  37. package/dist/web/index.js +8 -2
  38. package/dist/web/index.js.map +4 -4
  39. package/dist/web/primitives/index.js +59 -1
  40. package/dist/web/primitives/index.js.map +6 -3
  41. package/docs/components.generated.json +150 -1
  42. package/docs/package-format.md +56 -1
  43. package/docs/round-6-contract.md +108 -0
  44. package/docs/themes.generated.json +39 -2
  45. package/fixtures/bind-time.json +1464 -0
  46. package/fixtures/catalog-components.json +96 -0
  47. package/fixtures/catalog-macros.json +1159 -48
  48. package/fixtures/conformance-baseline.json +46073 -44448
  49. package/fixtures/conformance-known.json +76 -64
  50. package/fixtures/host-router.json +539 -1
  51. package/fixtures/kitchen-sink.expanded.json +614 -1
  52. package/fixtures/kitchen-sink.json +69 -1
  53. package/fixtures/primitive-specimens.json +3 -0
  54. package/fixtures/prompt-budget.json +14 -14
  55. package/fixtures/specimens.json +122 -0
  56. package/fixtures/text-clusters.json +65 -0
  57. package/fixtures/theme-recipes.json +4617 -1691
  58. package/fixtures/theme-resolved.json +1154 -2
  59. package/generated/ExponentialUICatalog.generated.kt +13 -13
  60. package/generated/ExponentialUICatalog.generated.swift +13 -13
  61. package/generated/ExponentialUIThemes.generated.kt +7 -7
  62. package/generated/ExponentialUIThemes.generated.swift +7 -7
  63. package/generated/catalog.descriptions.generated.rs +1 -1
  64. package/generated/catalog.generated.rs +18 -18
  65. package/generated/catalog.themes.generated.rs +8 -8
  66. package/generated/core.descriptions.json +96 -0
  67. package/generated/core.runtime.json +86 -0
  68. package/package.json +1 -1
  69. package/themes/neutral.theme.json +288 -0
@@ -605,6 +605,12 @@
605
605
  },
606
606
  "indicators": {
607
607
  "description": "Shows the page dots."
608
+ },
609
+ "counter": {
610
+ "description": "Shows `i / n`."
611
+ },
612
+ "thumbnails": {
613
+ "description": "A thumbnail URL per page."
608
614
  }
609
615
  },
610
616
  "description": "A horizontally paging scroller; each child is one page.",
@@ -613,6 +619,37 @@
613
619
  "indicators": true
614
620
  }
615
621
  },
622
+ "Mosaic": {
623
+ "props": {
624
+ "pictures": {
625
+ "description": "The pictures in order."
626
+ },
627
+ "label": {
628
+ "description": "The a11y label."
629
+ }
630
+ },
631
+ "description": "Pictures: halves, or one large + two small with `+N`; press fires `select {index}`.",
632
+ "example": {
633
+ "pictures": [
634
+ {
635
+ "src": "https://example.com/editor.png",
636
+ "alt": "Editor"
637
+ },
638
+ {
639
+ "src": "https://example.com/preview.png",
640
+ "alt": "Preview"
641
+ },
642
+ {
643
+ "src": "https://example.com/data.png",
644
+ "alt": "Data"
645
+ },
646
+ {
647
+ "src": "https://example.com/versions.png",
648
+ "alt": "Versions"
649
+ }
650
+ ]
651
+ }
652
+ },
616
653
  "Tabs": {
617
654
  "props": {
618
655
  "tabs": {
@@ -857,6 +894,40 @@
857
894
  ]
858
895
  }
859
896
  },
897
+ "Outline": {
898
+ "props": {
899
+ "items": {
900
+ "description": "The rows in order."
901
+ },
902
+ "value": {
903
+ "description": "The active row id."
904
+ },
905
+ "caption": {
906
+ "description": "The heading."
907
+ }
908
+ },
909
+ "description": "Anchor rows under a caption, one active; press fires `select {id}`.",
910
+ "example": {
911
+ "caption": "Outline",
912
+ "value": "part-a",
913
+ "items": [
914
+ {
915
+ "id": "current",
916
+ "title": "Current state"
917
+ },
918
+ {
919
+ "id": "part-a",
920
+ "title": "Part A: editor-first creation",
921
+ "count": 5
922
+ },
923
+ {
924
+ "id": "part-b",
925
+ "title": "Part B: MCP for eApps",
926
+ "count": 2
927
+ }
928
+ ]
929
+ }
930
+ },
860
931
  "Stepper": {
861
932
  "props": {
862
933
  "steps": {
@@ -2697,6 +2768,31 @@
2697
2768
  }
2698
2769
  },
2699
2770
  "description": "One step of a Plan."
2771
+ },
2772
+ "outlineItem": {
2773
+ "properties": {
2774
+ "id": {
2775
+ "description": "Reported by `select`."
2776
+ },
2777
+ "title": {
2778
+ "description": "The row text."
2779
+ },
2780
+ "count": {
2781
+ "description": "A muted count."
2782
+ }
2783
+ },
2784
+ "description": "One Outline row."
2785
+ },
2786
+ "picture": {
2787
+ "properties": {
2788
+ "src": {
2789
+ "description": "The image URL."
2790
+ },
2791
+ "alt": {
2792
+ "description": "The accessibility description."
2793
+ }
2794
+ },
2795
+ "description": "One picture of a Mosaic."
2700
2796
  }
2701
2797
  },
2702
2798
  "functions": {
@@ -619,6 +619,34 @@
619
619
  "enum": "traceStatus"
620
620
  }
621
621
  }
622
+ },
623
+ "outlineItem": {
624
+ "properties": {
625
+ "id": {
626
+ "type": "string",
627
+ "required": true
628
+ },
629
+ "title": {
630
+ "type": "string",
631
+ "required": true,
632
+ "bindable": true
633
+ },
634
+ "count": {
635
+ "type": "number",
636
+ "bindable": true
637
+ }
638
+ }
639
+ },
640
+ "picture": {
641
+ "properties": {
642
+ "src": {
643
+ "type": "url",
644
+ "required": true
645
+ },
646
+ "alt": {
647
+ "type": "string"
648
+ }
649
+ }
622
650
  }
623
651
  },
624
652
  "functions": {
@@ -1708,12 +1736,44 @@
1708
1736
  "indicators": {
1709
1737
  "type": "boolean",
1710
1738
  "default": true
1739
+ },
1740
+ "counter": {
1741
+ "type": "boolean",
1742
+ "default": false
1743
+ },
1744
+ "thumbnails": {
1745
+ "type": "array",
1746
+ "items": {
1747
+ "type": "url"
1748
+ }
1711
1749
  }
1712
1750
  },
1713
1751
  "events": [
1714
1752
  "change"
1715
1753
  ]
1716
1754
  },
1755
+ "Mosaic": {
1756
+ "kind": "macro",
1757
+ "group": "media",
1758
+ "lite": false,
1759
+ "children": "none",
1760
+ "props": {
1761
+ "pictures": {
1762
+ "type": "array",
1763
+ "items": {
1764
+ "type": "object",
1765
+ "shape": "picture"
1766
+ },
1767
+ "required": true
1768
+ },
1769
+ "label": {
1770
+ "type": "string"
1771
+ }
1772
+ },
1773
+ "events": [
1774
+ "select"
1775
+ ]
1776
+ },
1717
1777
  "Tabs": {
1718
1778
  "kind": "native",
1719
1779
  "group": "navigation",
@@ -1993,6 +2053,32 @@
1993
2053
  "select"
1994
2054
  ]
1995
2055
  },
2056
+ "Outline": {
2057
+ "kind": "macro",
2058
+ "group": "navigation",
2059
+ "lite": true,
2060
+ "children": "none",
2061
+ "props": {
2062
+ "items": {
2063
+ "type": "array",
2064
+ "items": {
2065
+ "type": "object",
2066
+ "shape": "outlineItem"
2067
+ },
2068
+ "required": true
2069
+ },
2070
+ "value": {
2071
+ "type": "string",
2072
+ "bindable": true
2073
+ },
2074
+ "caption": {
2075
+ "type": "string"
2076
+ }
2077
+ },
2078
+ "events": [
2079
+ "select"
2080
+ ]
2081
+ },
1996
2082
  "Stepper": {
1997
2083
  "kind": "macro",
1998
2084
  "group": "navigation",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@exponential_app/eui",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "description": "Exponential UI: the core A2UI catalog (components, macros, model descriptions, token names), the A2UI basic catalog map, the TypeScript reference reducer, the runtime theme format with the built-in themes, and the theme builder.",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://exponential.at/ui/",
@@ -3419,6 +3419,212 @@
3419
3419
  "backgroundColor": "$color.primary"
3420
3420
  }
3421
3421
  }
3422
+ ],
3423
+ "counter": [
3424
+ {
3425
+ "style": {
3426
+ "height": 20,
3427
+ "paddingHorizontal": "$spacing.sm",
3428
+ "borderRadius": "$radius.full",
3429
+ "backgroundColor": "#0000008c",
3430
+ "color": "#ffffff",
3431
+ "fontSize": "$type.size.xs",
3432
+ "lineHeight": 20,
3433
+ "fontWeight": "$type.weight.medium"
3434
+ }
3435
+ }
3436
+ ],
3437
+ "thumbnails": [
3438
+ {
3439
+ "style": {
3440
+ "gap": "$spacing.sm"
3441
+ }
3442
+ }
3443
+ ],
3444
+ "thumbnail": [
3445
+ {
3446
+ "style": {
3447
+ "width": 52,
3448
+ "height": 52,
3449
+ "borderRadius": "$radius.md",
3450
+ "borderWidth": "$border.thick",
3451
+ "borderColor": "#00000000",
3452
+ "backgroundColor": "$color.muted",
3453
+ "opacity": 0.7,
3454
+ "transition": "$motion.fast",
3455
+ "transitionEasing": "$ease.standard"
3456
+ }
3457
+ },
3458
+ {
3459
+ "when": {
3460
+ "state": "hover"
3461
+ },
3462
+ "style": {
3463
+ "opacity": 1
3464
+ }
3465
+ },
3466
+ {
3467
+ "when": {
3468
+ "state": "focus"
3469
+ },
3470
+ "style": {
3471
+ "borderColor": "$color.ring"
3472
+ }
3473
+ },
3474
+ {
3475
+ "when": {
3476
+ "state": "selected"
3477
+ },
3478
+ "style": {
3479
+ "borderColor": "$color.foreground",
3480
+ "opacity": 1
3481
+ }
3482
+ }
3483
+ ]
3484
+ },
3485
+ "Mosaic": {
3486
+ "root": [
3487
+ {
3488
+ "style": {
3489
+ "gap": 10
3490
+ }
3491
+ }
3492
+ ],
3493
+ "side": [
3494
+ {
3495
+ "style": {
3496
+ "gap": 10
3497
+ }
3498
+ }
3499
+ ],
3500
+ "lead": [
3501
+ {
3502
+ "style": {
3503
+ "borderRadius": "$radius.lg",
3504
+ "borderWidth": "$border.hairline",
3505
+ "borderColor": "$color.border",
3506
+ "backgroundColor": "$color.muted",
3507
+ "transition": "$motion.fast",
3508
+ "transitionEasing": "$ease.standard"
3509
+ }
3510
+ },
3511
+ {
3512
+ "when": {
3513
+ "state": "hover"
3514
+ },
3515
+ "style": {
3516
+ "opacity": 0.92
3517
+ }
3518
+ },
3519
+ {
3520
+ "when": {
3521
+ "state": "focus"
3522
+ },
3523
+ "style": {
3524
+ "borderColor": "$color.ring"
3525
+ }
3526
+ }
3527
+ ],
3528
+ "pair": [
3529
+ {
3530
+ "style": {
3531
+ "borderRadius": "$radius.lg",
3532
+ "borderWidth": "$border.hairline",
3533
+ "borderColor": "$color.border",
3534
+ "backgroundColor": "$color.muted",
3535
+ "transition": "$motion.fast",
3536
+ "transitionEasing": "$ease.standard"
3537
+ }
3538
+ },
3539
+ {
3540
+ "when": {
3541
+ "state": "hover"
3542
+ },
3543
+ "style": {
3544
+ "opacity": 0.92
3545
+ }
3546
+ },
3547
+ {
3548
+ "when": {
3549
+ "state": "focus"
3550
+ },
3551
+ "style": {
3552
+ "borderColor": "$color.ring"
3553
+ }
3554
+ }
3555
+ ],
3556
+ "top": [
3557
+ {
3558
+ "style": {
3559
+ "borderRadius": "$radius.lg",
3560
+ "borderWidth": "$border.hairline",
3561
+ "borderColor": "$color.border",
3562
+ "backgroundColor": "$color.muted",
3563
+ "transition": "$motion.fast",
3564
+ "transitionEasing": "$ease.standard"
3565
+ }
3566
+ },
3567
+ {
3568
+ "when": {
3569
+ "state": "hover"
3570
+ },
3571
+ "style": {
3572
+ "opacity": 0.92
3573
+ }
3574
+ },
3575
+ {
3576
+ "when": {
3577
+ "state": "focus"
3578
+ },
3579
+ "style": {
3580
+ "borderColor": "$color.ring"
3581
+ }
3582
+ }
3583
+ ],
3584
+ "bottom": [
3585
+ {
3586
+ "style": {
3587
+ "borderRadius": "$radius.lg",
3588
+ "borderWidth": "$border.hairline",
3589
+ "borderColor": "$color.border",
3590
+ "backgroundColor": "$color.muted",
3591
+ "transition": "$motion.fast",
3592
+ "transitionEasing": "$ease.standard"
3593
+ }
3594
+ },
3595
+ {
3596
+ "when": {
3597
+ "state": "hover"
3598
+ },
3599
+ "style": {
3600
+ "opacity": 0.92
3601
+ }
3602
+ },
3603
+ {
3604
+ "when": {
3605
+ "state": "focus"
3606
+ },
3607
+ "style": {
3608
+ "borderColor": "$color.ring"
3609
+ }
3610
+ }
3611
+ ],
3612
+ "more": [
3613
+ {
3614
+ "style": {
3615
+ "backgroundColor": "#0000008c"
3616
+ }
3617
+ }
3618
+ ],
3619
+ "moreLabel": [
3620
+ {
3621
+ "style": {
3622
+ "color": "#ffffff",
3623
+ "fontSize": "$type.size.xl",
3624
+ "lineHeight": "$type.lineHeight.xl",
3625
+ "fontWeight": "$type.weight.semibold"
3626
+ }
3627
+ }
3422
3628
  ]
3423
3629
  },
3424
3630
  "AudioPlayer": {
@@ -5677,6 +5883,88 @@
5677
5883
  }
5678
5884
  ]
5679
5885
  },
5886
+ "Outline": {
5887
+ "caption": [
5888
+ {
5889
+ "style": {
5890
+ "paddingHorizontal": "$spacing.sm",
5891
+ "paddingVertical": "$spacing.xs",
5892
+ "fontSize": 11,
5893
+ "lineHeight": 16,
5894
+ "fontWeight": "$type.weight.medium",
5895
+ "letterSpacing": 0.5,
5896
+ "textTransform": "uppercase",
5897
+ "color": "$color.mutedForeground"
5898
+ }
5899
+ }
5900
+ ],
5901
+ "row": [
5902
+ {
5903
+ "style": {
5904
+ "borderRadius": "$radius.sm",
5905
+ "backgroundColor": "#00000000",
5906
+ "transition": "$motion.fast",
5907
+ "transitionEasing": "$ease.standard"
5908
+ }
5909
+ },
5910
+ {
5911
+ "when": {
5912
+ "state": "hover"
5913
+ },
5914
+ "style": {
5915
+ "backgroundColor": "$color.accent"
5916
+ }
5917
+ },
5918
+ {
5919
+ "when": {
5920
+ "state": "focus"
5921
+ },
5922
+ "style": {
5923
+ "borderColor": "$color.ring"
5924
+ }
5925
+ },
5926
+ {
5927
+ "when": {
5928
+ "active": true
5929
+ },
5930
+ "style": {
5931
+ "backgroundColor": "$color.accent"
5932
+ }
5933
+ }
5934
+ ],
5935
+ "bar": [
5936
+ {
5937
+ "style": {
5938
+ "backgroundColor": "$color.foreground"
5939
+ }
5940
+ }
5941
+ ],
5942
+ "title": [
5943
+ {
5944
+ "style": {
5945
+ "fontSize": "$type.size.sm",
5946
+ "lineHeight": "$type.lineHeight.sm",
5947
+ "color": "$color.mutedForeground"
5948
+ }
5949
+ },
5950
+ {
5951
+ "when": {
5952
+ "active": true
5953
+ },
5954
+ "style": {
5955
+ "color": "$color.foreground",
5956
+ "fontWeight": "$type.weight.medium"
5957
+ }
5958
+ }
5959
+ ],
5960
+ "count": [
5961
+ {
5962
+ "style": {
5963
+ "color": "$color.mutedForeground"
5964
+ }
5965
+ }
5966
+ ]
5967
+ },
5680
5968
  "AppBar": {
5681
5969
  "root": [
5682
5970
  {